:root{--navy:#041d49;--dark:#082b68;--blue:#1260ee;--ink:#17253c;--muted:#64738b;--paper:#f3f7ff;--line:#d8e3f4;--green:#167b55;--amber:#a6630d;--red:#9d2435;--shell:min(1160px,calc(100% - 36px))}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:400 1rem/1.55 "DM Sans",sans-serif}button,input,textarea,select{font:inherit}h1,h2,h3{margin-top:0;color:var(--navy);font-family:"Manrope",sans-serif;line-height:1.08}.shell{width:var(--shell);margin:auto}.brand{display:flex;align-items:center;gap:.75rem;color:#fff;text-decoration:none}.brand img{width:56px;height:56px;object-fit:contain}.brand span{display:grid}.brand strong{font:800 1.3rem "Manrope",sans-serif}.brand small{font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.brand.dark{color:var(--navy)}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.hero{display:flex;flex-direction:column;justify-content:space-between;padding:clamp(2rem,6vw,5rem);color:#dce8ff;background:linear-gradient(145deg,#041d49f3,#0b4bacdc),url("../../assets/hero-school-v2.png") center/cover}.hero h1{max-width:760px;margin-bottom:1rem;color:#fff;font-size:clamp(3rem,6vw,6rem)}.hero p:not(.eyebrow){max-width:650px;font-size:1.15rem}.login-pane{display:grid;place-items:center;padding:2rem}.login-card{width:min(450px,100%);padding:clamp(1.8rem,5vw,3rem);background:#fff;border:1px solid var(--line);border-radius:1.7rem;box-shadow:0 28px 85px #041d4926}.login-card h2{font-size:2.5rem}.login-card label,.grid label,.documents label{display:grid;gap:.4rem;color:var(--navy);font-size:.83rem;font-weight:800}.login-card label{margin:1rem 0}.login-card input,.grid input,.grid textarea,.grid select,.documents input{width:100%;min-height:49px;padding:.75rem .85rem;color:var(--ink);background:#fbfcff;border:1px solid var(--line);border-radius:.75rem;outline:0}.login-card input:focus,.grid input:focus,.grid textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1260ee1c}.primary{min-height:52px;padding:0 1.2rem;color:#fff;background:var(--dark);border:0;border-radius:.8rem;font-weight:800;cursor:pointer}.login-card .primary{width:100%}.back{display:block;margin-top:1rem;color:var(--blue);font-weight:700;text-align:center;text-decoration:none}.muted{color:var(--muted)}.eyebrow{margin:0 0 .65rem;color:var(--blue);font-size:.73rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.eyebrow.light{color:#a9c7ff}.error{padding:.8rem;color:var(--red);background:#fff0f2;border-radius:.7rem}header{position:sticky;z-index:20;top:0;background:#fffffff3;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.topbar>div{display:flex;align-items:center;gap:1rem}.quiet,.secondary{padding:.65rem .85rem;color:var(--dark);background:#eaf1fd;border:0;border-radius:.7rem;font-weight:800}.workspace{padding:2rem 0 5rem}.welcome{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(1.6rem,4vw,3rem);color:#dbe7fb;background:linear-gradient(120deg,var(--navy),#0c4cac);border-radius:1.5rem}.welcome h1{margin-bottom:.55rem;color:#fff;font-size:clamp(2rem,5vw,4rem)}.welcome p:last-child{max-width:760px;margin:0}.status{padding:.6rem .9rem;color:#fff;background:#ffffff1c;border:1px solid #ffffff2b;border-radius:99px;font-weight:800;white-space:nowrap}.tabs{display:flex;gap:.4rem;margin:1.5rem 0 1rem;padding:.4rem;overflow:auto;background:#e5edf9;border-radius:.9rem}.tabs button{padding:.7rem 1rem;color:var(--muted);background:transparent;border:0;border-radius:.65rem;font-weight:800;white-space:nowrap}.tabs button.active{color:var(--navy);background:#fff}.card{margin-bottom:1rem;padding:clamp(1.2rem,3vw,2rem);background:#fff;border:1px solid var(--line);border-radius:1.2rem}.card h2{margin-bottom:1.2rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.span-2{grid-column:span 2}.grid input[readonly]{color:#66758c;background:#eef3fa}.documents{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.documents label{padding:1rem;background:var(--paper);border:1px solid var(--line);border-radius:.9rem}.documents small{color:var(--muted);font-weight:500}.documents input{min-height:auto;padding:.5rem;background:#fff}.uploaded{display:grid;gap:.5rem;margin-top:1rem}.uploaded span{padding:.7rem .9rem;color:var(--green);background:#ebf8f2;border-radius:.7rem;font-weight:700}.consent label{display:flex;gap:.8rem;align-items:flex-start}.consent input{width:20px;height:20px;flex:none}.savebar{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:1rem}.savebar p{margin:0;color:var(--green);font-weight:700}.compact{width:auto}.timeline{display:grid;gap:.3rem}.timeline article{position:relative;padding:1rem 1rem 1rem 3.2rem;background:var(--paper);border-radius:.8rem}.timeline article:before{content:"";position:absolute;left:1.2rem;top:1.1rem;width:14px;height:14px;background:#bdc9dc;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #bdc9dc}.timeline article.done:before{background:var(--green);box-shadow:0 0 0 1px var(--green)}.timeline h3{margin:0 0 .25rem;font-size:1rem}.timeline p{margin:0;color:var(--muted);font-size:.86rem}.notice{padding:1rem;color:#80510f;background:#fff5df;border:1px solid #f0d39e;border-radius:.8rem}.section-head{display:flex;align-items:center;justify-content:space-between}.case-list{display:grid;gap:.8rem}.case-list article{display:grid;grid-template-columns:1fr auto;gap:1rem;padding:1rem;background:var(--paper);border-radius:.9rem}.case-list h3,.case-list p{margin:0}.case-list small{color:var(--muted)}.case-list select{padding:.6rem;border:1px solid var(--line);border-radius:.6rem}@media(max-width:850px){.login-layout{grid-template-columns:1fr}.hero{min-height:42vh}.hero h1{font-size:3rem}.login-pane{margin-top:-2rem}.grid{grid-template-columns:1fr 1fr}.documents{grid-template-columns:1fr}}@media(max-width:580px){.grid{grid-template-columns:1fr}.span-2{grid-column:auto}.welcome,.savebar,.section-head{align-items:stretch;flex-direction:column}.topbar #user-name{display:none}.compact{width:100%}.case-list article{grid-template-columns:1fr}}
