:root{--ink:#17142d;--muted:#716e83;--soft:#f6f5fb;--surface:#fff;--line:#e8e5f0;--violet:#7357e8;--violet-soft:#eeeafd;--coral:#f05f7f;--coral-soft:#fff0f3;--mint:#2caa86;--mint-soft:#e6f8f2;--amber:#d89420;--amber-soft:#fff5df;--blue:#3b82c4;--blue-soft:#eaf4ff;--shadow:0 18px 45px #20184114}*{box-sizing:border-box}html{background:var(--soft)}body{color:var(--ink);background:var(--soft);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{color:inherit}.app-frame{min-height:100vh}.app-main{min-width:0}.desktop-sidebar{display:none}.mobile-header{z-index:20;background:var(--soft);border-bottom:1px solid #e8e5f0bf;justify-content:space-between;align-items:center;height:72px;padding:0 20px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;display:inline-flex}.brand img{filter:drop-shadow(0 8px 12px #442d882e)}.brand span{line-height:1;display:grid}.brand strong{letter-spacing:-.3px;font-size:17px}.brand small{color:var(--violet);letter-spacing:1.45px;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:800}.page-content{width:min(1180px,100%);margin:0 auto;padding:22px 18px 112px}.mobile-bottom-nav{z-index:30;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #17142d0f}.bottom-nav__item{color:#908d9d;justify-items:center;gap:3px;min-height:52px;font-size:10px;font-weight:700;display:grid}.bottom-nav__icon{border-radius:11px;place-items:center;width:32px;height:30px;display:grid}.bottom-nav__icon svg{width:21px}.bottom-nav__item.is-active{color:var(--violet)}.bottom-nav__item.is-active .bottom-nav__icon{background:var(--violet-soft)}.bottom-nav__item.is-pending,.desktop-nav__item.is-pending{position:relative}.nav-pending-dot{background:currentColor;border-radius:50%;width:6px;height:6px;animation:.8s ease-in-out infinite alternate nav-pending-pulse}.bottom-nav__item .nav-pending-dot{position:absolute;top:2px;right:calc(50% - 22px)}.desktop-nav__item .nav-pending-dot{margin-left:auto}@keyframes nav-pending-pulse{0%{opacity:.25;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.nav-pending-dot{opacity:.75;animation:none}}.page-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.page-heading h1{letter-spacing:-1.4px;margin:5px 0 7px;font-size:clamp(29px,6vw,42px);line-height:1.05}.page-heading p{max-width:590px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.page-heading .eyebrow{color:var(--violet);letter-spacing:1.25px;text-transform:uppercase;margin-top:12px;font-size:11px;font-weight:800}.demo-badge{color:#6549d3;background:var(--violet-soft);letter-spacing:.45px;text-transform:uppercase;border:1px solid #d9d0fc;border-radius:999px;align-items:center;width:fit-content;padding:5px 9px;font-size:10px;font-weight:800;display:inline-flex}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:30px;display:grid}.summary-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;flex-direction:column;gap:12px;min-height:151px;padding:16px;display:flex;box-shadow:0 10px 25px #2018410b}.summary-card__icon{width:38px;height:38px;color:var(--violet);background:var(--violet-soft);border-radius:13px;place-items:center;display:grid}.summary-card__icon svg{width:19px}.summary-card__icon--mint{color:var(--mint);background:var(--mint-soft)}.summary-card__icon--coral{color:var(--coral);background:var(--coral-soft)}.summary-card__icon--amber{color:var(--amber);background:var(--amber-soft)}.summary-card div:last-child{display:grid}.summary-card span{color:var(--muted);font-size:11px;font-weight:700}.summary-card strong{letter-spacing:-1px;margin:2px 0;font-size:28px}.summary-card small{color:#8d899a;font-size:10px}.summary-card small.positive{color:var(--mint)}.summary-card small.warning{color:var(--coral)}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin:27px 2px 13px;display:flex}.section-heading h2{letter-spacing:-.55px;margin:2px 0 0;font-size:21px}.section-kicker{color:var(--violet);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800}.section-heading a{color:var(--violet);white-space:nowrap;align-items:center;gap:2px;font-size:11px;font-weight:800;display:inline-flex}.section-heading a svg{width:15px}.class-list{gap:11px;display:grid}.class-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;grid-template-columns:46px 1fr;gap:14px;padding:17px 14px 17px 16px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #2018410b}.class-card:before{background:var(--violet);content:"";width:4px;position:absolute;inset:0 auto 0 0}.class-card--coral:before{background:var(--coral)}.class-card__time{align-content:start;justify-items:center;padding-top:4px;display:grid}.class-card__time span{letter-spacing:-1px;font-size:24px;font-weight:800}.class-card__time small{color:var(--muted);font-size:9px;font-weight:800}.class-card__topline{justify-content:space-between;gap:8px;display:flex}.class-card__topline span{color:var(--violet);text-transform:uppercase;font-size:10px;font-weight:800}.class-card--coral .class-card__topline span{color:var(--coral)}.class-card__topline small{color:var(--muted);font-size:10px}.class-card h3{margin:6px 28px 9px 0;font-size:15px;line-height:1.25}.class-card__meta{color:var(--muted);flex-wrap:wrap;gap:9px 15px;font-size:10px;display:flex}.class-card__meta span{align-items:center;gap:4px;display:inline-flex}.class-card__meta svg{width:13px}.class-card p{color:#9a96a6;margin:7px 0 0;font-size:9px}.class-card__action{background:var(--soft);cursor:pointer;border:0;border-radius:10px;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:48px;right:13px}.class-card__action svg{width:15px}.activity-panel{border:1px solid var(--line);background:var(--surface);border-radius:22px;overflow:hidden;box-shadow:0 10px 28px #2018410b}.activity-row{border-bottom:1px solid #f0eef5;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:14px;display:grid}.activity-row:last-child{border-bottom:0}.activity-row__icon{width:38px;height:38px;color:var(--violet);background:var(--violet-soft);border-radius:13px;place-items:center;display:grid}.activity-row__icon svg{width:18px}.activity-row__icon--player{color:var(--blue);background:var(--blue-soft)}.activity-row__icon--identity{color:var(--coral);background:var(--coral-soft)}.activity-row div:nth-child(2){min-width:0;display:grid}.activity-row strong{font-size:12px}.activity-row span{color:var(--ink);margin-top:1px;font-size:11px;font-weight:700}.activity-row p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:9px;overflow:hidden}.activity-row time{color:#9a96a6;white-space:nowrap;align-self:start;padding-top:2px;font-size:9px}.dashboard-students{margin-top:6px}.student-grid{gap:12px;display:grid}.student-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;grid-template-columns:48px 1fr;gap:12px;padding:15px;display:grid;box-shadow:0 10px 28px #2018410b}.avatar{color:#5b42bf;background:var(--violet-soft);border-radius:16px;flex:none;place-items:center;width:48px;height:48px;font-size:13px;font-weight:900;display:grid}.avatar--coral{color:#c94d68;background:var(--coral-soft)}.avatar--mint{color:#23856a;background:var(--mint-soft)}.avatar--blue{color:#2870ad;background:var(--blue-soft)}.avatar--small{border-radius:12px;width:37px;height:37px;font-size:10px}.student-card__body{min-width:0}.student-card__title-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.student-card h3{margin:0;font-size:14px}.student-card__title-row p{color:var(--muted);margin:3px 0 0;font-size:10px}.identity-status{color:var(--mint);background:var(--mint-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:5px 7px;font-size:9px;font-weight:800;display:inline-flex}.identity-status__dot{background:currentColor;border-radius:50%;width:5px;height:5px}.identity-status--not-linked{color:#797586;background:#efedf3}.student-card__activity{background:#f8f7fb;border-radius:12px;gap:2px;margin:12px 0;padding:10px;display:grid}.student-card__activity strong{color:var(--violet);font-size:9px}.student-card__activity span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.student-card__activity.is-warning strong{color:var(--coral)}.student-card__footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.student-card__footer>span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.student-card__footer button{background:var(--violet-soft);cursor:pointer;border:0;border-radius:9px;place-items:center;width:28px;height:28px;padding:0;display:grid}.student-card__footer svg{width:14px;color:var(--violet)}.toolbar{flex-wrap:wrap;align-items:stretch;gap:9px;margin-bottom:12px;display:flex}.toolbar .search-field{flex:260px}.search-field{border:1px solid var(--line);background:var(--surface);border-radius:15px;align-items:center;gap:9px;height:46px;padding:0 13px;display:flex}.search-field svg{width:18px;color:var(--muted)}.search-field input{background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:13px}.filter-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:15px;align-items:center;gap:6px;padding:0 13px;font-size:11px;font-weight:750;display:inline-flex}.filter-button svg{width:14px}.filter-select{min-width:190px;color:var(--muted);border:1px solid var(--line);background:var(--surface);border-radius:15px;gap:3px;padding:5px 34px 5px 12px;font-size:8px;font-weight:750;display:grid;position:relative}.filter-select select{min-width:0;color:var(--ink);font:inherit;appearance:none;background:0 0;border:0;outline:0;font-size:11px}.filter-select svg{width:14px;color:var(--ink);pointer-events:none;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.filter-chips{scrollbar-width:none;gap:7px;margin:0 -18px 17px;padding:0 18px 4px;display:flex;overflow-x:auto}.filter-chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;flex:none;align-items:center;gap:6px;padding:8px 11px;font-size:10px;font-weight:750;display:inline-flex}.filter-chip span{background:var(--soft);border-radius:999px;place-items:center;min-width:19px;height:19px;padding:0 5px;font-size:8px;display:grid}.filter-chip.is-active{color:#fff;border-color:var(--ink);background:var(--ink)}.filter-chip.is-active span{color:var(--ink);background:#fff}.activity-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;display:grid}.activity-stats article{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:18px;justify-items:center;gap:7px;padding:14px 8px;display:grid}.activity-stats svg{width:20px;color:var(--violet)}.activity-stats article:nth-child(2) svg{color:var(--blue)}.activity-stats article:nth-child(3) svg{color:var(--coral)}.activity-stats div{display:grid}.activity-stats strong{font-size:21px}.activity-stats span{color:var(--muted);font-size:8px}.timeline-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:22px;overflow:hidden}.timeline-card__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;padding:18px;display:flex}.timeline-card__header h2{margin:2px 0 0;font-size:19px}.timeline-card__header>span{color:var(--muted);font-size:9px}.timeline-row{border-bottom:1px solid #f0eef5;grid-template-columns:40px 1fr auto;gap:12px;padding:17px;display:grid;position:relative}.timeline-row:last-child{border-bottom:0}.timeline-row h3{margin:2px 0;font-size:13px}.timeline-row div:nth-child(2)>span{color:var(--violet);text-transform:uppercase;font-size:9px;font-weight:800}.timeline-row p{color:var(--muted);margin:0;font-size:10px;line-height:1.4}.timeline-row time{color:var(--muted);font-size:9px}.profile-card,.settings-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;box-shadow:0 10px 28px #2018410b}.profile-card{margin-bottom:14px;overflow:hidden}.profile-card__banner{background:radial-gradient(circle at 80% 30%,#ffffff52,#0000 22%),linear-gradient(125deg,#33275f,#7655e5 58%,#ef6f91);height:86px}.profile-card__content{grid-template-columns:66px 1fr;gap:13px;padding:0 17px 18px;display:grid;position:relative}.avatar--profile{color:#fff;background:linear-gradient(135deg,#7e63e9,#ed6d8d);border:4px solid #fff;border-radius:22px;width:66px;height:66px;margin-top:-28px;font-size:17px}.profile-card__content h2{margin:10px 0 2px;font-size:19px}.profile-card__content p,.profile-card__content span{color:var(--muted);margin:0;font-size:10px}.profile-card__content>button{height:42px;color:var(--violet);background:var(--violet-soft);cursor:pointer;border:1px solid #dcd3fa;border-radius:13px;grid-column:1/-1;font-size:11px;font-weight:800}.profile-card__content>button:disabled,.settings-card>button:disabled{cursor:default;opacity:.72}.settings-card{margin-bottom:14px;padding-top:4px;overflow:hidden}.settings-card h2{margin:14px 16px 8px;font-size:15px}.settings-card>button{text-align:left;cursor:pointer;background:#fff;border:0;border-top:1px solid #f0eef5;grid-template-columns:38px 1fr 17px;align-items:center;gap:11px;width:100%;padding:13px 16px;display:grid}.settings-card__icon{width:38px;height:38px;color:var(--violet);background:var(--violet-soft);border-radius:12px;place-items:center;display:grid}.settings-card__icon svg,.settings-card>button>svg{width:17px}.settings-card>button>span:nth-child(2){display:grid}.settings-card strong{font-size:11px}.settings-card small{color:var(--muted);margin-top:3px;font-size:9px}.settings-card>button>svg{color:#a6a2ae}.sign-out-link{color:var(--coral);text-align:center;margin-top:16px;padding:12px;font-size:11px;font-weight:800;display:block}.login-page{background:var(--surface);min-height:100vh;display:grid}.login-story{color:#fff;background:linear-gradient(145deg,#17142d 10%,#32235f 55%,#6544c9);padding:46px;display:none;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #ffffff21;border-radius:44% 56% 66% 34%;width:390px;height:390px;position:absolute;inset:auto -60px -120px auto;transform:rotate(22deg)}.login-story__brand{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.login-story__brand span{display:grid}.login-story__brand strong{font-size:19px}.login-story__brand small{color:#cfc3ff;letter-spacing:1.5px;text-transform:uppercase;font-size:10px;font-weight:800}.login-story__copy{z-index:2;align-self:center;max-width:570px;position:relative}.login-story__copy>span{color:#d7ccff;letter-spacing:1.4px;text-transform:uppercase;font-size:11px;font-weight:800}.login-story__copy h1{letter-spacing:-3.2px;margin:18px 0;font-size:clamp(42px,5vw,70px);line-height:.98}.login-story__copy p{color:#ffffffb8;max-width:510px;font-size:16px;line-height:1.7}.login-story__orb{filter:blur(2px);border-radius:50%;position:absolute}.login-story__orb--one{opacity:.55;background:radial-gradient(circle at 30% 30%,#ff7ca4e6,#ff7ca40d 66%);width:180px;height:180px;top:14%;right:8%}.login-story__orb--two{opacity:.5;background:radial-gradient(circle at 30% 30%,#56e0beb3,#56e0be08 66%);width:120px;height:120px;bottom:8%;left:16%}.login-panel{background:radial-gradient(circle at 100% 0, #f0ebff, transparent 35%), var(--surface);place-items:center;min-height:100vh;padding:28px 20px;display:grid}.login-card{width:min(420px,100%)}.login-card h2{letter-spacing:-1.2px;margin:18px 0 5px;font-size:32px}.login-card>p{color:var(--muted);margin:0 0 26px;font-size:13px}.login-card form{gap:16px;display:grid}.login-card label{gap:7px;font-size:11px;font-weight:800;display:grid;position:relative}.login-card input{border:1px solid var(--line);background:#fbfaff;border-radius:14px;outline:none;width:100%;height:50px;padding:0 14px;font-size:13px;font-weight:500}.login-card input:focus{border-color:var(--violet);box-shadow:0 0 0 3px var(--violet-soft)}.label-row{position:absolute;top:0;right:0}.label-row button{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:800}.primary-button,.preview-button{border-radius:14px;place-items:center;height:50px;font-size:12px;font-weight:850;display:grid}.primary-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6e54df,#8b62e7);border:0;box-shadow:0 13px 28px #684bd13d}.login-divider{color:#a09ca9;text-transform:uppercase;align-items:center;gap:10px;margin:20px 0;font-size:9px;display:flex}.login-divider:before,.login-divider:after{background:var(--line);content:"";flex:1;height:1px}.preview-button{color:var(--violet);background:var(--violet-soft);border:1px solid #d9d0fc}@media (min-width:700px){.page-content{padding:34px 30px 105px}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{min-height:142px}.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar{max-width:620px}.filter-chips{margin-left:0;margin-right:0;padding-left:0;padding-right:0}.profile-card,.settings-card,.sign-out-link{max-width:720px}}@media (min-width:1024px){.app-frame{grid-template-columns:238px 1fr;display:grid}.desktop-sidebar{color:#fff;background:#17142d;flex-direction:column;height:100vh;padding:28px 18px 22px;display:flex;position:sticky;top:0}.brand--sidebar{color:#fff;padding:0 10px 30px}.brand--sidebar small{color:#b7a7fa}.desktop-nav{gap:7px;display:grid}.desktop-nav__item{color:#aaa6bc;border-radius:14px;align-items:center;gap:12px;height:48px;padding:0 13px;font-size:12px;font-weight:750;display:flex}.desktop-nav__item svg{width:19px}.desktop-nav__item.is-active{color:#fff;background:linear-gradient(110deg,#7a59e98c,#7a59e92e);box-shadow:inset 3px 0 #a58bf9}.sidebar-profile{border-top:1px solid #ffffff1a;align-items:center;gap:10px;margin-top:auto;padding:13px 10px 0;display:flex}.sidebar-profile>span:last-child{display:grid}.sidebar-profile strong{font-size:10px}.sidebar-profile small{color:#8f8a9f;margin-top:3px;font-size:8px}.mobile-header,.mobile-bottom-nav{display:none}.page-content{padding:46px 42px 60px}.dashboard-columns{grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:22px;display:grid}.dashboard-students{margin-top:24px}.student-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.class-card{align-items:center;min-height:136px}.login-page{grid-template-columns:minmax(0,1.16fr) minmax(440px,.84fr)}.login-story{display:grid}}@media (min-width:1280px){.app-frame{grid-template-columns:258px 1fr}.page-content{padding-left:56px;padding-right:56px}.summary-card{flex-direction:row;align-items:center;min-height:112px}.summary-card__icon{flex:none;width:43px;height:43px}}@media (prefers-reduced-motion:no-preference){.summary-card,.class-card,.student-card,.activity-row{transition:transform .18s,box-shadow .18s}.summary-card:hover,.class-card:hover,.student-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}}.primary-button:disabled,.bulk-actions button:disabled{cursor:not-allowed;opacity:.48;box-shadow:none}.login-step-note{color:var(--violet);letter-spacing:.8px;text-transform:uppercase;margin:0;font-size:11px;font-weight:850}.form-message{border-radius:11px;margin:-3px 0 0;padding:10px 12px;font-size:10px;line-height:1.45}.form-message--error{color:#a63d4f;background:#fff0f2;border:1px solid #f5ccd4}.form-message--success{color:#246d5b;background:var(--mint-soft);border:1px solid #c7eadf}.verification-actions{justify-content:space-between;gap:12px;display:flex}.verification-actions button,.verification-actions a{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:0;font-size:10px;font-weight:800}.today-workspace{gap:16px;display:grid}.prototype-card,.progress-card,.update-card,.review-summary{border:1px solid var(--line);background:var(--surface);border-radius:22px;box-shadow:0 10px 28px #2018410b}.prototype-card{padding:17px}.prototype-card__header{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:15px;display:flex}.prototype-card__header h2{letter-spacing:-.45px;margin:3px 0 4px;font-size:20px}.prototype-card__header p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.prototype-card select,.prototype-field select{min-height:40px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fbfaff;border-radius:11px;padding:0 11px;font-size:10px;font-weight:700}.prototype-card__header select{max-width:155px}.prototype-icon{width:42px;height:42px;color:var(--violet);background:var(--violet-soft);border-radius:14px;flex:none;place-items:center;display:grid}.prototype-icon svg{width:20px}.bulk-actions{flex-wrap:wrap;gap:8px;margin-bottom:11px;display:flex}.bulk-actions button,.review-actions button{min-height:37px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:#fbfaff;border-radius:11px;justify-content:center;align-items:center;gap:5px;padding:0 12px;font-size:10px;font-weight:800;display:inline-flex}.bulk-actions svg,.review-actions svg{width:14px}.bulk-actions .action-positive,.review-actions .action-positive{color:#fff;background:#2a8c70;border-color:#2a8c70}.attendance-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.attendance-summary span{color:var(--muted);text-align:center;background:#f7f5fc;border-radius:10px;gap:2px;padding:8px 5px;font-size:8px;display:grid}.attendance-summary strong{color:var(--ink);font-size:14px}.attendance-filters{gap:6px;margin-bottom:10px;padding-bottom:2px;display:flex;overflow-x:auto}.attendance-filters button{min-height:32px;color:var(--muted);border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;flex:none;padding:0 10px;font-size:9px;font-weight:800}.attendance-filters button.is-active{color:var(--violet);background:var(--violet-soft);border-color:#cfc2fb}.attendance-search,.other-reason{color:var(--muted);gap:5px;margin-bottom:10px;font-size:8px;font-weight:800;display:grid}.attendance-search input,.other-reason input{min-height:38px;color:var(--ink);border:1px solid var(--line);font:inherit;background:#fff;border-radius:10px;padding:0 11px;font-size:10px}.attendance-list{border:1px solid var(--line);border-radius:15px;overflow:hidden}.attendance-row{cursor:pointer;border-bottom:1px solid #f0eef5;grid-template-columns:18px 37px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:66px;padding:10px 12px;display:grid}.attendance-row:last-child{border-bottom:0}.attendance-row:has(input:checked){background:#f5f1ff}.attendance-row input{width:16px;height:16px;accent-color:var(--violet)}.attendance-row__student{min-width:0;display:grid}.attendance-row__student strong{font-size:11px}.attendance-row__student small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:8px;overflow:hidden}.attendance-status{color:#797586;white-space:nowrap;background:#efedf3;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:850}.attendance-row--checked-in .attendance-status{color:#24765f;background:var(--mint-soft)}.attendance-row--checked-out .attendance-status{color:#4f407d;background:var(--violet-soft)}.attendance-row--no-show .attendance-status{color:#b54b5f;background:var(--coral-soft)}.attendance-row__status{justify-content:flex-end;align-items:center;gap:6px;display:flex}.attendance-row__status>button,.attendance-message>button{color:var(--violet);cursor:pointer;background:0 0;border:0;padding:3px 0;font-size:8px;font-weight:850}.attendance-empty{color:var(--muted);text-align:center;margin:0;padding:22px 12px;font-size:10px}.attendance-confirm{background:var(--coral-soft);border:1px solid #f2c9d1;border-radius:11px;margin-bottom:10px;padding:11px}.attendance-confirm p{color:#8c3548;margin:0 0 8px;font-size:9px;line-height:1.45}.attendance-confirm>div{justify-content:flex-end;gap:7px;display:flex}.attendance-confirm button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;min-height:32px;padding:0 10px;font-size:9px;font-weight:800}.attendance-confirm button.action-positive{color:#fff;background:#a33c51;border-color:#a33c51}.video-card{align-self:start}.prototype-field{color:var(--ink);gap:6px;font-size:9px;font-weight:850;display:grid}.prototype-field select{width:100%;min-height:46px}.file-picker{cursor:pointer;background:#faf8ff;border:1px dashed #c9bee9;border-radius:15px;grid-template-columns:40px 1fr;align-items:center;gap:11px;margin:13px 0;padding:14px;display:grid}.file-picker>svg{width:22px;color:var(--violet)}.file-picker>span{min-width:0;display:grid}.file-picker strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.file-picker small{color:var(--muted);margin-top:3px;font-size:8px}.file-picker input{opacity:0;width:1px;height:1px;position:absolute}.filename-preview{background:#f5f3f9;border-radius:12px;gap:5px;margin-bottom:13px;padding:11px;display:grid}.filename-preview span{color:var(--muted);text-transform:uppercase;font-size:8px;font-weight:800}.filename-preview code{overflow-wrap:anywhere;color:#4f407d;font-size:9px}.video-card>.primary-button{width:100%}.progress-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:15px;display:grid}.progress-summary article{text-align:center;border:1px solid var(--line);background:var(--surface);border-radius:16px;gap:3px;padding:13px 8px;display:grid}.progress-summary strong{font-size:22px}.progress-summary span{color:var(--muted);font-size:8px}.progress-list,.update-list{gap:12px;display:grid}.progress-card{overflow:hidden}.progress-card__student,.update-card__student{border-bottom:1px solid var(--line);grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 14px;display:grid}.progress-card__student>div,.update-card__student>div{min-width:0;display:grid}.progress-card__student strong,.update-card__student strong{font-size:11px}.progress-card__student small,.update-card__student small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:8px;overflow:hidden}.progress-card__student>span:last-child{color:var(--muted);font-size:8px}.progress-project{grid-template-columns:1fr auto;gap:3px 10px;padding:13px 14px;display:grid}.progress-project>span{color:var(--violet);text-transform:uppercase;grid-column:1/-1;font-size:8px;font-weight:850}.progress-project strong{font-size:13px}.progress-project small{color:var(--mint);font-size:9px;font-weight:800}.progress-metrics{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.progress-metrics>div{border-right:1px solid var(--line);align-content:start;gap:4px;min-height:80px;padding:11px;display:grid}.progress-metrics>div:last-child{border-right:0}.progress-metrics span{color:var(--muted);font-size:8px}.progress-metrics strong{font-size:10px}.progress-metrics small{color:#96919f;font-size:7px;line-height:1.35}.progress-attention{color:#a54c2e;background:#fff5ed;border-top:1px solid #f7dfcf;margin:0;padding:10px 14px;font-size:8px;line-height:1.45}.review-summary{grid-template-columns:auto 1fr;align-items:center;gap:15px;margin-bottom:15px;padding:15px;display:grid}.review-summary>div{border-right:1px solid var(--line);justify-items:center;min-width:72px;padding-right:15px;display:grid}.review-summary strong{font-size:25px}.review-summary span{color:var(--muted);font-size:8px}.review-summary p{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.update-card{overflow:hidden}.review-status{color:#a3622f;background:#fff3df;border-radius:999px;padding:5px 7px;font-size:8px;font-weight:850}.review-status--approved{color:#24765f;background:var(--mint-soft)}.review-status--held{color:#6f6a78;background:#efedf3}.email-preview{border:1px solid var(--line);background:#fbfaff;border-radius:14px;gap:7px;margin:13px;padding:13px;display:grid}.email-preview>span{color:var(--violet);text-transform:uppercase;align-items:center;gap:5px;font-size:8px;font-weight:850;display:flex}.email-preview svg{width:14px}.email-preview strong{font-size:11px}.email-preview p{color:#5e5967;margin:0;font-size:9px;line-height:1.55}.email-preview small{color:#96919f;font-size:7px}.review-actions{justify-content:flex-end;gap:8px;padding:0 13px 13px;display:flex}.review-actions button:disabled{cursor:default;opacity:.48}.sign-out-link{cursor:pointer;background:0 0;border:0;width:100%}.learning-workspace{min-width:0}.learning-toolbar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.learning-toolbar label{flex:200px;gap:6px;min-width:0;font-size:12px;font-weight:700;display:grid}.learning-toolbar input,.learning-toolbar select{border:1px solid var(--line);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;border-radius:12px;padding:10px}.learning-toolbar .filter-button{min-height:44px}.learning-caption{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.6}.learning-summary span{font-size:11px}.learning-students{align-items:start;gap:16px;display:grid}.learning-student,.learning-empty{border:1px solid var(--line);background:var(--surface);border-radius:18px;min-width:0;padding:18px}.learning-empty{margin:16px 0}.learning-empty h2{margin-top:0;font-size:18px}.learning-empty p,.learning-student>p{font-size:13px;line-height:1.6}.learning-error-actions{align-items:center;gap:20px;display:flex}.learning-student header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:10px;display:flex}.learning-student header h2{overflow-wrap:anywhere;margin:0;font-size:19px}.learning-student header p{color:var(--muted);margin:4px 0 0;font-size:12px}.learning-account{background:var(--violet-soft);color:var(--violet);border-radius:20px;flex-shrink:0;padding:6px 9px;font-size:11px}.learning-student summary{cursor:pointer;color:var(--violet);padding:12px 0;font-size:14px;font-weight:700}.activity-details{border-top:1px solid var(--line);background:#fbfaff}.activity-details>summary{color:var(--ink);cursor:pointer;justify-content:space-between;align-items:center;gap:14px;padding:14px;list-style:none;display:flex}.activity-details>summary::-webkit-details-marker{display:none}.tutorial-overflow>summary::-webkit-details-marker{display:none}.activity-details>summary:hover{background:var(--violet-soft)}.activity-details>summary:focus-visible,.tutorial-overflow>summary:focus-visible{outline:2px solid var(--violet);outline-offset:-3px}.activity-details__copy{gap:2px;display:grid}.activity-details__copy strong{color:var(--violet);font-size:11px}.activity-details__copy small{color:var(--muted);font-size:8px;font-weight:600}.activity-details__close,.activity-details[open] .activity-details__open{display:none}.activity-details[open] .activity-details__close{display:block}.activity-details__icon{width:28px;height:28px;color:var(--violet);background:var(--violet-soft);border-radius:9px;flex:none;place-items:center;display:grid}.activity-details__icon svg{width:14px;transition:transform .18s}.activity-details[open] .activity-details__icon svg{transform:rotate(180deg)}.activity-details__body{padding:0 14px 14px}.other-project-activity__list{gap:8px;max-height:520px;display:grid;overflow-y:auto}.other-project-activity__item{min-width:0}.other-project-activity__item>summary{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:12px;font-size:11px;list-style:none;display:flex}.other-project-activity__item>summary strong{overflow-wrap:anywhere}.other-project-activity__item>summary::-webkit-details-marker{display:none}.other-project-activity__item>summary:focus-visible{outline:2px solid var(--violet);outline-offset:-3px}.other-project-activity__item>summary svg{flex-shrink:0;width:14px}.other-project-activity__item[open]>summary svg{transform:rotate(180deg)}.other-project-activity__item>.learning-project{margin-top:8px}.learning-project{background:#fff;border:1px solid #ded8ee;border-radius:16px;gap:10px;padding:14px;display:grid}.learning-detail__intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:12px;display:flex}.learning-detail__intro h3,.learning-detail__section h4{margin:2px 0 0;font-size:13px}.learning-detail__intro>div>p:last-child{color:var(--muted);margin:5px 0 0;font-size:8px}.learning-detail__status{color:#7a7584;background:#efedf3;border-radius:999px;flex:none;padding:5px 7px;font-size:7px;font-weight:850}.learning-detail__status.is-linked{color:#24765f;background:var(--mint-soft)}.learning-detail__section{background:#f8f6fc;border-radius:13px;padding:12px}.learning-detail__section>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.learning-detail__section .eyebrow,.learning-detail__intro .eyebrow{margin:0;font-size:7px}.learning-detail__empty{color:var(--muted);background:#fff;border:1px dashed #d9d3e7;border-radius:10px;margin:0;padding:11px;font-size:9px;line-height:1.5}.learning-tutorial-list{gap:7px;display:grid}.learning-tutorial{background:#fff;border:1px solid #e5e0ee;border-radius:10px;gap:7px;padding:10px;display:grid}.learning-tutorial>span{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.learning-tutorial strong{overflow-wrap:anywhere;min-width:0;font-size:9px}.learning-tutorial small{color:var(--muted);white-space:nowrap;font-size:7px}.learning-tutorial progress{width:100%;height:6px;accent-color:var(--violet)}.tutorial-overflow{margin-top:8px}.tutorial-overflow>summary{color:var(--violet);cursor:pointer;background:#fff;border:1px solid #d8cff5;border-radius:9px;justify-content:center;align-items:center;gap:6px;padding:9px;font-size:8px;font-weight:850;list-style:none;display:flex}.tutorial-overflow>summary svg{width:12px;transition:transform .18s}.tutorial-more--close,.tutorial-overflow[open] .tutorial-more--open{display:none}.tutorial-overflow[open] .tutorial-more--close{display:inline}.tutorial-overflow[open]>summary svg{transform:rotate(180deg)}.learning-tutorial-list--more{max-height:320px;margin-top:8px;padding-right:3px;overflow-y:auto}.learning-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.learning-metrics div{background:#f7f5fc;border-radius:10px;padding:10px 8px}.learning-metrics dt{color:var(--muted);font-size:11px;line-height:1.4}.learning-metrics dd{margin:6px 0 0;font-size:18px;font-weight:700}.learning-metrics--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-detail__section .learning-metrics div{background:#fff}.learning-detail__section .learning-metrics dt{font-size:8px}.learning-detail__section .learning-metrics dd{font-size:12px}.learning-tutorials label{overflow-wrap:anywhere;gap:6px;margin:12px 0;font-size:12px;display:grid}.learning-tutorials label span{justify-content:space-between;gap:12px;display:flex}.learning-tutorials progress{width:100%;height:8px;accent-color:var(--violet)}.learning-exits{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px;font-size:12px;display:grid}.learning-exits div{justify-content:space-between;gap:8px;display:flex}.learning-exits dd{margin:0;font-weight:700}.learning-workspace :focus-visible,.learning-error-actions :focus-visible{outline:2px solid var(--violet);outline-offset:3px}@media (min-width:1000px){.learning-students{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:900px){.today-workspace{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr)}.progress-list,.update-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.class-context{color:var(--muted);margin:-8px 0 12px;font-size:10px}.no-show-reason{border:1px solid var(--line);background:var(--surface);min-height:38px;font:inherit;border-radius:10px;padding:0 10px}.attendance-message{border-radius:10px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px;padding:9px 11px;font-size:10px;display:flex}.attendance-message--success{color:#24765f;background:var(--mint-soft)}.attendance-message--error{color:#a33c51;background:var(--coral-soft)}@media (min-width:900px){.attendance-list{max-height:520px;overflow-y:auto}}@media (max-width:520px){.attendance-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-row{grid-template-columns:18px 37px minmax(0,1fr)}.attendance-row__status{grid-column:2/-1;justify-content:flex-start}.learning-detail__intro{flex-direction:column}.learning-tutorial>span{grid-template-columns:minmax(0,1fr);gap:3px}.learning-tutorial small{text-align:left;white-space:normal}}.learning-project-link{flex-direction:column;align-items:flex-start;gap:8px;margin-block:18px;display:flex}.learning-project-link a{color:#5840bc;background:#eee9ff;border:1px solid #d8cff8;border-radius:14px;justify-content:center;align-items:center;gap:14px;max-width:100%;padding:12px 18px;font-weight:800;text-decoration:none;display:inline-flex}.learning-project-link a:hover{background:#e3dbff;border-color:#a993ee}.learning-project-link a:focus-visible{outline-offset:3px;outline:3px solid #7954ef}.learning-project-link small{color:var(--muted);line-height:1.5}.account-identity{gap:4px;min-width:0;display:grid}.account-identity strong,.account-identity small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-sign-out{color:inherit;cursor:pointer;background:0 0;border:0;min-height:44px;padding:8px 0;font-size:12px;font-weight:700}.account-sign-out:focus-visible,.mobile-account summary:focus-visible{outline:2px solid var(--violet);outline-offset:3px;border-radius:6px}.mobile-header{gap:12px}.mobile-header .brand{flex-shrink:0}.mobile-account{min-width:0;max-width:52%;position:relative}.mobile-account summary{cursor:pointer;justify-content:flex-end;align-items:center;gap:8px;min-height:44px;list-style:none;display:flex}.mobile-account summary::-webkit-details-marker{display:none}.mobile-account .avatar{flex-shrink:0;width:32px;height:32px;font-size:11px}.mobile-account__username{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:750;overflow:hidden}.mobile-account__panel{background:var(--surface);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:16px;gap:8px;width:min(280px,100vw - 40px);padding:18px;display:grid;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 10px 30px #17142d1f}.mobile-account__panel small{color:var(--muted)}.mobile-account__panel form{border-top:1px solid var(--line);color:var(--violet)}.project-evidence-panel{border-top:1px solid #e5e0f2}.evidence-toggle{color:#7450df;text-align:left;cursor:pointer;width:100%;font:inherit;background:#faf8ff;border:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;display:flex}.evidence-toggle:focus-visible{outline-offset:-3px;outline:3px solid #a88dec}.evidence-body{padding:24px}.evidence-submission{border:1px solid #ded5f0;border-radius:20px;margin-top:20px;padding:22px}.evidence-submission header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.evidence-status{background:#ede8fb;border-radius:20px;padding:6px 12px;font-size:.85rem}.evidence-status--submitted{color:#125c32;background:#d4f5df;font-weight:700}.evidence-status--approved{color:#164d91;background:#dcecff;font-weight:700}.evidence-status--needs_changes{color:#915219;background:#fff0df}.evidence-files{gap:16px;margin:18px 0;display:grid}.evidence-file{min-width:0}.evidence-file button{white-space:normal;overflow-wrap:anywhere;max-width:100%}.evidence-media{aspect-ratio:16/9;border:1px solid var(--line);background:var(--soft);border-radius:14px;place-items:center;width:100%;max-width:720px;margin-top:12px;display:grid;position:relative;overflow:hidden}.evidence-media img,.evidence-media video{object-fit:contain;width:100%;height:100%;display:block;position:absolute;inset:0}.evidence-media--loading img,.evidence-media--loading video{visibility:hidden}.evidence-media--ready:has(video){background:#17142d}.evidence-media-placeholder{text-align:center;color:var(--muted);justify-items:center;gap:10px;padding:24px;font-size:13px;line-height:1.5;display:grid}.evidence-media-placeholder strong{color:var(--ink);font-size:14px}.evidence-media-spinner{border:3px solid #ded7f5;border-top-color:var(--violet);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite evidence-media-spin}@keyframes evidence-media-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.evidence-media-spinner{animation:none}}@media (max-width:600px){.evidence-media{min-height:180px}}.evidence-note{gap:8px;margin:16px 0;display:grid}.evidence-note textarea{resize:vertical;min-height:76px;font:inherit;border:1px solid #d8d0e8;border-radius:12px;padding:12px}.evidence-actions{flex-wrap:wrap;gap:12px;display:flex}.project-evidence-panel .btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:12px;padding:12px 18px;font-size:14px;font-weight:700}.project-evidence-panel .btn-primary{background:var(--violet);color:#fff;border-color:var(--violet)}.project-evidence-panel .btn:disabled{opacity:.5;cursor:not-allowed}.project-evidence-panel .btn:focus-visible{outline-offset:2px;outline:3px solid #a88dec}@media (max-width:600px){.evidence-body,.evidence-submission{padding:14px}.evidence-toggle{padding:18px}}.progress-class-project+.progress-class-project{border-top:2px solid var(--line)}.progress-class-project .progress-project{overflow-wrap:anywhere}.activity-details>summary>svg,.student-progress-toggle>svg,.project-progress-toggle>svg{flex:0 0 16px;width:16px;height:16px}.progress-list--compact{grid-template-columns:minmax(0,1fr);align-items:start}.student-progress-toggle{background:var(--surface);width:100%;color:var(--ink);text-align:left;cursor:pointer;font:inherit;border:0;align-items:center;gap:14px;padding:14px 18px;display:flex}.student-progress-name{flex:1;gap:4px;min-width:0;display:grid}.student-progress-name small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-progress-counts{text-align:right;gap:4px;font-size:12px;display:grid}.student-progress-counts small{color:var(--muted)}.student-progress-toggle[aria-expanded=true]>svg,.project-progress-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.student-progress-body{border-top:1px solid var(--line);padding:8px 14px 14px;container:project-list/inline-size}.project-progress-toggle{width:100%;color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;grid-template-columns:minmax(0,1fr) 16px;align-items:center;gap:12px;min-height:88px;padding:18px 10px}.project-progress-toggle>.project-progress-title{min-width:0;color:var(--ink);text-transform:none;grid-column:1;gap:6px;display:grid}.project-progress-title>strong{overflow-wrap:anywhere;font-size:14px;line-height:1.5}.project-progress-title>small{color:var(--muted);font-size:11px;font-weight:500}.project-progress-toggle>svg{grid-area:1/2}.progress-pagination{justify-content:center;align-items:center;gap:14px;margin-top:18px;font-size:12px;display:flex}.student-progress-toggle:focus-visible,.project-progress-toggle:focus-visible{outline:2px solid var(--violet);outline-offset:-3px}@media (max-width:600px){.student-progress-toggle{flex-wrap:wrap;gap:10px;padding:12px}.student-progress-name{flex-basis:calc(100% - 64px)}.student-progress-counts{text-align:left;flex-wrap:wrap;flex:1;gap:10px;margin-left:42px;display:flex}.student-progress-body{padding:4px 6px 10px}}.progress-workspace .filter-chips{max-width:100%;margin-left:0;margin-right:0;padding-left:0;padding-right:0}.progress-workspace .progress-summary span,.progress-workspace .progress-metrics span,.progress-workspace .progress-metrics small{font-size:11px}.progress-workspace .progress-metrics strong{font-size:13px}@media (max-width:600px){.progress-workspace .progress-metrics{grid-template-columns:minmax(0,1fr)}.progress-workspace .progress-metrics>div{border-right:0;border-bottom:1px solid var(--line);min-height:0;padding:10px}}.student-detail-toolbar{justify-content:space-between;gap:12px;margin-bottom:20px;display:flex}.student-detail-toolbar .filter-button{justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:13px;text-decoration:none;display:inline-flex}@media (min-width:900px){.progress-workspace>.toolbar{grid-template-columns:minmax(220px,1fr) 210px 170px auto;align-items:stretch;display:grid}.progress-workspace>.toolbar .search-field{width:auto;min-width:0}}a.student-progress-toggle{color:inherit;text-decoration:none}a.student-progress-toggle:focus-visible{outline:3px solid var(--primary,#7957ff);outline-offset:-3px}.student-progress-toggle>.identity-status{flex-shrink:0}header.student-progress-toggle{cursor:default}a.student-progress-toggle>svg{transform:rotate(-90deg)}@media (max-width:600px){.student-progress-toggle>.identity-status{margin-left:42px}.student-progress-counts{margin-left:0}}.student-login-name{color:var(--muted);overflow-wrap:anywhere;font-size:12px;font-weight:500}.test-clock{color:#483914;background:#fff8e8;border:1px solid #dfae4d;border-radius:14px;margin-bottom:20px;padding:14px 18px;font-size:13px}.test-clock p{overflow-wrap:anywhere;margin:8px 0}.test-clock summary{cursor:pointer;padding:8px 0}.test-clock form{flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px;display:flex}.test-clock label{gap:6px;min-width:0;max-width:100%;display:grid}.test-clock input,.test-clock select{background:#fff;border:1px solid #d0bd91;border-radius:8px;max-width:100%;min-height:42px;padding:8px}.test-clock button{min-height:44px;padding:10px 14px}.test-clock input[type=datetime-local]{width:250px;min-width:0}.progress-workspace>.toolbar .filter-select{min-width:0}.camp-schedule{border-top:4px solid #7960df;grid-column:1/-1;padding:22px}.camp-schedule .prototype-card__header{align-items:flex-start;padding:0}.camp-schedule h2{font-size:23px;line-height:1.3}.schedule-now{color:#493293;background:#eee9ff;border-radius:20px;padding:7px 14px;font-weight:700}.schedule-current-time{color:#493293;font-weight:700}.schedule-next,.schedule-milestone{background:#f7f4ff;border-radius:10px;padding:12px}.schedule-next strong{margin-bottom:5px;display:block}.camp-schedule summary{cursor:pointer;padding:12px 0;font-weight:700}.camp-schedule ol{margin:0;padding:0;list-style:none}.camp-schedule li{border-bottom:1px solid #eae5f4;grid-template-columns:185px 1fr;gap:14px;padding:10px;display:grid}.camp-schedule li.is-current{background:#eee9ff;font-weight:700}.camp-schedule time{color:#665e79}.attendance-phase{background:#eee9ff;border-radius:10px;margin:0 24px 14px;padding:12px}.attendance-phase strong,.attendance-phase span{display:block}.attendance-phase span{margin-top:5px;font-size:12px}.attendance-overdue{font-weight:700;color:#a54820!important}.test-clock input[type=time],.test-clock input[type=date]{color:#312b1b;background:#fff;border:1px solid #bfa365;border-radius:8px;max-width:100%;min-height:44px;padding:8px}@media (max-width:600px){.camp-schedule{padding:16px}.camp-schedule h2{font-size:20px}.camp-schedule li{grid-template-columns:1fr;gap:4px}}.project-progress-toggle>.project-review-summary{min-width:0;color:var(--muted);grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:10px 14px;font-size:12px;font-weight:500;line-height:1.5;display:grid}.project-review-summary>.evidence-status{justify-self:start;max-width:100%;padding:6px 10px;font-size:12px;line-height:1.5}.project-submission-types{justify-items:start;gap:5px;min-width:0;display:grid}.project-submission-types>span{border:1px solid var(--line);background:#faf9fc;border-radius:5px;padding:2px 7px;font-size:11px;font-weight:600}.project-review-times{grid-column:1/-1;gap:4px;font-size:11px;font-weight:500;display:grid}.project-review-times>span{overflow-wrap:anywhere}@container project-list (min-width:800px){.project-progress-toggle{grid-template-columns:minmax(180px,1fr) minmax(0,2fr) 16px;gap:18px}.project-progress-toggle>.project-review-summary{grid-area:1/2;grid-template-columns:minmax(0,.9fr) minmax(0,1.05fr) minmax(0,1.2fr)}.project-review-times{grid-column:auto}.project-progress-toggle>svg{grid-column:3}}.project-submission-panel{margin:12px 20px}.student-progress-counts>.has-pending-review{color:#16733c}.student-progress-counts .has-finished-projects{color:#164d91}.project-submission-panel .btn{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-size:13px;font-weight:700;display:inline-flex}.project-submission-panel .btn-primary{color:#fff;background:var(--violet);border-color:var(--violet)}.project-submission-panel .btn:disabled{opacity:.55;cursor:default}
