:root{--ink:#0a0a0a;--ink-2:#262626;--muted:#6b6b6b;--line:#e6e6e6;--line-strong:#0a0a0a;--soft:#f5f5f5;--white:#ffffff;--radius:10px;--accent:#ffd400;--accent-soft:#fff6bf;--accent-ink:#0a0a0a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--white);line-height:1.55;-webkit-font-smoothing:antialiased}a,body{color:var(--ink)}a{text-decoration:underline;text-underline-offset:3px}a:hover{text-decoration-thickness:2px}h1{font-size:28px;line-height:1.2;letter-spacing:-.02em;margin:0 0 8px}h2{font-size:20px;letter-spacing:-.01em;margin:32px 0 12px}h3{font-size:16px;margin:0 0 8px}p{margin:0 0 12px}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}.nowrap{white-space:nowrap}.grow{flex:1 1 160px}.container{max-width:1120px;margin:0 auto;padding:24px 20px}.container.narrow{max-width:760px}.eyebrow{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}.btn{display:inline-block;background:var(--ink);color:var(--white);border:1px solid var(--ink);border-radius:8px;padding:10px 18px;font-size:15px;font-weight:600;font-family:inherit;cursor:pointer;text-align:center}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--ink-2)}.btn:disabled{opacity:.55;cursor:wait}.btn.ghost{background:var(--white);color:var(--ink)}.btn.ghost:hover{background:var(--ink);color:var(--white)}.btn.danger{background:var(--white);border-style:dashed}.btn.danger:hover{background:var(--ink);color:var(--white);border-style:solid}.btn.inverse{background:var(--white);color:var(--ink);border-color:var(--white)}.btn.inverse:hover{background:var(--soft)}.btn.big{padding:14px 26px;font-size:16px}.linklike{background:none;border:0;color:#cfcfcf;cursor:pointer;padding:0;font-size:14px;font-family:inherit;text-decoration:underline;text-underline-offset:3px}.linklike:hover{color:#fff}.linklike.dark{color:var(--ink)}label{display:block;font-size:13px;font-weight:600;color:var(--ink-2)}input,select{width:100%;margin-top:5px;padding:10px 12px;border:1px solid #bdbdbd;border-radius:8px;font-size:15px;background:var(--white);color:var(--ink);font-family:inherit}input:focus,select:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}input.sm,select.sm{width:auto;margin:0;padding:6px 10px;font-size:13px}input.sm[type=number]{width:92px}.stack{flex-direction:column}.row,.stack{display:flex;gap:14px}.row{flex-wrap:wrap}.row>*{flex:1 1 190px}.row-gap{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between}.row-gap.tight{gap:14px}.row-gap.start{justify-content:flex-start}.inline{display:flex;gap:8px;align-items:center}.filters,.inline.wrap{flex-wrap:wrap}.filters{display:flex;gap:14px;align-items:flex-end}.filters label{flex:1 1 190px}.error,.success{margin:0;padding:11px 14px;border-radius:8px;font-size:14px;background:var(--soft);border:1px solid var(--ink)}.error{border-left-width:5px;font-weight:600}.error:before{content:"Error  ";font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-right:6px}.success{border-left-width:5px}.success:before{content:"Done  ";font-weight:800;text-transform:uppercase;font-size:11px;letter-spacing:.08em;margin-right:6px}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:0 0 16px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}td,th{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--ink)}tbody tr:hover{background:#fafafa}tr.inactive td{opacity:.5}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--soft);color:var(--ink);border:1px solid #cfcfcf;margin-left:6px}.badge.ok{background:var(--ink);color:var(--white);border-color:var(--ink);margin-left:0}.badge.bad{background:var(--white);color:var(--ink);border:1px dashed var(--ink);margin-left:0}.linkbox{display:inline-block;background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:6px 10px;word-break:break-all}dl.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:12px 20px;gap:12px 20px;margin:16px 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}dl.facts div{min-width:0}dl.facts .wide{grid-column:1/-1}dl.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}dl.facts dd{margin:2px 0 0;font-size:14px;word-break:break-word}.pay-amount{font-size:26px;font-weight:800;letter-spacing:-.02em}.pay-card,.school-card{border-color:#cfcfcf}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat-value{font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15}.stat-label{color:var(--muted);font-size:13px;margin-top:4px}.stat.bad{border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}.topbar{z-index:10;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line)}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;padding-bottom:14px}.topnav{display:flex;gap:24px}.navlink,.topnav a{text-decoration:none;font-size:14px;font-weight:500;color:var(--ink-2)}.navlink:hover,.topnav a:hover{text-decoration:underline}.logo{font-weight:800;font-size:20px;letter-spacing:-.03em;text-decoration:none;color:var(--ink)}.hero2{border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;grid-gap:48px;gap:48px;align-items:center;padding-top:72px;padding-bottom:72px}.display{font-size:56px;line-height:1.04;letter-spacing:-.04em;margin:0 0 18px;font-weight:800}.lead-left{font-size:18px;color:var(--muted);max-width:520px;margin-bottom:28px}.lead-sm{max-width:620px;margin-bottom:20px}.preview{border:1px solid var(--ink);border-radius:14px;box-shadow:10px 10px 0 var(--ink);background:var(--white);overflow:hidden}.preview-bar{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--ink);background:var(--soft)}.preview-bar span{width:10px;height:10px;border-radius:50%;border:1px solid var(--ink)}.preview-body{padding:18px}.preview-title{font-weight:800;margin-bottom:14px}.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.preview-stats div{border:1px solid var(--line);border-radius:8px;padding:10px}.preview-stats b{display:block;font-size:18px;letter-spacing:-.02em}.preview-stats small{color:var(--muted);font-size:11px}.preview-lines>div{display:grid;grid-template-columns:90px 1fr;align-items:center;grid-gap:10px;gap:10px;font-size:12px;color:var(--muted);margin-bottom:9px}.preview-lines i{display:block;height:8px;background:var(--ink);border-radius:4px}.section{padding:28px 0}.section.alt{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-title{font-size:34px;letter-spacing:-.03em;margin:0 0 24px;line-height:1.15}.steps4{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:16px;gap:16px}.step-card{border:1px solid var(--ink);border-radius:var(--radius);padding:20px;background:var(--white)}.step-card p{color:var(--muted);margin:0;font-size:14px}.step-num{font-size:34px;font-weight:800;letter-spacing:-.04em;margin-bottom:8px}.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:0;gap:0;border:1px solid var(--ink);border-radius:var(--radius);background:var(--white);overflow:hidden}.feature{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 -1px -1px 0}.feature p{color:var(--muted);font-size:14px;margin:0}.pricing{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px;margin-top:24px}.price-card{position:relative;border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--white);display:flex;flex-direction:column;gap:6px}.price-card.popular{border:2px solid var(--ink);box-shadow:8px 8px 0 var(--ink)}.ribbon{position:absolute;top:-12px;left:22px;background:var(--ink);color:var(--white);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 10px;border-radius:999px}.price{font-size:15px;color:var(--muted);margin:8px 0}.price b{font-size:34px;color:var(--ink);letter-spacing:-.03em}.price-card ul{list-style:none;padding:0;margin:8px 0 20px;flex:1 1}.price-card li{padding:7px 0;border-top:1px solid var(--line);font-size:14px}.price-card li:before{content:"\2713";font-weight:800;margin-right:10px}.faq{border-bottom:1px solid var(--ink);padding:16px 0}.faq summary{cursor:pointer;font-weight:700;font-size:17px}.faq p{margin:10px 0 0;color:var(--muted)}.cta-band{background:var(--ink);color:var(--white);padding:48px 0}.cta-band h2{font-size:32px;letter-spacing:-.03em;margin:0 0 20px}.footer{border-top:1px solid var(--line)}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--soft)}.auth-card{width:100%;max-width:460px;padding:32px;border-color:var(--ink);box-shadow:8px 8px 0 var(--ink)}.auth-card .logo{display:inline-block;margin-bottom:20px}.school-title{font-size:30px;letter-spacing:-.03em}.locked{width:100%;max-width:760px;padding:32px;border-color:var(--ink);box-shadow:8px 8px 0 var(--ink)}.locked-foot{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}.locked .step,.register-form .step{border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px}.step h3{display:flex;align-items:center;gap:10px;margin:0;font-size:17px}.step-num{display:inline-flex;width:26px;height:26px;border-radius:50%;background:var(--ink);color:var(--white);font-size:13px;align-items:center;justify-content:center}.plan-pick{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px}.plan-opt{display:flex;flex-direction:column;gap:2px;border:1px solid #bdbdbd;border-radius:var(--radius);padding:14px;cursor:pointer;position:relative;font-weight:400}.plan-opt input{position:absolute;opacity:0;pointer-events:none}.plan-opt strong{font-size:16px}.plan-opt span{font-size:14px;color:var(--ink)}.plan-opt small{color:var(--muted);font-size:12px}.plan-opt.on{border:2px solid var(--ink);background:var(--ink);color:var(--white);padding:13px}.plan-opt.on small,.plan-opt.on span{color:#e0e0e0}.total{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--ink);border-radius:var(--radius);padding:14px 16px}.total strong{font-size:24px;letter-spacing:-.02em}.accounts{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.accounts li{display:flex;justify-content:space-between;gap:16px;background:var(--soft);border-radius:8px;padding:10px 14px;font-size:14px}.accounts span{text-align:right;word-break:break-word}.shell{display:flex;min-height:100vh;background:var(--white)}.sidebar{width:250px;background:var(--ink);color:#e8e8e8;padding:22px 14px;position:-webkit-sticky;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:4px;overflow:hidden}.sidebar,.sidebar>*{flex-shrink:0}.brand{font-weight:800;font-size:20px;letter-spacing:-.03em;color:#fff;padding:0 12px}.school-name{font-size:13px;color:#b5b5b5;padding:2px 12px 18px;line-height:1.35}.nav{display:flex;flex-direction:column;gap:2px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#3a3a3a transparent;padding-right:4px}.nav a{display:block;color:#e8e8e8;text-decoration:none;padding:8px 12px;border-radius:8px;font-size:15px}.nav a:hover{background:#1f1f1f}.nav a.active{background:#fff;color:var(--ink);font-weight:700}.sidebar-foot{margin-top:8px;padding:12px 12px 4px;border-top:1px solid #2c2c2c;flex-shrink:0}.who{font-size:14px;color:#fff;margin-bottom:6px}.who small{display:block;color:#9a9a9a}.content{flex:1 1;min-width:0;padding:26px 32px 48px;max-width:1180px}.crumb{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid var(--line)}.crumb strong{color:var(--ink)}.crumb .sep{color:#bdbdbd}.banner{background:var(--soft);border:1px solid var(--ink);border-left-width:5px;padding:10px 14px;border-radius:8px;margin-bottom:18px;font-size:14px}.admin{min-height:100vh;background:var(--white)}.adminbar{background:var(--ink);color:#fff}.adminbar-in{display:flex;align-items:center;gap:28px;padding-top:14px;padding-bottom:14px}.admin-logo{font-size:18px;letter-spacing:-.02em}.tag{display:inline-block;background:#fff;color:var(--ink);font-size:10px;font-weight:800;letter-spacing:.1em;padding:2px 8px;border-radius:999px;margin-left:6px;vertical-align:middle}.admin-nav{display:flex;gap:20px;flex:1 1}.admin-nav a{color:#e0e0e0;text-decoration:none;font-size:14px;font-weight:500}.admin-nav a:hover{color:#fff;text-decoration:underline}.seg{display:inline-flex;gap:6px}.seg label{margin:0}.seg input{position:absolute;opacity:0;width:0;height:0}.seg span{display:inline-block;padding:6px 14px;border:1px solid #bdbdbd;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;color:var(--muted);background:#fff}.seg input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.seg-a input:checked+span{background:#fff;color:var(--ink);border:2px dashed var(--ink);padding:5px 13px}.seg-l input:checked+span{background:#e0e0e0;color:var(--ink);border-color:var(--ink)}.seg input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.receipt{max-width:660px}.receipt th{text-transform:none;font-size:14px;letter-spacing:0;width:38%;color:var(--ink)}.nav a{display:flex;justify-content:space-between;gap:8px}.nav a,.nav-badge{align-items:center}.nav-badge{background:#fff;color:#000;font-size:11px;font-weight:800;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:inline-flex;justify-content:center;flex-shrink:0}.nav a.active .nav-badge{background:#000;color:#fff}.nav-group-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;border:0;color:#e8e8e8;font:inherit;font-size:15px;font-weight:700;text-align:left;padding:9px 12px;border-radius:8px;cursor:pointer}.nav-group-btn:hover{background:#1f1f1f}.nav-group-btn:focus-visible{outline:2px solid #fff;outline-offset:-2px}.nav-group.has-active>.nav-group-btn{box-shadow:inset 3px 0 0 #fff}.nav-group-end{display:inline-flex;align-items:center;gap:8px}.nav-chev{display:inline-block;width:7px;height:7px;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);transition:transform .15s}.nav-group.open .nav-chev{transform:rotate(45deg)}.nav-sub{margin:2px 0 6px 18px;padding-left:8px;border-left:1px solid #3a3a3a;display:flex;flex-direction:column;gap:1px}.nav-sub a{font-size:14px;padding:7px 10px}[data-sidebar=light] .nav-group-btn{color:var(--ink)}[data-sidebar=light] .nav-group-btn:hover{background:var(--soft)}[data-sidebar=light] .nav-group.has-active>.nav-group-btn{box-shadow:inset 3px 0 0 var(--ink)}[data-sidebar=light] .nav-sub{border-left-color:var(--line)}[data-sidebar=light] .nav-badge{background:var(--ink);color:#fff}[data-sidebar=light] .nav a.active .nav-badge{background:#fff;color:var(--ink)}@media (prefers-reduced-motion:reduce){.nav-chev{transition:none}}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}.tabs a{padding:6px 14px;border:1px solid #bdbdbd;border-radius:999px;font-size:13px;font-weight:600;color:var(--muted);background:#fff;text-decoration:none}.tabs a.active{background:var(--ink);color:#fff;border-color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border:1px solid #bdbdbd;border-radius:999px;font-size:13px;font-weight:600;background:#fff;color:var(--ink);text-decoration:none;margin:0}.chip.link{padding:6px 14px}.chip.link:hover{background:var(--ink);color:#fff}.chip-x{border:0;background:transparent;cursor:pointer;font-size:18px;line-height:1;padding:0 6px;color:var(--muted)}.chip-x:hover{color:var(--ink)}.inline-form{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap}.inline-form input,.inline-form select{max-width:260px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.link-btn{border:0;background:none;padding:0;color:var(--muted);text-decoration:underline;cursor:pointer;font:inherit}.day-checks{border:1px solid var(--line);border-radius:8px;padding:10px 14px;display:flex;flex-wrap:wrap;gap:6px 16px;margin:0}.day-checks legend{font-size:13px;font-weight:700;padding:0 6px}.check{display:inline-flex;align-items:center;gap:6px;margin:0;font-weight:500}.check input{width:auto}table.timetable td,table.timetable th{vertical-align:top;min-width:110px}table.timetable .today-col{background:#f1f1f1}.period strong{display:block}.small-val{font-size:16px}.report-card{border:2px solid var(--ink);padding:22px;margin:0 0 24px;background:#fff;max-width:720px;page-break-after:always;break-after:page}.rc-head{text-align:center;margin-bottom:14px}.rc-head h2{margin:0}.rc-title{display:inline-block;margin-top:8px;padding:3px 14px;border:1px solid var(--ink);font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:13px}.report-card table{width:100%;border-collapse:collapse;margin-bottom:14px}.report-card td,.report-card th{border:1px solid #bdbdbd;padding:6px 10px;text-align:left;font-size:14px}.report-card .num{text-align:right}.rc-info th{width:15%}.rc-info th,.rc-marks tfoot th,.rc-marks thead th{background:#f1f1f1}.rc-fail td{font-weight:700}.rc-result{display:flex;flex-wrap:wrap;gap:10px 28px;border:1px solid var(--ink);padding:10px 14px;margin-bottom:26px}.rc-result div{display:flex;flex-direction:column}.rc-sign{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-top:36px}.rc-sign>div:not(.small){border-top:1px solid var(--ink);padding-top:4px;min-width:150px;text-align:center;font-size:13px}@media (max-width:900px){.hero-grid{grid-template-columns:1fr;padding-top:44px;padding-bottom:44px}.display{font-size:40px}.topnav{display:none}}.nav-heading{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#8a8a8a;padding:14px 12px 4px}.nav-heading:first-child{padding-top:0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));grid-gap:16px;gap:16px;align-items:start}.grid2>.card{margin:0}.stat.link{text-decoration:none;display:block}.stat.link:hover{border-color:var(--ink)}.stat.ok .stat-value{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}dl.facts.compact{margin:10px 0;padding:10px 0;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.locked-note{background:var(--soft);border:1px solid var(--ink);border-left-width:5px;border-radius:8px;padding:10px 14px;font-size:14px}.scroll-list{max-height:260px;overflow-y:auto;font-size:14px;display:flex;flex-direction:column;gap:4px}.btn.danger{background:#fff;color:var(--ink);border:1px dashed var(--ink)}.btn.sm{padding:6px 12px;font-size:13px}.checks{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 12px}label.check{display:inline-flex;align-items:center;gap:8px;margin:0;padding:7px 12px;border:1px solid #bdbdbd;border-radius:999px;font-size:14px;cursor:pointer}label.check input{width:auto;margin:0}.creds{border:2px solid var(--ink);border-radius:10px;padding:14px;background:#fff}.creds code{font-size:14px;font-weight:700}.quick{display:flex;gap:8px;margin-bottom:10px}.seg-present input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}.seg-absent input:checked+span{background:#fff;color:var(--ink);border:2px dashed var(--ink);padding:5px 13px}.seg-leave input:checked+span{background:#d9d9d9;color:var(--ink);border-color:var(--ink)}.seg-late input:checked+span{background:#fff;color:var(--ink);border:2px solid var(--ink);padding:5px 13px}.badge.st-present{background:var(--ink);color:#fff;border-color:var(--ink);margin-left:0}.badge.st-absent{background:#fff;border:1px dashed var(--ink);margin-left:0}.badge.st-leave{background:#d9d9d9;margin-left:0}.badge.st-late{background:#fff;border:1px solid var(--ink);margin-left:0}.chart{margin:0}.chart figcaption{font-weight:700;font-size:14px;margin-bottom:8px}.chart svg{width:100%;height:auto;max-height:260px;display:block}.legend{display:flex;gap:16px;font-size:12px;color:var(--muted);margin-top:4px}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px}.hbars{display:flex;flex-direction:column;gap:8px}.hbar{display:grid;grid-template-columns:110px 1fr 56px;grid-gap:10px;gap:10px;align-items:center;font-size:13px}.hbar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar-val{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hbar-track,.meter-track{position:relative;display:block;height:12px;background:var(--soft);border:1px solid #d0d0d0;border-radius:999px;overflow:visible}.hbar-track i,.meter-track i{display:block;height:100%;background:var(--ink);border-radius:999px}.hbar-track i.low,.meter-track i.low{background:repeating-linear-gradient(45deg,#0a0a0a 0 4px,#8a8a8a 4px 8px)}.hbar-track b,.meter-track b{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--ink)}.meter{padding:6px 0}.meter-track{height:16px}.meter-scale{justify-content:space-between;font-size:12px;margin-top:8px}.cal-legend,.meter-scale{display:flex;color:var(--muted)}.cal-legend{flex-wrap:wrap;gap:16px;font-size:13px;margin:6px 0 14px}.cal-legend span{display:inline-flex;align-items:center;gap:6px}.lg{display:inline-block;width:14px;height:14px;border:1px solid #bdbdbd;border-radius:3px}.lg-work{background:#fff}.lg-off{background:var(--soft)}.lg-hol{background:repeating-linear-gradient(45deg,#fff 0 3px,#cfcfcf 3px 6px)}.lg-exam{background:var(--ink)}.lg-today{border:2px solid var(--ink)}.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:16px;gap:16px}.cal-month{border:1px solid var(--line);border-radius:var(--radius);padding:12px}.cal-title{font-weight:700;margin-bottom:8px}.cal-days,.cal-head{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:3px;gap:3px}.cal-head span{font-size:10px;color:var(--muted);text-align:center;text-transform:uppercase}.cal-day{position:relative;min-height:32px;border:1px solid var(--line);border-radius:5px;font-size:12px;padding:2px 4px;background:#fff}.cal-day em{position:absolute;right:3px;bottom:1px;font-style:normal;font-weight:800;font-size:11px}.cal-blank{min-height:32px}.cal-off{background:var(--soft);color:#9a9a9a}.cal-out{background:#fff;color:#cfcfcf;border-style:dashed}.cal-hol{background:repeating-linear-gradient(45deg,#fff 0 3px,#d9d9d9 3px 6px)}.cal-exam{background:var(--ink)}.cal-exam,.cal-exam em{color:#fff}.cal-today{outline:2px solid var(--ink);outline-offset:1px;font-weight:800}.m-a,.m-p{color:var(--ink)}.m-a{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.m-l{color:#6b6b6b}.m-t{color:var(--ink);font-style:italic}b.m-a,b.m-l,b.m-p{font-weight:800}.matrix-wrap{border:1px solid var(--line);border-radius:var(--radius)}table.matrix{font-size:12px;border-collapse:separate;border-spacing:0}table.matrix td,table.matrix th{padding:6px 5px;text-align:center;white-space:nowrap}table.matrix th.day small{display:block;font-size:9px;font-weight:400}table.matrix .stick{position:-webkit-sticky;position:sticky;left:0;background:#fff;text-align:left;min-width:150px;z-index:1;border-right:1px solid var(--line)}.low-pct{font-weight:800;text-decoration:underline;text-decoration-thickness:2px}td.a,td.l,td.p,td.t{font-weight:700}td.a{background:repeating-linear-gradient(45deg,#fff 0 3px,#e4e4e4 3px 6px)}.portal-pick{width:100%;max-width:860px}.portal-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px;margin-top:22px}.portal-card{display:flex;flex-direction:column;gap:6px;padding:22px;border:2px solid var(--ink);border-radius:12px;text-decoration:none;background:#fff}.portal-card:hover{background:var(--ink);color:#fff}.portal-card strong{font-size:20px}.portal-card span{font-size:14px;opacity:.75}.portal-card em{font-style:normal;font-weight:700;margin-top:10px}.portal-links{margin-top:14px}.voucher{max-width:720px;margin:0 auto 24px;border:2px solid var(--ink);border-radius:6px;padding:24px;background:#fff}.v-head{display:flex;justify-content:space-between;gap:16px;border-bottom:2px solid var(--ink);padding-bottom:12px}.v-school{font-size:20px}.v-title{text-align:right;font-weight:800;letter-spacing:.06em}.v-status{display:inline-block;margin-top:4px;font-size:11px;border:1px solid var(--ink);padding:2px 10px;border-radius:999px}.v-status.paid{background:var(--ink);color:#fff}.v-table{margin-top:10px}.v-table tr.sum td{font-weight:800;border-top:2px solid var(--ink)}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.v-accounts,.v-pays{margin-top:14px;padding:10px 12px;background:var(--soft);border-radius:6px;display:flex;flex-direction:column;gap:2px}.v-sign{display:flex;justify-content:space-between;margin-top:44px}.v-sign span{border-top:1px solid var(--ink);padding-top:4px;min-width:150px;text-align:center}.slip-cols{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:10px}.total.net{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding:12px 14px;border:2px solid var(--ink);border-radius:6px;font-size:18px}.page-break{page-break-after:always;break-after:page}@media (max-width:820px){.slip-cols{grid-template-columns:1fr}.hbar{grid-template-columns:80px 1fr 48px}}.chat{display:flex;flex-direction:column;gap:12px;margin:16px 0}.msg{max-width:78%;border:1px solid var(--line);border-radius:12px;padding:10px 14px;background:#fff;align-self:flex-start}.msg.mine{align-self:flex-end;background:var(--soft);border-color:#cfcfcf}.msg.principal{border:2px solid var(--ink)}.msg-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:13px;margin-bottom:4px}.msg-head .badge{margin-left:0}.msg-body{white-space:pre-wrap;word-break:break-word;font-size:15px}.chat-form{display:flex;flex-direction:column;gap:10px}textarea{width:100%;padding:10px 12px;border:1px solid #bdbdbd;border-radius:8px;font:inherit;font-size:15px;resize:vertical}textarea:focus{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}details.card>summary{cursor:pointer}.claim{border-top:1px solid var(--line);padding-top:8px;margin-top:8px}.claim-edit{margin:6px 0 10px}.claim-edit summary{cursor:pointer;font-size:13px;color:var(--muted);text-decoration:underline}.claim-edit form{margin-top:10px}dialog.popup{border:2px solid var(--ink);border-radius:14px;padding:22px;width:min(480px,92vw);color:var(--ink);background:#fff}dialog.popup::-webkit-backdrop{background:rgba(0,0,0,.55)}dialog.popup::backdrop{background:rgba(0,0,0,.55)}.popup-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;font-size:18px}.popup-acc{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--soft)}.popup-num{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}.popup-num code{font-size:16px;font-weight:700;word-break:break-all}.sidebar-extra{padding:12px 12px 0}.btn.sidebar-btn{width:100%;background:#fff;color:var(--ink);text-align:center}.card,.stat{box-shadow:0 1px 2px rgba(0,0,0,.04)}.stat:hover{border-color:#bdbdbd}.content h1{margin-bottom:14px}.content>.muted:first-of-type{max-width:760px}tbody tr:last-child td{border-bottom:0}.filters .btn{margin-bottom:1px}.install-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--ink);color:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 6px 24px rgba(0,0,0,.3);max-width:560px;margin:0 auto}.install-bar .btn{background:#fff;color:var(--ink)}.install-bar .linklike{color:#cfcfcf}.auth-wrap,.shell{--ink:var(--brand,#0a0a0a);--ink-2:color-mix(in srgb,var(--ink) 82%,#000)}.auth-wrap .btn,.shell .btn{border-color:var(--ink)}.sidebar-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;padding-right:4px}.sidebar-brand{min-width:0}.brand-row{display:flex;align-items:center;gap:10px;padding:0 12px 16px}.brand-logo{height:38px;width:38px;object-fit:contain;border-radius:8px;background:#fff;padding:2px;flex-shrink:0}.brand-name{font-weight:800;font-size:15px;line-height:1.25;color:#fff}.login-logo{display:block;max-height:64px;max-width:160px;object-fit:contain;margin-bottom:8px}.logo-preview{max-height:90px;max-width:220px;object-fit:contain;border:1px solid var(--line);border-radius:10px;padding:6px}.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;color:#fff;flex-shrink:0;margin-top:-2px}.bell,.bell:hover{text-decoration:none}.bell:hover{background:rgba(255,255,255,.14)}.bell b{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#fff;color:var(--ink);border:2px solid var(--ink);font-size:10px;line-height:14px;text-align:center;font-weight:800}[data-sidebar=light] .sidebar{background:#fff;color:var(--ink);border-right:1px solid var(--line)}[data-sidebar=light] .brand,[data-sidebar=light] .brand-name,[data-sidebar=light] .who{color:var(--ink)}[data-sidebar=light] .nav-heading,[data-sidebar=light] .school-name,[data-sidebar=light] .who small{color:var(--muted)}[data-sidebar=light] .nav a{color:var(--ink)}[data-sidebar=light] .nav a:hover{background:var(--soft)}[data-sidebar=light] .nav a.active{background:var(--ink);color:#fff}[data-sidebar=light] .sidebar-foot{border-top-color:var(--line)}[data-sidebar=light] .linklike{color:var(--muted)}[data-sidebar=light] .bell{color:var(--ink)}[data-sidebar=light] .bell:hover{background:var(--soft)}[data-sidebar=light] .bell b{border-color:#fff}[data-sidebar=light] .bell b,[data-sidebar=light] .btn.sidebar-btn{background:var(--ink);color:#fff}.mobile-bar,.scrim{display:none}.notes{display:flex;flex-direction:column;gap:8px}.note{width:100%;display:grid;grid-gap:2px;gap:2px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink)}.note:hover{border-color:var(--ink)}.note.unread{border-left:5px solid var(--ink);background:var(--soft)}.note-title{font-weight:700}.note-body{font-size:14px;color:var(--ink-2)}.note-time{font-size:12px;color:var(--muted)}.notice{border-top:1px solid var(--line);padding:10px 0 2px;margin-top:10px}.notice:first-of-type{border-top:0;margin-top:0}.swatches{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0 14px}.swatch{width:38px;height:38px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #bdbdbd;cursor:pointer;padding:0}.swatch.on{box-shadow:0 0 0 3px var(--ink)}.swatch-custom{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:13px}.swatch-custom input{width:44px;height:38px;padding:2px;margin:0}.preview-box{display:flex;border:1px solid var(--line);border-radius:12px;overflow:hidden;min-height:150px}.pv-side{width:150px;padding:14px;display:flex;flex-direction:column;gap:6px;font-size:13px}.pv-side strong{margin-bottom:6px}.pv-main{flex:1 1;padding:14px;background:#fff}.pv-btn{display:inline-block;color:#fff;border-radius:8px;padding:6px 14px;font-size:13px;font-weight:600}@media (max-width:820px){.shell{display:block}.mobile-bar{display:flex;align-items:center;gap:12px;position:-webkit-sticky;position:sticky;top:0;z-index:30;background:var(--ink);color:#fff;padding:8px 12px;height:54px}[data-sidebar=light] .mobile-bar{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}.mobile-brand{flex:1 1;font-size:17px;letter-spacing:-.02em;display:flex;align-items:center}.mobile-brand .brand-logo{height:34px;width:34px}.burger,.mobile-right .bell{color:inherit}.burger{width:42px;height:42px;border:0;background:transparent;display:inline-flex;flex-direction:column;justify-content:center;gap:5px;padding:0 9px;cursor:pointer}.burger span{display:block;height:2px;background:currentColor;border-radius:2px}.sidebar{position:fixed;z-index:50;top:0;left:0;bottom:0;width:min(300px,86vw);height:auto;transform:translateX(-102%);transition:transform .22s ease;padding-top:16px;box-shadow:8px 0 30px rgba(0,0,0,.3)}.menu-open .sidebar{transform:none}.sidebar-top .bell{display:none}.scrim{display:block;position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.5);opacity:0;pointer-events:none;transition:opacity .2s}.menu-open .scrim{opacity:1;pointer-events:auto}.nav{flex-direction:column}.nav a,.nav-group-btn{padding:12px}.nav-sub a{padding:11px 10px}.crumb{display:none}.content{padding:16px 14px 90px}h1{font-size:23px}.adminbar-in{flex-wrap:wrap;gap:12px}.section-title{font-size:28px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:14px}.stat-value{font-size:22px}.grid2{grid-template-columns:1fr}.card{padding:16px}.filters .btn,.filters label,.row>*{flex-basis:100%}input,select,textarea{font-size:16px}.btn{padding:12px 18px}.btn.sm{padding:8px 14px}.content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}.row-gap{align-items:flex-start}.seg{flex-wrap:wrap}.msg{max-width:92%}.preview-box{flex-direction:column}.pv-side{width:auto;flex-direction:row;flex-wrap:wrap}.install-bar{bottom:8px}}@media (max-width:420px){.stats{grid-template-columns:1fr 1fr}.cal-grid{grid-template-columns:1fr}}@media print{.banner,.crumb,.no-print,.quick,.sidebar{display:none!important}.shell{display:block}.content{padding:0;max-width:none}.report-card{border-width:1px;margin:0;max-width:none}.card{border:0;padding:0}.voucher{border-width:1px;margin-bottom:0;max-width:none}body{background:#fff}.matrix-wrap{overflow:visible}table.matrix{font-size:9px}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.marks-entry .paper-head{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end;justify-content:space-between}.paper-stats{display:flex;gap:10px;flex-wrap:wrap}.paper-stats div{border:1px solid var(--line);border-radius:8px;padding:8px 14px;min-width:92px;background:var(--white)}.paper-stats b{display:block;font-size:20px;letter-spacing:-.02em;line-height:1.2}.paper-stats small{color:var(--muted);font-size:11px}.notice{border:1px solid var(--ink);border-radius:8px;padding:10px 14px;background:var(--soft);margin:0;font-size:14px}table.mk{width:100%;border-collapse:collapse}table.mk td,table.mk th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}table.mk .mk-n{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mk-input{width:96px;text-align:right;padding:8px 10px}.mk-input:disabled{background:var(--soft)}tr.mk-bad .mk-input{border-color:var(--ink);outline:2px solid var(--ink)}.marks-entry .actions{display:flex;gap:10px;flex-wrap:wrap}.paper-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px;margin:10px 0 18px}.paper{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:var(--white);text-decoration:none;color:var(--ink)}.paper.on,.paper:hover{border-color:var(--ink)}.paper.on{box-shadow:4px 4px 0 var(--ink)}.paper h4{margin:0;font-size:16px}.paper .meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.bar{height:8px;border:1px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--white)}.bar>i{display:block;height:100%;background:var(--ink)}table.sheet{width:100%;border-collapse:collapse;font-size:14px}table.sheet td,table.sheet th{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.sheet th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}table.sheet .n{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.sheet td.fail{font-weight:800;text-decoration:underline}table.sheet td.sticky,table.sheet th.sticky{position:-webkit-sticky;position:sticky;left:0;background:var(--white)}.tracker td .bar{min-width:90px}.inline-check{display:inline-flex;align-items:center;gap:6px;font-weight:400}.mk-hint{font-size:12px;font-weight:700;margin-top:2px}.site-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:12px;gap:12px;margin:12px 0 16px}.site-thumb{border:1px solid var(--line);border-radius:var(--radius);padding:8px;display:flex;flex-direction:column;gap:6px;background:var(--white)}.site-thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:6px;background:var(--soft)}.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));grid-gap:14px;gap:14px;margin-top:18px}.dl-card{display:flex;flex-direction:column;gap:8px}.dl-card h3{margin:0}.dl-card p{margin:0;font-size:14px;flex:1 1}.dl-pick{display:grid;grid-gap:8px;gap:8px}.dl-pick label{display:grid;grid-gap:4px;gap:4px;font-size:13px;font-weight:600}.dl-note{margin-top:16px;font-size:13px}.csv-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;border:2px solid #0a0a0a;border-radius:6px;padding:6px 14px;text-decoration:none!important;color:#0a0a0a;background:var(--accent,#ffd400);margin-left:10px;vertical-align:middle;white-space:nowrap;box-shadow:2px 2px 0 #0a0a0a;transition:transform .1s,box-shadow .1s}.csv-link:before{content:"\2193";font-size:15px;line-height:1}.csv-link.csv-up:before{content:"\2191"}.csv-link.csv-up{background:#fff}.csv-link:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 #0a0a0a;background:var(--accent,#ffd400);color:#0a0a0a}@media print{.csv-link,.dl-note{display:none}}.side-toggle{display:inline-flex;align-items:center;gap:6px;margin-right:12px;font:inherit;font-size:13px;font-weight:700;color:var(--ink);background:#fff;border:1.5px solid var(--ink);border-radius:999px;padding:4px 12px;cursor:pointer}.side-toggle:hover{background:var(--ink);color:#fff}@media (max-width:820px){.side-toggle{display:none}}.eyebrow{display:inline-block;padding:2px 9px;border-radius:4px}.badge.ok,.badge.st-present,.eyebrow,.shell[data-sidebar] .nav a.active{background:var(--accent);color:var(--accent-ink)}.badge.ok,.badge.st-present{border-color:var(--ink)}.content h1:after{content:"";display:block;width:48px;height:8px;background:var(--accent);border:2px solid var(--ink);border-radius:3px;margin-top:9px}.stat{border-top:5px solid var(--accent)}.shell .btn:not(.ghost):hover,.side-toggle:hover{background:var(--accent);border-color:var(--ink);color:var(--accent-ink)}.shell a:not(.btn):not(.csv-link):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:3px}.auth-card{box-shadow:8px 8px 0 var(--accent)}.crumb strong{text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:4px}.checklist{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-gap:6px;gap:6px}.checklist li{display:flex;gap:10px;align-items:center}.checklist li span{display:inline-grid;place-items:center;width:22px;height:22px;border:2px solid var(--ink,#0a0a0a);border-radius:50%;font-size:12px;font-weight:800}.checklist li.done{color:var(--muted,#666);text-decoration:line-through}.checklist li.done span{background:var(--accent)}.idcards{display:grid;grid-template-columns:repeat(auto-fill,330px);grid-gap:14px;gap:14px}.idcard{width:330px;height:208px;border:2px solid #0a0a0a;border-radius:10px;overflow:hidden;display:flex;flex-direction:column;page-break-inside:avoid;break-inside:avoid;background:#fff;color:#0a0a0a}.idcard-top{background:var(--accent);border-bottom:2px solid #0a0a0a;padding:6px 10px;display:flex;align-items:center;gap:8px}.idcard-top img{height:28px}.idcard-top b{font-size:13px;flex:1 1}.idcard-top small{font-size:10px}.idcard-body{display:flex;gap:10px;padding:8px 10px;flex:1 1}.idcard-photo{width:64px;height:80px;border:1px dashed #0a0a0a;display:grid;place-items:center;font-size:9px;color:#777;flex:none}.idcard dl,.rollslip dl{margin:0;display:grid;grid-gap:2px;gap:2px;font-size:11px}.idcard dl div,.rollslip dl div{display:flex;gap:6px}.idcard dt,.rollslip dt{width:52px;color:#555;flex:none}.idcard dd,.rollslip dd{margin:0;font-weight:700}.idcard-foot{border-top:1px solid #0a0a0a;font-size:9px;padding:3px 10px;text-align:center}.rollslips{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}.rollslip{border:2px solid #0a0a0a;padding:10px 14px;page-break-inside:avoid;break-inside:avoid;background:#fff;color:#0a0a0a}.rollslip-head{display:flex;justify-content:space-between;gap:8px;font-size:12px;border-bottom:1px solid #0a0a0a;padding-bottom:4px}.rollslip-no{font-size:22px;font-weight:800;margin:6px 0}.rollslip dl{font-size:13px}.rollslip-sign{display:flex;justify-content:space-between;margin-top:26px;font-size:11px}.rollslip-sign span{border-top:1px solid #0a0a0a;padding-top:2px;min-width:90px;text-align:center}.certificate{max-width:720px;margin:20px auto;border:3px double #0a0a0a;padding:40px 48px;background:#fff;color:#0a0a0a;line-height:1.8}.certificate h1{text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:24px;margin:18px 0}.cert-head{text-align:center;border-bottom:2px solid #0a0a0a;padding-bottom:10px}.cert-head img{height:54px}.cert-head h2{margin:4px 0}.cert-head p{margin:0;font-size:13px}.cert-sign{display:flex;justify-content:space-between;margin-top:70px}.cert-sign span{border-top:1px solid #0a0a0a;padding-top:4px;min-width:150px;text-align:center}@media print{.rollslips{grid-template-columns:1fr 1fr}.certificate{margin:0 auto}@page{margin:12mm}}.inv{max-width:560px;margin:0 auto 24px;background:#fff;color:#0a0a0a;page-break-inside:avoid;break-inside:avoid}.inv *{box-sizing:border-box}.inv-school{font-size:20px;letter-spacing:-.01em}.inv-fields{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;grid-gap:10px 18px;gap:10px 18px}.inv-fields div{display:flex;flex-direction:column}.inv-fields dt{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#666}.inv-fields dd{margin:0;font-weight:700;font-size:15px}.inv-items{list-style:none;margin:0 0 12px;padding:8px 0;border-top:1px dashed #999;border-bottom:1px dashed #999;display:grid;grid-gap:3px;gap:3px;font-size:13px}.inv-items li{display:flex;justify-content:space-between;gap:10px}.inv-amount{display:flex;flex-direction:column;gap:2px}.inv-amount small{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.inv-amount b{font-size:34px;letter-spacing:-.02em;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inv-amount em{font-style:normal;font-size:12px}.inv-note{margin-top:12px;font-size:12px;display:grid;grid-gap:2px;gap:2px;color:#333}.inv-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.inv-kind{font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}.inv-meta{font-size:13px;color:#555}.inv-stamp{font-size:11px;font-weight:800;letter-spacing:.1em;padding:3px 12px;border:2px solid;border-radius:999px}.inv-stamp.paid{background:#0a0a0a;color:#fff;border-color:#0a0a0a}.inv-classic{border:2px solid #0a0a0a;padding:22px 26px}.inv-classic .inv-head{text-align:center;border-bottom:2px solid #0a0a0a;padding-bottom:10px;margin-bottom:12px;display:flex;flex-direction:column}.inv-classic .inv-head span{font-size:12px;color:#555}.inv-classic .inv-meta{display:block;margin-top:2px}.inv-classic .inv-fields{border-top:1px solid #0a0a0a;border-bottom:1px solid #0a0a0a;padding:12px 0}.inv-classic .inv-amount{border:2px solid #0a0a0a;padding:10px 14px;flex-direction:row;align-items:baseline;justify-content:space-between;flex-wrap:wrap}.inv-classic .inv-amount em{width:100%}.inv-modern{border:2px solid #0a0a0a;border-radius:18px;overflow:hidden;box-shadow:5px 5px 0 #0a0a0a}.inv-modern .inv-band{background:var(--accent,#ffd400);color:#0a0a0a;padding:16px 22px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:2px solid #0a0a0a}.inv-modern .inv-band>div{display:flex;flex-direction:column}.inv-modern .inv-band span:not(.inv-stamp){font-size:12px}.inv-modern .inv-stamp{background:#fff}.inv-modern .inv-stamp.paid{background:#0a0a0a;color:#fff}.inv-modern .inv-pad{padding:18px 22px 22px}.inv-modern .inv-fields div{background:#f6f6f3;border-radius:10px;padding:8px 12px}.inv-modern .inv-amount{background:#0a0a0a;color:#fff;border-radius:14px;padding:14px 18px}.inv-modern .inv-amount b{color:var(--accent,#ffd400)}.inv-bold{border:3px solid #0a0a0a;border-radius:6px;overflow:hidden}.inv-bold .inv-top{background:#0a0a0a;color:#fff;padding:14px 22px 10px;display:flex;justify-content:space-between;align-items:baseline;gap:10px}.inv-bold .inv-top span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent,#ffd400)}.inv-bold .inv-amount{background:#0a0a0a;color:#fff;padding:2px 22px 18px}.inv-bold .inv-amount b{font-size:52px;color:var(--accent,#ffd400)}.inv-bold .inv-amount small{color:#bbb}.inv-bold .inv-tear{border-top:3px dashed #0a0a0a;position:relative}.inv-bold .inv-pad{padding:16px 22px 20px}.inv-bold .inv-fields dd{font-size:16px}@media print{.inv{max-width:none;margin-bottom:0;box-shadow:none}}.design-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:16px;gap:16px}.design-opt{display:flex;flex-direction:column;gap:4px;border:2px solid var(--line,#ddd);border-radius:12px;padding:12px;cursor:pointer;background:#fff}.design-opt.on{border-color:#0a0a0a;box-shadow:4px 4px 0 #0a0a0a}.design-opt input{margin-bottom:4px;align-self:flex-start}.design-prev{margin-top:8px;pointer-events:none;zoom:.62}.design-prev .inv{margin:0}.dl-card{border:2px solid #0a0a0a;box-shadow:4px 4px 0 #0a0a0a;border-radius:8px}.dl-card .btn{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:8px;background:var(--accent,#ffd400);color:#0a0a0a;border:2px solid #0a0a0a;font-weight:700}.dl-card .btn:before{content:"\2193";font-size:16px}.dl-card .btn:hover{box-shadow:3px 3px 0 #0a0a0a;transform:translate(-1px,-1px)}.dl-card select{width:100%}.sk-wrap{display:grid;grid-gap:16px;gap:16px}.sk{background:linear-gradient(90deg,#eee 25%,#f7f7f7 50%,#eee 75%);background-size:200% 100%;animation:sk-move 1.2s linear infinite;border:2px solid #ddd}.sk-title{height:34px;width:40%}.sk-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}.sk-card{height:90px}.sk-block{height:260px}@keyframes sk-move{to{background-position:-200% 0}}@media (max-width:640px){.sk-row{grid-template-columns:1fr}}.rc-badge{display:none}.report-card{-webkit-print-color-adjust:exact;print-color-adjust:exact}.rc-design-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.rc-prev{zoom:.55}.rc-prev .report-card{margin:0;max-width:none;page-break-after:auto;break-after:auto}@media (max-width:560px){.rc-prev{zoom:.42}}.rc-modern{border:1px solid #e3e3df;border-radius:18px;padding:0 0 22px;overflow:hidden;box-shadow:0 2px 10px rgba(0,0,0,.06)}.rc-modern>:not(.rc-head){margin-left:22px;margin-right:22px;width:calc(100% - 44px)}.rc-modern .rc-head{position:relative;background:var(--accent,#ffd400);padding:20px 160px 18px 22px;text-align:left;margin-bottom:18px}.rc-modern .rc-head .muted{color:#3b3500}.rc-modern .rc-title{border:0;padding:0;letter-spacing:.08em}.rc-modern .rc-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;right:18px;top:50%;transform:translateY(-50%);width:112px;height:82px;border-radius:14px;background:#0a0a0a;color:#fff}.rc-modern .rc-badge b{font-size:28px;line-height:1;letter-spacing:-.03em}.rc-modern .rc-badge span{font-size:11px;color:var(--accent,#ffd400);margin-top:4px;font-weight:700}.rc-modern td,.rc-modern th{border:0;border-bottom:1px solid #ececea}.rc-modern .rc-info th,.rc-modern .rc-marks tfoot th,.rc-modern .rc-marks thead th{background:#f6f6f3}.rc-modern .rc-marks tbody tr:nth-child(2n) td{background:#fafaf8}.rc-modern .rc-result{border:0;background:#f6f6f3;border-radius:12px}.rc-bold{border:3px solid #0a0a0a;padding:0 0 22px}.rc-bold>:not(.rc-head){margin-left:22px;margin-right:22px;width:calc(100% - 44px)}.rc-bold .rc-head{position:relative;background:#0a0a0a;color:#fff;text-align:left;padding:20px 150px 20px 22px;margin-bottom:18px}.rc-bold .rc-head h2{font-size:26px;letter-spacing:-.03em}.rc-bold .rc-head .muted{color:#c9c9c9}.rc-bold .rc-title{border:0;margin-top:10px}.rc-bold .rc-badge,.rc-bold .rc-title{background:var(--accent,#ffd400);color:#0a0a0a}.rc-bold .rc-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:96px;height:96px;border-radius:50%}.rc-bold .rc-badge b{font-size:26px;line-height:1;letter-spacing:-.03em}.rc-bold .rc-badge span{font-size:11px;font-weight:800;margin-top:3px}.rc-bold .rc-marks tfoot th,.rc-bold .rc-marks thead th{background:#0a0a0a;color:#fff;border-color:#0a0a0a}.rc-bold .rc-marks tbody tr:nth-child(2n) td{background:#f1f1ee}.rc-bold .rc-info th{background:var(--accent,#ffd400)}.rc-bold .rc-result{border:3px solid #0a0a0a}.rc-elegant{border:5px double #0a0a0a;padding:30px 30px 24px;font-family:Georgia,Times New Roman,serif}.rc-elegant .rc-head{border-bottom:1px solid #0a0a0a;padding-bottom:14px}.rc-elegant .rc-head h2{font-family:Georgia,Times New Roman,serif;font-size:28px;letter-spacing:.02em}.rc-elegant .rc-title{border:0;padding:0;font-style:italic;text-transform:none;letter-spacing:.02em;font-size:17px;font-weight:400}.rc-elegant td,.rc-elegant th{border:0;border-bottom:1px solid #c9c9c4;font-size:15px}.rc-elegant .rc-info th,.rc-elegant .rc-marks tfoot th,.rc-elegant .rc-marks thead th{background:transparent;font-weight:700}.rc-elegant .rc-marks thead th{border-bottom:2px solid #0a0a0a}.rc-elegant .rc-marks tfoot th{border-top:2px solid #0a0a0a}.rc-elegant .rc-result{border:0;border-top:1px solid #0a0a0a;border-bottom:1px solid #0a0a0a;padding:12px 4px}.rc-simple{border:0;border-top:3px solid #0a0a0a;padding:16px 4px}.rc-simple .rc-head{text-align:left}.rc-simple .rc-head h2{font-size:22px}.rc-simple .rc-title{border:0;padding:0;margin-top:4px;font-size:12px;letter-spacing:.1em}.rc-simple td,.rc-simple th{border:0;border-bottom:1px solid #d6d6d2;padding:5px 6px;font-size:13.5px}.rc-simple .rc-info th,.rc-simple .rc-marks tfoot th,.rc-simple .rc-marks thead th{background:transparent}.rc-simple .rc-marks thead th{border-bottom:1px solid #0a0a0a}.rc-simple .rc-result{border:0;border-top:1px solid #0a0a0a;padding:10px 0}.rc-bold .rc-info th,.rc-elegant .rc-info th,.rc-modern .rc-info th,.rc-simple .rc-info th{white-space:nowrap;width:auto}.cx-row{display:flex;align-items:flex-end;gap:8px}.cx-row.mine{flex-direction:row-reverse}.cx-row .msg{max-width:min(78%,620px)}.cx-av{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;border:2px solid #0a0a0a;background:#fff;color:#0a0a0a}.cx-av.cx-admin{background:#0a0a0a;color:#fff}.cx-av.cx-teacher{background:#ffd400}.cx-day{text-align:center;margin:14px 0 10px}.cx-day span{display:inline-block;padding:3px 12px;border-radius:999px;background:#efefec;color:#555;font-size:12px;font-weight:600}.cx-wait{border:2px dashed #bdbdbd;border-radius:10px;padding:8px 14px;font-size:14px;color:#555;margin:10px 0}.cx-wait.you{border:2px solid #0a0a0a;background:#ffd400;color:#0a0a0a;font-weight:700}.cx-quick{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cx-quick .chip{cursor:pointer;font-size:13px}@media (max-width:560px){.cx-row .msg{max-width:82%}.cx-av{flex-basis:28px;width:28px;height:28px;font-size:10px}}.print-only{display:none}@media print{.print-only{display:block}}.photo-box{display:flex;gap:14px;align-items:flex-start;margin:8px 0}.photo-box img,.photo-empty{width:90px;height:120px;object-fit:cover;border:2px solid #0a0a0a;border-radius:8px;background:#f4f4f2}.photo-empty{display:grid;place-items:center;font-size:12px;color:#777}.idcard-photo img{width:100%;height:100%;object-fit:cover;display:block}.idcard-photo.has{border-style:solid}.idcard-back{justify-content:space-between;padding:12px 14px;font-size:11px;text-align:center}.idcard-back p{margin:2px 0}.idcard-back .sign{border-top:1px solid #0a0a0a;width:120px;margin:18px auto 0;padding-top:2px;font-size:9px}.idcards.pair{grid-template-columns:repeat(auto-fill,330px)}.lnp-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.lnp h3{margin:2px 0 4px}.lnp.soon{border-color:#0a0a0a;background:#fffbe0}.lnp-bar{height:8px;border-radius:99px;background:#ececea;overflow:hidden;margin:8px 0 6px}.lnp-bar span{display:block;height:100%;background:#0a0a0a;transition:width .4s}.lnp-foot{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px;padding-top:10px;border-top:1px solid var(--line,#e5e5e0)}@media (max-width:640px){.lnp-grid{grid-template-columns:1fr;gap:12px}}.sq-msg{white-space:pre-wrap;background:#f6f6f3;border:1px solid var(--line,#e3e3df);border-radius:12px;padding:12px 14px;font-size:15px}.nav-fly-title,.nav-group:not(.open)>.nav-sub,.shell.side-rail .nav-group>.nav-sub{display:none}.plan-was{text-decoration:line-through;opacity:.6;margin-right:4px}.inv-elegant{background:#fffdf6;border:1px solid #8a7a45;outline:1px solid #8a7a45;outline-offset:4px;padding:24px 28px;margin:6px auto 30px;font-family:Georgia,Times New Roman,serif}.inv-elegant .inv-head{text-align:center;display:flex;flex-direction:column;gap:2px;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #8a7a45}.inv-elegant .inv-school{font-size:24px;font-weight:700;letter-spacing:.01em}.inv-elegant .inv-head span{font-size:12px;font-style:italic;color:#6b5f33}.inv-elegant .inv-kind{font-size:14px;letter-spacing:.22em;font-weight:700}.inv-elegant .inv-meta{display:block;text-align:center;font-style:italic;margin-top:4px}.inv-elegant .inv-row{justify-content:center;position:relative}.inv-elegant .inv-row .inv-stamp{position:absolute;right:0}.inv-elegant .inv-stamp{border-radius:3px;background:transparent;color:#8a1c1c;border-color:#8a1c1c;font-family:system-ui,sans-serif}.inv-elegant .inv-stamp.paid{background:transparent;color:#1c6b34;border-color:#1c6b34}.inv-elegant .inv-fields dd,.inv-elegant .inv-fields dt{font-family:Georgia,serif}.inv-elegant .inv-fields dt{text-transform:none;font-style:italic;letter-spacing:0;font-size:12px;color:#6b5f33}.inv-elegant .inv-amount{text-align:center;align-items:center;border-top:1px solid #8a7a45;border-bottom:1px solid #8a7a45;padding:10px 0}.inv-elegant .inv-amount b{font-size:36px;font-weight:700}.inv-elegant .inv-note{font-family:system-ui,sans-serif}.inv-minimal{padding:6px 4px;border-top:4px solid #0a0a0a}.inv-minimal .inv-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px 0 8px;flex-wrap:wrap}.inv-minimal .inv-head span{font-size:12px;color:#666}.inv-minimal .inv-school{font-size:18px}.inv-minimal .inv-row{padding-bottom:2px}.inv-minimal .inv-kind{font-size:11px;color:#666;font-weight:700}.inv-minimal .inv-stamp{border:0;padding:0;font-size:11px;color:#666;background:transparent}.inv-minimal .inv-stamp.paid{background:transparent;color:#0a7a2f}.inv-minimal .inv-meta{display:block;margin-bottom:4px}.inv-minimal .inv-fields{gap:6px 18px;margin:10px 0}.inv-minimal .inv-fields dd{font-weight:600;font-size:14px}.inv-minimal .inv-amount{flex-direction:row;justify-content:space-between;align-items:baseline;flex-wrap:wrap;border-top:1px solid #0a0a0a;padding-top:10px}.inv-minimal .inv-amount b{font-size:28px}.inv-minimal .inv-amount em{width:100%}@media print{@page{size:A4;margin:12mm}.content,.main,.page,.shell,body,html{background:#fff!important}.banner,.mobile-bar,.scrim,.shell>aside,.topbar,.trial-banner{display:none!important}.content,.main{padding:0!important;margin:0!important}.inv{width:100%;max-width:560px;margin:0 auto;zoom:1.15}}.card,.content>*,.stat,.stats>*{min-width:0}.content{overflow-x:clip}.stat-label,.stat-value{overflow-wrap:anywhere}@media (max-width:820px){.shell .stat-value.small-val{white-space:normal;font-size:15px;line-height:1.25}.shell .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{position:static!important}.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.seg span{display:block;text-align:center;padding:8px 4px}.seg-a input:checked+span{padding:7px 3px}.table-wrap td:has(.seg){min-width:210px}}.cx-search{display:flex;gap:6px;align-items:center}.cx-search input{min-width:200px}.badge{white-space:nowrap}@media (max-width:820px){.cx-tabs{display:flex;flex-wrap:wrap;gap:8px}.cx-tabs>a.btn{flex:1 1 auto;text-align:center;padding:8px 12px}.cx-search{width:100%;margin-left:0!important}.cx-search input{flex:1 1;min-width:0}.stack-table thead{display:none}.stack-table,.stack-table tbody{display:block}.stack-table tr{display:grid;grid-template-columns:1fr auto;grid-gap:2px 10px;gap:2px 10px;padding:12px 0;border-top:1px solid var(--line)}.stack-table tr:first-child{border-top:0}.stack-table td{display:block;padding:0;border:0}.stack-table td:first-child{grid-column:1/-1;font-weight:700}.stack-table td:last-child{grid-column:2;grid-row:2/4;align-self:center}}.branch-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff8cc;border:1.5px solid #111;border-radius:12px;padding:8px 12px;margin-bottom:12px}.branch-bar-l{font-weight:700}.branch-bar select{width:auto;min-width:180px}.branch-bar-h{color:#555;font-size:13px}.br-card{display:grid;grid-gap:8px;gap:8px}.br-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.br-head h3{margin:0}.br-nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));grid-gap:8px;gap:8px}.br-nums div{background:#f5f5f5;border-radius:10px;padding:8px 10px}.br-nums b{display:block;font-size:18px}.br-nums span{font-size:12px;color:#666}.br-edit summary{cursor:pointer;font-weight:600}.lead-sm{max-width:720px}.todo{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:10px;gap:10px;margin:0 0 18px}.todo a{display:block;background:#fff;border:1.5px solid #111;border-radius:14px;padding:14px;text-decoration:none;color:inherit}.todo a:hover{background:#fff8cc}.todo b{display:block;font-size:15px}.todo span{display:block;font-size:12.5px;color:#666;margin-top:2px}.wd-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.wd-choice{text-align:left;background:#fff;border:2px solid #d4d4d0;border-radius:14px;padding:12px;cursor:pointer;display:grid;grid-gap:8px;gap:8px;font:inherit;color:inherit}.wd-choice.on{border-color:#111;box-shadow:4px 4px 0 #111}.wd-choice span{font-size:13px;color:#666}.wd-schemes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:8px;gap:8px}.wd-scheme{display:flex;align-items:center;gap:6px;background:#fff;border:2px solid #d4d4d0;border-radius:999px;padding:6px 10px;cursor:pointer;font:inherit;font-size:13px;color:inherit}.wd-scheme.on{border-color:#111;background:#fff8cc}.wd-scheme i{width:18px;height:18px;border-radius:50%;border:1px solid rgba(0,0,0,.2);flex:none}.wd-reset{display:flex;align-items:flex-end}input[type=color]{width:64px;height:40px;padding:2px;cursor:pointer}.wd-mock{border:1px solid #ccc;border-radius:10px;overflow:hidden;background:#fff;font-size:0}.wd-nav{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid #e4e4e0}.wd-nav i{width:14px;height:14px;border-radius:50%;background:var(--b)}.wd-nav span{width:26px;height:5px;background:#ccc;border-radius:3px}.wd-nav em{margin-left:auto;width:34px;height:12px;background:var(--a);border-radius:3px}.wd-hero{padding:16px 12px;display:grid;grid-gap:6px;gap:6px}.wd-hero b{display:block;height:9px;width:70%;background:#222;border-radius:2px}.wd-hero b.s{width:45%;height:6px;background:#aaa}.wd-hero u{display:block;width:52px;height:16px;background:var(--a);margin-top:4px;border-radius:3px}.wd-cards{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px;padding:0 12px 12px}.wd-cards s{display:block;height:28px;background:#f4f4f1;border-radius:3px;border:1px solid #ddd}.wd-bold .wd-cards s,.wd-bold .wd-nav{border-color:#111}.wd-bold .wd-cards s{box-shadow:2px 2px 0 #111}.wd-bold .wd-cards s,.wd-bold .wd-hero u{border:2px solid #111}.wd-classic .wd-hero{background:var(--b)}.wd-classic .wd-hero b{background:#fff}.wd-classic .wd-hero b.s{background:rgba(255,255,255,.6)}.wd-classic .wd-hero u{border-radius:1px}.wd-classic .wd-cards{padding-top:12px}.wd-fresh{border-radius:18px}.wd-fresh .wd-hero{background:linear-gradient(135deg,color-mix(in srgb,var(--a) 25%,#fff),#fff)}.wd-fresh .wd-hero u{border-radius:999px}.wd-fresh .wd-cards s{border-radius:10px;border-color:transparent;background:color-mix(in srgb,var(--b) 10%,#fff)}.report-card{width:100%;max-width:none;box-sizing:border-box}.content .report-card table,.report-card table{display:table!important;width:100%!important;table-layout:auto;overflow:visible;white-space:normal}.report-card .rc-marks td:first-child,.report-card .rc-marks th:first-child{width:38%}.report-card .rc-marks td,.report-card .rc-marks th{padding:8px 10px}.report-card .rc-marks .num{text-align:center}.report-card .rc-info{table-layout:fixed}.report-card .rc-info th{width:17%}.report-card .rc-info td{width:33%;word-break:break-word}.rc-result{justify-content:space-between}.rc-result div{flex:1 1 120px}.rc-result strong{font-size:17px}.rc-sign{margin-top:44px}.rc-sign>div:not(.small){flex:1 1;max-width:220px}@media (max-width:560px){.report-card{padding:14px 12px}.report-card td,.report-card th{font-size:13px;padding:7px 6px}.rc-bold>:not(.rc-head),.rc-modern>:not(.rc-head){margin-left:12px;margin-right:12px;width:calc(100% - 24px)!important}.rc-bold .rc-head,.rc-modern .rc-head{padding-right:100px}}@media print{@page{size:A4;margin:10mm}.report-card{width:100%!important;padding:18px 22px;font-size:14px}.report-card .rc-marks td,.report-card .rc-marks th{padding:8px 12px;font-size:14px}.rc-bold>:not(.rc-head),.rc-modern>:not(.rc-head){width:calc(100% - 44px)!important}.rc-bold .rc-head,.rc-modern .rc-head{padding-right:160px}}.report-card .rc-marks{table-layout:fixed}.report-card .rc-marks td:first-child,.report-card .rc-marks th:first-child{width:34%}.report-card .rc-marks td:nth-child(2),.report-card .rc-marks th:nth-child(2){width:15%}.report-card .rc-marks td:nth-child(3),.report-card .rc-marks th:nth-child(3){width:21%}.report-card .rc-marks td:nth-child(4),.report-card .rc-marks th:nth-child(4){width:14%}.report-card .rc-marks td:nth-child(5),.report-card .rc-marks th:nth-child(5){width:16%}.rc-sign{flex-wrap:wrap}@media (max-width:560px){.report-card th{letter-spacing:0!important;font-size:11px!important;text-transform:uppercase}.report-card .rc-marks td{font-size:13px}.report-card .rc-title{font-size:12px;padding:3px 8px}.rc-sign>div:not(.small){min-width:120px}.rc-sign .small{width:100%;text-align:right}}.content .report-card .rc-info,.content .report-card .rc-marks,.report-card .rc-info,.report-card .rc-marks{table-layout:fixed!important}@media (max-width:560px){.report-card th{font-size:10px!important;padding-left:4px;padding-right:4px}.report-card .rc-info th{width:24%}.report-card .rc-info td{width:26%}.report-card .rc-marks td:first-child,.report-card .rc-marks th:first-child{width:32%}.report-card .rc-marks td:nth-child(3),.report-card .rc-marks th:nth-child(3){width:22%}.report-card .rc-marks td:nth-child(2),.report-card .rc-marks th:nth-child(2){width:15%}.report-card .rc-marks td:nth-child(4),.report-card .rc-marks th:nth-child(4){width:13%}.report-card .rc-marks td:nth-child(5),.report-card .rc-marks th:nth-child(5){width:18%}}.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:"SD";display:grid;place-items:center;width:42px;height:42px;margin:0 auto 14px;border-radius:12px;background:var(--accent);color:var(--accent-ink,#000);font-weight:800;font-size:15px;letter-spacing:-.03em}.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)}}