:root{color:#172b3f;background:#f4f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button{font:inherit}.app-shell{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);min-height:100vh}.brand-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,8vw,8rem);color:#fff;background:linear-gradient(145deg,#123b62,#0a2743)}.brand-logo{display:block;width:min(100%,34rem);height:auto;max-height:9rem;margin:0 auto 2rem;object-fit:contain;object-position:center;border-radius:0}.brand-mark{display:grid;width:58px;height:58px;place-items:center;margin-bottom:2rem;border-radius:16px;color:#123b62;background:#fff;font-weight:800;letter-spacing:-.08em}.eyebrow{margin:0 0 .75rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;opacity:.72}h1,h2{margin:0;letter-spacing:-.04em}h1{font-size:clamp(3rem,7vw,6.5rem);line-height:.95}h2{font-size:clamp(1.7rem,4vw,2.5rem)}.brand-description{width:min(100%,34rem);max-width:34rem;margin:0 auto;text-align:center;font-size:1.15rem;line-height:1.6;color:#d9e7f2}.access-panel{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,6rem);background:#fff}.access-panel .eyebrow{color:#1d638c;opacity:1}.muted{max-width:28rem;color:#637282;line-height:1.6}.primary-button{margin-top:1.25rem;padding:.9rem 1.4rem;border:0;border-radius:10px;color:#fff;background:#1d638c;cursor:pointer;font-weight:700}.primary-button:hover{background:#124e75}.secondary-button{padding:.65rem 1rem;border:1px solid #cbd9e4;border-radius:10px;color:#21445d;background:#fff;cursor:pointer;font-weight:600}.signed-in-card{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.setup-note{margin-top:1.5rem;padding:.9rem 1rem;border:1px solid #d8e6ef;border-radius:10px;color:#1d638c;background:#f1f8fc}.master-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh;background:#f5f8fb}.master-sidebar{display:flex;flex-direction:column;padding:1.5rem 1rem;color:#fff;background:#123b62}.sidebar-brand{display:flex;align-items:center;gap:.75rem;padding:.35rem .65rem 2rem}.sidebar-brand img{width:42px;height:42px;border-radius:11px;object-fit:cover}.sidebar-brand strong,.sidebar-brand span{display:block}.sidebar-brand strong{font-size:1rem}.sidebar-brand span{margin-top:.15rem;color:#b9d0e2;font-size:.75rem}.master-nav{display:grid;gap:.35rem}.nav-item{padding:.8rem .75rem;border:0;border-radius:9px;color:#d5e5f0;background:transparent;text-align:left;cursor:pointer;font-weight:600}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff21}.sidebar-footer{display:grid;gap:.8rem;margin-top:auto;padding:1rem .65rem 0;border-top:1px solid rgba(255,255,255,.14);color:#b9d0e2;font-size:.78rem}.sidebar-logout{width:100%;padding:.65rem 0;border:1px solid rgba(255,255,255,.24);border-radius:8px;color:#fff;background:transparent;cursor:pointer}.master-content{width:min(100%,1180px);margin:0 auto;padding:clamp(1.5rem,4vw,3.5rem)}.master-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.master-header h1{color:#172b3f;font-size:clamp(2rem,4vw,3.2rem)}.master-subtitle{margin:.65rem 0 0;color:#637282}.master-header .eyebrow{margin-bottom:.55rem;color:#1d638c;opacity:1}.organization-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;padding:1rem 1.2rem;border:1px solid #dbe6ee;border-radius:14px;background:#fff}.organization-banner .label,.organization-banner strong{display:block}.organization-banner .label{margin-bottom:.25rem;color:#778797;font-size:.78rem}.organization-banner strong{color:#173b5b}.test-badge{padding:.35rem .55rem;border-radius:999px;color:#14624e;background:#dff4ec;font-size:.7rem;font-weight:800;letter-spacing:.08em}.master-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.summary-card{display:grid;gap:.45rem;padding:1.25rem;border:1px solid #dbe6ee;border-radius:14px;background:#fff}.summary-card-button{width:100%;color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.summary-card-button:hover,.summary-card-button:focus-visible{border-color:#7ea8c1;outline:none;transform:translateY(-2px);box-shadow:0 8px 22px #123b6214}.summary-label{color:#637282;font-size:.85rem}.summary-card strong{color:#173b5b;font-size:2.25rem;letter-spacing:-.05em}.summary-note{color:#8a99a6;font-size:.8rem}.master-empty-state{display:grid;justify-items:center;margin-top:1rem;padding:clamp(2rem,7vw,5rem) 1.5rem;border:1px dashed #b9cedc;border-radius:16px;background:#fff;text-align:center}.master-empty-state .eyebrow{margin-top:1.25rem;margin-bottom:.5rem;color:#1d638c;opacity:1}.master-empty-state h2{color:#173b5b}.master-empty-state .muted{margin:.8rem 0 0}.master-empty-state .primary-button{margin-top:1.4rem}.empty-icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;color:#fff;background:#1d638c;font-size:1.75rem;font-weight:300}.school-list-card{margin-top:1rem;padding:1.35rem;border:1px solid #dbe6ee;border-radius:16px;background:#fff}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.section-heading h2{color:#173b5b;font-size:1.45rem}.section-heading .eyebrow{margin:0 0 .35rem;color:#1d638c;opacity:1}.section-heading>span{color:#7b8b99;font-size:.82rem}.school-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0 0;margin-top:1rem;border-top:1px solid #edf2f5}.school-row strong,.school-row span{display:block}.school-row strong{color:#173b5b}.school-row div span{margin-top:.25rem;color:#7b8b99;font-size:.82rem}.access-matrix{margin-top:1.25rem;border:1px solid #dbe6ee;border-radius:12px;overflow:hidden}.access-row{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.6fr);gap:1rem;padding:1rem;border-top:1px solid #edf2f5}.access-row:first-child{border-top:0}.access-row strong,.access-row span{display:block}.access-row strong{color:#173b5b}.access-row span{margin-top:.25rem;color:#7b8b99;font-size:.78rem}.access-row p{margin:0;color:#637282;line-height:1.5;font-size:.9rem}.active-status{padding:.35rem .55rem;border-radius:999px;color:#14624e;background:#dff4ec;font-size:.72rem;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#0a274394}.school-modal{width:min(100%,480px);padding:1.5rem;border-radius:16px;background:#fff;box-shadow:0 20px 70px #081c3040}.modal-close{border:0;color:#637282;background:transparent;cursor:pointer;font-size:1.8rem;line-height:1}.school-modal label{display:grid;gap:.35rem;margin-top:1rem;color:#304b62;font-size:.85rem;font-weight:700}.school-modal label span{color:#8a99a6;font-weight:400}.school-modal input{width:100%;padding:.75rem .8rem;border:1px solid #cbd9e4;border-radius:8px;color:#172b3f;background:#fff;font:inherit}.school-modal input:focus{outline:2px solid rgba(29,99,140,.25);border-color:#1d638c}.form-error{margin:1rem 0 0;color:#b53636;font-size:.85rem}.success-message{margin:1rem 0 0;color:#14624e;font-size:.85rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.modal-actions .primary-button{margin-top:0}.primary-button:disabled{opacity:.65;cursor:wait}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.brand-panel{min-height:42vh;padding:3rem 2rem}.access-panel{min-height:58vh;padding:3rem 2rem}.brand-logo{width:min(100%,24rem);max-height:7rem}.master-shell{grid-template-columns:1fr}.master-sidebar{min-height:auto;padding:1rem}.sidebar-brand{padding-bottom:1rem}.master-nav{grid-template-columns:repeat(2,1fr)}.sidebar-footer{grid-template-columns:1fr auto;align-items:center;margin-top:1rem;padding-top:.8rem}.sidebar-logout{padding:.5rem .8rem}.master-content{padding:1.25rem}.master-grid{grid-template-columns:1fr}.access-row{grid-template-columns:1fr;gap:.45rem}}
