: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.cards{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.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}.sidebarBottom{gap:8px;margin-top:auto;display:grid}.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}
