:root{
  --navy:#174f7d;--navy2:#113d63;--blue:#246fa7;--sky:#edf6fc;--panel:#fff;
  --line:#d5e5f1;--text:#102f4b;--muted:#688096;--green:#1d8b63;--red:#b54444;
  --amber:#a16b12;--shadow:0 12px 28px rgba(24,76,115,.08);--radius:18px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Tahoma,Arial,sans-serif;background:#f2f8fc;color:var(--text)}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.ltr{direction:ltr;text-align:left}
.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e7f3fb,#f7fbfe)}
.login-card{width:min(420px,92vw);background:white;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.brandmark{width:58px;height:58px;border-radius:17px;background:linear-gradient(145deg,var(--blue),var(--navy2));display:grid;place-items:center;color:white;font-size:34px;font-weight:800;margin:auto}
.login-card h1{text-align:center;margin:14px 0 4px}.login-card p{text-align:center;color:var(--muted);margin:0 0 24px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-weight:700;font-size:14px}.field input,.field select,.field textarea,.input{width:100%;border:1px solid #c8dcea;border-radius:11px;padding:11px 12px;background:#fff;color:var(--text);outline:none}.field textarea{min-height:88px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:#4d8fbd;box-shadow:0 0 0 3px rgba(63,132,180,.12)}
.btn{border:0;border-radius:11px;padding:10px 15px;font-weight:700;transition:.15s}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--blue);color:#fff}.btn.secondary{background:#e9f2f8;color:var(--navy2)}.btn.ghost{background:#fff;border:1px solid var(--line);color:var(--navy2)}.btn.danger{background:#fff1f1;color:var(--red);border:1px solid #f0cccc}.btn.success{background:#eaf8f2;color:var(--green)}.btn.small{padding:7px 10px;font-size:13px}
.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.08)}.topbar-inner{max-width:1500px;margin:auto;padding:10px 22px;display:flex;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:10px;min-width:max-content}.brand .logo{width:43px;height:43px;border-radius:13px;background:white;color:var(--navy);display:grid;place-items:center;font-size:27px;font-weight:900}.brand b{font-size:22px}.brand small{opacity:.72}.nav{display:flex;align-items:center;gap:5px;margin-inline-start:auto}.nav button{border:0;background:transparent;color:#fff;padding:11px 14px;border-radius:12px;font-weight:700}.nav button.active,.nav button:hover{background:rgba(255,255,255,.14)}.user-pill{margin-inline-start:auto;display:flex;align-items:center;gap:8px}.user-pill button{background:#fff;color:#8b2f2f}
.page{max-width:1500px;margin:0 auto;padding:20px 22px 40px}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.page-head h1{margin:0 0 4px;font-size:30px}.page-head p{margin:0;color:var(--muted)}.head-meta{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 11px;color:var(--muted);font-size:13px}.pill strong{color:var(--text)}
.hero{background:linear-gradient(135deg,#fff,#edf6fb);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow);margin-bottom:18px}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.hero h2{margin:0 0 7px;font-size:26px}.hero p{margin:0;color:var(--muted)}
.grid{display:grid;gap:14px}.stats{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:18px}.stat{background:#fff;border:1px solid var(--line);border-radius:17px;padding:18px;text-align:center;box-shadow:var(--shadow)}.stat b{display:block;font-size:31px;color:var(--navy)}.stat span{font-size:14px;color:var(--muted)}
.portal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;text-align:right;box-shadow:var(--shadow);min-height:150px}.portal-card .icon{font-size:33px}.portal-card h3{margin:12px 0 5px;font-size:22px}.portal-card p{margin:0;color:var(--muted);line-height:1.7}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-head h2,.panel-head h3{margin:0}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.toolbar .input{min-width:220px;flex:1}.toolbar select{min-width:150px}.split{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.empty{padding:30px;text-align:center;color:var(--muted)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px}table{width:100%;border-collapse:collapse;background:white;min-width:760px}th,td{padding:11px 12px;text-align:right;border-bottom:1px solid #e7eff5;vertical-align:middle}th{background:#f5f9fc;color:#486176;font-size:13px;position:sticky;top:0}tr:hover td{background:#fbfdff}
.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;background:#edf2f6;color:#526879}.badge.active{background:#e9f8f1;color:#197251}.badge.paused{background:#fff4dc;color:#8a5e0b}.badge.closed,.badge.archived{background:#eff1f4;color:#5e6770}.badge.completed{background:#e9f3ff;color:#27699a}.badge.support{background:#fff1e8;color:#9b5b17}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.form-grid .span2{grid-column:span 2}.form-actions{display:flex;gap:9px;justify-content:flex-start;margin-top:14px;flex-wrap:wrap}.help{font-size:12px;color:var(--muted);line-height:1.6}
.plan-create{display:grid;gap:16px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.section-title h3{margin:0}.gap-builder{background:#f8fbfd;border:1px dashed #b9d4e6;border-radius:15px;padding:14px}.gap-preview{margin-top:12px;display:grid;gap:10px}.gap-staged{border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff}.gap-staged-head{display:flex;justify-content:space-between;gap:8px}.gap-staged h4{margin:0 0 4px}.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plan-page{display:grid;gap:16px}.plan-hero{background:linear-gradient(135deg,var(--navy),#246994);color:#fff;border-radius:22px;padding:22px 25px;box-shadow:var(--shadow)}.plan-hero-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.plan-hero h1{margin:2px 0 7px;font-size:31px}.plan-hero p{margin:0;opacity:.85}.plan-actions{display:flex;gap:8px;flex-wrap:wrap}.plan-actions .btn{background:rgba(255,255,255,.13);color:#fff;border:1px solid rgba(255,255,255,.2)}.plan-facts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff}.fact{padding:15px 17px;border-left:1px solid var(--line);border-bottom:1px solid var(--line);min-height:78px}.fact:nth-child(5n){border-left:0}.fact span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.fact b{font-size:16px}.fact.wide{grid-column:span 5}
.gaps-list{display:grid;gap:14px}.gap-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.gap-head{padding:16px 18px;background:#f4f9fc;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.gap-head h3{margin:0 0 4px}.gap-head p{margin:0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:14px 18px}.metric{background:#f7fafc;border:1px solid #e4edf4;border-radius:13px;padding:12px;text-align:center}.metric b{display:block;font-size:22px;color:var(--navy)}.metric span{font-size:12px;color:var(--muted)}.gap-details{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 18px 16px}.detail-box{border:1px solid #e5edf4;border-radius:12px;padding:11px;min-height:75px}.detail-box span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}.assessments{border-top:1px solid var(--line);padding:14px 18px 18px}.assessment-row{display:grid;grid-template-columns:90px 110px 100px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #edf2f6}.assessment-row:last-child{border-bottom:0}.progress{height:8px;background:#e6eef4;border-radius:999px;overflow:hidden}.progress i{display:block;height:100%;background:var(--green)}
.modal-backdrop{position:fixed;inset:0;background:rgba(12,34,51,.48);display:grid;place-items:center;padding:20px;z-index:100}.modal{width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.22)}.modal.small{width:min(560px,96vw)}.modal-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:white;z-index:2}.modal-head h2{margin:0;font-size:22px}.modal-body{padding:20px}.modal-foot{padding:14px 20px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-start;position:sticky;bottom:0;background:white}
.teacher-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:220px;overflow:auto;border:1px solid var(--line);border-radius:12px;padding:10px}.check-card{border:1px solid var(--line);border-radius:10px;padding:9px;display:flex;gap:7px;align-items:center}.subnav{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.subnav button.active{background:var(--blue);color:white}
.admin-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:16px}.admin-card{border:1px solid var(--line);background:white;border-radius:15px;padding:15px;text-align:center;color:var(--text)}.admin-card span{display:block;font-size:28px;margin-bottom:7px}.admin-card.active{border-color:#6da2c8;background:#eef7fd}
.toast{position:fixed;bottom:24px;left:24px;z-index:200;background:#173d59;color:white;border-radius:12px;padding:12px 16px;box-shadow:var(--shadow);opacity:0;transform:translateY(12px);pointer-events:none;transition:.2s;max-width:420px}.toast.show{opacity:1;transform:none}.toast.error{background:#8e3434}
.loading{display:flex;align-items:center;justify-content:center;min-height:220px;color:var(--muted)}.loading:before{content:'';width:20px;height:20px;border:3px solid #d6e4ee;border-top-color:var(--blue);border-radius:50%;margin-left:10px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.error-box{background:#fff0f0;border:1px solid #efc2c2;color:#8b3535;border-radius:12px;padding:12px 14px}.success-box{background:#edfaf4;border:1px solid #bde4d2;color:#21684f;border-radius:12px;padding:12px 14px}
@media(max-width:1100px){.stats{grid-template-columns:repeat(3,1fr)}.portal-grid{grid-template-columns:1fr}.split{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,1fr)}.plan-facts{grid-template-columns:repeat(2,1fr)}.fact:nth-child(5n){border-left:1px solid var(--line)}.fact.wide{grid-column:span 2}.metrics,.gap-details{grid-template-columns:repeat(2,1fr)}.admin-cards{grid-template-columns:repeat(3,1fr)}.topbar-inner{flex-wrap:wrap}.nav{order:3;width:100%;overflow:auto;margin-inline-start:0}.user-pill{margin-inline-start:auto}}
@media(max-width:650px){.page{padding:14px 12px 30px}.topbar-inner{padding:8px 12px}.stats{grid-template-columns:repeat(2,1fr)}.form-grid,.three,.two{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}.plan-facts,.metrics,.gap-details{grid-template-columns:1fr}.fact.wide{grid-column:span 1}.plan-hero-top,.page-head,.hero-row{flex-direction:column}.assessment-row{grid-template-columns:1fr 1fr}.teacher-choice{grid-template-columns:1fr}.admin-cards{grid-template-columns:repeat(2,1fr)}}
@media print{.topbar,.plan-actions,.btn,.toolbar,.subnav{display:none!important}.page{max-width:none;padding:0}.panel,.gap-card,.plan-hero{box-shadow:none}.plan-hero{background:#fff!important;color:#000;border:1px solid #bbb}}

/* V3 intervention workflow — v54.5 acceptance baseline */
.intervention-entry{max-width:980px;margin:42px auto;grid-template-columns:repeat(2,minmax(0,1fr))}
.intervention-entry .portal-card{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.intervention-entry .portal-card .icon{font-size:42px;margin-bottom:8px}
.gap-bank-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
.gap-bank-details>div,.prior-box{background:#f6faff;border:1px solid #d9e8f5;border-radius:12px;padding:10px 12px}
.gap-bank-details b{display:block;color:#164f7c;margin-bottom:5px}
.gap-bank-details span{display:block;line-height:1.6;color:#334e68}
.prior-box{margin-top:12px;line-height:1.7}
@media(max-width:760px){.intervention-entry,.gap-bank-details{grid-template-columns:1fr}}

/* V5: saved gap details and new assessment side-by-side */
.saved-gap-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;align-items:start;margin-top:10px}.saved-gap-main{min-width:0}.side-assessment{margin:0!important;padding:14px;background:#f8fbfd;border:1px solid var(--line);border-radius:14px;min-width:0}.assessment-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-compact .wide{grid-column:1/-1}.gap-save-row{display:flex;justify-content:flex-start;margin-top:10px}@media(max-width:1100px){.saved-gap-layout{grid-template-columns:1fr}.side-assessment{margin-top:0!important}}

/* V6: New Plan is a real full-page workspace, not a modal */
.new-plan-page{display:grid;gap:16px}
.new-plan-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 18px;box-shadow:var(--shadow)}
.new-plan-top h2{margin:12px 0 3px;font-size:26px}
.new-plan-bottom{display:flex;gap:9px;justify-content:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;position:sticky;bottom:12px;z-index:12;box-shadow:0 10px 30px rgba(23,61,89,.12)}

/* One unified gap card: details and assessment are adjacent without two boxed tables */
.gap-unified-workspace{margin-top:10px}
.gap-unified-workspace.with-assessment{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr);gap:18px;align-items:start}
.gap-fields-block,.assessment-fields-block{min-width:0}
.assessment-fields-block{padding-inline-start:18px;border-inline-start:1px solid #dbe8f1}
.inline-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
.inline-section-title h4{margin:0;font-size:18px;color:var(--navy)}
.unified-gap-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.gap-save-row{display:flex;justify-content:flex-start;margin-top:10px}
@media(max-width:1100px){.gap-unified-workspace.with-assessment{grid-template-columns:1fr}.assessment-fields-block{padding-inline-start:0;border-inline-start:0;border-top:1px solid #dbe8f1;padding-top:16px}}
@media(max-width:760px){.new-plan-top{flex-direction:column}.unified-gap-grid{grid-template-columns:1fr}.unified-gap-grid .span2{grid-column:span 1}}

/* V7: one continuous gap workspace — assessment is not a side panel/table */
.gap-unified-workspace.with-assessment{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  align-items:start;
}
.gap-unified-workspace.with-assessment .gap-fields-block,
.gap-unified-workspace.with-assessment .assessment-fields-block,
.gap-unified-workspace.with-assessment .unified-gap-grid,
.gap-unified-workspace.with-assessment .assessment-compact{
  display:contents;
}
.gap-unified-workspace.with-assessment .prior-box{grid-column:1/-1}
.gap-unified-workspace.with-assessment .gap-save-row{grid-column:1/-1;margin-top:0}
.gap-unified-workspace.with-assessment .assessment-fields-block{
  padding:0;
  border:0;
  background:transparent;
}
.gap-unified-workspace.with-assessment .inline-section-title{
  grid-column:1/-1;
  margin:4px 0 0;
  padding-top:10px;
  border-top:1px solid #e5edf4;
}
.gap-unified-workspace.with-assessment .field{margin-bottom:0}
.gap-unified-workspace.with-assessment .field.span2{grid-column:span 2}
.gap-unified-workspace.with-assessment .field.wide{grid-column:span 2}
@media(max-width:1100px){
  .gap-unified-workspace.with-assessment{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gap-unified-workspace.with-assessment .field.wide{grid-column:span 3}
}
@media(max-width:760px){
  .gap-unified-workspace.with-assessment{grid-template-columns:1fr}
  .gap-unified-workspace.with-assessment .field.span2,
  .gap-unified-workspace.with-assessment .field.wide{grid-column:span 1}
}

/* V8: compact new-plan workspace + always-visible per-gap save action */
.new-plan-page .panel{padding:14px 16px}
.new-plan-page .field{gap:5px;margin-bottom:8px}
.new-plan-page .field label{font-size:13px}
.new-plan-page .field input,
.new-plan-page .field select,
.new-plan-page .field textarea,
.new-plan-page .input{padding:8px 10px;border-radius:9px;min-height:40px}
.new-plan-page .field textarea{min-height:42px;height:auto;resize:none;overflow:hidden;line-height:1.45}
.new-plan-page .form-grid{gap:8px}
.new-plan-page .three{gap:8px}
.new-plan-page .gap-builder{padding:11px 12px}
.new-plan-page .gap-preview{gap:8px}
.new-plan-page .gap-staged{padding:11px 12px}
.new-plan-page .gap-staged-head{align-items:center;position:sticky;top:66px;z-index:4;background:#fff;padding:3px 0 8px;border-bottom:1px solid #eef3f7}
.new-plan-page .gap-staged-head h4{font-size:17px;line-height:1.35}
.gap-head-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.gap-head-save{box-shadow:0 3px 10px rgba(25,104,157,.16)}
.new-plan-page .prior-box{padding:8px 10px;font-size:13px}
.new-plan-page .inline-section-title{padding-top:6px!important;margin-top:2px!important}
.new-plan-page .inline-section-title h4{font-size:16px}
.new-plan-page .new-plan-bottom{padding:9px 12px;bottom:8px}
.new-plan-page .help{font-size:11.5px}
.new-plan-page .gap-bank-details{gap:6px}
.new-plan-page .gap-bank-details>div{padding:7px 8px}
@media(max-width:900px){.new-plan-page .gap-staged-head{top:108px}}

/* V9 — orange visual identity for new assessment */
.assessment-fields-block .inline-section-title{background:#fff3df;border:1px solid #f4c06a!important;border-inline-start:5px solid #f59e0b!important;border-top:1px solid #f4c06a!important;border-radius:11px;padding:8px 11px!important;margin:5px 0 2px!important}
.assessment-fields-block .inline-section-title h4{color:#a94e00!important}
.assessment-fields-block .field label{color:#9a4d00}
.assessment-fields-block .field input,.assessment-fields-block .field select,.assessment-fields-block .field textarea{border-color:#efc47d;background:#fffdfa}
.modal.assessment-accent .modal-head{background:#fff3df;border-bottom:1px solid #f4c06a}
.modal.assessment-accent .modal-head h2{color:#a94e00}
.modal.assessment-accent .modal-body{background:#fffaf2}
.modal.assessment-accent .field label{color:#914600}
.modal.assessment-accent input,.modal.assessment-accent select,.modal.assessment-accent textarea{border-color:#efc47d}

/* V9 — screen-first visual report with charts and printable colors */
.report-page{display:grid;gap:16px;max-width:1380px;margin:0 auto}.report-toolbar{display:flex;gap:8px;justify-content:flex-start}.report-cover{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 30px;border-radius:22px;background:linear-gradient(135deg,#173f63,#2176a8);color:#fff;box-shadow:var(--shadow)}.report-cover small{opacity:.75;font-weight:800;letter-spacing:.4px}.report-cover h1{margin:5px 0 7px;font-size:32px}.report-cover p{margin:0;opacity:.88;font-size:17px}.report-cover-badge{width:150px;height:150px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:conic-gradient(#27a67a 0 var(--report-pct,0%),rgba(255,255,255,.22) 0);border:8px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 12px #1d628b}.report-cover-badge strong{font-size:35px}.report-cover-badge span{font-size:12px;opacity:.9}.report-ident{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:#fff;border:1px solid var(--line);border-radius:17px;overflow:hidden}.report-ident>div{padding:13px 15px;border-inline-start:1px solid var(--line)}.report-ident>div:first-child{border-inline-start:0}.report-ident span{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.report-ident b{font-size:15px}.report-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.report-kpis>div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 15px;text-align:center;box-shadow:0 5px 18px rgba(23,61,89,.05)}.report-kpis span{display:block;color:var(--muted);font-size:12px}.report-kpis strong{display:block;color:var(--navy);font-size:24px;margin-top:4px}.report-kpis strong.good{color:#16825f}.report-kpis strong.warn{color:#b75d25}.report-section{background:#fff;border:1px solid var(--line);border-radius:19px;padding:18px 20px;box-shadow:0 5px 18px rgba(23,61,89,.05)}.report-section-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:13px}.report-section-head h2,.report-notes h2{margin:0 0 3px;font-size:20px;color:var(--navy)}.report-section-head p{margin:0;color:var(--muted);font-size:13px}.report-legend{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 13px;color:#526d80;font-size:12px}.report-legend span{display:flex;align-items:center;gap:6px}.report-legend .lg{width:12px;height:12px;border-radius:3px}.lg.baseline,.bar.baseline{background:#8aa3b5}.lg.latest,.bar.latest{background:#27a67a}.lg.target,.bar.target{background:#f2a13d}.report-bar-row{display:grid;grid-template-columns:minmax(180px,27%) 1fr;gap:15px;align-items:center;padding:11px 0;border-top:1px solid #edf2f6}.report-bar-row:first-of-type{border-top:0}.report-bar-label b{display:block;color:var(--navy);font-size:12px}.report-bar-label span{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.report-bars{display:grid;gap:5px}.bar-track{height:20px;background:#f1f5f8;border-radius:7px;overflow:hidden;position:relative}.bar-track .bar{display:block;height:100%;border-radius:7px;min-width:2px}.bar-track em{position:absolute;inset-inline-end:7px;top:2px;font-size:11px;font-style:normal;color:#173f63;font-weight:800;text-shadow:0 1px #fff}.report-gaps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.report-gap-card{border:1px solid #dce7ef;border-radius:15px;padding:14px;background:linear-gradient(180deg,#fff,#fbfdff)}.report-gap-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.report-gap-head span:first-child{font-size:11px;color:var(--muted)}.report-gap-head h3{font-size:16px;margin:3px 0}.report-gap-head p{margin:0;color:var(--muted);font-size:12px}.report-status{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px;white-space:nowrap}.report-status.done{background:#e5f6ee;color:#137052}.report-status.active{background:#fff3df;color:#a94e00}.report-gap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.report-gap-grid>div{background:#f4f8fb;border-radius:10px;padding:8px;text-align:center}.report-gap-grid small{display:block;color:var(--muted);font-size:10px}.report-gap-grid b{display:block;margin-top:2px}.report-trend{grid-column:1/-1!important;text-align:right!important;background:#fff!important;border:1px solid #edf2f6}.report-spark{width:100%;height:82px;margin-top:3px}.report-spark .spark-axis,.report-spark .spark-grid{stroke:#d9e4ec;stroke-width:1}.report-spark .spark-grid{stroke-dasharray:4 4}.report-spark .spark-line{fill:none;stroke:#2176a8;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.report-spark circle{fill:#f2a13d;stroke:#fff;stroke-width:2}.report-no-data{display:block;color:var(--muted);font-size:12px;padding:18px 0}.report-gap-note{margin-top:9px;padding-top:8px;border-top:1px dashed #dce7ef;color:#536c7c;font-size:11px}.report-gap-note b{color:#173f63}.report-gap-note span{padding:0 4px;color:#f2a13d}.report-notes p{margin:0;line-height:1.7;color:#486477}.report-footer{text-align:center;color:#7990a0;font-size:11px;padding:4px 0 14px}
@media(max-width:1000px){.report-ident{grid-template-columns:repeat(2,minmax(0,1fr))}.report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-gaps{grid-template-columns:1fr}.report-cover-badge{width:110px;height:110px}.report-cover-badge strong{font-size:27px}}@media(max-width:650px){.report-cover{align-items:flex-start}.report-cover-badge{display:none}.report-kpis,.report-ident{grid-template-columns:1fr 1fr}.report-bar-row{grid-template-columns:1fr}.report-gap-grid{grid-template-columns:1fr 1fr}}
@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}.no-print,.topbar,.plan-actions,.btn,.toolbar,.subnav{display:none!important}body{background:#fff!important}.page{max-width:none!important;padding:0!important}.report-page{gap:9px;max-width:none}.report-cover{box-shadow:none;padding:18px 20px;border-radius:13px}.report-cover h1{font-size:25px}.report-cover-badge{width:100px;height:100px}.report-ident>div{padding:8px 10px}.report-kpis{gap:6px}.report-kpis>div{padding:8px;box-shadow:none}.report-kpis strong{font-size:18px}.report-section{box-shadow:none;padding:12px 14px;border-radius:12px;break-inside:avoid}.report-gaps{grid-template-columns:1fr 1fr;gap:7px}.report-gap-card{break-inside:avoid;padding:9px}.report-spark{height:60px}.report-footer{padding-bottom:0}}
/* V10 — HOD intervention dashboard: compact, inline, no popups */
.intervention-entry{grid-template-columns:repeat(3,minmax(0,1fr))}
.inline-page-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.inline-page-nav h2{margin:0}
.hod-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:10px 0 14px}.hod-kpi{background:#fff;border:1px solid var(--line,#d7e4ee);border-radius:14px;padding:13px 15px;min-height:92px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'icon label' 'icon value';align-items:center;column-gap:10px}.hod-kpi>span{grid-area:icon;font-size:22px}.hod-kpi small{grid-area:label;font-weight:700;color:#536b80}.hod-kpi strong{grid-area:value;font-size:27px;color:#0b4f7c}.hod-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.hod-list{margin-top:0}.hod-dashboard .table-wrap{max-height:52vh;overflow:auto}
@media(max-width:1100px){.hod-kpis{grid-template-columns:repeat(3,1fr)}.intervention-entry{grid-template-columns:1fr}}
/* V11 — HOD intervention dashboard: compact, visual, single-page */
.hod-dashboard-v11{direction:rtl}.hod-titlebar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin-bottom:10px}.hod-titlebar h2{margin:0}.icon-refresh{width:38px;height:38px;border:1px solid var(--line,#d7e4ee);border-radius:11px;background:#fff;font-size:20px;cursor:pointer}.hod-kpis-nine{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.hod-kpis-nine .hod-kpi{border:1px solid #d7e4ee;box-shadow:0 5px 16px rgba(24,78,116,.05);cursor:pointer;text-align:right;min-height:84px;transition:.15s}.hod-kpis-nine .hod-kpi:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(24,78,116,.09)}.hod-kpis-nine .hod-kpi>span{font-size:20px}.hod-kpis-nine .hod-kpi strong{font-size:25px}.hod-section-title{font-weight:800;color:#123f62;border-right:3px solid #e8a928;padding-right:8px;margin:16px 0 8px}.hod-action-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.hod-action{border:1px solid #d7e4ee;background:#fff;border-radius:13px;padding:11px 13px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:'i b' 'i s';gap:2px 9px;text-align:right;cursor:pointer;min-height:66px}.hod-action>span{grid-area:i;font-size:21px}.hod-action>b{grid-area:b;color:#123f62}.hod-action>small{grid-area:s;color:#718497}.hod-action:hover{background:#f8fbfd}.hod-list{margin-top:12px}.hod-list .panel-head.compact{padding-bottom:7px}.hod-toolbar{grid-template-columns:minmax(260px,1fr) 190px;margin-bottom:8px}.hod-dashboard-v11 .table-wrap{max-height:42vh}.hod-dashboard-v11 table td,.hod-dashboard-v11 table th{padding-top:8px;padding-bottom:8px}
@media(max-width:1250px){.hod-kpis-nine{grid-template-columns:repeat(3,1fr)}.hod-action-tiles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.hod-kpis-nine,.hod-action-tiles{grid-template-columns:1fr}.hod-titlebar{grid-template-columns:auto 1fr}.icon-refresh{display:none}.hod-toolbar{grid-template-columns:1fr}}

/* V12 navigation + HOD interaction feedback */
.inline-page-nav{display:flex;align-items:center;gap:10px;margin:0 0 12px}.page-back-btn{white-space:nowrap}.hod-filter-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;margin:0 0 10px;border-radius:12px;background:#f5f9fd;border:1px solid #d9e8f4;color:#0d3f67}.hod-filter-result span{font-size:13px;color:#627a90}.hod-action:active,.hod-kpi:active{transform:translateY(1px)}

/* V13 — Teacher follow-up full-page workflow */
.follow-landing{display:flex;flex-direction:column;gap:14px}.follow-section-title{font-weight:900;color:#0e3c63;border-right:4px solid #e0a51a;padding:4px 10px;margin-top:4px}.follow-primary-grid,.follow-tools-grid{display:grid;gap:12px}.follow-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.follow-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.follow-card{background:#fff;border:1px solid #d6e4ef;border-radius:14px;padding:16px;text-align:right;min-height:105px;box-shadow:0 8px 22px rgba(12,58,94,.05);cursor:pointer;display:flex;flex-direction:column;gap:6px}.follow-card:hover{transform:translateY(-1px);border-color:#9fc4df}.follow-card span{font-size:24px}.follow-card b{font-size:18px;color:#0b3a61}.follow-card small{color:#71839a;line-height:1.6}.follow-card.primary-card{background:linear-gradient(180deg,#fff,#f7fbfe)}.follow-backbar{align-items:center;justify-content:flex-start;gap:14px;margin-bottom:12px}.follow-backbar h2{margin:0}.follow-workspace{padding:16px}.follow-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#eef6fb;border:1px solid #d5e6f2;border-radius:10px;padding:9px 12px;margin:10px 0}.follow-strip b{color:#0c4a75}.follow-strip span{color:#70839a;font-size:13px}.follow-strip.orange{background:#fff8e7;border-color:#f1d28c}.teacher-choice-compact{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:260px;overflow:auto;padding:4px}.teacher-choice-compact .check-card{min-height:48px;padding:8px 10px;display:flex;align-items:center;gap:8px}.teacher-choice-compact .check-card span{display:flex;flex-direction:column;gap:2px}.teacher-choice-compact small{color:#7b8b9f;font-size:11px}.follow-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.follow-form-grid .field.wide{grid-column:1/-1}.follow-form-grid .field.span2{grid-column:span 2}.follow-form-grid textarea{min-height:54px}.inline-actions.left-actions{display:flex;align-items:center;gap:10px;justify-content:flex-start;margin:8px 0 12px}.recipient-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px}.recipient-preview label{font-size:12px;color:#5e748c;font-weight:800}.recipient-box{min-height:46px;border:1px solid #d6e3ed;background:#fbfdff;border-radius:10px;padding:8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#71839a}.recipient-chip{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:#e9f3fa;color:#174f78;font-size:12px}.recipient-chip.cc{background:#fff2d8;color:#875b00}.sticky-inline-actions{position:sticky;bottom:8px;z-index:5;background:rgba(255,255,255,.96);border:1px solid #d9e7f1;box-shadow:0 8px 24px rgba(17,54,82,.1);border-radius:12px;padding:10px;display:flex;gap:8px;justify-content:flex-start;margin-top:14px}.computed-box{border:1px solid #d6e3ed;background:#f7fbfd;border-radius:9px;min-height:42px;padding:10px}.teacher-report-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 16px}.teacher-report-head h3{margin:0}.mini-stats{display:flex;gap:8px;flex-wrap:wrap}.mini-stats span{background:#eef6fb;border:1px solid #d6e4ef;border-radius:10px;padding:8px 10px;color:#5f7186}.mini-stats b{color:#0b4c78;font-size:18px;margin-left:4px}.teacher-report-body h3{margin-top:18px}.panel-head.compact{min-height:auto}.auto-textarea{resize:vertical;overflow:auto}
@media(max-width:1100px){.follow-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-choice-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.follow-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.follow-primary-grid,.follow-tools-grid,.teacher-choice-compact,.recipient-preview,.follow-form-grid{grid-template-columns:1fr}.follow-form-grid .field.span2{grid-column:auto}.follow-strip{align-items:flex-start;flex-direction:column}.sticky-inline-actions{flex-wrap:wrap}}
/* V15 — Administration & Maintenance command center */
.admin-home-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin-bottom:16px}.admin-home-bar>div{display:flex;align-items:center;gap:12px}.admin-home-bar b{font-size:18px;color:#073b63}.admin-home-bar span{font-size:13px;color:var(--muted);background:#f4f8fb;border:1px solid var(--line);border-radius:999px;padding:6px 10px}.admin-group{margin:0 0 18px}.admin-group-head{display:flex;align-items:baseline;gap:12px;margin:0 4px 9px}.admin-group-head h2{font-size:18px;margin:0;color:#073b63}.admin-group-head p{font-size:12px;color:var(--muted);margin:0}.admin-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.admin-action-card{position:relative;min-height:118px;display:flex;align-items:flex-start;gap:13px;text-align:right;border:1px solid #d6e4ee;background:#fff;border-radius:17px;padding:17px 16px;box-shadow:0 8px 20px rgba(31,83,119,.045);color:var(--text);transition:.16s ease}.admin-action-card:hover{transform:translateY(-2px);border-color:#9fc3dc;box-shadow:0 10px 24px rgba(31,83,119,.09)}.admin-action-card.active{border-color:#287cb4;background:#f2f9fd}.admin-action-icon{font-size:30px;line-height:1;flex:0 0 38px;text-align:center}.admin-action-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-action-copy b{font-size:16px;color:#073b63}.admin-action-copy small{font-size:12px;line-height:1.7;color:#6f8396}.admin-action-card em{position:absolute;left:12px;bottom:10px;font-style:normal;font-size:10px;color:#8a6a1e;background:#fff7d9;border:1px solid #f0dda0;padding:3px 7px;border-radius:999px}.admin-action-card.planned{background:#fcfdfe}.admin-action-card.planned .admin-action-icon{filter:saturate(.65)}.admin-work-panel{margin-top:22px;scroll-margin-top:90px}.admin-work-panel.hidden{display:none}.admin-inline-back{display:flex;justify-content:flex-start;margin-bottom:12px}.admin-subhead{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.admin-subhead h2,.admin-subhead p{margin:0}.admin-subhead p{margin-top:5px;color:var(--muted);font-size:13px}.admin-pending{text-align:center;padding:38px 20px;background:#f8fbfd;border:1px dashed #bfd5e4;border-radius:14px}.admin-pending span{display:block;font-size:38px;margin-bottom:8px}.admin-pending b{display:block;font-size:18px;color:#073b63}.admin-pending p{color:var(--muted);margin-bottom:0}
@media(max-width:1100px){.admin-action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.admin-action-grid{grid-template-columns:1fr}.admin-home-bar,.admin-group-head,.admin-subhead{align-items:flex-start;flex-direction:column}.admin-home-bar>div{align-items:flex-start;flex-direction:column}}

.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-excel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-upload-box{grid-column:1/-1;border:1px dashed #a9c9df;background:#f7fbfe;border-radius:14px;padding:18px}.admin-upload-box p{color:var(--muted);font-size:13px}.admin-upload-box input{margin-top:8px}.admin-safe-note{margin-top:14px;padding:12px;border:1px solid #d6e4ee;border-radius:12px;background:#f8fbfd}@media(max-width:650px){.admin-excel-grid{grid-template-columns:1fr}}

.account-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 16px}.btn.warning{background:#fff4df;border-color:#efbf63;color:#8a5a00}.admin-safe-note{margin-top:12px;padding:12px 14px;border:1px solid #cfe0ee;border-radius:12px;background:#f7fbfe;color:#587088}.teacher-account-pick{width:18px;height:18px;accent-color:#1f6f9e}
/* V18 targeted fixes */
.edit-plan-dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important}.edit-plan-dates .field,.edit-plan-dates input{min-width:0!important;width:100%!important;box-sizing:border-box}.modal.small{width:min(620px,calc(100vw - 28px))!important}.modal.small .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.inline-assessment-form{margin-top:14px;padding:14px;border-radius:16px;background:#fff8ef;border:1px solid #f2c58c}.inline-assessment-form[hidden]{display:none!important}.inline-assessment-form .inline-actions{display:flex;gap:8px;justify-content:flex-start;margin-top:10px}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn.warning{background:#fff2d9;border-color:#efb64f;color:#8a5710}.report-recipient-list{max-height:260px;overflow:auto;margin:12px 0}.checkbox-line{display:flex!important;align-items:center;gap:8px}.checkbox-line input{width:auto!important}
@media(max-width:760px){.edit-plan-dates,.modal.small .form-grid{grid-template-columns:1fr!important}}

/* V23 final safety */
.gap-section-locked{border-style:dashed;opacity:.92}.gap-lock-message{padding:14px 16px;margin-bottom:12px;border:1px solid #cbd5e1;border-radius:14px;background:#f8fafc;font-weight:700;color:#475569}.gap-section-locked fieldset{border:0;padding:0;margin:0;opacity:.55}.gap-section-locked fieldset:disabled{cursor:not-allowed}

/* ===== V24 post-test consolidated UI ===== */
.permission-icon-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0}.permission-icon-grid .check-card{position:relative;min-height:96px;border:1px solid #dbe4f0;border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;cursor:pointer;background:#f8fafc;transition:.18s}.permission-icon-grid .check-card input{position:absolute;opacity:0;pointer-events:none}.permission-icon-grid .check-card.selected{background:#eef6ff;border-color:#6ea8e8;box-shadow:0 5px 16px rgba(38,93,151,.12)}.perm-icon{font-size:25px}.perm-tick{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#dfe7ef;color:#fff;font-weight:900}.check-card.selected .perm-tick{background:#2d7bd0}.security-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.security-check{border:1px solid #dbe4f0;border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:6px}.security-check.ok{background:#f3fbf6}.security-check.warn{background:#fffaf0}.security-check.bad{background:#fff4f4}.auto-open-assessment{margin-top:14px;border-top:1px dashed #ccd7e5;padding-top:14px}.auto-open-assessment .inline-section-title:after{content:'التقييم التالي مفتوح تلقائيًا حتى تحقق الهدف';font-size:12px;color:#64748b;margin-inline-start:8px}
@media print{.report-page{font-size:11px!important;gap:5px!important}.report-cover{padding:10px 14px!important}.report-cover-badge{width:78px!important;height:78px!important}.report-section{padding:8px 10px!important;margin:0!important;break-inside:avoid!important}.report-kpis>div{padding:5px!important}.report-gaps{gap:4px!important}.report-gap-card{padding:6px!important}.report-spark{height:45px!important}.report-footer{margin-top:3px!important} @page{size:A4;margin:8mm}}


/* V26 targeted UX fixes */
.upload-reset{margin-inline-start:8px}
.report-assessment-log{margin-top:12px;border-top:1px solid #e5e7eb;padding-top:10px}
.report-assessment-log h4{margin:0 0 8px;font-size:13px}
.report-assessment-row{display:grid;grid-template-columns:28px 90px 58px 95px minmax(150px,1fr) 90px minmax(120px,1fr);gap:8px;align-items:start;padding:7px 0;border-bottom:1px dashed #e5e7eb;font-size:11px}
.report-date-filter{margin-bottom:12px}
.teacher-choice{max-height:360px;overflow:auto}
.teacher-choice .check-card{padding:8px 10px;min-height:0}
@media print{.report-assessment-row{break-inside:avoid}.report-gap-card{break-inside:avoid}.report-page{padding:0}.report-section{margin-top:10px}.report-gap-card{margin-bottom:10px}}
@media(max-width:900px){.report-assessment-row{grid-template-columns:1fr 1fr}.report-assessment-row span:nth-child(n+3){grid-column:span 2}}

/* V28 school identity */
.branding-grid{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(420px,1.5fr);gap:18px;align-items:start}.branding-preview{text-align:center;display:grid;gap:10px;justify-items:center}.school-logo-preview{width:150px;height:110px;border:1px dashed #cbd5e1;border-radius:16px;display:grid;place-items:center;background:#fff;overflow:hidden;color:#64748b}.school-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.branding-sign{width:100%;margin-top:12px;padding-top:14px;border-top:1px solid #e2e8f0;display:grid;gap:4px}.branding-sign span,.branding-sign em{font-size:13px;color:#64748b}.branding-sign em{font-style:normal;color:#315a8a}@media(max-width:800px){.branding-grid{grid-template-columns:1fr}}
.report-school-brand{display:flex;align-items:center;gap:14px;margin-bottom:16px}.report-school-brand img{width:76px;height:64px;object-fit:contain;background:#fff;border-radius:10px}.report-school-brand .school-copy{display:grid;gap:2px}.report-school-brand .school-copy b{font-size:16px}.report-school-brand .school-copy span{font-size:12px;opacity:.82}.report-signature{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;border-top:1px solid #dbe3ee;margin-top:22px;padding-top:14px}.report-signature .official{display:grid;gap:2px}.report-signature small{color:#64748b}.pdf-export-clone{position:fixed!important;left:-100000px!important;top:0!important;width:190mm!important;background:#fff!important;z-index:-1!important}.pdf-export-clone .no-print{display:none!important}


/* V28.3 acceptance-closeout refinements */
.modal .field.wide>.teacher-choice{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));max-height:330px;gap:9px;padding:12px;background:#f8fbfd}
.modal .field.wide>.teacher-choice .check-card{background:#fff;min-height:44px;justify-content:flex-start;line-height:1.35}
.modal .field.wide>.teacher-choice .check-card input{flex:0 0 auto}
.btn:disabled{cursor:not-allowed;opacity:.62;transform:none!important}
@media(max-width:650px){.modal .field.wide>.teacher-choice{grid-template-columns:1fr}}


/* Preview — compact A4 plan report pagination */
@media print{
  .report-page{width:auto!important;max-width:none!important;gap:4px!important}
  .report-section{break-inside:auto!important;page-break-inside:auto!important;padding:7px 9px!important}
  .report-section-head{break-after:avoid!important;page-break-after:avoid!important;margin-bottom:5px!important}
  .report-gaps{display:block!important}
  .report-gap-card{break-inside:avoid!important;page-break-inside:avoid!important;margin:0 0 6px!important;padding:6px!important}
  .report-gap-head h3{margin-top:2px!important;margin-bottom:2px!important;line-height:1.3!important}
  .report-gap-head p{margin:2px 0!important}
  .report-gap-grid{gap:4px!important}
  .report-gap-grid>div{padding:4px!important}
  .report-gap-note{padding:5px 0!important;margin-top:4px!important}
  .report-assessment-log{margin-top:5px!important;padding-top:5px!important}
  .report-assessment-log h4{margin-bottom:3px!important}
  .report-assessment-row{padding:3px 0!important;gap:5px!important;line-height:1.3!important}
  .report-notes{break-inside:avoid!important;page-break-inside:avoid!important}
  .report-signature{break-inside:avoid!important;page-break-inside:avoid!important;margin-top:8px!important;padding-top:7px!important}
  .report-footer{break-inside:avoid!important;page-break-inside:avoid!important}
  @page{size:A4;margin:7mm}
}


/* Preview — adaptive short/long A4 report flow */
@media print{
  .report-cover{padding:8px 12px!important}
  .report-school-brand{margin-bottom:8px!important}
  .report-ident{gap:4px!important}
  .report-ident>div{padding:5px 8px!important}
  .report-kpis{gap:4px!important}
  .report-kpis>div{padding:4px 6px!important}
  .report-bar-row{padding:3px 0!important}
  .report-bar-chart{gap:2px!important}
  .report-section:has(.report-bar-chart){padding-bottom:5px!important}
  .report-section:has(.report-gaps){break-before:auto!important;page-break-before:auto!important}
  .report-gaps{column-count:2!important;column-gap:6px!important;display:block!important}
  .report-gap-card{display:inline-block!important;width:100%!important;box-sizing:border-box!important;vertical-align:top!important}
  .report-gap-card:has(.report-assessment-log){break-inside:avoid!important}
  .report-notes{margin-top:4px!important;padding:6px 9px!important}
  .report-notes h2{margin:0 0 2px!important}
  .report-notes p{margin:0!important}
}


/* Preview — keep report closing block with the last content page */
@media print{
  .report-notes{break-after:avoid!important;page-break-after:avoid!important}
  .report-signature{break-before:avoid!important;page-break-before:avoid!important;margin-top:5px!important;padding-top:5px!important}
  .report-footer{margin-top:2px!important;padding-top:3px!important}
  .report-signature .official{gap:0!important}
}


/* Preview — final A4 closeout: keep diagnosis/signature on page 2 */
@media print{
  .report-notes{break-before:avoid!important;page-break-before:avoid!important;break-inside:avoid!important;page-break-inside:avoid!important;padding:3px 7px!important;margin:2px 0 0!important}
  .report-notes h2{font-size:15px!important;line-height:1.15!important}
  .report-notes p{font-size:10px!important;line-height:1.25!important}
  .report-signature{font-size:9px!important;line-height:1.15!important;margin-top:2px!important;padding-top:3px!important}
  .report-signature b{font-size:10px!important}
  .report-signature small{font-size:8px!important}
  .report-footer{font-size:8px!important;line-height:1.1!important;margin-top:1px!important;padding-top:2px!important}
}


/* Preview — atomic report closeout block */
@media print{
  .report-closeout{break-inside:avoid!important;page-break-inside:avoid!important;display:block!important}
}


/* Preview — dedicated print footer; does not consume normal report flow */
.report-print-footer{display:none}
@media print{
  .report-page{padding-bottom:12mm!important}
  .report-print-footer{
    display:flex!important;
    position:fixed!important;
    left:7mm!important;
    right:7mm!important;
    bottom:2.5mm!important;
    z-index:20!important;
    justify-content:space-between!important;
    gap:8px!important;
    border-top:1px solid #dbe3ee!important;
    padding-top:2px!important;
    background:#fff!important;
    color:#64748b!important;
    font-size:7.5px!important;
    line-height:1.15!important;
  }
  .report-closeout{break-inside:avoid!important;page-break-inside:avoid!important}
}


/* Preview — final closeout: no generated fixed footer */
@media print{
  .report-page{padding-bottom:4mm!important}
  .report-closeout{break-inside:auto!important;page-break-inside:auto!important}
  .report-signature{break-before:avoid!important;page-break-before:avoid!important;break-inside:avoid!important;page-break-inside:avoid!important}
}

/* SMART DEVELOPER V28.7 */
.smartdev-request{border:1px solid #cfe0ee;background:linear-gradient(180deg,#fff,#f8fbfe)}
.smartdev-request textarea{min-height:150px;resize:vertical;font-size:15px;line-height:1.8}
.smartdev-hint{margin-top:8px;padding:10px 12px;border-radius:10px;background:#f4f8fb;color:#5e7488;font-size:13px}
.safe-dev-banner{margin:12px 0;padding:13px 15px;border:1px solid #c9ddeb;border-radius:12px;background:#eef7fc;color:#174d70}
.dev-stable-box{margin:10px 0 16px;padding:11px 14px;border:1px solid #d9e4ec;border-radius:11px;background:#fff}
.dev-stable-box span{direction:ltr;display:inline-block}


/* V28.4 teacher account editor */
.teacher-edit-modal{width:min(1120px,97vw);max-height:94vh}
.teacher-edit-modal .modal-body{padding:18px 20px}
.teacher-edit-layout{display:grid;gap:18px}
.teacher-edit-main{background:#f8fbfd;border:1px solid var(--line);border-radius:16px;padding:14px}
.teacher-assignments-panel{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}
.teacher-assignments-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line);background:#f7fafc}
.teacher-assignments-head h3{margin:0 0 3px;font-size:18px}
.teacher-assignments-head p{margin:0;color:var(--muted);font-size:12px}
.teacher-grade-list{display:grid;gap:12px;padding:14px;max-height:48vh;overflow:auto}
.teacher-grade-group{border:1px solid #e4edf4;border-radius:14px;padding:12px;background:#fbfdff}
.teacher-grade-title{font-weight:800;color:var(--navy);margin-bottom:9px;font-size:15px}
.teacher-section-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.teacher-section-card{min-width:0;background:#fff}
.teacher-section-card span,.teacher-section-card b{min-width:0;overflow-wrap:anywhere}
.account-type-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#eef7fd;border:1px solid #cfe3f2;color:#164f7c;font-weight:700;white-space:nowrap}
@media(max-width:900px){.teacher-section-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-edit-modal .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.teacher-section-grid,.teacher-edit-modal .form-grid{grid-template-columns:1fr}.teacher-edit-modal .form-grid .span2{grid-column:span 1}.teacher-assignments-head{align-items:flex-start;flex-direction:column}}
