@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wdth,wght@12..96,75..100,500..800&family=DM+Sans:wght@400;500;600;700&display=swap";.pwa-notices{z-index:1100;right:max(16px, env(safe-area-inset-right));bottom:max(20px, env(safe-area-inset-bottom));gap:10px;width:min(350px,100vw - 32px);display:grid;position:fixed}.pwa-notice{color:#17324d;background:#fff;border:1px solid #dce4ed;border-radius:14px;padding:18px;font-size:13px;position:relative;box-shadow:0 8px 30px #17324d24}.pwa-notice strong{padding-right:20px;font-size:14px;display:block}.pwa-notice p{color:#526277;margin:8px 0 12px;line-height:1.5}.pwa-notice p:last-child{margin-bottom:0}.pwa-notice button{color:#fff;font:inherit;cursor:pointer;background:#17324d;border:0;border-radius:8px;min-height:44px;padding:9px 14px;font-weight:600}.pwa-notice button:focus-visible{outline-offset:3px;outline:3px solid #dcae47}.pwa-notice button:disabled{opacity:.6;cursor:wait}.pwa-notice .pwa-dismiss{color:#526277;background:0 0;width:44px;padding:0;font-size:22px;position:absolute;top:4px;right:4px}@media (width<=760px){.pwa-notices{bottom:calc(86px + env(safe-area-inset-bottom))}}.feedback-dialog{color:#24334a;background:#fff;border:1px solid #dce3eb;border-radius:18px;width:min(700px,100vw - 24px);max-height:90dvh;padding:0;box-shadow:0 24px 80px #172b4d33}.feedback-dialog::backdrop{background:#172b4d80}.feedback-header{border-bottom:1px solid #e5eaf0;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px;display:flex}.feedback-header h2{margin:0 0 8px;font-size:22px}.feedback-header p{color:#56647a;margin:0;font-size:14px}.feedback-body{padding:24px}.feedback-form{gap:18px;margin-top:20px;display:grid}.feedback-form label{gap:8px;font-size:14px;font-weight:600;display:grid}.feedback-form input,.feedback-form select,.feedback-form textarea{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:#fff;border:1px solid #cbd4e0;border-radius:9px;padding:12px}.feedback-form textarea{resize:vertical}.feedback-toolbar,.feedback-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.feedback-toolbar{margin-bottom:12px}.feedback-list{gap:10px;display:grid}.feedback-list>button{text-align:left;width:100%;color:inherit;cursor:pointer;background:#f7f9fc;border:1px solid #e0e6ef;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.feedback-list strong,.feedback-list small,.feedback-thread small{overflow-wrap:anywhere;display:block}.feedback-list small,.feedback-detail small{color:#56647a;margin-top:6px}.feedback-status{white-space:nowrap;background:#edf2fa;border-radius:6px;padding:5px 10px;font-size:12px}.feedback-detail{margin-top:24px}.feedback-detail h3{overflow-wrap:anywhere}.feedback-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.feedback-thread article{border-top:1px solid #e0e6ef;padding:16px 0}.feedback-error{color:#9c3324;background:#fff0ed;border-radius:8px;margin:16px 0;padding:14px}.feedback-readonly{color:#56647a;font-size:14px}.feedback-menu-button{width:100%;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.feedback-menu-button:hover{background:#ffffff18}.feedback-dialog button:focus-visible,.feedback-dialog input:focus-visible,.feedback-dialog textarea:focus-visible,.feedback-dialog select:focus-visible{outline-offset:3px;outline:2px solid #285de5}@media (width<=480px){.feedback-header,.feedback-body{padding:18px}.feedback-header h2{font-size:19px}.feedback-list>button{align-items:flex-start}}:root{color:#17324d;font-synthesis:none;--ink:#17324d;--blue:#316be8;--blue-soft:#e7efff;--coral:#e86f61;--coral-soft:#fce9e5;--green:#2d9b75;--green-soft:#e2f4ed;--gold:#e3aa31;--gold-soft:#fff4d7;--paper:#fff;--muted:#6f8092;--line:#dfe7ef;--shadow:0 14px 38px #1f375214;background:#f4f7fb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #316be840}h1,h2,p{margin-top:0}h1,h2,.brand{font-family:Bricolage Grotesque,sans-serif}button{cursor:pointer}.login-shell{background:radial-gradient(circle at 12% 15%,#e8f0ff 0,transparent 33%),var(--ink);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-panel{background:#fff;border-radius:22px;flex-direction:column;justify-content:center;width:100%;max-width:480px;padding:clamp(34px,6vw,56px);display:flex;box-shadow:0 25px 50px -12px #00000059}.login-brand{align-items:center;margin-bottom:54px;display:flex}.brand-logo{width:auto;max-width:100%;height:32px;display:block}.login-brand .brand-logo{height:42px}.login-panel h1{letter-spacing:-2px;margin-bottom:10px;font-size:clamp(35px,5vw,53px);line-height:1}.login-copy{max-width:410px;color:var(--muted);margin-bottom:29px;font-size:13px;line-height:1.6}.login-panel form{gap:15px;display:grid}.login-panel label{gap:7px;display:grid}.login-panel label span{font-size:11px;font-weight:800}.login-panel input{width:100%;color:var(--ink);background:#fbfcfd;border:1px solid #d7e1e9;border-radius:11px;padding:13px 14px}.login-submit{width:100%;margin-top:3px;padding:13px 17px}.login-error{background:var(--coral-soft);color:#b74d42;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:11px;line-height:1.45;display:flex}.login-error svg{flex:none}.demo-accounts{color:#fff;align-self:center;margin:36px}.demo-accounts .eyebrow{color:#f0bd3e}.demo-accounts h2{margin-bottom:8px;font-size:31px}.demo-accounts>p:not(.eyebrow){color:#aebdca;margin-bottom:24px;font-size:12px;line-height:1.55}.demo-accounts>div{gap:9px;display:grid}.demo-accounts>div>button{color:#fff;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;align-items:center;gap:11px;width:100%;padding:11px;display:flex}.demo-accounts>div>button:hover{background:#ffffff1a;border-color:#ffffff47}.demo-accounts>div>button>span:nth-child(2){flex:1;min-width:0}.demo-accounts strong,.demo-accounts small,.demo-accounts code{display:block}.demo-accounts strong{font-size:12px}.demo-accounts small{color:#9fb1c1;margin-top:3px;font-size:10px}.demo-accounts code{color:#f0bd3e;margin-top:5px;font-size:9px}.demo-accounts .avatar{color:#fff;background:#466279}.demo-warning{color:#8297a9;margin-top:17px;font-size:9px;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--ink);color:#eff5fa;z-index:30;flex-direction:column;flex:0 0 252px;width:252px;min-height:100vh;padding:27px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;padding:0 8px;display:flex}.sidebar .brand-logo{height:34px}.school-chip{background:#ffffff0e;border:1px solid #ffffff1a;border-radius:13px;align-items:center;gap:10px;margin-top:30px;padding:11px 10px;display:flex}.school-chip>div,.profile>div{flex:1;min-width:0}.school-chip strong,.profile strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.school-chip span,.profile span{color:#9fb1c1;margin-top:3px;font-size:11px;display:block}.avatar{width:38px;height:38px;color:var(--ink);background:#dce8f4;border:0;border-radius:12px;flex:none;place-items:center;font-size:12px;font-weight:700;display:inline-grid}.avatar.small{color:#fff;background:#466279;border-radius:9px;width:33px;height:33px}.sidebar nav{gap:5px;margin-top:30px;display:grid}.nav-label{color:#7f96a9;text-transform:uppercase;letter-spacing:1.5px;padding:0 11px 9px;font-size:10px;font-weight:700}.sidebar nav button{color:#aebdca;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;padding:11px 12px;font-size:14px;display:flex}.sidebar nav button span{flex:1}.sidebar nav button b{color:var(--ink);background:#f0bd3e;border-radius:7px;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.sidebar nav button:hover{color:#fff;background:#ffffff0d}.sidebar nav button.active{color:var(--ink);background:#f6f9fc;font-weight:700}.sidebar-bottom{margin-top:auto}.parent-preview{color:#fff;text-align:left;background:#ffffff0d;border:1px solid #ffffff1c;border-radius:13px;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.parent-preview>span:nth-child(2){flex:1}.parent-preview strong,.parent-preview small{display:block}.parent-preview strong{font-size:12px}.parent-preview small{color:#95a9ba;margin-top:3px;font-size:10px}.preview-icon{background:#2f526d;border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.profile{border-top:1px solid #ffffff17;align-items:center;gap:9px;margin-top:16px;padding:18px 4px 0;display:flex}.profile button{color:#9fb1c1;background:0 0;border:0}.main-stage{width:calc(100% - 252px);min-width:0;margin-left:252px}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#ffffffd4;align-items:center;height:70px;padding:0 34px;display:flex;position:sticky;top:0}.search{color:#789;background:#f2f5f8;border:1px solid #0000;border-radius:11px;align-items:center;gap:9px;width:min(420px,45vw);height:40px;padding:0 12px;display:flex}.search:focus-within{background:#fff;border-color:#aac5ff}.search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1}.search kbd{background:#fff;border:1px solid #d7e0e8;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-family:inherit;font-size:11px}.top-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:38px;height:38px;display:inline-grid}.notification{position:relative}.notification i{background:var(--coral);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.menu-button{margin-right:10px;display:none}.primary-button,.secondary-button,.filter-button,.text-button{border-radius:10px;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.primary-button{background:var(--blue);color:#fff;border:0;padding:11px 17px;box-shadow:0 7px 16px #316be82e}.primary-button:hover{background:#245dcc}.primary-button.compact{padding:9px 14px}.secondary-button,.filter-button{color:var(--ink);border:1px solid var(--line);background:#fff;padding:10px 14px}.text-button{color:var(--blue);background:0 0;border:0;padding:6px}.page{max-width:1540px;margin:0 auto;padding:34px clamp(24px,4vw,54px) 60px}.welcome-row,.page-title{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.eyebrow{text-transform:uppercase;color:var(--blue);letter-spacing:1.5px;margin-bottom:8px;font-size:10px;font-weight:800}.welcome-row h1,.page-title h1{letter-spacing:-1.4px;margin-bottom:9px;font-size:clamp(29px,3vw,41px);line-height:1.05}.welcome-row>div>p:last-child,.page-title>div>p:last-child{color:var(--muted);margin-bottom:0}.deadline-strip{background:var(--ink);color:#fff;min-height:84px;box-shadow:var(--shadow);border-radius:16px;align-items:stretch;gap:5px;margin-top:30px;padding:12px 14px 12px 20px;display:flex}.strip-title{color:#c4d1dc;border-right:1px solid #ffffff1a;align-items:center;gap:10px;width:146px;margin-right:4px;font-size:12px;display:flex}.day{text-align:center;color:#9eb0c0;border-radius:10px;place-content:center;width:56px;display:grid;position:relative}.day span{font-size:10px}.day strong{color:#dbe4ec;margin-top:2px;font-size:17px}.day.today{color:var(--blue);background:#fff}.day.today strong{color:var(--ink)}.day i{width:19px;height:19px;color:var(--ink);background:#f0bd3e;border-radius:7px;font:700 10px/19px DM Sans;position:absolute;top:-5px;right:-5px}.week-note{border-left:1px solid #ffffff1a;align-items:center;gap:11px;margin-left:auto;padding:0 8px 0 18px;display:flex}.week-note strong,.week-note span{display:block}.week-note strong{font-size:12px}.week-note span:not(.mini-stamp){color:#8ea4b6;margin-top:3px;font-size:10px}.mini-stamp{color:#f0bd3e;border:2px solid #f0bd3e;border-radius:50%;place-items:center;width:34px;height:34px;font:800 15px Bricolage Grotesque;transform:rotate(-5deg);display:grid!important}.stat-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;display:grid}.stat-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:15px;align-items:center;gap:13px;padding:17px;display:flex;box-shadow:0 5px 18px #1f375209}.stat-card>div{flex:1;display:grid}.stat-card strong{font:800 25px/1 Bricolage Grotesque}.stat-card span:not(.stat-icon){margin-top:4px;font-size:12px;font-weight:700}.stat-card small{color:var(--muted);margin-top:4px}.stat-icon,.action-icon{border-radius:11px;place-items:center;width:39px;height:39px;display:grid}.blue{background-color:var(--blue-soft)!important;color:var(--blue)!important}.coral{background-color:var(--coral-soft)!important;color:var(--coral)!important}.green{background-color:var(--green-soft)!important;color:var(--green)!important}.gold{background-color:var(--gold-soft)!important;color:var(--gold)!important}.content-grid{grid-template-columns:minmax(0,1.8fr) minmax(280px,.75fr);gap:18px;margin-top:18px;display:grid}.panel{border:1px solid var(--line);background:#fff;border-radius:16px;box-shadow:0 5px 18px #1f375209}.panel-head{justify-content:space-between;align-items:center;padding:20px 21px 16px;display:flex}.panel-head h2{letter-spacing:-.3px;margin:0;font-size:20px}.panel-head .eyebrow{margin-bottom:5px}.assignment-row{border-top:1px solid #edf1f5;grid-template-columns:54px minmax(180px,1fr) 130px 135px 38px;align-items:center;gap:14px;padding:14px 18px;display:grid}.subject-tile{border-radius:12px;place-items:center;width:50px;height:54px;display:grid}.subject-tile span{font-size:9px;font-weight:800}.assignment-copy{min-width:0}.assignment-copy span,.assignment-copy strong,.assignment-copy small{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.assignment-copy .subject-label{color:var(--blue);text-transform:uppercase;letter-spacing:.7px;font-size:10px;font-weight:800}.assignment-copy strong{margin-top:5px;font-size:14px}.assignment-copy small{color:var(--muted);margin-top:4px}.progress-block>span{color:var(--muted);font-size:11px}.progress-block>span strong{color:var(--ink)}.progress{background:#e8edf2;border-radius:99px;height:5px;margin-top:8px;overflow:hidden}.progress i{border-radius:inherit;background:var(--blue);height:100%;display:block}.due{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.action-panel{padding-bottom:8px}.action-item{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:11px;width:calc(100% - 24px);margin:0 12px 8px;padding:11px 9px;display:flex}.action-item:hover{background:#f7f9fb}.action-item>span:nth-child(2){flex:1}.action-item strong,.action-item small{display:block}.action-item strong{font-size:12px}.action-item small{color:var(--muted);margin-top:4px;font-size:10px}.page-title{margin-bottom:28px}.toolbar{gap:10px;margin-bottom:15px;display:flex}.search.inline{border-color:var(--line);background:#fff}.assignment-table{overflow:hidden}.table-head,.table-row{grid-template-columns:minmax(260px,1.5fr) minmax(140px,.7fr) minmax(150px,.75fr) 80px 38px;align-items:center;gap:16px;padding:14px 18px;display:grid}.table-head{color:var(--muted);text-transform:uppercase;letter-spacing:1px;background:#f8fafc;font-size:10px;font-weight:800}.table-row{border-top:1px solid #edf1f5;font-size:12px}.assignment-table-row{cursor:pointer;transition:background .16s,box-shadow .16s}.assignment-table-row:hover{box-shadow:inset 3px 0 0 var(--blue);background:#f4f7ff}.assignment-table-row:focus-visible{z-index:1;outline-offset:-3px;background:#f4f7ff;outline:3px solid #316be840;position:relative}.table-open-icon{border:1px solid var(--line);background:#fff;border-radius:10px;place-items:center;width:38px;height:38px;display:inline-grid}.table-row>div:first-child{align-items:center;gap:11px;min-width:0;display:flex}.table-row strong,.table-row small{display:block}.table-row small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;overflow:hidden}.dot{border-radius:4px;flex:none;width:10px;height:10px;padding:0!important}.status{border-radius:7px;padding:5px 8px;font-size:10px}.active-status{background:var(--green-soft);color:var(--green)}.back-button{width:fit-content;color:var(--blue);background:0 0;border:0;align-items:center;gap:7px;margin:-6px 0 17px;padding:7px 0;font-size:12px;font-weight:800;display:inline-flex}.assignment-cover{background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:18px;grid-template-columns:minmax(0,1fr) minmax(260px,330px);display:grid;overflow:hidden}.assignment-cover-copy{background:radial-gradient(circle at 100% 0,#316be847,#0000 42%);min-width:0;padding:clamp(25px,4vw,42px)}.cover-subject{border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:8px 11px;font-size:11px;font-weight:800;display:inline-flex}.detail-kicker{color:#a9bdcd;letter-spacing:1.2px;text-transform:uppercase;margin:25px 0 8px;font-size:10px;font-weight:800}.assignment-cover h1{letter-spacing:-1.7px;max-width:760px;margin:0;font-size:clamp(30px,4vw,50px);line-height:.98}.assignment-description{color:#bfd0dd;max-width:680px;margin:14px 0 0;font-size:12px;line-height:1.6}.cover-meta{flex-wrap:wrap;gap:26px;margin-top:28px;display:flex}.cover-meta>span{grid-template-columns:20px 1fr;align-items:center;column-gap:7px;min-width:180px;display:grid}.cover-meta svg{color:#f0bd3e;grid-row:1/3}.cover-meta small{color:#8fa6b8;text-transform:uppercase;letter-spacing:.9px;font-size:9px}.cover-meta strong{color:#fff;white-space:normal;margin-top:3px;font-size:11px}.assignment-actions{color:var(--ink);background:#fff;flex-direction:column;justify-content:center;padding:27px;display:flex}.assignment-actions>span{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:10px;font-weight:800}.assignment-actions>strong{margin-top:10px;font:800 25px Bricolage Grotesque}.assignment-actions .progress{height:7px;margin-top:13px}.assignment-actions p{color:var(--muted);margin:10px 0 21px;font-size:11px;line-height:1.45}.assignment-actions>div:last-child{grid-template-columns:1fr 1fr;gap:8px;display:grid}.assignment-actions .secondary-button{padding-inline:10px;font-size:11px}.detail-status-strip{border:1px solid var(--line);background:var(--line);border-radius:15px;grid-template-columns:repeat(4,1fr);gap:1px;margin:15px 0;display:grid;overflow:hidden;box-shadow:0 5px 18px #1f375209}.detail-status-strip>div{background:#fff;align-items:center;gap:11px;min-width:0;padding:17px 18px;display:flex}.detail-status-strip i{background:#a8b4c0;border-radius:99px;flex:none;width:9px;height:30px}.detail-status-strip .waiting i{background:var(--blue)}.detail-status-strip .correction i{background:var(--coral)}.detail-status-strip .accepted i{background:var(--green)}.detail-status-strip strong,.detail-status-strip small{display:block}.detail-status-strip strong{font:800 23px/1 Bricolage Grotesque}.detail-status-strip small{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:9px}.roster-panel{overflow:hidden}.roster-count{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}.roster-head,.roster-row{grid-template-columns:minmax(210px,1.2fr) minmax(120px,.65fr) minmax(155px,.75fr) minmax(135px,.65fr) 90px;align-items:center;gap:15px;padding:13px 20px;display:grid}.roster-head{color:var(--muted);letter-spacing:1px;text-transform:uppercase;background:#f8fafc;font-size:9px;font-weight:800}.roster-row{border-top:1px solid #edf1f5;font-size:11px}.roster-row.is-clickable{cursor:pointer;transition:background .16s,box-shadow .16s}.roster-row.is-clickable:hover{box-shadow:inset 3px 0 0 var(--blue);background:#f4f7ff}.roster-row.is-clickable:focus-visible{z-index:1;outline-offset:-3px;background:#f4f7ff;outline:3px solid #316be840;position:relative}.roster-row>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.roster-row>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.roster-row>span{color:var(--muted)}.detail-status{background:var(--blue-soft);width:fit-content;color:var(--blue);white-space:nowrap;border-radius:8px;padding:6px 9px;font-size:9px}.detail-status.correction{background:var(--coral-soft);color:var(--coral)}.detail-status.accepted{background:var(--green-soft);color:var(--green)}.detail-status.not-submitted{color:#667889;background:#edf1f4}.roster-action{color:var(--blue);white-space:nowrap;justify-self:end;align-items:center;gap:4px;font-size:10px;font-weight:800;display:inline-flex}.no-action{justify-self:center}.student-overview{border:1px solid var(--line);background:#fff;border-radius:15px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:15px;display:grid;overflow:hidden;box-shadow:0 5px 18px #1f375209}.student-overview>div{border-left:1px solid var(--line);align-items:baseline;gap:8px;padding:15px 19px;display:flex}.student-overview>div:first-child{border-left:0}.student-overview strong{color:var(--blue);font:800 25px Bricolage Grotesque}.student-overview span{color:var(--muted);font-size:10px;font-weight:700}.student-toolbar{gap:10px;margin-bottom:15px;display:flex}.student-toolbar .search{border-color:var(--line);background:#fff;width:min(480px,100%)}.student-toolbar select{appearance:auto;margin-left:auto}.student-workspace{grid-template-columns:minmax(290px,350px) minmax(0,1fr);align-items:start;gap:15px;display:grid}.student-directory{overflow:hidden}.student-directory-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:52px;padding:0 16px;display:flex}.student-directory-head strong{font-size:12px}.student-directory-head span{color:var(--muted);font-size:9px}.student-directory-list{max-height:620px;overflow-y:auto}.student-directory-item{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:38px minmax(0,1fr) auto 17px;align-items:center;gap:10px;width:100%;min-height:70px;padding:11px 13px;display:grid}.student-directory-item:hover{background:#f7f9fc}.student-directory-item.selected{box-shadow:inset 3px 0 0 var(--blue);background:#edf3ff}.student-directory-copy{min-width:0}.student-directory-copy strong,.student-directory-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-directory-copy strong{font-size:11px}.student-directory-copy small{color:var(--muted);margin-top:4px;font-size:9px}.student-pulse{gap:4px;display:flex}.student-pulse i{color:#728394;background:#edf1f4;border-radius:7px;place-items:center;min-width:20px;height:20px;font:800 9px DM Sans;display:grid}.student-pulse .waiting{background:var(--blue-soft);color:var(--blue)}.student-pulse .correction{background:var(--coral-soft);color:var(--coral)}.student-pulse .accepted{background:var(--green-soft);color:var(--green)}.student-empty,.student-history-empty{min-height:210px;color:var(--muted);text-align:center;place-content:center;justify-items:center;gap:8px;padding:28px;display:grid}.student-empty strong,.student-history-empty strong{color:var(--ink);font-size:12px}.student-empty span,.student-history-empty span{max-width:280px;font-size:10px;line-height:1.5}.student-detail{min-width:0;overflow:hidden}.student-profile-head{border-bottom:1px solid var(--line);background:radial-gradient(circle at 92% 0,var(--blue-soft),transparent 42%);align-items:center;gap:13px;min-height:105px;padding:20px;display:flex}.student-profile-head>div{flex:1;min-width:0}.student-profile-head .eyebrow{margin-bottom:4px}.student-profile-head h2{margin:0;font-size:23px}.student-profile-head>div>span{color:var(--muted);margin-top:5px;font-size:10px;display:block}.student-avatar{background:var(--ink);color:#fff;border-radius:16px;width:55px;height:55px;font-size:15px}.student-contact{border-bottom:1px solid var(--line);color:#967527;background:#fff9e9;align-items:center;gap:10px;min-height:58px;padding:11px 18px;display:flex}.student-contact>span{flex:1;min-width:0}.student-contact small,.student-contact strong{display:block}.student-contact small{letter-spacing:.8px;text-transform:uppercase;margin-bottom:3px;font-size:8px}.student-contact strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-contact a{color:var(--blue);font-size:10px;font-weight:800;text-decoration:none}.student-status-grid{border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.student-status-grid>div{border-left:1px solid var(--line);padding:15px 17px;box-shadow:inset 0 3px #a8b4c0}.student-status-grid>div:first-child{border-left:0}.student-status-grid .waiting{box-shadow:inset 0 3px 0 var(--blue)}.student-status-grid .correction{box-shadow:inset 0 3px 0 var(--coral)}.student-status-grid .accepted{box-shadow:inset 0 3px 0 var(--green)}.student-status-grid strong,.student-status-grid span{display:block}.student-status-grid strong{font:800 21px Bricolage Grotesque}.student-status-grid span{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:8px}.student-history-head{justify-content:space-between;align-items:flex-end;padding:18px 19px 12px;display:flex}.student-history-head .eyebrow{margin-bottom:3px}.student-history-head h3{margin:0;font:800 17px Bricolage Grotesque}.student-history-head>span{color:var(--muted);font-size:9px}.student-history{border-top:1px solid #edf1f5}.student-history-row{border-bottom:1px solid #edf1f5;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:11px;min-height:67px;padding:11px 17px;display:grid}.student-history-row.is-clickable{cursor:pointer}.student-history-row.is-clickable:hover,.student-history-row.is-clickable:focus-visible{background:#f4f7ff}.student-history-row.is-clickable:focus-visible{outline-offset:-3px;outline:3px solid #316be840}.history-subject{border-radius:10px;place-items:center;width:37px;height:40px;display:grid}.student-history-row>span:nth-child(2){min-width:0}.student-history-row>span:nth-child(2) small,.student-history-row>span:nth-child(2) strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-history-row>span:nth-child(2) small{color:var(--muted);font-size:8px}.student-history-row>span:nth-child(2) strong{margin-top:4px;font-size:11px}.review-workspace{border:1px solid var(--line);height:clamp(420px,100dvh - 205px,760px);box-shadow:var(--shadow);background:#fff;border-radius:17px;grid-template-columns:290px 1fr;display:grid;overflow:hidden}.submission-queue{border-right:1px solid var(--line);overflow-y:auto}.queue-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:55px;padding:0 13px 0 17px;display:flex}.queue-toolbar .filter-button{padding:7px 9px;font-size:10px}.queue-controls{align-items:center;gap:6px;display:flex}.queue-controls select{appearance:auto}.queue-empty{text-align:center;color:var(--muted);padding:30px 16px;font-size:11px}.submission-item{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;gap:10px;width:100%;padding:14px 13px;display:flex;position:relative}.submission-item.selected{box-shadow:inset 3px 0 0 var(--blue);background:#edf3ff}.submission-item>span:nth-child(2){min-width:0}.submission-item strong,.submission-item small,.submission-item em{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.submission-item strong{font-size:12px}.submission-item small{color:#52677a;margin-top:4px;font-size:10px}.submission-item em{color:var(--muted);margin-top:6px;font-size:9px;font-style:normal}.correction-dot{background:var(--coral);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:12px}.submission-status-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:16px;right:12px}.submission-status-dot.correction{background:var(--coral)}.submission-status-dot.accepted{background:var(--green)}.evidence-panel{grid-template-rows:auto minmax(0,1fr) auto auto;min-width:0;min-height:0;display:grid;overflow:hidden}.evidence-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:63px;padding:0 18px;display:flex}.evidence-head>div{align-items:center;gap:11px;display:flex}.evidence-head h2{margin:0 0 3px;font-size:15px}.evidence-head p{color:var(--muted);margin:0;font-size:10px}.review-status{background:var(--blue-soft);color:var(--blue);border-radius:8px;padding:6px 9px;font-size:10px}.review-status.correction{color:var(--coral);background:#fff0ed}.review-status.accepted{background:var(--green-soft);color:var(--green)}.queue-empty-detail{text-align:center;min-height:360px;color:var(--muted);place-content:center;justify-items:center;display:grid}.queue-empty-detail h2{color:var(--ink);margin:12px 0 5px}.queue-empty-detail p{margin:0;font-size:11px}.evidence-canvas{background:#e7edf2;place-items:center;min-height:0;display:grid;position:relative;overflow:hidden}.evidence-canvas:before{content:"";background-image:linear-gradient(#4b657b12 1px,#0000 1px),linear-gradient(90deg,#4b657b12 1px,#0000 1px);background-size:22px 22px;position:absolute;inset:0}.real-evidence{min-height:0;position:relative}.real-evidence>img,.real-evidence>iframe{z-index:1;object-fit:contain;object-position:center;background:#fff;border:0;border-radius:8px;width:calc(100% - 36px);min-width:0;max-width:calc(100% - 36px);height:calc(100% - 76px);min-height:0;max-height:calc(100% - 76px);display:block;position:absolute;inset:18px 18px 58px;box-shadow:0 12px 30px #23364824}.evidence-message,.evidence-download{z-index:1;max-width:320px;color:var(--muted);text-align:center;justify-items:center;gap:8px;text-decoration:none;display:grid;position:relative}.evidence-message strong,.evidence-download strong{color:var(--ink)}.evidence-message span,.evidence-download span{font-size:11px;line-height:1.5}.evidence-toolbar{z-index:3;color:#fff;background:#17324df0;border-radius:10px;align-items:center;gap:8px;min-width:0;padding:7px 8px;display:flex;position:absolute;bottom:12px;left:14px;right:14px}.evidence-toolbar button{color:#fff;background:#ffffff24;border:0;border-radius:7px;flex:none;width:29px;height:29px;font-size:21px}.evidence-toolbar button:disabled{opacity:.3}.evidence-toolbar a,.evidence-toolbar span{color:#fff;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:10px;text-decoration:none;overflow:hidden}.evidence-toolbar b{flex:none;font-size:10px}.paper-sheet{aspect-ratio:.78;background:#fffefb;border-radius:3px;width:min(420px,50%);padding:50px 36px;position:absolute;overflow:hidden;box-shadow:0 16px 35px #23364830}.paper-sheet:before{content:"";opacity:.65;background:repeating-linear-gradient(#0000 0 28px,#dce9f1 29px);position:absolute;inset:0}.paper-sheet.first{z-index:2;transform:rotate(-2.5deg)translate(-24%)}.paper-sheet.second{z-index:1;opacity:.75;transform:rotate(4deg)translate(52%)}.paper-number{color:#bac5ce;font:800 13px Bricolage Grotesque;position:relative}.math-line{align-items:center;gap:18px;margin-top:40px;font-family:Georgia,serif;display:flex;position:relative}.math-line span{color:#315f9d;font-size:20px;font-style:italic}.math-line i{border:2px solid var(--green);border-radius:50%;width:22px;height:22px;margin-left:auto;position:relative}.math-line i:after{content:"✓";color:var(--green);font:700 14px sans-serif;position:absolute;top:1px;left:5px}.math-line.wrong i{border-color:var(--coral)}.math-line.wrong i:after{content:"?";color:var(--coral);left:6px}.scribble{color:#3e6ca2;margin-top:44px;font:italic 16px Comic Sans MS,cursive;position:relative;transform:rotate(-3deg)}.image-count{z-index:5;color:#fff;background:#17324de6;border:0;border-radius:9px;align-items:center;gap:7px;padding:8px 10px;font-size:10px;display:flex;position:absolute;bottom:14px;right:14px}.student-note{z-index:4;background:#fff9e9;border-top:1px solid #f4e6bf;gap:10px;padding:12px 18px;font-size:11px;display:flex;position:relative}.student-note small{color:#94752e;margin-bottom:3px;display:block}.review-footer{z-index:4;border-top:1px solid var(--line);background:#fff;align-items:center;gap:12px;padding:12px 16px;display:flex;position:relative}.comment-box{border:1px solid var(--line);border-radius:10px;flex:1;height:40px;display:flex}.comment-box input{background:0 0;border:0;outline:0;flex:1;min-width:0;padding:0 12px}.comment-box button{color:var(--blue);background:0 0;border:0;padding:0 12px}.review-actions{gap:8px;display:flex}.correction{color:var(--coral)}.accept{background:var(--green)}.admin-grid{grid-template-columns:repeat(5,1fr);gap:14px;display:grid}.admin-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:15px;align-items:center;gap:13px;padding:18px;display:flex}.admin-card>span{background:var(--blue-soft);width:42px;height:42px;color:var(--blue);border-radius:11px;place-items:center;display:grid}.admin-card>div{flex:1}.admin-card strong,.admin-card small{display:block}.admin-card small{color:var(--muted);margin-top:4px}.admin-note{align-items:center;gap:16px;margin-top:18px;padding:23px;display:flex}.note-graphic{background:var(--gold-soft);width:55px;height:55px;color:var(--gold);border-radius:15px;place-items:center;display:grid}.admin-note>div:nth-child(2){flex:1}.admin-note h2{margin-bottom:6px;font-size:17px}.admin-note p{color:var(--muted);margin:0;font-size:12px}.admin-tabs{border:1px solid var(--line);background:#eaf0f5;border-radius:12px;gap:4px;width:fit-content;max-width:100%;margin:-7px 0 20px;padding:4px;display:flex;overflow-x:auto}.admin-tabs button{color:#65788a;background:0 0;border:0;border-radius:8px;flex:none;padding:9px 13px;font-size:11px;font-weight:700}.admin-tabs button.active{color:var(--ink);background:#fff;box-shadow:0 3px 10px #1d344917}.admin-overview-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:14px;margin-top:14px;display:grid}.class-distribution,.setup-panel{padding-bottom:18px}.class-distribution .panel-head>span{color:var(--muted);font-size:11px}.distribution-list{gap:8px;padding:0 20px;display:grid}.distribution-list button{text-align:left;background:0 0;border:0;grid-template-columns:38px 1fr 54px;align-items:center;gap:12px;padding:5px 0;display:grid}.distribution-list button strong{font:800 12px Bricolage Grotesque}.distribution-list button>span{color:var(--muted);text-align:right;font-size:10px}.distribution-bar{background:#e9eef3;border-radius:99px;height:8px;overflow:hidden}.distribution-bar i{border-radius:inherit;background:var(--blue);height:100%;display:block}.setup-facts{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 18px;display:grid}.setup-facts div{background:#f5f8fa;border-radius:11px;padding:14px 10px}.setup-facts strong,.setup-facts span{display:block}.setup-facts strong{font:800 23px Bricolage Grotesque}.setup-facts span{color:var(--muted);margin-top:4px;font-size:9px;line-height:1.35}.reset-demo{color:var(--coral);background:0 0;border:0;margin:18px 18px 0;padding:0;font-size:10px;font-weight:800}.admin-list-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.admin-list-head>span{color:var(--muted);font-size:11px}.class-card-grid{grid-template-columns:repeat(4,minmax(220px,1fr));gap:13px;display:grid}.class-admin-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;box-shadow:0 5px 18px #1f375209}.class-admin-card header{border-bottom:1px solid #edf1f5;align-items:center;gap:11px;padding-bottom:14px;display:flex}.class-badge{background:var(--ink);color:#fff;border-radius:13px;flex:none;place-items:center;width:46px;height:46px;font:800 16px Bricolage Grotesque;display:grid;transform:rotate(-2deg)}.class-admin-card h2{margin:0 0 4px;font-size:13px}.class-admin-card p{color:var(--muted);margin:0;font-size:9px}.advisor-line{align-items:center;gap:9px;padding:14px 0 12px;display:flex}.advisor-line>span:last-child{min-width:0}.advisor-line small,.advisor-line strong{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.advisor-line small,.teacher-stack>small{color:var(--muted);font-size:9px}.advisor-line strong{margin-top:3px;font-size:11px}.teacher-stack{justify-content:space-between;align-items:center;gap:10px;display:flex}.teacher-stack>div{flex-direction:row-reverse;justify-content:flex-end;display:flex}.teacher-stack>div span,.teacher-stack>div b{background:var(--blue-soft);width:27px;height:27px;color:var(--blue);border:2px solid #fff;border-radius:9px;place-items:center;margin-left:-6px;font-size:8px;font-weight:800;display:grid}.teacher-stack>div b{background:var(--ink);color:#fff}.admin-data-table{overflow-x:auto}.admin-table-row{border-top:1px solid #edf1f5;grid-template-columns:minmax(170px,1.15fr) minmax(100px,.65fr) minmax(130px,.85fr) minmax(130px,.85fr) minmax(100px,.65fr) 76px;align-items:center;gap:14px;min-width:860px;padding:12px 17px;font-size:11px;display:grid}.admin-table-header{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;background:#f7f9fb;border-top:0;font-size:9px;font-weight:800}.person-cell{align-items:center;gap:9px;display:flex}.person-cell .avatar{border-radius:10px;width:34px;height:34px}.person-cell strong{font-size:11px}.contact-cell,.contact-cell small{display:block}.contact-cell small{color:var(--muted);margin-top:3px}.muted-status{color:#6e7e8c;background:#eef2f5}.subject-name{align-items:center;gap:9px;font-weight:800;display:flex}.subject-name i{border-radius:4px;width:12px;height:12px}.book-cell{color:var(--blue);align-items:center;gap:9px;display:flex}.book-cell strong{color:var(--ink)}.color-code{color:var(--muted);font-family:ui-monospace,monospace}.table-empty{text-align:center;min-width:860px;color:var(--muted);padding:55px 20px;font-size:12px}.table-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.table-action-btn{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);background:#fff;border-radius:8px;place-items:center;padding:0;transition:all .15s;display:inline-grid}.table-action-btn:hover.edit{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.table-action-btn:hover.delete{border-color:var(--coral);background:var(--coral-soft);color:var(--coral)}.table-action-btn:hover.whatsapp-action{color:#15803d;background:#dcfce7;border-color:#22c55e}.card-top-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.form-divider{border-top:1px solid var(--line);margin:4px 0 -2px;position:relative}.form-divider span{color:var(--blue);text-transform:uppercase;letter-spacing:1px;background:#fff;padding-right:10px;font-size:9px;font-weight:800;display:inline-block;transform:translateY(-8px)}.check-field{border:1px solid #d7e1e9;border-radius:10px;margin:0;padding:13px}.check-field legend{padding:0 6px;font-size:10px;font-weight:800}.check-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.check-grid label{background:#f3f6f9;border-radius:8px;align-items:center;gap:6px;padding:8px;font-size:10px;display:flex}.check-grid input{width:auto}.empty-state{text-align:center;background:#fff;border:1px dashed #cbd7e2;border-radius:17px;align-content:center;place-items:center;min-height:420px;display:grid}.empty-state>span{background:var(--blue-soft);width:65px;height:65px;color:var(--blue);border-radius:18px;place-items:center;display:grid}.empty-state h2{margin:17px 0 7px;font-size:19px}.modal-layer{z-index:60;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-layer>:not(.modal-scrim){z-index:1;position:relative}.modal-scrim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d233694;border:0;position:absolute;inset:0}.composer{background:#fff;border-radius:19px;width:min(620px,100%);max-height:calc(100vh - 40px);position:relative;overflow-y:auto;box-shadow:0 30px 80px #0a20334d}.confirm-modal{max-width:460px}.confirm-head{align-items:flex-start;gap:16px;padding:24px 24px 18px;display:flex}.confirm-icon{background:var(--coral-soft);width:48px;height:48px;color:var(--coral);border-radius:14px;flex:0 0 48px;place-items:center;display:grid}.confirm-head h2{color:var(--ink);margin:0 0 6px;font-size:20px}.confirm-head p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.confirm-warning svg{flex:none;margin-top:1px}.danger-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:inline-flex;box-shadow:0 7px 16px #e86f6133}.danger-button:hover{background:#d4594c}.color-picker-control{gap:10px;display:grid}.color-picker-main{align-items:center;gap:10px;display:flex}.color-swatch-wrapper{border:2px solid var(--line);cursor:pointer;border-radius:10px;flex:0 0 42px;width:42px;height:42px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.color-hidden-input{opacity:0;cursor:pointer;width:200%;height:200%;position:absolute;inset:-10px}.color-swatch{border-radius:inherit;width:100%;height:100%;display:block}.color-text-input{text-transform:uppercase;font-family:ui-monospace,monospace;font-weight:600}.color-presets{flex-wrap:wrap;gap:7px;display:flex}.color-preset-btn{cursor:pointer;border:2px solid #0000;border-radius:7px;width:26px;height:26px;padding:0;transition:transform .15s,box-shadow .15s}.color-preset-btn:hover{transform:scale(1.15)}.color-preset-btn.selected{box-shadow:0 0 0 2px var(--ink);border-color:#fff;transform:scale(1.1)}.composer-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:23px 25px 18px;display:flex}.composer-head h2{margin:0 0 5px;font-size:26px}.composer-head p:last-child{color:var(--muted);margin:0;font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:15px;padding:21px 25px;display:grid}.form-grid label{gap:7px;display:grid}.form-grid label>span{font-size:11px;font-weight:800}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;color:var(--ink);resize:vertical;background:#fbfcfd;border:1px solid #d7e1e9;border-radius:10px;padding:11px 12px}.field-help{color:var(--muted);font-size:9px;font-weight:500;line-height:1.45}.file-picker{min-height:47px;color:var(--blue);cursor:pointer;background:#f3f7fb;border:1px dashed #a9bdd1;border-radius:10px;align-items:center;gap:9px;padding:11px 12px;display:flex;position:relative;overflow:hidden}.file-picker strong{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.file-picker input{opacity:0;cursor:pointer;position:absolute;inset:0}.composer-foot{border-top:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;gap:14px;padding:15px 25px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 12px #00000008}.composer-foot>span{color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:500;display:flex}.composer-foot>div{gap:8px;display:flex}.composer-target-switch{background:#f1f5f9;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:2px;padding:4px;display:grid}.target-tab{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:700;transition:all .15s;display:flex}.target-tab:hover{color:var(--ink)}.target-tab.active{color:var(--blue);background:#fff;box-shadow:0 2px 8px #0000000f}.student-chip-list{flex-wrap:wrap;gap:6px;max-height:120px;margin-top:8px;padding:2px 0;display:flex;overflow-y:auto}.student-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.student-chip button{color:#1d4ed8;cursor:pointer;background:0 0;border:0;align-items:center;margin-left:2px;padding:0;display:flex}.student-chip button:hover{color:#dc2626}.date-preset-chips{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.date-preset-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .12s}.date-preset-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}.date-time-row{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.toast{z-index:100;background:var(--ink);color:#fff;border-radius:11px;align-items:center;gap:9px;padding:12px 16px;font-size:12px;animation:.25s ease-out toast-in;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 14px 35px #0d233640}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,12px)}}.parent-shell{max-width:520px;min-height:100vh;box-shadow:0 0 0 1px var(--line);background:#f5f8fb;margin:0 auto;padding-bottom:80px}.parent-top,.mobile-header{border-bottom:1px solid var(--line);z-index:10;background:#fff;justify-content:space-between;align-items:center;height:64px;padding:0 18px;display:flex;position:sticky;top:0}.parent-top .brand{padding:0}.parent-top .brand-logo{height:29px}.mobile-header>strong{font-family:Bricolage Grotesque}.mobile-header .icon-button:first-child{font-size:28px}.parent-main{padding:0 18px 25px}.parent-greeting{padding:26px 0 17px}.parent-greeting>p{color:var(--muted);margin-bottom:5px;font-size:12px}.parent-greeting h1{letter-spacing:-1px;margin-bottom:17px;font-size:31px}.child-chip{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:10px;width:100%;padding:9px 11px;display:flex}.child-chip>span:nth-child(2){flex:1}.child-chip strong,.child-chip small{display:block}.child-chip strong{font-size:12px}.child-chip small{color:var(--muted);margin-top:3px;font-size:10px}.mobile-progress{background:var(--ink);color:#fff;box-shadow:var(--shadow);border-radius:16px;padding:18px}.mobile-progress>div:first-child{justify-content:space-between;font-size:12px;display:flex}.mobile-progress>div:first-child strong{font:800 20px Bricolage Grotesque}.mobile-progress .progress{background:#ffffff26;height:7px}.mobile-progress .progress i{background:#f0bd3e}.mobile-progress p{color:#aabac7;margin:10px 0 0;font-size:10px}.section-heading{align-items:center;gap:8px;margin:24px 0 9px;display:flex}.section-heading h2{margin:0;font-size:19px}.section-heading span{background:var(--blue-soft);width:22px;height:22px;color:var(--blue);border-radius:8px;place-items:center;font-size:10px;font-weight:800;display:grid}.parent-assignment-list{gap:9px;display:grid}.parent-assignment{border:1px solid var(--line);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:11px;width:100%;padding:13px;display:flex}.parent-assignment small,.parent-assignment strong,.parent-assignment em{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.parent-assignment small{color:var(--blue);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:800}.parent-assignment strong{margin-top:5px;font-size:13px}.parent-assignment em{color:var(--muted);align-items:center;gap:5px;margin-top:7px;font-size:10px;font-style:normal;display:flex}.family-status{background:var(--blue-soft);width:fit-content;color:var(--blue);border-radius:7px;margin-top:8px;padding:5px 7px;font-size:9px;display:inline-flex}.family-status.correction{color:var(--coral);background:#fff0ed}.family-status.accepted{background:var(--green-soft);color:var(--green)}.mobile-subject{border-radius:11px;flex:none;place-items:center;width:43px;height:48px;display:grid}.install-tip{background:#eef4f9;border:1px dashed #a9bdd1;border-radius:14px;align-items:flex-start;gap:11px;margin-top:18px;padding:14px;display:flex}.install-tip>svg{color:var(--blue);flex:none}.install-tip div{flex:1}.install-tip strong{font-size:11px}.install-tip p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.45}.install-tip button{color:var(--blue);background:0 0;border:0;font-size:10px;font-weight:800}.mobile-tabs{z-index:12;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);background:#fffffff2;grid-template-columns:repeat(4,1fr);width:min(520px,100%);height:66px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.mobile-tabs button{color:#91a0ad;background:0 0;border:0;place-content:center;justify-items:center;gap:3px;font-size:9px;display:grid}.mobile-tabs button.active{color:var(--blue);font-weight:800}.detail-view{padding:16px 18px 30px}.subject-hero{border-radius:18px;flex-direction:column;align-items:flex-start;min-height:188px;padding:23px;display:flex}.subject-hero>span{text-transform:uppercase;letter-spacing:1px;font-size:10px;font-weight:800}.subject-hero h1{color:var(--ink);max-width:320px;margin:18px 0 7px;font-size:29px}.subject-hero p{color:#587086;font-size:11px}.subject-hero div{background:#ffffffb8;border-radius:9px;align-items:center;gap:7px;margin-top:auto;padding:8px 10px;font-size:11px;font-weight:700;display:flex}.detail-card,.upload-card{border:1px solid var(--line);background:#fff;border-radius:15px;margin-top:13px;padding:18px}.detail-card h2{margin-bottom:9px;font-size:17px}.detail-card>p:not(.eyebrow){color:var(--muted);margin:0;font-size:11px;line-height:1.6}.teacher-attachment{background:var(--blue-soft);color:var(--blue);border-radius:11px;align-items:center;gap:10px;margin-top:14px;padding:11px 12px;text-decoration:none;display:flex}.teacher-attachment>span{flex:1;min-width:0}.teacher-attachment strong,.teacher-attachment small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.teacher-attachment strong{color:var(--ink);font-size:10px}.teacher-attachment small{color:var(--blue);margin-top:3px;font-size:9px}.upload-card{text-align:center;padding:24px 18px}.upload-icon{background:var(--blue-soft);width:48px;height:48px;color:var(--blue);border-radius:14px;place-items:center;margin:0 auto 12px;display:grid}.upload-card h2{margin-bottom:7px;font-size:18px}.upload-card p{color:var(--muted);max-width:280px;margin:0 auto 15px;font-size:10px;line-height:1.5}.upload-button{background:var(--blue);color:#fff;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:11px 17px;font-size:12px;font-weight:800;display:inline-flex}.upload-button input{display:none}.selected-file-list{text-align:left;gap:6px;margin-top:12px;display:grid}.selected-file-list>strong{color:var(--ink);font-size:10px}.selected-file-list>div{border:1px solid var(--line);background:#f7f9fb;border-radius:9px;align-items:center;gap:8px;min-width:0;padding:7px 8px 7px 10px;display:flex}.selected-file-list span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:10px;overflow:hidden}.selected-file-list button{width:27px;height:27px;color:var(--coral);background:#fff0ed;border:0;border-radius:7px;flex:none;place-items:center;display:grid}.submitted-chip{background:var(--green-soft);color:var(--green);border-radius:10px;align-items:center;gap:8px;padding:10px 13px;font-size:11px;font-weight:800;display:inline-flex}.submission-result.correction .upload-icon{color:var(--coral);background:#fff0ed}.submission-note{text-align:left;gap:7px;margin-top:16px;display:grid}.submission-note>span{color:var(--ink);font-size:11px;font-weight:800}.submission-note small{color:var(--muted);font-weight:500}.submission-note textarea{resize:vertical;border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);border-radius:10px;outline:0;padding:10px 11px}.submission-note textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.submit-homework{width:100%;margin-top:11px}.submit-homework:disabled{opacity:.45;cursor:not-allowed}.family-note{color:var(--muted);text-align:left;background:#f5f7f9;border-radius:10px;margin-top:14px;padding:10px 12px;font-size:10px}.family-note strong{color:var(--ink);margin-bottom:4px;display:block}@media (width<=1050px){.sidebar{transition:transform .22s;transform:translate(-100%);box-shadow:20px 0 50px #0a1e3040}.sidebar.is-open{transform:translate(0)}.nav-scrim{z-index:29;background:#0d233673;border:0;position:fixed;inset:0}.main-stage{width:100%;margin-left:0}.menu-button{display:inline-grid}.content-grid{grid-template-columns:1fr}.admin-grid,.class-card-grid{grid-template-columns:repeat(2,1fr)}.admin-overview-grid{grid-template-columns:1fr}.assignment-cover{grid-template-columns:minmax(0,1fr) 285px}}@media (width<=900px){.student-workspace{grid-template-columns:1fr}.student-directory-list{max-height:430px}.review-workspace{grid-template-columns:1fr;height:auto;min-height:0}.submission-queue{border-right:0;border-bottom:1px solid var(--line);max-height:250px}.evidence-panel{min-height:620px}.review-footer{flex-direction:column;align-items:stretch}.review-actions{grid-template-columns:1fr 1fr;display:grid}}@media (width<=760px){.login-shell{padding:14px}.login-panel{border-radius:16px;padding:32px 22px 38px}.login-brand{margin-bottom:35px}.topbar{padding:0 14px}.topbar .search{display:none}.page{padding:24px 15px 45px}.welcome-row{align-items:flex-start}.desktop-create{display:none}.deadline-strip{padding:10px;overflow-x:auto}.strip-title,.week-note{display:none}.day{flex:0 0 56px}.stat-grid{grid-template-columns:1fr}.assignment-row{grid-template-columns:50px 1fr 36px}.progress-block,.due{display:none}.page-title{flex-direction:column;align-items:flex-start}.toolbar{flex-wrap:wrap}.toolbar .search{width:100%;display:flex}.student-overview{grid-template-columns:1fr 1fr}.student-overview>div{border-top:1px solid var(--line)}.student-overview>div:first-child,.student-overview>div:nth-child(2){border-top:0}.student-overview>div:nth-child(3){border-left:0;grid-column:1/-1}.student-toolbar{flex-direction:column}.student-toolbar .search{width:100%;display:flex}.student-toolbar select{width:100%;margin-left:0}.student-directory-list{max-height:none}.student-profile-head{flex-wrap:wrap;align-items:flex-start}.student-profile-head>b{margin-left:68px}.student-contact{flex-wrap:wrap;align-items:flex-start}.student-contact a{width:100%;margin-left:29px}.student-status-grid{grid-template-columns:repeat(2,1fr)}.student-status-grid>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.student-status-grid>div:nth-child(4){border-top:1px solid var(--line)}.student-history-row{grid-template-columns:38px minmax(0,1fr) 18px}.student-history-row .detail-status{grid-column:2;width:fit-content}.student-history-row>svg{grid-area:1/3/3}.assignment-table{overflow:hidden}.table-head,.table-row{min-width:760px}.assignment-table .table-head{display:none}.assignment-table .table-row{grid-template-columns:minmax(0,1fr) auto;gap:12px;min-width:0;padding:15px 14px}.assignment-table .table-row>span:nth-child(3),.assignment-table .table-row>span:nth-child(4),.assignment-table .table-row>span:nth-child(5){display:none}.assignment-cover{grid-template-columns:1fr}.assignment-cover-copy{padding:25px 21px 29px}.assignment-cover h1{font-size:34px}.cover-meta{gap:14px;display:grid}.assignment-actions{padding:21px}.detail-status-strip{grid-template-columns:repeat(2,1fr)}.detail-status-strip>div{padding:14px}.roster-panel{overflow-x:auto}.roster-panel .panel-head,.roster-head,.roster-row{min-width:760px}.evidence-panel{min-height:580px}.paper-sheet{width:66%;padding:38px 22px}.paper-sheet.second{transform:rotate(4deg)translate(42%)}.admin-grid,.class-card-grid{grid-template-columns:1fr}.admin-tabs{width:100%}.admin-list-head .search{width:100%;display:flex}.admin-list-head>span{display:none}.setup-facts{grid-template-columns:1fr}.check-grid{grid-template-columns:repeat(2,1fr)}.admin-note{flex-wrap:wrap;align-items:flex-start}.admin-note .secondary-button{width:100%}.form-grid{grid-template-columns:1fr}.form-grid label,.form-grid .full{grid-column:1}.composer-foot{flex-direction:column;align-items:stretch}.composer-foot>div{grid-template-columns:1fr 1fr;display:grid}}.attendance-page{flex-direction:column;gap:20px;display:flex}.attendance-header-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:16px;padding:20px 24px;display:flex;box-shadow:0 4px 16px #17324d0a}.attendance-controls-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.attendance-select-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attendance-select-group label{flex-direction:column;gap:4px;display:flex}.attendance-select-group label span{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:700}.attendance-input{border:1px solid var(--line);color:var(--ink);background:#fbfcfd;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:600}.attendance-input:focus{border-color:var(--blue);background:#fff}.attendance-mode-selector{background:#edf2f7;border-radius:12px;align-items:center;gap:4px;padding:4px;display:inline-flex}.mode-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;transition:all .16s;display:flex}.mode-btn:hover{color:var(--ink)}.mode-btn.active{color:var(--blue);background:#fff;box-shadow:0 2px 8px #00000014}.mode-hint{color:var(--muted);align-items:center;gap:6px;margin-top:-6px;font-size:12px;display:flex}.attendance-stats-strip{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;display:grid}.att-stat-pill{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;padding:12px 14px;transition:transform .15s;display:flex}.att-stat-pill strong{font-family:Bricolage Grotesque,sans-serif;font-size:20px;line-height:1.1}.att-stat-pill span{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600}.att-stat-pill.total{border-left:4px solid var(--blue)}.att-stat-pill.present{border-left:4px solid var(--green);background:#f4fbf8}.att-stat-pill.present strong{color:var(--green)}.att-stat-pill.absent{border-left:4px solid var(--coral);background:#fdf5f4}.att-stat-pill.absent strong{color:var(--coral)}.att-stat-pill.excused{background:#f9f6ff;border-left:4px solid #8b5cf6}.att-stat-pill.excused strong{color:#8b5cf6}.attendance-actions-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 0;display:flex}.quick-action-btns{gap:8px;display:flex}.attendance-cards-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px;display:grid}.att-student-card{border:1.5px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:#fff;border-radius:14px;align-items:center;gap:12px;padding:13px 15px;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex;position:relative;box-shadow:0 2px 6px #17324d05}.att-student-card:hover{border-color:#b7c8d9;transform:translateY(-2px);box-shadow:0 8px 20px #17324d12}.att-student-card .card-avatar{width:38px;height:38px;color:var(--ink);background:#eef3f8;border-radius:11px;flex:0 0 38px;place-items:center;font-size:13px;font-weight:800;transition:all .18s;display:inline-grid}.att-student-card .card-info{flex:1;min-width:0}.att-student-card .card-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;display:block;overflow:hidden}.att-student-card .card-meta{color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:11px;display:flex}.att-student-card .status-pill{border-radius:20px;flex:none;align-items:center;gap:4px;padding:5px 10px;font-size:11px;font-weight:800;transition:all .18s;display:flex}.att-student-card.is-present{background:#f7fdfa;border-color:#2d9b7573}.att-student-card.is-present .card-avatar{color:#1b684e;background:#d5f2e6}.att-student-card.is-present .status-pill{color:#1b684e;background:#def6ec}.att-student-card.is-absent{background:#fff6f5;border-color:#e86f61b3;box-shadow:0 4px 12px #e86f611f}.att-student-card.is-absent .card-avatar{color:#9e362b;background:#fedcd8}.att-student-card.is-absent .card-name{color:#9e362b}.att-student-card.is-absent .status-pill{color:#fff;background:#e86f61}.att-student-card.is-unmarked{border-color:var(--line);opacity:.9;background:#fff}.att-student-card.is-unmarked .status-pill{color:var(--muted);background:#f0f3f6}.att-student-card.is-leave{background:#faf8ff;border-color:#c4b5fd}.att-student-card.is-leave .card-avatar{color:#6d28d9;background:#ede9fe}.att-student-card.is-leave .status-pill{color:#fff;background:#8b5cf6}.leave-ribbon{color:#6b21a8;background:#f3e8ff;border-radius:6px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-flex}.leave-modal{z-index:1;background:#fff;border-radius:18px;flex-direction:column;gap:18px;width:min(540px,94vw);max-height:calc(100vh - 40px);padding:24px;display:flex;position:relative;overflow-y:auto;box-shadow:0 20px 48px #17324d38}.leave-search-box{border:1px solid var(--line);background:#fbfcfd;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;display:flex}.leave-search-box input{color:var(--ink);background:0 0;border:none;flex:1;font-size:13px}.leave-search-box input:focus{outline:none}.leave-student-results{border:1px solid var(--line);background:#fafcff;border-radius:12px;gap:2px;max-height:180px;padding:4px;display:grid;overflow-y:auto}.leave-student-row{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:8px;justify-content:space-between;align-items:center;padding:9px 12px;transition:background .14s;display:flex}.leave-student-row:hover,.leave-student-row.selected{background:#eef4ff}.leave-class-pills{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.leave-class-pill{border:1px solid var(--line);color:var(--muted);cursor:pointer;white-space:nowrap;background:#fff;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;transition:all .14s}.leave-class-pill:hover{color:var(--ink);border-color:#cbd5e1}.leave-class-pill.active{background:var(--blue);color:#fff;border-color:var(--blue)}.leave-student-card-pick{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px 12px;transition:all .14s;display:flex}.leave-student-card-pick:hover{background:#f0f7ff;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb14}.leave-selected-card{background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.leave-notice-pill{color:#9a3412;background:#fff8e8;border:1px solid #fed7aa;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:12px;line-height:1.4;display:flex}.card-leave-quick-btn{color:#64748b;cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-radius:6px;align-items:center;gap:4px;padding:3px 6px;font-size:10px;font-weight:700;transition:all .14s;display:inline-flex}.card-leave-quick-btn:hover{border-color:var(--blue);color:var(--blue);background:#f1f5f9}.bell-badge-btn{position:relative}.bell-badge-count{color:#fff;background:#e86f61;border:2px solid #fff;border-radius:10px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-3px;right:-3px}.notification-shell{flex-direction:column;gap:16px;display:flex}.notification-filter-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding-bottom:12px;display:flex}.notification-filter-pills{gap:6px;display:flex}.filter-pill{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.filter-pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.notification-list{flex-direction:column;gap:10px;display:flex}.notification-card{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:flex-start;gap:14px;padding:15px 16px;transition:all .16s;display:flex;position:relative}.notification-card.unread{border-left:4px solid var(--blue);background:#fdfefe}.notification-card.type-attendance_absent{border-left:4px solid #e86f61}.notification-card.type-student_leave{border-left:4px solid #f59e0b}.notification-card.type-assignment_new{border-left:4px solid var(--blue)}.notification-card.type-assignment_reviewed{border-left:4px solid var(--green)}.notif-icon-box{border-radius:11px;flex:0 0 38px;place-items:center;width:38px;height:38px;display:inline-grid}.type-attendance_absent .notif-icon-box{color:#b91c1c;background:#fee2e2}.type-student_leave .notif-icon-box{color:#b45309;background:#fef3c7}.type-assignment_new .notif-icon-box{color:#1d4ed8;background:#dbeafe}.type-assignment_reviewed .notif-icon-box{color:#047857;background:#d1fae5}.notif-content{flex:1;min-width:0}.notif-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px;display:flex}.notif-header strong{color:var(--ink);font-size:13px;font-weight:700}.notif-time{color:var(--muted);font-size:11px}.notif-content p{color:#334155;margin:0;font-size:12.5px;line-height:1.5}.unread-dot{background:var(--blue);border-radius:50%;flex:0 0 8px;width:8px;height:8px;margin-top:6px}.settings-switch-list{flex-direction:column;gap:14px;display:flex}.settings-switch-row{border:1px solid var(--line);background:#f8fafc;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.settings-switch-info strong{color:var(--ink);font-size:13px;display:block}.settings-switch-info span{color:var(--muted);margin-top:2px;font-size:11px;display:block}.modern-toggle{flex:0 0 44px;width:44px;height:24px;display:inline-block;position:relative}.modern-toggle input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#cbd5e1;border-radius:24px;transition:all .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:18px;height:18px;transition:all .2s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #00000026}.modern-toggle input:checked+.toggle-slider{background-color:var(--green)}.modern-toggle input:checked+.toggle-slider:before{transform:translate(20px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.curriculum-page{flex-direction:column;gap:20px;display:flex}.curriculum-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.curriculum-stats-badge{background:var(--paper);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:inline-flex;box-shadow:0 2px 8px #17324d0a}.curriculum-stats-badge strong{color:var(--ink);font-weight:700}.curriculum-grade-selector{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.grade-pill{background:var(--paper);border:1.5px solid var(--line);cursor:pointer;min-width:120px;color:var(--ink);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:12px 16px;transition:all .2s;display:flex}.grade-pill:hover{border-color:var(--blue);background:var(--blue-soft)}.grade-pill.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 4px 14px #17324d29}.grade-pill strong{font-size:15px;font-weight:700}.grade-pill small{opacity:.75;margin-top:2px;font-size:11px}.curriculum-subject-selector{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.subject-pill{background:var(--paper);border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:20px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.subject-pill:hover{border-color:#cbd5e1;transform:translateY(-1px)}.subject-pill.active{background:var(--blue);color:#fff;border-color:var(--blue);box-shadow:0 3px 10px #316be840}.subject-pill.active .color-dot{box-shadow:0 0 0 2px #fff}.subject-pill .color-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.subject-count{background:#0000000f;border-radius:10px;padding:1px 6px;font-size:11px}.subject-pill.active .subject-count{color:#fff;background:#ffffff40}.curriculum-lead-banner{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex;box-shadow:0 4px 16px #17324d08}.banner-left{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.subject-indicator{align-items:center;gap:12px;display:flex}.subject-color-badge{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.subject-indicator h3{color:var(--ink);margin:0;font-size:16px;font-weight:700}.subject-indicator p{color:var(--muted);margin:2px 0 0;font-size:12px}.lead-authority-chip{align-items:center;display:flex}.admin-lead-picker label{color:var(--ink);background:var(--blue-soft);border:1px solid #316be833;border-radius:8px;align-items:center;gap:7px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.admin-lead-picker select{color:var(--blue);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:12px;font-weight:700}.lead-status-badge{border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.lead-status-badge.authorized{background:var(--green-soft);color:#1b6348;border:1px solid #2d9b7540}.lead-status-badge.readonly{color:var(--muted);background:#f1f5f9;border:1px solid #e2e8f0}.banner-right{align-items:center;gap:10px;display:flex}.curriculum-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.curriculum-toolbar .search{flex:1;max-width:440px;position:relative}.clear-search-btn{color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;padding:2px;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toolbar-counter{color:var(--muted);font-size:12px;font-weight:600}.curriculum-list{flex-direction:column;gap:10px;display:flex}.curriculum-topic-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;align-items:center;gap:16px;padding:14px 18px;transition:all .15s;display:flex}.curriculum-topic-card:hover{border-color:#cbd5e1;box-shadow:0 3px 12px #17324d0a}.topic-order-badge{width:32px;height:32px;color:var(--ink);border:1px solid var(--line);background:#f1f5f9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.topic-info{flex:1;min-width:0}.topic-info h4{color:var(--ink);word-break:break-word;margin:0;font-size:14px;font-weight:600;line-height:1.4}.topic-meta{gap:6px;margin-top:4px;display:flex}.topic-grade-tag,.topic-subject-tag{color:var(--muted);background:#f4f7fb;border-radius:5px;padding:2px 7px;font-size:10.5px;font-weight:600}.topic-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.topic-action-btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#f8fafc;border-radius:7px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.topic-action-btn:hover:not(:disabled){background:#edf2f7}.topic-action-btn:disabled{opacity:.35;cursor:not-allowed}.topic-action-btn.move{padding:6px}.topic-action-btn.delete{color:#b74d42;padding:6px}.topic-action-btn.delete:hover:not(:disabled){background:var(--coral-soft);border-color:#f7c3bc}.curriculum-empty{text-align:center;background:var(--paper);border:1px dashed var(--line);color:var(--muted);border-radius:14px;flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.curriculum-empty h3{color:var(--ink);margin:0;font-size:17px}.curriculum-empty p{max-width:380px;margin:0;font-size:13px;line-height:1.5}.detail-topic-badge{background:var(--blue-soft);color:var(--blue);border-radius:6px;align-items:center;gap:6px;margin:6px 0 10px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}@keyframes modalPopIn{0%{opacity:0;transform:scale(.94)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.confirm-modal-card,.modal-dialog-box{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;width:min(460px,100vw - 32px);padding:24px;animation:.22s cubic-bezier(.16,1,.3,1) forwards modalPopIn;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a40,0 0 0 1px #0f172a0a}.confirm-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.confirm-close-btn:hover{color:#1e293b;background:#f1f5f9}.confirm-modal-header,.modal-dialog-header{align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.confirm-danger-badge,.modal-dialog-header .alert-circle{color:#e11d48;background:linear-gradient(135deg,#fff1f2 0%,#fee2e2 100%);border:1px solid #fecdd3;border-radius:14px;flex:0 0 48px;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 0 0 5px #fee2e273}.confirm-header-text,.modal-dialog-header>div:last-child{flex:1;min-width:0;padding-right:16px}.confirm-header-text h3,.modal-dialog-header h3{color:#0f172a;letter-spacing:-.01em;margin:0 0 4px;font-family:Bricolage Grotesque,sans-serif;font-size:19px;font-weight:700}.confirm-header-text p,.modal-dialog-header p{color:#64748b;margin:0;font-size:13px;line-height:1.5}.delete-target-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:12px;margin:16px 0;padding:12px 14px;transition:all .15s;display:flex}.delete-target-preview:hover{background:#f1f5f9;border-color:#cbd5e1}.preview-icon-badge{color:#475569;background:#f1f5f9;border-radius:10px;flex:0 0 40px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.preview-icon-badge.book{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.preview-icon-badge.topic{color:#7c3aed;background:#f5f3ff;border:1px solid #ede9fe}.preview-icon-badge.student,.preview-icon-badge.parent,.preview-icon-badge.teacher{color:#059669;background:#ecfdf5;border:1px solid #d1fae5}.preview-icon-badge.classe{color:#ea580c;background:#fff7ed;border:1px solid #ffedd5}.preview-icon-badge.subject{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.preview-target-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.preview-target-info strong,.delete-target-preview strong{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;display:block;overflow:hidden}.preview-target-info small,.delete-target-preview small{color:#64748b;align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.confirm-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:flex-start;gap:10px;margin:14px 0;padding:11px 14px;font-size:12px;line-height:1.45;display:flex}.confirm-warning svg{color:#d97706;flex:none;margin-top:1px}.confirm-modal-actions,.modal-dialog-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;gap:10px;margin-top:20px;padding-top:16px;display:flex}.confirm-cancel-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:all .15s}.confirm-cancel-btn:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.confirm-delete-btn,.delete-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);border:1px solid #dc2626;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex;box-shadow:0 4px 12px #dc262647}.confirm-delete-btn:hover,.delete-button:hover{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);transform:translateY(-1px);box-shadow:0 6px 18px #dc262661}.confirm-delete-btn:active,.delete-button:active{transform:translateY(0);box-shadow:0 2px 6px #dc262633}.curriculum-tabs-nav{border-bottom:2px solid var(--line);gap:8px;margin-bottom:4px;padding-bottom:12px;display:flex}.curriculum-tab-btn{background:var(--paper);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.curriculum-tab-btn:hover{color:var(--ink);border-color:#cbd5e1}.curriculum-tab-btn.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 4px 12px #0a1e301f}.curriculum-tab-btn b{color:inherit;background:#fff3;border-radius:999px;padding:2px 7px;font-size:11px}.curriculum-tab-btn:not(.active) b{color:var(--muted);background:#f1f5f9}.books-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.books-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.book-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;justify-content:space-between;gap:16px;padding:18px;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;box-shadow:0 2px 8px #17324d0a}.book-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 8px 24px #17324d14}.book-card-head{align-items:flex-start;gap:14px;display:flex}.book-icon-wrapper{color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 2px 8px #00000014}.book-card-info{flex:1;min-width:0}.book-card-info h4{color:var(--ink);word-break:break-word;margin:0 0 4px;font-size:15px;font-weight:700;line-height:1.3}.book-publisher-text{color:var(--muted);font-size:12px;display:block}.book-meta-tags{flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px;display:flex}.book-subject-pill{color:#fff;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:700}.book-class-tag{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.book-card-actions{border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:8px;padding-top:12px;display:flex}.exam-table-head{border-bottom:1px solid var(--line,#e2e8f0);color:var(--muted,#64748b);background:#f8fafc;grid-template-columns:2fr 1.2fr 1.4fr 1.2fr 48px;gap:12px;padding:12px 18px;font-size:13px;font-weight:600;display:grid}.exam-table-row{border-bottom:1px solid var(--line,#f1f5f9);cursor:pointer;grid-template-columns:2fr 1.2fr 1.4fr 1.2fr 48px;align-items:center;gap:12px;padding:14px 18px;transition:background .15s;display:grid}.exam-table-row:hover{background:#f8fafc}.badge.purple{color:#7e22ce;background:#f3e8ff}.badge.green{color:#15803d;background:#dcfce7}.badge.orange{color:#c2410c;background:#ffedd5}.badge.coral{color:#b91c1c;background:#fee2e2}.badge.blue{color:#1d4ed8;background:#dbeafe}@media (width<=768px){.exam-table-head{display:none}.exam-table-row{grid-template-columns:1fr auto;gap:8px;padding:12px}.exam-table-row>span:nth-child(2),.exam-table-row>span:nth-child(3){display:none}}.otp-card{flex-direction:column;gap:16px;display:flex}.otp-stepper{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex;position:relative}.otp-stepper:before{content:"";background:var(--line);z-index:1;height:2px;position:absolute;top:14px;left:20px;right:20px}.otp-step-item{z-index:2;flex-direction:column;align-items:center;gap:6px;display:flex;position:relative}.otp-step-circle{border:2px solid var(--line);width:28px;height:28px;color:var(--muted);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;transition:all .2s;display:flex}.otp-step-item.active .otp-step-circle{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 0 0 4px var(--brand-soft)}.otp-step-item.completed .otp-step-circle{color:#fff;background:#16a34a;border-color:#16a34a}.otp-step-label{color:var(--muted);font-size:11px;font-weight:600}.otp-step-item.active .otp-step-label{color:var(--brand);font-weight:700}.otp-user-card{border:1px solid var(--line);background:#f8fafc;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.otp-user-info{align-items:center;gap:12px;display:flex}.otp-user-info .avatar{background:var(--brand-soft);width:38px;height:38px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.otp-user-text strong{color:var(--ink);font-size:14px;display:block}.otp-user-text span{color:var(--muted);font-size:12px}.otp-code-input{font-family:monospace;transition:border-color .2s;letter-spacing:12px!important;text-align:center!important;border:2px solid var(--line)!important;color:var(--brand)!important;background:#f8fafc!important;border-radius:12px!important;padding:12px 16px!important;font-size:28px!important;font-weight:700!important}.otp-code-input:focus{outline:none;border-color:var(--brand)!important;box-shadow:0 0 0 4px var(--brand-soft)!important}.otp-dev-badge{color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.otp-dev-badge strong{letter-spacing:2px;background:#fff;border:1px solid #fcd34d;border-radius:6px;padding:2px 8px;font-family:monospace;font-size:14px}.otp-timer{color:var(--muted);justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.otp-timer.urgent{color:#dc2626;font-weight:600}.whatsapp-action-btn{color:#16a34a;cursor:pointer;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.whatsapp-action-btn:hover{color:#15803d;background:#d1fae5;border-color:#86efac}.admin-banner{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:14px;margin-bottom:18px;padding:14px 18px;display:flex}.admin-banner-icon{color:#1d4ed8;background:#dbeafe;border-radius:10px;justify-content:center;align-items:center;padding:8px;display:flex}.admin-banner-content h3{color:#1e3a8a;margin:0 0 4px;font-size:13px;font-weight:700}.admin-banner-content p{color:#3b82f6;margin:0;font-size:12px;line-height:1.5}.status.archived-status{color:#6b7280;background:#f3f4f6;border:1px solid #e5e7eb}.batch-accept-btn{color:#fff;background:#2563eb;font-weight:600;transition:all .15s}.batch-accept-btn:hover{background:#1d4ed8}.student-notes-section{border-top:1px solid var(--line);background:#fff;padding:18px 19px}.student-notes-head{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.student-notes-head .eyebrow{margin-bottom:3px}.student-notes-head h3{color:var(--ink);margin:0;font:800 16px Bricolage Grotesque,sans-serif}.notes-count{color:var(--muted);background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.student-note-composer{gap:8px;margin-bottom:14px;display:flex}.student-note-composer input{border:1px solid var(--line);background:#f8fafc;border-radius:8px;outline:none;flex:1;min-width:0;height:38px;padding:0 12px;font-size:12px;transition:border-color .15s}.student-note-composer input:focus{border-color:var(--blue);background:#fff}.student-note-composer .primary-button{align-items:center;gap:4px;height:38px;padding:0 14px;font-size:12px;display:inline-flex}.student-notes-list{flex-direction:column;gap:8px;max-height:240px;display:flex;overflow-y:auto}.student-note-card{border:1px solid #e2e8f0;border-left:3px solid var(--blue);background:#f8fafc;border-radius:8px;padding:10px 12px;transition:background .15s}.student-note-card:hover{background:#f1f5f9}.student-note-card-meta{align-items:center;gap:8px;margin-bottom:5px;display:flex}.note-author{color:var(--ink);font-size:11px}.note-time{color:var(--muted);margin-left:auto;font-size:10px}.note-delete-btn{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:2px;transition:color .15s;display:inline-flex}.note-delete-btn:hover{color:#ef4444;background:#fee2e2}.note-text{color:#334155;word-break:break-word;margin:0;font-size:12px;line-height:1.45}.student-notes-empty{color:var(--muted);background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:11px;display:flex}.finance-module{flex-direction:column;gap:22px;display:flex}.finance-header-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.finance-card{border:1px solid var(--line);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:18px 20px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;box-shadow:0 4px 16px #17324d0a}.finance-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #17324d14}.finance-card .card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.finance-card .card-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.cash-card .card-icon{color:#15803d;background:#dcfce7}.bank-card .card-icon{color:#3730a3;background:#e0e7ff}.total-card .card-icon{color:var(--ink);background:#f1f5f9}.pending-card.alert-active{cursor:pointer;background:#fffbeb;border-color:#fde68a}.pending-card .card-icon.warning-icon{color:#b45309;background:#fef3c7}.pending-card .card-icon.success-icon{color:#15803d;background:#dcfce7}.finance-card .card-label{color:var(--muted);flex:1;font-size:13px;font-weight:600}.action-link-btn{color:var(--blue);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:3px 6px;font-size:11px;font-weight:700;text-decoration:underline}.action-link-btn:hover{background:var(--blue-soft)}.finance-card .card-value{color:var(--ink);letter-spacing:-.5px;font-family:Bricolage Grotesque,sans-serif;font-size:26px;font-weight:800;line-height:1.1}.total-card .total-value{color:#0f172a}.pending-card .pending-value{color:#b45309}.pending-card .clean-value{color:#15803d;font-size:18px}.finance-card .card-meta{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:flex}.finance-card .card-meta.highlight-text{color:#b45309;font-weight:600}.finance-subtabs-bar{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;display:flex}.finance-subtabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.finance-subtabs button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.finance-subtabs button:hover{color:var(--ink);background:#f8fafc}.finance-subtabs button.active{background:var(--ink);color:#fff}.subtab-badge{color:#fff;background:#ef4444;border-radius:999px;padding:1px 6px;font-size:10px;font-weight:800}.finance-subtabs-actions{align-items:center;gap:8px;display:flex}.finance-intro-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:16px;padding:14px 18px;font-size:13px;line-height:1.5;display:flex}.finance-intro-banner .intro-icon{color:#2563eb;flex:none;margin-top:1px}.finance-two-col{flex-wrap:wrap;gap:20px;display:flex}.cash-counts-panel{flex:0 0 340px}@media (width<=900px){.cash-counts-panel{flex:100%}}.finance-month-bar{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:12px 18px;display:flex}.month-selector-group,.class-selector-group{color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.month-selector-group select,.class-selector-group select{color:var(--ink);background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:6px 12px;font-size:13px}.finance-hint{color:var(--muted);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:flex}.month-stats-banner{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:16px;padding:16px 20px;display:grid;position:relative;overflow:hidden}.stat-pill{flex-direction:column;gap:4px;display:flex}.stat-pill .stat-title{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);font-size:11px;font-weight:700}.stat-pill strong{color:var(--ink);font-family:Bricolage Grotesque,sans-serif;font-size:20px;font-weight:800}.stat-pill.success-pill strong{color:#16a34a}.stat-pill.warning-pill strong{color:#ea580c}.stat-progress{background:#f1f5f9;border-radius:999px;grid-column:1/-1;height:6px;margin-top:4px;overflow:hidden}.stat-progress .progress-fill{background:#16a34a;border-radius:999px;height:100%;transition:width .3s}.finance-table-wrapper{overflow-x:auto}.finance-table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}.finance-table th{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.4px;background:#fbfcfd;padding:12px 14px;font-size:11px;font-weight:700}.finance-table td{vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px}.finance-table tr:hover{background:#fafcff}.finance-table tr.row-paid{background:#fafffc}.finance-table .table-note{color:var(--muted);margin-top:2px;font-size:11px;display:block}.badge-income{color:#15803d;background:#dcfce7;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-expense{color:#b91c1c;background:#fee2e2;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.text-income{color:#15803d}.text-expense{color:#b91c1c}.method-tag{border-radius:6px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.method-cash{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.method-bank{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe}.category-pill{color:#475569;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.status-badge{border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.status-badge.paid{color:#166534;background:#dcfce7}.status-badge.unpaid{color:#92400e;background:#fef3c7}.status-badge.muted{color:#64748b;background:#f1f5f9}.payment-action-btns{justify-content:flex-end;align-items:center;gap:6px;display:flex}.quick-pay-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:700;transition:all .15s;display:inline-flex}.quick-pay-btn.nakit-btn{color:#fff;background:#16a34a}.quick-pay-btn.nakit-btn:hover{background:#15803d}.quick-pay-btn.banka-btn{color:#fff;background:#2563eb}.quick-pay-btn.banka-btn:hover{background:#1d4ed8}.danger-hover-btn:hover{color:#b91c1c!important;background:#fee2e2!important;border-color:#fca5a5!important}.staff-avatar{width:28px;height:28px;color:var(--ink);background:#e2e8f0;border-radius:8px;place-items:center;font-size:12px;font-weight:800;display:inline-grid}.staff-role-badge{color:var(--ink);background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600}.kasa-sorumlusu-tag{color:#b45309;background:#fef3c7;border-radius:4px;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;display:inline-block}.pending-expenses-box{background:#fffbeb;border:2px solid #fef3c7}.pending-hint-box{color:#92400e;background:#fff;border:1px solid #fde68a;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:12px;line-height:1.5;display:flex}.pending-list{flex-direction:column;gap:10px;display:flex}.pending-item-card{background:#fff;border:1px solid #fed7aa;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;box-shadow:0 2px 8px #b453090f}.pending-item-main{flex:1}.pending-item-title{align-items:center;gap:8px;margin-bottom:4px;font-size:14px;display:flex}.pending-item-category{text-transform:uppercase;color:#92400e;background:#fef3c7;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.pending-item-meta{color:var(--muted);font-size:12px}.pending-item-actions{align-items:center;gap:12px;display:flex}.pending-item-amount{color:#92400e;font-family:Bricolage Grotesque,sans-serif;font-size:18px;font-weight:800}.approve-btn{background:#16a34a!important;padding:7px 16px!important;font-size:12px!important}.approve-btn:hover{background:#15803d!important}.count-history-list{flex-direction:column;gap:8px;display:flex}.count-history-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.count-item-top{justify-content:space-between;align-items:center;font-size:14px;display:flex}.count-date{color:var(--muted);font-size:11px}.count-item-meta{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;display:flex}.diff-plus{color:#16a34a;font-weight:700}.diff-minus{color:#dc2626;font-weight:700}.count-item-note{color:#475569;margin-top:2px;font-size:11px;font-style:italic}.projection-container{flex-direction:column;gap:20px;display:flex}.projection-highlight-card{border-radius:18px;padding:28px;box-shadow:0 8px 30px #0000000f}.projection-highlight-card.net-surplus{color:#fff;background:linear-gradient(135deg,#065f46 0%,#047857 100%)}.projection-highlight-card.net-deficit{color:#fff;background:linear-gradient(135deg,#991b1b 0%,#b91c1c 100%)}.proj-top .proj-eyebrow{text-transform:uppercase;letter-spacing:.8px;opacity:.9;margin-bottom:8px;font-size:12px;font-weight:700;display:inline-block}.proj-top h2{letter-spacing:-1px;margin:0 0 10px;font-family:Bricolage Grotesque,sans-serif;font-size:42px;font-weight:800}.proj-top p{opacity:.92;max-width:600px;margin:0;font-size:14px;line-height:1.5}.projection-detail-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=800px){.projection-detail-grid{grid-template-columns:1fr}}.proj-fact-list{flex-direction:column;gap:12px;display:flex}.proj-fact-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.proj-fact-row strong{font-size:14px}.proj-fact-row small{color:var(--muted);margin-top:2px;font-size:11px;display:block}.count-diff-alert{border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.count-diff-alert.plus{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.count-diff-alert.minus{color:#991b1b;background:#fee2e2;border:1px solid #fecaca}.method-selector-radios{gap:12px;display:flex}.radio-pill{cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;flex:1;align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.radio-pill.selected{color:#4338ca;background:#eef2ff;border-color:#6366f1}.finance-authority-card{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);border:1.5px solid #e2e8f0;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;display:flex;box-shadow:0 4px 16px #0f172a0a}.authority-main{flex:1}.authority-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;align-items:center;gap:8px;margin-bottom:8px;padding:4px 14px;font-size:13px;font-weight:700;display:inline-flex}.authority-badge strong{color:#1e40af}.authority-desc{color:#475569;max-width:780px;margin:0;font-size:13px;line-height:1.55}.authority-desc strong{color:#0f172a}.authority-user-status{flex:none}.user-status-pill{border-radius:14px;align-items:center;gap:12px;padding:10px 16px;font-size:13px;transition:all .2s;display:flex}.user-status-pill.is-authorized{color:#065f46;background:#ecfdf5;border:1.5px solid #a7f3d0;box-shadow:0 2px 8px #10b9811a}.user-status-pill.is-authorized strong{color:#065f46;font-size:13px;display:block}.user-status-pill.is-authorized small{color:#047857;font-size:11px;display:block}.user-status-pill.is-restricted{color:#475569;background:#f8fafc;border:1.5px solid #e2e8f0}.user-status-pill.is-restricted strong{color:#1e293b;font-size:13px;display:block}.user-status-pill.is-restricted small{color:#64748b;font-size:11px;display:block}.locked-approve-btn{cursor:not-allowed;opacity:.88;align-items:center;gap:6px;display:inline-flex;color:#64748b!important;background:#f1f5f9!important;border:1px solid #cbd5e1!important;border-radius:10px!important;padding:8px 14px!important;font-size:12px!important;font-weight:600!important}.locked-approve-btn:hover{color:#475569!important;background:#e2e8f0!important}.modal-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#0f172ab8;justify-content:center;align-items:center;padding:20px;animation:.22s ease-out modalBackdropFade;display:flex;position:fixed;inset:0}.modal-card{z-index:10000;background:#fff;border-radius:22px;flex-direction:column;width:100%;max-height:calc(100vh - 40px);animation:.24s cubic-bezier(.16,1,.3,1) modalScaleUp;display:flex;position:relative;overflow-y:auto;box-shadow:0 30px 70px -15px #0f172a73,0 0 0 1px #00000014}.modal-head{background:#fff;border-bottom:1px solid #f1f5f9;border-radius:22px 22px 0 0;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 20px;display:flex}.modal-head-title-wrap{align-items:flex-start;gap:14px;display:flex}.modal-head-icon{color:#2563eb;background:#eff6ff;border-radius:14px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 2px 8px #2563eb1f}.modal-head h3{color:#0f172a;letter-spacing:-.3px;margin:0 0 4px;font-size:18px;font-weight:800}.modal-head p{color:#64748b;margin:0;font-size:13px;line-height:1.45}.icon-close-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;transition:all .15s;display:grid}.icon-close-btn:hover{color:#ef4444;background:#fee2e2;border-color:#fecaca;transform:scale(1.05)}.modal-body{background:#fff;flex-direction:column;gap:18px;padding:24px 28px;display:flex}.modal-info-banner{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 16px;font-size:12.5px;line-height:1.5;display:flex}.current-balance-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:4px;padding:14px 18px;display:flex}.current-balance-display .balance-sub{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.current-balance-display .balance-val{color:#0f172a;font-family:Bricolage Grotesque,sans-serif;font-size:24px;font-weight:800}.field-group{flex-direction:column;gap:6px;display:flex}.field-group label{color:#334155;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.req-star{color:#ef4444;margin-left:2px;font-weight:700}.field-group input,.field-group select,.field-group textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;width:100%;padding:12px 14px;font-family:inherit;font-size:14px;transition:all .2s}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{background:#fafcff;border-color:#2563eb;outline:none;box-shadow:0 0 0 3.5px #2563eb26}.modal-foot{background:#f8fafc;border-top:1px solid #f1f5f9;border-radius:0 0 22px 22px;justify-content:flex-end;align-items:center;gap:12px;padding:18px 28px;display:flex}.modal-foot button{border-radius:12px;min-height:42px;padding:10px 20px;font-size:13px;font-weight:700}@keyframes modalBackdropFade{0%{opacity:0}to{opacity:1}}@keyframes modalScaleUp{0%{opacity:0;transform:scale(.95)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@media (width<=640px){.finance-authority-card{flex-direction:column;align-items:flex-start}.modal-head{padding:18px 20px 16px}.modal-body{padding:18px 20px}.modal-foot{flex-direction:column-reverse;padding:14px 20px}.modal-foot button{justify-content:center;width:100%}}.credential-modal{background:#fff;border-radius:20px;width:min(520px,95vw);max-width:520px;overflow:hidden;box-shadow:0 25px 60px -15px #0f172a40,0 0 0 1px #e2e8f0cc}.credential-modal-head{border-bottom:1px solid var(--line);background:linear-gradient(#f8fafc 0%,#fff 100%);align-items:flex-start;gap:16px;padding:24px 24px 18px;display:flex;position:relative}.credential-badge-icon{width:48px;height:48px;color:var(--blue);background:linear-gradient(135deg,#e0f2fe 0%,#f0fdf4 100%);border:1px solid #bae6fd;border-radius:14px;flex:0 0 48px;place-items:center;display:grid;box-shadow:0 4px 12px #316be81f}.credential-head-text{flex:1;min-width:0}.credential-eyebrow{color:var(--blue);letter-spacing:.5px;text-transform:uppercase;align-items:center;gap:6px;margin-bottom:4px;font-size:11px;font-weight:700;display:inline-flex}.credential-head-text h2{color:var(--ink);letter-spacing:-.5px;margin:0 0 5px;font-size:21px}.credential-head-text p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.credential-head-text p strong{color:var(--ink)}.credential-close-btn{color:var(--muted);flex:none;transition:all .15s}.credential-close-btn:hover{color:var(--ink);background:#f1f5f9}.credential-modal-body{flex-direction:column;gap:16px;max-height:calc(85vh - 200px);padding:20px 24px;display:flex;overflow-y:auto}.credential-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px;transition:border-color .2s,box-shadow .2s}.credential-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a0d}.credential-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.credential-role-pill{color:var(--ink);background:#fff;border:1px solid #e2e8f0;border-radius:99px;align-items:center;gap:7px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #00000008}.credential-role-pill svg{color:var(--blue)}.credential-mini-copy-btn{color:var(--muted);cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.credential-mini-copy-btn:hover{color:var(--ink);background:#f1f5f9;border-color:#cbd5e1}.credential-fields-grid{gap:10px;display:grid}.credential-field-group{gap:5px;display:grid}.credential-field-label{letter-spacing:.5px;text-transform:uppercase;color:#64748b;font-size:10.5px;font-weight:700}.credential-value-box{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:8px 12px;display:flex}.credential-value-mono{color:#0f172a;letter-spacing:.3px;-webkit-user-select:all;user-select:all;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13.5px;font-weight:600}.credential-password-masked{letter-spacing:2px;color:#475569;font-size:14px}.credential-field-actions{align-items:center;gap:4px;display:flex}.credential-icon-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;transition:all .15s;display:grid}.credential-icon-btn:hover{color:var(--ink);background:#f1f5f9}.credential-warning-box{color:#92400e;background:#fffbeb;border:1px solid #fef3c7;border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.credential-warning-icon{color:#d97706;flex:none;margin-top:1px}.credential-warning-text{font-size:12px;line-height:1.5}.credential-warning-text strong{color:#78350f}.credential-modal-footer{border-top:1px solid var(--line);background:#f8fafc;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.credential-copy-all-btn{align-items:center;gap:8px;padding:9px 15px;font-size:13px;display:inline-flex}.credential-done-btn{align-items:center;gap:8px;padding:9px 20px;font-size:13px;display:inline-flex}.credential-copy-all-btn.copied-success{box-shadow:0 0 0 2px #22c55e33;color:#166534!important;background:#f0fdf4!important;border-color:#86efac!important}.credential-mini-copy-btn.copied{color:#166534!important;background:#f0fdf4!important;border-color:#86efac!important}.credential-icon-btn.copied{color:#166534!important;background:#f0fdf4!important}@media (width<=480px){.credential-modal-head{padding:18px 18px 14px}.credential-modal-body{padding:16px 18px}.credential-modal-footer{flex-direction:column-reverse;padding:14px 18px}.credential-modal-footer button{justify-content:center;width:100%}}.distribution-center{gap:16px;display:grid}.distribution-command-bar{border:1px solid #cbdcf0;border-left:5px solid var(--blue);background:#fff;border-radius:16px;justify-content:space-between;align-items:flex-end;gap:24px;padding:22px 24px;display:flex;box-shadow:0 12px 32px #17324d0f}.distribution-command-bar>div{max-width:720px}.distribution-command-bar h2{letter-spacing:-.6px;margin:8px 0 6px;font-size:clamp(22px,3vw,31px)}.distribution-command-bar p{max-width:680px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.distribution-kicker{color:#176b55;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.distribution-class-filter{flex:0 0 200px;gap:6px;display:grid}.distribution-class-filter span{color:var(--muted);font-size:10px;font-weight:800}.distribution-class-filter select{border:1px solid var(--line);width:100%;color:var(--ink);background:#f8fafc;border-radius:10px;padding:10px 34px 10px 11px;font-weight:700}.distribution-progress{border:1px solid var(--line);background:#f8fbff;border-radius:14px;padding:15px 18px}.distribution-progress-copy{justify-content:space-between;gap:12px;margin-bottom:9px;font-size:12px;display:flex}.distribution-progress-copy span{color:var(--blue);font-weight:800}.distribution-progress-track{background:#dce8f4;border-radius:999px;height:8px;overflow:hidden}.distribution-progress-track i{border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--green));height:100%;transition:width .25s;display:block}.distribution-facts{color:var(--muted);align-items:center;gap:18px;margin-top:11px;font-size:11px;display:flex}.distribution-facts span,.distribution-facts button{align-items:center;gap:6px;display:inline-flex}.distribution-facts b{color:var(--ink)}.distribution-facts button{color:var(--blue);background:0 0;border:0;margin-left:auto;font-weight:700}.distribution-handoff{z-index:12;background:#f3fbf8;border:1px solid #9dd8c5;border-radius:16px;position:sticky;top:82px;overflow:hidden;box-shadow:0 18px 44px #176b5529}.distribution-handoff-head{border-bottom:1px solid #cce9df;justify-content:space-between;align-items:center;gap:16px;padding:17px 20px 13px;display:flex}.distribution-handoff-head span{color:#287a63;font-size:10px;font-weight:800}.distribution-handoff-head h3{margin:3px 0 0;font-size:20px}.distribution-close{color:#5b776f;background:0 0;border:0;font-size:11px;font-weight:700}.distribution-credential-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;padding:14px 20px;display:grid}.distribution-credential{background:#fff;border:1px solid #c9e7dd;border-radius:12px;padding:13px 14px}.distribution-credential>span{color:#287a63;font-size:11px;font-weight:800}.distribution-credential p{grid-template-columns:94px 1fr;align-items:baseline;gap:8px;margin:10px 0 0;display:grid}.distribution-credential small{color:var(--muted);font-size:10px}.distribution-credential strong{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.distribution-error{background:var(--coral-soft);color:#9f4036;border:1px solid #f3b8b0;border-radius:9px;margin:0 20px 12px;padding:9px 11px;font-size:11px}.distribution-handoff-actions{flex-wrap:wrap;gap:9px;padding:2px 20px 14px;display:flex}.distribution-handoff-actions button{justify-content:center;align-items:center;gap:7px;display:inline-flex}.distribution-handoff-actions .primary-button{margin-left:auto}.distribution-security-note{color:#5b776f;border-top:1px solid #cce9df;margin:0;padding:10px 20px;font-size:10px}.distribution-queue{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.distribution-queue-head{border-bottom:1px solid var(--line);background:#f7f9fc;justify-content:space-between;padding:14px 18px;font-size:12px;display:flex}.distribution-queue-head span{color:var(--muted)}.distribution-family{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(220px,1.4fr) minmax(230px,1.2fr) minmax(150px,.8fr) auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.distribution-family:last-child{border-bottom:0}.distribution-family.is-complete{background:#f8fcfa}.distribution-family-person{align-items:center;gap:11px;min-width:0;display:flex}.distribution-family-person>div{min-width:0}.distribution-family-person strong,.distribution-family-person small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.distribution-family-person strong{font-size:13px}.distribution-family-person small{color:var(--muted);margin-top:3px;font-size:10px}.distribution-family-avatar{background:var(--blue-soft);width:38px;height:38px;color:var(--blue);border-radius:50% 50% 46% 54%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.distribution-family-accounts{flex-wrap:wrap;gap:6px 12px;display:flex}.distribution-family-accounts>span{gap:4px;display:grid}.distribution-family-accounts small{color:var(--muted);font-size:9px;font-weight:700}.distribution-stage{color:#65788a;white-space:nowrap;background:#f6f8fa;border:1px solid #d7e0e8;border-radius:999px;width:fit-content;padding:4px 7px;font-size:9px;font-weight:800}.distribution-stage.is-missing{background:var(--coral-soft);color:#a5473c;border-color:#f3c6bf}.distribution-stage.is-ready{background:var(--gold-soft);color:#8b6515;border-color:#f1d28b}.distribution-stage.is-opened{background:var(--blue-soft);color:#2658bd;border-color:#b9cdfa}.distribution-stage.is-delivered,.distribution-stage.is-activated{background:var(--green-soft);color:#176b55;border-color:#a9dfcc}.distribution-phone{color:#287a63;align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.distribution-phone.is-missing{color:#a5473c}.distribution-family>button{justify-content:center;align-items:center;gap:6px;min-width:132px;display:inline-flex}.distribution-empty{color:var(--muted);text-align:center;padding:38px 20px;font-size:12px}.spin{animation:.8s linear infinite distribution-spin}@keyframes distribution-spin{to{transform:rotate(360deg)}}@media (width<=1050px){.distribution-family{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.distribution-phone{display:none}}@media (width<=760px){.distribution-command-bar{flex-direction:column;align-items:stretch}.distribution-class-filter{flex-basis:auto}.distribution-facts{flex-wrap:wrap;align-items:flex-start}.distribution-facts button{margin-left:0}.distribution-handoff{position:static}.distribution-handoff-actions{display:grid}.distribution-handoff-actions .primary-button{margin-left:0}.distribution-family{grid-template-columns:1fr;gap:11px}.distribution-family>button{width:100%}.distribution-phone{display:flex}}@media (prefers-reduced-motion:reduce){.distribution-progress-track i{transition:none}.spin{animation:none}}.unified-resource-picker,.test-key-editor{overflow-wrap:anywhere;min-width:0}.unified-resource-picker>label,.test-key-editor>label{flex-direction:column;gap:6px;min-width:0;display:flex}.unified-resource-picker select,.unified-resource-picker textarea,.unified-resource-picker input:not([type=checkbox]),.test-key-editor select{box-sizing:border-box;min-width:0;max-width:100%}:is(.composer .check-field label:has(input[type=radio]),.composer .check-field label:has(input[type=checkbox])){flex-direction:row;align-items:center;gap:10px;display:flex}.composer .check-field input[type=radio],.composer .check-field input[type=checkbox]{flex:none;width:auto;margin:0}.unified-resource-picker>label>select,.unified-resource-picker>label>input,.test-key-editor textarea,.test-key-editor input[type=file]{width:100%}.test-key-editor label:has(input[type=checkbox]){flex-direction:row;align-items:flex-start}.test-key-editor table{width:100%}.student-target-results{gap:8px;max-height:240px;margin-top:10px;display:grid;overflow-y:auto}.student-target-results label{align-items:center;gap:8px;padding:5px 0;display:flex}.student-target-results .target-section{padding-left:22px}.resource-unit-list{gap:10px;display:grid}.resource-unit{border:1px solid var(--line);border-radius:10px;overflow:hidden}.resource-unit>summary{cursor:pointer;background:#eef3f8;padding:12px 14px;font-weight:650}.resource-unit>summary span{float:right;color:var(--muted);font-size:12px}.resource-test-row{border-top:1px solid var(--line);min-width:0;padding:10px 14px}.resource-test-row>label{align-items:center;gap:8px;font-weight:600;display:flex}.unified-resource-picker input[type=checkbox]{flex:0 0 17px;width:17px;height:17px;margin:0;padding:0}.resource-test-row>.resource-test-option{cursor:pointer;justify-content:flex-start;min-height:32px}.resource-test-option>.resource-test-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.5}.resource-test-row p{color:var(--muted);margin:5px 0;font-size:12px}.assignment-history{flex-wrap:wrap;gap:6px;display:flex}.history-badge{border-radius:5px;padding:3px 7px;font-size:11px}.history-badge.selected-target{color:#92400e;background:#fff2d9}.history-badge.other-target{color:#245580;background:#e9f3fc}.parent-shell,.parent-main,.parent-assignment-list,.parent-assignment,.detail-card,.subject-hero{min-width:0;max-width:100%}.parent-assignment{box-sizing:border-box;width:100%}.parent-assignment>span:nth-child(2){flex:1;min-width:0}.parent-assignment strong,.parent-assignment small,.subject-hero h1,.detail-card h2{white-space:normal;overflow-wrap:anywhere}.parent-assignment>svg,.mobile-subject{flex-shrink:0}.homework-tabs{gap:8px;margin:12px 0;display:flex}.homework-tabs button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;flex:1;padding:11px 8px}.homework-tabs button[aria-selected=true]{background:var(--blue-soft);color:var(--blue);border-color:var(--blue)}.review-page{padding-top:24px}.review-workspace{grid-template-columns:minmax(280px,32%) minmax(0,1fr);height:max(560px,100dvh - 190px)}.submission-queue{min-width:0;overflow-x:hidden}.queue-toolbar{flex-wrap:wrap;gap:10px;height:auto;padding:14px}.queue-toolbar>div,.queue-controls{flex-wrap:wrap;min-width:0}.queue-controls select{max-width:100%}.submission-item>span:nth-child(2){flex:1}.evidence-panel{flex-direction:column;display:flex}.evidence-panel>:not(.evidence-canvas){flex:none}.evidence-panel>.evidence-canvas{flex:1 1 0;min-height:180px;overflow:auto}.evidence-head{gap:10px;height:auto;min-height:64px;padding:12px 18px}.evidence-head>div,.evidence-head>div>div{min-width:0}.evidence-head p{overflow-wrap:anywhere}.real-evidence>img{object-fit:contain;width:calc(100% - 32px);height:auto;max-height:none;margin:16px 16px 64px;position:relative;inset:auto}.reading-status{color:#245580;background:#eff6ff;margin:0;padding:10px 16px;font-size:12px}.review-footer{flex-wrap:wrap;gap:10px}.book-task-manager{width:min(900px,95vw)}.book-task-manager>.unified-resource-picker{padding:20px 24px;overflow-y:auto}.unified-resource-picker input:not([type=checkbox]),.unified-resource-picker select,.unified-resource-picker textarea{box-sizing:border-box;border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:#f8fafc;border-radius:8px;margin-top:6px;padding:10px 12px}.unified-resource-picker label{font-size:13px}.unified-resource-picker button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#eef3f8;border-radius:7px;padding:8px 12px}.unified-resource-picker button:disabled{opacity:.5;cursor:default}.answer-choice-group{gap:7px;padding:6px;display:flex}.answer-choice-group button{background:#fff;width:38px;height:38px;padding:0}.answer-choice-group button[aria-pressed=true]{background:var(--blue);color:#fff;border-color:var(--blue)}.test-key-editor table{border-collapse:collapse;width:100%}.test-key-editor th,.test-key-editor td{text-align:left;border-bottom:1px solid var(--line);padding:6px}@media (width<=800px){.review-workspace{grid-template-columns:minmax(0,1fr);height:auto}.submission-queue{max-height:300px}.evidence-panel>.evidence-canvas{min-height:420px}.book-task-manager>.unified-resource-picker{padding:16px}}.book-create-dialog{width:min(640px,100vw - 32px)}.book-test-dialog{width:min(820px,100vw - 32px)}.book-test-body{min-height:260px;padding:24px;overflow-y:auto}.book-context{color:#3165d7;font-size:12px;font-weight:700}.text-button{color:#2457bb;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px;display:inline-flex}.authoring-back{margin-bottom:20px}.book-class-field p,.book-test-item p{color:#64748b;margin:7px 0;font-size:13px}.book-authoring-actions,.book-authoring-actions>div{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.authoring-error{color:#a32121;background:#fff1f1;border-radius:8px;padding:12px}.authoring-success{color:#126448;background:#edfaf3;border-radius:8px;padding:12px}.book-test-toolbar{justify-content:space-between;gap:16px;margin-bottom:24px;display:flex}.test-search{border:1px solid #d8e2ef;border-radius:9px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.test-search input{background:0 0;border:0;width:100%;padding:12px 0}.book-test-empty{text-align:center;color:#64748b;padding:40px 16px}.book-test-empty h3{color:#19334b;margin:12px 0}.book-test-empty .primary-button{margin:20px auto 0}.book-test-unit h3{align-items:center;gap:12px;margin:24px 0 10px;font-size:14px;display:flex}.book-test-unit h3 small{color:#64748b;font-weight:400}.book-test-item{border:1px solid #d8e2ef;border-radius:10px;justify-content:space-between;align-items:center;gap:20px;margin:8px 0;padding:18px;display:flex}.book-test-item-actions{flex-wrap:wrap;gap:8px;display:flex}.key-status{color:#64748b;background:#f1f5f9;border-radius:6px;padding:4px 8px;font-size:11px;display:inline-block}.key-status.ready{color:#126448;background:#eaf9ef}.key-status.draft{color:#946012;background:#fff7df}.test-create-form{gap:22px;display:grid}.test-create-form .form-grid{padding:0}.key-entry-method{border:0;grid-template-columns:1fr 1fr;gap:12px;padding:0;display:grid}.key-entry-method legend{margin-bottom:10px;font-size:14px;font-weight:700}.key-entry-method label{cursor:pointer;border:1px solid #d8e2ef;border-radius:10px;align-items:center;gap:10px;padding:16px;display:flex}.key-entry-method label.selected{background:#f0f5ff;border-color:#3165d7}.key-entry-method input{width:auto}.key-entry-method span{gap:6px;display:grid}.key-entry-method small{color:#64748b;font-size:12px}.authoring-options{border-top:1px solid #e2e8f0;padding:12px 0}.authoring-options summary{color:#52657a;cursor:pointer;font-size:13px}.authoring-options label,.key-photo-entry label{gap:8px;margin:14px 0;display:grid}.authoring-options input,.authoring-options textarea,.key-photo-entry select{border:1px solid #d8e2ef;border-radius:8px;width:100%;padding:10px}.key-method-tabs{gap:8px;display:flex}.key-method-tabs button{color:#52657a;background:#fff;border:1px solid #d8e2ef;border-radius:8px;padding:10px 18px}.key-method-tabs button[aria-pressed=true]{color:#2457bb;background:#edf4ff;border-color:#3165d7}.test-key-editor button:disabled{opacity:.5;cursor:default}.test-key-editor>p{color:#64748b;margin:0;font-size:13px}@media (width<=600px){.book-test-body{padding:16px}.book-test-toolbar,.book-test-item{flex-direction:column;align-items:stretch}.key-entry-method{grid-template-columns:1fr}.book-authoring-actions>div{width:100%}}.review-results{background:#fff;border:1px solid #dce5ee;border-radius:14px;overflow:hidden}.review-table-scroll{overflow-x:auto}.review-results-table{border-collapse:collapse;width:100%;font-size:14px}.review-results-table th{color:#60738a;text-align:left;white-space:nowrap;background:#f5f8fc;font-size:12px;font-weight:600}.review-results-table th,.review-results-table td{border-bottom:1px solid #e8edf3;padding:16px 14px}.review-results-table th:nth-child(n+3):nth-child(-n+8),.review-results-table td:nth-child(n+3):nth-child(-n+8){text-align:center;font-variant-numeric:tabular-nums}.review-results-table td small{color:#7b8ba0;margin-top:4px;font-size:11px;display:block}.review-results-table tr.selected{background:#f1f6ff}.review-results-table td:nth-child(2){max-width:290px}.review-student-name{color:#245ac8;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-weight:700}.review-student-name:hover{text-decoration:underline}.review-student-name:focus-visible{outline-offset:4px;outline:2px solid #316be8}.result-correct{color:#15803d;font-weight:700}.result-wrong{color:#b91c1c;font-weight:700}.result-uncertain{color:#b45309;font-weight:700}.review-results-footer{justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.review-results-footer p{margin:0 0 5px;font-weight:600}.review-results-footer small{color:#738399}.review-results-footer button{flex-shrink:0}.homework-answer-row{flex-wrap:wrap;gap:10px}.homework-answer-row>div:first-child{flex-wrap:wrap;flex:240px;min-width:0}.answer-resolution{border-top:1px solid #e8edf3;flex-wrap:wrap;flex:1 0 100%;order:5;gap:8px;padding-top:10px;display:flex}.answer-resolution label{color:#475569;flex:200px;font-size:12px}.answer-resolution input{border:1px solid #cbd5e1;border-radius:6px;width:100%;margin-top:4px;padding:8px 10px;display:block}.answer-resolution small{color:#738399;flex-basis:100%}.excluded-count{color:#475569;background:#f1f5f9;border-radius:6px;padding:4px 10px;font-size:13px}.solution-pages-option{align-items:center;gap:10px;flex-direction:row!important;display:flex!important}.solution-pages-option input{width:auto}@media (width<=700px){.review-results .queue-toolbar,.review-results-footer{flex-direction:column;align-items:stretch}.review-results .queue-controls{flex-wrap:wrap}.review-results-table{min-width:0}.review-results-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.review-results-table,.review-results-table tbody{display:block}.review-results-table tbody tr{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;display:grid}.review-results-table td{overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}.review-results-table td:before{content:attr(data-label);color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.review-results-table td:first-child,.review-results-table td:nth-child(2),.review-results-table td:nth-child(n+9),.review-results-table td[colspan]{grid-column:1/-1;max-width:none}.review-results-table td:nth-child(n+3):nth-child(-n+8){text-align:left}.review-results-table td:last-child button{width:100%}.review-results-table td[colspan]:before{display:none}.review-results .queue-controls>select:first-child{width:100%}}.account-settings>form{padding:0 25px 25px}.account-settings .field-block{min-width:0}.account-settings-actions{flex-wrap:wrap}@media (width<=760px){.deadline-strip{overflow:visible}.deadline-strip .day{flex:1 1 0;width:auto;min-width:0;min-height:64px}.assignment-table .table-row{grid-template-columns:minmax(0,1fr);gap:8px}.assignment-table .table-row>div:first-child{align-items:flex-start}.assignment-table .table-row>div:first-child>span:last-child{min-width:0}.assignment-table .dot{margin-top:5px}.assignment-table .table-row strong,.assignment-table .table-row small{white-space:normal;overflow-wrap:anywhere}.assignment-table .table-row>span:nth-child(2){color:var(--muted);padding-left:21px}.assignment-table .table-row>span.table-row-actions{justify-content:flex-end;display:flex}.account-settings>form{padding:0 20px 20px}.account-settings .composer-head{gap:12px;padding:20px}.account-settings .composer-head>div{min-width:0}.account-settings .composer-head>button{flex-shrink:0}.account-settings .account-password-fields{grid-template-columns:minmax(0,1fr)!important}.account-settings-actions{flex-direction:column-reverse;align-items:stretch}.mobile-progress>div:first-child{gap:12px}.mobile-progress>div:first-child>span{max-width:70%}}@media (width<=700px){.paper-review-body{flex-direction:column;overflow-y:auto!important}.paper-review-body>div:first-child{flex:0 0 260px!important}.paper-review-body>div:last-child{flex:1 0 400px!important}}.homework-composer{color:#17324d}.homework-composer .composer-head h2{margin:0 0 8px}.homework-composer .composer-head p{color:#64748b;max-width:58ch;margin:0;line-height:1.5}.homework-composer .form-grid[hidden]{display:none}.homework-composer .form-grid{gap:20px}.homework-composer input,.homework-composer textarea,.homework-composer select{min-width:0}.homework-section-heading{border-top:1px solid #e2e8f0;align-items:flex-start;gap:12px;padding-top:22px;display:flex}.homework-section-heading:first-child{border:0;padding-top:0}.homework-section-heading>span{color:#17324d;background:#edf2f7;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-weight:700;display:grid}.homework-section-heading h3{margin:2px 0 6px;font-size:17px}.homework-section-heading p,.homework-hint{color:#64748b;margin:0;font-size:13px;line-height:1.6}.homework-publish-summary{padding:24px 30px;overflow:auto}.homework-publish-summary h3{margin:0 0 8px;font-size:20px}.homework-publish-summary>p{color:#64748b;line-height:1.6}.homework-publish-summary dl{margin:24px 0}.homework-publish-summary dl>div{border-bottom:1px solid #e2e8f0;grid-template-columns:120px minmax(0,1fr);gap:16px;padding:14px 0;display:grid}.homework-publish-summary dt{color:#64748b;font-size:13px}.homework-publish-summary dd{overflow-wrap:anywhere;margin:0}.homework-publish-summary dd span{margin-top:6px;display:block}.homework-publish-summary details{font-size:14px}.homework-publish-summary summary{cursor:pointer;padding:12px 0;font-weight:600}.homework-publish-summary ul{max-height:160px;padding-left:22px;line-height:1.8;overflow:auto}.homework-summary-description{white-space:pre-wrap}.homework-error{color:#9f1239;background:#fff1f2;border-left:3px solid #be123c;margin:12px 24px;padding:12px 16px;font-size:14px;line-height:1.5}.homework-composer .form-grid>.homework-error{margin:0}.homework-edit{max-width:640px}.homework-upload{color:#17324d;background:#fff;border:1px solid #e2e8f0;border-radius:12px;gap:24px;padding:24px;display:grid}.homework-upload h2{margin:0 0 8px;font-size:21px}.homework-upload h3{margin:0;font-size:16px}.homework-upload p{color:#64748b;margin:8px 0;font-size:14px;line-height:1.6}.homework-upload>section{border-top:1px solid #e2e8f0;padding-top:20px}.homework-upload-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.homework-upload-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.homework-file-input{clip-path:inset(50%);width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.homework-upload-actions label{cursor:pointer;min-height:44px}.homework-upload-actions label:focus-within{outline-offset:3px;outline:3px solid #f5c443}.homework-preview-area>p{color:#64748b;font-size:13px;line-height:1.5}.homework-previews{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:14px 0 0;padding:0;list-style:none;display:grid}.homework-preview{background:#f8fafc;border:1px solid #dce4ed;border-radius:8px;min-width:0;position:relative;overflow:hidden}.homework-preview>a{background:#edf2f7;height:155px;display:block}.homework-preview img{object-fit:contain;width:100%;height:100%}.homework-preview>div{gap:4px;padding:10px;display:grid}.homework-preview strong{font-size:13px}.homework-preview span{white-space:nowrap;text-overflow:ellipsis;color:#526277;font-size:12px;overflow:hidden}.homework-preview small{color:#64748b;font-size:11px}.homework-preview>button{color:#17324d;cursor:pointer;background:#fff;border:1px solid #dce4ed;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:6px;right:6px}.homework-file-placeholder{place-content:center;justify-items:center;gap:10px;height:100%;display:grid}.homework-upload .submission-note{gap:8px;font-size:14px;display:grid}.homework-upload textarea{width:100%;font:inherit;resize:vertical;border:1px solid #cbd5e1;border-radius:8px;padding:12px}.homework-upload-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.homework-upload-footer p{margin:0;font-size:13px}.homework-upload-footer button{flex-shrink:0;min-height:44px}.homework-upload .homework-error{margin:0}.homework-composer :focus-visible,.homework-upload :focus-visible{outline-offset:3px;outline:3px solid #e8b938}.detail-status-strip>button{font:inherit;text-align:left;cursor:pointer}.review-page .page-title{margin-bottom:24px;display:block}.review-page .page-title h1{margin:0 0 10px;font-size:28px;line-height:1.2}.review-page .page-title p{color:#64748b;max-width:72ch;margin:0;font-size:14px;line-height:1.6}.review-results-table .review-status{padding:5px 8px;font-size:12px;line-height:1.5;display:inline-block}.review-results-table .review-student-name{text-align:left;line-height:1.5}@media (width<=700px){.homework-composer .composer-foot{flex-wrap:wrap;gap:10px}.homework-composer .composer-foot>div{width:100%;display:flex}.homework-composer .composer-foot>div>button{white-space:normal;flex:1;justify-content:center;min-height:44px}.homework-publish-summary{padding:20px}.homework-publish-summary dl>div{grid-template-columns:90px minmax(0,1fr)}.homework-upload{gap:20px;padding:18px}.homework-upload-footer{flex-direction:column;align-items:stretch}.homework-upload-actions>label{flex:1;justify-content:center}}.homework-kind-buttons{gap:12px;display:flex}.homework-kind-button{min-width:110px;min-height:44px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:8px;padding:10px 24px;font-weight:600}.homework-kind-book_task{color:#9a3c0b;background:#fff1e6}.homework-kind-custom{color:#31621a;background:#edf7e8}.homework-kind-book_task[aria-pressed=true]{color:#fff;background:#c95012;border-color:#9a3c0b}.homework-kind-custom[aria-pressed=true]{color:#fff;background:#3c7b22;border-color:#31621a}.manual-homework-accept{border:1px solid #cbd5e1;border-radius:8px;gap:8px;max-width:360px;padding:12px;display:grid}.manual-homework-accept label{gap:6px;font-size:13px;display:grid}.manual-homework-accept textarea{width:100%;font:inherit;padding:8px}.manual-homework-accept small{color:#64748b;line-height:1.5}
