:root{color:#162033;--primary:#1bb3bc;--dark:#1337aa;--danger:#e5484d;--ok:#078f62;--line:#e5eaf2;--muted:#64748b;background:#f4f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}.splash,.authPage{background:linear-gradient(135deg,#f7fbff,#e8fbfc);place-items:center;min-height:100vh;display:grid}.authCard{border:1px solid var(--line);background:#fff;border-radius:26px;width:min(460px,92vw);padding:30px;box-shadow:0 24px 70px #1337aa1f}.brand{align-items:center;gap:14px;margin-bottom:22px;display:flex}.brand.side{margin:0 0 26px}.brandMark{background:linear-gradient(135deg,var(--primary),var(--dark));color:#fff;letter-spacing:-1px;border-radius:17px;place-items:center;width:54px;height:54px;font-weight:900;display:grid}.brand h1,.brand h2{margin:0}.brand p{color:var(--muted);margin:4px 0 0}.form{gap:10px;display:grid}.form label{color:#475569;font-size:13px;font-weight:700}.form input,.form select,.form textarea,.inlineForm input,.inlineForm select{border:1px solid var(--line);background:#fff;border-radius:14px;outline:none;width:100%;padding:12px 13px}.form textarea{resize:vertical;min-height:90px}.primary,.secondary{color:#fff;background:var(--primary);border:0;border-radius:14px;padding:12px 16px;font-weight:800;box-shadow:0 10px 20px #1bb3bc2e}.linkBtn{color:var(--dark);background:0 0;border:0;width:100%;margin-top:16px;font-weight:800}.layout{min-height:100vh;display:flex}aside{border-right:1px solid var(--line);background:#fff;flex-direction:column;width:280px;height:100vh;padding:24px;display:flex;position:sticky;top:0}main{flex:1;min-width:0;padding:28px}header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}header h1{margin:0;font-size:32px}header p{color:var(--muted);margin:6px 0 0}.userPill{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-weight:800}nav{gap:8px;display:grid}.nav,.logout{text-align:left;color:#334155;background:0 0;border:0;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;font-weight:750;display:flex}.nav.active{color:#087d86;background:#e9fbfc}.logout{color:#b4232a;margin-top:auto}.grid{gap:16px;display:grid}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid var(--line);background:#fff;border-radius:22px;padding:20px;box-shadow:0 10px 30px #0f172a0a}.card h3{margin:0 0 14px}.metric span{color:var(--muted);font-weight:750;display:block}.metric strong{color:#0f172a;margin-top:8px;font-size:34px;display:block}.inlineForm{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.inlineForm.soft{background:#f8fafc;border-radius:16px;margin:14px 0;padding:14px}.alert{border:1px solid var(--line);color:#334155;background:#f8fafc;border-radius:14px;margin-top:12px;padding:12px 14px}.alert.error{color:#9f1239;background:#fff1f2;border-color:#fecdd3}.alert.ok{color:#065f46;background:#ecfdf5;border-color:#bbf7d0}.tableWrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px}th{color:#475569;background:#f8fafc}.muted{color:var(--muted)}.qrBox{justify-items:center;gap:12px;margin-top:18px;display:grid}.qrBox small{word-break:break-all;color:var(--muted);text-align:center;font-size:11px}@media (width<=900px){.layout{display:block}aside{width:100%;height:auto;position:relative}.grid.two,.inlineForm{grid-template-columns:1fr}header{display:block}.userPill{margin-top:12px;display:inline-block}}.apiHint{color:#64748b;word-break:break-all;background:#f8fafc;border:1px solid #e5eaf2;border-radius:12px;margin-bottom:12px;padding:8px 10px;font-size:12px}.moduleError{background:#f4f7fb;place-items:center;min-height:100vh;padding:24px;display:grid}.moduleError .card{max-width:560px}.moduleError button{margin-top:12px;margin-right:10px}.floatingError{z-index:50;color:#9f1239;background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;max-width:420px;padding:12px 14px;position:fixed;bottom:18px;right:18px;box-shadow:0 12px 35px #0f172a29}.floatingError button{color:#fff;background:#9f1239;border:0;border-radius:10px;margin-left:12px;padding:6px 10px}.processCard{color:#0f5960;background:#eefcff;border:1px solid #b7eef2;border-radius:18px;margin-bottom:16px;padding:14px 16px}.studentWorkspace{grid-template-columns:390px minmax(0,1fr);gap:16px;display:grid}.studentForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.studentForm button{justify-content:center;align-items:center;gap:8px;display:flex}.studentList{gap:8px;max-height:55vh;display:grid;overflow:auto}.studentItem{text-align:left;background:#fff;border:1px solid #e5eaf2;border-radius:14px;padding:12px}.studentItem strong{display:block}.studentItem span{color:#64748b;margin-top:4px;font-size:12px;display:block}.studentItem.active{background:#e9fbfc;border-color:#1bb3bc}.detailCard h2{margin:0 0 4px}.studentHeader{border-bottom:1px solid #e5eaf2;margin-bottom:16px;padding-bottom:16px}.subPanel{background:#f8fafc;border:1px solid #e5eaf2;border-radius:18px;padding:16px}.mt{margin-top:20px!important}@media (width<=1050px){.studentWorkspace,.studentForm{grid-template-columns:1fr}}.studentsAdmin{gap:16px;display:grid}.sectionHeader{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.sectionHeader h3{margin:0}.sectionHeader p{color:#64748b;margin:5px 0 0}.searchBar{margin-bottom:14px}.searchBar input{border:1px solid #e5eaf2;border-radius:16px;width:100%;padding:13px 15px;font-size:15px}.newStudentBox{background:#f8fafc;border:1px solid #e5eaf2;border-radius:16px;margin-bottom:14px;padding:12px}.newStudentBox summary{cursor:pointer;color:#087d86;font-weight:850}.studentTableWrap{overflow:visible}.studentTable{border-collapse:separate;border-spacing:0;width:100%}.studentTable th{text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;font-size:12px}.studentTable th,.studentTable td{text-align:left;border-bottom:1px solid #e5eaf2;padding:13px 12px}.studentTable td{position:relative}.actionsCell{width:56px;text-align:right!important}.dotsBtn{background:#fff;border:1px solid #e5eaf2;border-radius:12px;width:34px;height:34px;font-size:22px;line-height:0}.rowMenu{z-index:30;background:#fff;border:1px solid #e5eaf2;border-radius:14px;min-width:245px;position:absolute;top:46px;right:10px;overflow:hidden;box-shadow:0 18px 45px #0f172a26}.rowMenu button{text-align:left;color:#334155;background:#fff;border:0;width:100%;padding:12px 14px;display:block}.rowMenu button:hover{color:#087d86;background:#e9fbfc}.emptyCell{color:#64748b;text-align:center!important;padding:30px!important}.smallBtn{border-radius:12px;padding:8px 12px}.recordGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.recordGrid div{background:#f8fafc;border:1px solid #e5eaf2;border-radius:16px;padding:14px}.recordGrid span{color:#64748b;margin-bottom:6px;font-size:12px;font-weight:750;display:block}.recordGrid strong{color:#0f172a}.recordGrid .wide{grid-column:1/-1}.subPanel.flat{background:#fff;border:0;padding:0}@media (width<=900px){.studentTableWrap{overflow:auto}.recordGrid{grid-template-columns:1fr}.sectionHeader{display:block}.smallBtn{margin-top:10px}}input,select,textarea{appearance:none;color:#0f172a;outline:none;min-height:48px;transition:border-color .18s,box-shadow .18s,background .18s;box-shadow:0 1px 2px #0f172a0a;background:#fff!important;border:1px solid #dbe4ef!important;border-radius:16px!important;padding:13px 15px!important}select{background-image:linear-gradient(45deg,#0000 50%,#64748b 50%),linear-gradient(135deg,#64748b 50%,#0000 50%);background-position:calc(100% - 18px) 20px,calc(100% - 12px) 20px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:38px!important}input::placeholder,textarea::placeholder{color:#94a3b8}.studentForm{align-items:end}.catalogForm{margin-bottom:16px}.catalogMsg{grid-column:1/-1}.statusPill{text-align:center;border-radius:999px;flex-direction:column;gap:2px;min-width:96px;padding:7px 11px;font-size:12px;font-weight:850;line-height:1.1;display:inline-flex}.statusPill small{opacity:.85;font-size:10px;font-weight:650}.statusPill.received{color:#087443;background:#e8f8ef;border:1px solid #bde8ce}.statusPill.delivered{color:#b45309;background:#fff3e6;border:1px solid #fed7aa}.statusPill.neutral{color:#475569;background:#f1f5f9;border:1px solid #dbe4ef}.catalogGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.miniList{gap:8px;display:grid}.miniRow{background:#fff;border:1px solid #e5eaf2;border-radius:14px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.miniRow button{color:#087d86;background:#e9fbfc;border:0;border-radius:10px;margin-left:6px;padding:7px 9px;font-weight:800}.miniRow button:last-child{color:#9f1239;background:#fff1f2}.editBox{background:#f8fafc;border:1px solid #e5eaf2;border-radius:16px;margin-bottom:12px;padding:12px}@media (width<=1050px){.catalogGrid{grid-template-columns:1fr}}.statusPill.absent{color:#475569;background:#f1f5f9;border:1px solid #dbe4ef}.catalogGrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1200px){.catalogGrid.three{grid-template-columns:1fr}}.recentCard{margin-top:16px}.recentList{gap:10px;display:grid}.recentItem{background:#fff;border:1px solid #e5eaf2;border-radius:14px;align-items:flex-start;gap:10px;padding:12px;display:flex}.recentItem p{color:#64748b;margin:4px 0 0}.dot{border-radius:999px;flex:none;width:12px;height:12px;margin-top:4px}.dot.received{background:#16a34a}.dot.delivered{background:#f97316}.logFilters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.logFilters label{color:#475569;gap:6px;font-size:13px;font-weight:800;display:grid}@media (width<=900px){.logFilters{grid-template-columns:1fr}}.rowMenu button.dangerAction{color:#b4232a}.rowMenu button.dangerAction:hover{color:#9f1239;background:#fff1f2}.settingsCard{max-width:760px}.dangerZone{background:#fff1f2;border:1px solid #fecdd3;border-radius:18px;margin-top:18px;padding:18px}.dangerZone h4{color:#9f1239;margin:0 0 8px}.dangerZone p{color:#7f1d1d}.dangerButton{color:#fff;background:#b4232a;border:0;border-radius:14px;padding:12px 16px;font-weight:900}.dangerButton:disabled{opacity:.6;cursor:not-allowed}.wideCatalog{grid-column:1/-1}.assignmentForm{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:12px;margin-bottom:16px;display:grid}.miniDanger{color:#9f1239;background:#fff1f2;border:0;border-radius:10px;padding:8px 10px;font-weight:850}@media (width<=900px){.assignmentForm{grid-template-columns:1fr}}.qrWorkspace{gap:16px;display:grid}.qrResult{justify-items:center;gap:10px;display:grid}.qrResult small{word-break:break-all;color:#64748b}.validationCard{gap:16px;display:grid}.scanDetail{background:#f0fdf4;border:1px solid #bde8ce;border-radius:20px;grid-template-columns:120px minmax(0,1fr) 190px auto;align-items:center;gap:16px;padding:18px;display:grid}.studentPhoto,.collectorPhoto{color:#64748b;background:#e2e8f0;border-radius:22px;place-items:center;width:96px;height:96px;font-weight:900;display:grid;overflow:hidden}.studentPhoto img,.collectorPhoto img{object-fit:cover;width:100%;height:100%}.collectorBox{text-align:center;justify-items:center;gap:6px;display:grid}.collectorBox span{color:#64748b;font-size:12px}.validateBtn{min-width:120px}.scanSuccess,.scanWarning{text-align:center;border-radius:22px;justify-items:center;margin-top:10px;padding:24px;display:grid}.scanSuccess{color:#065f46;background:#ecfdf5;border:1px solid #bbf7d0}.scanWarning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa}.checkmark,.warningIcon{border-radius:999px;place-items:center;width:74px;height:74px;font-size:46px;font-weight:1000;animation:.35s ease-out popIn;display:grid}.checkmark{color:#fff;background:#16a34a}.warningIcon{color:#fff;background:#f97316}@keyframes popIn{0%{opacity:.1;transform:scale(.35)}70%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}@media (width<=1000px){.scanDetail{text-align:center;grid-template-columns:1fr;justify-items:center}.validateBtn{width:100%}}.moduleGrid,.tutorGrid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;display:grid}.moduleTile h3{margin-bottom:6px}.moduleTile p{color:#64748b}.tutorApp{background:#f4f7fb;min-height:100vh;padding:24px}.tutorApp header{margin-bottom:18px}.dangerZone button{margin-top:10px;margin-right:10px}.superAdminPage{background:#f4f7fb;min-height:100vh;display:flex}.superAdminPage aside{height:100vh}.superAdminPage main{flex:1;padding:28px}.editSchoolCard{margin:16px 0}.miniAction{color:#087d86;background:#e9fbfc;border:0;border-radius:10px;margin-right:6px;padding:8px 10px;font-weight:850}.logoPreview{background:#f8fafc;border:1px solid #e5eaf2;border-radius:18px;place-items:center;width:120px;height:120px;margin:6px 0 10px;display:grid;overflow:hidden}.logoPreview img{object-fit:contain;max-width:100%;max-height:100%}.tableLogo{object-fit:contain;background:#f8fafc;border:1px solid #e5eaf2;border-radius:12px;width:42px;height:42px;padding:4px}.accentGroup{background:#f8fafc;border:1px solid #e5eaf2;border-radius:18px;gap:12px;padding:14px;display:grid}.accentGroup>p{color:#334155;margin:0;font-weight:900}.colorPicker{gap:7px;display:grid}.paletteRow{flex-wrap:wrap;gap:8px;display:flex}.paletteDot{cursor:pointer;border:3px solid #fff;border-radius:999px;width:28px;height:28px;box-shadow:0 0 0 1px #cbd5e1}.paletteDot.selected{box-shadow:0 0 0 3px #1bb3bc59}.miniColors{gap:5px;display:flex}.miniColors span{border:2px solid #fff;border-radius:999px;width:20px;height:20px;box-shadow:0 0 0 1px #cbd5e1}.actionCell{align-items:center;gap:6px;display:flex}.miniWarn{color:#c2410c;background:#fff7ed;border:0;border-radius:10px;padding:8px 10px;font-weight:850}.formActions{align-items:center;gap:10px;margin-top:12px;display:flex}.tutorStudentPicker{background:#f8fafc;border:1px solid #e5eaf2;border-radius:16px;padding:12px}.tutorStudentPicker>div{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.checkPill{background:#fff;border:1px solid #dbe4ef;border-radius:999px;align-items:center;gap:7px;padding:8px 12px;font-weight:800;display:inline-flex}.checkPill input{appearance:auto!important;width:auto!important;min-height:auto!important;padding:0!important}.pillList{flex-wrap:wrap;gap:6px;display:flex}.pillList span{color:#087d86;background:#e9fbfc;border-radius:999px;align-items:center;gap:5px;padding:6px 9px;font-weight:800;display:inline-flex}.pillList button{color:#fff;background:#087d86;border:0;border-radius:999px;place-items:center;width:18px;height:18px;padding:0;line-height:1;display:grid}.stack{gap:16px;display:grid}.brandLogo,.schoolLogo{object-fit:contain;background:#fff;border:1px solid #e5eaf2;border-radius:17px;width:56px;height:56px;padding:5px;box-shadow:0 8px 24px #0f172a14}.brandLogo.small,.schoolLogo.small,.brandMark.small{border-radius:15px;width:48px;height:48px}.headerWithLogo{align-items:center;gap:14px;min-width:0;display:flex}.headerWithLogo h1{margin:0}.headerWithLogo p{margin:6px 0 0}.brand.side h2{word-break:break-word;font-size:18px;line-height:1.1}.loginRedesign{background:#eef8fb;padding:18px}.loginCard{border:1px solid #e2e8f0e6;border-radius:30px;width:min(560px,94vw);padding:38px 38px 36px;box-shadow:0 28px 70px #0f172a24,0 10px 24px #0f172a14}.loginBrandHero{justify-content:center;align-items:center;gap:18px;margin-bottom:26px;display:flex}.loginBrandHero .brandLogo,.loginBrandHero .brandMark{width:116px;height:116px;box-shadow:none;background:0 0;border:0;border-radius:24px;padding:0}.loginBrandHero h1{letter-spacing:-2px;margin:0;font-size:52px;font-weight:900;line-height:1}.loginBrandHero h1 span{color:#0b7de3}.loginBrandHero h1 strong{color:#28a745}.loginBrandHero p{color:#111827;letter-spacing:.2px;margin:8px 0 0;font-size:22px}.loginForm{gap:14px}.loginForm label{color:#4b5563;font-size:15px}.loginForm input{font-size:16px;background:#f3f7ff!important;border-color:#dbe5f1!important;border-radius:17px!important;min-height:58px!important}.loginButton{border-radius:16px;min-height:58px;margin-top:4px;font-size:17px;box-shadow:0 16px 30px #16b7bd38;background:#16b7bd!important}@media (width<=620px){.loginCard{padding:30px 24px}.loginBrandHero{align-items:center;gap:12px}.loginBrandHero .brandLogo,.loginBrandHero .brandMark{width:86px;height:86px}.loginBrandHero h1{font-size:38px}.loginBrandHero p{font-size:17px}}.loginBrandHero.onlyLogo{text-align:center;justify-items:center;gap:12px;margin-bottom:28px;display:grid}.loginBrandHero.onlyLogo .brandLogo,.loginBrandHero.onlyLogo .brandMark{border-radius:28px;width:150px;height:150px}.loginBrandHero.onlyLogo p{color:#111827;letter-spacing:.2px;margin:0;font-size:24px;font-weight:650}.sidebarBrandOnly{text-align:center;justify-items:center;gap:10px;margin-bottom:28px!important;display:grid!important}.sidebarBrandOnly .brandLogo,.sidebarBrandOnly .schoolLogo,.sidebarBrandOnly .brandMark{border-radius:20px!important;width:76px!important;height:76px!important}.sidebarBrandOnly p{color:#64748b;margin:0;font-weight:850}.brand.side.sidebarBrandOnly{align-items:center}@media (width<=620px){.loginBrandHero.onlyLogo .brandLogo,.loginBrandHero.onlyLogo .brandMark{width:118px;height:118px}.loginBrandHero.onlyLogo p{font-size:19px}}.brandLogoSidebar{object-fit:contain;width:190px;height:auto;max-height:82px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.brandLogoSidebar.small{width:176px;border-radius:0!important;height:auto!important;max-height:76px!important}.loginBrandHero.onlyLogo{margin-bottom:30px}.loginBrandHero.onlyLogo .brandLogo{object-fit:contain;width:174px;height:174px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.sidebarBrandOnly{gap:8px}.sidebarBrandOnly p{margin-top:4px}.loginBrandHero.onlyLogo p{display:none!important}@media (width<=620px){.loginBrandHero.onlyLogo .brandLogo{width:138px;height:138px}.brandLogoSidebar.small{width:150px;max-height:70px!important}}.loginBrandHero.onlyLogo{width:100%;margin-bottom:26px}.loginBrandHero.onlyLogo .brandLogo{margin:0 auto;display:block;object-fit:contain!important;width:100%!important;max-width:440px!important;height:auto!important;max-height:240px!important}.loginCard{width:min(600px,94vw)}@media (width<=620px){.loginBrandHero.onlyLogo .brandLogo{max-width:100%!important;max-height:200px!important}}.nav.active{background:color-mix(in srgb,var(--primary) 12%,#fff)!important;color:var(--dark)!important}.primary{background:var(--primary)!important;box-shadow:0 10px 20px color-mix(in srgb,var(--primary) 22%,transparent)!important}.secondary{background:var(--dark)!important}.processCard{background:color-mix(in srgb,var(--primary) 12%,#fff)!important;border-color:color-mix(in srgb,var(--primary) 32%,#fff)!important;color:var(--dark)!important}.metric strong{color:var(--dark)}.rowMenu button:hover{background:color-mix(in srgb,var(--primary) 12%,#fff)!important;color:var(--dark)!important}.studentItem.active{border-color:var(--primary)!important;background:color-mix(in srgb,var(--primary) 10%,#fff)!important}.newStudentBox summary{color:var(--dark)!important}input:focus,select:focus,textarea:focus{border-color:var(--primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 16%,transparent)!important}.miniAction{background:color-mix(in srgb,var(--primary) 12%,#fff)!important;color:var(--dark)!important}.paletteRow{max-width:380px}.paletteDot{width:30px;height:30px}.schoolSidebarLogo{object-fit:contain;background:#fff;border:1px solid #e5eaf2;border-radius:24px;width:92px;height:92px;padding:8px;box-shadow:0 10px 24px #0f172a14}.dashboardLogoWrap{justify-content:center;align-items:center;margin:-4px 0 18px;padding:8px 0;display:flex}.dashboardLogoWrap img{object-fit:contain;width:min(360px,75%);max-height:96px}.developerCredit{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.04em;border-top:1px solid #e5eaf2;place-items:center;gap:6px;margin:12px 0 10px;padding:10px 8px;font-size:11px;font-weight:800;display:grid}.developerCredit img{object-fit:contain;width:138px;max-width:80%;max-height:52px}body{color:#0f172a;background:#f3f6fb}main{background:linear-gradient(#f7f9fc 0%,#f3f6fb 100%)}aside{box-shadow:10px 0 30px #0f172a09}.sidebarBrandOnly p{color:#0f172a;text-transform:none;letter-spacing:0;word-break:normal;overflow-wrap:anywhere;max-width:190px;font-size:13px;line-height:1.18}.schoolSidebarLogo{border-radius:22px;width:86px;height:86px;padding:7px}header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border:1px solid #e2e8f0cc;border-radius:24px;padding:18px 20px;box-shadow:0 14px 38px #0f172a0b}header h1{letter-spacing:-.03em;font-size:30px}.userPill{box-shadow:0 8px 18px #0f172a0a}.card{transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:0 14px 38px #0f172a0e}.card:hover{transform:translateY(-1px);box-shadow:0 18px 44px #0f172a12}.metric{align-content:center;min-height:128px;display:grid}.metric span{text-transform:uppercase;letter-spacing:.04em;font-size:13px}.metric strong{letter-spacing:-.04em;font-size:38px}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(185px,1fr))}.nav,.logout{min-height:46px}.nav:hover{background:#f8fafc}.sidebarBottom{gap:8px;margin-top:auto;display:grid}.developerCredit{margin-top:18px}.developerCredit span{color:#94a3b8;font-size:10px}.developerCredit img{width:128px;max-height:44px}.tableWrap,.studentTableWrap{background:#fff;border:1px solid #e5eaf2;border-radius:18px}.tableWrap table,.studentTableWrap table{margin:0}.studentTable th:first-child,.studentTable td:first-child,th:first-child,td:first-child{padding-left:16px}.studentTable th:last-child,.studentTable td:last-child,th:last-child,td:last-child{padding-right:16px}.primary,.secondary,.miniAction,.miniWarn,.miniDanger,.smallBtn{transition:transform .14s,filter .14s,box-shadow .14s}.primary:hover,.secondary:hover,.miniAction:hover,.miniWarn:hover,.miniDanger:hover,.smallBtn:hover{filter:saturate(1.05);transform:translateY(-1px)}.qrWorkspace .card,.validationCard,.recentCard{overflow:hidden}.scanDetail{box-shadow:0 12px 30px #16a34a14}.tutorApp{background:linear-gradient(#f7f9fc 0%,#eef4fb 100%);padding:22px}.tutorGrid{align-items:stretch}.tutorGrid .card{min-height:180px}.qrResult canvas{max-width:100%;height:auto!important}@media (width<=1100px){aside{width:246px;padding:18px}.schoolSidebarLogo{width:78px;height:78px}.brandLogoSidebar.small{width:148px!important}.nav,.logout{padding:11px 12px;font-size:14px}main{padding:22px}.grid.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.metric strong{font-size:34px}}@media (width<=900px){.layout{min-height:100vh;display:block}aside{z-index:40;border-bottom:1px solid #e5eaf2;border-right:0;width:100%;height:auto;max-height:none;padding:10px 12px;position:sticky;top:0;box-shadow:0 10px 30px #0f172a14}.sidebarBrandOnly{text-align:left;justify-content:flex-start;gap:10px;margin-bottom:8px!important;display:flex!important}.schoolSidebarLogo{padding:4px;border-radius:14px!important;width:46px!important;height:46px!important}.brandLogoSidebar.small{width:112px!important;max-height:46px!important}.sidebarBrandOnly p{max-width:calc(100vw - 86px);font-size:12px}nav{scroll-snap-type:x proximity;gap:8px;padding:4px 0 8px;display:flex;overflow-x:auto}.nav{white-space:nowrap;scroll-snap-align:start;border:1px solid #0000;flex:none;min-height:40px;padding:9px 12px}.nav.active{border-color:color-mix(in srgb,var(--primary) 30%,#fff)}.sidebarBottom{align-items:center;gap:8px;margin-top:2px;display:flex;overflow-x:auto}.developerCredit{display:none}.logout{white-space:nowrap;flex:none;min-height:40px;margin-top:0;padding:9px 12px}main{padding:14px}header{border-radius:20px;margin-bottom:14px;padding:16px;display:block}header h1{font-size:25px}.headerWithLogo{display:block}.userPill{margin-top:12px;font-size:13px;display:inline-flex}.grid.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{min-height:104px;padding:16px}.metric strong{font-size:30px}.card{border-radius:19px;padding:16px}.sectionHeader{display:block}.sectionHeader .smallBtn,.sectionHeader button{width:100%;margin-top:10px}.studentForm,.inlineForm,.catalogGrid,.catalogGrid.three,.assignmentForm{grid-template-columns:1fr!important}.tableWrap,.studentTableWrap{-webkit-overflow-scrolling:touch;overflow:auto}.rowMenu{min-width:230px;right:2px}.tutorApp{padding:12px}.tutorApp header{border-radius:20px}.tutorGrid,.moduleGrid{grid-template-columns:1fr}.scanDetail{text-align:center;justify-items:center;grid-template-columns:1fr!important}.validateBtn{width:100%}}@media (width<=520px){main{padding:10px}header h1{font-size:22px}header p{font-size:13px}.grid.cards{grid-template-columns:1fr 1fr}.metric{min-height:96px}.metric span{font-size:11px}.metric strong{font-size:28px}.card h3{font-size:17px}.studentTable th,.studentTable td,th,td{padding:10px;font-size:13px}.authCard,.loginCard{border-radius:24px;width:94vw;padding:24px 20px}.loginForm input,.loginButton{min-height:52px!important}.qrResult canvas{width:190px!important;height:190px!important}.developerCredit img{width:112px}}.photoUploadBox{background:#f8fafc;border:1px dashed #cbd5e1;border-radius:18px;gap:10px;padding:12px;display:grid}.photoPreview{color:#64748b;background:#e2e8f0;border-radius:20px;place-items:center;width:104px;height:104px;margin:auto;font-weight:900;display:grid;overflow:hidden}.photoPreview img{object-fit:cover;width:100%;height:100%}.photoActions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.uploadAction{background:var(--primary);color:#fff;min-height:42px;box-shadow:0 10px 20px color-mix(in srgb,var(--primary) 20%,transparent);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;padding:10px 12px;font-weight:900;display:inline-flex}.uploadAction input{display:none!important}.qrResult small{word-break:break-all;background:#f8fafc;border:1px solid #e5eaf2;border-radius:12px;max-width:100%;padding:8px 10px;display:block}.tutorHeaderBrand .schoolLogo{border-radius:24px;width:86px;height:86px}.tutorHeaderBrand{align-items:center}@media (width<=900px){.tutorApp header{text-align:center;justify-items:center;gap:12px;display:grid}.tutorHeaderBrand{text-align:center;justify-items:center;gap:10px;display:grid!important}.tutorHeaderBrand .schoolLogo{border-radius:30px!important;width:128px!important;height:128px!important}.tutorApp header .logout{margin:0 auto}.photoPreview{width:126px;height:126px}.photoActions{grid-template-columns:1fr;gap:8px;display:grid}.uploadAction{width:100%}}@media (width<=520px){.tutorHeaderBrand .schoolLogo{width:136px!important;height:136px!important}.tutorApp header h1{font-size:22px}.tutorApp header p{font-size:13px}}.checkCard{background:#f8fafc;border:1px solid #e5eaf2;border-radius:16px;align-items:flex-start;gap:10px;min-height:58px;padding:12px 13px!important;display:flex!important}.checkCard input{margin-top:3px;appearance:auto!important;width:18px!important;height:18px!important;min-height:18px!important;box-shadow:none!important;padding:0!important}.checkCard span{gap:2px;display:grid}.checkCard strong{color:#0f172a;font-size:13px}.checkCard small{color:#64748b;font-size:12px}.staffPermission{grid-column:1/-1}.mobileScanNav{background:var(--primary);color:#fff;min-height:54px;box-shadow:0 12px 26px color-mix(in srgb,var(--primary) 24%,transparent);border:0;border-radius:18px;justify-content:center;align-items:center;gap:10px;padding:13px 16px;font-weight:950;display:flex}.scannerStage{max-width:880px;margin:0 auto}.scannerHeader{align-items:center;gap:13px;margin-bottom:16px;display:flex}.scannerHeader h3{margin:0}.scannerHeader p{margin:4px 0 0}.scanOpenBtn{justify-content:center;align-items:center;gap:10px;width:100%;min-height:58px;font-size:16px;display:flex}.cameraCard{gap:12px;display:grid}.cameraFrame{border:3px solid color-mix(in srgb,var(--primary) 70%,#fff);background:#020617;border-radius:26px;min-height:360px;position:relative;overflow:hidden;box-shadow:0 22px 50px #0f172a38}.cameraFrame:after{content:"";border:3px solid #ffffffe0;border-radius:22px;position:absolute;inset:11%;box-shadow:0 0 0 999px #0000002e}.cameraFrame video{object-fit:cover;width:100%;height:100%;min-height:360px;display:block}.cameraActions{color:#64748b;justify-content:space-between;align-items:center;gap:12px;font-weight:800;display:flex}.cameraActions .secondary{box-shadow:none}.manualTokenBox{background:#f8fafc;border:1px solid #e5eaf2;border-radius:16px;margin-top:14px;padding:12px}.manualTokenBox summary{cursor:pointer;color:var(--dark);font-weight:900}.improvedScanDetail{align-items:stretch;gap:14px;grid-template-columns:1fr 1fr!important}.scanPersonCard{text-align:center;background:#f8fafc;border:1px solid #e5eaf2;border-radius:22px;justify-items:center;gap:7px;padding:16px;display:grid}.scanPersonCard span{text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-size:12px;font-weight:950}.scanPersonCard h2{margin:4px 0 0;font-size:20px}.scanPersonCard p{color:#475569;margin:0}.improvedScanDetail .studentPhoto,.improvedScanDetail .collectorPhoto{color:#64748b;background:#e2e8f0;place-items:center;font-weight:900;display:grid;overflow:hidden;border-radius:28px!important;width:116px!important;height:116px!important}.improvedScanDetail img{object-fit:cover;width:100%;height:100%}.improvedScanDetail .validateBtn{grid-column:1/-1;min-height:56px;font-size:16px}.successOverlay{text-align:center;justify-items:center;gap:10px;padding:30px 16px;display:grid}.animatedCheck{animation:.42s ease-out both popCheck;color:#fff!important;background:#16a34a!important}@keyframes popCheck{0%{opacity:0;transform:scale(.35)}65%{opacity:1;transform:scale(1.18)}to{transform:scale(1)}}.successOverlay .primary{min-width:180px;min-height:50px}.scanWarning button{margin-top:12px}.staffMobileLayout .validationCard{min-height:calc(100vh - 190px)}@media (width<=900px){.staffMobileLayout aside nav{grid-template-columns:1fr;overflow:visible;display:grid!important}.mobileScanNav{width:100%;font-size:16px}.scannerHeader{text-align:center;justify-items:center;display:grid}.cameraFrame,.cameraFrame video{min-height:430px}.cameraActions{text-align:center;display:grid}.cameraActions .secondary{width:100%}.improvedScanDetail{grid-template-columns:1fr!important}.improvedScanDetail .validateBtn{width:100%}.scannerStage{border-radius:24px;padding:16px}.manualTokenBox{display:none}}@media (width<=520px){.cameraFrame,.cameraFrame video{min-height:380px}.improvedScanDetail .studentPhoto,.improvedScanDetail .collectorPhoto{width:132px!important;height:132px!important}.scanPersonCard{padding:14px}.successOverlay{padding:24px 10px}.animatedCheck{width:96px!important;height:96px!important;font-size:58px!important}}.userAvatar{object-fit:cover;background:#e2e8f0;border:2px solid #fff;border-radius:999px;flex:none;place-items:center;display:inline-grid;box-shadow:0 8px 20px #0f172a1f}.userAvatar.fallback{color:#fff;background:linear-gradient(135deg,var(--primary),var(--dark));font-size:13px;font-weight:950}.userPill.withAvatar{align-items:center;gap:9px;padding:7px 12px 7px 8px;display:inline-flex}.catalogGrid.three .wideCatalog{grid-column:1/-1}.miniRow span{font-weight:850}.shiftName{color:#0f172a;font-weight:950}.shiftHours{color:#64748b;white-space:nowrap;background:#f1f5f9;border:1px solid #e5eaf2;border-radius:999px;padding:5px 9px;font-size:12px}.miniRow .shiftName{display:block}.staffBottomNav{display:none}.staffWelcomeCard{text-align:center;justify-items:center;gap:10px;display:grid}.staffWelcomeCard .schoolLogo{border-radius:26px;width:96px;height:96px}.staffWelcomeCard h2{margin:0}.staffWelcomeCard p{color:#64748b;margin:0}.staffQuickGrid{margin-top:16px}.staffHome .scanOpenBtn{max-width:340px;margin-top:8px}@media (width<=900px){.staffMobileLayout{display:block}.staffMobileLayout aside{display:none!important}.staffMobileLayout main{padding:12px 12px 94px!important}.staffMobileLayout header{border-radius:22px;margin-bottom:12px}.staffBottomNav{z-index:80;padding:8px 8px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border-top:1px solid #e5eaf2;grid-template-columns:repeat(4,1fr);gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -14px 34px #0f172a1f}.staffBottomNav button{color:#64748b;background:0 0;border:0;border-radius:16px;justify-items:center;gap:3px;min-height:56px;padding:8px 4px;font-size:10px;font-weight:900;display:grid}.staffBottomNav button span{line-height:1.05}.staffBottomNav button.active{background:color-mix(in srgb,var(--primary) 13%,#fff);color:var(--dark)}.staffBottomNav button:last-child{color:#b4232a}.staffWelcomeCard{border-radius:26px;padding:22px 16px}.staffWelcomeCard .schoolLogo{width:126px!important;height:126px!important}.staffQuickGrid{grid-template-columns:1fr 1fr!important}.staffQuickGrid .metric{min-height:120px}.cameraFrame,.cameraFrame video{min-height:calc(100vh - 290px)!important}.scannerStage{min-height:calc(100vh - 210px)}}@media (width<=520px){.staffBottomNav{gap:2px;padding-left:5px;padding-right:5px}.staffBottomNav button{border-radius:14px;font-size:9px}.staffMobileLayout main{padding-left:10px!important;padding-right:10px!important}.staffQuickGrid{grid-template-columns:1fr!important}.staffWelcomeCard .schoolLogo{width:140px!important;height:140px!important}.shiftHours{margin-top:6px;display:inline-flex}}.fileField{color:#475569;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:16px;gap:6px;min-height:54px;font-weight:900;display:grid;padding:11px 13px!important}.fileField input{min-height:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:4px 0!important}.personCell{align-items:center;gap:10px;min-width:170px;display:flex}.personCell span{color:#0f172a;font-weight:850}@media (width<=900px){.staffMobileLayout header{border-radius:16px!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin-bottom:8px!important;padding:8px 10px!important;display:flex!important}.staffMobileLayout header h1{font-size:18px!important;line-height:1.05!important}.staffMobileLayout header p{display:none!important}.staffMobileLayout .userPill.withAvatar{gap:5px!important;padding:5px 8px!important;font-size:11px!important}.staffMobileLayout .userPill.withAvatar .userAvatar{width:24px!important;height:24px!important}.staffMobileLayout main{padding-top:8px!important}.staffWelcomeCard{padding-top:16px!important}.scannerStage{min-height:calc(100vh - 170px)!important}.cameraFrame,.cameraFrame video{min-height:calc(100vh - 255px)!important}}@media (width<=520px){.staffMobileLayout header h1{font-size:16px!important}.staffMobileLayout .userPill.withAvatar{white-space:nowrap;max-width:112px;overflow:hidden}.staffMobileLayout .userPill.withAvatar .userAvatar{width:22px!important;height:22px!important}}
