@font-face{font-family:Manrope;src:url(../fonts/Manrope.ttf) format("truetype");font-weight:200 800;font-display:swap}body{font-family:Manrope,system-ui,sans-serif!important}

:root{--navy:#08244c;--blue:#245ce5;--muted:#74849d;--bg:#f3f6fc}body{background:radial-gradient(ellipse at top right,#e7efff,transparent 48%),#f5f7fc;color:#193353;font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.5}button{transition:transform .18s ease,box-shadow .18s ease,background .18s}button:hover{transform:translateY(-1px);box-shadow:0 6px 16px #17498d22}button:disabled{opacity:.6;cursor:wait;transform:none}button:focus-visible,a:focus-visible{outline:3px solid #8eb8ff;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #b9ceff;border-color:#5989ee}input,select,textarea{min-height:46px}h1,h2{letter-spacing:-.6px}h2{margin-top:0}.shell{grid-template-columns:238px 1fr}aside{background:linear-gradient(170deg,#09234a,#0c315f);border-right:1px solid #1d416c;overflow:auto}aside::after{content:'A space for curious minds.';display:block;color:#91afd2;font-size:12px;margin-top:40px;padding:16px;border:1px solid #25476f;border-radius:14px}nav{gap:6px;margin-top:35px}nav button{border-radius:12px;padding:12px 14px;font-size:13px}nav button.active{background:linear-gradient(100deg,#2d64e5,#2b58bd);box-shadow:0 8px 20px #020f2d33}.nav-icon{display:inline-grid;place-items:center;width:26px;height:26px;margin-right:9px;border-radius:8px;background:#ffffff12;font-size:16px}main{padding:32px 38px 50px}.top{margin-bottom:24px}.top h1{font-size:29px}.top .muted{font-size:13px}.card{box-shadow:0 5px 24px #24477706;border:1px solid #e1e8f3;border-radius:19px}.metric{font-size:29px;letter-spacing:-1px}.grid>.card{position:relative;overflow:hidden;padding:23px}.grid>.card::after{content:'';position:absolute;right:-14px;top:-16px;width:80px;height:80px;border-radius:50%;background:#eff4ff}.grid>.card:nth-child(2)::after{background:#e9f8f4}.grid>.card:nth-child(3)::after{background:#fff4e5}.grid>.card:nth-child(4)::after{background:#f0ecfd}.banner{min-height:245px;background:linear-gradient(90deg,#08234bf5 0%,#0a2b5ae8 48%,#0e356b33 100%),url('../images/classroom.jpg') center 44%/cover;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:32px 36px;box-shadow:0 14px 30px #153e6e15}.banner h2{font-size:28px;max-width:500px;line-height:1.25;margin-bottom:4px}.banner p{max-width:490px;font-size:14px}.banner button{background:white;color:#0d3267;font-weight:650}.page-intro{display:grid;grid-template-columns:1fr 220px;gap:24px;background:#eaf0fb;border:1px solid #dce5f5;border-radius:20px;overflow:hidden;align-items:center;margin:0 0 25px}.page-intro>div{padding:24px 28px}.page-intro img{width:100%;height:165px;object-fit:cover}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;color:#5e82bd;font-weight:750}.page-intro h2{font-size:23px;margin:8px 0 5px}.page-intro p{font-size:13px;color:#617791;margin:0;max-width:610px}.form h2{padding-bottom:14px;border-bottom:1px solid #e9eef5;font-size:18px}.form label{font-weight:550;font-size:12px;letter-spacing:.2px}.form button{font-weight:650}.form p.muted{background:#f3f7ff;border-radius:12px;padding:13px;font-size:12px;margin:0}.table{margin-top:12px}.table th{background:#f7f9fd;text-transform:uppercase;font-size:10px;letter-spacing:.8px;color:#71839e;position:sticky;top:0}.table td{font-size:12px;padding:16px 12px}.table tr:hover td{background:#f9fbff}.table td:first-child{font-weight:600;color:#173b69}.table button{padding:8px 12px;font-size:11px}.pill{display:inline-block;font-size:10px;font-weight:650;letter-spacing:.25px;background:#eef3ff;padding:5px 10px}.pill.paid,.pill.delivered,.pill.live{background:#e5f7ee;color:#147950}.pill.pending,.pill.scheduled,.pill.processing{background:#fff3d9;color:#9c700f}.pill.ended,.pill.unfulfilled{background:#eef1f5;color:#75849b}.pill.shipped{background:#e8f0ff;color:#2c60cc}.pill.backorder{background:#ffedf0;color:#af4864}.avatar{display:inline-grid;place-items:center;background:linear-gradient(145deg,#e8f0ff,#d3e2fc);width:30px;height:30px;border-radius:10px;color:#245396;font-size:11px;font-weight:700;margin-right:9px;vertical-align:middle}.login{max-width:1040px;margin:6vh auto;padding:0;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;box-shadow:0 25px 80px #09255216}.login-visual{background:linear-gradient(180deg,#08234b28,#08234be6),url('../images/study.jpg') center/cover;color:white;display:flex;flex-direction:column;justify-content:space-between;padding:42px;min-height:630px}.login-visual .brand{font-size:21px;letter-spacing:1px;font-weight:800}.login-visual small{color:#c7d9f3;text-transform:uppercase;letter-spacing:2px;font-size:10px}.login-visual h2{font-size:36px;line-height:1.15;letter-spacing:-1.2px;max-width:350px;margin:16px 0}.login-visual p{font-size:13px;color:#d6e2f3;max-width:330px}.login-visual .tags{display:flex;gap:8px;flex-wrap:wrap}.login-visual .tags span{border:1px solid #d6e2f344;border-radius:30px;padding:7px 11px;font-size:10px}.login-content{padding:42px 40px;align-self:center}.login-content h1{font-size:27px}.login-content .muted{font-size:13px;margin-bottom:25px}.login-content .form{gap:18px}.login-content a{font-size:12px;text-decoration:none}.login-content .security-note{font-size:11px;margin-top:24px;color:#8a99ae}.thumb{height:42px;width:65px;object-fit:cover;border-radius:9px;margin-right:12px;vertical-align:middle}.demo-label{background:#fff4d9;color:#956418;font-size:11px;padding:8px 12px;border-radius:10px;margin:14px 0}.skeleton{height:110px;background:linear-gradient(90deg,#edf2f9,#fafcff,#edf2f9);background-size:200% 100%;animation:shimmer 1.5s linear infinite;border-radius:20px}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(max-width:1100px){main{padding:26px}.forms{grid-template-columns:1fr}.login{margin:30px;max-width:100%}.login-visual{padding:32px}.login-content{padding:32px}.page-intro{grid-template-columns:1fr 180px}}@media(max-width:700px){.shell{grid-template-columns:1fr}main{padding:20px 15px}.top h1{font-size:24px}aside::after{display:none}aside{height:auto}.login{display:flex;flex-direction:column;margin:18px 14px}.login-visual{min-height:245px;padding:24px;background-position:center 30%}.login-visual h2{font-size:27px;max-width:280px;margin:10px 0}.login-visual p{display:none}.login-visual .tags{margin-top:14px}.login-content{padding:28px 24px;width:100%}.page-intro{grid-template-columns:1fr 110px;gap:0}.page-intro>div{padding:18px}.page-intro h2{font-size:19px}.page-intro p{font-size:11px}.page-intro img{height:185px}.banner{padding:25px;min-height:225px}.banner h2{font-size:25px}.grid{gap:12px}.metric{font-size:24px}nav{margin-top:15px}.nav-icon{width:22px;height:22px;font-size:14px;margin-right:7px}}@media print{.page-intro,.banner,.login-visual{display:none!important}main{padding:0}.table th{position:static}body{background:white}}
.forms>*,.form{min-width:0}.table{max-width:100%}input,select,textarea{min-width:0;max-width:100%}
.hidden{display:none!important}.form{display:grid;gap:16px}label{display:grid;gap:7px;font-size:12px;color:#71829c}input,select,textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #d8e1ef;border-radius:10px;background:#fff;font:inherit}.card{background:white}.banner{color:white;border-radius:22px}.banner h2{color:white}.banner p{color:#d4e1f4}.error{color:#a43f57}.ok{color:#16754e}.teacher-heading a{font-size:12px;text-decoration:none}.login-content>h2{font-size:26px}.login .form button{width:100%}

.previews{display:flex;flex-wrap:wrap;gap:8px}.previews img{width:70px;height:65px;object-fit:cover;border-radius:9px}.media-dialog{width:min(760px,94vw);max-height:90vh;overflow:auto;border:1px solid #dde6f4;border-radius:22px;padding:25px;color:#193353;box-sizing:border-box}.media-dialog::backdrop{background:#071c4566}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:15px;margin:20px 0}.media-grid img{width:100%;height:120px;object-fit:cover;border-radius:12px}.media-grid button{font-size:10px;padding:6px 10px}.media-dialog .form{padding:18px 0}.media-dialog h2{font-size:18px;max-width:70%}
/* Keep long navigation and data tables inside their responsive grid tracks. */
.shell{grid-template-columns:238px minmax(0,1fr)}.shell>aside,.forms>.card,.card,label{min-width:0}nav,.table{max-width:100%}nav{overscroll-behavior-x:contain}@media(max-width:1100px){.forms{grid-template-columns:minmax(0,1fr)}}@media(max-width:700px){.shell{grid-template-columns:minmax(0,1fr)}}

/* Compact, colorful workspaces and accessible schedule editor. */
.card{border-top:3px solid #dce7ff}.grid>.card:nth-child(4n+2){border-top-color:#44bdae}.grid>.card:nth-child(4n+3){border-top-color:#e6ad4a}.grid>.card:nth-child(4n){border-top-color:#a18bdd}.calendar-lesson{border-left:3px solid #4faea9;padding:14px 12px;margin-top:10px;background:#f5fafc;border-radius:10px}.class-selector button:not(.secondary){background:linear-gradient(110deg,#2463e6,#6451cc)}#lessonDialog{max-height:calc(100dvh - 32px);overflow:auto}#lessonDialog::backdrop{backdrop-filter:blur(3px)}#rescheduleError{line-height:1.5}button:focus-visible,a:focus-visible{outline:3px solid #39aaac;outline-offset:3px}@media(prefers-reduced-motion:no-preference){button{transition:box-shadow .18s,background .18s}button:hover{box-shadow:0 4px 16px #1d4fad22}}
dialog{scrollbar-gutter:stable}dialog button,dialog button:hover,dialog button:disabled{transform:none!important;transition:background .18s,box-shadow .18s}
