:root{--blue:#1260ee;--dark:#082b68;--navy:#041d49;--red:#ef233c;--ink:#14243f;--muted:#65738b;--paper:#f3f7ff;--line:#dce5f5;--green:#18875b;--amber:#b96e16;--shadow:0 28px 90px #041d492e;--shell:min(1180px,calc(100% - 40px))}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font:400 1rem/1.6 "DM Sans",sans-serif}button,input{font:inherit}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand strong{font-family:"Manrope",sans-serif}h1,h2,h3{color:var(--navy);line-height:1.08;letter-spacing:-.035em}.shell{width:var(--shell);margin:auto}.eyebrow{margin-bottom:.7rem;color:var(--blue);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none}.brand img{width:58px;height:58px;object-fit:contain;padding:3px;background:#fff;border-radius:15px}.brand span{display:grid;line-height:1.05}.brand strong{font-size:1.35rem}.brand small{margin-top:.3rem;font-size:.67rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.login-view{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(420px,.85fr)}.login-backdrop{min-height:100dvh;color:#fff;background:linear-gradient(145deg,#041d49f2,#082b68e3),url("../../assets/hero-school-v2.png") center/cover}.backdrop-content{width:min(760px,calc(100% - 56px));min-height:100%;display:flex;flex-direction:column;margin:auto;padding:2.2rem 0}.login-backdrop .brand strong{color:#fff}.login-backdrop .brand small{color:#c6d9ff}.backdrop-copy{margin:auto 0}.backdrop-copy .eyebrow{color:#9fc1ff}.backdrop-copy h1{max-width:680px;color:#fff;font-size:clamp(3.4rem,6vw,6.3rem)}.backdrop-copy>p:not(.eyebrow){max-width:620px;color:#d9e5fb;font-size:1.2rem}.pills{display:flex;flex-wrap:wrap;gap:.6rem}.pills span{padding:.5rem .75rem;background:#ffffff1c;border:1px solid #ffffff2b;border-radius:99px;font-size:.82rem;font-weight:700}.motto{margin:0;color:#bcd0f4;font-size:.85rem}.login-overlay{display:grid;place-items:center;min-height:100dvh;padding:clamp(2rem,6vw,6rem);background:#f7f9fe}.login-card{width:min(460px,100%);padding:clamp(2rem,4vw,3.1rem);background:#fff;border:1px solid var(--line);border-radius:2rem;box-shadow:var(--shadow)}.mobile-brand{display:none}.login-card h2{margin-bottom:.8rem;font-size:clamp(2.2rem,4vw,3.1rem)}.muted{color:var(--muted)}.login-card>label{display:grid;gap:.45rem;margin:1.1rem 0;color:var(--navy);font-size:.88rem;font-weight:700}.login-card input{width:100%;min-height:54px;padding:.85rem 1rem;background:#fbfcff;border:1px solid var(--line);border-radius:.8rem;outline:0}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 4px #1260ee1f}.password-field{position:relative}.password-field input{padding-right:5rem}.password-field button{position:absolute;right:.5rem;top:50%;padding:.45rem;border:0;color:var(--dark);background:transparent;transform:translateY(-50%);font-size:.78rem;font-weight:800}.primary{width:100%;min-height:56px;color:#fff;background:var(--dark);border:0;border-radius:.85rem;font-weight:800;cursor:pointer}.primary:disabled{opacity:.65}.error,.notice{padding:.8rem 1rem;border-radius:.75rem}.error{color:#9d2435;background:#fff0f2}.help,.home{display:block;color:var(--muted);font-size:.84rem;text-align:center}.help{margin:1.2rem 0 .7rem}.help a{color:var(--dark);font-weight:800}.home{color:var(--blue);font-weight:700;text-decoration:none}.loading{position:fixed;z-index:99;inset:0;display:grid;place-content:center;place-items:center;gap:1rem;background:#f5f8ff}.loading[hidden]{display:none}.loading img{width:120px}.dashboard header{position:sticky;z-index:10;top:0;background:#fffffff0;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.topbar .brand img{width:52px;height:52px}.topbar .brand small{color:var(--muted)}.topbar nav{display:flex;gap:.7rem}.topbar nav a,.topbar nav button{padding:.65rem .85rem;color:var(--dark);background:#eef4ff;border:0;border-radius:.7rem;font-size:.85rem;font-weight:800;text-decoration:none}.dashboard-shell{padding:2rem 0 5rem}.welcome{overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.7rem,4vw,3rem);color:#fff;background:linear-gradient(120deg,var(--navy),#0d4bb5);border-radius:1.7rem;box-shadow:var(--shadow)}.welcome .eyebrow{color:#a9c8ff}.welcome h1{margin-bottom:.45rem;color:#fff;font-size:clamp(2rem,5vw,4.2rem)}.welcome p:last-child{margin:0;color:#d8e5fc}.welcome>span{padding:.7rem 1rem;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:99px;font-weight:700;white-space:nowrap}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1rem 0}.summary article,.card{padding:1.4rem;background:#fff;border:1px solid var(--line);border-radius:1.15rem}.summary small{color:var(--muted);font-weight:700}.summary strong{display:block;margin:.4rem 0;color:var(--navy);font:800 2.4rem/1 "Manrope",sans-serif}.summary p{margin:0;color:var(--muted);font-size:.82rem}.tabs{display:flex;gap:.4rem;margin:2rem 0 1rem;padding:.4rem;overflow:auto;background:#e8effb;border-radius:1rem}.tabs button,.periods button{padding:.7rem 1rem;color:var(--muted);background:transparent;border:0;border-radius:.7rem;font-weight:800;white-space:nowrap}.tabs .active{color:var(--dark);background:#fff}.notice{color:#8d5c13;background:#fff5df;border:1px solid #f0d494}.panel[hidden]{display:none}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.card h2{font-size:clamp(1.45rem,3vw,2rem)}.insight{display:flex;gap:1rem;padding:1rem;margin:.75rem 0;border-radius:1rem}.insight>span{display:grid;place-items:center;width:44px;height:44px;flex:none;color:#fff;border-radius:50%;font-weight:800}.insight small,.insight strong{display:block}.insight small,.insight p{color:var(--muted)}.insight p{margin:0;font-size:.86rem}.strength{background:#edf8f3}.strength>span{background:var(--green)}.support{background:#fff6e9}.support>span{background:var(--amber)}.list{display:grid;gap:.7rem}.list article{padding:1rem;background:var(--paper);border-radius:.9rem}.list b,.list small{display:block}.list p{margin:.2rem 0;color:var(--muted);font-size:.86rem}.list small{color:var(--blue);font-size:.76rem;font-weight:700}.agenda{display:grid;grid-template-columns:280px 1fr;gap:2rem;margin-top:1rem}.grid-list{grid-template-columns:repeat(2,1fr)}.card-head{display:flex;justify-content:space-between;gap:2rem}.periods{display:flex;gap:.3rem}.periods button{padding:.5rem .7rem}.periods .active{color:#fff;background:var(--dark)}.grades{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.grade{padding:1.2rem;background:var(--paper);border-top:6px solid var(--blue);border-radius:1rem}.grade h3{margin:.2rem 0}.grade strong{display:block;margin:1rem 0 .2rem;color:var(--navy);font:800 2.4rem/1 "Manrope",sans-serif}.grade p{margin:0;color:var(--muted);font-size:.82rem}.classroom,.services{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.classroom>article{padding:1.2rem;background:var(--paper);border-radius:1rem}.classroom header{position:static;display:flex;justify-content:space-between;background:none;border:0}.classroom ul{margin:1rem 0 0;padding:0;list-style:none}.classroom li{padding:.65rem 0;border-top:1px solid var(--line)}.classroom li span{display:block;color:var(--muted);font-size:.82rem}.services>a,.services>article{display:flex;gap:1rem;padding:1.5rem;background:#fff;border:1px solid var(--line);border-radius:1.2rem;text-decoration:none}.services>*>span{display:grid;place-items:center;width:48px;height:48px;flex:none;color:#fff;background:var(--dark);border-radius:14px;font-weight:800}.services small{color:var(--blue);font-weight:800}.services h2{margin:.2rem 0;font-size:1.3rem}.services p{margin:0;color:var(--muted)}footer{padding:2rem 0;color:#c6d7f5;background:var(--navy)}footer .shell{display:flex;justify-content:space-between}footer a{color:#fff}@media(max-width:950px){.login-view{grid-template-columns:1fr}.login-backdrop{min-height:48vh}.backdrop-content{min-height:48vh}.login-overlay{min-height:auto;margin-top:-3rem;padding-top:0;background:transparent}.login-card{margin-bottom:3rem}.summary{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.agenda{grid-template-columns:1fr}.grades{grid-template-columns:1fr 1fr}}@media(max-width:620px){:root{--shell:min(100% - 28px,1180px)}.login-backdrop{min-height:40vh}.backdrop-content{min-height:40vh}.login-backdrop .brand,.motto,.pills{display:none}.backdrop-copy{padding:2rem 0 5rem}.backdrop-copy h1{font-size:2.8rem}.backdrop-copy>p:not(.eyebrow){font-size:.95rem}.login-overlay{padding-inline:14px}.login-card{padding:1.5rem}.mobile-brand{display:flex;align-items:center;gap:.7rem}.mobile-brand img{width:52px;height:52px}.topbar{min-height:70px}.topbar nav a{display:none}.topbar nav button{font-size:.75rem}.welcome{display:grid}.welcome>span{justify-self:start}.summary{gap:.6rem}.summary article{padding:1rem}.summary strong{font-size:1.9rem}.summary p{display:none}.grades,.classroom,.services,.grid-list{grid-template-columns:1fr}.card-head{display:grid}footer .shell{display:grid;gap:.4rem}}
