:root{font-family:Georgia,'Times New Roman',serif;color:#24413d;background:#f3eadb;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,#fffaf0,#ede0cd 78%)}button,input{font:inherit}button{cursor:pointer;border:1px solid #789084;border-radius:10px;padding:.7rem 1rem;background:#fdf9f0;color:#24413d}button:hover{background:#e8eee6}button:focus-visible,input:focus-visible{outline:3px solid #a0693b;outline-offset:2px}button.primary{background:#435b47;color:#fff;border-color:#435b47}button.primary:hover{background:#304936}button.danger{color:#9a3831;border-color:#ccaaa1}button.danger:hover{background:#fff0ec}button:disabled{opacity:.5;cursor:default}input{width:100%;border:1px solid #cbbda8;border-radius:9px;padding:.75rem;background:#fffdf8;color:#24413d}label{display:block;font:600 .84rem system-ui,sans-serif;margin:.9rem 0 .35rem}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.05}h2{font-size:1.45rem}.muted,.eyebrow,.note,th,td,small{font-family:system-ui,sans-serif}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#6f806d;font-size:.72rem;font-weight:700}.muted,.note{color:#63756f}.note{font-size:.85rem;line-height:1.5}.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:0}.scene{padding:4rem;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(125deg,#224c47dd,#405a4bd9),radial-gradient(circle at 70% 25%,#e5bd77,#865d38 80%);color:#fff8e8}.scene h1{max-width:620px}.scene p{font-size:1.25rem;max-width:540px;line-height:1.5}.login-panel{display:grid;place-items:center;padding:2rem}.card{border:1px solid #d8cbb8;background:#fffaf0;border-radius:22px;padding:clamp(1.2rem,3vw,2rem);box-shadow:0 12px 40px #513a1d12}.login-card{width:min(100%,420px)}.login-card button{width:100%;margin-top:1.2rem}.error{color:#a12b23;min-height:1.4em;font:600 .85rem system-ui,sans-serif}.shell{max-width:1200px;margin:auto;padding:1.5rem}.topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid #cbbda8;padding-bottom:1rem;margin-bottom:1.6rem}.topbar strong{font-size:1.5rem}.topbar div{display:flex;align-items:center;gap:.7rem}.grid{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:1.2rem}.stack{display:grid;gap:1rem}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.row>*{min-width:0}.accounts{display:grid;gap:.4rem;max-height:65vh;overflow:auto}.account-button{width:100%;text-align:left;display:flex;justify-content:space-between;gap:1rem}.account-button small{color:#60746d}.account-button.selected{background:#e8eee6;border-color:#64806b}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.stat{padding:.8rem;border-radius:12px;background:#f2eadc}.stat strong{display:block;font-size:1.25rem}.section-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.section-tabs button[aria-current=page]{background:#435b47;color:white}.scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.9rem}th,td{padding:.7rem;border-bottom:1px solid #e1d5c4;text-align:left}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#59726c}.empty{padding:2rem;text-align:center;color:#667b71}.credential{font:700 1.3rem ui-monospace,monospace;letter-spacing:.06em;overflow-wrap:anywhere;background:#f4e8d5;padding:.8rem;border-radius:10px}.loading{padding:2rem}dialog{border:1px solid #d5c4ac;border-radius:18px;box-shadow:0 15px 70px #1c2f2f55;max-width:min(92vw,480px);width:100%;padding:1.5rem;background:#fffaf0;color:#24413d}dialog::backdrop{background:#102b2a88}dialog .row{justify-content:flex-end}footer{font: .8rem system-ui,sans-serif;color:#65746e;margin:2rem 0}
@media(max-width:700px){.login-wrap{grid-template-columns:1fr}.scene{min-height:250px;padding:2rem}.login-panel{padding:1.2rem}.grid{grid-template-columns:1fr}.shell{padding:1rem}.topbar{align-items:flex-start}.topbar strong{font-size:1.2rem}}
.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem 1rem}.field-grid label{margin:0}.field-grid input,.field-grid select{display:block;margin-top:.35rem}.history-button{display:block;width:100%;text-align:left;margin:.3rem 0}
tr.incorrect{background:#fff0ec;color:#8b312c}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-heading{text-align:center;font:700 .72rem system-ui,sans-serif;color:#67776e;padding:.4rem 0}.calendar-day,.calendar-blank{min-height:69px;border:1px solid #e4d8c8;border-radius:7px;padding:.35rem;background:#fdfaf3}.calendar-day.active{background:#e4eee4;border-color:#9fb8a4}.calendar-day strong{display:block;font:700 .8rem system-ui,sans-serif}.calendar-day span{display:block;font:.68rem system-ui,sans-serif;color:#546b5f}@media(max-width:520px){.calendar-day,.calendar-blank{min-height:57px;padding:.2rem}.calendar-day span{font-size:.56rem}.calendar-heading{font-size:.61rem}}
.account-identity{min-width:0;overflow-wrap:anywhere}#student-name{overflow-wrap:anywhere}.student-label-form{margin:1rem 0 1.2rem;padding-bottom:.4rem;border-bottom:1px solid #e1d5c4}.student-label-form .note{margin:.5rem 0}.student-label-form [role=status]{min-height:1.5em}
