@import "https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700;800&family=Lora:wght@500;600;700&display=swap";:root{color:#1c2925;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f4ed;font-family:Open Sans,Segoe UI,sans-serif;font-size:18px;line-height:1.65}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit}.quiz-controls,.learner-list{margin-top:12px;padding:22px 25px}.quiz-controls>div{margin-top:12px}.quiz-controls article{border-top:1px solid #edf0e8;align-items:center;gap:10px;padding:13px 0;display:flex}.quiz-controls article>span{flex:1}.quiz-controls b,.quiz-controls small{display:block}.quiz-controls b{color:var(--ink);font-size:11px}.quiz-controls small{color:var(--muted);margin-top:3px;font-size:9px}.danger-btn{color:var(--red);cursor:pointer;background:0 0;border:0;font-size:10px}.danger-btn:hover{text-decoration:underline}.user-access-workspace{gap:14px;display:grid}.user-access-school-filter{color:var(--muted);gap:5px;font-size:10px;display:grid}.user-access-school-filter select{border:1px solid var(--line);background:#fff;border-radius:5px;min-width:180px;padding:9px}.user-access-notice{border-left:3px solid var(--gold);color:var(--muted);background:#fffdf6;border-radius:4px;padding:12px 14px;font-size:11px}.user-access-role-group{padding:18px}.user-access-role-group>.panel-heading{flex-wrap:wrap;align-items:center;display:flex}.user-access-user{align-items:center;display:flex}.user-access-user>div:first-child{flex:1;gap:4px;min-width:180px;display:grid}.user-access-user small{color:var(--muted)}.user-access-editor{background:#f7f8f4;border-radius:6px;flex-basis:100%;padding:12px}.user-access-editor>p{color:var(--muted);font-size:11px}.payroll-rules{border:1px solid var(--line);background:#fbfcfa;border-radius:8px;margin:18px 0;padding:18px}.payroll-rules>.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.payroll-rules>.panel-heading select{border:1px solid var(--line);background:#fff;border-radius:5px;max-width:240px;padding:9px}.payroll-rule-warning{border-left:3px solid var(--gold);color:var(--muted);background:#fffdf6;padding:10px 12px;font-size:11px;line-height:1.5}.payroll-rules-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:12px;display:grid}.payroll-rules-form label,.payroll-template-actions label{color:var(--muted);gap:5px;font-size:10px;display:grid}.payroll-rules-form input,.payroll-rules-form textarea,.payroll-template-actions input{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:5px;padding:9px}.payroll-rules-form .payroll-tax-bands,.payroll-rules-form .payroll-rule-source{grid-column:1/-1}.payroll-rules-form textarea{font-family:Consolas,monospace;font-size:11px}.payroll-template-actions{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.payroll-template-actions label{min-width:220px}.payroll-grid-wrap{border:1px solid var(--line);border-radius:7px;max-width:100%;margin:12px 0;overflow-x:auto}.payroll-grid{border-collapse:collapse;background:#fff;width:100%;min-width:1760px;font-size:10px}.payroll-grid th,.payroll-grid td{text-align:right;white-space:nowrap;border-bottom:1px solid #e8ede8;padding:8px}.payroll-grid thead th{color:var(--muted);background:#f1f5f1;font-weight:700;position:sticky;top:0}.payroll-grid th:first-child{z-index:1;text-align:left;background:#f8faf8;position:sticky;left:0}.payroll-grid thead th:first-child{z-index:2;background:#edf3ee}.payroll-grid tbody th{min-width:180px}.payroll-grid tbody th small{color:var(--muted);margin-top:3px;font-weight:400;display:block}.payroll-grid input[type=number]{border:1px solid var(--line);text-align:right;border-radius:4px;width:105px;padding:7px}.payroll-grid input[type=checkbox]{width:16px;height:16px}.payroll-grid tbody td:nth-last-child(-n+4){color:var(--green);font-weight:700}.user-access-permission-groups{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:12px 0;display:grid}.user-access-permission-group{border:1px solid var(--line);border-radius:6px;min-width:0;padding:10px 12px}.user-access-permission-group legend{color:var(--green);padding:0 4px;font-size:11px;font-weight:700}.user-access-permission-group .setting-row{gap:10px;font-size:10px}@media (width<=700px){.user-access-role-group{padding:14px}.user-access-user>div:first-child{min-width:120px}.user-access-school-filter select{min-width:0}}.attendance-workspace{gap:14px;display:grid}.attendance-workspace .view-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.attendance-workspace .view-heading>label{min-width:170px}.attendance-admin-grid{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px;display:grid}.attendance-panel{min-width:0;padding:18px}.attendance-form{align-content:start;gap:10px;display:grid}.attendance-form label{color:var(--muted);gap:5px;font-size:10px;display:grid}.attendance-form input,.attendance-form select,.attendance-actions input,.attendance-actions select,.hr-attendance-row select{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:5px;padding:9px}.attendance-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.attendance-actions input{flex:1;min-width:180px}.attendance-actions select{min-width:190px}.attendance-period{align-items:center}.attendance-period>span{flex:1}.attendance-period .attendance-actions{justify-content:end}.attendance-message{border-left:3px solid var(--green);color:var(--ink);background:#eef4ff;border-radius:4px;margin:0;padding:11px 14px;font-size:11px}.attendance-message.error{border-color:var(--red);color:var(--red);background:#fff5f3}.attendance-qr{width:min(280px,100%);margin:14px auto;display:block}.attendance-reader{width:min(420px,100%);margin:14px auto}.attendance-workspace .hr-attendance-row{align-items:center;gap:12px;display:flex}.attendance-workspace .hr-attendance-row>span{flex:1}@media (width<=700px){.attendance-workspace .view-heading,.attendance-period{flex-direction:column;align-items:stretch}.attendance-period .attendance-actions{justify-content:start}.attendance-workspace .hr-attendance-row{flex-wrap:wrap;align-items:stretch}.attendance-workspace .hr-attendance-row select{flex-basis:100%}}.result-group{border-bottom:1px solid #edf0e8;padding:16px 0}.result-group:last-child{border-bottom:0}.result-group-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.result-group-heading b,.result-group-heading small{display:block}.result-group-heading b{color:var(--ink);font-size:12px}.result-group-heading small{color:var(--muted);margin-top:4px;font-size:9px}.result-group .record-row{padding-left:12px}:root{--ink:#071942;--muted:#64748b;--line:#dfe7f3;--green:#071942;--gold:#f5ad00;--red:#a74738;--cream:#eef4ff}.grasys-vertical-lockup{text-align:center;justify-items:center;gap:8px;display:grid}.grasys-vertical-lockup img{object-fit:contain;width:112px;height:78px;display:block}.grasys-vertical-lockup strong{color:#fff;letter-spacing:-1.2px;font-size:27px;font-weight:800;line-height:1}.grasys-vertical-lockup strong span{color:var(--gold)}.grasys-vertical-lockup small{color:#c1d0ea;letter-spacing:.8px;font-size:9px;font-weight:700}.welcome-screen{background:var(--green);color:#eef3ff;flex-direction:column;min-height:100vh;padding:32px 6vw 24px;display:flex;position:relative;overflow:hidden}.welcome-pattern{border:1px solid #ffffff21;border-radius:70px;width:520px;height:520px;position:absolute;top:-160px;right:-120px;transform:rotate(45deg)}.welcome-pattern:before,.welcome-pattern:after{content:"";border-radius:inherit;border:1px solid #ffffff1a;position:absolute;inset:32px}.welcome-pattern:after{inset:65px}.welcome-header,.welcome-footer{z-index:1;justify-content:space-between;align-items:center;display:flex;position:relative}.welcome-brand{padding:0}.welcome-location{color:#b7c8e8;letter-spacing:.3px;font-size:10px}.welcome-location b{color:var(--gold);margin-left:7px}.welcome-content{z-index:1;grid-template-columns:1fr 420px;align-items:center;gap:9vw;width:min(1040px,100%);margin:auto;padding:70px 0;display:grid;position:relative}.welcome-copy .eyebrow{color:#b7c8e8;margin-left:0}.welcome-copy h1{color:#fff;letter-spacing:-.06em;margin:18px 0 24px;font:600 clamp(52px,6vw,84px)/1.02 Lora,Georgia,serif}.welcome-copy h1 i{color:var(--gold);font-style:normal}.welcome-copy>p:last-child{color:#c3d1eb;max-width:390px;font-size:13px;line-height:1.7}.login-panel{color:var(--ink);background:#fff;border-radius:7px;padding:30px;box-shadow:0 20px 60px #0014504d}.login-panel .eyebrow{color:#d28d00;margin-left:0}.login-panel h2{margin:5px 0 7px;font-size:25px}.login-subtitle{color:var(--muted);margin-bottom:22px;font-size:11px}.role-options{gap:8px;display:grid}.role-option{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:1px solid #e0e7f2;border-radius:4px;align-items:center;gap:11px;padding:12px;display:flex}.role-option:hover,.role-option.selected{border-color:var(--green);background:#eef4ff}.role-option>span:nth-child(2){flex:1}.role-option b,.role-option small{display:block}.role-option b{font-size:11px}.role-option small{color:var(--muted);margin-top:3px;font-size:9px}.role-option strong{color:#9ba5b5;font-weight:400}.role-symbol{border-radius:50%;place-items:center;width:29px;height:29px;font-size:15px;display:grid}.student-symbol{color:#b47700;background:#fff1c7}.teacher-symbol{color:var(--green);background:#dce9ff}.admin-symbol{color:var(--red);background:#e2e9fa}.enter-btn{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:3px;width:100%;margin-top:20px;padding:12px;font-size:11px;font-weight:700}.enter-btn span{margin-left:14px}.welcome-note{text-align:center;color:#a9bfe6;margin:14px 0 0;font-size:9px}.welcome-footer{color:#a9bfe6;font-size:9px}.app-shell{background:#f7f9fd;min-height:100vh;display:flex}.sidebar{background:var(--green);color:#edf1e7;flex-direction:column;flex:0 0 244px;width:244px;min-height:100vh;padding:30px 16px 22px;display:flex}.brand{justify-content:center;align-items:center;padding:0 12px 35px;display:flex}.brand-logo{width:min(110px,100%);height:auto;display:block}.brand-lockup{width:min(360px,100%);height:auto;display:block}.welcome-brand .brand-logo{width:195px}.school-switcher{background:#ffffff14;border:1px solid #ffffff1a;border-radius:5px;align-items:center;gap:9px;margin-bottom:34px;padding:11px 9px;font-size:11px;display:flex}.school-switcher b,.school-switcher small,.profile b,.profile small{display:block}.school-switcher b{font-size:11px}.school-switcher small,.profile small{color:#9dafaa;margin-top:2px;font-size:10px}.school-avatar{color:#244f43;background:#d8aa50;border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:700;display:grid}.chevron{color:#93aa9e;margin-left:auto;font-size:17px}.nav-label,.eyebrow{color:#8fa49c;text-transform:uppercase;letter-spacing:1.25px;margin:0 12px 10px;font-size:9px;font-weight:700}.nav-item{color:#b6c6bc;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:13px;width:100%;padding:11px 13px;font-size:12px;transition:all .2s;display:flex}.nav-item span{text-align:center;color:#9fb3a6;width:16px;font-size:16px}.nav-item:hover,.nav-item.active{color:#fff;background:#376555}.nav-item.active span{color:#e7b552}.nav-item i{color:#fff;background:#c26a52;border-radius:10px;margin-left:auto;padding:2px 5px;font-size:9px;font-style:normal}.sidebar-bottom{margin-top:auto}.sidebar-bottom .nav-label{margin-top:18px}.profile{border-top:1px solid #ffffff1c;align-items:center;gap:9px;margin-top:22px;padding:18px 8px 0;font-size:11px;display:flex}.avatar{border-radius:50%;place-items:center;width:30px;height:30px;font-size:10px;font-weight:700;display:grid}.avatar.dark{color:#294d41;background:#dcb24e}.more{color:#90a69b;letter-spacing:2px;margin-left:auto}.logout-item,.logout-item span{color:#d3aaa0}.logout-item:hover{color:#fff;background:#78483e}.logout-item:hover span{color:#fff}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#f6f4edd1;justify-content:space-between;align-items:center;height:72px;padding:0 48px;display:flex}.breadcrumb{color:#9ba39b;align-items:center;gap:12px;font-size:11px;display:flex}.breadcrumb b{color:#d0d1c6}.breadcrumb strong{color:#54615a;font-weight:600}.top-actions{align-items:center;gap:20px;display:flex}.icon-btn,.mobile-brand{color:#64736b;cursor:pointer;background:0 0;border:0;font-size:20px;position:relative}.icon-btn.notification i{background:var(--red);border-radius:50%;width:5px;height:5px;position:absolute;top:1px;right:0}.mobile-brand{display:none}.top-logout{color:var(--green);cursor:pointer;background:#fffefa;border:1px solid #d8ddd4;border-radius:4px;padding:8px 10px;font-size:10px}.top-logout:hover{background:var(--green);color:#fff}.content-wrap{max-width:1250px;margin:auto;padding:46px 48px 70px}.welcome-row{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.eyebrow{color:#88928b;margin:0 0 8px}.sun{color:var(--gold);margin-left:4px;font-size:15px}.welcome-row h1{letter-spacing:-.05em;color:var(--ink);margin:0 0 8px;font-family:Lora,Georgia,serif;font-size:clamp(36px,3.4vw,54px);font-weight:600;line-height:1.08}.subtitle{color:var(--muted);font-size:12px}.role-switcher{background:#ebeae1;border-radius:5px;align-items:center;gap:2px;padding:4px;display:flex}.role-switcher span{color:#89928b;padding:0 9px;font-size:10px}.role-switcher button{color:#738079;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:7px 10px;font-size:10px}.role-switcher button.selected{color:var(--green);background:#fff;font-weight:700;box-shadow:0 1px 3px #c9c9c1}.heritage-line{color:#98a099;align-items:center;gap:11px;margin:32px 0 20px;font-size:10px;display:flex}.heritage-line>span:first-child{color:var(--gold);font-size:17px}.heritage-line .line{background:#dadcd2;flex:1;height:1px}.heritage-line b{color:#b2a683;letter-spacing:1.6px;font-size:8px}.logged-role{color:var(--green);background:#e2ecdf;border-radius:20px;padding:9px 13px;font-size:10px;font-weight:700}.stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.stat-card{border-radius:6px;min-height:140px;padding:18px 20px;position:relative;overflow:hidden}.stat-card:after{content:"";opacity:.12;border:1px solid;border-radius:50%;width:80px;height:80px;position:absolute;top:-25px;right:-20px}.green-card{background:var(--green);color:#e6eee6}.cream-card{background:var(--cream);color:var(--ink)}.red-card{color:#fff2e9;background:#a95242}.gold-card{color:#3d4939;background:#e4b453}.stat-card p{opacity:.75;margin:0 0 12px;font-size:10px}.stat-card strong{letter-spacing:-.04em;font:600 32px/1.06 Lora,Georgia,serif;display:block}.stat-card small{opacity:.7;font-size:9px}.stat-card em{font-style:normal;font-weight:700}.stat-icon{opacity:.72;font-size:21px;position:absolute;top:15px;right:17px}.dashboard-grid,.lower-grid{grid-template-columns:1.5fr 1fr;gap:12px;margin-top:12px;display:grid}.panel{border:1px solid var(--line);background:#fffefa;border-radius:6px}.performance-panel,.activity-panel{padding:25px}.panel-heading{justify-content:space-between;align-items:flex-start;display:flex}.panel h2{color:var(--ink);letter-spacing:-.04em;margin:0;font:600 24px/1.12 Lora,Georgia,serif}.ghost-btn,.text-btn{border:1px solid var(--line);color:#78827c;cursor:pointer;background:0 0;border-radius:3px;padding:7px 10px;font-size:10px}.text-btn{color:var(--green);border:0;font-weight:700}.chart{height:218px;padding-top:26px;display:flex}.chart-y{color:#a5ada6;flex-direction:column;justify-content:space-between;width:35px;padding-bottom:24px;font-size:9px;display:flex}.chart-area{flex:1;position:relative}.grid-lines{flex-direction:column;justify-content:space-between;display:flex;position:absolute;inset:0 0 25px}.grid-lines i{border-top:1px dashed #e5e8df}.chart-area svg{width:100%;height:calc(100% - 25px);position:relative}.trend{fill:none;stroke:var(--green);stroke-width:2.5px;vector-effect:non-scaling-stroke}.area{fill:#dceadb;opacity:.65}.chart-x{color:#a5ada6;justify-content:space-between;font-size:9px;display:flex}.legend{color:#75817a;gap:22px;font-size:9px;display:flex}.dot{border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.gold-dot{background:var(--gold)}.green-dot{background:var(--green)}.action-panel{padding:25px 20px 12px}.spark{color:var(--gold);font-size:20px}.action-row{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0e8;align-items:center;gap:11px;width:100%;padding:15px 0;display:flex}.action-row:first-of-type{margin-top:13px}.action-row>span:nth-child(2){flex:1}.action-row b,.action-row small{display:block}.action-row b{color:#43534b;font-size:11px}.action-row small{color:#99a19b;margin-top:3px;font-size:9px}.action-row strong{color:#a4ada5;font-size:15px;font-weight:400}.action-icon{border-radius:50%;place-items:center;width:28px;height:28px;font-size:18px;display:grid}.green-icon{color:var(--green);background:#dceadb}.gold-icon{color:#94702c;background:#f5e9cb;font-size:12px}.red-icon{color:var(--red);background:#f2ddd8;font-size:15px}.activity-list{margin-top:18px}.activity-item{border-top:1px solid #edf0e8;align-items:center;gap:11px;padding:12px 0;display:flex}.activity-avatar{border-radius:50%;place-items:center;width:28px;height:28px;font-size:8px;font-weight:700;display:grid}.activity-avatar.gold{color:#896a31;background:#f0dfb9}.activity-avatar.green{color:#376452;background:#d9e7d8}.activity-avatar.red{color:#a04b3a;background:#f1d9d2}.activity-item p{color:#77837b;flex:1;margin:0;font-size:10px}.activity-item p b{color:#3c4d45}.activity-item small{color:#a5ada6;margin-top:4px;font-size:9px;display:block}.activity-arrow{color:#a3aca4}.focus-panel{background:var(--green);color:#e7f0e8;padding:27px 28px;position:relative;overflow:hidden}.focus-panel .eyebrow{color:#9cb5a8;position:relative}.focus-panel h2{color:#fff;font-size:30px;line-height:1.05;position:relative}.focus-panel h2 i{color:#e1b34f;font-style:normal}.focus-copy{color:#a8bbb0;max-width:190px;margin:12px 0 21px;font-size:10px;line-height:1.6;position:relative}.light-btn{color:var(--green);cursor:pointer;background:#e3efe2;border:0;border-radius:3px;padding:9px 12px;font-size:10px;position:relative}.light-btn span{margin-left:14px}.focus-pattern{border:1px solid #ffffff26;border-radius:30px;width:170px;height:170px;position:absolute;bottom:-60px;right:-65px;transform:rotate(45deg)}.focus-pattern:after{content:"";border:1px solid #ffffff26;position:absolute;inset:20px}.modal-backdrop{z-index:5;background:#f6f4ed;padding:0;display:block;position:fixed;inset:0}.quiz-modal{width:100vw;height:100vh;max-height:none;box-shadow:none;background:#fffefa;border-radius:0;flex-direction:column;padding:42px clamp(24px,8vw,140px) 0;display:flex;overflow:hidden}.quiz-session-top{flex:none;width:100%;max-width:900px;margin:0 auto}.quiz-head{justify-content:space-between;display:flex}.quiz-tag{color:var(--red);letter-spacing:1.4px;font-size:8px;font-weight:700}.quiz-modal h2{margin:7px 0 4px}.quiz-head p{color:#89938d;font-size:10px}.quiz-head p span{color:var(--gold);margin:0 6px}.close-btn{color:#92a099;cursor:pointer;background:0 0;border:0;font-size:24px}.timer{color:#64756b;background:#edf3e9;border-radius:4px;grid-template-columns:1fr auto;gap:5px;margin:23px 0 25px;padding:12px 15px;font-size:10px;display:grid}.timer strong{color:var(--green);font-family:Fraunces,serif;font-size:19px}.timer div{background:#d3ded1;border-radius:4px;grid-column:1/-1;height:3px}.timer i{background:var(--gold);border-radius:4px;width:62%;height:100%;display:block}.quiz-question-scroll{scrollbar-width:thin;scrollbar-color:#a9bbb0 transparent;flex:auto;width:100%;max-width:900px;min-height:0;margin:0 auto;padding:28px 10px 40px 0;overflow-y:auto}.question-label{color:#a2aaa3;letter-spacing:1.2px;font-size:9px;font-weight:700}.quiz-modal h3{color:var(--ink);letter-spacing:-.05em;max-width:760px;margin:8px 0 30px;font:600 clamp(28px,3vw,42px)/1.12 Lora,serif}.answers{grid-template-columns:1fr 1fr;gap:12px;max-width:760px;display:grid}.answer{color:#617069;text-align:left;cursor:pointer;background:#fffefa;border:1px solid #e1e6df;border-radius:4px;align-items:center;gap:10px;padding:16px;font-size:12px;display:flex}.answer:hover,.answer.chosen{border-color:var(--green);color:var(--green);background:#edf4ea}.answer span{color:#88938b;background:#f0f0e9;border-radius:50%;place-items:center;width:28px;height:28px;font-size:10px;font-weight:700;display:grid}.quiz-foot{color:#9aa39d;background:#fffefa;border-top:1px solid #edf0e8;flex:none;justify-content:center;align-items:center;gap:12px;width:calc(100% + clamp(48px,16vw,280px));margin-left:calc(clamp(24px,-8vw,-140px));padding:18px clamp(24px,8vw,140px) 28px;font-size:9px;display:flex}.submit-btn{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:3px;padding:12px 16px;font-size:10px}.submit-btn:disabled{opacity:.45;cursor:not-allowed}.submit-btn span{margin-left:13px}.quiz-status{color:var(--muted);text-align:center;padding:45px 0;font-size:12px}.quiz-error{color:var(--red);background:#f4dfda;border-radius:4px;padding:11px;font-size:11px}.quiz-result{color:#64756b;background:#edf3e9;align-items:center;gap:12px;margin-top:18px;padding:12px;font-size:10px;display:flex}.quiz-result strong{color:var(--green);letter-spacing:-.04em;font:600 24px Lora,serif}.quiz-foot>button{transform:translateY(-4px)}.question-nav{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:3px;padding:10px 12px;font-size:10px}.question-nav:disabled{opacity:.4;cursor:not-allowed}.backend-chart{flex-direction:column;justify-content:center;gap:7px;min-height:218px;padding:25px 12px 18px;display:flex}.backend-chart div{color:#77837b;justify-content:space-between;align-items:baseline;font-size:10px;display:flex}.backend-chart strong{color:var(--green);font:500 24px Fraunces,serif}.backend-chart>i{background:#edf0e8;border-radius:5px;height:7px;margin-bottom:8px;display:block}.backend-chart>i b{background:var(--gold);border-radius:inherit;height:100%;transition:width .35s;display:block}.summary-error{color:var(--red);background:#f4dfda;border-radius:4px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:11px}.empty-state{color:var(--muted);margin:18px 0;font-size:11px}.workspace-view{margin-top:12px}.view-heading{background:var(--green);color:#fff;border-radius:6px;justify-content:space-between;align-items:flex-start;padding:28px;display:flex}.view-heading h2{color:#fff;letter-spacing:-.04em;margin-bottom:8px;font-family:Lora,Georgia,serif;font-size:34px;font-weight:600;line-height:1.1}.view-heading p:not(.eyebrow){color:#b4c7bb;font-size:11px}.record-list{border:1px solid var(--line);background:#fffefa;border-radius:6px;margin-top:12px;padding:8px 24px}.record-row{border-bottom:1px solid #edf0e8;align-items:center;gap:13px;padding:15px 0;display:flex}.record-row:last-child{border-bottom:0}.record-row>div:nth-child(2){flex:1}.record-row b,.record-row small{display:block}.record-row b{color:var(--ink);font-size:11px}.record-row small{color:var(--muted);margin-top:4px;font-size:9px}.record-icon{width:28px;height:28px;color:var(--green);background:#dceadb;border-radius:50%;place-items:center;display:grid}.status{border-radius:10px;padding:4px 7px;font-size:8px}.status.published{color:var(--green);background:#dceadb}.status.draft{color:#94702c;background:#f3e6c7}.result-score{color:var(--green);font:500 21px Fraunces,serif}.utility-panel{z-index:4;border:1px solid var(--line);background:#fffefa;border-radius:6px;width:min(350px,100% - 48px);padding:24px;position:fixed;top:84px;right:24px;box-shadow:0 12px 40px #1a30272e}.utility-panel h2{margin:0 0 9px}.utility-panel p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.utility-panel .close-btn{position:absolute;top:10px;right:12px}.setting-row{border-top:1px solid var(--line);color:var(--ink);justify-content:space-between;margin-top:16px;padding-top:14px;font-size:11px;display:flex}.role-dashboard{margin-top:12px}.role-hero{background:var(--green);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:20px;padding:28px;display:flex}.role-hero h2{color:#fff;letter-spacing:-.04em;margin-bottom:8px;font-family:Lora,Georgia,serif;font-size:34px;font-weight:600;line-height:1.1}.role-hero p:not(.eyebrow){color:#b4c7bb;max-width:460px;font-size:11px}.primary-btn{background:var(--gold);color:var(--green);cursor:pointer;border:0;border-radius:3px;padding:11px 14px;font-size:10px;font-weight:700}.primary-btn span{margin-left:14px}.role-cards{grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0;display:grid}.admin-dashboard .role-cards{grid-template-columns:repeat(4,1fr)}.role-card{border:1px solid var(--line);background:#fffefa;border-radius:6px;padding:20px}.role-card span,.role-card small{color:var(--muted);font-size:10px;display:block}.role-card strong{color:var(--green);letter-spacing:-.05em;margin:14px 0 7px;font:600 32px/1.08 Lora,serif;display:block}.role-card small{color:#a1aaa3}.role-list{padding:25px}.quiz-list-item{text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #edf0e8;align-items:center;gap:12px;width:100%;padding:18px 0 5px;display:flex}.quiz-list-item>span:nth-child(2){flex:1}.quiz-list-item b,.quiz-list-item small{display:block}.quiz-list-item b{color:var(--ink);font-size:12px}.quiz-list-item small{color:var(--muted);margin-top:4px;font-size:10px}.quiz-list-item strong{color:var(--green);font-size:10px}.admin-activity{color:var(--muted);border-top:1px solid #edf0e8;grid-template-columns:1fr 2fr auto;gap:12px;padding:14px 0;font-size:10px;display:grid}.admin-activity b{color:var(--ink)}.admin-activity strong{color:var(--green)}.announcement-panel{border:1px solid var(--line);border-left:4px solid var(--gold);background:#fffefa;border-radius:6px;align-items:flex-start;gap:14px;margin-bottom:12px;padding:18px 20px;display:flex}.announcement-icon{color:#98732d;background:#f3e6c7;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid}.announcement-panel .eyebrow{color:#9b8b65;margin:0 0 5px}.announcement-panel h2{color:var(--ink);margin:0 0 5px;font:500 20px Fraunces,serif}.announcement-panel p:last-child{color:var(--muted);margin:0;font-size:11px;line-height:1.5}@media (width<=960px){.sidebar{flex-basis:210px;width:210px}.topbar,.content-wrap{padding-left:28px;padding-right:28px}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.sidebar{display:none}.topbar{padding:0 18px}.mobile-brand{background:var(--gold);color:var(--green);border-radius:5px;width:29px;height:29px;font:600 16px Fraunces,serif;display:block}.breadcrumb{margin-left:12px;margin-right:auto}.content-wrap{padding:30px 18px 50px}.welcome-row{display:block}.role-switcher{width:fit-content;margin-top:24px}.heritage-line{margin-top:24px}.heritage-line .line,.heritage-line b{display:none}.dashboard-grid,.lower-grid{grid-template-columns:1fr}.stats-grid,.role-cards,.admin-dashboard .role-cards{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{min-height:125px;padding:15px}.stat-card strong{font-size:27px}.performance-panel,.activity-panel{padding:20px 16px}.quiz-modal{padding:22px}.answers{grid-template-columns:1fr}.quiz-foot{flex-direction:column;align-items:flex-start;gap:12px}.role-hero{padding:22px;display:block}.role-hero .primary-btn,.role-hero .ghost-btn{margin-top:18px}.welcome-screen{padding:24px 20px 18px}.welcome-location{display:none}.welcome-content{padding:50px 0 35px;display:block}.welcome-copy h1{margin-top:14px;font-size:52px}.welcome-copy>p:last-child{margin-bottom:32px}.login-panel{padding:22px}.welcome-footer span:last-child{display:none}}.quiz-modal{scrollbar-width:thin;scrollbar-color:#a9bbb0 transparent}@media (width<=700px){.quiz-modal{width:100vw;height:100dvh;padding:24px 18px 0}.quiz-foot{width:calc(100% + 36px);padding:12px 18px calc(12px + env(safe-area-inset-bottom));flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-left:-18px}.quiz-foot>button{min-height:48px;transform:none}.quiz-foot .question-nav{flex:1;padding:12px 10px}.quiz-foot .submit-btn{flex:1.35;padding:12px 10px}.answers{grid-template-columns:1fr}}.mobile-brand{line-height:1}@media (width<=700px){.sidebar.sidebar-open{z-index:10;overscroll-behavior:contain;width:min(280px,84vw);height:100dvh;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:12px 0 35px #0c20193d}.sidebar.sidebar-open+.main-content{pointer-events:none}}.quiz-stage-screen{z-index:8;background:#f6f4ed;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.quiz-stage-card{text-align:center;border:1px solid var(--line);background:#fffefa;border-radius:8px;width:min(520px,100%);padding:48px;box-shadow:0 20px 70px #1a302724}.quiz-stage-card .eyebrow{color:#9b8b65;margin-left:0}.quiz-stage-card h2{color:var(--green);margin:8px 0 14px;font:500 35px Fraunces,serif}.quiz-stage-card p:not(.eyebrow){color:var(--muted);font-size:12px;line-height:1.7}.quiz-stage-icon{color:#98732d;background:#f3e6c7;border-radius:50%;place-items:center;width:52px;height:52px;margin:0 auto 22px;font:600 25px Fraunces,serif;display:grid}.success-icon{color:var(--green);background:#dceadb}.quiz-stage-actions{justify-content:center;gap:10px;margin-top:28px;display:flex}.success-stage .submit-btn{margin-top:18px}.quiz-instructions-card{text-align:left}.quiz-instructions-card .quiz-stage-icon{margin-left:0}.quiz-instructions-card .quiz-stage-icon,.quiz-instructions-card .submit-btn{margin-top:24px;display:block}.quiz-instructions-meta{margin:0 0 18px}.quiz-instructions-copy{color:var(--ink);white-space:pre-wrap;background:#f5f4ed;border-radius:5px;padding:18px;font-size:13px;line-height:1.7}.quiz-instructions-editor{border:1px solid var(--line);background:#fbfaf5;border-radius:6px;margin:0 0 24px;padding:20px}.quiz-instructions-editor-heading h3{color:var(--green);margin:0;font:500 20px Fraunces,serif}.quiz-instructions-editor-heading h3 span{color:var(--muted);font-size:11px;font-weight:400}.quiz-instructions-editor-heading p,.quiz-author-guidance,.quiz-instructions-preview{color:var(--muted);font-size:11px;line-height:1.6}.quiz-instructions-editor-heading p{margin:5px 0 16px}.multi-builder-card .quiz-instructions-input{resize:vertical;width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;outline:none;padding:12px;font-size:12px;line-height:1.6}.multi-builder-card .quiz-instructions-input:focus{border-color:var(--green)}.quiz-author-guidance{background:#edf3e9;border-radius:4px;gap:3px;margin-top:12px;padding:11px 13px;display:grid}.quiz-author-guidance b{color:var(--green)}.quiz-instructions-preview{border:1px dashed #cbd8cc;border-radius:4px;margin-top:16px;padding:12px}.quiz-instructions-preview p{color:var(--ink);white-space:pre-wrap;margin:6px 0 0}.multi-builder-screen{z-index:7;background:#f6f4ed;padding:42px 24px;position:fixed;inset:0;overflow-y:auto}.multi-builder-card{border:1px solid var(--line);background:#fffefa;border-radius:8px;width:min(860px,100%);margin:0 auto;padding:34px;box-shadow:0 18px 60px #1a302724}.multi-builder-card .builder-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:24px;display:flex}.multi-builder-card .builder-heading h2{color:var(--green);margin:6px 0;font:500 32px Fraunces,serif}.multi-builder-card .builder-heading p:not(.eyebrow){color:var(--muted);font-size:11px}.multi-builder-card .builder-fields{grid-template-columns:1fr 1fr 180px;gap:16px;padding:25px 0;display:grid}.multi-builder-card label{color:#627169;gap:7px;font-size:10px;font-weight:700;display:grid}.multi-builder-card input,.multi-builder-card select{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe5dd;border-radius:4px;outline:none;padding:12px;font-size:11px}.multi-builder-card input:focus,.multi-builder-card select:focus{border-color:var(--green)}.multi-question-list{gap:16px;display:grid}.multi-question{border:1px solid var(--line);background:#fbfaf5;border-radius:6px;padding:22px}.multi-question-heading{color:var(--green);justify-content:space-between;align-items:center;margin-bottom:18px;font:500 18px Fraunces,serif;display:flex}.multi-question>label{margin-bottom:16px}.multi-question .option-grid{grid-template-columns:1fr 1fr;gap:13px;margin-bottom:16px;display:grid}.multi-builder-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;display:flex}.multi-builder-actions>span{gap:10px;display:flex}.multi-builder-actions .submit-btn{margin:0}@media (width<=700px){.multi-builder-screen{padding:18px 12px}.multi-builder-card{padding:22px 16px}.multi-builder-card .builder-fields{grid-template-columns:1fr;gap:12px}.multi-question{padding:16px}.multi-question .option-grid{grid-template-columns:1fr;gap:10px}.multi-builder-actions{flex-direction:column;align-items:stretch;gap:12px}.multi-builder-actions>span{width:100%}.multi-builder-actions button{flex:1}}.builder-screen{z-index:7;background:#f6f4ed;padding:36px 20px;position:fixed;inset:0;overflow-y:auto}.builder-card{border:1px solid var(--line);background:#fffefa;border-radius:7px;width:min(760px,100%);margin:0 auto;padding:32px;box-shadow:0 18px 60px #1a302721}.builder-heading{border-bottom:1px solid var(--line);justify-content:space-between;padding-bottom:22px;display:flex}.builder-heading h2{color:var(--green);margin:5px 0;font:500 30px Fraunces,serif}.builder-heading p:not(.eyebrow){color:var(--muted);font-size:11px}.builder-fields{grid-template-columns:1fr 1fr;gap:15px;padding:24px 0;display:grid}.builder-fields label,.option-grid label{color:#627169;gap:6px;font-size:10px;font-weight:700;display:grid}.builder-fields input,.builder-fields select{width:100%;color:var(--ink);background:#fff;border:1px solid #dfe5dd;border-radius:3px;outline:none;padding:11px;font-size:11px}.builder-fields input:focus,.builder-fields select:focus{border-color:var(--green)}.option-grid{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.builder-footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding-top:18px;display:flex}.builder-message{color:var(--green);background:#dceadb;border-radius:3px;margin:0 0 15px;padding:10px;font-size:10px}.quiz-modal .timer{border:1px solid #cbd8cc;padding-bottom:15px}.quiz-modal .timer div{background:#d6e1d5;border-radius:6px;height:11px;overflow:hidden}.quiz-modal .timer i{background:#123d31;border-radius:6px;min-width:4px}.question-rich-content,.question-rich-preview{max-width:760px;margin:12px 0 24px;overflow-x:auto}.question-rich-content img,.question-rich-preview img{object-fit:contain;max-width:100%;height:auto;max-height:520px;display:block}.question-rich-content table,.question-rich-preview table{border-collapse:collapse;width:100%;margin:12px 0}.question-rich-content th,.question-rich-content td,.question-rich-preview th,.question-rich-preview td{text-align:left;border:1px solid #d8e1d8;padding:8px 10px}.question-rich-content th,.question-rich-preview th{color:var(--green);background:#edf4ea}.auth-loading{color:#eef3eb;place-items:center;font-size:13px;display:grid}.auth-form{gap:13px;display:grid}.auth-field{color:#627169;gap:6px;font-size:10px;font-weight:700;display:grid}.auth-field input{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;outline:none;padding:12px}.auth-field input:focus{border-color:var(--green)}.auth-field input[readonly]{color:#68776f;background:#f4f5f0}.auth-hint,.auth-status{color:var(--muted);margin:-5px 0 0;font-size:10px}.auth-form .enter-btn{margin-top:5px}.auth-form .quiz-error{margin:0}.auth-back{margin-top:14px}.admin-user-manager .view-heading{align-items:center}.admin-user-grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:12px;margin-top:12px;display:grid}.admin-invite-panel,.admin-users-panel,.admin-invitations-panel{padding:22px 24px}.admin-invite-panel h3{color:var(--green);margin:4px 0 18px;font:500 23px Lora,Georgia,serif}.admin-invite-form{gap:12px;display:grid}.admin-invite-form label{color:#627169;gap:6px;font-size:10px;font-weight:700;display:grid}.admin-invite-form input,.admin-invite-form select{width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;padding:9px 10px}.admin-invite-form input:focus,.admin-invite-form select:focus{outline:1px solid var(--green)}.admin-invite-form .primary-btn{justify-self:start;margin-top:4px}.invitation-created{color:var(--green);overflow-wrap:anywhere;background:#edf3e9;border:1px solid #bfd2c3;gap:6px;margin-top:18px;padding:13px;display:grid}.invitation-created b{font-size:11px}.invitation-created small{color:var(--muted);font-size:9px}.invitation-created a{color:var(--green);font-size:10px}.invitation-created .text-btn{justify-self:start}.admin-user-row{border-top:1px solid #edf0e8;grid-template-columns:minmax(130px,1fr) auto auto auto;align-items:center;gap:12px;padding:12px 0;display:grid}.admin-user-row>div{min-width:0}.admin-user-row b,.admin-user-row small{overflow-wrap:anywhere;display:block}.admin-user-row b{color:var(--ink);font-size:11px}.admin-user-row small{color:var(--muted);margin-top:4px;font-size:9px}.admin-user-role{color:var(--muted);text-transform:capitalize;font-size:9px}.admin-users-panel .panel-heading,.admin-invitations-panel .panel-heading{margin-bottom:10px}.admin-invitations-panel{margin-top:12px}.admin-invitations-panel>.empty-state{margin-bottom:0}@media (width<=800px){.admin-user-grid{grid-template-columns:1fr}.admin-user-row{grid-template-columns:minmax(0,1fr) auto}.admin-user-row>:nth-child(3){justify-self:start}.admin-user-row>:nth-child(4){justify-self:end}}.auth-field select{width:100%;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;outline:none;padding:12px}.auth-field select:focus{border-color:var(--green)}.auth-success{color:var(--green);background:#edf3e9;border-radius:4px;margin:0;padding:11px;font-size:10px;line-height:1.5}.subject-sidebar{max-height:330px;margin:24px 0 4px;overflow-y:auto}.subject-sidebar .nav-label{margin-bottom:8px}.subject-sidebar-item{margin-bottom:4px}.subject-sidebar-trigger{text-align:left;color:#dce7df;cursor:pointer;background:#ffffff09;border:1px solid #ffffff21;border-radius:4px;grid-template-columns:15px 1fr;column-gap:7px;width:100%;padding:9px 8px;display:grid}.subject-sidebar-trigger:hover,.subject-sidebar-trigger.active{background:#ffffff1c;border-color:#e2ae4580}.subject-sidebar-trigger>span{color:var(--gold);grid-row:1/span 2;font-size:16px;line-height:1}.subject-sidebar-trigger b{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.subject-sidebar-trigger small{color:#9dafaa;margin-top:3px;font-size:8px}.subject-sidebar-links{gap:1px;padding:5px 0 5px 22px;display:grid}.subject-sidebar-links button{color:#aebeb4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;padding:5px 7px;font-size:9px}.subject-sidebar-links button:hover,.subject-sidebar-links button.active{color:#fff;background:#376555}.subject-sidebar-empty,.subject-sidebar-error{color:#aebeb4;padding:0 12px;font-size:9px;line-height:1.4;display:block}.subject-sidebar-error{color:#f1c4ba}.subject-workspace{margin-top:12px}.subject-hero{color:#fff;background:var(--green);border-radius:6px;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px;display:flex}.subject-hero .eyebrow{color:#b4c7bb;margin-left:0}.subject-hero h2{color:#fff;letter-spacing:-.04em;margin:0 0 8px;font:600 34px Lora,Georgia,serif}.subject-hero p:not(.eyebrow){color:#c3d2c8;margin:0;font-size:11px}.subject-hero-stats{gap:8px;display:flex}.subject-hero-stats span{color:#dbeade;text-align:center;border:1px solid #ffffff2e;border-radius:4px;min-width:78px;padding:9px 11px;font-size:9px}.subject-hero-stats b{color:var(--gold);margin-bottom:3px;font-size:16px;display:block}.subject-tabs{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.subject-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fffefa;border-radius:4px;padding:8px 11px;font-size:10px}.subject-tabs button:hover,.subject-tabs button.active{color:var(--green);background:#e8f0e7;border-color:#a8c0ae;font-weight:700}.subject-overview-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.subject-summary,.subject-list{padding:22px 24px}.subject-summary h3{color:var(--green);margin:5px 0 9px;font:500 22px Lora,Georgia,serif}.subject-summary p:not(.eyebrow){color:var(--muted);font-size:11px;line-height:1.6}.subject-summary small{color:#8d9890;font-size:9px}.subject-list{margin-top:12px}.subject-list .panel-heading{margin-bottom:8px}.subject-row{border-top:1px solid #edf0e8;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.subject-row b,.subject-row small{display:block}.subject-row b{color:var(--ink);font-size:11px}.subject-row small{color:var(--muted);margin-top:4px;font-size:9px}.subject-row .primary-btn{flex:none}.subject-post{border-top:1px solid #edf0e8;padding:16px 0}.subject-post b,.subject-post small{display:block}.subject-post b{color:var(--ink);font-size:12px}.subject-post small{color:var(--muted);margin-top:4px;font-size:9px}.subject-post p{color:var(--muted);white-space:pre-wrap;margin:10px 0;font-size:11px;line-height:1.6}.subject-post a{color:var(--green);font-size:10px;font-weight:700}.subject-post-form{border-top:1px solid var(--line);gap:11px;margin-top:20px;padding-top:20px;display:grid}.subject-post-form h3{color:var(--green);margin:0;font:500 20px Lora,Georgia,serif}.subject-post-form label{color:#627169;gap:6px;font-size:10px;font-weight:700;display:grid}.subject-post-form input,.subject-post-form select,.subject-post-form textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #dfe5dd;border-radius:4px;padding:10px}.subject-post-form input:focus,.subject-post-form select:focus,.subject-post-form textarea:focus{outline:1px solid var(--green)}.admin-signup-manager .view-heading{align-items:center}.admin-signup-grid{grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:12px;margin-top:12px;display:grid}.admin-class-create,.admin-pending-signups{padding:22px 24px}.admin-class-create h3{color:var(--green);margin:4px 0 16px;font:500 23px Lora,Georgia,serif}.admin-class-form{gap:10px;display:grid}.admin-class-form label,.admin-assignment-field{color:#627169;gap:6px;font-size:10px;font-weight:700;display:grid}.admin-class-form input,.admin-assignment-field select{min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;padding:9px 10px}.admin-class-form .primary-btn{justify-self:start;margin-top:3px}.admin-class-list{gap:8px;margin-top:18px;display:grid}.admin-class-list>div{border-top:1px solid #edf0e8;justify-content:space-between;gap:8px;padding-top:9px;display:flex}.admin-class-list b{color:var(--ink);font-size:10px}.admin-class-list small{color:var(--muted);font-size:9px}.pending-signup-row{border-top:1px solid #edf0e8;padding:15px 0}.pending-signup-heading b,.pending-signup-heading small{display:block}.pending-signup-heading b{color:var(--ink);font-size:11px}.pending-signup-heading small{color:var(--muted);margin-top:4px;font-size:9px}.admin-assignment-field{margin-top:11px}.admin-class-checks{border:1px solid #e3e5db;border-radius:4px;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0;padding:10px;display:flex}.admin-class-checks legend{color:#627169;padding:0 5px;font-size:9px;font-weight:700}.admin-class-checks label{color:var(--ink);align-items:center;gap:6px;font-size:10px;display:flex}.admin-class-checks input{accent-color:var(--green)}.admin-class-checks small{color:var(--muted);font-size:9px}.pending-signup-actions{align-items:center;gap:14px;margin-top:12px;display:flex}.issued-login-id{color:var(--green);background:#edf3e9;border:1px solid #bfd2c3;border-radius:5px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-top:12px;padding:16px 42px 16px 18px;display:grid;position:relative}.issued-login-id b,.issued-login-id small{display:block}.issued-login-id b{font-size:11px}.issued-login-id small{color:var(--muted);margin-top:4px;font-size:9px}.issued-login-id strong{letter-spacing:1px;font-size:16px}.issued-login-id .close-btn{position:absolute;top:7px;right:8px}@media (width<=800px){.admin-signup-grid{grid-template-columns:1fr}.issued-login-id{grid-template-columns:1fr auto}.issued-login-id>div{grid-column:1/-1}}@media (width<=700px){.subject-sidebar{max-height:none}.subject-hero{padding:22px 18px;display:block}.subject-hero h2{font-size:28px}.subject-hero-stats{margin-top:18px}.subject-overview-grid{grid-template-columns:1fr}.subject-summary,.subject-list{padding:18px}.subject-row{flex-wrap:wrap;align-items:flex-start}.subject-row .primary-btn{width:100%}.subject-tabs{gap:5px}.subject-tabs button{padding:7px 8px;font-size:9px}.topbar{gap:10px;height:62px;padding:0 14px}.breadcrumb{white-space:nowrap;gap:7px;min-width:0;overflow:hidden}.breadcrumb strong{text-overflow:ellipsis;overflow:hidden}.top-actions{gap:8px}.top-actions .icon-btn{display:none}.top-logout{padding:7px 8px}.top-logout span{display:none}.top-actions .avatar{flex:none}.content-wrap{padding:24px 14px 42px}.welcome-row{align-items:flex-start;gap:12px}.welcome-row h1{font-size:clamp(30px,9vw,40px)}.logged-role{white-space:nowrap;align-self:flex-start}.view-heading,.role-hero,.panel-heading{gap:16px}.view-heading{padding:22px 18px}.view-heading h2,.role-hero h2{font-size:28px}.view-heading .primary-btn,.view-heading .ghost-btn,.role-hero .primary-btn,.role-hero .ghost-btn{width:100%}.record-list{padding:6px 14px}.record-row{flex-wrap:wrap;align-items:flex-start;gap:10px}.record-row>div:nth-child(2){flex:calc(100% - 44px);min-width:0}.record-row>.primary-btn,.record-row>.text-btn,.record-row>.danger-btn{margin-left:40px}.result-group-heading{flex-direction:column;align-items:stretch}.result-group-heading .primary-btn{width:100%}.quiz-controls article{flex-wrap:wrap;align-items:flex-start}.quiz-controls article>span{flex:100%}.quiz-controls article button{min-height:36px}.admin-activity{grid-template-columns:1fr;gap:5px}.admin-user-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.admin-user-row>:nth-child(3),.admin-user-row>:nth-child(4){justify-self:start}.quiz-stage-card{padding:30px 18px}.quiz-stage-actions{flex-direction:column}.quiz-stage-actions button{width:100%}.grading-panel span{flex-direction:column;gap:8px;display:flex}.grading-panel span button{width:100%}}@media (width<=420px){.stats-grid,.role-cards,.admin-dashboard .role-cards{grid-template-columns:1fr}.heritage-line>span:nth-child(2){max-width:190px}.school-switcher{margin-bottom:22px}}.assignment-workspace .panel-heading{align-items:center;gap:12px;display:flex}.assignment-workspace .panel-heading>button:last-child{margin-left:auto}.assignment-detail,.assignment-submission{border-top:1px solid #edf0e8;padding:16px 0}.assignment-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.assignment-heading h3{color:var(--green);margin:0;font:500 20px Lora,Georgia,serif}.assignment-heading b{color:var(--ink);font-size:12px}.assignment-heading small,.assignment-submission>small{color:var(--muted);margin-top:5px;font-size:9px;display:block}.assignment-state{border-radius:20px;flex:none;padding:5px 9px;font-size:9px;font-weight:700}.assignment-state.open{color:#27634e;background:#e8f0e7}.assignment-state.closed{color:#8d473b;background:#f7eae5}.assignment-instructions{color:var(--muted);white-space:pre-wrap;margin:13px 0;font-size:11px;line-height:1.65}.assignment-file-link{color:var(--green);margin:0 0 10px;font-size:10px;font-weight:700;display:inline-block}.assignment-submissions-title{color:var(--green);margin:20px 0 4px;font:500 19px Lora,Georgia,serif}.assignment-submission label{color:#627169;gap:6px;margin-top:11px;font-size:10px;font-weight:700;display:grid}.assignment-submission input,.assignment-submission textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #dfe5dd;border-radius:4px;padding:10px}.assignment-submission .primary-btn{margin-top:11px}.assignment-note{color:var(--muted);font-size:10px;line-height:1.5}.assignment-row{align-items:center}.grade-kind{color:var(--green);text-transform:uppercase;vertical-align:middle;background:#e8f0e7;border-radius:3px;margin-left:6px;padding:2px 5px;font-size:8px;display:inline-block}.admin-user-row{grid-template-columns:minmax(130px,1fr) auto auto minmax(120px,auto) auto auto}.admin-student-class-field{color:var(--muted);gap:4px;font-size:9px;display:grid}.admin-student-class-field select{max-width:190px;min-height:34px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;padding:6px}.admin-class-tutors{border-top:1px solid #edf0e8;gap:10px;margin-top:20px;padding-top:16px;display:grid}.admin-class-tutors>div b,.admin-class-tutors>div small{display:block}.admin-class-tutors>div b{color:var(--green);font-size:11px}.admin-class-tutors>div small{color:var(--muted);margin-top:4px;font-size:9px}.admin-class-tutors fieldset{border:1px solid #e3e5db;border-radius:4px;flex-wrap:wrap;gap:8px 14px;margin:0;padding:9px;display:flex}.admin-class-tutors legend{color:var(--ink);padding:0 5px;font-size:10px;font-weight:700}.admin-class-tutors label{color:var(--muted);align-items:center;gap:5px;font-size:9px;display:flex}.admin-class-tutors input{accent-color:var(--green)}.admin-class-edit{grid-template-columns:1fr 1fr auto;align-items:end;gap:8px;width:100%;display:grid}.admin-class-edit label{color:var(--muted);gap:4px;font-size:9px;display:grid}.admin-class-edit input{min-width:0;min-height:32px;font:inherit;border:1px solid #dfe5dd;border-radius:4px;padding:6px}.admin-class-edit>span,.admin-class-actions{align-items:center;gap:6px;display:flex}.school-logo{object-fit:contain;max-height:60px}.platform-school-switcher{text-align:left;cursor:pointer;border:0;width:100%}.platform-school-switcher:disabled{cursor:default}.platform-school-switcher>span:nth-child(2){min-width:0}.platform-school-switcher b,.platform-school-switcher small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.platform-schools{color:var(--ink)}.platform-school-layout{grid-template-columns:minmax(250px,.85fr) minmax(0,1.5fr);align-items:start;gap:18px;display:grid}.platform-school-form-panel,.platform-school-list{min-width:0;padding:22px}.platform-school-form-panel h3{margin:6px 0 18px;font:500 20px Lora,Georgia,serif}.platform-school-form{gap:13px;display:grid}.platform-school-form>label,.platform-color-fields label{color:var(--muted);gap:6px;font-size:10px;font-weight:700;display:grid}.platform-school-form input:not([type=color]):not([type=file]),.platform-school-form select{min-width:0;min-height:37px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dfe5dd;border-radius:4px;padding:8px}.platform-school-form input[type=file]{max-width:100%;color:var(--muted);font-size:10px}.platform-color-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.platform-color-fields input{background:#fff;border:1px solid #dfe5dd;border-radius:4px;width:100%;height:34px;padding:2px}.platform-logo-selected{color:var(--muted);font-size:9px}.platform-brand-preview{border:1px solid #e3e5db;border-left:4px solid var(--green);background:#faf9f4;border-radius:4px;align-items:center;gap:10px;min-height:68px;padding:12px;display:flex}.platform-brand-preview.heritage{background:#f4efe4}.platform-brand-preview>img,.platform-brand-monogram{object-fit:contain;border-radius:4px;place-items:center;width:38px;height:38px;display:grid}.platform-brand-monogram{color:#fff;background:var(--green);font-size:11px;font-weight:700}.platform-brand-preview>span:nth-child(2){gap:3px;min-width:0;display:grid}.platform-brand-preview b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.platform-brand-preview small{color:var(--muted);font-size:9px}.platform-brand-preview>i{border-radius:50%;width:12px;height:12px;margin-left:auto}.platform-school-form-actions{justify-content:flex-end;gap:8px;display:flex}.platform-school-list .panel-heading{margin-bottom:10px}.platform-school-row{border-top:1px solid #edf0e8;grid-template-columns:38px minmax(100px,1fr) auto auto auto;align-items:center;gap:10px;padding:13px 0;display:grid}.platform-school-logo{object-fit:contain;border-radius:4px;width:36px;height:36px}.platform-school-monogram{color:var(--green);background:#e8f0e7;place-items:center;font-size:10px;font-weight:700;display:grid}.platform-school-info{gap:4px;min-width:0;display:grid}.platform-school-info>b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.platform-school-info>small{color:var(--muted);text-transform:capitalize;font-size:9px}.platform-school-colors{gap:4px;display:flex}.platform-school-colors i{border-radius:50%;width:9px;height:9px}.auth-school-logo{object-fit:contain;max-width:min(240px,100%);max-height:80px;width:auto!important}.auth-screen[data-theme=heritage] .welcome-content{background:linear-gradient(110deg,#f4efe4,#faf9f4)}@media (width<=900px){.platform-school-layout{grid-template-columns:1fr}}@media (width<=700px){.platform-school-form-panel,.platform-school-list{padding:16px}.platform-school-row{grid-template-columns:36px minmax(90px,1fr) auto}.platform-school-row .status{justify-self:end}.platform-school-row>button{grid-row:2}.platform-school-row>button:nth-last-child(3){grid-column:1/2}.platform-school-row>button:nth-last-child(2){grid-column:2/3}.platform-school-row>button:last-child{grid-column:3/4}}.app-shell[data-theme=heritage] .sidebar{background:color-mix(in srgb, var(--green), #241b14 32%)}.app-shell .nav-item:hover,.app-shell .nav-item.active{background:color-mix(in srgb, var(--green), white 22%)}.app-shell .nav-item.active span{color:var(--gold)}.app-shell .school-avatar,.app-shell .avatar.dark{background:var(--gold);color:var(--green)}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%}.profile-photo-control{align-items:center;gap:12px;margin:12px 0;display:flex}.profile-photo-preview{border:2px solid var(--line);width:76px;height:76px;color:var(--green);background:#edf1e9;border-radius:50%;flex:none;place-items:center;font-size:23px;display:grid;overflow:hidden}.profile-photo-preview img{object-fit:cover;width:100%;height:100%}.profile-photo-actions{flex-wrap:wrap;align-items:center;gap:7px 10px;display:flex}.profile-photo-select{cursor:pointer;align-items:center;display:inline-flex;position:relative}.profile-photo-select input{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.profile-photo-select:focus-within{outline:2px solid var(--green);outline-offset:3px}.profile-photo-control .primary-btn{padding:8px 11px;font-size:9px}.profile-photo-message{color:var(--red);flex-basis:100%;font-size:9px}.profile-photo-control.compact{gap:7px;margin:8px 0 0}.profile-photo-control.compact .profile-photo-preview{border-width:1px;width:34px;height:34px;font-size:13px}.profile-photo-control.compact .profile-photo-actions{gap:4px 8px}.profile-photo-control.compact .primary-btn,.profile-photo-control.compact .text-btn{padding:3px 0;font-size:8px}.profile-photo-control.compact .profile-photo-message{font-size:8px}.admin-user-identity{min-width:0}.utility-panel .profile-photo-control{margin:15px 0 20px}.utility-panel .setting-row{padding-bottom:3px}@media (width<=700px){.profile-photo-control{align-items:flex-start}.profile-photo-control.compact{flex-wrap:wrap}.profile-photo-control.compact .profile-photo-actions{flex:1}.assignment-workspace{padding:18px}.assignment-row,.assignment-heading{align-items:flex-start}}.hr-tabs{gap:7px;margin:14px 0;padding-bottom:5px;display:flex;overflow-x:auto}.hr-tabs button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;flex:none;padding:9px 13px;font-size:10px}.hr-tabs button.active{border-color:var(--green);background:var(--green);color:#fff}.hr-directory{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px;margin:12px 0;display:grid}.hr-directory .record-row{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:5px;justify-content:space-between;gap:8px;width:100%;display:flex}.hr-directory .record-row.active{border-color:var(--green);background:#f0f5f2}.hr-directory .record-row b,.hr-directory .record-row small{display:block}.hr-directory .record-row small{color:var(--muted);margin-top:4px}.hr-profile-form{border:1px solid var(--line);border-radius:5px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;padding:15px}.hr-profile-form h3{color:var(--green);grid-column:1/-1;margin:0}.hr-profile-form .primary-btn{justify-self:start}.hr-leave-row{border-top:1px solid #edf0e8;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px 0;display:grid}.hr-leave-row b,.hr-leave-row small{display:block}.hr-leave-row small{color:var(--muted);margin-top:4px}.hr-leave-row .danger-btn,.hr-leave-row .primary-btn{margin:3px}.hr-attendance-list{gap:7px;margin:14px 0;display:grid}.hr-attendance-row{border-bottom:1px solid #edf0e8;grid-template-columns:minmax(130px,1fr) minmax(120px,.7fr) minmax(150px,1.4fr);align-items:center;gap:10px;padding:8px 0;font-size:11px;display:grid}.hr-attendance-row select,.hr-attendance-row input,.hr-department-edit input{border:1px solid var(--line);min-width:0;color:var(--ink);font:inherit;background:#fff;border-radius:4px;padding:8px}.hr-department-edit{flex:1;align-items:center;gap:8px;display:flex}.hr-department-edit input{flex:1}@media (width<=700px){.hr-leave-row{grid-template-columns:1fr auto}.hr-leave-row>div:last-child{grid-column:1/-1}.hr-attendance-row{grid-template-columns:1fr 1fr}.hr-attendance-row input{grid-column:1/-1}}.staff-home-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.staff-home-grid,.hr-communications-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:14px;display:grid}.staff-home-card{min-width:0;padding:18px}.staff-home-card h3{color:var(--green);margin:0 0 8px}.staff-home-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.staff-home-card .panel-heading{margin-bottom:10px}.staff-home-card .record-list{margin-top:8px}.staff-task-row,.staff-announcement-row{border-top:1px solid #edf0e8;gap:7px;padding:13px 0;display:grid}.staff-task-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.staff-task-row b,.staff-task-row small,.staff-announcement-row b,.staff-announcement-row small{display:block}.staff-task-row small,.staff-announcement-row small{color:var(--muted);margin-top:4px;line-height:1.5}.staff-task-row select{border:1px solid var(--line);max-width:150px;color:var(--ink);font:inherit;background:#fff;border-radius:5px;padding:8px}.staff-announcement-row p,.school-announcement-row p{color:var(--muted);white-space:pre-wrap;margin:5px 0 0;line-height:1.6}.school-announcements-panel{margin-bottom:14px;padding:18px}.school-announcement-row{border-top:1px solid #edf0e8;padding:13px 0}.school-announcement-row>*{display:block}.school-announcement-row small{color:var(--muted);margin-bottom:5px}.hr-communications-grid .admin-invite-form{margin-bottom:18px}.hr-communications-grid .hr-checkbox{align-items:center;gap:8px;display:flex}.hr-communications-grid .hr-checkbox input{width:auto}.hr-communications-grid select[multiple]{min-height:90px}@media (width<=760px){.staff-home-summary,.staff-home-grid,.hr-communications-grid,.staff-task-row{grid-template-columns:1fr}.staff-task-row select{width:100%;max-width:none}}.staff-tasks-workspace{gap:14px;display:grid}.staff-tasks-layout{grid-template-columns:minmax(250px,.7fr) minmax(0,1.6fr);align-items:start;gap:14px;display:grid}.staff-task-list,.staff-task-detail{min-width:0;padding:18px}.staff-task-filters{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.staff-task-filters button{border:1px solid var(--line);color:var(--muted);font:inherit;cursor:pointer;background:#fff;border-radius:20px;padding:6px 10px;font-size:10px}.staff-task-filters button.active{border-color:var(--green);background:var(--green);color:#fff}.staff-task-list-items{gap:7px;display:grid}.staff-task-choice{border:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:6px;gap:8px;padding:12px;display:grid}.staff-task-choice.active{border-color:var(--green);background:#f3f6fb}.staff-task-choice-heading,.staff-task-detail-heading,.staff-task-section-heading,.staff-task-history-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.staff-task-choice-heading b{overflow-wrap:anywhere}.staff-task-choice small,.staff-task-section-heading small,.staff-task-template small{color:var(--muted);font-size:10px}.staff-task-detail-heading{align-items:flex-start}.staff-task-detail-heading h2{color:var(--green);margin:5px 0 0}.staff-task-detail-heading .eyebrow{margin-left:0}.staff-task-section{border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.staff-task-section h3,.staff-review-detail h3{color:var(--green);margin:0;font-size:14px}.staff-task-description{color:var(--muted);white-space:pre-wrap;margin:9px 0 0;line-height:1.65}.staff-task-template{border:1px solid var(--line);background:#f7f9fd;border-radius:6px;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:12px;display:flex}.staff-task-template b,.staff-task-template small{display:block}.staff-task-template small{margin-top:4px}.staff-task-checklist{gap:8px;margin-top:12px;display:grid}.staff-task-checklist label{color:var(--ink);align-items:center;gap:9px;font-size:11px;display:flex}.staff-task-checklist input{accent-color:var(--green)}.staff-task-inline-form{gap:8px;margin-top:10px;display:flex}.staff-task-inline-form input{border:1px solid var(--line);min-width:0;font:inherit;border-radius:5px;flex:1;padding:9px 10px}.staff-task-submit-form{gap:11px;margin-top:12px;display:grid}.staff-task-submit-form label,.staff-review-note{color:var(--muted);gap:6px;font-size:10px;display:grid}.staff-task-submit-form textarea,.staff-review-note textarea{resize:vertical;border:1px solid var(--line);min-height:90px;font:inherit;border-radius:5px;padding:10px}.staff-task-submit-form input[type=file]{border:1px dashed var(--line);background:#f7f9fd;border-radius:5px;padding:8px}.staff-task-submit-form .primary-btn{justify-self:start}.staff-task-review-note{border-left:3px solid var(--gold);color:var(--ink);background:#fffaf0;border-radius:4px;margin-top:16px;padding:12px}.staff-task-review-note p{color:var(--muted);white-space:pre-wrap;margin:6px 0 0}.staff-task-history,.staff-task-comments{gap:8px;margin-top:11px;display:grid}.staff-task-history>article,.staff-task-comments>article{border:1px solid var(--line);background:#fff;border-radius:5px;padding:11px}.staff-task-history>article p,.staff-task-comments>article p{color:var(--muted);white-space:pre-wrap;margin:7px 0;line-height:1.55}.staff-task-history>article small,.staff-task-comments>article small{color:var(--muted);margin-top:4px;display:block}.staff-task-comments>article b{display:block}.staff-task-progress-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:end;gap:12px;margin-top:18px;padding-top:15px;display:flex}.staff-task-progress-actions label{color:var(--muted);gap:5px;font-size:10px;display:grid}.staff-task-progress-actions select{border:1px solid var(--line);min-width:150px;color:var(--ink);background:#fff;border-radius:5px;padding:8px}.staff-task-progress-actions small{color:var(--muted)}.staff-review-workspace{border:1px solid var(--line);background:#fff;border-radius:7px;grid-column:1/-1;min-width:0;padding:18px}.staff-review-layout{grid-template-columns:minmax(200px,.7fr) minmax(0,1.5fr);gap:16px;display:grid}.staff-review-list{align-content:start;gap:7px;display:grid}.staff-review-choice{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fff;border-radius:5px;gap:4px;padding:11px;display:grid}.staff-review-choice.active{border-color:var(--green);background:#f3f6fb}.staff-review-choice span,.staff-review-choice small{color:var(--muted)}.staff-review-detail{border:1px solid var(--line);border-radius:6px;min-width:0;padding:15px}.staff-review-detail .eyebrow{margin-left:0}.staff-review-submission{background:#f7f9fd;border-radius:5px;margin:13px 0;padding:12px}.staff-review-submission p{color:var(--muted);white-space:pre-wrap}.staff-review-checklist{color:var(--muted);font-size:10px}.staff-review-note{margin-top:14px}.staff-review-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}@media (width<=760px){.staff-tasks-layout,.staff-review-layout{grid-template-columns:1fr}.staff-task-detail-heading{flex-direction:column}}
