:root{--blue:#0030a0;--navy:#17365d;--teal:#16888d;--ink:#17233b;--muted:#68788a;--line:#dfe5ed;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#eef2f7;color:var(--ink)}button,input,select{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr}.brand{display:flex;gap:24px;align-items:center;padding:8vw;color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue) 60%,var(--teal))}.logo{width:88px;height:88px;display:grid;place-items:center;border:4px solid #ffffffcc;border-radius:28px;font-size:46px;font-weight:900}.logo.small{width:44px;height:44px;border-width:2px;border-radius:14px;font-size:23px}.brand h1{font-size:56px;margin:8px 0}.brand p{font-size:18px;line-height:1.5;opacity:.9}.brand small,.head small,header small,.hero small{font-weight:900;letter-spacing:1.5px}.login-card{align-self:center;width:min(430px,calc(100% - 70px));margin:auto}.login-card b{display:inline-block;padding:6px 10px;border-radius:999px;color:var(--blue);background:#eaf0f8}.login-card h2{font-size:32px;margin:18px 0 6px}.login-card p{color:var(--muted)}label{display:block;font-size:10px;font-weight:900;text-transform:uppercase;color:#596b7d}input,select{width:100%;min-height:43px;margin:6px 0 14px;padding:9px 11px;border:1px solid #cfd8e3;border-radius:9px;background:#fff}.login-card button,.panel button,.logout{min-height:40px;padding:8px 13px;border:0;border-radius:8px;color:#fff;background:var(--blue);font-weight:800}.login-card button{width:100%}#loginStatus{color:#b3261e;margin-top:10px}.app{min-height:100vh;display:grid;grid-template-columns:264px 1fr}aside{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:18px 14px;color:#fff;background:linear-gradient(#122946,#17365d 65%,#10223d)}.side-brand{display:flex;gap:12px;align-items:center;padding:4px 8px 20px}.side-brand strong,.side-brand span{display:block}.side-brand span{font-size:10px;opacity:.7}nav{display:grid;gap:5px}nav small{margin:15px 10px 4px;font-size:9px;letter-spacing:1.4px;opacity:.55}nav button{display:flex;gap:9px;align-items:center;padding:11px;border:0;border-radius:9px;color:#ffffffd0;background:transparent;text-align:left}nav button.active{background:#ffffff20;color:#fff}nav button em{margin-left:auto;font-size:8px;opacity:.5}.logout{margin-top:auto;background:#fff;color:var(--navy)}main{min-width:0;padding:0 24px 34px}header{min-height:88px;display:flex;justify-content:space-between;align-items:center;margin:0 -24px 22px;padding:16px 26px;border-bottom:1px solid var(--line);background:#fffffff0}header h1{margin:3px 0 0}.profile{display:flex;gap:9px;align-items:center}.profile>div{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--blue);font-weight:900}.profile strong,.profile small{display:block}.profile small{color:var(--muted);font-size:9px}.view{display:none}.view.active{display:block}.hero{display:flex;justify-content:space-between;align-items:center;padding:25px 28px;border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--navy),var(--blue) 62%,var(--teal));box-shadow:0 14px 38px #17365d1a}.hero h2{font-size:30px;margin:4px 0}.hero p{margin:0;opacity:.85}.hero b{text-align:right;line-height:1.5}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:17px 0}.stats article{display:flex;gap:13px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:13px;background:#fff}.stats article>span{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;color:#fff;background:var(--blue);font-size:20px}.stats small,.stats strong,.stats p{display:block}.stats small{color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase}.stats strong{color:var(--blue);font-size:25px}.stats p{margin:2px 0;color:var(--muted);font-size:10px}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.panel{padding:18px;border:1px solid var(--line);border-radius:13px;background:#fff;box-shadow:0 7px 22px #17365d0f}.head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}.head h3{margin:3px 0;color:var(--navy)}.head p{margin:3px 0;color:var(--muted);font-size:11px}.secondary{color:var(--blue)!important;background:#eaf0f8!important}.activity{display:grid;grid-template-columns:35px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid #edf0f4;border-radius:9px;margin-bottom:8px}.activity>span{width:35px;height:35px;display:grid;place-items:center;border-radius:10px;color:#17833b;background:#e8f5eb}.activity strong,.activity small{display:block}.activity small,.activity time{color:var(--muted);font-size:9px}.quick{display:grid;grid-template-columns:1fr 1fr;gap:9px}.quick button{min-height:118px;padding:14px;border:1px solid var(--line);color:var(--ink);background:#f5f7fb;text-align:left}.quick strong,.quick small{display:block}.quick strong{margin:8px 0 4px}.quick small{color:var(--muted);font-size:9px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:11px}#studentForm{padding:15px;border:1px solid var(--line);border-radius:11px;background:#f5f7fb;margin-bottom:18px}.buttons,.toolbar>div{display:flex;gap:8px}.toolbar{display:flex;justify-content:space-between;align-items:center;margin:14px 0}.toolbar input{min-width:320px;margin:0}.table{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e8ecf1;text-align:left;font-size:11px}th{color:var(--muted);background:#f7f9fc;font-size:9px;text-transform:uppercase}.actions{display:flex;gap:5px}.actions button{min-height:30px;padding:5px 8px;font-size:10px}.danger{background:#b3261e!important}.empty{padding:30px;text-align:center;color:var(--muted)}#toast{position:fixed;right:24px;bottom:24px;padding:12px 15px;border-radius:10px;color:#fff;background:var(--navy)}dialog{width:min(900px,calc(100vw - 30px));border:0;border-radius:14px;padding:0}.dialog{padding:18px}@media(max-width:950px){.login{grid-template-columns:1fr}.brand{min-height:35vh}.app{grid-template-columns:1fr}aside{display:none}.dashboard-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){main{padding:0 12px 24px}header{margin:0 -12px 15px}.stats,.quick,.form-grid{grid-template-columns:1fr}.hero,.toolbar{align-items:stretch;flex-direction:column}}

html{scroll-behavior:smooth}
.app.entering{animation:appEnter .34s ease}
@keyframes appEnter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.view.view-enter{animation:viewEnter .26s ease}
@keyframes viewEnter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.stats article,.panel,.quick button,.nav{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.stats article:hover,.panel:hover{transform:translateY(-2px);box-shadow:0 12px 28px #17365d14}
.quick button:hover:not(:disabled){transform:translateY(-2px);background:#eef3fb}
.nav:hover:not(:disabled){background:#ffffff14}
button:disabled{cursor:not-allowed;opacity:.58}

/* NHHSA EducationOS Release 1.1.1 */
.app.entering { animation: appEnter111 .35s ease both; }
@keyframes appEnter111 {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Release 1.1.2 — true login/application separation */
[hidden] {
  display: none !important;
}

body.auth-login {
  overflow: hidden;
}

body.auth-app {
  overflow-x: hidden;
  overflow-y: auto;
}

#login:not([hidden]) {
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
}

#app:not([hidden]) {
  min-height: 100vh;
  display: grid;
}

#login[hidden],
#app[hidden] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.app-enter-112 {
  animation: appEnter112 .32s ease both;
}

@keyframes appEnter112 {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

.profile-dialog{width:min(960px,calc(100vw - 30px));border:0;border-radius:18px;padding:0;overflow:hidden}.profile-hero{display:grid;grid-template-columns:70px 1fr auto;gap:16px;align-items:center;padding:22px;color:white;background:linear-gradient(135deg,#17365d,#0030a0 65%,#16888d)}.profile-avatar-large{width:70px;height:70px;display:grid;place-items:center;border:2px solid #ffffffcc;border-radius:20px;font-weight:900;font-size:24px}.profile-hero h2{margin:3px 0}.profile-hero p{margin:0;opacity:.85}.profile-hero button{border:0;border-radius:8px;padding:8px 12px;background:white;color:#17365d;font-weight:800}.profile-tabs{display:flex;gap:4px;padding:10px 16px;border-bottom:1px solid #dfe5ed;background:#f7f9fc;overflow:auto}.profile-tab{border:0;border-radius:8px;padding:9px 12px;background:transparent;color:#68788a;font-weight:800}.profile-tab.active{background:#eaf0f8;color:#0030a0}.profile-pane{display:none;padding:20px}.profile-pane.active{display:block}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.profile-grid article,.profile-note,.profile-alert{padding:14px;border:1px solid #dfe5ed;border-radius:11px;background:#f9fbfd}.profile-grid small,.profile-grid strong{display:block}.profile-grid small{font-size:9px;color:#68788a;text-transform:uppercase;font-weight:900}.profile-grid strong{margin-top:6px;color:#17365d}.profile-note{margin-bottom:12px}.profile-alert{border-left:5px solid #b3261e;background:#fff6f5}@media(max-width:700px){.profile-grid{grid-template-columns:1fr}}

/* Release 1.3 — Student Workspace */
.student-workspace{
  overflow:hidden;
  border:1px solid #dfe5ed;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 30px #17365d12;
}
.workspace-header{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:18px;
  align-items:center;
  padding:22px;
  color:#fff;
  background:linear-gradient(135deg,#17365d,#0030a0 62%,#16888d);
}
.workspace-back{
  align-self:start;
  border:1px solid #ffffff55;
  border-radius:8px;
  padding:8px 11px;
  color:#fff;
  background:#ffffff12;
  font-weight:800;
}
.workspace-identity{
  display:flex;
  gap:15px;
  align-items:center;
}
.workspace-avatar{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border:2px solid #ffffffcc;
  border-radius:19px;
  background:#ffffff16;
  font-size:23px;
  font-weight:900;
}
.workspace-identity small{
  font-size:9px;
  font-weight:900;
  letter-spacing:1.5px;
}
.workspace-identity h2{
  margin:4px 0;
  font-size:27px;
}
.workspace-identity p{
  margin:0;
  opacity:.85;
}
.workspace-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.workspace-actions button,
.workspace-activity-heading button{
  min-height:38px;
  border:0;
  border-radius:8px;
  padding:8px 12px;
  color:#0030a0;
  background:#fff;
  font-weight:800;
}
.workspace-actions .secondary{
  color:#17365d!important;
  background:#eaf0f8!important;
}
.workspace-summary{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  padding:14px 18px;
  border-bottom:1px solid #dfe5ed;
  background:#f7f9fc;
}
.workspace-summary article{
  padding:11px 13px;
  border:1px solid #e4e9ef;
  border-radius:10px;
  background:#fff;
}
.workspace-summary small,
.workspace-summary strong{
  display:block;
}
.workspace-summary small{
  color:#68788a;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.workspace-summary strong{
  margin-top:5px;
  color:#17365d;
  font-size:12px;
}
.workspace-tabs{
  display:flex;
  gap:4px;
  padding:10px 18px;
  border-bottom:1px solid #dfe5ed;
  overflow-x:auto;
}
.workspace-tab{
  border:0;
  border-radius:8px;
  padding:9px 12px;
  color:#68788a;
  background:transparent;
  font-weight:800;
  white-space:nowrap;
}
.workspace-tab.active{
  color:#0030a0;
  background:#eaf0f8;
}
.workspace-tab em{
  display:block;
  margin-top:2px;
  font-size:7px;
  font-style:normal;
  opacity:.6;
}
.workspace-pane{
  display:none;
  padding:20px;
}
.workspace-pane.active{
  display:block;
  animation:viewEnter .24s ease;
}
.workspace-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.workspace-grid article{
  padding:14px;
  border:1px solid #dfe5ed;
  border-radius:11px;
  background:#f9fbfd;
}
.workspace-grid small,
.workspace-grid strong{
  display:block;
}
.workspace-grid small{
  color:#68788a;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.workspace-grid strong{
  margin-top:6px;
  color:#17365d;
  font-size:13px;
}
.workspace-card{
  margin-top:13px;
  padding:16px;
  border:1px solid #dfe5ed;
  border-radius:11px;
}
.workspace-card h3,
.workspace-alert h3{
  margin:0 0 8px;
  color:#17365d;
}
.workspace-card p,
.workspace-alert p{
  margin:0;
  color:#526274;
  line-height:1.6;
}
.workspace-alert{
  padding:16px;
  border:1px solid #f0c8c4;
  border-left:5px solid #b3261e;
  border-radius:11px;
  background:#fff6f5;
}
.future-module-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:14px;
}
.future-module-grid article{
  padding:14px;
  border:1px dashed #cfd8e3;
  border-radius:11px;
  background:#f7f9fc;
}
.future-module-grid span,
.future-module-grid strong,
.future-module-grid small{
  display:block;
}
.future-module-grid span{
  color:#0030a0;
  font-size:20px;
}
.future-module-grid strong{
  margin:8px 0 4px;
}
.future-module-grid small{
  color:#68788a;
  font-size:9px;
}
.workspace-activity-heading{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:15px;
  margin-bottom:14px;
}
.workspace-activity-heading small{
  color:#0030a0;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.4px;
}
.workspace-activity-heading h3{
  margin:3px 0 0;
  color:#17365d;
}
.workspace-activity-list{
  display:grid;
  gap:8px;
}
.workspace-activity-item{
  display:grid;
  grid-template-columns:35px 1fr auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #e5eaf0;
  border-radius:10px;
}
.workspace-activity-item>span{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#176b34;
  background:#e8f5eb;
}
.workspace-activity-item strong,
.workspace-activity-item small{
  display:block;
}
.workspace-activity-item small,
.workspace-activity-item time{
  color:#68788a;
  font-size:9px;
}
@media(max-width:900px){
  .workspace-header{grid-template-columns:1fr}
  .workspace-summary{grid-template-columns:repeat(2,1fr)}
  .workspace-grid{grid-template-columns:repeat(2,1fr)}
  .future-module-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:580px){
  .workspace-summary,
  .workspace-grid,
  .future-module-grid{grid-template-columns:1fr}
  .workspace-identity{align-items:flex-start}
}

/* Release 1.4 — Checksheet Engine */
.checksheet-toolbar{
  display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px
}
.checksheet-toolbar small,.dialog-heading small{
  color:#0030a0;font-size:9px;font-weight:900;letter-spacing:1.4px
}
.checksheet-toolbar h3,.dialog-heading h3{margin:3px 0;color:#17365d}
.checksheet-toolbar p{margin:4px 0 0;color:#68788a}
.checksheet-toolbar button,.checksheet-header-actions button,.subject-metrics button,.dialog-actions button{
  min-height:39px;border:0;border-radius:8px;padding:8px 12px;color:#fff;background:#0030a0;font-weight:800
}
.checksheet-empty{padding:34px;border:1px dashed #cbd5e1;border-radius:12px;color:#68788a;background:#f8fafc;text-align:center}
.checksheet-layout{display:grid;grid-template-columns:245px 1fr;gap:14px}
.checksheet-history{border:1px solid #dfe5ed;border-radius:12px;background:#f7f9fc;overflow:hidden}
.checksheet-history-heading{padding:13px;border-bottom:1px solid #dfe5ed;background:#fff}
.checksheet-history-heading strong,.checksheet-history-heading span{display:block}
.checksheet-history-heading span{margin-top:3px;color:#68788a;font-size:9px;text-transform:uppercase}
.checksheet-history-item{width:100%;display:flex;justify-content:space-between;gap:8px;padding:12px;border:0;border-bottom:1px solid #e5eaf0;background:transparent;text-align:left}
.checksheet-history-item:hover,.checksheet-history-item.active{background:#eaf0f8}
.checksheet-history-item span:last-child{text-align:right}
.checksheet-history-item strong,.checksheet-history-item small,.checksheet-history-item b{display:block}
.checksheet-history-item small{margin-top:3px;color:#68788a;font-size:8px}
.checksheet-history-item b{color:#0030a0}
.checksheet-detail{min-width:0;border:1px solid #dfe5ed;border-radius:12px;overflow:hidden}
.checksheet-detail-header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:17px;background:#fff}
.checksheet-detail-header small{color:#0030a0;font-size:9px;font-weight:900;letter-spacing:1.3px}
.checksheet-detail-header h3{margin:4px 0;color:#17365d;font-size:21px}
.checksheet-detail-header p{margin:0;color:#68788a;font-size:10px}
.checksheet-header-actions{display:flex;gap:8px;align-items:center}
.track-chip,.assignment-status-label{display:inline-block;padding:5px 9px;border-radius:999px;font-size:8px;font-weight:900}
.track-chip{color:#17365d;background:#eaf0f8}
.track-chip.on-track,.track-chip.completed{color:#176b34;background:#e8f5eb}
.track-chip.slightly-behind{color:#8a5a00;background:#fff3cd}
.track-chip.needs-attention{color:#98251f;background:#fff0ef}
.checksheet-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:13px 16px;border-top:1px solid #e5eaf0;border-bottom:1px solid #e5eaf0;background:#f7f9fc}
.checksheet-metrics article{padding:12px;border:1px solid #e0e6ed;border-radius:10px;background:#fff}
.checksheet-metrics small,.checksheet-metrics strong,.checksheet-metrics p{display:block}
.checksheet-metrics small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}
.checksheet-metrics strong{margin-top:5px;color:#0030a0;font-size:20px}
.checksheet-metrics p{margin:3px 0 0;color:#68788a;font-size:8px}
.progress-track,.subject-progress{height:7px;border-radius:999px;background:#e6ebf1;overflow:hidden}
.progress-track{margin-top:8px}.progress-track span,.subject-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0030a0,#16888d)}
#checksheetSubjects{padding:14px;background:#fbfcfe}
.subject-card{margin-bottom:12px;border:1px solid #dfe5ed;border-radius:11px;background:#fff;overflow:hidden}
.subject-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px}
.subject-heading small{color:#68788a;font-size:8px;font-weight:900;letter-spacing:1.2px}
.subject-heading h4{margin:3px 0;color:#17365d;font-size:17px}
.subject-metrics{display:flex;gap:12px;align-items:center}
.subject-metrics span{text-align:right}.subject-metrics small,.subject-metrics strong{display:block}
.subject-metrics small{font-size:7px}.subject-metrics strong{color:#0030a0;font-size:12px}
.subject-progress{margin:0 13px 13px}
.assignment-list{border-top:1px solid #e5eaf0}
.assignment-row{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:12px 13px;border-bottom:1px solid #edf0f4}
.assignment-row:last-child{border-bottom:0}
.assignment-status-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;color:#68788a;background:#eef2f7;font-weight:900}
.assignment-status-icon.completed,.assignment-status-icon.graded{color:#176b34;background:#e8f5eb}
.assignment-main strong,.assignment-main small{display:block}.assignment-main small{margin-top:3px;color:#68788a;font-size:8px}.assignment-main p{margin:5px 0 0;color:#526274;font-size:9px}
.assignment-actions{display:flex;gap:7px;align-items:center}
.assignment-actions button{min-height:31px;border:0;border-radius:7px;padding:5px 8px;color:#fff;background:#0030a0;font-size:9px;font-weight:800}
.assignment-status-label{color:#526274;background:#eef2f7}
.assignment-status-label.completed,.assignment-status-label.graded{color:#176b34;background:#e8f5eb}
.assignment-status-label.revision-required{color:#98251f;background:#fff0ef}
.assignment-status-label.submitted{color:#0b5d8c;background:#e7f4fb}
.small-empty{padding:18px!important}
.form-dialog{width:min(720px,calc(100vw - 30px));border:0;border-radius:15px;padding:0}
.dialog-form{padding:18px}.dialog-heading{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:14px}
.dialog-heading button{border:0;border-radius:8px;padding:7px 10px;color:#17365d;background:#eaf0f8;font-weight:800}
.dialog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.dialog-form textarea{width:100%;margin:6px 0 14px;padding:10px;border:1px solid #cfd8e3;border-radius:9px;resize:vertical;font:inherit}
.dialog-actions{display:flex;justify-content:flex-end}
@media(max-width:900px){.checksheet-layout{grid-template-columns:1fr}.checksheet-history{max-height:240px;overflow:auto}}
@media(max-width:650px){.checksheet-toolbar,.checksheet-detail-header,.subject-heading{align-items:stretch;flex-direction:column}.checksheet-metrics,.dialog-grid{grid-template-columns:1fr}.subject-metrics{justify-content:space-between}.assignment-row{grid-template-columns:32px 1fr}.assignment-actions{grid-column:1/-1;justify-content:flex-end}}

/* Release 1.4.1 — Assignment Resources */
.assignment-resources{margin-top:8px}
.resource-list{display:grid;gap:6px}
.resource-item{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc}
.resource-icon{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;color:#0030a0;background:#eaf0f8;font-weight:900}
.resource-item strong,.resource-item small{display:block}
.resource-item strong{font-size:9px}.resource-item small{margin-top:2px;color:#68788a;font-size:7px}
.resource-actions{display:flex;gap:5px}
.resource-actions button{min-height:27px;border:0;border-radius:6px;padding:4px 7px;color:#fff;background:#0030a0;font-size:8px;font-weight:800}
.resource-actions .danger-link{background:#b3261e}
.upload-note{margin:-6px 0 13px;color:#68788a;font-size:9px}
@media(max-width:580px){.resource-item{grid-template-columns:28px 1fr}.resource-actions{grid-column:1/-1;justify-content:flex-end}}

/* Release 1.5 — Founder Command Center */
.founder-nav{border:1px solid #f0d78b!important;color:#fff8d7!important;background:#ffffff10!important}
.founder-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 28px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#10223d,#17365d 52%,#7b5b12);box-shadow:0 14px 38px #17365d1a}
.founder-hero small{font-size:9px;font-weight:900;letter-spacing:1.5px}.founder-hero h2{margin:5px 0;font-size:30px}.founder-hero p{margin:0;opacity:.85}
.authority-badge{display:flex;gap:11px;align-items:center;padding:12px 15px;border:1px solid #ffffff42;border-radius:12px;background:#ffffff12}
.authority-badge>span{font-size:28px;color:#ffe39a}.authority-badge small,.authority-badge strong{display:block}.authority-badge small{font-size:8px;opacity:.75}.authority-badge strong{margin-top:4px}
.founder-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}.founder-stats article{padding:16px;border:1px solid #dfe5ed;border-top:4px solid #7b5b12;border-radius:12px;background:#fff}.founder-stats small,.founder-stats strong,.founder-stats p{display:block}.founder-stats small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.founder-stats strong{margin-top:6px;color:#17365d;font-size:24px}.founder-stats p{margin:3px 0 0;color:#68788a;font-size:9px}
.founder-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.founder-modules,.founder-activity{display:grid;gap:8px}
.founder-module-card{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px;border:1px solid #e3e8ee;border-radius:10px;background:#f9fbfd}.founder-module-card strong{color:#17365d}.founder-module-card p{margin:4px 0 0;color:#68788a;font-size:9px;line-height:1.45}
.founder-permissions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.founder-permissions span{padding:4px 7px;border-radius:999px;color:#68788a;background:#edf1f5;font-size:7px;font-weight:900;text-transform:uppercase}.founder-permissions span.allowed{color:#176b34;background:#e8f5eb}
.founder-activity-item{display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:10px;border:1px solid #e5eaf0;border-radius:9px}.founder-activity-item>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#176b34;background:#e8f5eb}.founder-activity-item strong,.founder-activity-item small{display:block}.founder-activity-item small,.founder-activity-item time{color:#68788a;font-size:8px}
.founder-protection{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:15px}.founder-protection>div{display:flex;gap:12px;padding:16px;border:1px solid #dfe5ed;border-radius:12px;background:#fff}.founder-protection>div>span{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:11px;color:#7b5b12;background:#fff6dc;font-weight:900}.founder-protection strong{color:#17365d}.founder-protection p{margin:5px 0 0;color:#68788a;font-size:9px;line-height:1.5}
@media(max-width:1100px){.founder-stats{grid-template-columns:repeat(3,1fr)}.founder-grid{grid-template-columns:1fr}}
@media(max-width:700px){.founder-hero{align-items:stretch;flex-direction:column}.founder-stats{grid-template-columns:1fr 1fr}.founder-protection{grid-template-columns:1fr}.founder-module-card{align-items:stretch;flex-direction:column}.founder-permissions{justify-content:flex-start}}
@media(max-width:480px){.founder-stats{grid-template-columns:1fr}}

/* Release 1.6 — Student Services Command Center */
.services-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 28px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#17365d,#0030a0 63%,#16888d);box-shadow:0 14px 38px #17365d1a}
.services-hero small{font-size:9px;font-weight:900;letter-spacing:1.5px}.services-hero h2{margin:5px 0;font-size:30px}.services-hero p{margin:0;opacity:.86}
.services-role-card{display:flex;gap:11px;align-items:center;padding:12px 15px;border:1px solid #ffffff42;border-radius:12px;background:#ffffff12}.services-role-card>span{font-size:28px}.services-role-card small,.services-role-card strong{display:block}.services-role-card small{font-size:8px;opacity:.75}.services-role-card strong{margin-top:4px}
.services-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:11px;margin:16px 0}.services-stats article{padding:15px;border:1px solid #dfe5ed;border-radius:12px;background:#fff}.services-stats small,.services-stats strong,.services-stats p{display:block}.services-stats small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.services-stats strong{margin-top:6px;color:#0030a0;font-size:23px}.services-stats p{margin:3px 0 0;color:#68788a;font-size:8px}
.services-layout{display:grid;grid-template-columns:1.45fr .55fr;gap:15px}.grading-filter-row{display:grid;grid-template-columns:1fr 210px;gap:8px;margin-bottom:12px}.grading-filter-row input,.grading-filter-row select{margin:0}
.grading-panel td strong,.grading-panel td small{display:block}.grading-panel td small{margin-top:3px;color:#68788a;font-size:8px}.grading-panel td button{min-height:30px;border:0;border-radius:7px;padding:5px 8px;color:#fff;background:#0030a0;font-size:9px;font-weight:800}
.queue-chip{display:inline-block;padding:5px 8px;border-radius:999px;color:#0b5d8c;background:#e7f4fb;font-size:8px;font-weight:900}.queue-chip.revision-required{color:#98251f;background:#fff0ef}
.grading-calendar{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.calendar-day{min-height:91px;padding:10px;border:1px solid #e3e8ee;border-radius:10px;background:#f9fbfd}.calendar-day.has-work{border-color:#aec7e8;background:#f3f7fd}.calendar-day small,.calendar-day strong,.calendar-day p{display:block}.calendar-day small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.calendar-day strong{margin-top:3px;color:#17365d;font-size:19px}.calendar-day p{margin:6px 0 0;color:#68788a;font-size:8px}.calendar-counts{display:flex;gap:4px;margin-top:6px}.calendar-counts span{min-width:24px;padding:3px 6px;border-radius:999px;text-align:center;font-size:8px;font-weight:900}.calendar-counts .submitted{color:#0b5d8c;background:#dff2fb}.calendar-counts .revision{color:#98251f;background:#ffe6e3}
.calendar-legend{display:flex;gap:14px;margin-top:10px;color:#68788a;font-size:8px}.calendar-legend span{display:flex;gap:5px;align-items:center}.calendar-legend b{width:9px;height:9px;border-radius:50%}.legend-submitted{background:#53a9d5}.legend-revision{background:#d96d63}
.services-bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.attention-list{display:grid;gap:7px}.attention-item{width:100%;display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #e3e8ee;border-radius:10px;background:#f9fbfd;text-align:left}.attention-item>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#8a5a00;background:#fff3cd;font-weight:900}.attention-item>span.needs-attention{color:#98251f;background:#fff0ef}.attention-item strong,.attention-item small{display:block}.attention-item small{margin-top:3px;color:#68788a;font-size:8px}.attention-item em{color:#68788a;font-size:8px;font-style:normal;font-weight:900;text-transform:uppercase}
.report-preview{display:flex;gap:12px;padding:15px;border:1px solid #dfe5ed;border-radius:11px;background:#f7f9fc}.report-preview>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:#0030a0;background:#eaf0f8;font-size:20px}.report-preview strong{color:#17365d}.report-preview p{margin:5px 0 0;color:#68788a;font-size:9px;line-height:1.5}.progress-report-card>button{width:100%;margin-top:12px;min-height:40px;border:0;border-radius:8px;color:#68788a;background:#e8edf3;font-weight:800}
@media(max-width:1200px){.services-stats{grid-template-columns:repeat(3,1fr)}.services-layout{grid-template-columns:1fr}.grading-calendar{grid-template-columns:repeat(7,1fr)}}
@media(max-width:900px){.grading-calendar{grid-template-columns:repeat(4,1fr)}.services-bottom-grid{grid-template-columns:1fr}}
@media(max-width:650px){.services-hero{align-items:stretch;flex-direction:column}.services-stats{grid-template-columns:1fr 1fr}.grading-filter-row{grid-template-columns:1fr}.grading-calendar{grid-template-columns:repeat(2,1fr)}.attention-item{grid-template-columns:34px 1fr}.attention-item em{grid-column:1/-1}}
@media(max-width:430px){.services-stats{grid-template-columns:1fr}}

/* Release 1.7 — Progress Report Generator */
.reports-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:25px 28px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#17365d,#0030a0 64%,#16888d);box-shadow:0 14px 38px #17365d1a}
.reports-hero small{font-size:9px;font-weight:900;letter-spacing:1.5px}.reports-hero h2{margin:5px 0;font-size:30px}.reports-hero p{margin:0;opacity:.86}
.reports-format-card{display:flex;gap:11px;align-items:center;padding:12px 15px;border:1px solid #ffffff42;border-radius:12px;background:#ffffff12}.reports-format-card>span{font-size:28px}.reports-format-card small,.reports-format-card strong{display:block}.reports-format-card small{font-size:8px;opacity:.75}.reports-format-card strong{margin-top:4px}
.report-controls{margin-top:16px}.report-control-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:10px}.report-control-actions{display:flex;gap:8px;justify-content:flex-end}.report-control-actions button{min-height:40px;border:0;border-radius:8px;padding:8px 13px;color:#fff;background:#0030a0;font-weight:800}.report-control-actions .secondary{color:#0030a0;background:#eaf0f8}
.progress-report-preview{margin-top:16px}.report-page{width:min(850px,100%);margin:auto;padding:30px;border:1px solid #d6dde6;background:#fff;box-shadow:0 12px 35px #17365d1a}
.report-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:18px;border-bottom:4px solid #0030a0}.report-brand-block{display:flex;gap:15px;align-items:center}.report-lion-placeholder{width:66px;height:66px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#0030a0;font-size:27px;font-weight:900}.report-brand-block small{color:#0030a0;font-size:8px;font-weight:900;letter-spacing:1.3px}.report-brand-block h1{margin:4px 0;color:#17365d;font-size:28px}.report-brand-block p{margin:0;color:#68788a}.report-seal-placeholder{width:68px;height:68px;display:grid;place-items:center;border:2px solid #17365d;border-radius:50%;color:#17365d;font-size:10px;font-weight:900}
.report-student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.report-student-grid div{padding:10px;border:1px solid #dfe5ed;background:#f8fafc}.report-student-grid small,.report-student-grid strong{display:block}.report-student-grid small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.report-student-grid strong{margin-top:5px;color:#17365d;font-size:11px}
.report-table-wrap{overflow-x:auto}.progress-report-table{width:100%;border-collapse:collapse}.progress-report-table th,.progress-report-table td{padding:8px;border:1px solid #cfd8e3;text-align:center;font-size:9px}.progress-report-table th{color:#fff;background:#0030a0}.progress-report-table th:first-child,.progress-report-table td:first-child{text-align:left;font-weight:900}.progress-report-table tbody tr:nth-child(even){background:#f7f9fc}.average-cell{font-weight:900;color:#17365d;background:#eef3fb}
.report-footer{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-top:18px;padding-top:12px;border-top:1px solid #dfe5ed}.report-footer p{margin:0;color:#68788a;font-size:8px}.report-footer strong{color:#0030a0;font-style:italic}
@media(max-width:900px){.report-control-grid{grid-template-columns:1fr 1fr}.report-page{padding:20px}.report-student-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.reports-hero{align-items:stretch;flex-direction:column}.report-control-grid,.report-student-grid{grid-template-columns:1fr}.report-control-actions{flex-direction:column}.report-header,.report-footer{align-items:flex-start;flex-direction:column}}
@media print{
  body *{visibility:hidden!important}
  #progressReportPreview,#progressReportPreview *{visibility:visible!important}
  #progressReportPreview{position:absolute;left:0;top:0;width:100%;margin:0}
  .report-page{width:100%;margin:0;padding:.35in;border:0;box-shadow:none}
  @page{size:portrait;margin:.3in}
}
/* =========================================================
   Release 2.4.13 — Official NHHSA Progress Report
   Phase 1: Professional Document Layout
   ========================================================= */

.official-progress-report {
  --report-blue: #0030a0;
  --report-navy: #17365d;
  --report-ink: #202b38;
  --report-muted: #68788a;
  --report-line: #d9e1e9;
  --report-soft: #f5f7fa;

  position: relative;
  width: min(8.5in, 100%);
  min-height: 11in;
  margin: 0 auto;
  padding: 0.42in;
  overflow: hidden;
  color: var(--report-ink);
  background: #ffffff;
  border: 1px solid #d6dde6;
  box-shadow: 0 16px 44px rgba(23, 54, 93, 0.14);
  font-family: "Segoe UI", Aptos, Arial, Helvetica, sans-serif;
}

/* Header */

.official-progress-report .report-header {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 82px;
  gap: 18px;
  align-items: center;
  padding: 0 0 16px;
  border-bottom: 3px solid var(--report-blue);
}

.official-progress-report .report-logo-frame,
.official-progress-report .report-seal-frame {
  display: flex;
  align-items: center;
  justify-content: center;
}

.official-progress-report .report-lion-placeholder {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border: 2px solid var(--report-blue);
  border-radius: 50%;
  color: #ffffff;
  background: var(--report-blue);
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.official-progress-report .report-seal-placeholder {
  width: 72px;
  height: 72px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--report-navy);
  border-radius: 50%;
  color: var(--report-navy);
  background: #ffffff;
  text-align: center;
}

.official-progress-report .report-seal-placeholder span {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.5px;
}

.official-progress-report .report-seal-placeholder small {
  margin-top: 3px;
  font-size: 6px;
  font-weight: 800;
  letter-spacing: 1px;
}

.official-progress-report .report-title-block {
  min-width: 0;
  text-align: center;
}

.official-progress-report .report-school-name {
  display: block;
  color: var(--report-blue);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.6px;
}

.official-progress-report .report-title-block h1 {
  margin: 6px 0 3px;
  color: var(--report-navy);
  font-size: 25px;
  line-height: 1.15;
  letter-spacing: -0.3px;
}

.official-progress-report .report-subtitle {
  margin: 0;
  color: var(--report-muted);
  font-size: 11px;
  font-weight: 700;
}

.official-progress-report .report-accreditation {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  justify-content: center;
  margin-top: 9px;
  color: #536376;
  font-size: 7px;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
}

.official-progress-report .msa-mark {
  display: grid;
  place-items: center;
  min-width: 32px;
  min-height: 24px;
  padding: 3px 5px;
  border: 1px solid var(--report-navy);
  border-radius: 4px;
  color: var(--report-navy);
  background: #ffffff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: 0.7px;
}

.official-progress-report .report-tagline {
  margin-top: 7px;
  color: var(--report-blue);
  font-size: 9px;
  font-style: italic;
  font-weight: 800;
  text-align: center;
}

/* Student Information */

.official-progress-report .report-information {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 17px 0;
}

.official-progress-report .report-information-card {
  min-width: 0;
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid var(--report-line);
  border-radius: 5px;
  background: #ffffff;
}

.official-progress-report .report-information-primary {
  border-left: 4px solid var(--report-blue);
}

.official-progress-report .report-information-card small,
.official-progress-report .report-information-card strong {
  display: block;
}

.official-progress-report .report-information-card small {
  color: var(--report-muted);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.official-progress-report .report-information-card strong {
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: var(--report-navy);
  font-size: 10px;
  line-height: 1.2;
}

.official-progress-report .report-information-primary strong {
  font-size: 12px;
}

/* Performance Section */

.official-progress-report .report-performance-section {
  margin-top: 5px;
}

.official-progress-report .report-section-heading {
  display: flex;
  gap: 18px;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 9px;
}

.official-progress-report .report-section-heading small {
  color: var(--report-blue);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 1.1px;
}

.official-progress-report .report-section-heading h2 {
  margin: 2px 0 0;
  color: var(--report-navy);
  font-size: 15px;
}

.official-progress-report .report-section-heading p {
  max-width: 310px;
  margin: 0;
  color: var(--report-muted);
  font-size: 7px;
  line-height: 1.4;
  text-align: right;
}

/* Table */

.official-progress-report .report-table-wrap {
  overflow-x: auto;
  border: 1px solid #cfd8e3;
  border-radius: 5px;
}

.official-progress-report .progress-report-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.official-progress-report .progress-report-table th,
.official-progress-report .progress-report-table td {
  padding: 7px 4px;
  border-right: 1px solid #dce3ea;
  border-bottom: 1px solid #dce3ea;
  text-align: center;
  font-size: 8px;
  line-height: 1.25;
}

.official-progress-report .progress-report-table th {
  color: #ffffff;
  background: var(--report-blue);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: 0.2px;
  text-transform: uppercase;
}

.official-progress-report .progress-report-table th:first-child,
.official-progress-report .progress-report-table td:first-child {
  width: 22%;
  padding-left: 8px;
  text-align: left;
  font-weight: 800;
}

.official-progress-report .progress-report-table th:last-child,
.official-progress-report .progress-report-table td:last-child {
  border-right: 0;
}

.official-progress-report .progress-report-table tbody tr:nth-child(even) td {
  background: var(--report-soft);
}

.official-progress-report .progress-report-table tbody tr:last-child td {
  border-bottom: 0;
}

.official-progress-report .average-cell {
  color: var(--report-navy);
  background: #edf3fb !important;
  font-weight: 900;
}

/* Footer */

.official-progress-report .report-footer {
  display: flex;
  gap: 22px;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 18px;
  padding-top: 11px;
  border-top: 1px solid var(--report-line);
}

.official-progress-report .report-footer-left {
  max-width: 72%;
}

.official-progress-report .report-footer-left strong {
  display: block;
  color: var(--report-navy);
  font-size: 8px;
}

.official-progress-report .report-footer-left p {
  margin: 3px 0;
  color: var(--report-muted);
  font-size: 7px;
  line-height: 1.4;
}

.official-progress-report .report-footer-left small {
  color: #8793a0;
  font-size: 6px;
  line-height: 1.35;
}

.official-progress-report .report-footer-right {
  text-align: right;
}

.official-progress-report .report-footer-right strong,
.official-progress-report .report-footer-right span {
  display: block;
}

.official-progress-report .report-footer-right strong {
  color: var(--report-blue);
  font-size: 9px;
  font-style: italic;
}

.official-progress-report .report-footer-right span {
  margin-top: 4px;
  color: var(--report-muted);
  font-size: 6px;
  font-weight: 800;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

/* Responsive Preview */

@media (max-width: 760px) {
  .official-progress-report {
    min-height: auto;
    padding: 20px;
  }

  .official-progress-report .report-header {
    grid-template-columns: 60px 1fr 60px;
    gap: 10px;
  }

  .official-progress-report .report-lion-placeholder,
  .official-progress-report .report-seal-placeholder {
    width: 54px;
    height: 54px;
  }

  .official-progress-report .report-title-block h1 {
    font-size: 19px;
  }

  .official-progress-report .report-information {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .official-progress-report .report-header {
    grid-template-columns: 1fr;
  }

  .official-progress-report .report-logo-frame,
  .official-progress-report .report-seal-frame {
    display: none;
  }

  .official-progress-report .report-information {
    grid-template-columns: 1fr;
  }

  .official-progress-report .report-section-heading,
  .official-progress-report .report-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .official-progress-report .report-section-heading p {
    text-align: left;
  }

  .official-progress-report .report-footer-left {
    max-width: 100%;
  }
}

/* Print Formatting */

@media print {
  html,
  body {
    width: 8.5in;
    min-height: 11in;
    margin: 0 !important;
    padding: 0 !important;
    background: #ffffff !important;
  }

  body * {
    visibility: hidden !important;
  }

  #progressReportPreview,
  #progressReportPreview * {
    visibility: visible !important;
  }

  #progressReportPreview {
    position: absolute;
    inset: 0;
    width: 8.5in;
    margin: 0;
    padding: 0;
  }

  .official-progress-report {
    width: 8.5in;
    min-height: 11in;
    margin: 0;
    padding: 0.35in 0.4in;
    border: 0;
    box-shadow: none;
    break-inside: avoid;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  .official-progress-report .report-table-wrap {
    overflow: visible;
  }

  .official-progress-report .progress-report-table {
    page-break-inside: avoid;
  }

  @page {
    size: letter portrait;
    margin: 0;
  }
}
.studio-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#17365d,#0030a0 58%,#16888d);box-shadow:0 16px 42px #17365d20}.studio-hero small{font-size:9px;font-weight:900;letter-spacing:1.6px}.studio-hero h2{margin:5px 0;font-size:34px}.studio-hero p{margin:0;opacity:.87}.studio-hero button{min-height:44px;border:1px solid #ffffff55;border-radius:10px;padding:10px 16px;color:#0030a0;background:#fff;font-weight:900}.studio-overview{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.studio-overview article{display:flex;gap:12px;align-items:center;padding:15px;border:1px solid #dfe5ed;border-radius:12px;background:#fff}.studio-overview>article>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#0030a0;background:#eaf0f8;font-size:20px}.studio-overview small,.studio-overview strong{display:block}.studio-overview small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.studio-overview strong{margin-top:4px;color:#17365d}.studio-search-row{display:grid;grid-template-columns:1fr 220px 180px;gap:9px}.studio-search-row input,.studio-search-row select{margin:0}.studio-layout{display:grid;grid-template-columns:260px 1fr;gap:15px}.studio-sidebar{padding:12px;border:1px solid #dfe5ed;border-radius:13px;background:#fff}.studio-sidebar-heading{padding:5px 7px 12px}.studio-sidebar-heading small{color:#0030a0;font-size:8px;font-weight:900}.studio-sidebar-heading h3{margin:3px 0;color:#17365d}.studio-category{width:100%;display:flex;gap:10px;align-items:center;margin-bottom:5px;padding:10px;border:0;border-radius:9px;background:transparent;text-align:left}.studio-category:hover,.studio-category.active{background:#eaf0f8}.studio-category>span{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;color:#0030a0;background:#f0f4fa}.studio-category strong,.studio-category small{display:block}.studio-category strong{color:#17365d;font-size:10px}.studio-category small{color:#68788a;font-size:7px}.studio-content-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:10px}.studio-content-heading small{color:#0030a0;font-size:8px;font-weight:900}.studio-content-heading h3{margin:3px 0;color:#17365d}.studio-assignment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.studio-assignment-card{display:flex;flex-direction:column;border:1px solid #dfe5ed;border-radius:13px;background:#fff;overflow:hidden}.studio-card-top{display:flex;justify-content:space-between;padding:11px 12px;background:#f8fafc}.studio-category-badge,.studio-status-badge{padding:4px 7px;border-radius:999px;font-size:7px;font-weight:900}.studio-category-badge{color:#0030a0;background:#eaf0f8}.studio-status-badge{background:#edf1f5}.studio-card-body{padding:15px}.studio-card-body small{color:#0030a0;font-size:8px;font-weight:900}.studio-card-body h4{margin:5px 0;color:#17365d}.studio-card-body p{margin:0;color:#68788a;font-size:9px}.studio-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:0 12px 12px}.studio-card-meta span{padding:8px;border:1px solid #e5eaf0;border-radius:8px}.studio-card-meta small,.studio-card-meta strong{display:block}.studio-card-meta small{font-size:7px;color:#68788a}.studio-card-meta strong{font-size:9px;color:#17365d}.studio-card-actions{display:flex;gap:7px;margin-top:auto;padding:11px 12px;background:#fafbfd}.studio-card-actions button{flex:1;min-height:32px;border:0;border-radius:7px;color:#fff;background:#0030a0;font-size:8px;font-weight:900}.studio-card-actions button:disabled{color:#7b8794;background:#e7ebf0}.studio-empty{grid-column:1/-1}.studio-principles{margin-top:18px;padding:20px;border:1px solid #dfe5ed;border-radius:14px;background:#f8fafc}.studio-principles-heading small{color:#0030a0;font-size:8px;font-weight:900}.studio-principles-heading h3{margin:3px 0 13px;color:#17365d}.studio-principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.studio-principle-grid article{padding:12px;border:1px solid #e1e7ed;border-radius:10px;background:#fff}.studio-principle-grid strong{color:#17365d;font-size:10px}.studio-principle-grid p{margin:5px 0 0;color:#68788a;font-size:8px}.studio-dialog-message{padding:14px;border:1px solid #dfe5ed;border-radius:10px;background:#f7f9fc}@media(max-width:1150px){.studio-assignment-grid{grid-template-columns:repeat(2,1fr)}.studio-principle-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:900px){.studio-layout{grid-template-columns:1fr}.studio-overview{grid-template-columns:repeat(2,1fr)}.studio-search-row{grid-template-columns:1fr}}@media(max-width:650px){.studio-hero{flex-direction:column;align-items:stretch}.studio-assignment-grid,.studio-principle-grid{grid-template-columns:1fr}}@media(max-width:430px){.studio-overview{grid-template-columns:1fr}}

.designer-topbar{display:flex;justify-content:space-between;gap:20px;align-items:end;padding:22px 25px;border-radius:16px;color:#fff;background:linear-gradient(135deg,#17365d,#0030a0 65%,#16888d)}.designer-topbar small{font-size:9px;font-weight:900}.designer-topbar h2{margin:5px 0}.designer-topbar p{margin:0;opacity:.85}.designer-topbar>button{min-height:42px;border:0;border-radius:9px;padding:9px 15px;color:#0030a0;background:#fff;font-weight:900}.designer-back{display:block;margin-bottom:10px;border:1px solid #ffffff55;border-radius:8px;padding:7px 10px;color:#fff;background:#ffffff10}.designer-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:15px;margin-top:15px;align-items:start}.designer-canvas{display:grid;gap:13px}.designer-section{padding:18px;border:1px solid #dfe5ed;border-radius:13px;background:#fff}.designer-section h3{margin:0 0 14px;color:#17365d}.designer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.designer-section textarea{width:100%;padding:11px;border:1px solid #cfd8e3;border-radius:9px;resize:vertical}.designer-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.designer-check-grid label{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid #e2e7ed;border-radius:9px;background:#f9fbfd}.designer-check-grid input{width:auto;margin:0}.designer-note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.designer-preview{position:sticky;top:16px;padding:15px;border:1px solid #dfe5ed;border-radius:13px;background:#f7f9fc}.designer-preview>small{color:#0030a0;font-size:8px;font-weight:900}.designer-preview>h3{margin:3px 0 12px;color:#17365d}.student-assignment-preview{padding:20px;border:1px solid #dce3eb;border-radius:13px;background:#fff}.preview-category{display:inline-block;padding:5px 8px;border-radius:999px;color:#0030a0;background:#eaf0f8;font-size:8px;font-weight:900}.student-assignment-preview h2{margin:10px 0 14px;color:#17365d}.preview-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.preview-meta span{padding:9px;border:1px solid #e4e9ef;border-radius:8px}.preview-meta small,.preview-meta strong{display:block}.preview-meta small{color:#68788a;font-size:7px}.preview-meta strong{margin-top:4px;color:#17365d;font-size:9px}.student-assignment-preview section{margin-top:14px;padding-top:13px;border-top:1px solid #e5eaf0}.student-assignment-preview h4{margin:0 0 7px;color:#17365d}.student-assignment-preview p,.student-assignment-preview li{color:#526274;font-size:10px;line-height:1.55}@media(max-width:1050px){.designer-layout{grid-template-columns:1fr}.designer-preview{position:static}.designer-note-grid{grid-template-columns:1fr}}@media(max-width:650px){.designer-topbar{align-items:stretch;flex-direction:column}.designer-grid,.designer-check-grid{grid-template-columns:1fr}.preview-meta{grid-template-columns:1fr}}

/* Release 1.8.3 — Direct Assignment Creation */
.designer-placement-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:10px;
}
.designer-placement-note{
  margin:10px 0 0;
  color:#68788a;
  font-size:9px;
}
.designer-placement-locked{
  opacity:.78;
  background:#f7f9fc;
}
.designer-placement-locked select{
  cursor:not-allowed;
  background:#edf1f5;
}
@media(max-width:760px){
  .designer-placement-grid{grid-template-columns:1fr}
}

.designer-resource-toolbar{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.designer-resource-toolbar p{margin:0;color:#68788a;font-size:9px}.designer-resource-toolbar>div{display:flex;gap:7px}.designer-resource-toolbar button{min-height:35px;border:0;border-radius:8px;padding:7px 10px;color:#fff;background:#0030a0;font-size:9px;font-weight:900}.designer-resource-toolbar button:disabled{color:#7b8794;background:#e7ebf0}.designer-resource-notice{padding:12px;border:1px dashed #cbd5df;border-radius:9px;color:#68788a;background:#f8fafc;text-align:center;font-size:9px}.designer-resource-list{display:grid;gap:8px}.designer-resource-card{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #e2e7ed;border-radius:10px;background:#f9fbfd}.designer-resource-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;color:#0030a0;background:#eaf0f8;font-size:18px;font-weight:900}.designer-resource-copy small,.designer-resource-copy strong,.designer-resource-copy em{display:block}.designer-resource-copy small{color:#0030a0;font-size:7px;font-weight:900}.designer-resource-copy strong{margin-top:3px;color:#17365d}.designer-resource-copy p{margin:4px 0 0;color:#526274;font-size:9px}.designer-resource-copy em{margin-top:4px;color:#68788a;font-size:7px;font-style:normal}.designer-resource-actions{display:flex;gap:6px}.designer-resource-actions button{min-height:30px;border:0;border-radius:7px;padding:5px 8px;color:#fff;background:#0030a0;font-size:8px;font-weight:900}.designer-resource-actions .danger-link{background:#b3261e}@media(max-width:650px){.designer-resource-toolbar{align-items:stretch;flex-direction:column}.designer-resource-card{grid-template-columns:38px 1fr}.designer-resource-actions{grid-column:1/-1;justify-content:flex-end}}

.student-nav{border:1px solid #8ed7ff!important;color:#eaf8ff!important;background:#ffffff12!important}.journey-hero{display:flex;justify-content:space-between;align-items:center;padding:28px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#124d80,#007ac2 58%,#20a4d8)}.journey-hero h2{margin:5px 0;font-size:34px}.journey-progress-ring{width:115px;height:115px;display:grid;place-items:center;align-content:center;border:8px solid #ffffff38;border-radius:50%;background:#ffffff12}.journey-progress-ring strong{font-size:27px}.journey-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:16px 0}.journey-summary-grid article{padding:16px;border:1px solid #dce7ef;border-radius:13px;background:#fff}.journey-summary-grid small,.journey-summary-grid strong,.journey-summary-grid p{display:block}.journey-summary-grid strong{margin-top:6px;color:#124d80}.journey-summary-grid p{margin:3px 0 0;color:#68788a;font-size:8px}.journey-main-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:15px}.journey-subject-grid,.journey-due-list{display:grid;gap:9px}.journey-subject-card{padding:13px;border:1px solid #dfe7ee;border-radius:11px;background:#f9fbfd}.journey-subject-card>strong{color:#17365d}.journey-progress-bar{height:8px;margin:9px 0;border-radius:999px;background:#e4edf4;overflow:hidden}.journey-progress-bar span{display:block;height:100%;background:#007ac2}.journey-subject-card button,.journey-due-list button{width:100%;display:flex;justify-content:space-between;margin-top:6px;padding:9px;border:0;border-radius:8px;background:#fff;text-align:left}.journey-subject-card em{font-size:7px}.student-dialog-meta{display:flex;gap:8px;margin-bottom:14px}.student-dialog-meta span{padding:5px 8px;border-radius:999px;background:#eaf0f8;font-size:8px}.student-resource-grid{display:grid;gap:7px}.student-resource-grid button{padding:10px;border:1px solid #dfe7ee;border-radius:8px;background:#f9fbfd;text-align:left}@media(max-width:850px){.journey-summary-grid{grid-template-columns:repeat(2,1fr)}.journey-main-grid{grid-template-columns:1fr}}@media(max-width:520px){.journey-hero{align-items:stretch;flex-direction:column}.journey-summary-grid{grid-template-columns:1fr}}

/* Release 2.0.1 — Identity & Access Center */
.identity-hero{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:26px 28px;
  border-radius:17px;
  color:#fff;
  background:linear-gradient(135deg,#10223d,#17365d 58%,#7b5b12);
  box-shadow:0 16px 42px #17365d20;
}
.identity-hero small{font-size:9px;font-weight:900;letter-spacing:1.5px}
.identity-hero h2{margin:5px 0;font-size:31px}
.identity-hero p{margin:0;opacity:.86}
.identity-hero button{
  min-height:43px;
  border:1px solid #ffffff55;
  border-radius:9px;
  padding:9px 14px;
  color:#17365d;
  background:#fff;
  font-weight:900;
}
.identity-stats{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:11px;
  margin:16px 0;
}
.identity-stats article{
  padding:15px;
  border:1px solid #dfe5ed;
  border-top:4px solid #7b5b12;
  border-radius:12px;
  background:#fff;
}
.identity-stats small,.identity-stats strong,.identity-stats p{display:block}
.identity-stats small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}
.identity-stats strong{margin-top:6px;color:#17365d;font-size:23px}
.identity-stats p{margin:3px 0 0;color:#68788a;font-size:8px}
.identity-controls{margin-bottom:15px}
.identity-filter-grid{
  display:grid;
  grid-template-columns:1fr 190px 150px 100px;
  gap:8px;
}
.identity-filter-grid input,.identity-filter-grid select{margin:0}
.identity-filter-grid button{
  border:0;
  border-radius:8px;
  color:#fff;
  background:#17365d;
  font-weight:900;
}
.identity-account-grid{display:grid;gap:10px}
.identity-account-card{
  display:grid;
  grid-template-columns:52px 1fr auto;
  gap:13px;
  align-items:center;
  padding:14px;
  border:1px solid #dfe5ed;
  border-radius:12px;
  background:#fff;
}
.identity-account-card.disabled{opacity:.72;background:#f7f8fa}
.identity-account-avatar{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#17365d;
  font-size:20px;
  font-weight:900;
}
.identity-account-heading{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:start;
}
.identity-account-heading strong,.identity-account-heading small{display:block}
.identity-account-heading strong{color:#17365d;font-size:14px}
.identity-account-heading small{margin-top:3px;color:#68788a;font-size:8px}
.identity-account-heading>span{
  padding:5px 8px;
  border-radius:999px;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}
.identity-account-heading>span.active{color:#176b34;background:#e8f5eb}
.identity-account-heading>span.disabled{color:#98251f;background:#fff0ef}
.identity-account-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.identity-account-tags em{
  padding:4px 7px;
  border-radius:999px;
  color:#17365d;
  background:#eaf0f8;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}
.identity-account-details{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  margin-top:10px;
}
.identity-account-details span{
  padding:7px;
  border:1px solid #e5eaf0;
  border-radius:8px;
  background:#fafbfd;
}
.identity-account-details small,.identity-account-details strong{display:block}
.identity-account-details small{color:#68788a;font-size:7px;font-weight:900;text-transform:uppercase}
.identity-account-details strong{margin-top:3px;color:#17365d;font-size:8px}
.identity-account-actions{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.identity-account-actions button{
  min-width:112px;
  min-height:33px;
  border:0;
  border-radius:7px;
  padding:6px 9px;
  color:#fff;
  background:#17365d;
  font-size:8px;
  font-weight:900;
}
.identity-account-actions .danger-button{background:#b3261e}
.identity-account-actions .success-button{background:#176b34}
.identity-dialog-note{
  padding:12px;
  border:1px solid #dfe5ed;
  border-radius:9px;
  color:#526274;
  background:#f7f9fc;
  font-size:9px;
  line-height:1.5;
}
@media(max-width:1150px){
  .identity-stats{grid-template-columns:repeat(3,1fr)}
  .identity-account-details{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
  .identity-filter-grid{grid-template-columns:1fr 1fr}
  .identity-filter-grid input{grid-column:1/-1}
  .identity-account-card{grid-template-columns:52px 1fr}
  .identity-account-actions{grid-column:1/-1;flex-direction:row;justify-content:flex-end}
}
@media(max-width:620px){
  .identity-hero{align-items:stretch;flex-direction:column}
  .identity-stats{grid-template-columns:1fr 1fr}
  .identity-account-details{grid-template-columns:1fr}
}
@media(max-width:430px){
  .identity-stats,.identity-filter-grid{grid-template-columns:1fr}
  .identity-filter-grid input{grid-column:auto}
  .identity-account-card{grid-template-columns:1fr}
  .identity-account-avatar{margin:auto}
  .identity-account-actions{flex-direction:column}
  .identity-account-actions button{width:100%}
}

/* Release 2.1.0 — Parent Experience Foundation */
.parent-nav{border:1px solid #b9d6e8!important;color:#f4fbff!important;background:#ffffff12!important}
.parent-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:28px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#24455f,#477a9f 58%,#7fa8bf);box-shadow:0 16px 42px #24455f22}
.parent-hero small{font-size:9px;font-weight:900;letter-spacing:1.5px}.parent-hero h2{margin:5px 0;font-size:33px}.parent-hero p{margin:0;opacity:.88}
.parent-family-progress{width:120px;height:120px;display:grid;place-items:center;align-content:center;border:8px solid #ffffff38;border-radius:50%;background:#ffffff12}.parent-family-progress strong{font-size:27px}.parent-family-progress small{font-size:8px}
.parent-family-snapshot{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin:16px 0}.parent-family-snapshot article{padding:15px;border:1px solid #dce6ed;border-radius:12px;background:#fff}.parent-family-snapshot small,.parent-family-snapshot strong,.parent-family-snapshot p{display:block}.parent-family-snapshot small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.parent-family-snapshot strong{margin-top:6px;color:#24455f;font-size:20px}.parent-family-snapshot p{margin:4px 0 0;color:#68788a;font-size:8px}
.parent-child-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.parent-child-card{display:flex;flex-direction:column;padding:15px;border:1px solid #dce6ed;border-radius:13px;background:#fff}.parent-child-card-top{display:flex;gap:10px;align-items:center}.parent-child-avatar{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#477a9f;font-size:18px;font-weight:900}.parent-child-card h4{margin:3px 0;color:#24455f}.parent-child-card small{color:#477a9f;font-size:8px;font-weight:900}.parent-child-card p{margin:0;color:#68788a;font-size:8px}
.parent-progress-bar{height:8px;margin:12px 0 8px;border-radius:999px;background:#e4edf3;overflow:hidden}.parent-progress-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#477a9f,#86b4cc)}
.parent-child-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.parent-child-metrics span{padding:7px;border:1px solid #e5ebf0;border-radius:8px;background:#fafcfd}.parent-child-metrics small,.parent-child-metrics strong{display:block}.parent-child-metrics small{font-size:7px;color:#68788a}.parent-child-metrics strong{margin-top:3px;color:#24455f;font-size:10px}.parent-child-card>button{margin-top:12px;min-height:36px;border:0;border-radius:8px;color:#fff;background:#477a9f;font-weight:900}
.parent-detail-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:15px;margin-top:15px;align-items:start}.parent-subject-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.parent-subject-card{padding:12px;border:1px solid #dfe7ed;border-radius:10px;background:#f9fbfd}.parent-subject-card>div:first-child{display:flex;justify-content:space-between}.parent-subject-card strong{color:#24455f}.parent-subject-card>div:first-child span{color:#477a9f;font-weight:900}.parent-subject-card small{color:#68788a;font-size:8px}
.parent-assignments-panel{margin-top:13px}.parent-assignment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.parent-assignment-card{padding:14px;border:1px solid #dfe7ed;border-radius:11px;background:#fff}.parent-assignment-card>div:first-child{display:flex;justify-content:space-between;gap:8px}.parent-assignment-card>div:first-child small{color:#477a9f;font-weight:900}.parent-assignment-card>div:first-child span{padding:4px 7px;border-radius:999px;background:#edf2f5;font-size:7px;font-weight:900}.parent-assignment-card h4{margin:8px 0 5px;color:#24455f}.parent-assignment-card>p{color:#68788a;font-size:9px;line-height:1.5}.parent-assignment-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.parent-assignment-meta span{padding:7px;border:1px solid #e5ebf0;border-radius:8px;background:#fafcfd}.parent-assignment-meta small,.parent-assignment-meta strong{display:block}.parent-assignment-meta small{font-size:7px;color:#68788a}.parent-assignment-meta strong{margin-top:3px;color:#24455f;font-size:9px}
.parent-child-overview{display:grid;gap:8px;position:sticky;top:16px}.parent-child-overview>div{padding:11px;border:1px solid #e1e8ed;border-radius:9px;background:#f9fbfd}.parent-child-overview small,.parent-child-overview strong{display:block}.parent-child-overview small{color:#68788a;font-size:7px;font-weight:900;text-transform:uppercase}.parent-child-overview strong{margin-top:5px;color:#24455f;font-size:14px}
.identity-hero-actions{display:flex;gap:8px}.parent-student-selector{border:1px solid #dce5eb;border-radius:9px;padding:10px}.parent-student-selector legend{color:#24455f;font-weight:900}.parent-student-option{display:flex!important;gap:8px!important;align-items:center!important;padding:8px!important;border-bottom:1px solid #edf1f4}.parent-student-option input{width:auto!important;margin:0!important}.parent-student-option strong,.parent-student-option small{display:block}.parent-student-option small{color:#68788a;font-size:8px}
@media(max-width:1100px){.parent-family-snapshot{grid-template-columns:repeat(3,1fr)}.parent-child-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.parent-detail-layout{grid-template-columns:1fr}.parent-child-overview{position:static}.parent-assignment-grid{grid-template-columns:1fr}}
@media(max-width:650px){.parent-hero{align-items:stretch;flex-direction:column}.parent-family-snapshot{grid-template-columns:1fr 1fr}.parent-child-grid,.parent-subject-grid{grid-template-columns:1fr}.identity-hero-actions{flex-direction:column}}
@media(max-width:430px){.parent-family-snapshot{grid-template-columns:1fr}}

/* Release 2.1.2 — Parent Progress Reports */
.parent-reports-panel{margin-top:13px}
.parent-report-controls{display:grid;grid-template-columns:1fr 1.25fr 1fr auto;gap:9px;align-items:end}
.parent-report-controls label{margin:0}
.parent-report-controls button{min-height:39px;border:0;border-radius:8px;padding:8px 12px;color:#fff;background:#477a9f;font-weight:900}
.parent-report-controls button:disabled{color:#7d8992;background:#e6eaed}
.parent-report-note{margin:10px 0 0;color:#68788a;font-size:9px}
.parent-progress-report-dialog{width:min(1180px,96vw);max-height:95vh;padding:0;border:0;border-radius:14px;background:#eef2f5}
.parent-report-dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 18px;color:#fff;background:#24455f}
.parent-report-dialog-toolbar small{font-size:8px;font-weight:900;letter-spacing:1.2px}
.parent-report-dialog-toolbar h3{margin:3px 0 0}
.parent-report-dialog-toolbar>div:last-child{display:flex;gap:7px}
.parent-report-dialog-toolbar button{min-height:34px;border:1px solid #ffffff44;border-radius:7px;padding:6px 9px;color:#24455f;background:#fff;font-weight:900}
.parent-progress-report-paper{width:8.5in;min-height:11in;margin:22px auto;padding:.45in;color:#203040;background:#fff;box-shadow:0 14px 40px #17365d20}
.parent-report-paper-header{display:flex;gap:18px;align-items:center;padding-bottom:16px;border-bottom:3px solid #477a9f}
.parent-report-lion{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#24455f;font-size:13px;font-weight:900}
.parent-report-paper-header small{color:#477a9f;font-size:9px;font-weight:900;letter-spacing:1.2px}
.parent-report-paper-header h1{margin:3px 0;color:#24455f;font-size:27px}
.parent-report-paper-header p{margin:0;color:#68788a;font-size:10px}
.parent-report-student-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}
.parent-report-student-grid>div{padding:9px;border:1px solid #dce5eb;border-radius:7px;background:#f8fafc}
.parent-report-student-grid small,.parent-report-student-grid strong{display:block}
.parent-report-student-grid small{color:#68788a;font-size:7px;font-weight:900;text-transform:uppercase}
.parent-report-student-grid strong{margin-top:4px;color:#24455f;font-size:10px}
.parent-report-table-wrap{overflow-x:auto}
.parent-report-table{width:100%;border-collapse:collapse;font-size:8px}
.parent-report-table th,.parent-report-table td{padding:7px 5px;border:1px solid #cad6de;text-align:center}
.parent-report-table thead th{color:#fff;background:#477a9f;font-weight:900}
.parent-report-table tbody th{color:#24455f;background:#edf3f6;text-align:left}
.parent-progress-report-paper footer{display:flex;justify-content:space-between;gap:15px;align-items:end;margin-top:18px;padding-top:12px;border-top:1px solid #ccd8df}
.parent-progress-report-paper footer p{margin:0;color:#68788a;font-size:8px}
.parent-progress-report-paper footer strong{color:#24455f;font-size:10px}
@media(max-width:900px){
  .parent-report-controls{grid-template-columns:1fr 1fr}
  .parent-progress-report-paper{width:calc(100% - 20px);min-height:auto;margin:10px;padding:20px}
}
@media(max-width:560px){
  .parent-report-controls,.parent-report-student-grid{grid-template-columns:1fr}
}
@media print{
  body *{visibility:hidden!important}
  #parentProgressReportPaper,#parentProgressReportPaper *{visibility:visible!important}
  #parentProgressReportPaper{position:absolute;inset:0;width:8.5in;min-height:11in;margin:0;padding:.4in;box-shadow:none}
  @page{size:portrait;margin:0}
}

/* Release 2.1.3 — Family Timeline & Parent Resource Center */
.parent-experience-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:15px;
  margin-bottom:15px;
}
.parent-timeline{
  display:grid;
  gap:8px;
}
.parent-timeline-item{
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #dfe7ed;
  border-left:4px solid #8da7b7;
  border-radius:10px;
  background:#f9fbfd;
}
.parent-timeline-item.high{border-left-color:#b3261e}
.parent-timeline-item.medium{border-left-color:#bd7b12}
.parent-timeline-item.positive{border-left-color:#28734b}
.parent-timeline-icon{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#477a9f;
  font-size:15px;
  font-weight:900;
}
.parent-timeline-item small,
.parent-timeline-item strong{
  display:block;
}
.parent-timeline-item small{
  color:#477a9f;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}
.parent-timeline-item strong{
  margin-top:3px;
  color:#24455f;
}
.parent-timeline-item p{
  margin:3px 0 0;
  color:#68788a;
  font-size:8px;
}
.parent-timeline-item time{
  color:#68788a;
  font-size:8px;
  font-weight:800;
}
.parent-featured-resources{
  display:grid;
  gap:9px;
}
.parent-featured-card,
.parent-academy-card{
  display:flex;
  flex-direction:column;
  padding:14px;
  border:1px solid #dce6ed;
  border-radius:12px;
  background:#fff;
}
.parent-featured-card{
  background:linear-gradient(145deg,#f8fbfd,#edf5f8);
}
.parent-featured-card>div,
.parent-academy-card>div{
  display:flex;
  justify-content:space-between;
  gap:8px;
}
.parent-featured-card small,
.parent-academy-card small{
  color:#477a9f;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.parent-featured-card>div span,
.parent-academy-card>div span{
  color:#68788a;
  font-size:8px;
}
.parent-featured-card h4,
.parent-academy-card h4{
  margin:8px 0 5px;
  color:#24455f;
  font-size:15px;
}
.parent-featured-card p,
.parent-academy-card p{
  margin:0;
  color:#68788a;
  font-size:9px;
  line-height:1.5;
}
.parent-featured-card footer,
.parent-academy-card footer{
  display:flex;
  justify-content:space-between;
  gap:9px;
  align-items:center;
  margin-top:12px;
}
.parent-featured-card em,
.parent-academy-card em{
  color:#68788a;
  font-size:7px;
  font-style:normal;
}
.parent-featured-card button,
.parent-academy-card button{
  min-height:32px;
  border:0;
  border-radius:7px;
  padding:6px 9px;
  color:#fff;
  background:#477a9f;
  font-size:8px;
  font-weight:900;
}
.parent-academy-panel{
  margin-bottom:15px;
}
.parent-academy-filters{
  display:flex;
  gap:7px;
}
.parent-academy-filters input,
.parent-academy-filters select{
  width:auto;
  min-width:180px;
  margin:0;
}
.parent-academy-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
}
.parent-academy-dialog{
  width:min(720px,94vw);
}
.parent-academy-dialog-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin:14px 0;
}
.parent-academy-dialog-meta span{
  padding:6px 9px;
  border-radius:999px;
  color:#24455f;
  background:#eaf1f5;
  font-size:8px;
  font-weight:900;
}
.parent-academy-dialog-description{
  color:#526274;
  font-size:11px;
  line-height:1.7;
}
.parent-academy-dialog-content{
  display:grid;
  gap:9px;
  margin-top:15px;
}
.parent-academy-dialog-content article{
  display:grid;
  grid-template-columns:32px 1fr;
  gap:10px;
  align-items:start;
  padding:11px;
  border:1px solid #dce5eb;
  border-radius:9px;
  background:#f8fafc;
}
.parent-academy-dialog-content article span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#477a9f;
  font-weight:900;
}
.parent-academy-dialog-content article p{
  margin:4px 0 0;
  color:#405466;
  font-size:10px;
  line-height:1.6;
}
.parent-academy-dialog footer{
  margin-top:16px;
  padding-top:13px;
  border-top:1px solid #dce5eb;
}
.parent-academy-dialog footer strong{
  color:#24455f;
}
.parent-academy-dialog footer p{
  margin:4px 0 0;
  color:#68788a;
  font-size:8px;
}
@media(max-width:1050px){
  .parent-experience-grid{grid-template-columns:1fr}
  .parent-academy-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){
  .parent-academy-grid{grid-template-columns:1fr}
  .parent-academy-filters{align-items:stretch;flex-direction:column}
  .parent-academy-filters input,
  .parent-academy-filters select{width:100%;min-width:0}
}
@media(max-width:520px){
  .parent-timeline-item{grid-template-columns:38px 1fr}
  .parent-timeline-item time{grid-column:2}
  .parent-featured-card footer,
  .parent-academy-card footer{align-items:stretch;flex-direction:column}
}

/* Release 2.1.4 — Parent Experience layout refresh */
.parent-family-intro{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
  margin:16px 0 10px;
  padding:16px 18px;
  border:1px solid #d9e6ed;
  border-radius:13px;
  background:linear-gradient(135deg,#f8fbfd,#eef6f9);
}
.parent-family-intro small{
  color:#477a9f;
  font-size:8px;
  font-weight:900;
  letter-spacing:1.1px;
}
.parent-family-intro h3{
  margin:4px 0 3px;
  color:#24455f;
  font-size:20px;
}
.parent-family-intro p{
  margin:0;
  color:#68788a;
  font-size:9px;
  line-height:1.5;
}
.parent-children-panel{
  margin-bottom:15px;
  border-top:4px solid #477a9f;
}
.parent-children-panel .head h3{
  color:#24455f;
  font-size:19px;
}
.parent-child-card{
  box-shadow:0 8px 22px #24455f10;
  transition:transform .18s ease,box-shadow .18s ease;
}
.parent-child-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px #24455f18;
}
.parent-family-snapshot{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid #dce5eb;
}
.parent-experience-grid{
  margin-top:0;
}
@media(max-width:650px){
  .parent-family-intro{
    align-items:flex-start;
    flex-direction:column;
  }
}

/* Release 2.1.5 — Unified NHHSA Academy for Parents */
.unified-parent-academy{
  margin-bottom:15px;
}
.parent-academy-featured-section,
.parent-academy-library-section{
  margin-top:16px;
}
.parent-academy-library-section{
  padding-top:16px;
  border-top:1px solid #dce5eb;
}
.parent-academy-section-heading{
  margin-bottom:10px;
}
.parent-academy-section-heading small{
  color:#477a9f;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}
.parent-academy-section-heading h4{
  margin:4px 0 0;
  color:#24455f;
  font-size:16px;
}
.unified-parent-academy .parent-featured-resources{
  grid-template-columns:repeat(3,1fr);
}
@media(max-width:1050px){
  .unified-parent-academy .parent-featured-resources{
    grid-template-columns:1fr;
  }
}

/* Release 2.1.6 — Child Learning Journey detail placement */
.parent-children-panel + #parentChildDetail{
  margin-top:0;
  margin-bottom:15px;
  padding-top:2px;
}
#parentChildDetail:not([hidden]){
  animation:parent-detail-reveal .22s ease-out;
}
#parentChildDetail .panel:first-child{
  border-top:4px solid #477a9f;
  box-shadow:0 10px 28px #24455f12;
}
@keyframes parent-detail-reveal{
  from{
    opacity:0;
    transform:translateY(-6px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Release 2.1.7 — Role-view containment safeguard */
.view:not(.active){
  display:none!important;
}
.view.active{
  display:block;
}

/* Release 2.2.0 — Educator Workspace */
.educator-nav{
  border:1px solid #bdd9c3!important;
  color:#f2fff5!important;
  background:#ffffff12!important;
}
.educator-hero{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:27px 28px;
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,#234b35,#397553 58%,#72a887);
  box-shadow:0 16px 42px #234b3522;
}
.educator-hero small{
  font-size:9px;
  font-weight:900;
  letter-spacing:1.5px;
}
.educator-hero h2{
  margin:5px 0;
  font-size:32px;
}
.educator-hero p{
  margin:0;
  opacity:.88;
}
.educator-hero button{
  min-height:42px;
  border:1px solid #ffffff55;
  border-radius:9px;
  padding:8px 13px;
  color:#234b35;
  background:#fff;
  font-weight:900;
}
.educator-summary-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:11px;
  margin:16px 0;
}
.educator-summary-grid article{
  padding:15px;
  border:1px solid #dce6df;
  border-top:4px solid #397553;
  border-radius:12px;
  background:#fff;
}
.educator-summary-grid small,
.educator-summary-grid strong,
.educator-summary-grid p{
  display:block;
}
.educator-summary-grid small{
  color:#68788a;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.educator-summary-grid strong{
  margin-top:6px;
  color:#234b35;
  font-size:23px;
}
.educator-summary-grid p{
  margin:4px 0 0;
  color:#68788a;
  font-size:8px;
}
.educator-workspace-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:15px;
}
.educator-queue-list,
.educator-attention-list{
  display:grid;
  gap:8px;
}
.educator-queue-item{
  display:grid;
  grid-template-columns:95px 1fr auto;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #dfe7e2;
  border-left:4px solid #7b9786;
  border-radius:10px;
  background:#fafcfa;
}
.educator-queue-item.high{border-left-color:#b3261e}
.educator-queue-item.medium{border-left-color:#bd7b12}
.educator-queue-priority{
  color:#397553;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}
.educator-queue-main small,
.educator-queue-main strong{
  display:block;
}
.educator-queue-main small{
  color:#397553;
  font-size:8px;
  font-weight:900;
}
.educator-queue-main strong{
  margin-top:3px;
  color:#234b35;
}
.educator-queue-main p{
  margin:3px 0 0;
  color:#68788a;
  font-size:8px;
}
.educator-queue-item button{
  min-height:33px;
  border:0;
  border-radius:7px;
  padding:6px 10px;
  color:#fff;
  background:#397553;
  font-weight:900;
}
.educator-attention-card{
  padding:11px;
  border:1px solid #dfe7e2;
  border-radius:10px;
  background:#fafcfa;
}
.educator-attention-card strong,
.educator-attention-card small{
  display:block;
}
.educator-attention-card strong{color:#234b35}
.educator-attention-card small{
  margin-top:3px;
  color:#68788a;
  font-size:8px;
}
.educator-attention-tags{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:8px;
}
.educator-attention-tags span{
  padding:4px 7px;
  border-radius:999px;
  color:#234b35;
  background:#eaf3ed;
  font-size:7px;
  font-weight:900;
}
.educator-attention-tags span.alert{
  color:#98251f;
  background:#fff0ef;
}
.educator-students-panel,
.educator-due-panel{
  margin-top:15px;
}
.educator-students-panel .head input{
  width:230px;
  margin:0;
}
.educator-student-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
}
.educator-student-card{
  display:flex;
  flex-direction:column;
  padding:14px;
  border:1px solid #dce6df;
  border-radius:12px;
  background:#fff;
}
.educator-student-heading{
  display:grid;
  grid-template-columns:44px 1fr auto;
  gap:9px;
  align-items:center;
}
.educator-student-avatar{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#397553;
  font-size:17px;
  font-weight:900;
}
.educator-student-heading small,
.educator-student-heading h4,
.educator-student-heading p{
  display:block;
}
.educator-student-heading small{
  color:#397553;
  font-size:8px;
  font-weight:900;
}
.educator-student-heading h4{
  margin:3px 0;
  color:#234b35;
}
.educator-student-heading p{
  margin:0;
  color:#68788a;
  font-size:8px;
}
.educator-student-heading>span{
  padding:5px 7px;
  border-radius:999px;
  color:#234b35;
  background:#eaf3ed;
  font-size:7px;
  font-weight:900;
}
.educator-progress-bar{
  height:8px;
  margin:12px 0 8px;
  border-radius:999px;
  background:#e4ece7;
  overflow:hidden;
}
.educator-progress-bar span{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#397553,#72a887);
}
.educator-student-metrics{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
}
.educator-student-metrics span{
  padding:7px;
  border:1px solid #e4ebe6;
  border-radius:8px;
  background:#fafcfb;
}
.educator-student-metrics small,
.educator-student-metrics strong{
  display:block;
}
.educator-student-metrics small{
  color:#68788a;
  font-size:7px;
}
.educator-student-metrics strong{
  margin-top:3px;
  color:#234b35;
  font-size:9px;
}
.educator-student-card>button{
  margin-top:11px;
  min-height:34px;
  border:0;
  border-radius:8px;
  color:#fff;
  background:#397553;
  font-weight:900;
}
.educator-due-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.educator-due-card{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding:11px;
  border:1px solid #dfe7e2;
  border-left:4px solid #7b9786;
  border-radius:9px;
  background:#fafcfa;
}
.educator-due-card.high{border-left-color:#b3261e}
.educator-due-card.medium{border-left-color:#bd7b12}
.educator-due-card small,
.educator-due-card strong{
  display:block;
}
.educator-due-card small{
  color:#397553;
  font-size:7px;
  font-weight:900;
}
.educator-due-card strong{
  margin-top:3px;
  color:#234b35;
}
.educator-due-card>span{
  color:#68788a;
  font-size:8px;
  font-weight:900;
}
.educator-grade-context{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin:12px 0;
}
.educator-grade-context span{
  padding:9px;
  border:1px solid #dce6df;
  border-radius:8px;
  background:#f8fbf9;
}
.educator-grade-context small,
.educator-grade-context strong{
  display:block;
}
.educator-grade-context small{
  color:#68788a;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}
.educator-grade-context strong{
  margin-top:4px;
  color:#234b35;
  font-size:10px;
}
.educator-grade-possible{
  padding:9px;
  border-radius:8px;
  color:#526274;
  background:#f2f6f3;
  font-size:9px;
}
@media(max-width:1120px){
  .educator-summary-grid{grid-template-columns:repeat(3,1fr)}
  .educator-student-grid{grid-template-columns:repeat(2,1fr)}
  .educator-due-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:850px){
  .educator-workspace-grid{grid-template-columns:1fr}
  .educator-grade-context{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:650px){
  .educator-hero{align-items:stretch;flex-direction:column}
  .educator-summary-grid{grid-template-columns:1fr 1fr}
  .educator-student-grid,
  .educator-due-grid{grid-template-columns:1fr}
  .educator-queue-item{grid-template-columns:1fr}
  .educator-students-panel .head input{width:100%}
}
@media(max-width:430px){
  .educator-summary-grid,
  .educator-grade-context{grid-template-columns:1fr}
}

/* Release 2.2.1 — Educator Attendance Center */
.educator-summary-grid{
  grid-template-columns:repeat(6,1fr);
}
.educator-attendance-panel{
  margin-bottom:15px;
  border-top:4px solid #397553;
}
.educator-attendance-actions{
  display:flex;
  gap:7px;
  align-items:center;
}
.educator-attendance-actions input{
  width:auto;
  margin:0;
}
.educator-attendance-actions button{
  min-height:36px;
  border:0;
  border-radius:8px;
  padding:7px 10px;
  color:#fff;
  background:#397553;
  font-weight:900;
}
.educator-attendance-actions button:first-of-type{
  color:#234b35;
  background:#eaf3ed;
}
.educator-attendance-summary{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
  margin:10px 0 13px;
}
.educator-attendance-summary article{
  padding:10px;
  border:1px solid #dfe7e2;
  border-radius:9px;
  background:#f9fbfa;
}
.educator-attendance-summary small,
.educator-attendance-summary strong{
  display:block;
}
.educator-attendance-summary small{
  color:#68788a;
  font-size:7px;
  font-weight:900;
  text-transform:uppercase;
}
.educator-attendance-summary strong{
  margin-top:4px;
  color:#234b35;
  font-size:16px;
}
.educator-attendance-tools{
  display:grid;
  grid-template-columns:1fr 200px;
  gap:8px;
  margin-bottom:10px;
}
.educator-attendance-tools input,
.educator-attendance-tools select{
  margin:0;
}
.educator-attendance-roster{
  display:grid;
  gap:7px;
}
.educator-attendance-row{
  display:grid;
  grid-template-columns:minmax(250px,1fr) 170px minmax(210px,1fr) 80px;
  gap:9px;
  align-items:center;
  padding:10px;
  border:1px solid #dfe7e2;
  border-radius:10px;
  background:#fff;
}
.educator-attendance-student{
  display:flex;
  gap:9px;
  align-items:center;
}
.educator-attendance-avatar{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:#397553;
  font-weight:900;
}
.educator-attendance-student strong,
.educator-attendance-student small{
  display:block;
}
.educator-attendance-student strong{
  color:#234b35;
}
.educator-attendance-student small{
  margin-top:3px;
  color:#68788a;
  font-size:8px;
}
.educator-attendance-row select,
.educator-attendance-row input{
  margin:0;
}
.educator-attendance-row button{
  min-height:34px;
  border:0;
  border-radius:7px;
  color:#234b35;
  background:#eaf3ed;
  font-weight:900;
}
.attendance-history-list{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.attendance-history-list article{
  padding:11px;
  border:1px solid #dfe7e2;
  border-radius:9px;
  background:#f9fbfa;
}
.attendance-history-list article>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
}
.attendance-history-list strong{
  color:#234b35;
}
.attendance-history-list span{
  padding:4px 7px;
  border-radius:999px;
  color:#234b35;
  background:#eaf3ed;
  font-size:8px;
  font-weight:900;
}
.attendance-history-list p{
  margin:7px 0 3px;
  color:#526274;
  font-size:9px;
}
.attendance-history-list small{
  color:#68788a;
  font-size:8px;
}
@media(max-width:1200px){
  .educator-summary-grid{grid-template-columns:repeat(3,1fr)}
  .educator-attendance-summary{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .educator-attendance-row{
    grid-template-columns:1fr 180px;
  }
  .educator-attendance-row input{
    grid-column:1/-1;
  }
}
@media(max-width:650px){
  .educator-attendance-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .educator-attendance-actions input,
  .educator-attendance-actions button{
    width:100%;
  }
  .educator-attendance-summary{
    grid-template-columns:repeat(2,1fr);
  }
  .educator-attendance-tools,
  .educator-attendance-row{
    grid-template-columns:1fr;
  }
  .educator-attendance-row input{
    grid-column:auto;
  }
}

/* Release 2.2.2 — Educator Notes & Student Support Flags */
.educator-summary-grid{
  grid-template-columns:repeat(7,1fr);
}
.educator-support-panel{
  margin-top:15px;
  border-top:4px solid #397553;
}
.educator-support-actions{
  display:flex;
  gap:7px;
  align-items:center;
}
.educator-support-actions input,
.educator-support-actions select{
  width:auto;
  margin:0;
}
.educator-support-actions input{
  min-width:210px;
}
.educator-support-actions button{
  min-height:36px;
  border:0;
  border-radius:8px;
  padding:7px 10px;
  color:#fff;
  background:#397553;
  font-weight:900;
}
.educator-support-confidential{
  margin:0 0 11px;
  padding:9px 11px;
  border-radius:8px;
  color:#6c5421;
  background:#fff7df;
  font-size:8px;
  font-weight:800;
}
.educator-support-notes{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.educator-support-note{
  padding:13px;
  border:1px solid #dfe7e2;
  border-left:4px solid #7b9786;
  border-radius:10px;
  background:#fff;
}
.educator-support-note.high{border-left-color:#bd7b12}
.educator-support-note.urgent{border-left-color:#b3261e}
.educator-support-note.low{border-left-color:#7c91a2}
.educator-support-note.resolved{
  opacity:.72;
  background:#f5f7f6;
}
.educator-support-note-heading{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.educator-support-note-heading small,
.educator-support-note-heading strong{
  display:block;
}
.educator-support-note-heading small{
  color:#397553;
  font-size:8px;
  font-weight:900;
}
.educator-support-note-heading strong{
  margin-top:4px;
  color:#234b35;
}
.educator-support-note-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  justify-content:flex-end;
}
.educator-support-note-tags span{
  padding:4px 7px;
  border-radius:999px;
  color:#234b35;
  background:#eaf3ed;
  font-size:7px;
  font-weight:900;
}
.educator-support-note-tags span.flag{
  color:#98251f;
  background:#fff0ef;
}
.educator-support-note-tags span.resolved{
  color:#526274;
  background:#edf0f2;
}
.educator-support-note>p{
  margin:10px 0;
  color:#526274;
  font-size:9px;
  line-height:1.55;
  white-space:pre-wrap;
}
.educator-support-note footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  padding-top:9px;
  border-top:1px solid #e4eae6;
}
.educator-support-note footer>span{
  color:#68788a;
  font-size:8px;
}
.educator-support-note footer>div{
  display:flex;
  gap:6px;
}
.educator-support-note footer button{
  min-height:30px;
  border:0;
  border-radius:7px;
  padding:5px 8px;
  color:#234b35;
  background:#eaf3ed;
  font-size:8px;
  font-weight:900;
}
.educator-support-flag-toggle{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  padding:10px!important;
  border:1px solid #dfe7e2;
  border-radius:8px;
  background:#f8fbf9;
}
.educator-support-flag-toggle input{
  width:auto!important;
  margin:0!important;
}
@media(max-width:1200px){
  .educator-summary-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:900px){
  .educator-support-notes{grid-template-columns:1fr}
  .educator-support-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .educator-support-actions input,
  .educator-support-actions select,
  .educator-support-actions button{
    width:100%;
  }
}
@media(max-width:650px){
  .educator-summary-grid{grid-template-columns:repeat(2,1fr)}
  .educator-support-note-heading,
  .educator-support-note footer{
    align-items:stretch;
    flex-direction:column;
  }
  .educator-support-note-tags{
    justify-content:flex-start;
  }
}

/* Release 2.2.3 — Family Contact Log & Follow-Up Center */
.educator-summary-grid{
  grid-template-columns:repeat(8,1fr);
}
.educator-contact-panel{
  margin-top:15px;
  border-top:4px solid #397553;
}
.educator-contact-actions{
  display:flex;
  gap:7px;
  align-items:center;
}
.educator-contact-actions input,
.educator-contact-actions select{
  width:auto;
  margin:0;
}
.educator-contact-actions input{
  min-width:210px;
}
.educator-contact-actions button{
  min-height:36px;
  border:0;
  border-radius:8px;
  padding:7px 10px;
  color:#fff;
  background:#397553;
  font-weight:900;
}
.educator-contact-confidential{
  margin:0 0 11px;
  padding:9px 11px;
  border-radius:8px;
  color:#6c5421;
  background:#fff7df;
  font-size:8px;
  font-weight:800;
}
.educator-contact-records{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.educator-contact-record{
  padding:13px;
  border:1px solid #dfe7e2;
  border-left:4px solid #397553;
  border-radius:10px;
  background:#fff;
}
.educator-contact-record.overdue{
  border-left-color:#b3261e;
}
.educator-contact-record.complete{
  opacity:.74;
  background:#f5f7f6;
}
.educator-contact-record-heading{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.educator-contact-record-heading small,
.educator-contact-record-heading strong{
  display:block;
}
.educator-contact-record-heading small{
  color:#397553;
  font-size:8px;
  font-weight:900;
}
.educator-contact-record-heading strong{
  margin-top:4px;
  color:#234b35;
}
.educator-contact-record-tags{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  justify-content:flex-end;
}
.educator-contact-record-tags span{
  padding:4px 7px;
  border-radius:999px;
  color:#234b35;
  background:#eaf3ed;
  font-size:7px;
  font-weight:900;
}
.educator-contact-record-tags span.follow-up{
  color:#8b4f0b;
  background:#fff3df;
}
.educator-contact-record>p{
  margin:10px 0;
  color:#526274;
  font-size:9px;
  line-height:1.55;
  white-space:pre-wrap;
}
.educator-contact-details{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
}
.educator-contact-details span{
  padding:7px;
  border:1px solid #e4ebe6;
  border-radius:8px;
  background:#fafcfb;
}
.educator-contact-details small,
.educator-contact-details strong{
  display:block;
}
.educator-contact-details small{
  color:#68788a;
  font-size:7px;
}
.educator-contact-details strong{
  margin-top:3px;
  color:#234b35;
  font-size:9px;
}
.educator-contact-record footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid #e4eae6;
}
.educator-contact-record footer>span{
  color:#68788a;
  font-size:8px;
}
.educator-contact-record footer>div{
  display:flex;
  gap:6px;
}
.educator-contact-record footer button{
  min-height:30px;
  border:0;
  border-radius:7px;
  padding:5px 8px;
  color:#234b35;
  background:#eaf3ed;
  font-size:8px;
  font-weight:900;
}
@media(max-width:1250px){
  .educator-summary-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:950px){
  .educator-contact-records{grid-template-columns:1fr}
  .educator-contact-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .educator-contact-actions input,
  .educator-contact-actions select,
  .educator-contact-actions button{
    width:100%;
  }
}
@media(max-width:700px){
  .educator-contact-details{grid-template-columns:repeat(2,1fr)}
  .educator-contact-record-heading,
  .educator-contact-record footer{
    align-items:stretch;
    flex-direction:column;
  }
  .educator-contact-record-tags{
    justify-content:flex-start;
  }
}
@media(max-width:430px){
  .educator-contact-details{grid-template-columns:1fr}
}

/* Release 2.3.0 — Founder Command Center */
.founder-command-nav{border:1px solid #d8c788!important;color:#fffaf0!important;background:#ffffff12!important}
.founder-command-hero{position:relative;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:30px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#182d49,#294f78 58%,#907735);box-shadow:0 18px 48px #182d4930}
.founder-command-hero small{font-size:9px;font-weight:900;letter-spacing:1.6px}.founder-command-hero h2{margin:5px 0;font-size:34px}.founder-command-hero p{margin:0;opacity:.88}
.founder-command-search-wrap{position:relative;width:min(420px,42%)}.founder-command-search-wrap>input{width:100%;min-height:46px;margin:0;border:1px solid #ffffff55;background:#fff}
.founder-command-search-results{position:absolute;z-index:20;top:52px;right:0;left:0;max-height:360px;overflow:auto;padding:7px;border:1px solid #d7e0e7;border-radius:12px;background:#fff;box-shadow:0 18px 42px #182d4930}
.founder-command-search-results button{width:100%;display:grid;gap:2px;padding:10px;border:0;border-bottom:1px solid #edf1f4;text-align:left;background:#fff}.founder-command-search-results button:hover{background:#f4f7f9}.founder-command-search-results small{color:#907735;font-size:7px;font-weight:900}.founder-command-search-results strong{color:#182d49}.founder-command-search-results span{color:#68788a;font-size:8px}
.founder-command-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:16px 0}.founder-kpi-card{cursor:pointer;padding:16px;border:1px solid #dce4ea;border-top:4px solid #7890a4;border-radius:13px;background:#fff;box-shadow:0 8px 22px #182d490c;transition:.16s}.founder-kpi-card:hover{transform:translateY(-2px);box-shadow:0 13px 28px #182d4918}.founder-kpi-card.healthy{border-top-color:#28734b}.founder-kpi-card.watch{border-top-color:#bd7b12}.founder-kpi-card.attention{border-top-color:#b3261e}
.founder-kpi-card small,.founder-kpi-card strong,.founder-kpi-card p{display:block}.founder-kpi-card small{color:#68788a;font-size:8px;font-weight:900;text-transform:uppercase}.founder-kpi-card strong{margin-top:7px;color:#182d49;font-size:25px}.founder-kpi-card p{margin:4px 0 11px;color:#68788a;font-size:8px}.founder-kpi-card>span{padding:4px 7px;border-radius:999px;color:#526274;background:#edf1f4;font-size:7px;font-weight:900}
.founder-command-main-grid,.founder-command-bottom-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:15px}.founder-command-alerts{display:grid;gap:8px}.founder-alert{cursor:pointer;display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid #dfe6eb;border-left:4px solid #bd7b12;border-radius:10px;background:#fafcfd}.founder-alert.critical{border-left-color:#b3261e}.founder-alert>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#bd7b12;font-weight:900}.founder-alert.critical>span{background:#b3261e}.founder-alert small,.founder-alert strong{display:block}.founder-alert small{color:#907735;font-size:7px;font-weight:900}.founder-alert strong{margin-top:3px;color:#182d49}.founder-alert p{margin:3px 0 0;color:#68788a;font-size:8px}.founder-alert button{min-height:32px;border:0;border-radius:7px;color:#182d49;background:#edf1f4;font-weight:900}
.founder-all-clear{padding:24px;border:1px solid #d8e8df;border-radius:11px;text-align:center;background:#f5fbf7}.founder-all-clear strong{color:#28734b}.founder-all-clear p{margin:5px 0 0;color:#68788a;font-size:9px}
.founder-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.founder-quick-actions button{min-height:47px;border:1px solid #dce4ea;border-radius:9px;padding:9px;color:#182d49;background:#f8fafc;font-weight:900}.founder-quick-actions button:hover{background:#edf2f5}
.founder-campus-panel{margin-top:15px}.founder-campus-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.founder-campus-card{padding:14px;border:1px solid #dce4ea;border-top:4px solid #7890a4;border-radius:12px;background:#fff}.founder-campus-card.healthy{border-top-color:#28734b}.founder-campus-card.watch{border-top-color:#bd7b12}.founder-campus-card.attention{border-top-color:#b3261e}
.founder-campus-heading{display:flex;justify-content:space-between;gap:9px;align-items:flex-start}.founder-campus-heading small{color:#907735;font-size:7px;font-weight:900}.founder-campus-heading h4{margin:4px 0;color:#182d49}.founder-campus-heading>span{padding:4px 7px;border-radius:999px;color:#526274;background:#edf1f4;font-size:7px;font-weight:900}
.founder-campus-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:10px}.founder-campus-metrics span{padding:8px;border:1px solid #e5ebef;border-radius:8px;background:#fafcfd}.founder-campus-metrics small,.founder-campus-metrics strong{display:block}.founder-campus-metrics small{color:#68788a;font-size:7px}.founder-campus-metrics strong{margin-top:3px;color:#182d49;font-size:10px}
.founder-command-bottom-grid{margin-top:15px}.founder-health-metrics,.founder-activity-feed{display:grid;gap:9px}.founder-health-metric{padding:11px;border:1px solid #dfe6eb;border-radius:9px;background:#fafcfd}.founder-health-metric>div:first-child{display:flex;justify-content:space-between;gap:10px}.founder-health-metric small{color:#68788a;font-size:8px;font-weight:900}.founder-health-metric strong{color:#182d49}.founder-health-bar{height:8px;margin:8px 0 5px;overflow:hidden;border-radius:999px;background:#e4eaee}.founder-health-bar span{display:block;height:100%;border-radius:inherit;background:#7890a4}.founder-health-metric.healthy .founder-health-bar span{background:#28734b}.founder-health-metric.watch .founder-health-bar span{background:#bd7b12}.founder-health-metric.attention .founder-health-bar span{background:#b3261e}.founder-health-metric p{margin:0;color:#68788a;font-size:8px}
.founder-activity-item{cursor:pointer;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:9px;border-bottom:1px solid #e8edf0}.founder-activity-item>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#294f78;font-weight:900}.founder-activity-item small,.founder-activity-item strong{display:block}.founder-activity-item small{color:#907735;font-size:7px;font-weight:900}.founder-activity-item strong{margin-top:2px;color:#182d49}.founder-activity-item p{margin:2px 0 0;color:#68788a;font-size:8px}.founder-activity-item time{color:#68788a;font-size:7px;font-weight:900}
@media(max-width:1100px){.founder-command-kpis{grid-template-columns:repeat(2,1fr)}.founder-campus-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.founder-command-main-grid,.founder-command-bottom-grid{grid-template-columns:1fr}.founder-command-hero{align-items:stretch;flex-direction:column}.founder-command-search-wrap{width:100%}}@media(max-width:650px){.founder-command-kpis,.founder-campus-grid,.founder-quick-actions{grid-template-columns:1fr}.founder-alert,.founder-activity-item{grid-template-columns:38px 1fr}.founder-alert button,.founder-activity-item time{grid-column:2}}

/* Release 2.3.1 — Campus Command */
.founder-campus-card{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}
.founder-campus-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #182d4918}
.founder-campus-dialog{width:min(1220px,96vw);max-height:95vh;padding:0;border:0;border-radius:15px;background:#eef2f5}
.founder-campus-dialog-toolbar{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:15px 19px;color:#fff;background:linear-gradient(135deg,#182d49,#294f78 70%,#907735)}
.founder-campus-dialog-toolbar small{font-size:8px;font-weight:900;letter-spacing:1.2px}.founder-campus-dialog-toolbar h3{margin:3px 0 0}.founder-campus-dialog-toolbar button{min-height:34px;border:1px solid #ffffff55;border-radius:7px;padding:6px 10px;color:#182d49;background:#fff;font-weight:900}
.founder-campus-dialog-body{padding:16px}.founder-campus-detail-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.founder-campus-detail-kpis article{padding:13px;border:1px solid #dce4ea;border-top:4px solid #294f78;border-radius:10px;background:#fff}.founder-campus-detail-kpis small,.founder-campus-detail-kpis strong,.founder-campus-detail-kpis p{display:block}.founder-campus-detail-kpis small{color:#68788a;font-size:7px;font-weight:900;text-transform:uppercase}.founder-campus-detail-kpis strong{margin-top:5px;color:#182d49;font-size:20px}.founder-campus-detail-kpis p{margin:3px 0 0;color:#68788a;font-size:8px}
.founder-campus-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}.founder-campus-detail-grid+.panel,.founder-campus-detail-grid+.panel+.panel,.founder-campus-detail-grid+.panel+.panel+.panel{margin-top:14px}
.founder-campus-detail-alerts,.founder-campus-comparisons,.founder-campus-students,.founder-campus-educators,.founder-campus-activity{display:grid;gap:8px}
.founder-campus-detail-alerts article{cursor:pointer;display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;padding:10px;border:1px solid #dfe6eb;border-left:4px solid #bd7b12;border-radius:9px;background:#fafcfd}.founder-campus-detail-alerts article.critical{border-left-color:#b3261e}.founder-campus-detail-alerts article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#bd7b12;font-weight:900}.founder-campus-detail-alerts article.critical>span{background:#b3261e}.founder-campus-detail-alerts small,.founder-campus-detail-alerts strong{display:block}.founder-campus-detail-alerts small{color:#907735;font-size:7px;font-weight:900}.founder-campus-detail-alerts strong{margin-top:3px;color:#182d49}.founder-campus-detail-alerts p{margin:3px 0 0;color:#68788a;font-size:8px}
.founder-campus-comparisons article{padding:10px;border:1px solid #dfe6eb;border-radius:9px;background:#fafcfd}.founder-campus-comparisons article>div:first-child{display:flex;justify-content:space-between;gap:10px}.founder-campus-comparisons strong{color:#182d49}.founder-campus-comparisons span{font-weight:900;color:#294f78}.founder-campus-comparisons p{margin:4px 0 8px;color:#68788a;font-size:8px}.founder-comparison-bars{display:grid;gap:4px}.founder-comparison-bars span{display:block;height:6px;border-radius:999px;background:#294f78}.founder-comparison-bars span:last-child{background:#b9c5ce}
.founder-campus-students article{cursor:pointer;display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,auto);gap:9px;align-items:center;padding:10px;border:1px solid #dfe6eb;border-left:4px solid #bd7b12;border-radius:9px;background:#fff}.founder-campus-students article.attention{border-left-color:#b3261e}.founder-campus-students small,.founder-campus-students strong{display:block}.founder-campus-students small{color:#68788a;font-size:7px}.founder-campus-students strong{margin-top:3px;color:#182d49}.founder-campus-students article>span{padding:5px 7px;border-radius:999px;background:#edf1f4;color:#526274;font-size:7px;font-weight:900}
.founder-campus-educators article{display:grid;grid-template-columns:minmax(210px,1fr) repeat(4,90px);gap:8px;align-items:center;padding:10px;border:1px solid #dfe6eb;border-left:4px solid #28734b;border-radius:9px;background:#fff}.founder-campus-educators article.watch{border-left-color:#bd7b12}.founder-campus-educators article.attention{border-left-color:#b3261e}.founder-campus-educators article>div strong,.founder-campus-educators article>div small,.founder-campus-educators article>span small,.founder-campus-educators article>span strong{display:block}.founder-campus-educators article>div strong{color:#182d49}.founder-campus-educators article>div small,.founder-campus-educators article>span small{margin-top:3px;color:#68788a;font-size:7px}.founder-campus-educators article>span strong{margin-top:3px;color:#294f78}
.founder-campus-activity article{cursor:pointer;display:grid;grid-template-columns:36px 1fr auto;gap:9px;align-items:center;padding:9px;border-bottom:1px solid #e8edf0}.founder-campus-activity article>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#294f78;font-weight:900}.founder-campus-activity small,.founder-campus-activity strong{display:block}.founder-campus-activity small{color:#907735;font-size:7px;font-weight:900}.founder-campus-activity strong{margin-top:2px;color:#182d49}.founder-campus-activity p{margin:2px 0 0;color:#68788a;font-size:8px}.founder-campus-activity time{color:#68788a;font-size:7px;font-weight:900}
@media(max-width:1000px){.founder-campus-detail-kpis{grid-template-columns:repeat(2,1fr)}.founder-campus-detail-grid{grid-template-columns:1fr}.founder-campus-educators article{grid-template-columns:1fr repeat(2,1fr)}}@media(max-width:700px){.founder-campus-students article,.founder-campus-activity article{grid-template-columns:36px 1fr}.founder-campus-students article>div{grid-column:1/-1}.founder-campus-activity time{grid-column:2}.founder-campus-educators article{grid-template-columns:1fr 1fr}}@media(max-width:480px){.founder-campus-detail-kpis{grid-template-columns:1fr}.founder-campus-educators article{grid-template-columns:1fr}}

.academic-intelligence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}
.academic-risk-row{display:grid;grid-template-columns:120px 1fr 42px;gap:12px;align-items:center;margin:12px 0}
.academic-risk-track{height:12px;border-radius:999px;background:#e9eef2;overflow:hidden}
.academic-risk-fill{height:100%;border-radius:999px;background:currentColor}
.risk-thriving{color:#2f7d52}.risk-progressing{color:#4d7b8d}.risk-watch{color:#ad7b15}.risk-intervention{color:#b85c27}.risk-critical{color:#a63a3a}
.academic-ranking-item,.academic-student-item,.academic-recommendation-item{border:1px solid #d9e0e5;border-radius:14px;padding:14px;margin:10px 0;background:#fff}
.academic-ranking-item{display:grid;grid-template-columns:42px minmax(0,1fr) repeat(3,minmax(88px,auto));gap:14px;align-items:center}
.academic-rank{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:#eef2f5}
.academic-student-item{display:flex;justify-content:space-between;gap:16px;cursor:pointer}
.academic-student-item:hover{box-shadow:0 8px 22px rgba(34,54,68,.08);transform:translateY(-1px)}
.academic-score{font-size:1.35rem;font-weight:800}.academic-meta{font-size:.9rem;color:#68757f}
@media(max-width:900px){.academic-intelligence-grid{grid-template-columns:1fr}.academic-ranking-item{grid-template-columns:42px 1fr}}


.intervention-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:18px 0;
}
.intervention-card{
  border:1px solid #d9e0e5;
  border-radius:14px;
  padding:14px;
  margin:10px 0;
  background:#fff;
}
.intervention-card-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.intervention-meta{
  color:#68757f;
  font-size:.9rem;
  margin-top:4px;
}
.intervention-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.intervention-actions button{
  width:auto;
}
.intervention-priority{
  display:inline-flex;
  border-radius:999px;
  padding:4px 9px;
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
}
.priority-critical{background:#fde5e5;color:#9d2727}
.priority-high{background:#fff0df;color:#9c5116}
.priority-medium{background:#fff7d8;color:#826610}
.priority-low{background:#e8f4ed;color:#286647}
.intervention-status{
  text-transform:capitalize;
  font-weight:700;
}
.intervention-dialog{
  width:min(760px,calc(100vw - 32px));
  max-height:85vh;
  border:0;
  border-radius:18px;
  padding:20px;
  box-shadow:0 24px 80px rgba(25,40,50,.25);
}
.intervention-dialog::backdrop{
  background:rgba(20,32,40,.45);
}
.intervention-history{
  border-left:3px solid #d9e0e5;
  padding-left:14px;
  margin-top:16px;
}
.intervention-history-item{
  margin:12px 0;
}
@media(max-width:900px){
  .intervention-grid{grid-template-columns:1fr}
}

/* Release 2.4.4 — Student Snapshot Card */
.student-snapshot-card{margin:0 0 18px;padding:20px;border:1px solid #dce6ed;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(36,69,95,.07)}
.student-snapshot-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}
.student-snapshot-heading small{display:block;color:#68788a;font-size:9px;font-weight:900;letter-spacing:.12em}
.student-snapshot-heading h3{margin:4px 0 0;color:#24455f;font-size:21px}
.student-snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.student-snapshot-grid article{min-width:0;padding:15px;border:1px solid #e1e9ef;border-radius:12px;background:#f8fbfd}
.student-snapshot-grid small,.student-snapshot-grid strong,.student-snapshot-grid p{display:block}
.student-snapshot-grid small{color:#68788a;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.student-snapshot-grid strong{margin-top:7px;overflow:hidden;color:#24455f;font-size:21px;text-overflow:ellipsis;white-space:nowrap}
.student-snapshot-grid p{margin:5px 0 0;overflow:hidden;color:#68788a;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.snapshot-health{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;font-size:10px;font-weight:900;white-space:nowrap}
.snapshot-health.neutral{background:#edf2f5;color:#5d6d78}.snapshot-health.good{background:#e6f6ec;color:#207443}.snapshot-health.watch{background:#fff4d8;color:#8a6200}.snapshot-health.alert{background:#fde8e8;color:#a12d2d}
@media(max-width:900px){.student-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.student-snapshot-heading{align-items:flex-start;flex-direction:column}.student-snapshot-grid{grid-template-columns:1fr}}


/* Release 2.4.5 — Student Workspace Quick Actions */
.workspace-quick-actions{margin:18px 0;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.workspace-quick-actions-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.workspace-quick-actions-heading h3{margin:3px 0 0}
.workspace-quick-actions-heading p{margin:0;max-width:480px;color:var(--muted);font-size:.9rem;text-align:right}
.workspace-quick-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.workspace-quick-actions-grid button{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;row-gap:3px;align-items:center;min-height:92px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:15px;background:var(--surface);color:var(--text);box-shadow:none}
.workspace-quick-actions-grid button:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.workspace-quick-actions-grid .quick-action-icon{grid-row:1 / span 2;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:1.25rem}
.workspace-quick-actions-grid strong{font-size:.96rem}
.workspace-quick-actions-grid small{color:var(--muted);font-weight:500;line-height:1.35}
@media (max-width:900px){.workspace-quick-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.workspace-quick-actions-heading{display:block}.workspace-quick-actions-heading p{margin-top:8px;text-align:left}.workspace-quick-actions-grid{grid-template-columns:1fr}}
/*=========================================================
 Release 2.4.7
 Student Command Dashboard
=========================================================*/

.student-command-grid{

    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:18px;

    margin-top:20px;

    align-items:start;

}

.student-command-card{

    display:flex;
    flex-direction:column;

    min-height:340px;

    border:1px solid #dfe5ed;

    border-radius:15px;

    background:#fbfcfe;

    overflow:hidden;

    transition:.18s;

}

.student-command-card:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 28px rgba(23,54,93,.10);

}

.student-command-heading{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px;

    border-bottom:1px solid #e6ecf2;

    background:white;

}

.student-command-heading small{

    display:block;

    color:#0030a0;

    font-size:8px;

    font-weight:900;

    letter-spacing:1.5px;

}

.student-command-heading h3{

    margin:5px 0 0;

    color:#17365d;

    font-size:22px;

}

.student-command-heading button{

    min-height:34px;

    padding:7px 12px;

    border:none;

    border-radius:8px;

    background:#eaf0f8;

    color:#17365d;

    font-weight:800;

}

.command-activity-list,
.command-progress-list,
.command-standing-list,
.command-assignment-list{

    display:flex;

    flex-direction:column;

    gap:12px;

    padding:18px;

}

.command-row{

    display:grid;

    grid-template-columns:40px 1fr auto;

    gap:12px;

    align-items:center;

    padding:12px;

    border:1px solid #e8edf3;

    border-radius:11px;

    background:white;

}

.command-row:hover{

    background:#f7faff;

}

.command-row-icon{

    width:40px;

    height:40px;

    display:grid;

    place-items:center;

    border-radius:11px;

    color:#0030a0;

    background:#eaf0f8;

    font-weight:900;

    font-size:18px;

}

.command-row strong{

    display:block;

    color:#17365d;

}

.command-row small{

    display:block;

    margin-top:3px;

    color:#68788a;

    font-size:9px;

}

.command-progress-bar{

    height:8px;

    margin-top:8px;

    border-radius:999px;

    overflow:hidden;

    background:#e6ebf1;

}

.command-progress-bar span{

    display:block;

    height:100%;

    background:linear-gradient(
        90deg,
        #0030a0,
        #16888d
    );

}

.command-score{

    font-size:22px;

    font-weight:800;

    color:#0030a0;

}

@media(max-width:900px){

    .student-command-grid{

        grid-template-columns:1fr;

    }

}

/* ==========================================================
   Release 2.4.14a — Inline Grade Trends
   ========================================================== */
.official-progress-report .current-grade-cell{
  font-weight:900;
  color:#0030a0;
  background:#f4f7fc;
  white-space:nowrap;
}
.official-progress-report .current-grade-value{
  display:inline-block;
  vertical-align:middle;
}
.official-progress-report .inline-grade-trend{
  display:inline-flex;
  align-items:center;
  gap:2px;
  margin-left:6px;
  vertical-align:middle;
  font-size:8px;
  font-weight:900;
  line-height:1;
  white-space:nowrap;
}
.official-progress-report .inline-grade-trend b{font-size:9px}
.official-progress-report .inline-grade-trend.up{color:#176b34}
.official-progress-report .inline-grade-trend.down{color:#9d2b23}
.official-progress-report .inline-grade-trend.steady{color:#174f8a}
.official-progress-report .inline-grade-trend.neutral{color:#68788a}
.official-progress-report .semester-average-note{
  margin:12px 0 0;
  padding:10px 12px;
  border-left:4px solid #0030a0;
  border-radius:0 8px 8px 0;
  color:#526274;
  background:#f5f8fc;
  font-size:9px;
  line-height:1.45;
}
.official-progress-report .semester-average-note strong{color:#17365d}
@media print{
  .official-progress-report .inline-grade-trend{font-size:7px}
  .official-progress-report .semester-average-note{font-size:8px}
}

/* Release 2.4.15 — Official Document Branding */
.official-progress-report{--report-gold:#c7a34b;padding:.36in .42in .34in}
.official-progress-report>*:not(.report-watermark){position:relative;z-index:1}
.official-progress-report .report-watermark{position:absolute;z-index:0;left:50%;top:51%;width:4.4in;max-width:68%;transform:translate(-50%,-50%);opacity:.035;pointer-events:none;filter:grayscale(1)}
.official-progress-report .report-header{padding-bottom:12px;border-bottom:2px solid var(--report-blue)}
.official-progress-report .report-header:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--report-gold)}
.official-progress-report .report-lion-logo{width:72px;height:72px;object-fit:contain}
.official-progress-report .report-accreditation-seal{width:74px;height:82px;object-fit:contain}
.official-progress-report .report-accreditation{margin-top:8px;color:var(--report-navy);font-size:8px;font-weight:800;letter-spacing:.2px;text-align:center}
.official-progress-report .report-tagline{margin-top:10px;color:var(--report-navy)}
.official-progress-report .report-information{gap:7px;margin:14px 0 12px}
.official-progress-report .report-information-card{min-height:48px;border-radius:7px;box-shadow:0 2px 7px rgba(23,54,93,.05)}
.official-progress-report .report-overview{display:grid;grid-template-columns:1.18fr .82fr;gap:10px;margin:0 0 14px}
.official-progress-report .report-academic-summary,.official-progress-report .report-progress-snapshot{padding:12px 14px;border:1px solid var(--report-line);border-radius:8px;background:rgba(255,255,255,.94)}
.official-progress-report .report-academic-summary{border-left:4px solid var(--report-blue)}
.official-progress-report .report-progress-snapshot{border-top:3px solid var(--report-gold)}
.official-progress-report .report-overview-heading small{color:var(--report-blue);font-size:6.5px;font-weight:900;letter-spacing:1px}
.official-progress-report .report-overview-heading h2{margin:2px 0 8px;color:var(--report-navy);font-size:13px}
.official-progress-report .report-academic-summary dl{margin:0}
.official-progress-report .report-academic-summary dl div{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px dotted #c8d2dc}
.official-progress-report .report-academic-summary dl div:last-child{border-bottom:0}
.official-progress-report .report-academic-summary dt{color:var(--report-muted);font-size:7.5px}
.official-progress-report .report-academic-summary dd{margin:0;color:var(--report-navy);font-size:8px;font-weight:900;text-align:right}
.official-progress-report .snapshot-score{display:flex;align-items:end;justify-content:space-between;gap:8px}
.official-progress-report .snapshot-score strong{color:var(--report-blue);font-size:20px;line-height:1}
.official-progress-report .snapshot-score span{color:var(--report-muted);font-size:6.5px;text-align:right}
.official-progress-report .snapshot-track{height:7px;margin:8px 0 7px;border-radius:999px;background:#e5ebf1;overflow:hidden}
.official-progress-report .snapshot-track span{display:block;width:0;height:100%;border-radius:inherit;background:var(--report-blue);transition:width .25s ease}
.official-progress-report .snapshot-meta{display:flex;justify-content:space-between;gap:8px;color:var(--report-muted);font-size:6.5px;font-weight:800}
.official-progress-report .report-progress-snapshot p{margin:8px 0 0;color:var(--report-muted);font-size:7px}
.official-progress-report .report-progress-snapshot p strong{color:var(--report-navy)}
.official-progress-report .report-signatures{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin:22px 26px 8px}
.official-progress-report .report-signatures div{text-align:center}
.official-progress-report .report-signatures span{display:block;height:22px;border-bottom:1px solid #617083}
.official-progress-report .report-signatures strong{display:block;margin-top:4px;color:var(--report-muted);font-size:7px;font-weight:700}
.official-progress-report .report-footer{margin-top:9px;border-top:1px solid var(--report-gold)}
@media(max-width:760px){.official-progress-report .report-overview{grid-template-columns:1fr}.official-progress-report .report-accreditation-seal{width:58px;height:65px}}
@media(max-width:520px){.official-progress-report .report-overview{grid-template-columns:1fr}.official-progress-report .report-signatures{gap:20px;margin-left:0;margin-right:0}}
@media print{.official-progress-report .report-watermark{opacity:.03}.official-progress-report .report-information-card,.official-progress-report .report-academic-summary,.official-progress-report .report-progress-snapshot{box-shadow:none}.official-progress-report .snapshot-track span{transition:none}}

/* Release 2.4.15a — Conduct & Information Card Refinement */
.official-progress-report .report-information {
  grid-template-columns: 2fr repeat(3, 1fr);
}
@media (max-width: 900px) {
  .official-progress-report .report-information {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .official-progress-report .report-information-primary {
    grid-column: 1 / -1;
  }
}
@media print {
  .official-progress-report .report-information {
    grid-template-columns: 2fr repeat(3, 1fr);
  }
}


/* =========================================================
   Release 2.5.1 — Transcript Columns
   ========================================================= */
.transcript-control-grid{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr 1fr}
.official-transcript{min-height:11in}
.official-transcript .transcript-student-information{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:7px;margin:14px 0}
.official-transcript .transcript-student-information>div{min-height:48px;padding:9px 11px;border:1px solid var(--report-line);border-radius:7px;background:rgba(255,255,255,.95);box-shadow:0 2px 7px rgba(23,54,93,.05)}
.official-transcript .transcript-student-information small,.official-transcript .transcript-student-information strong{display:block}
.official-transcript .transcript-student-information small{color:var(--report-muted);font-size:6.5px;font-weight:900;letter-spacing:.55px;text-transform:uppercase}
.official-transcript .transcript-student-information strong{margin-top:5px;color:var(--report-navy);font-size:9px}
.official-transcript .transcript-primary-card{grid-column:span 2;border-left:4px solid var(--report-blue)!important}
.official-transcript .transcript-record-section{margin-top:12px}
.official-transcript .transcript-table th,.official-transcript .transcript-table td{font-size:7.5px;padding:7px 5px}
.official-transcript .transcript-table th:nth-child(1),.official-transcript .transcript-table td:nth-child(1){width:11%;text-align:center}
.official-transcript .transcript-table th:nth-child(2),.official-transcript .transcript-table td:nth-child(2){width:34%}
.official-transcript .transcript-table th:nth-child(n+3),.official-transcript .transcript-table td:nth-child(n+3){width:13.75%;text-align:center}
.official-transcript .transcript-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}
.official-transcript .transcript-summary-grid article{padding:10px;border:1px solid var(--report-line);border-top:3px solid var(--report-gold);border-radius:7px;text-align:center;background:#fff}
.official-transcript .transcript-summary-grid small,.official-transcript .transcript-summary-grid strong{display:block}
.official-transcript .transcript-summary-grid small{color:var(--report-muted);font-size:6.5px;font-weight:900;text-transform:uppercase}
.official-transcript .transcript-summary-grid strong{margin-top:5px;color:var(--report-navy);font-size:14px}
.official-transcript .transcript-method-note{padding:10px 12px;border-left:4px solid var(--report-blue);border-radius:0 8px 8px 0;color:#526274;background:#f5f8fc;font-size:8px;line-height:1.5}
.official-transcript .transcript-method-note strong{color:var(--report-navy)}
@media(max-width:1100px){.transcript-control-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.transcript-control-grid,.official-transcript .transcript-student-information,.official-transcript .transcript-summary-grid{grid-template-columns:1fr 1fr}.official-transcript .transcript-primary-card{grid-column:1/-1}}
@media(max-width:520px){.transcript-control-grid,.official-transcript .transcript-student-information,.official-transcript .transcript-summary-grid{grid-template-columns:1fr}}
@media print{
  body.transcript-print *{visibility:hidden!important}
  body.transcript-print #transcriptPreview,body.transcript-print #transcriptPreview *{visibility:visible!important}
  body.transcript-print #transcriptPreview{position:absolute;left:0;top:0;width:100%;margin:0}
  body.transcript-print #progressReportPreview,body.transcript-print #progressReportPreview *{visibility:hidden!important}
  body.transcript-print .official-transcript{width:100%;margin:0;padding:.32in;border:0;box-shadow:none}
  body.transcript-print .official-transcript .transcript-student-information{grid-template-columns:2fr repeat(3,1fr)}
  @page{size:portrait;margin:.3in}
}

/* =========================================================
   Release 2.5.2 — Manual Transcript Entry
   ========================================================= */
.transcript-control-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.transcript-manual-entry{margin-top:15px}
.transcript-manual-entry .head{align-items:flex-start}
.transcript-manual-entry .head p{max-width:720px}
.transcript-entry-table-wrap{overflow-x:auto}
.transcript-entry-table{min-width:980px}
.transcript-entry-table th{white-space:nowrap}
.transcript-entry-table td{padding:5px}
.transcript-entry-table input{min-height:36px;margin:0;padding:7px 8px;border-radius:7px}
.transcript-entry-table th:nth-child(1),.transcript-entry-table td:nth-child(1){width:18%}
.transcript-entry-table th:nth-child(2),.transcript-entry-table td:nth-child(2){width:9%}
.transcript-entry-table th:nth-child(3),.transcript-entry-table td:nth-child(3){width:27%}
.transcript-entry-table th:nth-child(n+4):nth-child(-n+7),.transcript-entry-table td:nth-child(n+4):nth-child(-n+7){width:10%}
.transcript-entry-table th:last-child,.transcript-entry-table td:last-child{width:5%;text-align:center}
.transcript-remove-course{min-width:32px!important;min-height:32px!important;padding:4px 8px!important}
.transcript-entry-note{margin:10px 0 0;color:var(--muted);font-size:10px}
@media(max-width:1100px){.transcript-control-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.transcript-control-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.transcript-control-grid{grid-template-columns:1fr}}
@media print{body.transcript-print .transcript-manual-entry{display:none!important}}


/* Release 2.5.3 — Transcript Subject Grouping */
.transcript-entry-table select{min-height:36px;margin:0;padding:7px 8px;border-radius:7px}
.official-transcript .transcript-category-row th{padding:8px 6px;border-top:10px solid #fff;border-bottom:1px solid #b8c7dd;color:var(--report-navy);background:#dbe5f3;font-size:8px;font-weight:900;letter-spacing:.35px;text-align:center;text-transform:none}
@media print{.official-transcript .transcript-category-row th{border-top-width:7px}}

/* =========================================================
   EducationOS 2.6.0 — Permanent Academic Records
   ========================================================= */
.academic-record-panel{margin-top:1rem}
.academic-course-form{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.9rem;margin:1rem 0 1.25rem;padding:1rem;border:1px solid var(--line,#d9e0e8);border-radius:16px;background:rgba(246,249,252,.85)}
.academic-course-form[hidden]{display:none}
.academic-course-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:700;color:var(--muted,#5e6a78)}
.academic-course-form input,.academic-course-form select{width:100%}
.academic-course-notes{grid-column:span 3}
.academic-course-actions{grid-column:span 2;display:flex;align-items:end;justify-content:flex-end;gap:.65rem}
.academic-record-empty{margin-top:1rem;padding:1.5rem;text-align:center;border:1px dashed var(--line,#d9e0e8);border-radius:14px}
.academic-record-years{display:grid;gap:.85rem;margin-top:1rem}
.academic-year-group{border:1px solid var(--line,#d9e0e8);border-radius:14px;overflow:hidden;background:#fff}
.academic-year-group summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.1rem;cursor:pointer;background:linear-gradient(135deg,rgba(20,71,122,.08),rgba(20,71,122,.02));font-size:1rem}
.academic-year-group summary span{font-weight:800;color:var(--navy,#143f6b)}
.academic-year-group summary strong{font-size:.78rem;color:var(--muted,#617080)}
.academic-year-group .table{margin:0;border:0;border-radius:0}
.academic-year-group td:first-child strong,.academic-year-group td:first-child small{display:block}
.academic-year-group td:first-child small{margin-top:.2rem;color:var(--muted,#687585)}
.academic-record-actions{white-space:nowrap;text-align:right}
.academic-record-actions button{padding:.45rem .65rem;font-size:.72rem;margin-left:.3rem}
.unofficial-watermark{position:absolute;inset:42% auto auto 50%;transform:translate(-50%,-50%) rotate(-28deg);font-size:5rem;font-weight:900;letter-spacing:.22em;color:rgba(65,74,86,.085);z-index:0;pointer-events:none;white-space:nowrap}
.unofficial-transcript-notice{margin-top:1rem;padding:.8rem 1rem;border:1px solid #aeb7c2;background:#f4f6f8;text-align:center;font-size:.78rem;font-weight:700;color:#4d5865}
.unofficial-transcript .report-watermark{opacity:.035}
.unofficial-transcript .report-title-block h1{letter-spacing:.03em}
@media(max-width:1100px){.academic-course-form{grid-template-columns:repeat(3,minmax(0,1fr))}.academic-course-notes{grid-column:span 2}.academic-course-actions{grid-column:span 1}}
@media(max-width:720px){.academic-course-form{grid-template-columns:1fr}.academic-course-notes,.academic-course-actions{grid-column:span 1}.academic-course-actions{justify-content:flex-start}}
@media print{
  .unofficial-watermark{font-size:4.4rem!important;color:rgba(65,74,86,.10)!important}
  .unofficial-transcript-notice{break-inside:avoid}
}

/* EducationOS 2.6.1 — Grade-aware academic records and graduation audit */
.early-hs-credit{grid-column:span 2}.checkbox-line{display:flex;align-items:center;gap:.55rem;min-height:42px;font-weight:700;color:var(--ink)}.checkbox-line input{width:18px;height:18px}
.academic-eligibility-notice{display:flex;align-items:center;gap:1.1rem;border-left:5px solid #9aa8b8;background:linear-gradient(135deg,#f8fafc,#eef3f8)}.eligibility-icon{font-size:2rem}.academic-eligibility-notice h3{margin:.15rem 0 .35rem}.academic-eligibility-notice p{margin:0;color:var(--muted)}
.graduation-audit-panel{margin-top:1.25rem}.graduation-audit-head{align-items:flex-start}.graduation-audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1rem 0}.graduation-audit-summary article{padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff}.graduation-audit-summary small{display:block;color:var(--muted);font-weight:800;letter-spacing:.05em}.graduation-audit-summary strong{display:block;font-size:1.45rem;margin:.3rem 0}.graduation-audit-summary p{margin:0;color:var(--muted);font-size:.85rem}.audit-status{font-weight:900!important}.audit-status.eligible{color:#18794e}.audit-status.on-track{color:#8a6500}.audit-status.needs-attention{color:#b45309}.audit-status.not-eligible{color:#b42318}
.graduation-readiness-bar{height:14px;border-radius:99px;background:#e7edf3;overflow:hidden;margin-bottom:1.25rem}.graduation-readiness-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#315f91,#173f70);transition:width .35s ease}
.graduation-audit-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:1.2rem}.audit-section-title h4{margin:.15rem 0 .8rem}.audit-section-title small{font-weight:900;color:var(--muted);letter-spacing:.06em}.audit-requirement{display:grid;grid-template-columns:minmax(150px,1fr) 2fr auto;align-items:center;gap:.8rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.audit-requirement-name strong{display:block}.audit-requirement-name small{color:var(--muted)}.audit-progress{height:9px;border-radius:99px;background:#e7edf3;overflow:hidden}.audit-progress span{display:block;height:100%;background:#315f91}.audit-requirement.complete .audit-progress span{background:#25825b}.audit-requirement-total{font-weight:900;white-space:nowrap}.audit-remaining,.audit-sources{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.audit-remaining-row,.audit-source-row{display:flex;justify-content:space-between;gap:1rem;padding:.72rem .85rem;border-bottom:1px solid var(--line)}.audit-remaining-row:last-child,.audit-source-row:last-child{border-bottom:0}.audit-remaining-row.complete{color:#18794e}.audit-empty{padding:1rem;color:#18794e;font-weight:800}.source-title{margin-top:1.2rem}.graduation-audit-footer{display:flex;justify-content:space-between;margin-top:1.25rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.8rem}
@media(max-width:900px){.graduation-audit-summary{grid-template-columns:repeat(2,1fr)}.graduation-audit-grid{grid-template-columns:1fr}.early-hs-credit{grid-column:auto}}
@media print{body.graduation-audit-print .sidebar,body.graduation-audit-print .topbar,body.graduation-audit-print .reports-hero,body.graduation-audit-print .report-controls,body.graduation-audit-print .academic-record-panel,body.graduation-audit-print .academic-eligibility-notice,body.graduation-audit-print .transcript-preview{display:none!important}body.graduation-audit-print #app,body.graduation-audit-print main,body.graduation-audit-print .content,body.graduation-audit-print #transcriptsView{display:block!important;width:100%!important;margin:0!important;padding:0!important}body.graduation-audit-print .graduation-audit-panel{display:block!important;box-shadow:none!important;border:0!important;margin:0!important;padding:.25in!important}body.graduation-audit-print #printGraduationAudit{display:none!important}}
.transcript-controls.academic-access-limited .report-control-grid label:not(:first-child):not(.early-hs-credit),.transcript-controls.academic-access-limited .report-control-actions{display:none}

/* ==========================================================
   Release 2.6.2 — Grade-Aware Student Success Dashboard
   ========================================================== */
.student-success-dashboard{margin:22px 0;padding:24px;border:1px solid var(--line,#d8e0e8);border-radius:18px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);box-shadow:0 12px 30px rgba(22,47,77,.08)}
.student-success-heading,.success-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.student-success-heading h3,.success-detail-heading h4{margin:3px 0 5px}.student-success-heading p{margin:0;color:var(--muted,#667085)}
.success-status{display:inline-flex;align-items:center;justify-content:center;padding:8px 13px;border-radius:999px;font-size:.78rem;font-weight:800;white-space:nowrap}.success-status.good{background:#e9f7ef;color:#176b3a}.success-status.watch{background:#fff5d9;color:#8a5a00}.success-status.alert{background:#fdecec;color:#a12b2b}.success-status.neutral{background:#edf2f7;color:#475467}
.student-success-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-top:20px}.success-metric{padding:17px;border:1px solid var(--line,#d8e0e8);border-radius:14px;background:#fff}.success-metric small{display:block;color:var(--muted,#667085);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.success-metric strong{display:block;margin:8px 0 3px;font-size:1.65rem}.success-metric p{margin:0;color:var(--muted,#667085);font-size:.82rem}
.high-school-success-details{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.success-detail-card{padding:19px;border:1px solid var(--line,#d8e0e8);border-radius:15px;background:#fff}.success-detail-heading button{font-size:.78rem}.success-readiness{height:10px;margin:15px 0 14px;border-radius:999px;background:#e9eef4;overflow:hidden}.success-readiness span{display:block;height:100%;width:0;border-radius:inherit;background:currentColor;transition:width .3s ease}.success-list,.success-course-list{display:grid;gap:9px}.success-list-row,.success-course-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #edf1f5}.success-list-row:last-child,.success-course-row:last-child{border-bottom:0}.success-list-row span,.success-course-row small{color:var(--muted,#667085)}.success-course-row div{display:grid;gap:2px}.success-course-row strong:last-child{font-variant-numeric:tabular-nums}
.grade-aware-success-message{margin-top:16px;padding:16px 18px;border-radius:14px;background:#f0f5fa;color:#344054}.grade-aware-success-message:empty{display:none}
@media(max-width:1050px){.student-success-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.high-school-success-details{grid-template-columns:1fr}}@media(max-width:620px){.student-success-heading,.success-detail-heading{display:grid}.student-success-metrics{grid-template-columns:1fr}}

/* ==========================================================
   EducationOS 2.6.4 — Academic Trends
   ========================================================== */

.academic-trends-card {
  margin: 22px 0;
  padding: 24px;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 12px 30px rgba(22, 47, 77, 0.08);
}

.academic-trends-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.academic-trends-heading small {
  color: var(--muted, #667085);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.academic-trends-heading h3 {
  margin: 4px 0 5px;
  color: var(--navy, #17365d);
}

.academic-trends-heading p {
  margin: 0;
  color: var(--muted, #667085);
}

.academic-trend-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.academic-trend-status.improving {
  color: #176b3a;
  background: #e9f7ef;
}

.academic-trend-status.steady {
  color: #8a5a00;
  background: #fff5d9;
}

.academic-trend-status.attention {
  color: #a12b2b;
  background: #fdecec;
}

.academic-trend-status.neutral {
  color: #475467;
  background: #edf2f7;
}

.academic-trends-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-top: 20px;
}

.academic-trends-summary article {
  padding: 17px;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 14px;
  background: #ffffff;
}

.academic-trends-summary small {
  display: block;
  color: var(--muted, #667085);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.academic-trends-summary strong {
  display: block;
  margin: 8px 0 3px;
  color: var(--navy, #17365d);
  font-size: 1.45rem;
}

.academic-trends-summary p {
  margin: 0;
  color: var(--muted, #667085);
  font-size: 0.82rem;
}

.academic-trend-chart-shell {
  margin-top: 18px;
  padding: 20px 18px 12px;
  overflow-x: auto;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 15px;
  background: #ffffff;
}

.academic-trend-chart {
  min-height: 260px;
}

.academic-trend-chart .empty {
  min-height: 240px;
  display: grid;
  place-items: center;
}

.academic-trend-plot {
  position: relative;
  min-width: 650px;
  height: 245px;
  padding: 10px 10px 34px 42px;
}

.academic-trend-grid {
  position: absolute;
  inset: 10px 10px 34px 42px;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  pointer-events: none;
}

.academic-trend-grid span {
  border-top: 1px dashed #d8e0e8;
}

.academic-trend-grid span:last-child {
  border-bottom: 1px dashed #d8e0e8;
}

.academic-trend-y-labels {
  position: absolute;
  top: 5px;
  bottom: 28px;
  left: 0;
  width: 36px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: var(--muted, #667085);
  font-size: 0.7rem;
  text-align: right;
}

.academic-trend-points {
  position: absolute;
  inset: 10px 10px 34px 42px;
  display: grid;
  grid-template-columns: repeat(9, minmax(42px, 1fr));
  align-items: end;
}

.academic-trend-column {
  position: relative;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.academic-trend-bar {
  position: relative;
  width: min(34px, 60%);
  min-height: 4px;
  border-radius: 8px 8px 3px 3px;
  background: linear-gradient(
    180deg,
    var(--blue, #0030a0),
    var(--navy, #17365d)
  );
  box-shadow: 0 5px 12px rgba(23, 54, 93, 0.16);
  transition:
    height 0.35s ease,
    transform 0.2s ease;
}

.academic-trend-bar:hover {
  transform: translateY(-3px);
}

.academic-trend-bar strong {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 6px);
  transform: translateX(-50%);
  color: var(--navy, #17365d);
  font-size: 0.72rem;
  white-space: nowrap;
}

.academic-trend-label {
  position: absolute;
  top: calc(100% + 9px);
  left: 50%;
  transform: translateX(-50%);
  color: var(--muted, #667085);
  font-size: 0.7rem;
  font-weight: 800;
  white-space: nowrap;
}

.academic-trend-column.missing .academic-trend-bar {
  height: 4px !important;
  background: #d8e0e8;
  box-shadow: none;
}

.academic-trend-column.missing .academic-trend-bar strong {
  color: #98a2b3;
}

@media (max-width: 1000px) {
  .academic-trends-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .academic-trends-heading {
    display: grid;
  }

  .academic-trends-summary {
    grid-template-columns: 1fr;
  }

  .academic-trends-card {
    padding: 18px;
  }
}
/* ==========================================================
   EducationOS 2.6.5 — Student Milestones
   ========================================================== */

.student-milestones-card{
    margin:22px 0;
    padding:24px;
    border:1px solid var(--line,#d8e0e8);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 12px 30px rgba(22,47,77,.08);
}

.student-milestones-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
}

.student-milestones-heading small{
    font-weight:900;
    color:var(--muted,#667085);
    letter-spacing:.08em;
}

.student-milestones-heading h3{
    margin:4px 0;
    color:var(--navy,#17365d);
}

.student-milestones-heading p{
    margin:0;
    color:var(--muted,#667085);
}

.student-milestone-status{
    padding:8px 14px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
}

.student-milestone-status.complete{
    background:#e9f7ef;
    color:#176b3a;
}

.student-milestone-status.progress{
    background:#e8f0fe;
    color:#0030a0;
}

.student-milestone-status.neutral{
    background:#edf2f7;
    color:#475467;
}

.student-milestone-summary{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-top:20px;
}

.student-milestone-summary article{
    background:#fff;
    border:1px solid var(--line,#d8e0e8);
    border-radius:14px;
    padding:18px;
}

.student-milestone-summary small{
    display:block;
    color:var(--muted,#667085);
    font-weight:700;
    text-transform:uppercase;
}

.student-milestone-summary strong{
    display:block;
    margin:8px 0 4px;
    color:var(--navy,#17365d);
    font-size:1.35rem;
}

.student-milestone-summary p{
    margin:0;
    color:var(--muted,#667085);
}

.student-milestone-timeline{
    margin-top:24px;
    padding:22px;
    border:1px solid var(--line,#d8e0e8);
    border-radius:16px;
    background:white;
    overflow-x:auto;
}

.student-milestone-track{

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    position:relative;
    gap:12px;
    min-width:760px;

}

.student-milestone-track::before{

    content:"";
    position:absolute;
    left:32px;
    right:32px;
    top:26px;
    height:4px;
    background:#d9e3ef;
    border-radius:20px;

}

.student-milestone{

    width:130px;
    position:relative;
    z-index:2;
    text-align:center;

}

.student-milestone-dot{

    width:28px;
    height:28px;
    margin:0 auto 12px;
    border-radius:50%;
    border:4px solid white;
    box-shadow:0 4px 12px rgba(0,0,0,.12);

}

.student-milestone.complete .student-milestone-dot{

    background:#198754;

}

.student-milestone.current .student-milestone-dot{

    background:#0030a0;

}

.student-milestone.future .student-milestone-dot{

    background:#cfd8e3;

}

.student-milestone h5{

    margin:0;
    color:var(--navy,#17365d);
    font-size:.9rem;

}

.student-milestone span{

    display:block;
    margin-top:6px;
    font-size:.76rem;
    color:var(--muted,#667085);

}

.student-milestone .milestone-percent{

    margin-top:8px;
    font-weight:700;
    color:#0030a0;

}

.student-milestone-timeline .empty{

    min-height:120px;
    display:grid;
    place-items:center;

}

@media(max-width:900px){

.student-milestone-summary{

grid-template-columns:1fr;

}

.student-milestones-heading{

display:grid;

}

}
/* ==========================================================
   EducationOS 2.6.6 — Student Activity Timeline
   ========================================================== */

.student-activity-timeline-card {
  margin: 22px 0;
  padding: 24px;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  box-shadow: 0 12px 30px rgba(22, 47, 77, 0.08);
}

.student-activity-timeline-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.student-activity-timeline-heading small {
  color: var(--muted, #667085);
  font-weight: 900;
  letter-spacing: 0.08em;
}

.student-activity-timeline-heading h3 {
  margin: 4px 0 5px;
  color: var(--navy, #17365d);
}

.student-activity-timeline-heading p {
  margin: 0;
  color: var(--muted, #667085);
}

.student-activity-timeline-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.student-activity-timeline-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border-radius: 999px;
  color: #475467;
  background: #edf2f7;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.student-activity-timeline-controls button {
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--blue, #0030a0);
  border-radius: 10px;
  color: var(--blue, #0030a0);
  background: #ffffff;
  font: inherit;
  font-size: 0.8rem;
  font-weight: 800;
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.student-activity-timeline-controls button:hover {
  color: #ffffff;
  background: var(--blue, #0030a0);
  transform: translateY(-1px);
}

.student-activity-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-top: 20px;
}

.student-activity-summary article {
  padding: 17px;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 14px;
  background: #ffffff;
}

.student-activity-summary small {
  display: block;
  color: var(--muted, #667085);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.student-activity-summary strong {
  display: block;
  margin: 8px 0 3px;
  color: var(--navy, #17365d);
  font-size: 1.35rem;
}

.student-activity-summary p {
  margin: 0;
  color: var(--muted, #667085);
  font-size: 0.82rem;
}

.student-activity-timeline {
  position: relative;
  margin-top: 22px;
  padding: 4px 0 2px;
}

.student-activity-timeline.collapsed
  .student-activity-entry:nth-child(n + 6) {
  display: none;
}

.student-activity-timeline .empty {
  min-height: 145px;
  display: grid;
  place-items: center;
  padding: 24px;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 15px;
  background: #ffffff;
}

.student-activity-list {
  position: relative;
  display: grid;
  gap: 14px;
  padding-left: 38px;
}

.student-activity-list::before {
  content: "";
  position: absolute;
  top: 15px;
  bottom: 15px;
  left: 14px;
  width: 3px;
  border-radius: 999px;
  background: #d9e3ef;
}

.student-activity-entry {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  padding: 16px 17px;
  border: 1px solid var(--line, #d8e0e8);
  border-radius: 14px;
  background: #ffffff;
}

.student-activity-entry::before {
  content: "";
  position: absolute;
  top: 18px;
  left: -34px;
  width: 15px;
  height: 15px;
  border: 4px solid #ffffff;
  border-radius: 50%;
  background: #98a2b3;
  box-shadow: 0 3px 9px rgba(22, 47, 77, 0.18);
}

.student-activity-entry.completed::before {
  background: #198754;
}

.student-activity-entry.achievement::before {
  background: var(--blue, #0030a0);
}

.student-activity-entry.attention::before {
  background: #c93636;
}

.student-activity-entry.progress::before {
  background: #d99a00;
}

.student-activity-entry.record::before {
  background: #667085;
}

.student-activity-entry-main {
  min-width: 0;
}

.student-activity-entry-type {
  display: inline-flex;
  margin-bottom: 6px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #475467;
  background: #edf2f7;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.student-activity-entry.completed .student-activity-entry-type {
  color: #176b3a;
  background: #e9f7ef;
}

.student-activity-entry.achievement .student-activity-entry-type {
  color: var(--blue, #0030a0);
  background: #e8f0fe;
}

.student-activity-entry.attention .student-activity-entry-type {
  color: #a12b2b;
  background: #fdecec;
}

.student-activity-entry.progress .student-activity-entry-type {
  color: #8a5a00;
  background: #fff5d9;
}

.student-activity-entry h5 {
  margin: 0;
  color: var(--navy, #17365d);
  font-size: 0.96rem;
}

.student-activity-entry p {
  margin: 5px 0 0;
  color: var(--muted, #667085);
  font-size: 0.84rem;
  line-height: 1.45;
}

.student-activity-entry-date {
  color: var(--muted, #667085);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.student-activity-empty-note {
  margin-top: 12px;
  color: var(--muted, #667085);
  font-size: 0.8rem;
  text-align: center;
}

@media (max-width: 1000px) {
  .student-activity-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .student-activity-timeline-heading {
    display: grid;
  }

  .student-activity-timeline-controls {
    flex-wrap: wrap;
  }

  .student-activity-summary {
    grid-template-columns: 1fr;
  }

  .student-activity-timeline-card {
    padding: 18px;
  }

  .student-activity-entry {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .student-activity-entry-date {
    white-space: normal;
  }
}
/* ==========================================================
   EducationOS 2.6.7 — Student Support Insights
   ========================================================== */

.student-support-insights-card{
    margin:22px 0;
    padding:24px;
    border:1px solid var(--line,#d8e0e8);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 12px 30px rgba(22,47,77,.08);
}

.student-support-insights-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
}

.student-support-insights-heading small{
    color:var(--muted,#667085);
    font-weight:900;
    letter-spacing:.08em;
}

.student-support-insights-heading h3{
    margin:4px 0;
    color:var(--navy,#17365d);
}

.student-support-insights-heading p{
    margin:0;
    color:var(--muted,#667085);
}

.student-support-level{
    padding:8px 14px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
    white-space:nowrap;
}

.student-support-level.ontrack{
    background:#e9f7ef;
    color:#176b3a;
}

.student-support-level.monitor{
    background:#fff5d9;
    color:#8a5a00;
}

.student-support-level.support{
    background:#fdecec;
    color:#a12b2b;
}

.student-support-level.neutral{
    background:#edf2f7;
    color:#475467;
}

.student-support-overview{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:16px;
    margin-top:22px;

}

.student-support-overview-card{

    display:flex;
    gap:16px;
    align-items:flex-start;
    padding:18px;
    border:1px solid var(--line,#d8e0e8);
    border-radius:16px;
    background:white;

}

.student-support-overview-icon{

    width:46px;
    height:46px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.25rem;
    font-weight:700;
    flex-shrink:0;

}

.student-support-overview-card.strength .student-support-overview-icon{

    background:#e9f7ef;
    color:#176b3a;

}

.student-support-overview-card.focus .student-support-overview-icon{

    background:#fff5d9;
    color:#8a5a00;

}

.student-support-overview-card.action .student-support-overview-icon{

    background:#e8f0fe;
    color:#0030a0;

}

.student-support-overview-card small{

    display:block;
    color:var(--muted,#667085);
    font-weight:700;
    text-transform:uppercase;

}

.student-support-overview-card strong{

    display:block;
    margin:6px 0 4px;
    color:var(--navy,#17365d);
    font-size:1.1rem;

}

.student-support-overview-card p{

    margin:0;
    color:var(--muted,#667085);
    font-size:.82rem;

}

.student-support-insights-grid{

    display:grid;
    grid-template-columns:1fr 1fr;
    gap:20px;
    margin-top:24px;

}

.student-support-insight-panel{

    border:1px solid var(--line,#d8e0e8);
    border-radius:16px;
    background:white;
    overflow:hidden;

}

.student-support-panel-heading{

    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px;
    border-bottom:1px solid var(--line,#d8e0e8);

}

.student-support-panel-heading small{

    display:block;
    color:var(--muted,#667085);
    font-weight:800;
    letter-spacing:.05em;

}

.student-support-panel-heading h4{

    margin:4px 0 0;
    color:var(--navy,#17365d);

}

.student-support-count{

    min-width:34px;
    height:34px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;

}

.student-support-count.positive{

    background:#e9f7ef;
    color:#176b3a;

}

.student-support-count.concern{

    background:#fdecec;
    color:#a12b2b;

}

.student-support-insight-list{

    padding:16px;

}

.student-support-item{

    display:flex;
    align-items:flex-start;
    gap:12px;
    padding:12px 0;
    border-bottom:1px solid #edf2f7;

}

.student-support-item:last-child{

    border-bottom:none;

}

.student-support-item-icon{

    width:28px;
    height:28px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:.9rem;
    font-weight:700;
    flex-shrink:0;

}

.student-support-item.positive .student-support-item-icon{

    background:#e9f7ef;
    color:#176b3a;

}

.student-support-item.concern .student-support-item-icon{

    background:#fdecec;
    color:#a12b2b;

}

.student-support-item strong{

    display:block;
    color:var(--navy,#17365d);
    margin-bottom:2px;

}

.student-support-item p{

    margin:0;
    color:var(--muted,#667085);
    font-size:.82rem;

}

.student-support-insight-list .empty{

    min-height:120px;
    display:grid;
    place-items:center;
    color:var(--muted,#667085);

}

.student-support-recommendation{

    margin-top:22px;
    padding:22px;
    border-radius:16px;
    background:#17365d;
    color:white;

}

.student-support-recommendation-heading{

    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:14px;

}

.student-support-recommendation-heading small{

    opacity:.75;
    letter-spacing:.06em;

}

.student-support-recommendation-heading h4{

    margin:4px 0 0;

}

.student-support-priority{

    padding:7px 14px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
    background:rgba(255,255,255,.18);

}

.student-support-recommendation p{

    margin:0;
    line-height:1.6;

}

@media(max-width:1000px){

.student-support-overview{

grid-template-columns:1fr;

}

.student-support-insights-grid{

grid-template-columns:1fr;

}

}

@media(max-width:700px){

.student-support-insights-heading{

display:grid;

}

.student-support-recommendation-heading{

display:grid;
gap:12px;

}

}
/* ==========================================================
   EducationOS 2.6.8 — Student Goals & Action Plan
   ========================================================== */

.student-action-plan-card{
    margin:22px 0;
    padding:24px;
    border:1px solid var(--line,#d8e0e8);
    border-radius:18px;
    background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%);
    box-shadow:0 12px 30px rgba(22,47,77,.08);
}

.student-action-plan-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
}

.student-action-plan-heading small{
    color:var(--muted,#667085);
    font-weight:900;
    letter-spacing:.08em;
}

.student-action-plan-heading h3{
    margin:4px 0;
    color:var(--navy,#17365d);
}

.student-action-plan-heading p{
    margin:0;
    color:var(--muted,#667085);
}

.student-action-plan-status{
    padding:8px 14px;
    border-radius:999px;
    font-size:.78rem;
    font-weight:800;
    white-space:nowrap;
}

.student-action-plan-status.complete{
    background:#e9f7ef;
    color:#176b3a;
}

.student-action-plan-status.progress{
    background:#e8f0fe;
    color:#0030a0;
}

.student-action-plan-status.neutral{
    background:#edf2f7;
    color:#475467;
}

.student-action-plan-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:15px;
    margin-top:22px;
}

.student-action-plan-summary article{
    background:white;
    border:1px solid var(--line,#d8e0e8);
    border-radius:15px;
    padding:18px;
}

.student-action-plan-summary small{
    display:block;
    color:var(--muted,#667085);
    font-weight:700;
    text-transform:uppercase;
}

.student-action-plan-summary strong{
    display:block;
    margin:8px 0 4px;
    color:var(--navy,#17365d);
    font-size:1.35rem;
}

.student-action-plan-summary p{
    margin:0;
    color:var(--muted,#667085);
    font-size:.82rem;
}

.student-action-plan-progress{
    margin-top:22px;
}

.student-action-plan-progress-heading{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:10px;
    font-size:.9rem;
    font-weight:700;
    color:var(--navy,#17365d);
}

.student-action-plan-progress-track{
    position:relative;
    height:14px;
    border-radius:999px;
    background:#e5ebf3;
    overflow:hidden;
}

.student-action-plan-progress-track span{
    position:absolute;
    inset:0 auto 0 0;
    width:0%;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        #0030a0,
        #2f6cf5
    );
    transition:width .35s ease;
}

.student-goal-list{
    margin-top:24px;
    display:grid;
    gap:14px;
}

.student-goal-list .empty{
    min-height:130px;
    display:grid;
    place-items:center;
    border:1px solid var(--line,#d8e0e8);
    border-radius:16px;
    background:white;
    color:var(--muted,#667085);
}

.student-goal-card{
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:16px;
    align-items:flex-start;
    padding:18px;
    border:1px solid var(--line,#d8e0e8);
    border-radius:16px;
    background:white;
}

.student-goal-indicator{
    width:44px;
    height:44px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:800;
    font-size:1rem;
}

.student-goal-card.complete
.student-goal-indicator{

    background:#e9f7ef;
    color:#176b3a;

}

.student-goal-card.progress
.student-goal-indicator{

    background:#e8f0fe;
    color:#0030a0;

}

.student-goal-card.pending
.student-goal-indicator{

    background:#fff5d9;
    color:#8a5a00;

}

.student-goal-card h5{
    margin:0;
    color:var(--navy,#17365d);
    font-size:1rem;
}

.student-goal-card p{
    margin:6px 0 0;
    color:var(--muted,#667085);
    font-size:.84rem;
    line-height:1.5;
}

.student-goal-meta{
    display:grid;
    gap:6px;
    text-align:right;
}

.student-goal-status{
    display:inline-flex;
    justify-content:center;
    padding:6px 10px;
    border-radius:999px;
    font-size:.72rem;
    font-weight:800;
}

.student-goal-status.complete{
    background:#e9f7ef;
    color:#176b3a;
}

.student-goal-status.progress{
    background:#e8f0fe;
    color:#0030a0;
}

.student-goal-status.pending{
    background:#fff5d9;
    color:#8a5a00;
}

.student-goal-target{
    color:var(--muted,#667085);
    font-size:.75rem;
}

.student-action-plan-footer{
    margin-top:26px;
    padding-top:22px;
    border-top:1px solid var(--line,#d8e0e8);
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:20px;
}

.student-action-plan-focus small{
    display:block;
    color:var(--muted,#667085);
    font-weight:800;
    letter-spacing:.05em;
}

.student-action-plan-focus strong{
    display:block;
    margin:6px 0 4px;
    color:var(--navy,#17365d);
    font-size:1.05rem;
}

.student-action-plan-focus p{
    margin:0;
    color:var(--muted,#667085);
    max-width:540px;
}

.student-action-plan-footer-actions{
    display:flex;
    gap:12px;
}

.student-action-plan-footer-actions button{

    min-height:42px;
    padding:0 18px;
    border-radius:10px;
    border:1px solid var(--blue,#0030a0);
    background:white;
    color:#0030a0;
    cursor:pointer;
    font-weight:700;

}

.student-action-plan-footer-actions button.primary{

    background:#0030a0;
    color:white;

}

.student-action-plan-footer-actions button:hover{

    transform:translateY(-1px);

}

@media(max-width:1050px){

.student-action-plan-summary{

grid-template-columns:repeat(2,1fr);

}

.student-action-plan-footer{

display:grid;

}

}

@media(max-width:700px){

.student-action-plan-heading{

display:grid;

}

.student-action-plan-summary{

grid-template-columns:1fr;

}

.student-goal-card{

grid-template-columns:1fr;

}

.student-goal-meta{

text-align:left;

}

.student-action-plan-footer-actions{

flex-wrap:wrap;

}

}
/* ==========================================================
   EducationOS 2.6.9 — Educator Goal Modal
   ========================================================== */

.educationos-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:24px;
}

.educationos-modal.open{
    display:flex;
}

.educationos-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(15,23,42,.62);
    backdrop-filter:blur(4px);
}

.educationos-modal-dialog{
    position:relative;
    z-index:1;
    width:min(720px,100%);
    max-height:calc(100vh - 48px);
    overflow:auto;
    border-radius:20px;
    background:white;
    border:1px solid var(--line,#d8e0e8);
    box-shadow:0 30px 80px rgba(15,23,42,.28);
}

.educator-goal-modal-dialog{
    padding:26px;
}

.educationos-modal-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    padding-bottom:20px;
    border-bottom:1px solid var(--line,#d8e0e8);
}

.educationos-modal-heading small{
    display:block;
    color:var(--muted,#667085);
    font-weight:900;
    letter-spacing:.08em;
}

.educationos-modal-heading h3{
    margin:5px 0;
    color:var(--navy,#17365d);
    font-size:1.35rem;
}

.educationos-modal-heading p{
    margin:0;
    max-width:540px;
    color:var(--muted,#667085);
    line-height:1.55;
}

.educationos-modal-close{
    width:40px;
    height:40px;
    flex-shrink:0;
    border:none;
    border-radius:10px;
    background:#edf2f7;
    color:#475467;
    font-size:1.6rem;
    line-height:1;
    cursor:pointer;
}

.educationos-modal-close:hover{
    background:#e2e8f0;
    color:#17365d;
}

.educator-goal-form-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:22px;
}

.educator-goal-field{
    display:grid;
    gap:8px;
}

.educator-goal-field.full-width{
    grid-column:1 / -1;
}

.educator-goal-field > span{
    color:var(--navy,#17365d);
    font-size:.86rem;
    font-weight:800;
}

.educator-goal-field > span strong{
    float:right;
    color:#0030a0;
}

.educator-goal-field input[type="text"],
.educator-goal-field textarea,
.educator-goal-field select{
    width:100%;
    border:1px solid var(--line,#d8e0e8);
    border-radius:11px;
    background:#fff;
    color:#172033;
    font:inherit;
    outline:none;
    transition:
        border-color .18s ease,
        box-shadow .18s ease;
}

.educator-goal-field input[type="text"],
.educator-goal-field select{
    min-height:44px;
    padding:0 12px;
}

.educator-goal-field textarea{
    resize:vertical;
    min-height:112px;
    padding:12px;
    line-height:1.5;
}

.educator-goal-field input[type="text"]:focus,
.educator-goal-field textarea:focus,
.educator-goal-field select:focus{
    border-color:#2f6cf5;
    box-shadow:0 0 0 3px rgba(47,108,245,.14);
}

.educator-goal-field input::placeholder,
.educator-goal-field textarea::placeholder{
    color:#98a2b3;
}

.educator-goal-field input[type="range"]{
    width:100%;
    accent-color:#0030a0;
    cursor:pointer;
}

.educator-goal-form-message{
    min-height:22px;
    margin-top:16px;
    font-size:.84rem;
    font-weight:700;
}

.educator-goal-form-message.error{
    color:#a12b2b;
}

.educator-goal-form-message.success{
    color:#176b3a;
}

.educationos-modal-actions{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    margin-top:22px;
    padding-top:20px;
    border-top:1px solid var(--line,#d8e0e8);
}

.educationos-modal-actions button{
    min-height:42px;
    padding:0 18px;
    border-radius:10px;
    font-weight:800;
    cursor:pointer;
}

.educationos-modal-actions button.secondary{
    border:1px solid var(--line,#d8e0e8);
    background:white;
    color:#475467;
}

.educationos-modal-actions button.secondary:hover{
    background:#f8fafc;
}

.educationos-modal-actions button.primary{
    border:1px solid #0030a0;
    background:#0030a0;
    color:white;
}

.educationos-modal-actions button.primary:hover{
    background:#00267d;
}

body.educationos-modal-open{
    overflow:hidden;
}

@media(max-width:700px){

    .educationos-modal{
        align-items:flex-end;
        padding:12px;
    }

    .educationos-modal-dialog{
        width:100%;
        max-height:calc(100vh - 24px);
        border-radius:18px 18px 12px 12px;
    }

    .educator-goal-modal-dialog{
        padding:20px;
    }

    .educator-goal-form-grid{
        grid-template-columns:1fr;
    }

    .educator-goal-field.full-width{
        grid-column:auto;
    }

    .educationos-modal-heading{
        display:grid;
        grid-template-columns:1fr auto;
    }

    .educationos-modal-heading p{
        grid-column:1 / -1;
    }

    .educationos-modal-actions{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
}

/* EducationOS 3.0 — Student Goal Management */
.student-goal-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;margin-top:7px}
.student-goal-action{border:1px solid #cfd8e6;border-radius:8px;background:#fff;color:#17365d;padding:6px 10px;font-size:.76rem;font-weight:800;cursor:pointer}
.student-goal-action:hover{background:#f3f6fb}
.student-goal-action.complete{border-color:#b9dfc6;color:#176b3a;background:#f1fbf4}
.student-goal-action.delete{border-color:#efc4c4;color:#a12b2b;background:#fff7f7}
@media(max-width:700px){.student-goal-actions{justify-content:flex-start}}

/* ==========================================================
   EducationOS 3.0.6 — Student Activity Timeline Upgrade
   ========================================================== */
.student-activity-toolbar{display:grid;gap:12px;margin-top:20px;padding:16px;border:1px solid #dfe7f0;border-radius:16px;background:#f8fafc}.student-activity-search{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #d7e0ea;border-radius:12px;background:#fff}.student-activity-search span{color:#667085;font-size:1.25rem}.student-activity-search input{width:100%;min-height:44px;border:0;outline:0;background:transparent;font:inherit;color:#17365d}.student-activity-filters{display:flex;flex-wrap:wrap;gap:8px}.student-activity-filters button{min-height:34px;padding:7px 12px;border:1px solid #d7e0ea;border-radius:999px;background:#fff;color:#475467;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;transition:.18s ease}.student-activity-filters button:hover,.student-activity-filters button.active{border-color:var(--blue,#0030a0);background:var(--blue,#0030a0);color:#fff;transform:translateY(-1px)}.student-activity-list{padding-left:52px}.student-activity-list::before{left:20px}.student-activity-entry{grid-template-columns:1fr;padding:18px 18px 18px 20px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.student-activity-entry:hover{transform:translateY(-2px);border-color:#c7d6e7;box-shadow:0 12px 28px rgba(22,47,77,.09)}.student-activity-entry::before{left:-40px;top:24px;width:13px;height:13px}.student-activity-icon{position:absolute;left:-33px;top:18px;display:grid;place-items:center;width:28px;height:28px;border:3px solid #fff;border-radius:50%;background:#eef2f7;color:#475467;font-size:.78rem;font-weight:900;box-shadow:0 4px 10px rgba(22,47,77,.15);z-index:2}.student-activity-entry::before{display:none}.student-activity-entry.completed .student-activity-icon{background:#e9f7ef;color:#176b3a}.student-activity-entry.achievement .student-activity-icon{background:#e8f0fe;color:#0030a0}.student-activity-entry.attention .student-activity-icon{background:#fdecec;color:#a12b2b}.student-activity-entry.progress .student-activity-icon{background:#fff5d9;color:#8a5a00}.student-activity-entry-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-activity-source{display:block;margin-top:10px;color:#98a2b3;font-size:.72rem;font-weight:700}.student-activity-empty-state{min-height:180px;display:grid;place-items:center;align-content:center;gap:6px;padding:26px;border:1px dashed #cbd5e1;border-radius:16px;background:#fff;text-align:center}.student-activity-empty-state span{font-size:1.7rem;color:#98a2b3}.student-activity-empty-state strong{color:#17365d}.student-activity-empty-state p{margin:0;color:#667085;font-size:.84rem}@media(max-width:700px){.student-activity-toolbar{padding:13px}.student-activity-list{padding-left:42px}.student-activity-icon{left:-29px}.student-activity-entry-top{align-items:flex-start;flex-direction:column;gap:6px}}


/* ==========================================================
   EducationOS 3.0.8 — AI Student Insights Phase 1
   ========================================================== */
.ai-student-insights-card{margin-top:24px;padding:26px;border:1px solid #d8e2ef;border-radius:22px;background:linear-gradient(145deg,#ffffff 0%,#f7faff 100%);box-shadow:0 18px 45px rgba(18,46,83,.08)}
.ai-student-insights-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ai-student-insights-heading small,.ai-panel-title small,.ai-insight-section-heading small,.ai-health-score-wrap small{display:block;color:#667085;font-size:.68rem;font-weight:900;letter-spacing:.12em}.ai-student-insights-heading h3{margin:5px 0 5px;color:#17365d;font-size:1.35rem}.ai-student-insights-heading p{max-width:720px;margin:0;color:#667085;line-height:1.55}.ai-student-status{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:9px 13px;border-radius:999px;font-size:.78rem;font-weight:900}.ai-student-status i{width:8px;height:8px;border-radius:50%;background:currentColor}.ai-student-status.good{background:#eaf7ef;color:#176b3a}.ai-student-overview-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:18px;margin-top:22px}.ai-health-panel,.ai-narrative-panel,.ai-trends-panel,.ai-actions-panel{padding:20px;border:1px solid #dfe7f0;border-radius:18px;background:#fff}.ai-health-score-wrap{display:flex;align-items:center;gap:18px;padding-bottom:18px;border-bottom:1px solid #edf1f6}.ai-health-score-wrap h4,.ai-panel-title h4,.ai-insight-section-heading h4{margin:3px 0 0;color:#17365d;font-size:1rem}.ai-health-score-wrap p{margin:4px 0 0;color:#7b8798;font-size:.78rem}.ai-health-ring{--score:88;position:relative;display:grid;place-items:center;width:96px;height:96px;flex:0 0 96px;border-radius:50%;background:conic-gradient(#0030a0 calc(var(--score)*1%),#e9eef5 0)}.ai-health-ring::before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}.ai-health-ring strong,.ai-health-ring span{position:relative;z-index:1}.ai-health-ring strong{grid-area:1/1;font-size:1.7rem;color:#17365d}.ai-health-ring span{grid-area:1/1;margin-top:38px;color:#7b8798;font-size:.66rem;font-weight:800}.ai-health-meters{display:grid;gap:13px;margin-top:18px}.ai-health-meter>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#344054;font-size:.78rem;font-weight:800}.ai-health-meter-track{height:8px;margin:6px 0;border-radius:99px;background:#edf1f6;overflow:hidden}.ai-health-meter-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#214ea7,#0030a0)}.ai-health-meter small{color:#98a2b3;font-size:.69rem}.ai-panel-title{display:flex;align-items:center;gap:11px}.ai-panel-title>span{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eaf0ff;color:#0030a0;font-weight:900}.ai-student-narrative ul{display:grid;gap:11px;margin:18px 0 0;padding:0;list-style:none}.ai-student-narrative li{position:relative;padding-left:18px;color:#475467;font-size:.84rem;line-height:1.5}.ai-student-narrative li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:50%;background:#0030a0}.ai-preview-note{margin:18px 0 0;padding-top:14px;border-top:1px solid #edf1f6;color:#98a2b3;font-size:.7rem;font-weight:700}.ai-insight-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:24px 0 12px}.ai-insight-section-heading span{color:#98a2b3;font-size:.72rem;font-weight:800}.ai-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ai-priority-card{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:17px;border:1px solid #dfe7f0;border-radius:16px;background:#fff}.ai-priority-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-weight:900}.ai-priority-card small{font-size:.64rem;font-weight:900;letter-spacing:.1em}.ai-priority-card h5{margin:4px 0 5px;color:#17365d;font-size:.9rem}.ai-priority-card p{margin:0 0 10px;color:#667085;font-size:.77rem;line-height:1.45}.ai-priority-card span{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:.64rem;font-weight:900}.ai-priority-card.celebration{border-top:3px solid #28734b}.ai-priority-card.celebration .ai-priority-icon,.ai-priority-card.celebration span{background:#eaf7ef;color:#176b3a}.ai-priority-card.achievement{border-top:3px solid #0030a0}.ai-priority-card.achievement .ai-priority-icon,.ai-priority-card.achievement span{background:#eaf0ff;color:#0030a0}.ai-priority-card.attention{border-top:3px solid #bd7b12}.ai-priority-card.attention .ai-priority-icon,.ai-priority-card.attention span{background:#fff4dc;color:#8a5a00}.ai-insight-lower-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:18px}.ai-trend-list,.ai-action-list{display:grid;gap:10px;margin-top:16px}.ai-trend-row{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;padding:11px;border-radius:12px;background:#f8fafc}.ai-trend-symbol{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-weight:900}.ai-trend-symbol.up{background:#eaf7ef;color:#176b3a}.ai-trend-symbol.stable{background:#eef2f6;color:#475467}.ai-trend-row strong,.ai-trend-row small{display:block}.ai-trend-row strong{color:#344054;font-size:.78rem}.ai-trend-row small{margin-top:2px;color:#98a2b3;font-size:.67rem}.ai-trend-row b{color:#17365d;font-size:.72rem}.ai-action-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #edf1f6}.ai-action-row:last-child{border-bottom:0}.ai-action-row>span{display:grid;place-items:center;width:26px;height:26px;border-radius:9px;background:#eaf0ff;color:#0030a0;font-size:.7rem;font-weight:900}.ai-action-row p{margin:0;color:#475467;font-size:.78rem}.ai-action-row button{border:1px solid #d7e0ea;border-radius:8px;background:#fff;color:#667085;padding:5px 8px;font:inherit;font-size:.66rem;font-weight:800;cursor:default}.ai-action-row button:hover{background:#f8fafc}
@media(max-width:980px){.ai-student-overview-grid,.ai-insight-lower-grid{grid-template-columns:1fr}.ai-priority-grid{grid-template-columns:1fr}}
@media(max-width:650px){.ai-student-insights-card{padding:18px}.ai-student-insights-heading{flex-direction:column}.ai-health-score-wrap{align-items:flex-start}.ai-priority-card{grid-template-columns:38px 1fr}.ai-action-row{grid-template-columns:28px 1fr}.ai-action-row button{display:none}}


/* EducationOS 3.1.0 — Educator Command Center Phase 1 */
.educator-command-center{display:grid;gap:18px;margin:22px 0}
.educator-command-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:4px 2px}
.educator-command-heading small{font-weight:800;letter-spacing:.14em;color:#61758d}
.educator-command-heading h3{font-size:1.65rem;margin:4px 0 5px;color:#183754}
.educator-command-heading p{margin:0;color:#66778a}
.educator-command-heading>span{font-size:.82rem;color:#738398;background:#eef4f8;border-radius:999px;padding:8px 12px;white-space:nowrap}
.educator-health-snapshot{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.educator-health-snapshot article{background:#fff;border:1px solid #e2eaf0;border-radius:16px;padding:16px;box-shadow:0 7px 20px rgba(26,53,80,.06);position:relative;overflow:hidden}
.educator-health-snapshot article:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#8ca6b7}
.educator-health-snapshot article.healthy:before{background:#4f9b73}.educator-health-snapshot article.watch:before{background:#d3a33d}.educator-health-snapshot article.attention:before{background:#c86666}
.educator-health-snapshot small{display:block;color:#65788b;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}
.educator-health-snapshot strong{display:block;font-size:1.8rem;color:#173b5b;margin:5px 0 2px}.educator-health-snapshot p{margin:0;color:#788899;font-size:.78rem;line-height:1.35}
.educator-command-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.educator-priorities-panel,.educator-actions-panel,.educator-celebrations-panel{margin:0}
.educator-count-pill{background:#eef4f8;border-radius:999px;padding:7px 11px;color:#526b80;font-size:.78rem;font-weight:800}
.educator-priority-list,.educator-action-list{display:grid;gap:10px}
.educator-daily-priority{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;border:1px solid #e3eaf0;border-radius:14px;background:#fbfdfe}
.educator-daily-priority.high{border-left:4px solid #c65f5f}.educator-daily-priority.medium{border-left:4px solid #d49e32}.educator-daily-priority.normal{border-left:4px solid #5f91b5}
.educator-priority-rank{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:#e9f0f5;color:#34536d;font-weight:900}
.educator-daily-priority small{color:#667d91;font-weight:800}.educator-daily-priority strong{display:block;color:#203f5b;margin:2px 0}.educator-daily-priority p{margin:0;color:#6c7d8c;font-size:.86rem}
.educator-daily-priority button{white-space:nowrap}
.educator-all-clear{padding:24px;text-align:center;border:1px dashed #bdd4c7;border-radius:14px;background:#f4fbf7;color:#47735b}.educator-all-clear p{margin:5px 0 0}
.educator-next-action{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;text-align:left;align-items:center;gap:11px;padding:13px;border:1px solid #e1e9ef;border-radius:14px;background:#fff;color:inherit}
.educator-next-action>span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#4f718d;background:#eaf2f7;border-radius:8px;padding:7px 8px}.educator-next-action strong{display:block;color:#203f5b}.educator-next-action p{margin:3px 0 0;color:#71808f;font-size:.82rem}.educator-next-action b{font-size:1.2rem;color:#69879e}
.educator-celebration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.educator-celebration-grid article{display:flex;gap:12px;padding:15px;border:1px solid #dcebe3;border-radius:14px;background:#f8fcfa}.educator-celebration-grid article>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:#dcefe4;color:#397151;font-weight:900}.educator-celebration-grid small{display:block;color:#627d6e;font-weight:800}.educator-celebration-grid strong{display:block;color:#254d39;margin:2px 0}.educator-celebration-grid p{margin:0;color:#688074;font-size:.84rem}
@media(max-width:1100px){.educator-health-snapshot{grid-template-columns:repeat(3,1fr)}.educator-command-grid{grid-template-columns:1fr}.educator-celebration-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.educator-command-heading{align-items:flex-start;flex-direction:column}.educator-health-snapshot{grid-template-columns:repeat(2,1fr)}.educator-celebration-grid{grid-template-columns:1fr}.educator-daily-priority{grid-template-columns:32px 1fr}.educator-daily-priority button{grid-column:2;width:100%}}

/* ==========================================================
   EducationOS 3.1.2 — Educator Workspace UX Refinement
   ========================================================== */
.educator-intelligence-center{gap:20px}
.educator-intelligence-top-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.educator-morning-briefing,.educator-class-health-panel,.educator-classroom-summary-panel,.educator-intervention-panel,.educator-recommendations-panel,.educator-trends-panel,.educator-groups-panel{border:1px solid #dfe8ef;box-shadow:0 12px 28px rgba(31,55,79,.06)}
.educator-morning-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.educator-morning-metrics article{padding:15px;border:1px solid #e4ebf1;border-radius:15px;background:#f9fbfd}
.educator-morning-metrics small,.educator-morning-metrics strong,.educator-morning-metrics p{display:block}
.educator-morning-metrics small{color:#63788c;font-size:.67rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.educator-morning-metrics strong{margin:5px 0 2px;color:#163955;font-size:1.45rem}
.educator-morning-metrics p{margin:0;color:#77889a;font-size:.74rem}
.educator-class-health-content{display:flex;align-items:center;gap:18px;margin:5px 0 18px}
.educator-class-health-content>div:last-child>strong{display:block;color:#173b58;font-size:1.05rem}
.educator-class-health-content>div:last-child>p{margin:5px 0 0;color:#718296;font-size:.78rem;line-height:1.45}
.educator-class-health-ring{--score:0;position:relative;display:grid;place-items:center;width:100px;height:100px;flex:0 0 100px;border-radius:50%;background:conic-gradient(#204fa1 calc(var(--score)*1%),#e8eef4 0)}
.educator-class-health-ring:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#fff}
.educator-class-health-ring strong,.educator-class-health-ring span{position:relative;z-index:1;grid-area:1/1}
.educator-class-health-ring strong{color:#173b58;font-size:1.45rem}
.educator-class-health-ring span{margin-top:37px;color:#8492a3;font-size:.62rem;font-weight:900;text-transform:uppercase}
.educator-class-health-meters{display:grid;gap:10px}
.educator-class-health-meters>div>span{display:flex;justify-content:space-between;color:#40586d;font-size:.73rem}
.educator-class-health-meters i{display:block;height:7px;margin:5px 0;border-radius:99px;background:#ebf0f4;overflow:hidden}
.educator-class-health-meters em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#315ca9,#0030a0)}
.educator-class-health-meters small{color:#8b98a7;font-size:.66rem}
.educator-rule-badge{padding:6px 10px;border-radius:999px;background:#eef3ff;color:#244b91;font-size:.67rem;font-weight:900}
.educator-classroom-summary{display:grid;grid-template-columns:44px 1fr;gap:15px;align-items:start}
.educator-summary-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#eaf0ff;color:#0030a0;font-size:1.1rem;font-weight:900}
.educator-classroom-summary ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.educator-classroom-summary li{position:relative;padding-left:17px;color:#4e6275;font-size:.84rem;line-height:1.5}
.educator-classroom-summary li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:#315ca9}
.educator-intelligence-main-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}
.educator-intervention-list{display:grid;gap:11px}
.educator-intervention-card{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:15px;border:1px solid #e1e8ee;border-radius:15px;background:#fbfdfe}
.educator-intervention-card.high{border-left:4px solid #c35454}.educator-intervention-card.medium{border-left:4px solid #d3972f}.educator-intervention-card.normal{border-left:4px solid #4e84ad}
.educator-intervention-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#edf2f7;color:#36566f;font-weight:900}
.educator-intervention-card.high .educator-intervention-icon{background:#fdeaea;color:#a63c3c}.educator-intervention-card.medium .educator-intervention-icon{background:#fff3dd;color:#95651b}
.educator-intervention-copy small{color:#708398;font-size:.67rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.educator-intervention-copy>strong{display:block;margin:4px 0;color:#1c405e}.educator-intervention-copy>p{margin:0 0 11px;color:#677b8d;font-size:.79rem}
.educator-quick-actions{display:flex;flex-wrap:wrap;gap:7px}.educator-quick-actions button{padding:6px 9px;border:1px solid #d6e0e8;border-radius:8px;background:#fff;color:#35536c;font:inherit;font-size:.67rem;font-weight:800;cursor:pointer}.educator-quick-actions button:first-child{background:#173f74;color:#fff;border-color:#173f74}
.educator-next-action{grid-template-columns:30px 1fr auto!important}.educator-next-action>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#e9f0ff;color:#244c96;font-weight:900}.educator-next-action small{display:block;color:#8190a0;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.educator-intelligence-lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.educator-classroom-trends{display:grid;gap:9px}.educator-classroom-trends article{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px;border-radius:13px;background:#f8fafc}.educator-classroom-trends article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-weight:900}.educator-classroom-trends .up{background:#e8f6ee;color:#237044}.educator-classroom-trends .stable{background:#eef2f6;color:#576c7d}.educator-classroom-trends .down{background:#fdeaea;color:#a13c3c}.educator-classroom-trends strong,.educator-classroom-trends small{display:block}.educator-classroom-trends strong{color:#304e66;font-size:.78rem}.educator-classroom-trends small{margin-top:2px;color:#8492a0;font-size:.65rem}.educator-classroom-trends b{color:#173b58;font-size:.78rem}.educator-classroom-trends em{font-style:normal;color:#738596;font-size:.68rem;font-weight:800}
.educator-intelligence-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.educator-intelligence-groups button{display:grid;grid-template-columns:1fr auto;gap:3px 10px;text-align:left;padding:13px;border:1px solid #dfe7ed;border-radius:13px;background:#fbfdfe;color:#344f65;font:inherit;cursor:pointer}.educator-intelligence-groups button:hover{border-color:#9fb2c3;background:#f5f9fc}.educator-intelligence-groups span{font-size:.76rem;font-weight:900}.educator-intelligence-groups strong{color:#153b5c;font-size:1.05rem}.educator-intelligence-groups small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8593a1;font-size:.63rem}
@media(max-width:1100px){.educator-intelligence-top-grid,.educator-intelligence-main-grid,.educator-intelligence-lower-grid{grid-template-columns:1fr}}
@media(max-width:720px){.educator-morning-metrics{grid-template-columns:repeat(2,1fr)}.educator-class-health-content{align-items:flex-start}.educator-intelligence-groups{grid-template-columns:1fr}.educator-classroom-trends article{grid-template-columns:34px 1fr auto}.educator-classroom-trends em{grid-column:2}.educator-quick-actions{display:grid;grid-template-columns:1fr}.educator-quick-actions button{width:100%}}


/* EducationOS 3.1.2 — Educator Workspace UX refinement */
.educator-intelligence-center{gap:24px}
.educator-operational-metrics{padding:0;overflow:hidden;border:1px solid #dfe8ef;box-shadow:0 12px 28px rgba(31,55,79,.06)}
.educator-operational-metrics summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;color:#183754}
.educator-operational-metrics summary::-webkit-details-marker{display:none}
.educator-operational-metrics summary span{display:grid;gap:4px}
.educator-operational-metrics summary small{font-weight:800;letter-spacing:.14em;color:#61758d}
.educator-operational-metrics summary strong{font-size:1.16rem}
.educator-operational-metrics summary em{font-style:normal;font-size:.82rem;color:#2e4bb5;background:#eef2ff;border-radius:999px;padding:8px 12px}
.educator-operational-metrics[open] summary{border-bottom:1px solid #e2eaf0}
.educator-operational-metrics[open] summary em{font-size:0}
.educator-operational-metrics[open] summary em:after{content:'Hide details';font-size:.82rem}
.educator-operational-metrics .educator-summary-grid{padding:18px;margin:0}
.educator-operational-metrics .educator-summary-grid article{box-shadow:none}
@media(max-width:700px){.educator-operational-metrics summary{align-items:flex-start}.educator-operational-metrics .educator-summary-grid{padding:12px}}

/* EducationOS 3.1.3 — Educator Workspace Visual Design Refresh */
.educator-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0b3f91 0%,#0030a0 52%,#1264c7 100%);
  box-shadow:0 18px 42px rgba(0,48,160,.2);
}
.educator-hero:after{
  content:"";
  position:absolute;
  inset:-45% -8% auto 36%;
  height:210%;
  pointer-events:none;
  opacity:.25;
  background:repeating-linear-gradient(165deg,transparent 0 24px,rgba(255,255,255,.18) 25px 27px,transparent 28px 48px);
  transform:rotate(-4deg);
}
.educator-hero>div,.educator-hero>button{position:relative;z-index:1}
.educator-hero button{color:#073d95;border-color:rgba(255,255,255,.72);box-shadow:0 8px 22px rgba(2,31,91,.16)}
.educator-hero button:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(2,31,91,.22)}

.educator-morning-metrics article{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:12px;
  min-height:94px;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.educator-morning-metrics article:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,55,79,.08);border-color:#cbd9e5}
.educator-metric-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  color:#fff;
  font-weight:900;
  font-size:.95rem;
  letter-spacing:-.12em;
  background:#2460c7;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.educator-morning-metrics .metric-success .educator-metric-icon{background:#2f9b4a}
.educator-morning-metrics .metric-warning .educator-metric-icon{background:#eda400}
.educator-morning-metrics .metric-planning .educator-metric-icon{background:#7346c7}
.educator-morning-metrics .metric-info .educator-metric-icon{background:#2563d8}

.educator-recommendations-panel{background:#fff}
.educator-action-list{display:grid;gap:0;border:1px solid #dfe7ef;border-radius:13px;overflow:hidden;background:#fff}
.educator-next-action,
.educator-next-action.educator-next-action{
  width:100%;
  display:grid;
  grid-template-columns:26px 34px minmax(0,1fr) auto!important;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:0;
  border-bottom:1px solid #e5ebf1;
  border-radius:0;
  background:#fff;
  color:inherit;
  cursor:pointer;
  transition:background .16s ease,transform .16s ease;
}
.educator-next-action:last-child{border-bottom:0}
.educator-next-action:hover{background:#f7faff;transform:none}
.educator-action-number{
  display:grid!important;
  place-items:center!important;
  width:23px!important;
  height:23px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#174ba8!important;
  color:#fff!important;
  font-size:.66rem!important;
  letter-spacing:0!important;
}
.educator-action-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:8px;background:#e9f1ff;color:#1f58ba;font-style:normal;font-weight:900}
.educator-next-action small{color:#5e7390}
.educator-next-action strong{color:#173b6c;font-size:.77rem}
.educator-next-action p{font-size:.68rem;line-height:1.35}
.educator-next-action>b{color:#315ca9;font-size:1rem}
.educator-next-action.tone-warning .educator-action-number,.educator-next-action.tone-warning .educator-action-icon{background:#f2a900!important;color:#fff!important}
.educator-next-action.tone-urgent .educator-action-number,.educator-next-action.tone-urgent .educator-action-icon{background:#e63d3d!important;color:#fff!important}
.educator-next-action.tone-planning .educator-action-number,.educator-next-action.tone-planning .educator-action-icon{background:#6f42c1!important;color:#fff!important}
.educator-next-action.tone-success .educator-action-number,.educator-next-action.tone-success .educator-action-icon{background:#2f9b4a!important;color:#fff!important}

.educator-morning-briefing,.educator-class-health-panel,.educator-classroom-summary-panel,.educator-intervention-panel,.educator-recommendations-panel,.educator-trends-panel,.educator-groups-panel,.educator-operational-metrics{transition:transform .18s ease,box-shadow .18s ease}
.educator-morning-briefing:hover,.educator-class-health-panel:hover,.educator-classroom-summary-panel:hover,.educator-intervention-panel:hover,.educator-recommendations-panel:hover,.educator-trends-panel:hover,.educator-groups-panel:hover{box-shadow:0 16px 34px rgba(31,55,79,.09)}

@media(max-width:720px){
  .educator-morning-metrics article{grid-template-columns:38px minmax(0,1fr)}
  .educator-metric-icon{width:36px;height:36px}
  .educator-next-action,.educator-next-action.educator-next-action{grid-template-columns:24px 30px minmax(0,1fr) auto!important;padding:10px 9px}
}


/* Version 3.1.7.2 — Global Branding & Login Polish */
.brand{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(48px,8vw,120px);
  background:linear-gradient(135deg,#17365d 0%,#0030a0 58%,#126f91 100%);
}
.brand::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.13),transparent 30%),
    linear-gradient(115deg,transparent 56%,rgba(255,255,255,.055) 56% 57%,transparent 57% 68%,rgba(255,255,255,.04) 68% 69%,transparent 69%);
}
.brand-identity{
  position:relative;
  z-index:2;
  display:flex;
  gap:26px;
  align-items:center;
  max-width:780px;
}
.brand-copy{min-width:0}
.logo.brand-logo{
  flex:0 0 auto;
  overflow:hidden;
  border-color:rgba(255,255,255,.78);
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 40px rgba(3,22,55,.24),inset 0 0 0 1px rgba(255,255,255,.8);
}
.logo.brand-logo img{
  width:82%;
  height:82%;
  object-fit:contain;
  display:block;
}
.brand-logo-login{
  width:112px;
  height:112px;
  border-radius:30px;
}
.brand-watermark{
  position:absolute;
  right:-7%;
  bottom:-18%;
  z-index:-1;
  width:min(48vw,610px);
  opacity:.075;
  pointer-events:none;
  transform:rotate(-7deg);
}
.brand-watermark img{display:block;width:100%;height:auto;filter:grayscale(1) brightness(4)}
.brand h1{font-size:clamp(42px,5vw,64px);letter-spacing:-1.8px;text-shadow:0 3px 18px rgba(0,0,0,.14)}
.brand p{max-width:620px}
.login-card{
  width:min(440px,calc(100% - 56px));
  padding:38px;
  border:1px solid rgba(23,54,93,.1);
  border-radius:22px;
  background:#fff;
  box-shadow:0 24px 65px rgba(23,54,93,.15);
}
.login-card b{letter-spacing:.3px}
.login-card input{
  min-height:48px;
  border-radius:11px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.login-card input:focus{
  outline:none;
  border-color:#0030a0;
  box-shadow:0 0 0 4px rgba(0,48,160,.11);
}
.login-card button{
  min-height:48px;
  border-radius:11px;
  box-shadow:0 10px 24px rgba(0,48,160,.22);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.login-card button:hover{transform:translateY(-1px);background:#002783;box-shadow:0 14px 28px rgba(0,48,160,.27)}
.side-brand{min-height:68px;padding:3px 7px 17px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:5px}
.logo.small.brand-logo-sidebar{
  width:46px;
  height:46px;
  border-width:2px;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 20px rgba(0,0,0,.17);
}
.logo.small.brand-logo-sidebar img{width:84%;height:84%}
.side-brand-copy strong{font-size:15px;letter-spacing:-.2px}
.side-brand-copy span{margin-top:3px;letter-spacing:.15px}
@media(max-width:950px){
  body.auth-login{overflow:auto}
  #login:not([hidden]){height:auto;min-height:100vh;overflow:visible}
  .brand{min-height:360px;padding:54px 36px}
  .brand-identity{justify-content:center;text-align:center;flex-direction:column;gap:18px;margin:auto}
  .brand-logo-login{width:92px;height:92px;border-radius:25px}
  .brand h1{margin:4px 0}
  .brand p{margin:0 auto}
  .brand-watermark{right:-3%;bottom:-45%;width:68vw}
  .login-card{margin:38px auto}
}
@media(max-width:560px){
  .brand{min-height:325px;padding:42px 22px}
  .brand h1{font-size:38px;letter-spacing:-1px}
  .brand p{font-size:15px}
  .login-card{width:calc(100% - 28px);padding:28px 22px;margin:24px auto}
}


/* Version 3.2.0.1 — Executive Command Center Refinement */
.founder-command-intro{min-width:0}.executive-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.executive-hero-meta span{display:flex;gap:5px;align-items:baseline;padding:7px 10px;border:1px solid #ffffff35;border-radius:999px;background:#ffffff12;font-size:8px;font-weight:800}.executive-hero-meta strong{font-size:11px;color:#fff}.founder-command-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.founder-kpi-card{position:relative;overflow:hidden}.founder-kpi-card:after{content:"Open →";position:absolute;right:13px;bottom:12px;color:#7890a4;font-size:7px;font-weight:900;opacity:0;transform:translateX(-4px);transition:.16s}.founder-kpi-card:hover:after{opacity:1;transform:none}.founder-quick-actions{grid-template-columns:1fr}.founder-quick-actions button{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;min-height:58px;text-align:left}.founder-quick-actions button>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#294f78,#182d49);font-size:17px}.founder-quick-actions button div,.founder-quick-actions button strong,.founder-quick-actions button small{display:block}.founder-quick-actions button small{margin-top:3px;color:#68788a;font-size:7px;font-weight:700}.executive-departments-panel{margin-top:15px}.executive-department-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.executive-department-card{position:relative;display:grid;grid-template-columns:43px 1fr auto;gap:10px;align-items:center;min-height:105px;padding:14px;border:1px solid #dce4ea;border-radius:12px;text-align:left;background:#fff;box-shadow:0 7px 18px #182d4908;transition:.16s}.executive-department-card:hover{transform:translateY(-2px);border-color:#b9c8d3;box-shadow:0 12px 27px #182d4914}.executive-department-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#edf3ff;color:#3559d8;font-size:18px}.executive-department-card small,.executive-department-card strong{display:block}.executive-department-card small{display:none}.executive-department-card small{color:#907735;font-size:7px;font-weight:900}.executive-department-card strong{margin-top:3px;color:#182d49;font-size:11px}.executive-department-card p{margin:4px 0 0;color:#68788a;font-size:8px}.executive-department-card>b{min-width:35px;padding:7px;border-radius:9px;text-align:center;color:#182d49;background:#edf2f5;font-size:11px}.executive-department-card>i{position:absolute;right:14px;bottom:10px;color:#7890a4;font-size:7px;font-style:normal;font-weight:900}.executive-departments-panel>.head>span{color:#68788a;font-size:8px;font-weight:800}
@media(max-width:1250px){.founder-command-kpis{grid-template-columns:repeat(3,1fr)}.executive-department-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:750px){.founder-command-kpis,.executive-department-grid{grid-template-columns:1fr}.executive-hero-meta{display:grid;grid-template-columns:1fr 1fr}.executive-hero-meta span{justify-content:center}.executive-department-card{grid-template-columns:43px 1fr}.executive-department-card>b{grid-column:2;justify-self:start}.executive-department-card>i{bottom:16px}}

/* Version 3.2.0.2 — Unified Executive Home */
.executive-overview-grid{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;gap:14px;margin-top:15px;align-items:stretch}
.executive-overview-grid>.panel{margin:0;min-width:0}
.executive-lower-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:14px;margin-top:15px;align-items:stretch}
.executive-lower-grid>.panel{margin:0;min-width:0}
.executive-overview-grid .executive-department-grid{grid-template-columns:1fr;gap:7px}
.executive-overview-grid .executive-department-card{grid-template-columns:34px 1fr auto;min-height:58px;padding:9px 10px;border-radius:10px;box-shadow:none}
.executive-overview-grid .executive-department-icon{width:32px;height:32px;border-radius:9px;font-size:14px}
.executive-overview-grid .executive-department-card strong{font-size:9px;margin-top:1px}
.executive-overview-grid .executive-department-card p{font-size:7px;margin-top:2px}
.executive-overview-grid .executive-department-card>i{display:none}
.executive-overview-grid .executive-department-card>b{min-width:31px;padding:5px;font-size:9px}
.executive-quick-actions-panel{margin-top:15px}
.executive-quick-actions-panel .founder-quick-actions{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px}
.executive-quick-actions-panel .founder-quick-actions button{display:grid!important;grid-template-columns:42px 1fr!important;gap:10px!important;align-items:center!important;min-height:82px!important;padding:13px!important;border:1px solid #dce4ea!important;border-radius:12px!important;text-align:left!important;background:#fff!important;background-image:none!important;color:#182d49!important;box-shadow:0 5px 14px rgba(24,45,73,.05)!important}
.executive-quick-actions-panel .founder-quick-actions button:hover{transform:translateY(-2px);border-color:#b8c8d5!important;background:#fff!important;box-shadow:0 10px 24px rgba(24,45,73,.12)!important}
.executive-quick-actions-panel .founder-quick-actions button>span{width:40px;height:40px;border-radius:11px;background:#edf3ff!important;color:#2452b8!important;font-size:18px}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(2)>span{background:#edf9f0!important;color:#2c9a4b!important}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(3)>span{background:#f5edff!important;color:#7b35c8!important}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(4)>span{background:#fff4e4!important;color:#d97800!important}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(5)>span{background:#e9fbfb!important;color:#148f95!important}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(6)>span{background:#fff0f0!important;color:#c94848!important}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(7)>span{background:#edf3ff!important;color:#2452b8!important}
.executive-quick-actions-panel .founder-quick-actions button:nth-child(8)>span{background:#f1f3f6!important;color:#66778b!important}
.executive-quick-actions-panel .founder-quick-actions button strong{font-size:9px!important;line-height:1.2;color:#182d49!important}
.executive-quick-actions-panel .founder-quick-actions button small{font-size:7px!important;line-height:1.25;color:#718195!important}
@media(max-width:1380px){.executive-quick-actions-panel .founder-quick-actions{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1100px){.executive-overview-grid{grid-template-columns:1fr 1fr}.executive-overview-grid .executive-departments-panel{grid-column:1/-1}.executive-overview-grid .executive-department-grid{grid-template-columns:repeat(2,1fr)}.executive-lower-grid{grid-template-columns:1fr}}
@media(max-width:720px){.executive-overview-grid{grid-template-columns:1fr}.executive-overview-grid .executive-departments-panel{grid-column:auto}.executive-overview-grid .executive-department-grid{grid-template-columns:1fr}.executive-quick-actions-panel .founder-quick-actions{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.executive-quick-actions-panel .founder-quick-actions{grid-template-columns:1fr}}

/* ============================================================
   EducationOS 3.2.0.4 — Department Status White Card Fix
   The shared .panel button rule has greater selector specificity
   than .executive-department-card, so this targeted rule ensures
   leadership workspace buttons use the approved white-card style.
   ============================================================ */
.executive-departments-panel .executive-department-card,
.executive-overview-grid .executive-department-card{
  background:#ffffff !important;
  color:#182d49 !important;
  border:1px solid #dce4ea !important;
  box-shadow:0 7px 18px rgba(24,45,73,.03) !important;
}
.executive-departments-panel .executive-department-card:hover,
.executive-overview-grid .executive-department-card:hover{
  background:#ffffff !important;
  border-color:#b9c8d3 !important;
  box-shadow:0 12px 27px rgba(24,45,73,.08) !important;
}
.executive-departments-panel .executive-department-card strong,
.executive-overview-grid .executive-department-card strong{
  color:#182d49 !important;
}
.executive-departments-panel .executive-department-card p,
.executive-overview-grid .executive-department-card p{
  color:#68788a !important;
}


/* =========================================================
   EducationOS 3.3.0.3 — Parent Navigation Cleanup
   ========================================================= */
.family-journey-v3301{--family-blue:#315b90;--family-ink:#17324d;--family-muted:#6c7d8f;--family-border:#dfe8f0;--family-soft:#f5f8fb}
.parent-hero-refined{position:relative;overflow:hidden;padding:32px 36px;background:linear-gradient(135deg,#244d78 0%,#356a9f 62%,#6f98b8 100%)}
.parent-hero-refined:after{content:"";position:absolute;right:-70px;bottom:-110px;width:300px;height:300px;border:50px solid #ffffff12;border-radius:50%}
.parent-hero-brand{display:flex;align-items:center;gap:9px;margin-bottom:18px}.parent-hero-brand img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 3px 6px #102d4c55)}.parent-hero-brand span{font-size:11px;font-weight:900;letter-spacing:1.8px}
.parent-hero-copy{position:relative;z-index:1}.parent-hero-refined h2{font-size:35px}.parent-family-progress-refined{position:relative;z-index:1;min-width:230px;padding:22px;border:1px solid #ffffff30;border-radius:16px;background:#ffffff14;backdrop-filter:blur(8px)}.parent-family-progress-refined strong{display:block;font-size:38px}.parent-family-progress-refined small{display:block;margin:3px 0 13px;color:#fff}.parent-hero-progress{height:7px;background:#ffffff30}.parent-hero-progress span{background:#fff}
.parent-family-snapshot-refined{margin:16px 0 18px}.parent-family-snapshot-refined article{display:flex;align-items:center;gap:12px;min-height:88px;padding:16px;box-shadow:0 8px 24px #17324d0b}.parent-metric-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf4fb;color:#315b90;font-size:18px;font-weight:900}.parent-family-snapshot-refined article:nth-child(2) .parent-metric-icon{background:#edf8f1;color:#2f8153}.parent-family-snapshot-refined article:nth-child(3) .parent-metric-icon{background:#fff5e8;color:#b8751e}.parent-family-snapshot-refined article:nth-child(4) .parent-metric-icon{background:#f0effb;color:#6554b5}.parent-family-snapshot-refined article:nth-child(5) .parent-metric-icon{background:#fff7dc;color:#a77900}
.parent-positive-grid{display:grid;grid-template-columns:1.05fr 1.4fr;gap:14px;margin-bottom:16px}.parent-celebration-panel{display:flex;align-items:center;gap:16px;padding:22px;background:linear-gradient(120deg,#fffaf0,#fff 70%);border-color:#f3dfac}.parent-section-icon{flex:0 0 54px;width:54px;height:54px;display:grid;place-items:center;border-radius:16px;font-size:25px}.parent-section-icon.celebration{background:#fff0bd;color:#aa7700}.parent-celebration-panel small,.parent-alerts-panel small{font-size:8px;font-weight:900;letter-spacing:1px;color:#9a7424}.parent-celebration-panel h3{margin:4px 0;color:#4f3b12}.parent-celebration-panel p{margin:0;color:#76633b;font-size:10px;line-height:1.55}.parent-alert-count{min-width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#edf4fb;color:#315b90;font-size:11px;font-weight:900}.parent-alert-list{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.parent-alert-item,.parent-all-clear{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--family-border);border-radius:11px;background:#fbfcfd}.parent-alert-item>span,.parent-all-clear>span{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:#edf4fb;color:#315b90;font-weight:900}.parent-alert-item.due>span{background:#fff3e4;color:#b66b16}.parent-alert-item.attention>span{background:#fff0f0;color:#bd4343}.parent-alert-item strong,.parent-alert-item small,.parent-all-clear strong,.parent-all-clear small{display:block}.parent-alert-item strong,.parent-all-clear strong{color:var(--family-ink);font-size:9px}.parent-alert-item small,.parent-all-clear small{margin-top:3px;color:var(--family-muted);font-size:8px}
.parent-children-panel-refined{padding:20px}.parent-children-panel-refined .head p{margin:4px 0 0;color:var(--family-muted);font-size:9px}.parent-child-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.parent-child-card-refined{position:relative;overflow:hidden;padding:18px;border-color:var(--family-border);box-shadow:0 8px 24px #17324d0b;transition:transform .18s ease,box-shadow .18s ease}.parent-child-card-refined:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:#3d72a7}.parent-child-card-refined:hover{transform:translateY(-3px);box-shadow:0 14px 34px #17324d18}.parent-child-card-refined .parent-child-avatar{width:50px;height:50px;border-radius:14px;background:#eaf2fa;color:#315b90}.parent-child-identity{min-width:0;flex:1}.parent-standing-pill{align-self:flex-start;padding:5px 8px;border-radius:999px;background:#edf8f1;color:#2f8153;font-size:7px;font-weight:900}.parent-child-progress-heading{display:flex;justify-content:space-between;margin:16px 0 7px;color:var(--family-muted);font-size:8px}.parent-child-progress-heading strong{color:var(--family-ink);font-size:10px}.parent-child-card-refined .parent-progress-bar{height:8px}.parent-child-card-refined .parent-child-metrics{margin-top:13px}.parent-child-card-refined .parent-child-metrics span{padding:9px;background:var(--family-soft)}.parent-child-card-refined>button{display:flex;align-items:center;justify-content:space-between;padding:0 13px;background:#315b90;transition:background .18s ease,transform .18s ease}.parent-child-card-refined>button:hover{background:#244b78;transform:translateY(-1px)}.parent-child-card-refined>button b{font-size:15px}
.parent-detail-layout{margin-top:16px}.parent-subject-card{box-shadow:0 6px 18px #17324d0a}.parent-academy-panel,.parent-timeline-panel,.parent-reports-panel,.parent-assignments-panel{box-shadow:0 8px 24px #17324d0b}
@media(max-width:1000px){.parent-positive-grid{grid-template-columns:1fr}.parent-alert-list{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.parent-hero-refined{padding:25px}.parent-family-progress-refined{min-width:0}.parent-alert-list{grid-template-columns:1fr}.parent-family-snapshot-refined{grid-template-columns:1fr 1fr}.parent-family-snapshot-refined article:last-child{grid-column:1/-1}}
@media(max-width:470px){.parent-family-snapshot-refined{grid-template-columns:1fr}.parent-family-snapshot-refined article:last-child{grid-column:auto}.parent-celebration-panel{align-items:flex-start}.parent-hero-refined h2{font-size:29px}}


/* EducationOS 3.3.0.7 — Parent Goals & Action Plan */
.parent-goals-panel .head{align-items:flex-start}.parent-readonly-badge{display:inline-flex;align-items:center;border:1px solid #d9e3f6;background:#f4f7fd;color:#3559d8;border-radius:999px;padding:7px 11px;font-size:.68rem;font-weight:800;letter-spacing:.08em;white-space:nowrap}.parent-goals-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.parent-goals-overview article{border:1px solid #e2e8f3;border-radius:14px;padding:15px;background:#fbfcff}.parent-goals-overview small,.parent-goal-meta small,.parent-action-steps>small,.parent-educator-note small{display:block;color:#718096;font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.parent-goals-overview strong{display:block;font-size:1.5rem;color:#17233d;margin:4px 0}.parent-goals-overview span{font-size:.78rem;color:#718096}.parent-goal-list{display:grid;gap:14px}.parent-goal-card{border:1px solid #e0e7f2;border-left:4px solid #8da4d8;border-radius:16px;padding:18px;background:#fff;box-shadow:0 8px 22px rgba(30,50,90,.055)}.parent-goal-card.progress{border-left-color:#3559d8}.parent-goal-card.complete{border-left-color:#2d8a62}.parent-goal-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.parent-goal-card-head small{color:#7b8aa8;font-size:.67rem;font-weight:800;letter-spacing:.08em}.parent-goal-card h4,.parent-goal-summary-card h4{margin:4px 0 7px;color:#17233d}.parent-goal-card>p{color:#59677f;margin:0 0 15px;line-height:1.55}.parent-goal-progress-row{display:flex;justify-content:space-between;align-items:center;margin:10px 0 7px;color:#59677f;font-size:.79rem}.parent-goal-progress-row strong{color:#17233d}.parent-goal-status{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:6px 10px;font-size:.7rem;font-weight:800}.parent-goal-status.pending{background:#f2f4f8;color:#667085}.parent-goal-status.progress{background:#edf3ff;color:#3559d8}.parent-goal-status.complete{background:#eaf7f0;color:#267553}.parent-goal-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.parent-goal-meta span{border-top:1px solid #edf0f5;padding-top:10px}.parent-goal-meta strong{display:block;color:#34415a;font-size:.82rem;margin-top:3px}.parent-action-steps,.parent-educator-note{margin-top:15px;padding:13px;border-radius:12px;background:#f7f9fd}.parent-action-step{display:flex;align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px solid #e8edf5}.parent-action-step:last-child{border-bottom:0}.parent-action-step span{display:grid;place-items:center;min-width:23px;height:23px;border-radius:50%;background:#e7edf9;color:#3559d8;font-size:.72rem;font-weight:800}.parent-action-step.complete span{background:#dff2e8;color:#267553}.parent-action-step p,.parent-educator-note p{margin:2px 0 0;color:#526079;font-size:.82rem;line-height:1.45}.parent-goal-empty{display:flex;align-items:center;gap:14px;border:1px dashed #cfd9eb;border-radius:15px;padding:22px;background:#fafcff}.parent-goal-empty>span,.parent-goal-summary-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf3ff;color:#3559d8;font-size:1.25rem}.parent-goal-empty strong{color:#17233d}.parent-goal-empty p{margin:4px 0 0;color:#718096}.parent-goal-summary-card{margin-top:14px}.parent-goal-summary-card>small{display:block;margin-top:12px;color:#718096;font-size:.68rem;font-weight:800;letter-spacing:.08em}.parent-goal-summary-card>p{margin:10px 0 0;color:#718096;font-size:.78rem}@media(max-width:760px){.parent-goals-overview{grid-template-columns:1fr}.parent-goal-meta{grid-template-columns:1fr}.parent-goal-card-head{flex-direction:column}}


/* EducationOS 3.3.0.7 — Parent dashboard simplification */
.parent-module-view{max-width:1400px;margin:0 auto;padding-bottom:32px}
.parent-module-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:28px 30px;border:1px solid #dfe6f3;border-radius:24px;background:linear-gradient(135deg,#fff 0%,#f4f7ff 100%);box-shadow:0 14px 35px rgba(34,55,104,.08)}
.parent-module-hero small{display:block;margin-bottom:7px;color:#4163c5;font-weight:800;letter-spacing:.12em}
.parent-module-hero h2{margin:0 0 7px;font-size:clamp(1.65rem,3vw,2.35rem);color:#18284d}
.parent-module-hero p{margin:0;color:#64708a;max-width:720px}
.parent-module-selector{margin-bottom:18px;padding:18px 22px}
.parent-module-selector label{display:grid;gap:7px;max-width:420px;color:#34415d;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.parent-module-selector select{width:100%;padding:12px 14px;border:1px solid #d5deed;border-radius:12px;background:#fff;color:#1e2d4e;font:inherit;text-transform:none;letter-spacing:normal}
.parent-goals-page-summary{margin-bottom:18px;max-width:430px}
.parent-dashboard-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0}
.parent-dashboard-shortcuts button{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;width:100%;padding:18px;border:1px solid #dde5f1;border-radius:18px;background:#fff;color:#223150;text-align:left;box-shadow:0 8px 22px rgba(36,57,103,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.parent-dashboard-shortcuts button:hover{transform:translateY(-2px);border-color:#b9c9ee;box-shadow:0 13px 28px rgba(36,57,103,.11)}
.parent-dashboard-shortcuts button>span{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#edf3ff;color:#3559d8;font-size:1.2rem;font-weight:800}
.parent-dashboard-shortcuts strong,.parent-dashboard-shortcuts small{display:block}.parent-dashboard-shortcuts small{margin-top:4px;color:#748098;line-height:1.35}.parent-dashboard-shortcuts b{color:#3559d8;font-size:1.2rem}
#parentJourneyView .parent-family-snapshot article:nth-child(4),#parentJourneyView .parent-family-snapshot article:nth-child(5){display:none}
#parentJourneyView .parent-family-snapshot{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.parent-dashboard-shortcuts{grid-template-columns:1fr}.parent-module-hero{align-items:flex-start;flex-direction:column}.parent-family-snapshot{grid-template-columns:1fr!important}}


/* EducationOS 3.3.0.7 — Parent dashboard final polish */
.parent-next-steps-wrap{margin:16px 0}
.parent-next-steps-panel{padding:20px}
.parent-next-steps-count{min-width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:#edf3ff;color:#3559d8;font-size:11px;font-weight:900}
.parent-next-steps-list{display:grid;gap:10px}
.parent-next-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:13px 14px;border:1px solid #e1e7f0;border-radius:14px;background:#fbfcfe}
.parent-next-step-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#edf3ff;color:#3559d8;font-weight:900;font-size:16px}
.parent-next-step.assignment .parent-next-step-icon{background:#fff3e4;color:#b66b16}
.parent-next-step.attention .parent-next-step-icon{background:#fff0f0;color:#bd4343}
.parent-next-step.goal .parent-next-step-icon{background:#eef7f3;color:#2b7a5c}
.parent-next-step strong,.parent-next-step small{display:block}.parent-next-step strong{color:#223150;font-size:10px}.parent-next-step small{margin-top:4px;color:#748098;font-size:8px;line-height:1.45}
.parent-next-step button{border:1px solid #d7e1f2;border-radius:10px;background:#fff;color:#3559d8;padding:9px 11px;font-size:9px;font-weight:900;white-space:nowrap}.parent-next-step button:hover{border-color:#b8c8ea;background:#f7f9ff}.parent-next-step button b{margin-left:5px}
.parent-next-steps-clear{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #dceae4;border-radius:14px;background:#f7fcf9}.parent-next-steps-clear>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#e8f6ee;color:#28714f;font-weight:900}.parent-next-steps-clear strong,.parent-next-steps-clear small{display:block}.parent-next-steps-clear strong{color:#244b3a;font-size:10px}.parent-next-steps-clear small{margin-top:4px;color:#668276;font-size:8px}
@media(max-width:760px){.parent-next-step{grid-template-columns:auto 1fr}.parent-next-step button{grid-column:1/-1;width:100%}}


/* Version 3.3.0.7 — Parent dashboard cleanup and official report parity */
.official-parent-report-dialog{width:min(1180px,96vw);max-height:95vh;padding:0;border:0;border-radius:14px;background:#eef2f5}
.parent-official-progress-report{margin:22px auto}
@media(max-width:900px){.parent-official-progress-report{width:calc(100% - 20px);margin:10px auto}}
@media print{body *{visibility:hidden!important}#parentProgressReportPaper,#parentProgressReportPaper *{visibility:visible!important}#parentProgressReportPaper{position:absolute;inset:0;width:8.5in!important;min-height:11in;margin:0!important;box-shadow:none!important}@page{size:portrait;margin:0}}

/* ==========================================================
   EducationOS 3.4.0.1 — Student Workspace Refinement
   ========================================================== */
.student-journey-v3401{--student-blue:#315b90;--student-blue-dark:#173f70;--student-ink:#17324d;--student-muted:#6c7d8f;--student-border:#dfe8f0;--student-soft:#f5f8fb;display:grid;gap:1rem}
.student-dashboard-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.38fr);gap:1.25rem;padding:1.65rem;border-radius:22px;color:#fff;background:linear-gradient(135deg,#173f70,#315b90 58%,#4f78aa);box-shadow:0 16px 35px rgba(23,63,112,.2);overflow:hidden;position:relative}
.student-dashboard-hero:after{content:"";position:absolute;width:280px;height:280px;right:-100px;bottom:-165px;border-radius:50%;background:rgba(255,255,255,.08)}
.student-dashboard-welcome,.student-progress-card{position:relative;z-index:1}.student-dashboard-brand{display:flex;align-items:center;gap:.65rem;margin-bottom:.65rem;font-size:.72rem;font-weight:900;letter-spacing:.09em}.student-dashboard-brand img{width:36px;height:36px;object-fit:contain}.student-dashboard-hero h2{margin:.3rem 0;font-size:clamp(1.8rem,3vw,2.55rem)}.student-dashboard-hero p{margin:.25rem 0;color:rgba(255,255,255,.86)}.student-dashboard-date{margin-top:.85rem;font-weight:750;color:rgba(255,255,255,.85)}
.student-progress-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding:1.2rem;border:1px solid rgba(255,255,255,.22);border-radius:18px;background:rgba(255,255,255,.11);backdrop-filter:blur(4px)}.student-progress-card small{font-weight:900;letter-spacing:.07em}.student-progress-card strong{font-size:2.45rem;margin:.35rem 0}.student-progress-card p{font-size:.82rem}.student-hero-progress{height:10px;border-radius:99px;background:rgba(255,255,255,.2);overflow:hidden}.student-hero-progress span{display:block;height:100%;border-radius:inherit;background:#fff;transition:width .4s ease}
.student-focus-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem}.student-focus-strip article{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;border:1px solid var(--student-border);border-radius:16px;background:#fff;box-shadow:0 8px 22px rgba(31,61,91,.06)}.student-focus-strip article>span{display:grid;place-items:center;flex:0 0 36px;height:36px;border-radius:10px;background:#edf3ff;color:var(--student-blue);font-weight:900}.student-focus-strip small,.student-focus-strip strong,.student-focus-strip p{display:block}.student-focus-strip small{color:var(--student-muted);font-weight:800}.student-focus-strip strong{margin:.18rem 0;color:var(--student-ink);font-size:1.15rem}.student-focus-strip p{margin:0;color:var(--student-muted);font-size:.76rem}
.student-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(290px,.55fr);gap:1rem}.student-dashboard-side{display:grid;gap:1rem}.student-count-badge{padding:.35rem .65rem;border-radius:99px;background:#edf3ff;color:var(--student-blue);font-size:.76rem;font-weight:900}.student-today-list{display:grid;gap:.7rem}.student-today-item{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.9rem 1rem!important;border:1px solid var(--student-border)!important;border-radius:13px!important;background:#fff!important;color:var(--student-ink)!important;text-align:left!important;box-shadow:none!important}.student-today-item:hover{border-color:#b7cce3!important;transform:translateY(-1px)}.student-today-index{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#edf3ff;color:var(--student-blue);font-weight:900}.student-today-copy strong,.student-today-copy small{display:block}.student-today-copy small{margin-top:.2rem;color:var(--student-muted)}.student-today-status{font-size:.72rem;font-weight:900;color:var(--student-blue);white-space:nowrap}.student-all-clear{display:flex;gap:.8rem;align-items:center;padding:1rem;border-radius:14px;background:#f3fbf7;border:1px solid #cfeadd}.student-all-clear>span{font-size:1.4rem}.student-all-clear strong,.student-all-clear p{display:block}.student-all-clear p{margin:.2rem 0 0;color:var(--student-muted)}
.student-goal-card strong,.student-goal-card small,.student-goal-card p{display:block}.student-goal-card>strong{font-size:1.08rem;color:var(--student-ink)}.student-goal-card p{margin:.35rem 0;color:var(--student-muted)}.student-goal-meta{display:flex;justify-content:space-between;gap:.75rem;margin-top:.55rem;color:var(--student-muted);font-size:.76rem}.student-goal-progress{height:9px;margin:.75rem 0 .25rem;border-radius:99px;background:#e7edf3;overflow:hidden}.student-goal-progress span{display:block;height:100%;background:var(--student-blue)}
.student-deadline-card{display:flex;gap:.8rem;align-items:center}.student-deadline-date{display:grid;place-items:center;min-width:58px;padding:.55rem;border-radius:12px;background:#edf3ff;color:var(--student-blue);font-weight:900;text-align:center}.student-deadline-copy strong,.student-deadline-copy small{display:block}.student-deadline-copy small{margin-top:.25rem;color:var(--student-muted)}
.student-encouragement-card{display:flex;gap:.8rem;align-items:center;padding:1rem;border-radius:16px;color:#fff;background:linear-gradient(135deg,#315b90,#173f70)}.student-encouragement-card>span{font-size:1.35rem}.student-encouragement-card small,.student-encouragement-card strong{display:block}.student-encouragement-card small{opacity:.75;font-weight:900;letter-spacing:.06em}.student-encouragement-card strong{margin-top:.25rem}
.student-checksheet-panel{margin:0}.student-subject-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-subject-grid .journey-subject-card{padding:1rem;border-radius:14px;background:#fff}.student-subject-grid .journey-subject-card button{border:1px solid var(--student-border);transition:.15s ease}.student-subject-grid .journey-subject-card button:hover{border-color:#b7cce3;transform:translateY(-1px)}
@media(max-width:1100px){.student-focus-strip{grid-template-columns:repeat(3,1fr)}.student-dashboard-grid{grid-template-columns:1fr}.student-dashboard-side{grid-template-columns:repeat(2,1fr)}.student-encouragement-card{grid-column:1/-1}}
@media(max-width:760px){.student-dashboard-hero{grid-template-columns:1fr}.student-focus-strip{grid-template-columns:repeat(2,1fr)}.student-dashboard-side,.student-subject-grid{grid-template-columns:1fr}}
@media(max-width:500px){.student-dashboard-hero{padding:1.15rem}.student-focus-strip{grid-template-columns:1fr}.student-today-item{grid-template-columns:auto minmax(0,1fr)}.student-today-status{grid-column:2}.student-dashboard-brand span{font-size:.65rem}}


/* ==========================================================
   EducationOS 3.4.0.3 — Student Workspace Color & Spacing Refinement
   Aligns My Learning Journey with the Executive, Educator,
   and Family Journey visual language.
   ========================================================== */
.student-journey-v3403{
  --student-blue:#294f78;
  --student-blue-dark:#182d49;
  --student-gold:#907735;
  --student-ink:#20364d;
  --student-muted:#66778a;
  --student-border:#dce5ed;
  --student-soft:#f6f8fb;
  display:grid;
  gap:18px;
}
.student-journey-v3403 .student-dashboard-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(270px,.38fr);
  align-items:stretch;
  gap:24px;
  padding:30px;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg,#182d49,#294f78 58%,#907735);
  box-shadow:0 18px 48px rgba(24,45,73,.19);
  overflow:hidden;
}
.student-journey-v3403 .student-dashboard-hero:before{
  content:"";
  position:absolute;
  inset:auto -90px -170px auto;
  width:320px;
  height:320px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
}
.student-journey-v3403 .student-dashboard-hero:after{
  width:220px;
  height:220px;
  right:-70px;
  bottom:-130px;
  background:rgba(255,255,255,.065);
}
.student-journey-v3403 .student-dashboard-brand{margin-bottom:10px}
.student-journey-v3403 .student-dashboard-brand img{width:42px;height:42px;filter:drop-shadow(0 4px 9px rgba(0,0,0,.16))}
.student-journey-v3403 .student-dashboard-brand span,
.student-journey-v3403 .student-dashboard-welcome>small{
  font-size:9px;
  font-weight:900;
  letter-spacing:1.45px;
}
.student-journey-v3403 .student-dashboard-hero h2{margin:5px 0;font-size:34px;line-height:1.15}
.student-journey-v3403 .student-dashboard-hero p{margin:0;opacity:.88}
.student-journey-v3403 .student-dashboard-date{margin-top:16px;font-size:12px;opacity:.82}
.student-journey-v3403 .student-progress-card{
  padding:22px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:16px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px rgba(255,255,255,.1);
}
.student-journey-v3403 .student-progress-card strong{font-size:38px}
.student-journey-v3403 .student-hero-progress{height:8px;background:rgba(255,255,255,.22)}
.student-journey-v3403 .student-hero-progress span{background:#fff}

.student-journey-v3403 .student-focus-strip{gap:14px}
.student-journey-v3403 .student-focus-strip article{
  min-height:112px;
  padding:18px;
  border:1px solid var(--student-border);
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,91,.055);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.student-journey-v3403 .student-focus-strip article:hover{
  transform:translateY(-2px);
  border-color:#c6d5e2;
  box-shadow:0 12px 28px rgba(31,61,91,.09);
}
.student-journey-v3403 .student-focus-strip article>span{
  width:40px;
  height:40px;
  flex-basis:40px;
  border-radius:11px;
  background:#edf3f8;
  color:#294f78;
  font-size:17px;
}
.student-journey-v3403 .student-focus-strip article:nth-child(2)>span,
.student-journey-v3403 .student-focus-strip article:nth-child(5)>span{background:#f5f1e6;color:#907735}
.student-journey-v3403 .student-focus-strip small{font-size:9px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}
.student-journey-v3403 .student-focus-strip strong{font-size:19px;color:#182d49}

.student-journey-v3403 .student-dashboard-grid{gap:18px}
.student-journey-v3403 .panel,
.student-journey-v3403 .student-checksheet-panel{
  margin:0;
  padding:22px;
  border:1px solid var(--student-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,91,.055);
}
.student-journey-v3403 .panel .head,
.student-journey-v3403 .student-checksheet-panel .head{margin-bottom:17px}
.student-journey-v3403 .panel .head small,
.student-journey-v3403 .student-checksheet-panel .head small{
  color:#907735;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.1px;
}
.student-journey-v3403 .panel .head h3,
.student-journey-v3403 .student-checksheet-panel .head h3{margin:4px 0;color:#182d49;font-size:20px}
.student-journey-v3403 .panel .head p,
.student-journey-v3403 .student-checksheet-panel .head p{margin:0;color:#6a7989}
.student-journey-v3403 .student-count-badge{background:#edf3f8;color:#294f78;border:1px solid #d9e4ed}

.student-journey-v3403 .student-today-item{
  padding:14px 15px!important;
  border:1px solid #dfe7ee!important;
  border-radius:12px!important;
  background:#f9fbfd!important;
}
.student-journey-v3403 .student-today-item:hover{background:#fff!important;border-color:#bfcfdd!important;box-shadow:0 7px 17px rgba(31,61,91,.07)!important}
.student-journey-v3403 .student-today-index{background:#edf3f8;color:#294f78}
.student-journey-v3403 .student-today-status{padding:5px 8px;border-radius:99px;background:#edf3f8;color:#294f78}
.student-journey-v3403 .student-all-clear{background:#f7faf8;border-color:#dbe9e0}

.student-journey-v3403 .student-dashboard-side{gap:18px}
.student-journey-v3403 .student-goal-progress,
.student-journey-v3403 .journey-progress-bar{height:8px;background:#e8edf2}
.student-journey-v3403 .student-goal-progress span,
.student-journey-v3403 .journey-progress-bar span{background:#294f78}
.student-journey-v3403 .student-deadline-date{background:#f5f1e6;color:#806b30}
.student-journey-v3403 .student-encouragement-card{
  padding:20px;
  border:1px solid #dce5ed;
  border-radius:16px;
  color:#20364d;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,91,.055);
}
.student-journey-v3403 .student-encouragement-card>span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  flex:0 0 40px;
  border-radius:11px;
  background:#f5f1e6;
  color:#907735;
}
.student-journey-v3403 .student-encouragement-card small{color:#907735;opacity:1}
.student-journey-v3403 .student-encouragement-card strong{color:#20364d}

.student-journey-v3403 .student-subject-grid{gap:14px}
.student-journey-v3403 .student-subject-grid .journey-subject-card{
  padding:18px;
  border:1px solid #dfe7ee;
  border-radius:14px;
  background:#f9fbfd;
  box-shadow:none;
}
.student-journey-v3403 .student-subject-grid .journey-subject-card>strong{color:#182d49;font-size:15px}
.student-journey-v3403 .student-subject-grid .journey-subject-card>small{color:#6a7989}
.student-journey-v3403 .student-subject-grid .journey-subject-card button{
  padding:11px 12px;
  border:1px solid #dfe7ee;
  border-radius:10px;
  background:#fff;
  color:#20364d;
}
.student-journey-v3403 .student-subject-grid .journey-subject-card button:hover{border-color:#bfcfdd;box-shadow:0 6px 14px rgba(31,61,91,.065)}
.student-journey-v3403 .student-subject-grid .journey-subject-card em{color:#294f78;font-style:normal;font-weight:800}

@media(max-width:1100px){
  .student-journey-v3403 .student-dashboard-grid{grid-template-columns:1fr}
  .student-journey-v3403 .student-dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
  .student-journey-v3403 .student-dashboard-hero{grid-template-columns:1fr;padding:24px}
  .student-journey-v3403 .student-focus-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .student-journey-v3403 .student-dashboard-side,
  .student-journey-v3403 .student-focus-strip,
  .student-journey-v3403 .student-subject-grid{grid-template-columns:1fr}
  .student-journey-v3403 .student-dashboard-hero h2{font-size:28px}
  .student-journey-v3403 .panel,
  .student-journey-v3403 .student-checksheet-panel{padding:17px}
}


/* ==========================================================
   EducationOS 3.4.0.3 — Student Workspace Color & Spacing
   Matches the Family Journey blue and creates clearer vertical
   separation throughout My Learning Journey.
   ========================================================== */
.student-journey-v3403{
  --student-blue:#356a9f;
  --student-blue-dark:#244d78;
  --student-gold:#907735;
  gap:26px;
  padding-bottom:12px;
}
.student-journey-v3403 .student-dashboard-hero{
  gap:30px;
  padding:34px 36px;
  background:linear-gradient(135deg,#244d78 0%,#356a9f 62%,#6f98b8 100%);
  box-shadow:0 18px 44px rgba(36,77,120,.18);
}
.student-journey-v3403 .student-dashboard-brand{margin-bottom:16px}
.student-journey-v3403 .student-dashboard-hero h2{margin:8px 0 7px}
.student-journey-v3403 .student-dashboard-hero p{line-height:1.55}
.student-journey-v3403 .student-dashboard-date{margin-top:20px}
.student-journey-v3403 .student-progress-card{
  padding:25px;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.student-journey-v3403 .student-progress-card strong{margin:7px 0 9px}
.student-journey-v3403 .student-progress-card p{margin-top:12px}
.student-journey-v3403 .student-focus-strip{gap:18px}
.student-journey-v3403 .student-focus-strip article{
  min-height:124px;
  padding:20px;
  gap:15px;
}
.student-journey-v3403 .student-focus-strip article>span{
  width:43px;
  height:43px;
  flex-basis:43px;
  background:#edf4fb;
  color:#356a9f;
}
.student-journey-v3403 .student-dashboard-grid{gap:24px}
.student-journey-v3403 .student-dashboard-side{gap:24px}
.student-journey-v3403 .panel,
.student-journey-v3403 .student-checksheet-panel{
  padding:26px;
}
.student-journey-v3403 .panel .head,
.student-journey-v3403 .student-checksheet-panel .head{margin-bottom:21px}
.student-journey-v3403 .student-today-list{gap:11px}
.student-journey-v3403 .student-today-item{padding:16px!important}
.student-journey-v3403 .student-today-index,
.student-journey-v3403 .student-today-status,
.student-journey-v3403 .student-count-badge{
  background:#edf4fb;
  color:#356a9f;
}
.student-journey-v3403 .student-goal-progress span,
.student-journey-v3403 .journey-progress-bar span{background:#356a9f}
.student-journey-v3403 .student-encouragement-card{padding:24px}
.student-journey-v3403 .student-subject-grid{gap:18px}
.student-journey-v3403 .student-subject-grid .journey-subject-card{padding:20px}
.student-journey-v3403 .student-subject-grid .journey-subject-card em{color:#356a9f}
@media(max-width:850px){
  .student-journey-v3403{gap:22px}
  .student-journey-v3403 .student-dashboard-hero{padding:28px}
}
@media(max-width:650px){
  .student-journey-v3403{gap:18px}
  .student-journey-v3403 .student-dashboard-hero{padding:23px}
  .student-journey-v3403 .panel,
  .student-journey-v3403 .student-checksheet-panel{padding:19px}
  .student-journey-v3403 .student-focus-strip article{min-height:auto}
}


/* ==========================================================
   EducationOS 3.4.0.8 — Shared Student Workspace Design System
   Authoritative Student Workspace rules. The v3405 namespace
   intentionally isolates this view from all legacy journey CSS.
   ========================================================== */
.student-journey-v3405{
  --journey-blue-dark:#0b3f91;
  --journey-blue:#0030a0;
  --journey-blue-light:#1264c7;
  --journey-blue-soft:#edf3ff;
  --journey-gold:#907735;
  --journey-ink:#20364d;
  --journey-muted:#6a7989;
  --journey-line:#dfe7ee;
  width:100%;
  padding:0 0 18px;
}
.student-journey-v3405.active{
  display:grid;
  gap:32px;
}
.student-journey-v3405 .student-dashboard-hero{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(250px,340px);
  align-items:stretch;
  gap:34px;
  margin:0;
  padding:38px 40px;
  overflow:hidden;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg,var(--journey-blue-dark) 0%,var(--journey-blue) 62%,var(--journey-blue-light) 100%);
  box-shadow:0 18px 44px rgba(36,77,120,.18);
}
.student-journey-v3405 .student-dashboard-hero:after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-75px;
  bottom:-120px;
  width:310px;
  height:310px;
  border:48px solid rgba(255,255,255,.07);
  border-radius:50%;
}
.student-journey-v3405 .student-dashboard-welcome{min-width:0}
.student-journey-v3405 .student-dashboard-brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 18px;
}
.student-journey-v3405 .student-dashboard-brand img{
  width:38px;
  height:38px;
  object-fit:contain;
  filter:drop-shadow(0 3px 6px rgba(16,45,76,.35));
}
.student-journey-v3405 .student-dashboard-brand span,
.student-journey-v3405 .student-dashboard-welcome>small{
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.65px;
}
.student-journey-v3405 .student-dashboard-hero h2{
  margin:8px 0 8px;
  color:#fff;
  font-size:35px;
  line-height:1.15;
}
.student-journey-v3405 .student-dashboard-hero p{
  margin:0;
  color:#fff;
  line-height:1.55;
  opacity:.9;
}
.student-journey-v3405 .student-dashboard-date{
  margin-top:20px;
  color:#fff;
  font-size:12px;
  opacity:.82;
}
.student-journey-v3405 .student-progress-card{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:25px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:16px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 1px rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
}
.student-journey-v3405 .student-progress-card small{color:#fff;font-size:9px;font-weight:900;letter-spacing:1.2px}
.student-journey-v3405 .student-progress-card strong{display:block;margin:8px 0 10px;color:#fff;font-size:38px}
.student-journey-v3405 .student-progress-card p{margin:12px 0 0;color:#fff;opacity:.88}
.student-journey-v3405 .student-hero-progress{
  width:100%;
  height:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.25);
}
.student-journey-v3405 .student-hero-progress span{display:block;height:100%;border-radius:inherit;background:#fff}

.student-journey-v3405 .student-focus-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:20px;
  margin:0;
}
.student-journey-v3405 .student-focus-strip article{
  display:flex;
  align-items:flex-start;
  gap:15px;
  min-width:0;
  min-height:124px;
  padding:20px;
  border:1px solid var(--journey-line);
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,91,.055);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.student-journey-v3405 .student-focus-strip article:hover{
  transform:translateY(-2px);
  border-color:#c6d5e2;
  box-shadow:0 12px 28px rgba(31,61,91,.09);
}
.student-journey-v3405 .student-focus-strip article>span{
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  flex:0 0 43px;
  border-radius:11px;
  background:var(--journey-blue-soft);
  color:var(--journey-blue);
  font-size:18px;
}
.student-journey-v3405 .student-focus-strip article:nth-child(2)>span,
.student-journey-v3405 .student-focus-strip article:nth-child(5)>span{background:#f5f1e6;color:var(--journey-gold)}
.student-journey-v3405 .student-focus-strip div{min-width:0}
.student-journey-v3405 .student-focus-strip small{display:block;color:var(--journey-muted);font-size:9px;font-weight:900;letter-spacing:.5px;text-transform:uppercase}
.student-journey-v3405 .student-focus-strip strong{display:block;margin:6px 0 5px;color:var(--journey-ink);font-size:20px;line-height:1.15}
.student-journey-v3405 .student-focus-strip p{margin:0;color:var(--journey-muted);font-size:12px;line-height:1.4}

.student-journey-v3405 .student-dashboard-grid{
  display:grid;
  grid-template-columns:minmax(0,1.65fr) minmax(285px,.75fr);
  align-items:start;
  gap:28px;
  margin:0;
}
.student-journey-v3405 .student-dashboard-side{display:grid;gap:28px;min-width:0}
.student-journey-v3405 .panel,
.student-journey-v3405 .student-checksheet-panel{
  margin:0;
  padding:26px;
  border:1px solid var(--journey-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,91,.055);
}
.student-journey-v3405 .panel .head,
.student-journey-v3405 .student-checksheet-panel .head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin:0 0 21px;
}
.student-journey-v3405 .panel .head small,
.student-journey-v3405 .student-checksheet-panel .head small{color:var(--journey-gold);font-size:9px;font-weight:900;letter-spacing:1.1px}
.student-journey-v3405 .panel .head h3,
.student-journey-v3405 .student-checksheet-panel .head h3{margin:5px 0;color:var(--journey-ink);font-size:20px;line-height:1.25}
.student-journey-v3405 .panel .head p,
.student-journey-v3405 .student-checksheet-panel .head p{margin:0;color:var(--journey-muted);line-height:1.45}
.student-journey-v3405 .student-count-badge{
  flex:0 0 auto;
  padding:6px 10px;
  border:1px solid #d9e5f0;
  border-radius:999px;
  color:var(--journey-blue);
  background:var(--journey-blue-soft);
  font-size:11px;
  font-weight:800;
}
.student-journey-v3405 .student-today-list{display:grid;gap:11px}
.student-journey-v3405 .student-today-item{
  display:flex!important;
  align-items:center;
  gap:13px;
  width:100%;
  min-height:0!important;
  padding:16px!important;
  border:1px solid var(--journey-line)!important;
  border-radius:12px!important;
  color:var(--journey-ink)!important;
  background:#f9fbfd!important;
  text-align:left;
}
.student-journey-v3405 .student-today-item:hover{background:#fff!important;border-color:#bfd0df!important;box-shadow:0 7px 17px rgba(31,61,91,.07)!important}
.student-journey-v3405 .student-today-index{
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex:0 0 32px;
  border-radius:9px;
  color:var(--journey-blue);
  background:var(--journey-blue-soft);
  font-weight:900;
}
.student-journey-v3405 .student-today-copy{min-width:0;flex:1}
.student-journey-v3405 .student-today-copy strong{display:block;color:var(--journey-ink)}
.student-journey-v3405 .student-today-copy small{display:block;margin-top:4px;color:var(--journey-muted)}
.student-journey-v3405 .student-today-status{flex:0 0 auto;padding:5px 8px;border-radius:999px;color:var(--journey-blue);background:var(--journey-blue-soft);font-size:10px;font-weight:800}
.student-journey-v3405 .student-all-clear{display:flex;align-items:center;gap:13px;padding:18px;border:1px solid #dbe9e0;border-radius:12px;background:#f7faf8}
.student-journey-v3405 .student-all-clear>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#e7f3eb;color:#2b7650;font-weight:900}
.student-journey-v3405 .student-all-clear strong{color:var(--journey-ink)}
.student-journey-v3405 .student-all-clear p{margin:4px 0 0;color:var(--journey-muted)}
.student-journey-v3405 .student-goal-card p{color:var(--journey-muted);line-height:1.5}
.student-journey-v3405 .student-goal-progress,
.student-journey-v3405 .journey-progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#e8edf2}
.student-journey-v3405 .student-goal-progress span,
.student-journey-v3405 .journey-progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--journey-blue)}
.student-journey-v3405 .student-goal-meta{display:flex;justify-content:space-between;gap:12px;margin-top:9px;color:var(--journey-muted);font-size:11px}
.student-journey-v3405 .student-deadline-date{display:inline-flex;padding:7px 10px;border-radius:10px;background:#f5f1e6;color:#806b30;font-weight:900}
.student-journey-v3405 .student-encouragement-card{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:24px;
  border:1px solid var(--journey-line);
  border-radius:16px;
  color:var(--journey-ink);
  background:#fff;
  box-shadow:0 8px 24px rgba(31,61,91,.055);
}
.student-journey-v3405 .student-encouragement-card>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#f5f1e6;color:var(--journey-gold);font-size:18px}
.student-journey-v3405 .student-encouragement-card small{display:block;margin-bottom:6px;color:var(--journey-gold);font-size:9px;font-weight:900;letter-spacing:1.1px}
.student-journey-v3405 .student-encouragement-card strong{color:var(--journey-ink);line-height:1.45}
.student-journey-v3405 .student-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.student-journey-v3405 .student-subject-grid .journey-subject-card{display:grid;align-content:start;gap:10px;min-width:0;padding:20px;border:1px solid var(--journey-line);border-radius:14px;background:#f9fbfd}
.student-journey-v3405 .student-subject-grid .journey-subject-card>strong{color:var(--journey-ink);font-size:15px}
.student-journey-v3405 .student-subject-grid .journey-subject-card>small{color:var(--journey-muted)}
.student-journey-v3405 .student-subject-grid .journey-subject-card button{display:flex;justify-content:space-between;gap:12px;width:100%;min-height:0;padding:11px 12px;border:1px solid var(--journey-line);border-radius:10px;background:#fff;color:var(--journey-ink);text-align:left}
.student-journey-v3405 .student-subject-grid .journey-subject-card button:hover{border-color:#bfd0df;box-shadow:0 6px 14px rgba(31,61,91,.065)}
.student-journey-v3405 .student-subject-grid .journey-subject-card em{color:var(--journey-blue);font-style:normal;font-weight:800}
.student-journey-v3405 .empty{padding:26px;border:1px dashed var(--journey-line);border-radius:13px;color:var(--journey-muted);background:#f9fbfd;text-align:center}

@media(max-width:1180px){
  .student-journey-v3405 .student-focus-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
  .student-journey-v3405 .student-focus-strip article:nth-child(4),
  .student-journey-v3405 .student-focus-strip article:nth-child(5){grid-column:span 1}
}
@media(max-width:1000px){
  .student-journey-v3405 .student-dashboard-grid{grid-template-columns:1fr}
  .student-journey-v3405 .student-dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}
  .student-journey-v3405 .student-encouragement-card{grid-column:1/-1}
}
@media(max-width:820px){
  .student-journey-v3405.active{gap:22px}
  .student-journey-v3405 .student-dashboard-hero{grid-template-columns:1fr;padding:28px}
  .student-journey-v3405 .student-focus-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .student-journey-v3405.active{gap:18px}
  .student-journey-v3405 .student-dashboard-hero{padding:23px}
  .student-journey-v3405 .student-dashboard-hero h2{font-size:29px}
  .student-journey-v3405 .student-focus-strip,
  .student-journey-v3405 .student-dashboard-side,
  .student-journey-v3405 .student-subject-grid{grid-template-columns:1fr}
  .student-journey-v3405 .student-encouragement-card{grid-column:auto}
  .student-journey-v3405 .panel,
  .student-journey-v3405 .student-checksheet-panel{padding:19px}
  .student-journey-v3405 .student-focus-strip article{min-height:auto}
  .student-journey-v3405 .student-today-status{display:none}
}

/* ============================================================
   EducationOS 3.4.0.8 — Student Focus Cards Horizontal Layout
   ============================================================ */
.student-journey-v3405 .student-dashboard-grid{
  grid-template-columns:1fr;
  gap:24px;
}
.student-journey-v3405 .student-dashboard-side{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
  gap:20px;
}
.student-journey-v3405 .student-dashboard-side > article{
  height:100%;
  min-width:0;
}
.student-journey-v3405 .student-goal-preview,
.student-journey-v3405 .student-next-deadline,
.student-journey-v3405 .student-encouragement-card{
  min-height:190px;
}
.student-journey-v3405 .student-encouragement-card{
  align-items:center;
}
.student-journey-v3405 .student-encouragement-card > div{
  min-width:0;
}

@media(max-width:980px){
  .student-journey-v3405 .student-dashboard-side{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .student-journey-v3405 .student-encouragement-card{
    grid-column:1/-1;
    min-height:0;
  }
}
@media(max-width:620px){
  .student-journey-v3405 .student-dashboard-side{
    grid-template-columns:1fr;
    gap:16px;
  }
  .student-journey-v3405 .student-encouragement-card{
    grid-column:auto;
  }
  .student-journey-v3405 .student-goal-preview,
  .student-journey-v3405 .student-next-deadline,
  .student-journey-v3405 .student-encouragement-card{
    min-height:0;
  }
}


/* ============================================================
   EducationOS 3.4.0.8 — Student Focus Container Correction
   Prevents the global application sidebar <aside> styling from
   leaking into the Student Workspace focus-card container.
   ============================================================ */
.student-journey-v3405 .student-dashboard-side{
  position:static;
  top:auto;
  width:auto;
  height:auto;
  min-height:0;
  padding:0;
  color:inherit;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.student-journey-v3405 .student-dashboard-side > article{
  align-self:start;
  height:auto;
  min-height:190px;
}
.student-journey-v3405 .student-dashboard-grid{
  align-items:start;
  background:transparent;
}
@media(max-width:620px){
  .student-journey-v3405 .student-dashboard-side > article{min-height:0}
}


/* Version 3.5.5.4 — Login Navigation Reset */
.nav-subgroup{
  margin:2px 0;
}
.nav-subgroup > summary{
  list-style:none;
  cursor:pointer;
}
.nav-subgroup > summary::-webkit-details-marker{display:none}
.educator-nav-summary{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr) 18px;
  align-items:center;
  width:100%;
}
.nav-subgroup-chevron{
  justify-self:end;
  font-size:14px;
  transition:transform .18s ease;
}
.educator-navigation-group[open] .nav-subgroup-chevron{transform:rotate(180deg)}
.nav-subgroup-items{
  display:grid;
  gap:3px;
  margin:5px 0 7px 14px;
  padding-left:10px;
  border-left:1px solid rgba(255,255,255,.22);
}
.educator-subnav{
  min-height:39px!important;
  padding:8px 10px!important;
  border-color:transparent!important;
  background:transparent!important;
  font-size:13px;
}
.educator-subnav:hover,
.educator-subnav.active{
  border-color:rgba(255,255,255,.24)!important;
  background:rgba(255,255,255,.13)!important;
}
.educator-navigation-group.contains-active > .educator-nav-summary{
  background:rgba(255,255,255,.12)!important;
}
.sidebar-compact .educator-navigation-group > summary .nav-subgroup-chevron,
.sidebar-compact .educator-navigation-group .nav-subgroup-items{
  display:none;
}
.sidebar-compact .educator-navigation-group[open] .nav-subgroup-items{display:none}

/* ============================================================
   EducationOS 3.5.5.6 — Navigation Visual Cleanup
   Dropdown destinations use the same unboxed treatment as all
   standard sidebar navigation items.
   ============================================================ */
.education-sidebar .founder-command-nav,
.education-sidebar .founder-nav,
.education-sidebar .educator-nav-summary,
.education-sidebar #academicIntelligenceNav{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:rgba(255,255,255,.82)!important;
  background:transparent!important;
}
.education-sidebar .founder-command-nav:hover,
.education-sidebar .founder-nav:hover,
.education-sidebar .educator-nav-summary:hover,
.education-sidebar #academicIntelligenceNav:hover{
  border:0!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
}
.education-sidebar .founder-command-nav.active,
.education-sidebar .founder-nav.active,
.education-sidebar #academicIntelligenceNav.active,
.education-sidebar .educator-navigation-group.contains-active > .educator-nav-summary{
  border:0!important;
  background:rgba(255,255,255,.13)!important;
  color:#fff!important;
  box-shadow:none!important;
}
.education-sidebar .educator-nav-summary:focus-visible,
.education-sidebar .founder-command-nav:focus-visible,
.education-sidebar .founder-nav:focus-visible,
.education-sidebar #academicIntelligenceNav:focus-visible{
  outline:2px solid rgba(255,255,255,.72)!important;
  outline-offset:2px;
}


/* EducationOS 3.6.0.2 — strict role-exclusive portal navigation */
#app:not([data-account-role="parent"]) .parent-nav,
#app:not([data-account-role="student"]) .student-nav{
  display:none!important;
}

/* EducationOS 3.6.0.3 — Account Management */
.identity-account-actions .secondary-button{background:#fff!important;color:#0030a0!important;border:1px solid #cfdcf0!important;box-shadow:none!important}
.identity-account-actions .secondary-button:hover{background:#f4f8ff!important;border-color:#8eafe5!important}
.identity-hero-actions button[hidden],.identity-account-actions button[hidden]{display:none!important}
@media(max-width:850px){.identity-hero-actions{flex-wrap:wrap}}


/* EducationOS 3.6.0.4 — Security & Audit Center */
.security-audit-v3604{--security-blue:#0030a0;--security-navy:#0b2f72;--security-soft:#eef4ff;display:none;gap:24px}
.security-audit-v3604.active{display:grid}
.security-audit-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:32px;border-radius:22px;background:linear-gradient(135deg,#0b3f91 0%,#0030a0 52%,#1264c7 100%);color:#fff;box-shadow:0 18px 42px rgba(0,48,160,.19)}
.security-audit-hero small,.security-audit-hero p{color:rgba(255,255,255,.82)}.security-audit-hero h2{margin:6px 0 10px;font-size:clamp(1.7rem,3vw,2.35rem)}.security-audit-hero p{max-width:700px;margin:0;line-height:1.6}
.security-audit-shield{display:flex;align-items:center;gap:14px;min-width:210px;padding:16px 18px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}.security-audit-shield>span{font-size:2rem}.security-audit-shield small{display:block;font-size:.7rem;letter-spacing:.09em}.security-audit-shield strong{display:block;margin-top:3px}
.security-audit-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.security-audit-stats article{display:flex;gap:12px;align-items:flex-start;padding:18px;background:#fff;border:1px solid #dfe7f3;border-radius:16px;box-shadow:0 8px 22px rgba(15,42,83,.07)}.security-audit-stats article>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#edf4ff}.security-audit-stats small{color:#68778b;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.security-audit-stats strong{display:block;margin:3px 0;font-size:1.55rem;color:#132a4a}.security-audit-stats p{margin:0;color:#7d8998;font-size:.78rem;line-height:1.35}
.security-audit-layout{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(290px,.85fr);gap:22px;align-items:start}.security-audit-main{min-width:0}.security-audit-head{align-items:flex-start}.security-audit-filters{display:grid;grid-template-columns:minmax(240px,1fr) 190px 150px;gap:12px;margin:0 0 18px}.security-audit-filters input,.security-audit-filters select{width:100%;min-height:43px;border:1px solid #cfd9e8;border-radius:10px;background:#fff;padding:0 12px;color:#20344f}.security-audit-table-wrap{overflow:auto}.security-audit-table-wrap table{min-width:900px}.security-audit-table-wrap th{white-space:nowrap}.security-severity,.security-result{display:inline-flex;align-items:center;justify-content:center;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;text-transform:capitalize}.security-severity.information{background:#eef3f8;color:#496174}.security-severity.operational{background:#e9f1ff;color:#174e9d}.security-severity.important{background:#fff3dc;color:#9a5b00}.security-severity.critical{background:#ffe9e7;color:#b3261e}.security-result.success{background:#e7f7ed;color:#1d6e3b}.security-result.failure{background:#ffe9e7;color:#b3261e}.security-audit-footer{display:flex;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid #e8edf4;color:#708095;font-size:.78rem}
.security-audit-side{display:grid;gap:20px;position:static!important;height:auto!important;min-height:0!important;background:transparent!important}.security-sensitive-list{display:grid;gap:9px}.security-sensitive-item{display:grid;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;width:100%;padding:12px;border:1px solid #e1e8f1;border-radius:12px;background:#fff;color:#1e334f;text-align:left;box-shadow:none}.security-sensitive-item:hover{border-color:#aac2e9;background:#f8fbff;transform:translateY(-1px)}.security-sensitive-item small{display:block;margin-top:3px;color:#738196;font-weight:500}.security-sensitive-dot{width:8px;height:8px;border-radius:999px;background:#8ea1b5}.security-sensitive-dot.important{background:#d68200}.security-sensitive-dot.critical{background:#c22b22}.security-empty{text-align:center;padding:22px 12px;color:#758398}.security-empty>span{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 10px;border-radius:50%;background:#e9f7ef;color:#1b7640;font-weight:900}.security-empty strong{display:block;color:#263b57}.security-empty p{margin:5px 0 0;font-size:.82rem}
.security-account-health{display:grid;gap:2px}.security-health-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 2px;border-bottom:1px solid #edf0f5}.security-health-row:last-child{border-bottom:0}.security-health-row span{display:flex;align-items:center;gap:9px;color:#52647a;font-size:.84rem}.security-health-row i{width:8px;height:8px;border-radius:50%;background:#8ea1b5}.security-health-row i.healthy{background:#2f9254}.security-health-row i.warning{background:#df8b08}.security-health-row i.critical{background:#c7352c}.security-retention-card{display:flex;gap:14px;align-items:flex-start}.security-retention-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:#edf4ff;color:#0030a0;font-weight:900}.security-retention-card h3{margin:4px 0 6px}.security-retention-card p{margin:0;color:#6d7c90;font-size:.83rem;line-height:1.55}
@media(max-width:1250px){.security-audit-stats{grid-template-columns:repeat(3,1fr)}}
@media(max-width:980px){.security-audit-layout{grid-template-columns:1fr}.security-audit-side{grid-template-columns:repeat(2,minmax(0,1fr))}.security-retention-card{grid-column:1/-1}}
@media(max-width:720px){.security-audit-hero{align-items:flex-start;flex-direction:column;padding:24px}.security-audit-shield{width:100%}.security-audit-stats{grid-template-columns:repeat(2,1fr)}.security-audit-filters{grid-template-columns:1fr}.security-audit-side{grid-template-columns:1fr}.security-retention-card{grid-column:auto}.security-audit-footer{flex-direction:column}}
@media(max-width:480px){.security-audit-stats{grid-template-columns:1fr}}

/* EducationOS 3.6.1.0 — Student Services Dashboard & Search */
.student-services-v3610{display:none;gap:22px}.student-services-v3610.active{display:grid}.ss-hub-hero{background:linear-gradient(135deg,#0b3f91 0%,#0030a0 54%,#1264c7 100%)}
.student-services-navigation-group{border:0!important;background:transparent!important;box-shadow:none!important}.student-services-navigation-group>summary{list-style:none}.student-services-navigation-group>summary::-webkit-details-marker{display:none}
.ss-student-search{position:relative;padding:22px}.ss-search-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.ss-search-heading small{color:#66768a;font-size:.7rem;font-weight:900;letter-spacing:.09em}.ss-search-heading h3{margin:4px 0 5px;color:#17304f}.ss-search-heading p{margin:0;color:#758398;font-size:.86rem}
.ss-search-control{display:grid;grid-template-columns:34px 1fr 38px;align-items:center;border:1px solid #cbd7e7;border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(20,48,87,.06);overflow:hidden}.ss-search-control>span{display:grid;place-items:center;color:#0030a0;font-size:1.25rem}.ss-search-control input{height:50px;margin:0!important;border:0!important;outline:0!important;box-shadow:none!important;font-size:.96rem}.ss-search-control button{height:34px;width:34px;padding:0;border:0;background:transparent;color:#718096;font-size:1.3rem;box-shadow:none}.ss-search-control button:hover{background:#eef4ff;color:#0030a0}
.ss-search-results{position:absolute;z-index:30;left:22px;right:22px;top:132px;max-height:390px;overflow:auto;padding:7px;border:1px solid #d6e0ed;border-radius:14px;background:#fff;box-shadow:0 18px 42px rgba(20,42,74,.18)}.ss-search-results>button{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;width:100%;padding:11px 12px;border:0;border-bottom:1px solid #edf1f6;border-radius:10px;background:#fff;color:#1f3552;text-align:left;box-shadow:none}.ss-search-results>button:last-child{border-bottom:0}.ss-search-results>button:hover{background:#f4f8ff;transform:none}.ss-result-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#eaf2ff;color:#0030a0;font-weight:900}.ss-search-results strong,.ss-search-results small{display:block}.ss-search-results small{margin-top:3px;color:#748399;font-size:.77rem}.ss-search-results em{padding:5px 8px;border-radius:999px;background:#eaf7ef;color:#267044;font-size:.7rem;font-style:normal;font-weight:800}
.ss-overview-cards{margin:0}.ss-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:18px;align-items:start}.ss-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ss-snapshot-panel,.ss-requirements-panel{min-height:300px}.ss-snapshot-empty{display:grid;place-items:center;min-height:220px;text-align:center;color:#748399}.ss-snapshot-empty>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:12px;border-radius:16px;background:#edf4ff;color:#0030a0;font-size:1.5rem}.ss-snapshot-empty strong{color:#263c58}.ss-snapshot-empty p{max-width:360px;margin:6px 0 0;font-size:.84rem}
.ss-student-identity{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;padding:4px 0 18px;border-bottom:1px solid #e8edf4}.ss-student-identity>span{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#e9f1ff;color:#0030a0;font-size:1.35rem;font-weight:900}.ss-student-identity small{color:#718198;font-size:.68rem;font-weight:900;letter-spacing:.08em}.ss-student-identity h4{margin:3px 0;color:#17304f;font-size:1.2rem}.ss-student-identity p{margin:0;color:#748399;font-size:.82rem}.ss-student-identity>b{padding:6px 10px;border-radius:999px;background:#e9f7ef;color:#246d42;font-size:.72rem}.ss-snapshot-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.ss-snapshot-metrics>div{padding:13px;border:1px solid #e0e7f0;border-radius:12px;background:#fafcff}.ss-snapshot-metrics small{display:block;color:#738297;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.ss-snapshot-metrics strong{display:block;margin-top:5px;color:#243a57;font-size:.85rem;overflow-wrap:anywhere}
.ss-requirement-list{display:grid;gap:10px}.ss-requirement-item,.ss-requirements-complete{display:grid;grid-template-columns:34px 1fr;align-items:start;gap:10px;padding:12px;border:1px solid #e2e8f0;border-radius:12px;background:#fff}.ss-requirement-item>span,.ss-requirements-complete>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#fff1df;color:#a55b00;font-weight:900}.ss-requirement-item strong,.ss-requirement-item small,.ss-requirements-complete strong,.ss-requirements-complete small{display:block}.ss-requirement-item strong,.ss-requirements-complete strong{color:#263b57;font-size:.84rem}.ss-requirement-item small,.ss-requirements-complete small{margin-top:3px;color:#758398;font-size:.75rem;line-height:1.4}.ss-requirements-complete{background:#f5fbf7;border-color:#cde8d6}.ss-requirements-complete>span{background:#dcf3e4;color:#237043}
.ss-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ss-action-grid button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:14px;border:1px solid #dae3ef;border-radius:13px;background:#fff;color:#213751;text-align:left;box-shadow:0 5px 14px rgba(21,45,78,.05)}.ss-action-grid button:hover{border-color:#9db9e4;background:#f7faff;transform:translateY(-2px)}.ss-action-grid button>span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#eaf2ff;color:#0030a0;font-weight:900}.ss-action-grid strong{font-size:.83rem}.ss-action-grid small{color:#758398;font-size:.72rem}
.ss-academic-operations{border:1px solid #dde5ef;border-radius:16px;background:#fff;overflow:hidden}.ss-academic-operations>summary{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:17px 20px;cursor:pointer;list-style:none}.ss-academic-operations>summary::-webkit-details-marker{display:none}.ss-academic-operations>summary>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#edf4ff;color:#0030a0}.ss-academic-operations>summary strong,.ss-academic-operations>summary small{display:block}.ss-academic-operations>summary strong{color:#263b57}.ss-academic-operations>summary small{margin-top:3px;color:#748399;font-size:.76rem}.ss-academic-operations>summary>b{color:#6d7c90;transition:transform .2s}.ss-academic-operations[open]>summary>b{transform:rotate(180deg)}.ss-academic-operations-body{padding:0 18px 18px;border-top:1px solid #edf1f5}.ss-grading-stats{margin:18px 0}
@media(max-width:1100px){.ss-dashboard-grid{grid-template-columns:1fr}.ss-secondary-grid{grid-template-columns:1fr}.ss-overview-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.ss-search-heading{flex-direction:column}.ss-search-results{top:172px}.ss-overview-cards{grid-template-columns:repeat(2,1fr)}.ss-snapshot-metrics,.ss-action-grid{grid-template-columns:1fr}.ss-student-identity{grid-template-columns:50px 1fr}.ss-student-identity>b{grid-column:1/-1;justify-self:start}}
@media(max-width:460px){.ss-overview-cards{grid-template-columns:1fr}.ss-search-results{left:12px;right:12px}.ss-student-search{padding:16px}}


/* MyNHHSA 3.7.0.2 — Launch Branding */
.powered-by{display:inline-flex;margin-top:14px;padding:7px 12px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.side-brand-copy strong{letter-spacing:.01em}.side-brand-copy span{font-size:.68rem;letter-spacing:.04em}
.mynhhsa-app-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:34px 24px 22px;padding:18px 22px;border-top:1px solid #dfe7f1;color:#68798d}
.mynhhsa-app-footer div{display:flex;align-items:baseline;gap:10px}.mynhhsa-app-footer strong{color:#183b68;font-size:.92rem}.mynhhsa-app-footer span,.mynhhsa-app-footer small{font-size:.72rem}
.login-card>b{color:#0030a0;letter-spacing:.09em}.login-card h2{margin-bottom:6px}.login-card>p{line-height:1.55}
#loginStatus{min-height:20px;margin-top:10px;color:#3f5874;font-weight:700;font-size:.8rem}
@media(max-width:720px){.mynhhsa-app-footer{align-items:flex-start;flex-direction:column;margin:24px 16px 18px}.mynhhsa-app-footer div{flex-direction:column;gap:2px}}

.mynhhsa-loading{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;background:linear-gradient(145deg,#f7faff,#e8f0fb);color:#173b6b;transition:opacity .3s ease,visibility .3s ease}.mynhhsa-loading.is-hidden{opacity:0;visibility:hidden}.mynhhsa-loading img{width:82px;height:82px;object-fit:contain}.mynhhsa-loading strong{font-size:1.35rem}.mynhhsa-loading span{font-size:.82rem;color:#61748b}.mynhhsa-loading i{width:120px;height:4px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,rgba(0,48,160,.14),#0030a0,rgba(0,48,160,.14));background-size:200% 100%;animation:mynhhsaLoadingBar 1.1s linear infinite}@keyframes mynhhsaLoadingBar{to{background-position:-200% 0}}

/* MyNHHSA 4.0.5 — Student Records Enhancements */
.student-record-form{margin-top:18px;padding:20px;border:1px solid #dbe4f0;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(15,43,84,.08)}
.record-form-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid #e5eaf1}
.record-form-tab{background:#f4f7fb!important;color:#26384d!important;border:1px solid #d9e2ee!important;box-shadow:none!important}
.record-form-tab.active{background:#0030a0!important;color:#fff!important;border-color:#0030a0!important}
.record-form-pane{display:none}
.record-form-pane.active{display:block;animation:workspaceFadeIn .18s ease-out}
.record-form-pane h4{margin:4px 0 14px;color:#17304f}
.record-form-pane h4:not(:first-child){margin-top:24px;padding-top:18px;border-top:1px solid #e7ecf3}
.record-form-pane h4 small{font-weight:500;color:#6c7b8d}
.record-form-textareas label{align-items:stretch}
.record-form-textareas textarea{width:100%;resize:vertical}
.student-photo-preview{display:grid;place-items:center;min-height:220px;margin-top:14px;border:2px dashed #cad5e3;border-radius:16px;background:#f7f9fc;color:#68798c;overflow:hidden}
.student-photo-preview img{display:block;width:100%;max-height:320px;object-fit:contain;background:#fff}
.workspace-avatar{position:relative;overflow:hidden}
.workspace-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.workspace-pane h3{margin:18px 0 10px;color:#17304f}
.workspace-pane h3:first-child{margin-top:0}
.workspace-grid a,.table a{color:#0030a0;font-weight:700;text-decoration:none}
.workspace-grid a:hover,.table a:hover{text-decoration:underline}
@media(max-width:760px){.record-form-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.record-form-tab{width:100%}.student-record-form{padding:14px}}

/* MyNHHSA 4.0.6 — Interactive educator dashboard */
.educator-morning-metrics .educator-dashboard-metric{width:100%;min-height:112px;padding:15px;border:1px solid #e4ebf1;border-radius:15px;background:#f9fbfd;text-align:left;display:flex;align-items:flex-start;gap:12px;color:inherit;cursor:pointer;box-shadow:none;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease}
.educator-morning-metrics .educator-dashboard-metric:hover,.educator-morning-metrics .educator-dashboard-metric:focus-visible{transform:translateY(-3px);box-shadow:0 12px 26px rgba(31,55,79,.12);border-color:#9db9d2;background:#fff;outline:none}
.educator-morning-metrics .educator-dashboard-metric:focus-visible{box-shadow:0 0 0 3px rgba(0,48,160,.18),0 12px 26px rgba(31,55,79,.12)}
.educator-dashboard-metric div{min-width:0;flex:1}.educator-dashboard-metric em{display:block;margin-top:7px;color:#0030a0;font-size:.72rem;font-style:normal;font-weight:900;letter-spacing:.03em}


/* MyNHHSA 4.0.6.3 — transient Student Directory filters */
#clearStudentDirectoryFilter:not([hidden]){background:#fff;color:#0030a0;border:1px solid rgba(0,48,160,.28);box-shadow:none}
#clearStudentDirectoryFilter:not([hidden]):hover{background:#f4f7ff;border-color:#0030a0}
/* MyNHHSA 4.0.7 — Founder Franchise Center */
.franchise-campus-view{display:none;gap:24px}.franchise-campus-view.active{display:grid}.franchise-campus-hero{display:flex;justify-content:space-between;align-items:center;padding:30px;border-radius:22px;background:linear-gradient(135deg,#0b3f91,#0030a0,#1264c7);color:#fff}.franchise-campus-hero h2{margin:6px 0;font-size:2rem}.franchise-campus-hero p{margin:0;opacity:.9}.franchise-founder-only{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:800}.franchise-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.franchise-metrics article,.franchise-panel{background:#fff;border:1px solid #dbe3ef;border-radius:18px;box-shadow:0 8px 24px rgba(20,45,80,.08)}.franchise-metrics article{padding:20px}.franchise-metrics small{display:block;color:#667085;font-weight:700}.franchise-metrics strong{display:block;margin-top:8px;color:#0030a0;font-size:1.75rem}.franchise-panel{padding:22px}.franchise-section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.franchise-section-heading small{color:#667085;font-weight:800;letter-spacing:.08em}.franchise-section-heading h3{margin:4px 0 0}.franchise-campus-status{min-height:20px;color:#b42318;font-weight:700}.franchise-tuition-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:14px;align-items:end;margin-bottom:20px}.franchise-tuition-form label{display:grid;gap:6px;font-weight:700}.franchise-tuition-form input,.franchise-tuition-form textarea{width:100%;box-sizing:border-box}.franchise-tuition-notes{grid-column:1/-2}.franchise-tuition-form button{min-height:44px}.franchise-campus-view table{width:100%;border-collapse:collapse}.franchise-campus-view th,.franchise-campus-view td{padding:12px 10px;text-align:left;border-bottom:1px solid #e8edf4}.franchise-campus-view th{color:#475467;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em}.franchise-empty{text-align:center;color:#667085;padding:24px!important}.founder-franchise-navigation .franchise-campus-nav{padding-left:38px}
@media(max-width:900px){.franchise-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.franchise-tuition-form{grid-template-columns:repeat(2,minmax(0,1fr))}.franchise-tuition-notes{grid-column:1/-1}}
@media(max-width:600px){.franchise-campus-hero{align-items:flex-start;gap:16px}.franchise-metrics{grid-template-columns:1fr}.franchise-tuition-form{grid-template-columns:1fr}.franchise-tuition-notes{grid-column:auto}}

/* MyNHHSA 4.0.7.1 — Detailed Tuition & Income Logs */
.tuition-heading{align-items:flex-end;gap:20px}.tuition-heading p{margin:6px 0 0;color:#667085}.tuition-month-actions{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.tuition-month-actions label{display:grid;gap:5px;font-weight:750}.tuition-month-actions input{min-height:42px}.tuition-legend{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.tuition-tag{padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800;border:1px solid transparent}.tuition-tag-ach{background:#dcfce7;border-color:#86efac;color:#166534}.tuition-tag-tefa{background:#dbeafe;border-color:#93c5fd;color:#1e40af}.tuition-tag-new{background:#fef9c3;border-color:#fde047;color:#854d0e}.tuition-tag-special{background:#ffedd5;border-color:#fdba74;color:#9a3412}.tuition-tag-dropped{background:#fee2e2;border-color:#fca5a5;color:#991b1b}.tuition-ledger-scroll{max-height:610px;border:1px solid #dbe3ef;border-radius:14px}.tuition-ledger-table{min-width:1780px}.tuition-ledger-table thead th{position:sticky;top:0;z-index:3;background:#f8fafc}.tuition-ledger-table tfoot th{position:sticky;bottom:0;z-index:2;background:#eef4ff;color:#173b73}.tuition-ledger-table td,.tuition-ledger-table th{padding:8px 7px}.tuition-ledger-table input,.tuition-ledger-table select,.tuition-ledger-table textarea{min-width:92px;width:100%;box-sizing:border-box;padding:8px;border:1px solid #cfd8e6;border-radius:7px;background:#fff}.tuition-ledger-table td:nth-child(2){min-width:210px}.tuition-ledger-table td:nth-child(3){min-width:145px}.tuition-ledger-table td:nth-child(14){min-width:220px}.tuition-ledger-table textarea{resize:vertical}.tuition-row-total{font-weight:850;color:#0030a0;white-space:nowrap}.tuition-row-ach{background:#f0fdf4}.tuition-row-tefa{background:#eff6ff}.tuition-row-new-student{background:#fefce8}.tuition-row-special-notation{background:#fff7ed}.tuition-row-dropped{background:#fef2f2}.tuition-lower-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:18px;margin-top:20px}.tuition-expenses-card,.tuition-summary-card{border:1px solid #dbe3ef;border-radius:16px;padding:18px;background:#fdfefe}.tuition-expenses-card h4,.tuition-summary-card h4{margin:4px 0 0}.tuition-expense-rows{display:grid;gap:9px}.tuition-expense-row{display:grid;grid-template-columns:1fr 150px auto;gap:9px}.tuition-expense-row input{width:100%;box-sizing:border-box}.tuition-expense-row button{background:#fff;color:#b42318;border:1px solid #f1b5af}.tuition-summary-card dl{margin:14px 0 8px}.tuition-summary-card dl div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid #e8edf4}.tuition-summary-card dt{color:#475467}.tuition-summary-card dd{margin:0;font-weight:850;color:#173b73}.tuition-summary-card .tuition-summary-net{font-size:1.08rem;border-bottom:0;padding-top:14px}.tuition-summary-card>small{display:block;margin-top:12px;color:#667085}
@media(max-width:900px){.tuition-heading{align-items:flex-start;flex-direction:column}.tuition-lower-grid{grid-template-columns:1fr}}
@media(max-width:600px){.tuition-month-actions{display:grid;width:100%}.tuition-month-actions button,.tuition-month-actions label{width:100%}.tuition-expense-row{grid-template-columns:1fr}.tuition-expense-row button{justify-self:start}}


/* MyNHHSA 4.0.7.2 — Franchise Center Stability & Layout Fix */
.franchise-campus-view{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:hidden;
}
.franchise-campus-view>*{min-width:0;max-width:100%}
.franchise-campus-hero,.franchise-metrics,.franchise-panel{width:100%;max-width:100%;min-width:0}
.franchise-metrics article{min-width:0}
.franchise-panel{overflow:hidden}
.franchise-panel .table-scroll{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scrollbar-gutter:stable;
}
.franchise-panel:not(.franchise-tuition-panel) .table-scroll table{min-width:760px}
.franchise-tuition-panel{overflow:hidden}
.tuition-heading{min-width:0;flex-wrap:wrap}
.tuition-heading>div:first-child{min-width:260px;flex:1 1 420px}
.tuition-month-actions{flex:0 1 auto;max-width:100%}
.tuition-ledger-scroll{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior-inline:contain;
}
.tuition-ledger-table{width:max-content;min-width:1780px;max-width:none}
.tuition-ledger-table th:first-child,.tuition-ledger-table td:first-child{
  position:sticky;
  left:0;
  z-index:4;
  width:44px;
  min-width:44px;
  max-width:44px;
  background:inherit;
}
.tuition-ledger-table th:nth-child(2),.tuition-ledger-table td:nth-child(2){
  position:sticky;
  left:44px;
  z-index:4;
  min-width:210px;
  background:inherit;
  box-shadow:2px 0 0 #dbe3ef;
}
.tuition-ledger-table thead th:first-child,.tuition-ledger-table thead th:nth-child(2){z-index:7;background:#f8fafc}
.tuition-ledger-table tbody tr:not([class]) td:first-child,.tuition-ledger-table tbody tr:not([class]) td:nth-child(2){background:#fff}
.tuition-ledger-table tbody .tuition-row-ach td:first-child,.tuition-ledger-table tbody .tuition-row-ach td:nth-child(2){background:#f0fdf4}
.tuition-ledger-table tbody .tuition-row-tefa td:first-child,.tuition-ledger-table tbody .tuition-row-tefa td:nth-child(2){background:#eff6ff}
.tuition-ledger-table tbody .tuition-row-new-student td:first-child,.tuition-ledger-table tbody .tuition-row-new-student td:nth-child(2){background:#fefce8}
.tuition-ledger-table tbody .tuition-row-special-notation td:first-child,.tuition-ledger-table tbody .tuition-row-special-notation td:nth-child(2){background:#fff7ed}
.tuition-ledger-table tbody .tuition-row-dropped td:first-child,.tuition-ledger-table tbody .tuition-row-dropped td:nth-child(2){background:#fef2f2}
.tuition-lower-grid{min-width:0}
.tuition-lower-grid>*{min-width:0}
@media(max-width:1100px){.tuition-lower-grid{grid-template-columns:1fr}.tuition-month-actions{width:100%}}
@media(max-width:700px){
  .franchise-campus-hero{flex-direction:column;align-items:flex-start}
  .tuition-month-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .tuition-month-actions label{grid-column:1/-1}
  .tuition-month-actions button{width:100%}
}

/* MyNHHSA 4.0.7.3 — Tuition Ledger Sticky Column Layering Fix */
.tuition-ledger-table{
  border-collapse:separate;
  border-spacing:0;
}
.tuition-ledger-table thead th:first-child,
.tuition-ledger-table tbody td:first-child{
  position:sticky;
  left:0;
  width:48px;
  min-width:48px;
  max-width:48px;
  z-index:8;
  background:#fff;
  background-clip:padding-box;
}
.tuition-ledger-table thead th:nth-child(2),
.tuition-ledger-table tbody td:nth-child(2){
  position:sticky;
  left:48px;
  width:240px;
  min-width:240px;
  max-width:240px;
  z-index:8;
  background:#fff;
  background-clip:padding-box;
  box-shadow:2px 0 0 #dbe3ef,8px 0 12px rgba(20,45,80,.04);
}
.tuition-ledger-table thead th:first-child,
.tuition-ledger-table thead th:nth-child(2){
  z-index:12;
  background:#f8fafc;
}
.tuition-ledger-table tbody td:first-child,
.tuition-ledger-table tbody td:nth-child(2){
  background:#fff;
}
.tuition-ledger-table tbody .tuition-row-ach td:first-child,
.tuition-ledger-table tbody .tuition-row-ach td:nth-child(2){background:#f0fdf4}
.tuition-ledger-table tbody .tuition-row-tefa td:first-child,
.tuition-ledger-table tbody .tuition-row-tefa td:nth-child(2){background:#eff6ff}
.tuition-ledger-table tbody .tuition-row-new-student td:first-child,
.tuition-ledger-table tbody .tuition-row-new-student td:nth-child(2){background:#fefce8}
.tuition-ledger-table tbody .tuition-row-special-notation td:first-child,
.tuition-ledger-table tbody .tuition-row-special-notation td:nth-child(2){background:#fff7ed}
.tuition-ledger-table tbody .tuition-row-dropped td:first-child,
.tuition-ledger-table tbody .tuition-row-dropped td:nth-child(2){background:#fef2f2}
.tuition-ledger-table tfoot th:first-child{
  left:auto;
  width:auto;
  min-width:0;
  max-width:none;
  z-index:2;
  background:#eef4ff;
}

/* MyNHHSA 4.0.7.4 — Tuition Log Cleanup */
.tuition-lower-grid.tuition-summary-only{display:block;margin-top:20px}
.tuition-lower-grid.tuition-summary-only .tuition-summary-card{width:100%;max-width:none;box-sizing:border-box}


/* MyNHHSA 4.0.8 — Account Password Security */
.account-security-button{border:1px solid #d8e0ea;background:#fff;color:#17365d;border-radius:9px;padding:8px 12px;font-weight:700;cursor:pointer;white-space:nowrap}
.account-security-button:hover,.account-security-button:focus-visible{border-color:#1d5f9a;box-shadow:0 3px 10px rgba(20,45,80,.10);outline:none}
.account-security-dialog{width:min(560px,calc(100vw - 32px));max-width:560px}
.account-security-status{min-height:22px;margin:4px 0 2px;color:#9b2c2c;font-weight:700}
.account-security-dialog::backdrop{background:rgba(12,31,53,.62);backdrop-filter:blur(2px)}
@media(max-width:760px){.mynhhsa-header-actions{gap:8px}.account-security-button{padding:7px 9px;font-size:12px}.account-security-dialog .dialog-grid{grid-template-columns:1fr}}


/* MyNHHSA 4.0.9 — Staff Profiles & Community */
.staff-directory-view{max-width:1500px}
.staff-directory-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 30px;margin-bottom:20px;border-radius:20px;background:linear-gradient(135deg,#fff,#f5f8fc);border:1px solid #dfe7f1}
.staff-directory-hero h2{margin:4px 0 8px;font-size:30px}
.staff-directory-hero p{margin:0;color:#5b6877}
.staff-directory-hero button,.staff-profile-back{white-space:nowrap}
.staff-directory-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.staff-directory-tools input{min-width:280px}
.staff-directory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:18px}
.staff-directory-card{appearance:none;text-align:left;background:#fff;border:1px solid #dde5ef;border-radius:18px;padding:20px;cursor:pointer;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;min-height:126px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.staff-directory-card:hover,.staff-directory-card:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,51,82,.10);border-color:#406f9f;outline:none}
.staff-directory-avatar,.staff-profile-photo{overflow:hidden;background:#eaf0f7;color:#244f7c;display:grid;place-items:center;font-weight:800}
.staff-directory-avatar{width:64px;height:64px;border-radius:50%;font-size:22px}
.staff-directory-avatar img,.staff-profile-photo img{width:100%;height:100%;object-fit:cover}
.staff-directory-card strong{display:block;color:#1d2c3c;font-size:16px}
.staff-directory-card span{display:block;margin-top:4px;color:#526271;font-size:13px}
.staff-directory-card small{display:block;margin-top:8px;color:#72808e}
.staff-directory-empty{text-align:center;padding:30px;color:#708090}
.staff-profile-shell{display:grid;gap:18px}
.staff-profile-back{justify-self:start}
.staff-profile-hero{display:flex;align-items:center;gap:24px;padding:28px}
.staff-profile-photo{width:112px;height:112px;border-radius:24px;font-size:38px;flex:0 0 auto}
.staff-profile-heading h2{margin:4px 0;font-size:32px}
.staff-profile-heading p{margin:0 0 8px;color:#526271;font-size:17px}
.staff-profile-heading strong{color:#244f7c;font-size:14px}
.staff-profile-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);gap:18px}
.staff-profile-longcopy{font-size:15px;line-height:1.7;color:#425263;white-space:pre-wrap}
.staff-profile-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}
.staff-profile-facts>div{padding:14px;background:#f7f9fc;border:1px solid #e4e9f0;border-radius:12px}
.staff-profile-facts small{display:block;color:#718091;margin-bottom:5px}
.staff-profile-facts strong{font-size:14px;white-space:pre-wrap}
.staff-profile-quote{margin:20px 0 0;padding:16px 20px;border-left:4px solid #335f8e;background:#f7f9fc;border-radius:0 12px 12px 0;color:#455568;font-style:italic}
.staff-greeting-form textarea{width:100%;min-height:82px;resize:vertical}
.staff-greeting-form>div{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.staff-greeting-form span{font-size:12px;color:#7a8794}
.staff-greeting-list{display:grid;gap:10px;margin-top:16px;max-height:430px;overflow:auto}
.staff-greeting{padding:13px 14px;border:1px solid #e1e7ef;border-radius:13px;background:#fff}
.staff-greeting-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.staff-greeting strong{color:#263a50}
.staff-greeting small{color:#81909d}
.staff-greeting p{margin:7px 0 0;white-space:pre-wrap;color:#485867;line-height:1.45}
.staff-greeting button{padding:4px 8px;font-size:11px;background:transparent;color:#8a4650;border:1px solid #e8cbd0}
.staff-profile-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.staff-profile-form label,.staff-employment-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#435363}
.staff-profile-form textarea{min-height:90px;resize:vertical}
.staff-form-wide{grid-column:1/-1}
.staff-form-actions{display:flex;justify-content:flex-end}
.staff-employment-form{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.staff-employment-form input{min-width:200px}
@media(max-width:900px){
  .staff-profile-grid{grid-template-columns:1fr}
  .staff-profile-facts{grid-template-columns:1fr}
}
@media(max-width:680px){
  .staff-directory-hero,.staff-profile-hero{align-items:flex-start;flex-direction:column}
  .staff-directory-tools{width:100%}.staff-directory-tools input{min-width:0;flex:1}
  .staff-profile-form{grid-template-columns:1fr}.staff-form-wide{grid-column:auto}
}


/* MyNHHSA 4.0.9.1 — Staff Card Readability */
.staff-directory-card,
.staff-directory-card:hover,
.staff-directory-card:focus,
.staff-directory-card:focus-visible,
.staff-directory-card:active{
  background:#fff !important;
  color:#1d2c3c !important;
}
.staff-directory-card strong{
  color:#1d2c3c !important;
}
.staff-directory-card span{
  color:#526271 !important;
}
.staff-directory-card small{
  color:#6f7e8d !important;
}
.staff-directory-card:hover,
.staff-directory-card:focus-visible{
  border-color:#406f9f !important;
  box-shadow:0 12px 28px rgba(27,51,82,.14);
}


/* MyNHHSA 4.0.9.2 — Password Reliability & Visibility */
.password-field{position:relative;display:flex;align-items:center;width:100%}
.password-field input{width:100%;padding-right:44px!important}
.password-visibility-toggle{
  position:absolute;right:7px;top:50%;transform:translateY(-50%);
  width:34px;height:34px;min-width:34px;padding:0;border:0!important;
  border-radius:8px;background:transparent!important;color:#536476!important;
  box-shadow:none!important;display:grid;place-items:center;cursor:pointer;
  font-size:16px;line-height:1
}
.password-visibility-toggle:hover,.password-visibility-toggle:focus-visible{
  background:#eef3f8!important;color:#244f7c!important;outline:2px solid transparent
}


/* MyNHHSA 4.0.9.3 — Password Eye Placement */
.password-field{position:relative!important;display:block!important;width:100%!important}
.password-field input{display:block!important;width:100%!important;padding-right:42px!important}
.password-field .password-visibility-toggle{
position:absolute!important;top:50%!important;right:6px!important;left:auto!important;bottom:auto!important;
transform:translateY(-50%)!important;width:30px!important;min-width:30px!important;max-width:30px!important;
height:30px!important;min-height:30px!important;padding:0!important;margin:0!important;border:0!important;
border-radius:6px!important;background:transparent!important;box-shadow:none!important;color:#536476!important;
display:flex!important;align-items:center!important;justify-content:center!important;font-size:15px!important;
line-height:1!important;cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important}
.password-field .password-visibility-toggle::after{content:none!important}
.password-field .password-visibility-toggle:hover,.password-field .password-visibility-toggle:focus-visible{
background:#eef3f8!important;color:#244f7c!important}


/* MyNHHSA 4.0.9.15 — Attendance Readability & History Wrapping */

/* Student names in Attendance use the standard MyNHHSA blue. */
.educator-attendance-roster a,
.educator-attendance-roster .student-name,
.educator-attendance-roster [data-student-name],
.educator-attendance-roster strong a,
.attendance-roster a,
.attendance-student-name,
.attendance-student-name a,
.attendance-name,
.attendance-name a{
  color:#244f7c !important;
  text-decoration-color:#244f7c !important;
}
.educator-attendance-roster a:hover,
.attendance-roster a:hover,
.attendance-student-name a:hover,
.attendance-name a:hover{
  color:#193e66 !important;
}

/* History containers may shrink, but their contents must wrap instead of overflow. */
.educator-attendance-history,
.attendance-history,
.attendance-history-panel,
.attendance-history-list,
.attendance-history-card,
.attendance-history-item,
.educator-attendance-history-card,
.educator-attendance-history-item{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

/* Allow grid/flex children to actually shrink. */
.educator-attendance-history *,
.attendance-history *,
.attendance-history-panel *,
.attendance-history-card *,
.attendance-history-item *{
  min-width:0;
  box-sizing:border-box;
}

/* Long names, dates, labels, notes, and status text stay inside their cards. */
.educator-attendance-history p,
.educator-attendance-history span,
.educator-attendance-history small,
.educator-attendance-history strong,
.educator-attendance-history div,
.attendance-history p,
.attendance-history span,
.attendance-history small,
.attendance-history strong,
.attendance-history div,
.attendance-history-card p,
.attendance-history-card span,
.attendance-history-card small,
.attendance-history-card strong,
.attendance-history-item p,
.attendance-history-item span,
.attendance-history-item small,
.attendance-history-item strong{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* History rows should wrap rather than force horizontal overflow. */
.educator-attendance-history-card,
.educator-attendance-history-item,
.attendance-history-card,
.attendance-history-item{
  display:flex;
  flex-wrap:wrap !important;
  gap:8px 12px;
  align-items:flex-start;
  overflow:hidden !important;
}

/* Tables inside history stay within the panel when present. */
.educator-attendance-history table,
.attendance-history table,
.attendance-history-panel table{
  width:100% !important;
  table-layout:fixed !important;
}
.educator-attendance-history th,
.educator-attendance-history td,
.attendance-history th,
.attendance-history td,
.attendance-history-panel th,
.attendance-history-panel td{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:break-word !important;
}

/* Small-screen safeguard. */
@media(max-width:900px){
  .educator-attendance-history,
  .attendance-history,
  .attendance-history-panel{
    overflow-x:hidden !important;
  }
}


/* MyNHHSA 4.0.9.16 — Exact Attendance Color & History Dialog Fix */

/* Exact student-name selector used by renderAttendanceRoster(). */
.educator-attendance-student strong{
  color:#0030a0 !important;
}

/* Match the initials circle to the MyNHHSA blue instead of the legacy green. */
.educator-attendance-avatar{
  background:#0030a0 !important;
}

/* History dialog does not contain .dialog-form, so it needs its own padding. */
#attendanceHistoryDialog.attendance-history-dialog{
  width:min(720px,calc(100vw - 30px)) !important;
  max-width:720px !important;
  padding:18px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}

/* Ensure the heading can shrink/wrap without pushing outside the dialog. */
#attendanceHistoryDialog .dialog-heading{
  width:100% !important;
  min-width:0 !important;
  align-items:flex-start !important;
}
#attendanceHistoryDialog .dialog-heading>div{
  min-width:0 !important;
  flex:1 1 auto !important;
}
#attendanceHistoryDialog .dialog-heading h3,
#attendanceHistoryDialog .dialog-heading small{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
#attendanceHistoryDialog .dialog-heading button{
  flex:0 0 auto !important;
}

/* Exact list generated by loadAttendanceHistory(). */
#attendanceHistoryList{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
#attendanceHistoryList article{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:11px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
#attendanceHistoryList article>div{
  width:100% !important;
  min-width:0 !important;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:7px 10px !important;
}
#attendanceHistoryList article strong,
#attendanceHistoryList article span,
#attendanceHistoryList article p,
#attendanceHistoryList article small{
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
#attendanceHistoryList article p,
#attendanceHistoryList article small{
  display:block !important;
  width:100% !important;
}

/* Keep the status pill compact rather than stretching it. */
#attendanceHistoryList article span{
  flex:0 0 auto !important;
  width:auto !important;
}

/* Use blue for History dates too, removing remaining legacy green emphasis. */
#attendanceHistoryList article strong{
  color:#0030a0 !important;
}

@media(max-width:650px){
  #attendanceHistoryDialog.attendance-history-dialog{
    width:calc(100vw - 20px) !important;
    padding:14px !important;
  }
  #attendanceHistoryDialog .dialog-heading{
    gap:8px !important;
  }
}


/* MyNHHSA 4.0.9.17 — Attendance Classroom Groups */
.educator-attendance-roster{
  gap:10px !important;
}

.attendance-classroom-group{
  min-width:0;
  overflow:hidden;
  border:1px solid #dfe5ed;
  border-radius:12px;
  background:#fff;
}

.attendance-classroom-heading{
  width:100%;
  min-height:58px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:11px 14px;
  border:0;
  border-radius:0;
  color:#17365d;
  background:#f7f9fc;
  text-align:left;
  cursor:pointer;
}

.attendance-classroom-group.open .attendance-classroom-heading{
  border-bottom:1px solid #dfe5ed;
  background:#eef3fb;
}

.attendance-classroom-heading>span:first-child{
  min-width:0;
}

.attendance-classroom-heading small,
.attendance-classroom-heading strong{
  display:block;
}

.attendance-classroom-heading small{
  margin-bottom:3px;
  color:#68788a;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}

.attendance-classroom-heading strong{
  color:#0030a0;
  font-size:15px;
}

.attendance-classroom-heading-meta{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.attendance-classroom-heading-meta b{
  padding:5px 8px;
  border-radius:999px;
  color:#17365d;
  background:#fff;
  font-size:8px;
  font-weight:900;
}

.attendance-classroom-heading-meta i{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:7px;
  color:#fff;
  background:#0030a0;
  font-size:16px;
  font-style:normal;
  font-weight:900;
}

.attendance-classroom-students{
  display:grid;
  gap:7px;
  padding:9px;
  background:#fbfcfe;
}

.attendance-classroom-students[hidden]{
  display:none !important;
}

@media(max-width:650px){
  .attendance-classroom-heading{
    align-items:flex-start;
  }
  .attendance-classroom-heading-meta{
    gap:6px;
  }
}


/* MyNHHSA 4.0.9.18 — Attendance Classroom Header Contrast */
.attendance-classroom-heading,
.attendance-classroom-heading:hover,
.attendance-classroom-group.open .attendance-classroom-heading{
  color:#fff !important;
  background:#3152ad !important;
}

.attendance-classroom-heading small,
.attendance-classroom-heading strong{
  color:#fff !important;
}

.attendance-classroom-heading small{
  opacity:.78;
}

.attendance-classroom-heading-meta b{
  color:#17365d !important;
  background:#fff !important;
}

.attendance-classroom-heading-meta i{
  color:#fff !important;
  background:#173f9b !important;
}


/* MyNHHSA 4.0.9.19 — Franchise Campus Roster Grouping */
.franchise-roster-group{
  min-width:0;
  overflow:hidden;
  margin-bottom:10px;
  border:1px solid #dfe5ed;
  border-radius:12px;
  background:#fff;
}
.franchise-roster-heading{
  width:100%;
  min-height:58px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:11px 14px;
  border:0;
  border-radius:0;
  color:#fff !important;
  background:#3152ad !important;
  text-align:left;
  cursor:pointer;
}
.franchise-roster-heading small,
.franchise-roster-heading strong{
  display:block;
  color:#fff !important;
}
.franchise-roster-heading small{
  margin-bottom:3px;
  opacity:.78;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}
.franchise-roster-heading strong{
  font-size:15px;
}
.franchise-roster-heading-meta{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}
.franchise-roster-heading-meta b{
  padding:5px 8px;
  border-radius:999px;
  color:#17365d !important;
  background:#fff !important;
  font-size:8px;
  font-weight:900;
}
.franchise-roster-heading-meta i{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:7px;
  color:#fff !important;
  background:#173f9b !important;
  font-size:16px;
  font-style:normal;
  font-weight:900;
}
.franchise-roster-table-wrap{
  width:100%;
  overflow-x:auto;
  background:#fff;
}
.franchise-roster-table-wrap[hidden]{
  display:none !important;
}
.franchise-roster-table{
  width:100%;
  border-collapse:collapse;
}
.franchise-roster-table th,
.franchise-roster-table td{
  padding:10px 12px;
  border-bottom:1px solid #edf1f5;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}
.franchise-roster-table th{
  color:#68788a;
  background:#f7f9fc;
  font-size:8px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
}
.franchise-roster-table td{
  color:#33475b;
  font-size:9px;
}
.franchise-roster-table tbody tr:last-child td{
  border-bottom:0;
}
@media(max-width:700px){
  .franchise-roster-heading{
    align-items:flex-start;
  }
}


/* MyNHHSA 4.0.9.21 — Franchise Roster Toggle Fix & Attendance Groups */
.franchise-grouped-host{
  width:100%;
  min-width:0;
}

/* Recent attendance uses compact, collapsible date groups. */
.franchise-attendance-group{
  min-width:0;
  overflow:hidden;
  margin-bottom:10px;
  border:1px solid #dfe5ed;
  border-radius:12px;
  background:#fff;
}

.franchise-attendance-heading{
  width:100%;
  min-height:58px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:11px 14px;
  border:0;
  border-radius:0;
  color:#fff !important;
  background:#3152ad !important;
  text-align:left;
  cursor:pointer;
}

.franchise-attendance-heading small,
.franchise-attendance-heading strong{
  display:block;
  color:#fff !important;
}

.franchise-attendance-heading small{
  margin-bottom:3px;
  opacity:.78;
  font-size:8px;
  font-weight:900;
  letter-spacing:1px;
}

.franchise-attendance-heading strong{
  font-size:15px;
}

.franchise-attendance-heading-meta{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
}

.franchise-attendance-heading-meta b{
  padding:5px 8px;
  border-radius:999px;
  color:#17365d !important;
  background:#fff !important;
  font-size:8px;
  font-weight:900;
}

.franchise-attendance-heading-meta i{
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:7px;
  color:#fff !important;
  background:#173f9b !important;
  font-size:16px;
  font-style:normal;
  font-weight:900;
}

.franchise-attendance-table-wrap{
  width:100%;
  overflow-x:auto;
  background:#fff;
}

.franchise-attendance-table-wrap[hidden]{
  display:none !important;
}

.franchise-attendance-table{
  width:100%;
  border-collapse:collapse;
}

.franchise-attendance-table th,
.franchise-attendance-table td{
  padding:10px 12px;
  border-bottom:1px solid #edf1f5;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
}

.franchise-attendance-table th{
  color:#68788a;
  background:#f7f9fc;
  font-size:8px;
  font-weight:900;
  letter-spacing:.6px;
  text-transform:uppercase;
}

.franchise-attendance-table td{
  color:#33475b;
  font-size:9px;
}

.franchise-attendance-table tbody tr:last-child td{
  border-bottom:0;
}

@media(max-width:700px){
  .franchise-attendance-heading{
    align-items:flex-start;
  }
}


/* MyNHHSA 4.0.9.23 — Tuition payment term legend */
.tuition-legend-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 11px;
  margin-left:6px;
  border:1px solid transparent;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.tuition-legend-semester{
  color:#6a3a00;
  background:#fff0d8;
  border-color:#efc77e;
}
.tuition-legend-yearly{
  color:#4b2a73;
  background:#eee3fb;
  border-color:#cbb0eb;
}


/* MyNHHSA 4.0.9.24 — Franchise submenu alignment */
#appSidebar .franchise-campus-link,
.sidebar .franchise-campus-link,
.nav-sidebar .franchise-campus-link,
[data-franchise-campus]{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  color:rgba(255,255,255,.88) !important;
  border-radius:8px !important;
}
#appSidebar .franchise-campus-link:hover,
.sidebar .franchise-campus-link:hover,
.nav-sidebar .franchise-campus-link:hover,
[data-franchise-campus]:hover{
  background:rgba(255,255,255,.09) !important;
  color:#fff !important;
}
#appSidebar .franchise-campus-link.active,
.sidebar .franchise-campus-link.active,
.nav-sidebar .franchise-campus-link.active,
[data-franchise-campus].active{
  background:rgba(255,255,255,.13) !important;
  color:#fff !important;
}

/* MyNHHSA 4.0.9.25 — semester/yearly tuition colors */
.tuition-legend-semester{color:#075985!important;background:#e0f2fe!important;border-color:#7dd3fc!important}
.tuition-legend-yearly{color:#5b21b6!important;background:#f3e8ff!important;border-color:#c4b5fd!important}
.tuition-ledger-table tbody .tuition-row-semester-tuition td{background:#e0f2fe!important}
.tuition-ledger-table tbody .tuition-row-yearly-tuition td{background:#f3e8ff!important}

.qc-request-hero{display:flex;justify-content:space-between;align-items:center}.qc-request-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.qc-request-stats article,.qc-request-card{background:#fff;border:1px solid #dbe3f0;border-radius:16px;padding:18px}.qc-request-stats strong{display:block;font-size:28px;color:#233e9f}.qc-request-grid{display:grid;gap:14px}.qc-response{background:#f4f7ff;padding:10px;margin:10px 0;border-radius:10px}.qc-actions{display:grid;grid-template-columns:150px 1fr 1fr auto;gap:8px;margin-top:12px}@media(max-width:900px){.qc-request-stats{grid-template-columns:repeat(2,1fr)}.qc-actions{grid-template-columns:1fr}}

/* MyNHHSA 4.0.10.7 */
#checksheetRequestStudentSearch{width:100%}#checksheetRequestDialog .field-help{display:block;margin-top:5px;color:#6b7280;font-size:11px}

/* MyNHHSA 4.0.10.11 — Checksheet Requests UI Polish */
.checksheet-requests-view .panel-head{
  align-items:center;
  gap:16px;
}
.checksheet-requests-view .panel-head h3{
  margin:0;
}
.checksheet-requests-view #newChecksheetRequest,
.checksheet-requests-view #refreshChecksheetRequests{
  border-radius:10px;
  font-weight:700;
}
.checksheet-request-form{
  gap:18px;
}
.checksheet-dialog-heading{
  align-items:flex-start;
  gap:18px;
  padding-bottom:14px;
  border-bottom:1px solid #e5e7eb;
}
.checksheet-dialog-heading small,
.qc-eyebrow,
.qc-actions-heading small,
.qc-request-body>small,
.qc-response>small{
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.checksheet-dialog-heading h3{
  margin:3px 0 4px;
  font-size:24px;
}
.checksheet-dialog-heading p{
  margin:0;
  max-width:540px;
  color:#6b7280;
}
.dialog-close-button{
  min-width:auto;
  padding:8px 12px;
}
.checksheet-request-form label{
  font-weight:700;
}
.checksheet-request-form input,
.checksheet-request-form select,
.checksheet-request-form textarea{
  margin-top:7px;
  border-radius:10px;
}
.checksheet-dialog-actions{
  padding-top:4px;
  border-top:1px solid #eef2f7;
}
.primary-action-button{
  width:100%;
  min-height:46px;
  border-radius:10px;
  font-weight:800;
}
.qc-request-grid{
  display:grid;
  gap:16px;
}
.qc-request-card{
  padding:20px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 14px rgba(15,23,42,.06);
}
.qc-card-topline{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  margin-bottom:16px;
}
.qc-card-topline h3{
  margin:3px 0 0;
  font-size:20px;
}
.qc-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:92px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  border:1px solid currentColor;
  background:#f8fafc;
}
.qc-status-new{color:#1d4ed8;background:#eff6ff}
.qc-status-in-progress{color:#92400e;background:#fffbeb}
.qc-status-ready{color:#166534;background:#f0fdf4}
.qc-status-completed{color:#475569;background:#f8fafc}
.qc-meta-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-bottom:16px;
}
.qc-meta-grid>div{
  padding:10px 12px;
  border-radius:10px;
  background:#f8fafc;
}
.qc-meta-grid small{
  display:block;
  color:#64748b;
  margin-bottom:3px;
}
.qc-meta-grid strong{
  display:block;
}
.qc-priority-first-checksheet{color:#7c3aed}
.qc-priority-high{color:#b45309}
.qc-priority-urgent{color:#b91c1c}
.qc-request-body{
  padding:14px 15px;
  border-radius:10px;
  background:#f8fafc;
}
.qc-request-body p,
.qc-response p{
  margin:6px 0 0;
  line-height:1.5;
}
.qc-response{
  margin-top:12px;
  padding:14px 15px;
  border-radius:10px;
  background:#f0fdf4;
  border:1px solid #dcfce7;
}
.qc-download-button{
  margin-top:12px;
  border-radius:9px;
}
.qc-actions{
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid #e5e7eb;
}
.qc-actions-grid{
  display:grid;
  grid-template-columns:160px minmax(220px,1fr) minmax(220px,1fr) auto;
  gap:10px;
  align-items:end;
}
.qc-actions-grid label{
  font-size:12px;
  font-weight:700;
}
.qc-actions-grid input,
.qc-actions-grid select{
  width:100%;
  margin-top:6px;
  border-radius:9px;
}
.qc-save-button{
  min-height:40px;
  border-radius:9px;
  font-weight:800;
}
@media (max-width:900px){
  .qc-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .qc-actions-grid{grid-template-columns:1fr}
}

/* MyNHHSA 4.0.10.13 — Checksheet workflow refinement */
.qc-request-stats{grid-template-columns:repeat(3,1fr)}
.qc-request-stats article:nth-child(1){background:#eff6ff;border-left:6px solid #2563eb}
.qc-request-stats article:nth-child(2){background:#fffbeb;border-left:6px solid #d97706}
.qc-request-stats article:nth-child(3){background:#f0fdf4;border-left:6px solid #16a34a}
.qc-request-card.qc-request-card-new{background:#eff6ff;border-color:#bfdbfe}
.qc-request-card.qc-request-card-in-progress{background:#fffbeb;border-color:#fde68a}
.qc-request-card.qc-request-card-completed{background:#f0fdf4;border-color:#bbf7d0}
.qc-request-card .qc-meta-grid>div,.qc-request-card .qc-request-body{background:rgba(255,255,255,.72)}
.qc-card-controls,.qc-queue-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.qc-collapse-button,.qc-archive-button{border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800}
.qc-collapsed .qc-card-expandable{display:none}
.qc-collapsed{padding-bottom:14px}
.qc-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.qc-queue-tools button.active{box-shadow:inset 0 0 0 2px currentColor;font-weight:850}
.qc-archive-button{background:#fff;color:#475569;border:1px solid #94a3b8}
@media(max-width:900px){.qc-request-stats{grid-template-columns:1fr}.qc-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qc-queue-tools{flex-wrap:wrap}}

/* MyNHHSA 4.0.10.21 — Archive action refinement */
.qc-archive-button{
  min-height:40px;
  padding:8px 14px;
  border-radius:9px;
  font-weight:800;
}
.qc-priority-panel{margin-bottom:18px;padding:0;overflow:hidden}.qc-priority-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;border-bottom:1px solid #e5e9ec}.qc-priority-heading h3{margin:2px 0}.qc-priority-heading p{margin:0;color:#6f7982;font-size:13px}.qc-priority-count{font-size:12px;font-weight:800;background:#eef3f7;padding:6px 10px;border-radius:999px}.qc-priority-row{display:flex;align-items:center;gap:12px;width:100%;border:0;border-bottom:1px solid #edf0f2;background:#fff;padding:10px 16px;text-align:left;cursor:pointer}.qc-priority-row:hover{background:#f7f9fb}.qc-priority-order{width:25px;height:25px;border:1px solid #aeb8c0;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}.qc-priority-main{display:flex;gap:10px;align-items:baseline;flex:1;min-width:0}.qc-priority-main strong,.qc-priority-main span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qc-priority-main span{font-size:12px;color:#737e87}.qc-priority-tag{font-size:10px;font-weight:900;padding:5px 8px;border-radius:999px}.qc-priority-tag.urgent{background:#fbe9e9;color:#a72d2d}.qc-priority-tag.first{background:#fff2d9;color:#8b5b00}.qc-priority-empty{padding:16px;color:#78838c}.qc-request-highlight{outline:3px solid rgba(48,112,173,.28);outline-offset:3px}@media(max-width:720px){.qc-priority-main{display:block}.qc-priority-main span{display:block;margin-top:3px}.qc-priority-tag{display:none}}
/* MyNHHSA 4.0.10.24 — Priority Queue uses existing MyNHHSA priority colors */
.qc-priority-row{
  color:#24364f;
  background:#f7f9fc;
  border-left:4px solid #9aa8ba;
  border-bottom:1px solid #e4e9ef;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.qc-priority-row:hover{
  background:#f1f5fa;
  transform:translateX(1px);
}
.qc-priority-row.is-urgent{
  background:#fff0f0;
  border-left-color:#d9534f;
}
.qc-priority-row.is-urgent:hover{background:#ffe8e8}
.qc-priority-row.is-first{
  background:#fff8e8;
  border-left-color:#d58a24;
}
.qc-priority-row.is-first:hover{background:#fff3d7}
.qc-priority-row.is-normal{
  background:#f3f7fd;
  border-left-color:#5273c8;
}
.qc-priority-row.is-normal:hover{background:#eaf1fc}
.qc-priority-row .qc-priority-main strong{color:#263b5d}
.qc-priority-row .qc-priority-main span{color:#68788d}
.qc-priority-row.is-urgent .qc-priority-order{
  background:#fff;
  border-color:#d9534f;
  color:#b43b38;
}
.qc-priority-row.is-first .qc-priority-order{
  background:#fff;
  border-color:#d58a24;
  color:#9b6316;
}
.qc-priority-row.is-normal .qc-priority-order{
  background:#fff;
  border-color:#5273c8;
  color:#3559b1;
}
.qc-priority-tag.urgent{
  background:#f6d9d8;
  color:#a8322f;
  border:1px solid #edc0be;
}
.qc-priority-tag.first{
  background:#f9e8bd;
  color:#875611;
  border:1px solid #efd59a;
}

/* MyNHHSA 4.0.10.25 — force Priority Queue palette over global .panel button rule */
#checksheetRequestsView .qc-priority-panel button.qc-priority-row.is-normal{
  background:#eef4ff !important;
  background-image:none !important;
  color:#24364f !important;
  border-left:4px solid #5273c8 !important;
}
#checksheetRequestsView .qc-priority-panel button.qc-priority-row.is-normal:hover{background:#e5edfb !important}
#checksheetRequestsView .qc-priority-panel button.qc-priority-row.is-first{
  background:#fff8e8 !important;
  background-image:none !important;
  color:#24364f !important;
  border-left:4px solid #d58a24 !important;
}
#checksheetRequestsView .qc-priority-panel button.qc-priority-row.is-first:hover{background:#fff3d7 !important}
#checksheetRequestsView .qc-priority-panel button.qc-priority-row.is-urgent{
  background:#fff0f0 !important;
  background-image:none !important;
  color:#24364f !important;
  border-left:4px solid #d9534f !important;
}
#checksheetRequestsView .qc-priority-panel button.qc-priority-row.is-urgent:hover{background:#ffe8e8 !important}
#checksheetRequestsView .qc-priority-panel .qc-priority-row .qc-priority-main strong{color:#263b5d !important}
#checksheetRequestsView .qc-priority-panel .qc-priority-row .qc-priority-main span{color:#68788d !important}
