.shell{--radius:16px;background:#f4f4f2}.shell .content{max-width:1320px;padding:0 28px 56px;width:100%}.shell .sidebar{width:262px;padding:20px 14px 14px;gap:6px}.shell .brand{font-size:21px}.shell .nav{gap:3px}.shell .nav a,.shell .nav-group-btn{border-radius:12px}.nav-title{display:inline-flex;align-items:center;gap:12px;min-width:0}.nav-ic{flex-shrink:0;opacity:.85}.nav a.nav-top,.nav-group-btn{padding:11px 12px;font-weight:600}.shell .nav a.active{background:#fff;color:var(--ink);font-weight:700}.shell .nav-group.has-active>.nav-group-btn{box-shadow:none;background:#1a1a1a}.shell .nav-sub{margin-left:22px;padding-left:10px}.shell .nav-sub a{padding:8px 12px;font-size:14px;color:#cfcfcf}.shell .nav-sub a.active{color:var(--ink)}.shell .nav-heading{padding-top:16px}[data-sidebar=light] .nav-group.has-active>.nav-group-btn{background:var(--soft)}.shell .sidebar-foot{border-radius:14px;background:#161616;border:0;padding:12px 14px;margin-top:10px}[data-sidebar=light] .sidebar-foot{background:var(--soft)}.shell .sidebar-top .bell{display:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:14px;margin:0 -28px 22px;padding:12px 28px;background:rgba(244,244,242,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #e7e7e4}.tb-title{display:flex;flex-direction:column;line-height:1.2;min-width:0}.tb-title small{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tb-title strong{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}.tb-search{position:relative;flex:1 1;max-width:520px;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3e3e0;border-radius:12px;padding:0 12px;height:42px;color:var(--muted)}.tb-search input{flex:1 1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:14px;color:var(--ink);height:100%;box-shadow:none;padding:0}.tb-search:focus-within{border-color:var(--ink)}.tb-search kbd{font:inherit;font-size:11px;color:var(--muted);border:1px solid #e3e3e0;border-radius:6px;padding:1px 6px;background:#fafafa}.tb-results{position:absolute;top:48px;left:0;right:0;background:#fff;border:1px solid #e3e3e0;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);padding:6px;z-index:30}.tb-results button{width:100%;display:flex;justify-content:space-between;gap:10px;align-items:center;background:transparent;border:0;border-radius:8px;padding:9px 10px;font:inherit;font-size:14px;color:var(--ink);cursor:pointer;text-align:left}.tb-results button:hover{background:var(--soft)}.tb-results small{color:var(--muted);font-size:12px}.tb-none{padding:10px;color:var(--muted);font-size:14px}.tb-right{margin-left:auto;display:flex;align-items:center;gap:10px}.tb-new{position:relative}.tb-new summary{list-style:none;cursor:pointer;background:var(--ink);color:#fff;border-radius:12px;height:42px;padding:0 16px;display:inline-flex;align-items:center;font-weight:700;font-size:14px}.tb-new summary::-webkit-details-marker{display:none}.tb-menu{position:absolute;right:0;top:48px;min-width:190px;background:#fff;border:1px solid #e3e3e0;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.12);padding:6px;display:grid;z-index:30}.tb-menu a{text-decoration:none;padding:9px 12px;border-radius:8px;font-size:14px}.tb-menu a:hover{background:var(--soft)}.topbar .bell{background:#fff;border:1px solid #e3e3e0;border-radius:12px;width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink);position:relative}.topbar .bell:hover{background:var(--soft)}.tb-avatar{width:42px;height:42px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800}.topbar .side-toggle{margin:0;border-radius:12px;height:42px;background:#fff;border:1px solid #e3e3e0;padding:0 12px;font-size:13px}.topbar .side-toggle span{margin-right:4px}.shell .card{border-radius:16px;border:1px solid #ebebe8;box-shadow:0 1px 2px rgba(0,0,0,.03);padding:22px}.shell .card h3{margin-top:0;font-size:17px}.shell .stats{gap:14px;margin-bottom:14px}.shell .stat{display:flex;flex-direction:column;border-radius:16px;border:1px solid #ebebe8;padding:18px 20px;gap:6px}.shell .stat-label{order:1;margin:0;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.shell .stat-value{order:2;font-size:32px;font-weight:800;letter-spacing:-.03em}.shell .stat-note{order:3;font-size:12.5px;color:var(--muted)}.shell .stat.bad{border-color:#ebebe8;box-shadow:none}.shell .stat.bad .stat-value{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:6px}.shell .stat.hero{background:var(--ink);border-color:var(--ink);color:#fff}.shell .stat.hero .stat-label,.shell .stat.hero .stat-note{color:#b9b9b9}.shell .stat.hero .stat-value{color:#fff}.shell .stat.link:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(0,0,0,.08);border-color:#d9d9d5}.shell .stat.hero.link:hover{border-color:var(--ink)}.stats-hero{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.greet{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.greet h1{font-size:30px;margin:0}.greet h1:after,.shell .content h1:after{display:none}.greet .muted{margin:4px 0 0}.greet-actions{display:flex;gap:10px}.grid-main{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);grid-gap:14px;gap:14px;margin-bottom:14px;align-items:start}.grid-main>.card,.grid3>.card{margin:0}.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-bottom:14px}.allclear{background:var(--soft);border-radius:12px;padding:14px 16px;color:var(--muted);text-align:center;font-size:14px}.allclear,.attn{margin:8px 0 16px}.attn{list-style:none;padding:0;display:grid;grid-gap:8px;gap:8px}.attn li{display:flex;justify-content:space-between;align-items:center;background:var(--accent-soft);border-radius:12px;padding:11px 14px;font-size:14px}.attn a{text-decoration:none;font-weight:600}.setup-h{margin-top:18px}.progress{height:8px;background:#ececea;border-radius:99px;overflow:hidden;margin:8px 0 6px}.progress i{display:block;height:100%;background:var(--ink);border-radius:99px}.small{font-size:12.5px}.donut .donut-body{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.donut svg{width:124px;height:124px;min-height:124px;max-width:none;flex:0 0 124px;display:block}.donut-legend{list-style:none;margin:0;padding:0;flex:1 1;min-width:130px;display:grid;grid-gap:4px;gap:4px;font-size:13.5px}.donut-legend li{display:flex;align-items:center;gap:8px;border-bottom:1px solid #f0f0ee;padding:5px 0}.donut-legend i{width:10px;height:10px;border-radius:3px;flex-shrink:0}.donut-legend span{flex:1 1;color:var(--muted)}.donut figcaption{font-weight:700;font-size:17px;margin-bottom:12px}.shell table{font-size:14px}.shell .btn{border-radius:12px;box-shadow:none}.shell input,.shell select,.shell textarea{border-radius:10px}@media (max-width:1100px){.grid-main{grid-template-columns:1fr}}@media (max-width:820px){.shell .content{padding:0 14px 90px}.topbar{margin:0 -14px 14px;padding:8px 14px;top:56px}.tb-avatar,.tb-search kbd,.tb-title,.topbar .bell{display:none}.tb-search{max-width:none;height:40px}.tb-new summary{height:40px;padding:0 12px}.greet h1{font-size:24px}.greet-actions{width:100%}.greet-actions .btn{flex:1 1;text-align:center}.shell .stat-value{font-size:21px;white-space:nowrap}.shell .stat{padding:14px}.stats-hero{grid-template-columns:repeat(2,1fr)}}.nav-sub a{display:flex;align-items:center;justify-content:space-between}.nav-sub .nav-title{gap:10px}.nav-sub .nav-ic{width:16px;height:16px;opacity:.7}.shell .nav a,.shell .nav-group-btn{transition:background .16s ease,transform .16s ease,color .16s ease}.shell .nav a:hover,.shell .nav-group-btn:hover{background:#1f1f1f;transform:translateX(3px)}.shell .nav a.active:hover{background:#fff;transform:none}.nav-ic{transition:transform .18s ease,color .18s ease,opacity .18s ease}.shell .nav a:hover .nav-ic,.shell .nav-group-btn:hover .nav-ic{transform:scale(1.18) rotate(-6deg);color:var(--accent);opacity:1}.shell .nav a.active .nav-ic{color:var(--ink);opacity:1}.shell .nav a.active:hover .nav-ic{transform:none;color:var(--ink)}.nav-chev{transition:transform .18s ease}.nav-group-btn:hover .nav-chev{border-color:var(--accent)}[data-sidebar=light] .nav a:hover,[data-sidebar=light] .nav-group-btn:hover{background:var(--soft)}[data-sidebar=light] .nav a:hover .nav-ic,[data-sidebar=light] .nav-group-btn:hover .nav-ic{color:var(--ink)}[data-sidebar=light] .nav a.active:hover{background:var(--ink)}[data-sidebar=light] .nav a.active .nav-ic,[data-sidebar=light] .nav a.active:hover .nav-ic{color:#fff}.shell .card{transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.shell .grid-main .card:hover,.shell .grid3 .card:hover{box-shadow:0 10px 28px rgba(0,0,0,.08);transform:translateY(-2px);border-color:#dcdcd8}.shell .stat{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.shell .stat:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(0,0,0,.09)}.shell .btn{transition:transform .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.shell .btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.14)}.shell .btn:active{transform:translateY(0);box-shadow:none}.shell tbody tr{transition:background .12s ease}.shell tbody tr:hover{background:#fbfbf6}.attn li{transition:transform .15s ease,background .15s ease}.attn li:hover{transform:translateX(4px);background:var(--accent)}.attn li span{transition:transform .15s ease}.attn li:hover span{transform:translateX(4px)}.tb-avatar,.tb-new summary,.topbar .bell,.topbar .side-toggle{transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.tb-new summary:hover,.topbar .bell:hover,.topbar .side-toggle:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.12)}.tb-avatar:hover{transform:scale(1.06)}.tb-menu a{transition:background .12s ease,padding .12s ease}.tb-menu a:hover{padding-left:16px}.donut-legend li{transition:background .12s ease}.donut-legend li:hover{background:#f7f7f4}@media (hover:none){.shell .nav a:hover,.shell .nav-group-btn:hover{transform:none}}@media (prefers-reduced-motion:reduce){.nav-ic,.shell *{transition:none!important;transform:none!important}}.auth-wrap{background:#f4f4f2}.auth-split{width:100%;max-width:940px;display:grid;grid-template-columns:1fr 1fr;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.14);background:#fff}.auth-side{background:var(--ink,#0a0a0a);color:#fff;padding:36px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;position:relative;overflow:hidden}.auth-side:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;bottom:-90px;background:var(--accent,#ffd400);opacity:.9}.auth-side>*{position:relative;z-index:1}.auth-side-brand{color:#fff;text-decoration:none;font-weight:800;font-size:22px;letter-spacing:-.03em}.auth-side-logo{max-height:56px;max-width:180px;object-fit:contain;background:#fff;border-radius:12px;padding:6px;align-self:flex-start}.auth-side-eyebrow{display:inline-block;background:var(--accent,#ffd400);color:#0a0a0a;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:99px;margin-bottom:14px}.auth-side h2{font-size:30px;line-height:1.12;margin:0 0 12px;color:#fff;max-width:14ch;letter-spacing:-.03em}.auth-side p{margin:0;color:#cfcfcf;line-height:1.5;max-width:34ch}.auth-side ul{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;font-size:14px;max-width:30ch}.auth-side li{display:flex;gap:10px;align-items:flex-start;color:#e8e8e8}.auth-side li span{color:#0a0a0a;background:var(--accent,#ffd400);width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;flex-shrink:0}.auth-split .auth-card{max-width:none;border:0;border-radius:0;box-shadow:none;padding:40px 36px;display:flex;flex-direction:column;justify-content:center;gap:4px}.auth-split .auth-card h1{font-size:28px;margin:0 0 4px}.auth-split .auth-card h1:after{display:none}.auth-split .auth-card .btn,.auth-split .auth-card input{height:46px;border-radius:12px}.auth-split .auth-card .btn{justify-content:center}.auth-done{display:flex;gap:12px;align-items:flex-start;background:var(--accent-soft,#fff7cc);border-radius:14px;padding:14px 16px}.auth-done>span{background:var(--ink,#0a0a0a);color:#fff;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:800}.auth-done p{margin:0}@media (max-width:820px){.auth-split{grid-template-columns:1fr;max-width:460px}.auth-side{padding:22px 24px;gap:14px}.auth-side h2{font-size:22px;max-width:none}.auth-side p,.auth-side ul{display:none}.auth-side:after{width:140px;height:140px;right:-50px;bottom:-70px}.auth-split .auth-card{padding:26px 22px}}.help-card,.help-list{display:grid;grid-gap:12px;gap:12px}.help-top{display:flex;align-items:center;gap:14px}.help-top>div{flex:1 1;min-width:0}.tag{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--soft,#f4f4f2)}.tag-teacher{background:#0a0a0a;color:#fff}.tag-student{background:var(--accent,#ffd400);color:#0a0a0a}.help-actions{display:grid;grid-gap:8px;gap:8px}@media (max-width:560px){.help-top{flex-wrap:wrap}}@media (max-width:820px){.mobile-bar .bell,.mobile-bar .burger,.mobile-bar button{color:#fff}.mobile-bar .burger span{background:#fff}[data-sidebar=light] .mobile-bar .bell,[data-sidebar=light] .mobile-bar .burger{color:var(--ink)}[data-sidebar=light] .mobile-bar .burger span{background:var(--ink)}}@media (min-width:821px){.shell.side-rail>.sidebar{width:72px;padding:14px 8px;overflow:visible}.shell.side-rail .content{max-width:1400px}.shell.side-rail .sidebar-top{justify-content:center;padding:0}.shell.side-rail .brand,.shell.side-rail .brand-name,.shell.side-rail .school-name{display:none}.shell.side-rail .brand-row{justify-content:center}.shell.side-rail .sidebar-brand:not(:has(img)):before{content:"";display:block;width:42px;height:42px;margin:0 auto 14px;border-radius:12px;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 512 512%22 width=%22512%22 height=%22512%22%3E%3Cdefs%3E%3ClinearGradient id=%22g%22 x1=%220%22 y1=%220%22 x2=%221%22 y2=%221%22%3E%3Cstop offset=%220%22 stop-color=%22%23ffe94a%22/%3E%3Cstop offset=%221%22 stop-color=%22%23f4c400%22/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width=%22512%22 height=%22512%22 rx=%22112%22 fill=%22url%28%23g%29%22/%3E%3Cpath d=%22M 332.6 178.2 A 112 112 0 1 0 332.6 333.8%22 fill=%22none%22 stroke=%22%230a0a0a%22 stroke-width=%2278%22 stroke-linecap=%22round%22/%3E%3Ccircle cx=%22296.8%22 cy=%22256%22 r=%2227%22 fill=%22%230a0a0a%22/%3E%3C/svg%3E") 50%/cover no-repeat}.shell.side-rail .brand-logo{width:38px;height:38px;margin:0 auto 12px}.shell.side-rail .nav{overflow:visible;padding-right:0;align-items:stretch}.shell.side-rail .nav-heading{display:none}.shell.side-rail .nav-group-btn,.shell.side-rail .nav-top{position:relative;justify-content:center;padding:12px 0}.shell.side-rail .nav-chev,.shell.side-rail .nav-group-btn .nav-label,.shell.side-rail .nav-top .nav-label{display:none}.shell.side-rail .nav-group-btn .nav-title,.shell.side-rail .nav-top .nav-title{gap:0}.shell.side-rail .nav-group-btn .nav-ic,.shell.side-rail .nav-top .nav-ic{width:21px;height:21px}.shell.side-rail .nav-group-btn .nav-badge,.shell.side-rail .nav-top .nav-badge{position:absolute;top:3px;right:6px;min-width:16px;height:16px;font-size:10px;padding:0 4px}.shell.side-rail .nav-group-end{position:static}.shell.side-rail .nav-group.has-active>.nav-group-btn{box-shadow:none;background:var(--accent);color:var(--accent-ink,#000)}.shell.side-rail .nav-group.has-active>.nav-group-btn .nav-ic{color:var(--accent-ink,#000);opacity:1}.shell.side-rail .sidebar-extra,.shell.side-rail .who{display:none}.shell.side-rail .sidebar-foot{padding:10px 0 0;text-align:center}.shell.side-rail .sidebar-foot .linklike{font-size:0;width:42px;height:42px;border-radius:10px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23e8e8e8' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E") 50% /20px no-repeat}.shell.side-rail .sidebar-foot .linklike:hover{background-color:#1f1f1f}[data-sidebar=light].side-rail .sidebar-foot .linklike{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%230a0a0a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E")}.shell.side-rail .nav-group>.nav-sub{display:none}.shell.side-rail .nav-group:focus-within>.nav-sub,.shell.side-rail .nav-group:hover>.nav-sub{display:flex;flex-direction:column;gap:2px;position:fixed;left:72px;top:var(--fly-top,80px);z-index:80;width:232px;max-height:calc(100vh - var(--fly-top, 80px) - 12px);overflow-y:auto;margin:0;padding:8px;background:#141414;border:1px solid #2c2c2c;border-radius:0 14px 14px 0;box-shadow:10px 10px 30px rgba(0,0,0,.25)}[data-sidebar=light].side-rail .nav-group:focus-within>.nav-sub,[data-sidebar=light].side-rail .nav-group:hover>.nav-sub{background:#fff;border-color:var(--line)}.shell.side-rail .nav-fly-title{display:block;font-weight:800;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);padding:6px 10px 8px}[data-sidebar=light].side-rail .nav-fly-title{color:var(--ink)}}.tb-sec{padding:8px 12px 2px;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a}.tb-all{border-top:1px solid #ececea;font-weight:700}.tb-results small{max-width:60%;text-align:right}.brand-mk{display:inline-flex;align-items:center;gap:9px}.logo-mark{flex:none;border-radius:8px}.lp-logo{display:inline-flex;align-items:center;gap:9px}.ff-step{border:1px solid #e6e6e2;border-radius:14px;padding:14px 16px 16px;margin:0 0 14px;background:#fcfcfa}.ff-step>header{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}.ff-n{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:800;font-size:14px}.ff-step h4{margin:0;font-size:16px}.ff-step header p{margin:2px 0 0;color:var(--muted);font-size:13px}.ff-body{display:grid;grid-gap:12px;gap:12px}.ff-field{display:grid;grid-gap:5px;gap:5px;font-size:14px}.ff-label{font-weight:700;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.ff-label em{font-style:normal;font-size:11px;font-weight:700;border-radius:999px;padding:1px 8px}.ff-must{background:#ffe9e6;color:#b3261e}.ff-opt{background:#eeeeea;color:#6b6b66}.ff-hint{color:var(--muted);font-size:12.5px;font-weight:400}.ff-more>summary{cursor:pointer;font-weight:700;padding:8px 0;color:var(--ink)}.ff-more[open]>summary{margin-bottom:8px}.ff-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.ff-step .check{margin-top:4px}.logo-word{display:inline-flex;align-items:center;gap:10px}.logo-word-text{display:flex;flex-direction:column;line-height:1}.logo-word-text b{font-weight:900;letter-spacing:.02em}.logo-word-text b i{font-style:normal;color:#f4c400}.logo-word-text small{font-size:8px;letter-spacing:.22em;margin-top:4px;opacity:.8}.adminbar{background:#0a0a0a;border-bottom:3px solid #f4c400}.admin-logo{display:inline-flex;align-items:center;gap:9px;font-size:18px}.admin-nav{flex-wrap:wrap;gap:6px}.admin-nav a{padding:6px 11px;border-radius:999px}.admin-nav a:hover{background:rgba(244,196,0,.18);color:#fff;text-decoration:none}.admin h1{margin-top:26px}.admin .stat{border-top:4px solid #f4c400}.admin .school-card{border:2px solid #0a0a0a;border-radius:14px;box-shadow:4px 4px 0 #f4c400;margin-bottom:20px}.admin .school-card h3 a{color:inherit;text-decoration:none}.admin .school-card h3 a:hover{text-decoration:underline}.owner-banner{background:#f4c400;color:#0a0a0a;border:2px solid #0a0a0a;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}