.accounts-dashboard-page{padding-bottom:48px}.accounts-operations-dashboard{padding-bottom:56px}.accounts-operations-hero{position:relative;display:flex;min-height:240px;align-items:center;justify-content:space-between;gap:28px;margin-bottom:34px;padding:38px 42px;overflow:hidden;border:1px solid rgba(129,140,248,.3);border-radius:28px;color:#fff;background:radial-gradient(circle at 77% 25%,rgba(34,211,238,.2),transparent 26%),linear-gradient(118deg,#101827 2%,#272765 56%,#4338ca);box-shadow:0 24px 60px #252a6e33}.accounts-operations-hero-copy,.accounts-operations-hero-aside{position:relative;z-index:1}.accounts-operations-hero-copy{max-width:650px}.accounts-operations-eyebrow{color:#a5f3fc;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.accounts-operations-hero h1{margin:12px 0 10px;font-size:clamp(28px,4vw,42px);letter-spacing:-.05em;line-height:1.08}.accounts-operations-hero p{max-width:540px;margin:0;color:#dbeafe;font-size:14px;line-height:1.7}.accounts-operations-hero-aside{display:grid;min-width:174px;justify-items:center;gap:9px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#ffffff17;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#c7d2fe;font-size:11px}.accounts-operations-hero-aside strong{color:#fff;font-size:14px}.accounts-operations-aside-mark{display:grid;width:46px;height:46px;place-items:center;border:1px solid rgba(255,255,255,.24);border-radius:15px;background:linear-gradient(145deg,#22d3ee5c,#818cf857);color:#fff;font-size:15px;font-weight:850;letter-spacing:.05em}.accounts-operations-orb{position:absolute;width:260px;height:260px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}.accounts-operations-orb-one{top:-175px;right:18%}.accounts-operations-orb-two{right:14%;bottom:-205px;width:310px;height:310px}.accounts-operations-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}.accounts-operations-section-heading h2{margin:6px 0 5px;color:var(--color-text-primary);font-size:clamp(20px,3vw,25px);letter-spacing:-.035em}.accounts-operations-section-heading p{margin:0;color:var(--color-text-secondary);font-size:13px}.accounts-operations-link-count{padding:8px 12px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);background:var(--color-surface);font-size:11px;font-weight:750;white-space:nowrap}.accounts-operations-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.accounts-operations-link-card{position:relative;display:flex;min-height:140px;flex-direction:column;align-items:flex-start;padding:17px 19px;overflow:hidden;border:0;border-radius:19px;box-shadow:0 10px 24px -8px #0f172a47;color:#fff;text-decoration:none;animation:accounts-link-enter .42s both;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.accounts-operations-link-card:before{position:absolute;top:0;right:0;left:0;height:100%;background:radial-gradient(circle at 100% 0,rgba(255,255,255,.17),transparent 38%);content:"";pointer-events:none}.accounts-operations-link-card:after{position:absolute;right:-40px;bottom:-65px;width:150px;height:150px;border-radius:50%;background:#ffffff1f;content:"";opacity:.55;transition:transform .22s ease}.accounts-operations-link-card:hover,.accounts-operations-link-card:focus-visible{box-shadow:0 18px 35px color-mix(in srgb,var(--accounts-link-accent) 35%,transparent);outline:none;transform:translateY(-3px)}.accounts-operations-link-card:hover:after{transform:scale(1.2)}.accounts-operations-link-card.tone-indigo{--accounts-link-accent: #4f46e5;background:linear-gradient(135deg,#6366f1,#4f46e5)}.accounts-operations-link-card.tone-cyan{--accounts-link-accent: #0891b2;background:linear-gradient(135deg,#06b6d4,#0e7490)}.accounts-operations-link-card.tone-violet{--accounts-link-accent: #7c3aed;background:linear-gradient(135deg,#a855f7,#6d28d9)}.accounts-operations-link-card.tone-blue{--accounts-link-accent: #2563eb;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.accounts-operations-link-card.tone-emerald{--accounts-link-accent: #059669;background:linear-gradient(135deg,#10b981,#047857)}.accounts-operations-link-card.tone-amber{--accounts-link-accent: #d97706;background:linear-gradient(135deg,#f59e0b,#b45309)}.accounts-operations-link-card.tone-rose{--accounts-link-accent: #e11d48;background:linear-gradient(135deg,#f43f5e,#be123c)}.accounts-operations-card-topline{display:flex;width:100%;align-items:center;justify-content:space-between;margin-bottom:16px}.accounts-operations-card-mark{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:14px;background:#ffffff2b;color:#fff;font-size:12px;font-weight:850;letter-spacing:.04em}.accounts-operations-card-arrow{color:#ffffffdb;font-size:18px;transition:color .18s ease,transform .18s ease}.accounts-operations-link-card:hover .accounts-operations-card-arrow{color:#fff;transform:translate(2px,-2px)}.accounts-operations-card-tag{padding:5px 8px;border:1px solid rgba(255,255,255,.27);border-radius:999px;color:#fff;background:#ffffff21;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.accounts-operations-link-card h3{position:relative;z-index:1;margin:7px 0 6px;color:#fff;font-size:16px;letter-spacing:-.02em}.accounts-operations-link-card p{position:relative;z-index:1;margin:0 0 18px;color:#ffffffd4;font-size:12px;line-height:1.55}.accounts-operations-card-action{position:relative;z-index:1;display:flex;align-items:center;gap:7px;margin-top:auto;color:#fff;font-size:11px;font-weight:800}@keyframes accounts-link-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media(max-width:960px){.accounts-operations-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.accounts-operations-hero{min-height:unset;padding:28px 24px}.accounts-operations-hero-aside{display:none}.accounts-operations-link-grid{grid-template-columns:1fr}.accounts-operations-link-card{min-height:130px}.accounts-operations-section-heading{align-items:flex-start}}.accounts-dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:20px;padding:30px 32px;overflow:hidden;border:1px solid rgba(129,140,248,.28);border-radius:26px;color:#fff;background:radial-gradient(circle at 90% 0,rgba(129,140,248,.38),transparent 32%),linear-gradient(125deg,#111827,#312e81 58%,#4f46e5);box-shadow:0 22px 48px #312e8133}.accounts-dashboard-eyebrow,.accounts-dashboard-kicker{display:block;color:#a5b4fc;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.accounts-dashboard-hero h1{margin:10px 0 8px;font-size:clamp(25px,4vw,35px);letter-spacing:-.045em}.accounts-dashboard-hero p{margin:0;color:#ddd6fe;font-size:13px}.accounts-dashboard-year-picker{position:relative;display:flex;flex-direction:column;gap:7px;min-width:160px;color:#c7d2fe;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.accounts-dashboard-year-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:40px;padding:0 38px 0 12px;border:1px solid rgba(255,255,255,.25);border-radius:11px;color:#fff;background:#ffffff1f;font:inherit;font-size:12px;letter-spacing:0;text-transform:none}.accounts-dashboard-year-picker:after{position:absolute;right:15px;bottom:14px;width:8px;height:8px;border-right:1.8px solid #c7d2fe;border-bottom:1.8px solid #c7d2fe;content:"";pointer-events:none;transform:rotate(45deg)}.accounts-dashboard-year-picker option{color:#111827}.accounts-dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.accounts-dashboard-metric{position:relative;min-height:128px;padding:19px 20px;overflow:hidden;border-radius:19px;color:#fff;box-shadow:0 13px 28px #0f172a1c}.accounts-dashboard-metric:after{position:absolute;right:-22px;bottom:-34px;width:105px;height:105px;border:1px solid rgba(255,255,255,.2);border-radius:50%;content:""}.accounts-dashboard-metric.is-indigo{background:linear-gradient(135deg,#6366f1,#4338ca)}.accounts-dashboard-metric.is-blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.accounts-dashboard-metric.is-emerald{background:linear-gradient(135deg,#10b981,#047857)}.accounts-dashboard-metric.is-amber{background:linear-gradient(135deg,#f59e0b,#c2410c)}.accounts-dashboard-metric-head{display:flex;align-items:center;justify-content:space-between;color:#ffffffd1;font-size:11px;font-weight:750}.accounts-dashboard-metric-icon{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(255,255,255,.25);border-radius:10px;color:#fff;background:#ffffff21;font-size:16px;font-weight:850}.accounts-dashboard-metric-icon.is-currency,.accounts-dashboard-snapshot-icon.is-currency{border-color:#ffffff57;color:#f8fafc;background:linear-gradient(145deg,#ffffff47,#0f172a33);box-shadow:inset 0 1px #ffffff4d,0 5px 12px #0f172a24;font-size:17px;font-weight:900}.accounts-dashboard-metric>strong{position:relative;z-index:1;display:block;margin-top:18px;font-size:25px;letter-spacing:-.035em}.accounts-dashboard-metric>small{position:relative;z-index:1;display:block;margin-top:5px;color:#ffffffc2;font-size:10px}.accounts-dashboard-main-grid,.accounts-dashboard-lower-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.9fr);gap:18px;margin-bottom:18px}.accounts-dashboard-panel{min-width:0;padding:24px;border:1px solid #e8eaf3;border-radius:21px;background:#fff;box-shadow:0 10px 28px #0f172a0b}.accounts-dashboard-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.accounts-dashboard-panel-heading h2{margin:6px 0 4px;color:#172033;font-size:19px;letter-spacing:-.035em}.accounts-dashboard-panel-heading p{margin:0;color:#8490a4;font-size:13px}.accounts-dashboard-kicker{color:#6366f1;font-size:13px}.accounts-dashboard-live-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #bbf7d0;border-radius:99px;color:#047857;background:#f0fdf4;font-size:10px;font-weight:800;white-space:nowrap}.accounts-dashboard-live-pill i{width:6px;height:6px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b9811f}.accounts-dashboard-trend-wrap{margin-top:20px}.accounts-dashboard-trend-wrap svg{display:block;width:100%;height:auto;overflow:visible}.accounts-dashboard-empty{display:grid;min-height:220px;place-items:center;color:#8490a4;font-size:12px}.accounts-dashboard-health-panel{display:flex;flex-direction:column}.accounts-dashboard-health-chart{position:relative;width:180px;height:180px;margin:23px auto 20px}.accounts-dashboard-health-chart svg{display:block;width:100%;height:100%;overflow:visible}.accounts-dashboard-health-track,.accounts-dashboard-health-slice{fill:none;stroke-width:14;transform:rotate(-90deg);transform-origin:76px 76px}.accounts-dashboard-health-track{stroke:#edf1f5}.accounts-dashboard-health-slice{cursor:pointer;outline:none;transition:stroke-width .18s ease,filter .18s ease,transform .18s ease}.accounts-dashboard-health-slice.is-active,.accounts-dashboard-health-slice:focus-visible{filter:drop-shadow(0 5px 5px rgba(15,23,42,.22));stroke-width:19;transform:rotate(-90deg) scale(1.04)}.accounts-dashboard-health-center{position:absolute;top:50%;left:50%;display:flex;width:104px;height:104px;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;transform:translate(-50%,-50%)}.accounts-dashboard-health-center strong{color:#172033;font-size:25px;letter-spacing:-.05em}.accounts-dashboard-health-center span{margin-top:2px;color:#8490a4;font-size:11px;font-weight:750;text-transform:lowercase}.accounts-dashboard-status-list{display:grid;gap:15px}.accounts-dashboard-status-row>div:first-child{display:flex;justify-content:space-between;gap:12px;color:#64748b;font-size:11px}.accounts-dashboard-status-row strong{color:#172033;font-size:12px}.accounts-dashboard-status-track{height:7px;margin-top:7px;overflow:hidden;border-radius:99px;background:#eef2f7}.accounts-dashboard-status-track span{display:block;height:100%;border-radius:inherit}.accounts-dashboard-status-track .is-emerald{background:#10b981}.accounts-dashboard-status-track .is-amber{background:#f59e0b}.accounts-dashboard-status-track .is-rose{background:#f43f5e}.accounts-dashboard-lower-grid{grid-template-columns:1fr 1fr;margin-bottom:0}.accounts-dashboard-panel-total{color:#4f46e5;font-size:26px;letter-spacing:-.04em}.accounts-dashboard-grade-list{display:grid;gap:10px;margin-top:20px}.accounts-dashboard-grade-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #eef0f5}.accounts-dashboard-grade-row:last-child{border-bottom:0}.accounts-dashboard-grade-icon{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border-radius:11px;color:#3730a3;background:#eef2ff;font-size:13px;font-weight:850;line-height:1;text-align:center;vertical-align:middle}.accounts-dashboard-grade-icon.tone-1{color:#0369a1;background:#e0f2fe}.accounts-dashboard-grade-icon.tone-2{color:#047857;background:#d1fae5}.accounts-dashboard-grade-icon.tone-3{color:#b45309;background:#fef3c7}.accounts-dashboard-grade-row div{flex:1;min-width:0}.accounts-dashboard-grade-row strong,.accounts-dashboard-grade-row span{display:block}.accounts-dashboard-grade-row strong{color:#172033;font-size:15px}.accounts-dashboard-grade-row span{margin-top:3px;color:#8490a4;font-size:13px}.accounts-dashboard-grade-row>.accounts-dashboard-grade-icon{display:inline-grid;align-items:center;justify-items:center;margin-top:0;color:#3730a3;font-size:13px;line-height:1}.accounts-dashboard-grade-row b{color:#6366f1;font-size:16px;font-weight:700}.accounts-dashboard-snapshot-list{display:grid;gap:7px;margin-top:18px}.accounts-dashboard-snapshot-list>div{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #eef0f5}.accounts-dashboard-snapshot-list>div:last-child{border-bottom:0}.accounts-dashboard-snapshot-icon{display:inline-grid;place-items:center;flex:0 0 34px;width:34px;height:34px;padding:0;border-radius:11px;font-size:16px;font-weight:850;line-height:1;text-align:center;vertical-align:middle}.accounts-dashboard-snapshot-icon.is-violet{color:#6d28d9;background:#f3e8ff}.accounts-dashboard-snapshot-icon.is-amber{color:#b45309;background:#fef3c7}.accounts-dashboard-snapshot-icon.is-blue{color:#0369a1;background:#e0f2fe}.accounts-dashboard-snapshot-list>div>div{flex:1}.accounts-dashboard-snapshot-list strong,.accounts-dashboard-snapshot-list span{display:block}.accounts-dashboard-snapshot-list strong{color:#172033;font-size:15px}.accounts-dashboard-snapshot-list span{margin-top:2px;color:#8490a4;font-size:13px}.accounts-dashboard-snapshot-list>div>.accounts-dashboard-snapshot-icon{display:inline-grid;align-items:center;justify-items:center;margin-top:0;line-height:1}.accounts-dashboard-snapshot-list small{padding:5px 8px;border:1px solid #e2e8f0;border-radius:99px;color:#64748b;background:#f8fafc;font-size:11px;font-weight:700;white-space:nowrap}.accounts-dashboard-snapshot-badge.is-active{border-color:#bbf7d0;color:#047857;background:#f0fdf4}.accounts-dashboard-snapshot-badge.is-follow-up{border-color:#fde68a;color:#b45309;background:#fffbeb}.accounts-dashboard-snapshot-badge.is-this-year{border-color:#bfdbfe;color:#1d4ed8;background:#eff6ff}@media(max-width:900px){.accounts-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.accounts-dashboard-main-grid,.accounts-dashboard-lower-grid{grid-template-columns:1fr}}@media(max-width:600px){.accounts-dashboard-hero{align-items:stretch;flex-direction:column;padding:24px 20px}.accounts-dashboard-year-picker{min-width:0}.accounts-dashboard-metric{min-height:115px;padding:16px}.accounts-dashboard-metric>strong{margin-top:13px;font-size:21px}.accounts-dashboard-panel{padding:19px}.accounts-dashboard-panel-heading h2{font-size:17px}}.school-password-modal-backdrop{position:fixed;z-index:1500;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a94;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.school-password-modal{width:min(100%,480px);overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:var(--color-surface, #fff);color:var(--color-text-primary, #172033);box-shadow:0 32px 90px #0f172a47}.school-password-modal-heading{position:relative;padding:30px 32px 23px;background:radial-gradient(circle at 92% 5%,rgba(129,140,248,.2),transparent 34%),linear-gradient(145deg,#eef2ffe6,#faf5ffd1)}.school-password-modal-icon{display:grid;width:48px;height:48px;margin-bottom:19px;place-items:center;border:1px solid rgba(99,102,241,.18);border-radius:16px;background:#fff;color:#5b5ce2;box-shadow:0 8px 22px #4f46e521}.school-password-modal-icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.school-password-modal-close{position:absolute;top:18px;right:18px;display:grid;width:36px;height:36px;place-items:center;border:1px solid rgba(100,116,139,.16);border-radius:12px;background:#ffffffc7;color:#64748b;font-size:23px;cursor:pointer}.school-password-modal-close:disabled{cursor:not-allowed;opacity:.55}.school-password-modal-eyebrow{display:block;margin-bottom:7px;color:#6265d8;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.school-password-modal-heading h2{margin:0;font-size:24px;letter-spacing:-.04em}.school-password-modal-heading p{max-width:370px;margin:9px 0 0;color:#657089;font-size:13px;line-height:1.55}.school-password-modal-person{display:flex;align-items:center;gap:12px;margin:22px 28px 4px;padding:13px 15px;border:1px solid rgba(148,163,184,.2);border-radius:16px;background:#f8fafcd1}.school-password-modal-avatar{display:grid;width:40px;height:40px;flex:0 0 auto;place-items:center;border-radius:14px;background:linear-gradient(145deg,#6366f1,#a855f7);color:#fff;font-size:15px;font-weight:800}.school-password-modal-person strong,.school-password-modal-person small{display:block;overflow:hidden;max-width:330px;text-overflow:ellipsis;white-space:nowrap}.school-password-modal-person strong{font-size:13px}.school-password-modal-person small{margin-top:3px;color:#738096;font-size:12px}.school-password-modal-fields{display:grid;gap:15px;padding:20px 28px 10px}.school-password-modal-fields label{display:grid;gap:7px;color:#43506a;font-size:12px;font-weight:700}.school-password-modal-fields input{width:100%;box-sizing:border-box;padding:12px 13px;border:1px solid rgba(148,163,184,.32);border-radius:12px;background:var(--color-bg, #fff);color:var(--color-text-primary, #172033);font:inherit;font-size:14px;font-weight:400}.school-password-input-wrap{position:relative;display:block}.school-password-input-wrap input{padding-right:46px}.school-password-visibility-toggle{position:absolute;top:50%;right:8px;display:grid;width:32px;height:32px;padding:0;place-items:center;border:0;border-radius:8px;background:transparent;color:#738096;cursor:pointer;transform:translateY(-50%)}.school-password-visibility-toggle:hover:not(:disabled){background:#6366f114;color:#4f46e5}.school-password-visibility-toggle:disabled{cursor:not-allowed;opacity:.55}.school-password-visibility-toggle svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.school-password-modal-fields input:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px #6366f124}.school-password-modal-error{margin:0;color:#b42338;font-size:12px}.school-password-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px 26px}@media(max-width:520px){.school-password-modal-backdrop{padding:14px}.school-password-modal{border-radius:20px}.school-password-modal-heading{padding:24px 22px 20px}.school-password-modal-person{margin-right:20px;margin-left:20px}.school-password-modal-fields,.school-password-modal-footer{padding-right:20px;padding-left:20px}}.admin-dashboard-page select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:46px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 15px center!important;background-size:16px!important}.admin-dashboard-page,.admin-dashboard-page input,.admin-dashboard-page select,.admin-dashboard-page button{font-family:Inter,Avenir Next,Segoe UI,sans-serif}.admin-dashboard-page h1,.admin-dashboard-page h2,.admin-dashboard-page h3,.admin-dashboard-page .card-title{font-weight:600;letter-spacing:-.025em}.admin-dashboard-page strong{font-weight:600}.admin-dashboard-page .btn{border:1px solid transparent;border-radius:12px;font-weight:600;letter-spacing:-.01em;box-shadow:0 8px 18px #4f46e51f;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.admin-dashboard-page .btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 12px 24px #4f46e52e}.admin-dashboard-page .btn:active:not(:disabled){transform:translateY(0)}.admin-dashboard-page .btn-primary{background:linear-gradient(135deg,#6366f1,#7c3aed)!important}.admin-dashboard-page .btn-secondary{background:linear-gradient(145deg,var(--color-surface),#f5f3ff)!important;color:#4f46e5!important;border-color:#6366f13d!important}.admin-dashboard-page .btn-secondary:hover:not(:disabled){background:linear-gradient(145deg,#eef2ff,#ede9fe)!important;color:#4338ca!important;border-color:#818cf8!important;box-shadow:0 8px 18px #6366f133}.admin-dashboard-page input:focus,.admin-dashboard-page select:focus,.admin-dashboard-page textarea:focus{outline:none;border-color:#818cf8!important;box-shadow:0 0 0 3px #6366f124}.admin-dashboard-page .admin-create-modal-close,.admin-dashboard-page .admin-user-modal-close{right:max(16px,calc(50% - 294px));z-index:1003;display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid rgba(99,102,241,.24);border-radius:12px;background:transparent!important;color:#6366f1;box-shadow:0 5px 14px #6366f124;cursor:pointer;transition:all .2s ease}.admin-dashboard-page .admin-create-modal-close,.admin-dashboard-page .admin-user-modal-close{position:absolute;right:18px;top:18px}.admin-dashboard-page .admin-create-modal-close:hover,.admin-dashboard-page .admin-user-modal-close:hover{border-color:#8b5cf6;background:transparent!important;color:#7c3aed;box-shadow:0 8px 18px #6366f13b;transform:rotate(90deg) scale(1.04)}.admin-dashboard-page>.admin-organizations-card>form>div:last-child{grid-column:1 / -1;justify-content:flex-end!important;margin-top:4px;padding-top:6px;border-top:1px solid var(--color-border)}.admin-dashboard-page>.admin-organizations-card>form{position:fixed!important;inset:50% auto auto 50%;z-index:1001;width:min(620px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow-y:auto;transform:translate(-50%,-50%);display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:0!important;padding:26px!important;border:1px solid var(--color-border)!important;border-radius:22px!important;background:var(--color-surface)!important;box-shadow:0 0 0 100vmax #0f172a85,0 24px 70px #0f172a47!important}.admin-dashboard-page>.admin-organizations-card>form>label{align-content:start}.admin-dashboard-page>.admin-organizations-card>form:before{content:"Create school";grid-column:1 / -1;color:var(--color-text-primary);font-size:21px;font-weight:650;letter-spacing:-.02em}.admin-dashboard-page>.admin-team-card>form{position:fixed!important;inset:50% auto auto 50%;z-index:1001;width:min(620px,calc(100% - 32px));max-height:calc(100vh - 32px);overflow-y:auto;transform:translate(-50%,-50%);display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;margin:0!important;padding:26px!important;border:1px solid var(--color-border)!important;border-radius:22px!important;background:var(--color-surface)!important;box-shadow:0 0 0 100vmax #0f172a85,0 24px 70px #0f172a47!important}.admin-dashboard-page>.admin-team-card>form:before{content:"Add administrator or tutor";grid-column:1 / -1;color:var(--color-text-primary);font-size:21px;font-weight:650;letter-spacing:-.025em}.admin-dashboard-page>.admin-team-card>form>div:last-child{grid-column:1 / -1;justify-content:flex-end!important;margin-top:4px;padding-top:6px;border-top:1px solid var(--color-border)}.admin-organizations-list{max-height:400px;overflow-y:auto;padding-right:6px}.admin-dashboard-page>.admin-team-card>div:last-child{max-height:420px;overflow-y:auto;padding-right:6px}.admin-organizations-list::-webkit-scrollbar,.admin-dashboard-page>.admin-team-card>div:last-child::-webkit-scrollbar{width:6px}.admin-organizations-list::-webkit-scrollbar-track,.admin-dashboard-page>.admin-team-card>div:last-child::-webkit-scrollbar-track{background:var(--color-bg);border-radius:999px}.admin-organizations-list::-webkit-scrollbar-thumb,.admin-dashboard-page>.admin-team-card>div:last-child::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:999px}.admin-organizations-list::-webkit-scrollbar-thumb:hover,.admin-dashboard-page>.admin-team-card>div:last-child::-webkit-scrollbar-thumb:hover{background:#818cf8}.admin-user-actions{display:flex;align-items:center;gap:10px}.admin-reset-password-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:9px 13px!important;border:1px solid rgba(217,119,6,.28)!important;border-radius:12px!important;background:linear-gradient(135deg,#fffbeb,#fef3c7)!important;color:#a16207!important;box-shadow:0 6px 16px #d977061f!important;font-size:12px;font-weight:600;white-space:nowrap}.admin-reset-password-btn svg{transition:transform .2s ease}.admin-reset-password-btn:hover:not(:disabled){background:linear-gradient(135deg,#fef3c7,#fde68a)!important;border-color:#f59e0b!important;color:#92400e!important;box-shadow:0 10px 22px #d9770633!important;transform:translateY(-2px)!important}.admin-reset-password-btn:hover:not(:disabled) svg{transform:rotate(-12deg) scale(1.08)}.admin-edit-access-modal .admin-edit-access-reset{display:none!important}@media(max-width:600px){.admin-dashboard-page>.admin-organizations-card>form{grid-template-columns:1fr!important;padding:20px!important}.admin-dashboard-page>.admin-team-card>form{grid-template-columns:1fr!important;padding:20px!important}.admin-dashboard-page .admin-create-modal-close,.admin-dashboard-page .admin-user-modal-close{right:18px}.admin-user-actions{width:100%;justify-content:flex-end}}.admin-subject-picker{position:relative;display:grid;gap:7px;color:var(--color-text-primary);font-size:12px;font-weight:500}.admin-subject-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:40px;padding:8px 13px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:400;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.admin-subject-trigger:hover,.admin-subject-trigger.is-open{border-color:#818cf8;background:#fafaff;box-shadow:0 0 0 3px #6366f11c}.admin-subject-placeholder{color:var(--color-text-muted)}.admin-subject-value{color:var(--color-text-primary);font-weight:600}.admin-subject-chevron{width:8px;height:8px;border-right:2px solid #6366f1;border-bottom:2px solid #6366f1;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.admin-subject-trigger.is-open .admin-subject-chevron{transform:rotate(225deg) translateY(-2px)}.admin-subject-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}.admin-subject-chips>span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:600}.admin-subject-chips button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:#6366f1;font-size:15px;line-height:1;cursor:pointer}.admin-subject-chips button:hover{background:#c7d2fe;color:#312e81}.admin-subject-remove-icon{position:relative;display:block;width:10px;height:10px}.admin-subject-remove-icon:before,.admin-subject-remove-icon:after{content:"";position:absolute;top:4px;left:0;width:10px;height:1.5px;border-radius:2px;background:currentColor}.admin-subject-remove-icon:before{transform:rotate(45deg)}.admin-subject-remove-icon:after{transform:rotate(-45deg)}.admin-subject-chips .admin-subject-more{border-color:var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.admin-subject-menu{position:absolute;top:100%;right:0;left:0;z-index:100;overflow:hidden;border:1px solid #c7d2fe;border-radius:16px;background:var(--color-surface);box-shadow:0 18px 45px #1e293b33,0 0 0 4px #6366f10f}.admin-subject-menu-tools{display:grid;gap:9px;padding:12px;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#fafaff,#f8fbff)}.admin-subject-search{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-muted)}.admin-subject-search input{order:1;width:100%;padding:9px 0;border:0;outline:0;background:transparent;color:var(--color-text-primary);font:inherit;font-size:12px}.admin-subject-search-icon{order:2;margin-left:8px;width:12px;height:12px;flex:0 0 auto;border:1.7px solid var(--color-text-muted);border-radius:50%;position:relative}.admin-subject-search-icon:after{content:"";position:absolute;width:5px;height:1.7px;right:-4px;bottom:-2px;transform:rotate(45deg);border-radius:2px;background:var(--color-text-muted)}.admin-subject-search:focus-within{border-color:transparent!important;box-shadow:none!important}.admin-subject-search input:focus,.admin-subject-search input:focus-visible{outline:none!important;border:0!important;box-shadow:none!important}.admin-subject-trigger:focus,.admin-subject-trigger:focus-visible{outline:none;border-color:var(--color-border);background:var(--color-surface);box-shadow:none}.admin-subject-trigger.is-open:focus,.admin-subject-trigger.is-open:focus-visible,.admin-subject-trigger:active{outline:none!important;border-color:var(--color-border)!important;background:var(--color-surface)!important;box-shadow:none!important}.admin-subject-actions{display:flex;justify-content:space-between}.admin-subject-actions button,.admin-subject-menu-footer button{padding:0;border:0;background:transparent;color:#4f46e5;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.admin-subject-actions button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}.admin-subject-options{max-height:150px;overflow-y:auto;padding:6px}.admin-subject-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--color-text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer}.admin-subject-option:hover{background:#f1f5ff}.admin-subject-option.is-selected{background:#eef2ff;color:#3730a3;font-weight:600}.admin-subject-checkbox{display:grid;place-items:center;width:17px;height:17px;flex:0 0 auto;border:1px solid #cbd5e1;border-radius:5px;background:var(--color-surface);color:#fff;font-size:11px;font-weight:800}.admin-subject-option.is-selected .admin-subject-checkbox{position:relative;border-color:#6366f1;background:#6366f1}.admin-subject-option.is-selected .admin-subject-checkbox:after{content:"";position:absolute;width:7px;height:4px;top:4px;left:4px;transform:rotate(-45deg);border-bottom:2px solid white;border-left:2px solid white}.admin-subject-empty{margin:0;padding:20px 10px;color:var(--color-text-muted);font-size:12px;text-align:center}.admin-subject-menu-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px}.admin-subject-menu-footer button{padding:6px 10px;border-radius:8px;background:#4f46e5;color:#fff}.admin-subject-menu-footer button:hover{background:#4338ca}@media(max-width:600px){.admin-subject-menu{position:fixed;top:50%;right:16px;left:16px;transform:translateY(-50%)}.admin-subject-options{max-height:45vh}}.admin-edit-access-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:grid;place-items:center;box-sizing:border-box;overflow-y:auto;padding:12px;background:#0f172a7a}.admin-edit-access-modal{position:relative;display:flex;flex-direction:column;width:min(680px,calc(100vw - 32px));height:auto;max-height:calc(100vh - 24px);box-sizing:border-box;overflow:hidden;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);padding:26px;color:var(--color-text-primary);box-shadow:0 24px 70px #0f172a40;font-weight:400}.admin-edit-access-header{position:sticky;top:0;z-index:2;margin:-26px -26px 24px;padding:26px;background:var(--color-surface);display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.admin-edit-access-kicker{color:var(--color-primary);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.admin-edit-access-header h2{margin:7px 0 0;font-size:24px;font-weight:600;letter-spacing:-.025em}.admin-edit-access-close{display:grid;width:36px;height:36px;flex:0 0 auto;place-items:center;padding:0;border:1px solid rgba(99,102,241,.24);border-radius:12px;background:transparent;color:#6366f1;cursor:pointer;box-shadow:0 5px 14px #6366f124;transition:all .2s ease}.admin-edit-access-close:hover{border-color:#8b5cf6;color:#7c3aed;box-shadow:0 8px 18px #6366f13b;transform:rotate(90deg) scale(1.04)}.admin-edit-access-fields{min-height:0;flex:1 1 auto;overflow-y:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding-right:4px}.admin-edit-field-row{display:grid;grid-template-columns:1fr;align-content:start;gap:7px;color:var(--color-text-primary);font-size:13px;font-weight:500}.admin-edit-access-fields>.admin-edit-access-reset,.admin-edit-access-fields>.admin-edit-access-note{grid-column:1 / -1}.admin-teacher-type-field,.admin-teacher-type-field select{align-self:start}.admin-edit-access-fields>label:first-of-type>span:after,.admin-edit-access-fields>label:nth-of-type(2)>span:after,.admin-edit-access-fields>.admin-edit-field-row:has(select[required])>span:after{content:"*";margin-left:3px;color:#dc2626}.admin-edit-field-input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:11px;padding:10px 12px;background:var(--color-bg);color:var(--color-text-primary);font:inherit;font-weight:400;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.admin-edit-field-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11f}.admin-edit-access-note{margin:4px 0 0;color:var(--color-text-muted);font-size:12px;font-weight:400;line-height:1.55;text-align:center}.admin-edit-access-reset{justify-self:start;margin-top:2px}.admin-edit-access-footer{flex:0 0 auto;background:var(--color-surface);display:flex;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:18px;border-top:1px solid var(--color-border)}@media(max-width:600px){.admin-edit-access-modal{width:calc(100vw - 24px);height:calc(100vh - 48px);max-height:calc(100vh - 48px);height:calc(100dvh - 48px);max-height:calc(100dvh - 48px);padding:20px}.admin-edit-access-header{top:0;margin:-20px -20px 24px;padding:20px}.admin-edit-field-row,.admin-edit-access-fields{grid-template-columns:1fr}}.admin-edit-field-hint{color:var(--color-text-muted);font-size:11px;font-weight:400;line-height:1.45}.accounts-students-page{max-width:1280px}.accounts-students-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:30px 34px;margin-bottom:18px;border:1px solid rgba(99,102,241,.14);border-radius:24px;background:radial-gradient(circle at 90% -30%,rgba(129,140,248,.2),transparent 35%),linear-gradient(120deg,#f5f3ff,#fff 52%,#effcff);box-shadow:0 14px 34px #1e293b0f}.accounts-students-eyebrow{color:#6366f1;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.accounts-students-hero h1{margin:7px 0 5px;color:var(--color-text-primary);font-size:30px;letter-spacing:-.04em}.accounts-students-hero p{margin:0;color:var(--color-text-secondary);font-size:13px}.accounts-students-hero p strong{color:var(--color-text-primary);font-weight:800}.accounts-students-hero-actions{display:flex;align-items:flex-end;gap:12px}.accounts-students-year-picker{display:flex;flex-direction:column;gap:5px;min-width:170px;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.accounts-students-year-picker .select{min-width:170px;padding-top:9px;padding-bottom:9px;font-size:12px;letter-spacing:normal;text-transform:none}.admin-students-page .accounts-students-year-picker .select,.admin-students-page .accounts-students-view-select select{font-weight:400}.accounts-students-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.accounts-students-stat-card{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 7px 20px #0f172a0a}.accounts-students-stat-card span:last-child{display:flex;flex-direction:column;gap:3px}.accounts-students-stat-card strong{color:var(--color-text-primary);font-size:22px;letter-spacing:-.04em}.accounts-students-stat-card small{color:var(--color-text-muted);font-size:11px;font-weight:650}.accounts-students-stat-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;font-size:18px;font-weight:850}.accounts-students-stat-icon-purple{color:#6d28d9;background:#f3e8ff}.accounts-students-stat-icon-green{color:#047857;background:#d1fae5}.accounts-students-stat-icon-amber{color:#b45309;background:#fef3c7}.accounts-students-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:8px 0 30px}.accounts-students-search{position:relative;display:flex;align-items:center;width:min(420px,100%)}.accounts-students-search svg{position:absolute;right:15px;width:18px;height:18px;stroke:#94a3b8;stroke-linecap:round;stroke-width:1.8}.accounts-students-search input{width:100%;padding:12px 44px 12px 16px;border:1px solid #dbe5f3;border-radius:13px;outline:none;color:var(--color-text-primary);background:#fff;box-shadow:0 6px 18px #0f172a0a;font:inherit;font-size:13px;transition:border-color .18s ease,box-shadow .18s ease}.accounts-students-search input:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11a}.accounts-students-toolbar-actions{display:flex;align-items:center;gap:9px}.accounts-students-view-select{display:flex;align-items:center;gap:8px;color:#64748b;font-size:11px;font-weight:750}.accounts-students-view-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:10px 38px 10px 12px;border:1px solid #dbe5f3;border-radius:11px;color:#334155;background:#fff;font:inherit;font-size:12px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23647589' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}.accounts-students-filter-button{display:grid;place-items:center;width:39px;height:39px;border:1px solid #dbe5f3;border-radius:11px;color:#64748b;background:#fff;cursor:pointer;transition:color .18s ease,border-color .18s ease,background .18s ease}.accounts-students-filter-button:hover,.accounts-students-filter-button.is-active{border-color:#a5b4fc;color:#4f46e5;background:#eef2ff}.accounts-students-filter-button svg{width:18px;height:18px;stroke:currentColor;stroke-linecap:round;stroke-width:1.8}.accounts-student-groups{display:flex;flex-direction:column;gap:34px}.accounts-student-group-heading{display:flex;align-items:center;gap:18px;margin-bottom:18px}.accounts-student-group-heading>span{flex:1;height:1px;background:linear-gradient(90deg,transparent,#d8e1ef)}.accounts-student-group-heading>span:last-child{background:linear-gradient(90deg,#d8e1ef,transparent)}.accounts-student-group-heading h2{margin:0;color:#334155;font-size:14px;font-weight:850;letter-spacing:-.02em;text-align:center;white-space:nowrap}.accounts-student-group-heading em{color:#94a3b8;font-size:12px;font-style:normal;font-weight:650}.accounts-students-list{grid-template-columns:1fr}.accounts-students-list .accounts-student-card{min-height:0;flex-direction:row;align-items:center;gap:20px;padding:16px 20px}.accounts-students-list .accounts-student-card-copy,.accounts-students-list .accounts-student-details{flex:1;margin:0;padding:0;border:0}.accounts-students-list .accounts-student-card-footer{margin:0;padding:0}.accounts-student-table-wrap{overflow-x:auto;border:1px solid #dbe5f3;border-radius:18px;background:#fff;box-shadow:0 10px 26px #0f172a0d}.accounts-student-table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.accounts-student-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.accounts-student-table th{padding:14px 18px;color:#fff;background:transparent!important;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.accounts-student-th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .18s ease}.accounts-student-th-sortable:hover{background:#ffffff26!important}.accounts-student-th-content{display:inline-flex;align-items:center;gap:6px}.accounts-student-sort-icon{width:14px;height:14px;flex-shrink:0}.accounts-student-sort-inactive{opacity:.45}.accounts-student-sort-active{opacity:1}.accounts-student-table th:first-child{border-top-left-radius:17px}.accounts-student-table th:last-child{border-top-right-radius:17px}.accounts-student-table td{padding:14px 18px;border-top:1px solid #edf2f7;color:#64748b;font-size:13px}.accounts-student-table td strong{color:#172033;font-weight:750}.accounts-student-table td:last-child{width:1%;white-space:nowrap}.accounts-student-filter-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.accounts-student-filter-fields .field{display:flex;flex-direction:column;gap:7px}.accounts-students-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.accounts-student-card{position:relative;display:flex;min-width:0;min-height:300px;flex-direction:column;overflow:hidden;padding:22px;border:1px solid #dbe5f3;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 12px 32px #64748b18;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.accounts-student-card:after{position:absolute;top:-48px;right:-38px;width:145px;height:145px;border-radius:50%;background:#c7d2fe55;content:""}.accounts-student-card:hover{transform:translateY(-3px);border-color:#6366f14d;box-shadow:0 16px 32px #0f172a1a}.accounts-student-card.is-inactive{border-color:#fecaca;background:linear-gradient(145deg,#fff,#fff7f7)}.accounts-student-card.is-inactive:after{background:#fecaca55}.accounts-student-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.accounts-student-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800}.accounts-student-status i,.accounts-student-card-footer b{display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.accounts-student-status-active{color:#047857;background:#d1fae5}.accounts-student-status-inactive{color:#b91c1c;background:#fee2e2}.accounts-student-status-archived{color:#64748b;background:#e2e8f0}.accounts-student-status-withdrawn{color:#9a3412;background:#ffedd5}.accounts-student-card-copy{position:relative;z-index:1;margin:0 0 16px}.accounts-student-name-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.accounts-student-card h2{min-width:0;margin:7px 0 4px;overflow:hidden;color:#172033;font-size:24px;letter-spacing:-.05em;text-overflow:ellipsis;white-space:nowrap}.accounts-student-id{margin:0;color:var(--color-text-muted);font-size:11px}.accounts-student-details{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;min-height:54px;margin-top:0;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600}.accounts-student-details span{display:flex;align-items:center;gap:8px}.accounts-student-details b{color:#6366f1;font-size:14px}.accounts-student-card-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px;color:var(--color-text-muted);font-size:10px;font-weight:700}.accounts-student-card-footer>span{display:inline-flex;align-items:center;gap:6px}.accounts-student-actions{display:flex;gap:7px}.accounts-student-icon-button{display:grid;place-items:center;width:31px;height:31px;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.accounts-student-icon-button:hover{transform:translateY(-1px);box-shadow:0 5px 12px #0f172a1f}.accounts-student-icon-button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.accounts-student-edit{color:#4f46e5;border-color:#c7d2fe;background:#eef2ff}.accounts-student-more{color:#b45309;border-color:#fde68a;background:#fffbeb}.accounts-student-archive{color:#64748b;border-color:#cbd5e1;background:#f8fafc}.accounts-student-archive:hover{color:#dc2626;border-color:#fecaca;background:#fef2f2}.accounts-student-arrow{color:var(--color-primary);font-size:18px;line-height:10px}.accounts-students-empty{padding:54px 20px;text-align:center}.accounts-students-empty h2{margin:12px 0 5px;color:var(--color-text-primary);font-size:18px}.accounts-students-empty p{margin:0 0 18px}.accounts-students-empty-icon{display:grid;place-items:center;width:50px;height:50px;margin:0 auto;border-radius:16px;color:#6366f1;background:#eef2ff;font-size:25px}.accounts-students-grid-legacy .accounts-student-card .btn{margin-top:18px}.accounts-student-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0f172a8f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.accounts-student-modal{width:min(520px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 30px 90px #0f172a4d}.accounts-student-modal-header{display:flex;justify-content:space-between;gap:16px;padding:25px 28px 21px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f5f3ff,#effcff)}.accounts-student-modal-header h2{margin:7px 0 4px;color:#172033;font-size:22px;letter-spacing:-.04em}.accounts-student-modal-header p{margin:0;color:#64748b;font-size:12px}.accounts-student-modal-close{width:34px;height:34px;border:1px solid #dbe5f3;border-radius:10px;color:#64748b;background:#fff;font-size:22px;cursor:pointer}.accounts-student-modal-body{padding:24px 28px 8px}.accounts-student-modal-footer{display:flex;justify-content:flex-end;gap:9px;padding:16px 28px 25px}.accounts-students-page-indicator{display:inline-flex;align-items:center;gap:8px;margin:0 5px;color:#8490a2;white-space:nowrap;font-variant-numeric:tabular-nums}.accounts-students-page-indicator strong{color:#26364d;font-weight:700}.accounts-students-page-indicator .accounts-students-current-page{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;margin:0 -1px;border:1px solid #d9e4fb;border-radius:50%;background:#edf3ff;color:#315fbd;box-shadow:inset 0 1px #ffffffd9,0 2px 5px #315fbd14;font-size:12px;line-height:1}.accounts-students-page-indicator i{width:1px;height:13px;background:#dfe5ee}.accounts-student-form-error{color:#dc2626;font-size:12px;font-weight:700}@media(max-width:900px){.accounts-students-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.accounts-students-pagination{align-items:center;flex-direction:row;justify-content:space-between;gap:8px;padding:9px 10px}.accounts-students-pagination-controls{align-self:auto;justify-content:flex-end;gap:2px}.accounts-students-pagination-controls button{width:28px;height:28px}.accounts-students-page-indicator{gap:6px;margin:0 2px;font-size:11px}.accounts-students-page-indicator .accounts-students-current-page{width:25px;height:25px;flex-basis:25px}.accounts-students-hero{align-items:flex-start;flex-direction:column;padding:24px 20px}.accounts-students-hero-actions{align-items:stretch;flex-direction:column;width:100%}.accounts-students-year-picker,.accounts-students-year-picker .select{width:100%}.accounts-students-stats{grid-template-columns:1fr}.accounts-students-toolbar{align-items:stretch;flex-direction:column}.accounts-students-search{width:100%}.accounts-students-toolbar-actions{justify-content:flex-end}.accounts-student-group-heading{gap:10px}.accounts-student-group-heading h2{font-size:12px}.accounts-student-filter-fields,.accounts-students-grid{grid-template-columns:1fr}.accounts-students-list .accounts-student-card{align-items:stretch;flex-direction:column;gap:12px}}.accounts-students-page.is-read-only .accounts-students-hero-actions>button,.accounts-students-page.is-read-only .accounts-student-actions,.accounts-students-page.is-read-only .accounts-students-empty>button{display:none!important}.delete-icon-button{display:flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border:1px solid #fecaca;border-radius:8px;color:#ef4444;background:#fef2f2;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s}.delete-icon-button-secondary{width:32px;height:32px;border:0;border-radius:8px;color:#ef4444;background:transparent}.delete-icon-button.delete-icon-button-secondary:hover:not(:disabled),.delete-icon-button.delete-icon-button-secondary:focus-visible{color:#dc2626;background:#ef444417;box-shadow:none}.delete-icon-button-secondary svg{width:16px;height:16px;stroke-width:2}.delete-icon-button:hover:not(:disabled),.delete-icon-button:focus-visible{background:#fee2e2;box-shadow:0 3px 10px #ef44442e;outline:none;transform:translateY(-1px)}.delete-icon-button:focus-visible{box-shadow:0 0 0 3px #ef44442e,0 3px 10px #ef44442e}.delete-icon-button:disabled{cursor:not-allowed;opacity:.5}.delete-icon-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.admin-feedback-page{max-width:1180px;margin:0 auto;padding:30px;color:var(--color-text-primary)}.admin-feedback-hero{display:flex;align-items:center;justify-content:space-between;min-height:210px;padding:36px 45px;overflow:hidden;border-radius:26px;color:#fff;background:radial-gradient(circle at 80% 10%,#67e8f955,transparent 25%),linear-gradient(120deg,#171747,#312e81 62%,#164e63);box-shadow:0 20px 45px #312e8128}.admin-feedback-kicker,.admin-feedback-eyebrow{color:#67e8f9;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.admin-feedback-hero h2{max-width:590px;margin:13px 0 9px;font-size:clamp(28px,4vw,42px);letter-spacing:-.055em;line-height:1.05}.admin-feedback-hero p{margin:0;color:#c7d2fe;font-size:13px}.admin-feedback-orb{display:grid;place-items:center;width:120px;height:120px;margin-right:30px;border:1px solid #a5b4fc66;border-radius:35px;color:#67e8f9;background:#ffffff18;box-shadow:0 0 50px #67e8f938;font-size:43px;transform:rotate(10deg)}.admin-feedback-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0 33px}.admin-feedback-stats div{display:grid;gap:8px;padding:19px 21px;border:1px solid var(--color-border);border-radius:17px;background:var(--color-surface);box-shadow:0 8px 24px #0f172a0a}.admin-feedback-stats span{color:var(--color-text-muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.admin-feedback-stats strong{font-size:24px;letter-spacing:-.04em}.admin-feedback-stats small{margin-left:4px;color:var(--color-text-muted);font-size:11px;font-weight:500}.admin-feedback-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.admin-feedback-toolbar h1{margin:6px 0 0;font-size:25px;letter-spacing:-.04em}.admin-feedback-filter{display:grid;gap:7px;color:var(--color-text-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.admin-feedback-filter select{min-width:170px;padding:10px 34px 10px 12px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);background:var(--color-surface);font:inherit;text-transform:none;letter-spacing:normal}.admin-feedback-list{display:grid;gap:13px}.admin-feedback-card{padding:22px 24px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:0 8px 25px #0f172a0a}.admin-feedback-card-top{display:flex;align-items:center;gap:11px}.admin-feedback-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#4338ca;background:#eef2ff;font-size:12px;font-weight:900}.admin-feedback-avatar.role-parent{color:#0369a1;background:#e0f2fe}.admin-feedback-avatar.role-student{color:#047857;background:#d1fae5}.admin-feedback-avatar.role-tutor{color:#7e22ce;background:#f3e8ff}.admin-feedback-author{display:grid;gap:3px;min-width:150px}.admin-feedback-author strong{font-size:13px}.admin-feedback-author span,.admin-feedback-card-top time{color:var(--color-text-muted);font-size:10px}.admin-feedback-role,.admin-feedback-category{padding:5px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:9px;font-weight:800;text-transform:capitalize}.admin-feedback-role{margin-left:auto}.admin-feedback-role.role-parent{color:#0369a1;background:#e0f2fe}.admin-feedback-role.role-student{color:#047857;background:#d1fae5}.admin-feedback-role.role-tutor{color:#7e22ce;background:#f3e8ff}.admin-feedback-card-top time{margin-left:10px}.admin-feedback-card-meta{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.admin-feedback-category{color:#4338ca;background:#eef2ff}.admin-feedback-stars{display:flex;gap:2px;color:#cbd5e1;font-size:15px}.admin-feedback-stars .is-filled{color:#f59e0b}.admin-feedback-message{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.7;white-space:pre-wrap}.admin-feedback-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:19px;padding-top:13px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:10px}.admin-feedback-card-footer button{border:0;color:#dc2626;background:none;font:inherit;font-weight:800;cursor:pointer}.admin-feedback-card-footer button:hover{color:#991b1b}.admin-feedback-empty{padding:65px 20px;text-align:center;border:1px dashed var(--color-border);border-radius:18px}.admin-feedback-empty div{color:#8b5cf6;font-size:30px}.admin-feedback-empty h3{margin:12px 0 5px;font-size:16px}.admin-feedback-empty p{margin:0;color:var(--color-text-muted);font-size:12px}.admin-feedback-loading{display:grid;gap:13px}.admin-feedback-loading span{height:145px;border-radius:18px;background:linear-gradient(100deg,var(--color-surface),var(--color-bg),var(--color-surface));background-size:200% 100%;animation:admin-feedback-shimmer 1.3s infinite}@keyframes admin-feedback-shimmer{to{background-position:-200% 0}}@media(max-width:650px){.admin-feedback-page{padding:18px 16px 35px}.admin-feedback-hero{padding:28px 25px}.admin-feedback-orb{display:none}.admin-feedback-stats{grid-template-columns:1fr}.admin-feedback-toolbar{align-items:stretch;flex-direction:column}.admin-feedback-card-top{align-items:flex-start;flex-wrap:wrap}.admin-feedback-role{margin-left:0}.admin-feedback-card-top time{margin-left:0}.admin-feedback-card-footer{gap:12px;align-items:center;flex-direction:row;justify-content:space-between}}.admin-feedback-filter select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:14px;padding-right:40px;cursor:pointer}.admin-feedback-card .admin-feedback-avatar,.admin-feedback-card .admin-feedback-author strong,.admin-feedback-card .admin-feedback-message,.admin-feedback-card .admin-feedback-card-footer button{font-size:14px}.admin-feedback-card .admin-feedback-author strong{font-size:16px}.admin-feedback-card .admin-feedback-role,.admin-feedback-card .admin-feedback-category{font-size:12px}.admin-feedback-message-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:16px}.admin-feedback-message-row .admin-feedback-message{flex:1;min-width:0}.admin-feedback-message-row .admin-feedback-stars{flex:0 0 auto}.admin-feedback-card-top .admin-feedback-author{margin-right:auto}.admin-feedback-card-top .admin-feedback-role{margin-left:0}.admin-feedback-card-top time{margin-left:0;font-size:14px}.admin-feedback-filter select{font-size:14px;font-weight:500}.admin-feedback-stats div:nth-child(1){border-color:#6366f1;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 12px 26px #4f46e533}.admin-feedback-stats div:nth-child(2){border-color:#10b981;background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 12px 26px #0596692e}.admin-feedback-stats div:nth-child(3){border-color:#f59e0b;background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 12px 26px #d977062e}.admin-feedback-stats div{position:relative;overflow:hidden;border-width:0;border-radius:18px;color:#fff}.admin-feedback-stats div:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.admin-feedback-stats div span,.admin-feedback-stats div strong{position:relative;z-index:1}.admin-feedback-stats div:nth-child(n) span,.admin-feedback-stats div:nth-child(n) strong{color:#fff}.admin-feedback-stats div:nth-child(n) span{color:#fff}.admin-feedback-stats div:nth-child(n) small{color:#ffffffc7}@media(max-width:650px){.admin-feedback-message-row{gap:12px}}.admin-feedback-title{margin:16px 0 -5px;color:var(--color-text-primary);font-size:16px;font-weight:800}.admin-reset-requests{width:min(1440px,calc(100% - 48px));margin:30px auto 56px;color:#172033}.admin-reset-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:34px 38px;border:1px solid #e3e9f4;border-radius:24px;background:radial-gradient(circle at 92% 5%,#e5eaff 0,transparent 30%),linear-gradient(120deg,#fff,#f7f9ff);box-shadow:0 18px 48px #1e305812}.admin-reset-eyebrow,.admin-reset-list-heading>div>span{color:#5965d8;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.admin-reset-hero h1{margin:9px 0 8px;color:#151d35;font-size:clamp(25px,3vw,36px);letter-spacing:-.04em}.admin-reset-hero p{max-width:690px;margin:0;color:#667085;line-height:1.65}.admin-reset-hero-stat{display:grid;min-width:132px;gap:5px;padding:17px 20px;border:1px solid #e0e6ff;border-radius:17px;background:#fffc;text-align:center}.admin-reset-hero-stat span{color:#717b90;font-size:12px;font-weight:700}.admin-reset-hero-stat strong{color:#4f46e5;font-size:32px;line-height:1}.admin-reset-workspace{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);gap:20px;margin-top:22px;align-items:stretch}.admin-reset-list-panel,.admin-reset-detail-panel{min-height:510px;overflow:hidden;border:1px solid #e7ebf3;border-radius:21px;background:#fff;box-shadow:0 12px 36px #202f4f0e}.admin-reset-list-heading{display:flex;align-items:center;justify-content:space-between;padding:23px 24px 20px;border-bottom:1px solid #edf0f6}.admin-reset-list-heading h2{margin:5px 0 0;font-size:18px;letter-spacing:-.02em}.admin-reset-count{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:#eef0ff;color:#4f46e5;font-weight:800}.admin-reset-request-list{display:grid;padding:8px}.admin-reset-request-item{display:flex;width:100%;align-items:center;gap:12px;padding:15px 13px;border:1px solid transparent;border-radius:14px;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:background .18s ease,border-color .18s ease,transform .18s ease}.admin-reset-request-item:hover{transform:translateY(-1px);background:#f8f9ff}.admin-reset-request-item.is-selected{border-color:#d9ddff;background:#f3f4ff}.admin-reset-avatar,.admin-reset-detail-avatar{display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:linear-gradient(145deg,#e8eaff,#d7f3f2);color:#464dc0;font-weight:800}.admin-reset-avatar{width:43px;height:43px}.admin-reset-request-copy{display:grid;min-width:0;flex:1;gap:3px}.admin-reset-request-copy strong,.admin-reset-request-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-reset-request-copy strong{color:#202941;font-size:14px}.admin-reset-request-copy span{color:#69758a;font-size:12px}.admin-reset-request-copy small{color:#929bad;font-size:11px;text-transform:capitalize}.admin-reset-pending-dot{width:8px;height:8px;border-radius:50%;background:#f0a439;box-shadow:0 0 0 4px #fff4df}.admin-reset-detail-panel{padding:31px clamp(24px,4vw,48px)}.admin-reset-detail-top{display:grid;justify-items:center;padding-bottom:24px;text-align:center}.admin-reset-detail-avatar{width:76px;height:76px;margin-bottom:13px;font-size:25px}.admin-reset-status{padding:5px 10px;border-radius:20px;background:#fff4df;color:#a66b12;font-size:11px;font-weight:800}.admin-reset-detail-top h2{margin:12px 0 4px;color:#202941;font-size:23px;letter-spacing:-.03em}.admin-reset-detail-top p{margin:0;color:#738096;font-size:13px;text-transform:capitalize}.admin-reset-contact-card{display:flex;align-items:center;gap:14px;margin-top:10px;padding:15px 17px;border:1px solid #edf0f6;border-radius:14px;background:#fbfcff}.admin-reset-contact-icon{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:12px;background:#eef0ff;color:#5358c8;font-size:17px;font-weight:800}.admin-reset-contact-card div{display:grid;min-width:0;gap:4px}.admin-reset-contact-card small{color:#8993a6;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.admin-reset-contact-card a{overflow-wrap:anywhere;color:#25304a;font-size:14px;font-weight:700;text-decoration:none}.admin-reset-contact-card a:hover{color:#4f46e5}.admin-reset-review-note{margin-top:17px;padding:15px 17px;border-left:3px solid #818cf8;border-radius:8px 13px 13px 8px;background:#f6f7ff}.admin-reset-review-note strong{color:#4048a5;font-size:12px}.admin-reset-review-note p{margin:6px 0 0;color:#667085;font-size:12px;line-height:1.6}.admin-reset-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:21px}.admin-reset-actions .btn{min-height:42px}.admin-reset-state,.admin-reset-empty,.admin-reset-detail-placeholder{display:grid;min-height:370px;align-content:center;justify-items:center;padding:24px;color:#7b869a;text-align:center}.admin-reset-state-error{color:#b54747}.admin-reset-empty>span,.admin-reset-detail-placeholder>span{display:grid;width:52px;height:52px;place-items:center;border-radius:17px;background:#eef8f3;color:#29946a;font-size:24px;font-weight:800}.admin-reset-empty h3,.admin-reset-detail-placeholder h2{margin:16px 0 5px;color:#26314a;font-size:18px}.admin-reset-empty p,.admin-reset-detail-placeholder p{max-width:310px;margin:0;font-size:13px;line-height:1.6}.admin-reset-detail-placeholder>span{background:#f1f2ff;color:#5c60cb}@media(max-width:820px){.admin-reset-requests{width:min(100% - 28px,700px);margin-top:18px}.admin-reset-hero{align-items:flex-start;padding:25px 22px}.admin-reset-hero-stat{min-width:100px;padding:13px}.admin-reset-workspace{grid-template-columns:1fr}.admin-reset-list-panel{min-height:auto}.admin-reset-list-panel:has(.admin-reset-empty){min-height:290px}.admin-reset-detail-panel{min-height:490px}}@media(max-width:520px){.admin-reset-hero{display:grid}.admin-reset-hero-stat{grid-template-columns:1fr auto;align-items:center;text-align:left}.admin-reset-hero-stat strong{font-size:25px}.admin-reset-actions{flex-direction:column-reverse}.admin-reset-actions .btn{width:100%}}.admin-login-failures{width:min(1480px,calc(100% - 48px));margin:30px auto 56px;color:#172033}.admin-login-failures-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:34px 38px;border:1px solid #e3e9f4;border-radius:24px;background:radial-gradient(circle at 90% 5%,#e6e9ff 0,transparent 31%),linear-gradient(120deg,#fff,#f7f8ff);box-shadow:0 18px 48px #1e305812}.admin-login-failures-eyebrow,.admin-login-failures-card header>div>span{color:#5965d8;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.admin-login-failures-hero h1{margin:9px 0 8px;color:#151d35;font-size:clamp(25px,3vw,36px);letter-spacing:-.04em}.admin-login-failures-hero p{max-width:640px;margin:0;color:#667085;line-height:1.65}.admin-login-failures-stats{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:10px}.admin-login-failures-stats div{min-width:104px;padding:14px 16px;border:1px solid #e2e7f5;border-radius:15px;background:#ffffffd1}.admin-login-failures-stats span,.admin-login-failures-stats strong{display:block}.admin-login-failures-stats span{color:#667085;font-size:11px}.admin-login-failures-stats strong{margin-top:5px;color:#252c62;font-size:23px}.admin-login-failures-stats div{position:relative;overflow:hidden;min-height:84px;border:0;border-radius:16px;color:#fff;box-shadow:0 10px 24px -8px #0f172a47}.admin-login-failures-stats div:nth-child(1){background:linear-gradient(135deg,#6366f1,#4f46e5)}.admin-login-failures-stats div:nth-child(2){background:linear-gradient(135deg,#10b981,#059669)}.admin-login-failures-stats div:nth-child(3){background:linear-gradient(135deg,#f59e0b,#d97706)}.admin-login-failures-stats div:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.admin-login-failures-stats span,.admin-login-failures-stats strong{position:relative;z-index:1;color:#fff}.admin-login-failures-stats span{color:#fff;font-weight:700}.admin-login-failures-card{margin-top:22px;overflow:hidden;border:1px solid #e3e8f2;border-radius:22px;background:#fff;box-shadow:0 16px 42px #1e30580f}.admin-login-failures-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 26px;border-bottom:1px solid #edf0f6}.admin-login-failures-card h2{margin:5px 0 0;color:#19223b;font-size:20px}.admin-login-failures-period{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border:1px solid #e2e6f2;border-radius:99px;color:#5965d8;background:#f7f8ff;font-size:12px;font-weight:700;text-align:center}.admin-login-failures-table-wrap{overflow-x:auto}.admin-login-failures-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;white-space:nowrap}.admin-login-failures-table th{padding:13px 18px;color:#667085;background:#f8f9fc;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.admin-login-failures-table td{padding:16px 18px;border-top:1px solid #edf0f6;color:#475467;font-size:13px}.admin-login-failures-table tbody tr:hover{background:#fafbff}.admin-login-failures-table td strong{color:#202944}.admin-login-failures-code{padding:5px 8px;border-radius:7px;color:#525bc2;background:#f0f1ff;font-size:11px;font-weight:800}.admin-login-failures-alert{padding:5px 9px;border:1px solid #fecaca;border-radius:99px;color:#b42318;background:#fff1f0;font-size:11px;font-weight:800}.admin-login-failures-muted{color:#98a2b3}.admin-login-failures-state{padding:42px 24px;color:#667085;text-align:center}.admin-login-failures-state.is-error{color:#b42318}@media(max-width:900px){.admin-login-failures-hero{align-items:flex-start;flex-direction:column}.admin-login-failures-stats{width:100%}}@media(max-width:560px){.admin-login-failures{width:calc(100% - 24px);margin-top:14px}.admin-login-failures-hero{padding:24px 20px;border-radius:18px}.admin-login-failures-stats{grid-template-columns:1fr}.admin-login-failures-card{border-radius:16px}.admin-login-failures-card>header{padding:18px}.admin-login-failures-table{min-width:760px}}.admin-school-backup-page{display:grid;gap:20px}.admin-school-backup-selector{display:grid;gap:10px;max-width:620px}.admin-school-backup-selector label,.admin-school-backup-file-label{color:var(--color-text-primary);font-size:13px;font-weight:600}.admin-school-backup-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}.admin-school-backup-card{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.admin-school-backup-card .card-title{margin:0 0 8px}.admin-school-backup-help{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.55}.admin-school-backup-card input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.admin-school-backup-file-field{display:grid;width:100%;gap:9px}.admin-school-backup-file-picker{display:flex;width:100%;min-height:82px;align-items:center;gap:14px;padding:15px 17px;border:1px dashed #818cf8;border-radius:16px;color:var(--color-text-primary);background:radial-gradient(circle at 100% 0,rgba(103,232,249,.18),transparent 35%),linear-gradient(125deg,#eef2fff2,#ecfeffc7);box-shadow:0 10px 26px #4f46e517;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.admin-school-backup-file-picker:hover{transform:translateY(-1px);border-color:#6366f1;box-shadow:0 14px 30px #4f46e526}.admin-school-backup-file-picker:focus-within{outline:3px solid rgba(99,102,241,.22);outline-offset:3px}.admin-school-backup-file-icon{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border-radius:13px;color:#fff;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 7px 16px #4f46e538;font-size:23px;font-weight:700}.admin-school-backup-file-copy{display:grid;min-width:0;flex:1;gap:5px}.admin-school-backup-file-copy strong{overflow:hidden;color:var(--color-text-primary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.admin-school-backup-file-copy small{color:var(--color-text-muted);font-size:12px}.admin-school-backup-browse{flex:0 0 auto;padding:9px 12px;border:1px solid rgba(99,102,241,.25);border-radius:10px;color:#4f46e5;background:#ffffffd1;font-size:12px;font-weight:800}.admin-school-backup-error{margin:0;color:var(--color-danger, #b42318);font-size:13px}@media(max-width:760px){.admin-school-backup-actions{grid-template-columns:1fr}}@media(max-width:480px){.admin-school-backup-file-picker{gap:10px;padding:12px}.admin-school-backup-browse{padding:8px;font-size:11px}}.admin-features-page{width:min(100% - 36px,920px);margin:30px auto;color:#202943}.admin-features-hero{padding:30px 34px;border-radius:22px;color:#fff;background:radial-gradient(circle at 90% 5%,#7778f0 0,transparent 34%),linear-gradient(120deg,#252a62,#4849a6 68%,#5a62c8);box-shadow:0 18px 44px #353b8226}.admin-features-kicker{font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;opacity:.75}.admin-features-hero h2{margin:8px 0;font-size:30px;letter-spacing:-.04em}.admin-features-hero p{max-width:570px;margin:0;color:#e5e7ff;font-size:14px;line-height:1.65}.admin-features-selector{display:grid;width:min(100%,620px);gap:9px;margin:22px 0 18px;padding:20px 22px;border:1px solid #e8eaf2;border-radius:17px;background:#fff;box-shadow:0 8px 24px #252c5010}.admin-features-selector label{color:#5b647c;font-size:12px;font-weight:750}.admin-features-school-select{width:min(100%,420px);min-height:46px;padding-right:42px;border-color:#dfe3ee;border-radius:11px;background-color:#fbfcff;color:#27314d;font-size:14px;background-position:right 15px center}.admin-feature-list{overflow:hidden;border:1px solid #e8eaf2;border-radius:18px;background:#fff;box-shadow:0 12px 30px #252c5010}.admin-feature-school{display:flex;align-items:center;gap:13px;padding:19px 22px;border-bottom:1px solid #eef0f5;background:#fbfcff}.admin-feature-school-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#eceeff;color:#5158c4;font-weight:800}.admin-feature-school div{display:grid;gap:4px}.admin-feature-school small{color:#8a92a6;font-size:9px;font-weight:800;letter-spacing:.11em}.admin-feature-school strong{color:#29324d;font-size:14px}.admin-feature-school-status{margin-left:auto;padding:5px 9px;border-radius:20px;background:#eaf7f0;color:#27825b;font-size:10px;font-weight:800;text-transform:capitalize}.admin-feature-card{display:flex;align-items:center;gap:15px;padding:21px 22px;border-bottom:1px solid #f0f1f6;transition:background .2s ease}.admin-feature-card:last-child{border-bottom:0}.admin-feature-card.is-enabled{background:linear-gradient(100deg,#f8f9ff,#fff 60%)}.admin-feature-icon{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;border-radius:14px;background:#fff5e9;color:#bd761f;font-size:21px;font-weight:800}.admin-feature-icon-tests{background:#eef0ff;color:#575cc8}.admin-feature-copy{min-width:0;flex:1}.admin-feature-title-row{display:flex;align-items:center;gap:10px}.admin-feature-title-row h3{margin:0;color:#29324d;font-size:15px}.admin-feature-copy p{margin:6px 0 0;color:#81899b;font-size:12px;line-height:1.5}.admin-feature-badge{padding:4px 8px;border-radius:20px;background:#f2f3f6;color:#7e8798;font-size:9px;font-weight:800}.admin-feature-badge.is-enabled{background:#e7f7ef;color:#22805a}.admin-feature-toggle{position:relative;width:48px;height:28px;flex:0 0 auto;padding:3px;border:0;border-radius:20px;background:#d9dde7;cursor:pointer;transition:background .2s ease}.admin-feature-toggle span{display:block;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #1e274033;transition:transform .2s ease}.admin-feature-toggle.is-enabled{background:linear-gradient(100deg,#555bd0,#7772e6)}.admin-feature-toggle.is-enabled span{transform:translate(20px)}.admin-feature-toggle:disabled{cursor:not-allowed;opacity:.6}.admin-feature-toggle:focus-visible{outline:3px solid #aab0ff;outline-offset:3px}.admin-features-empty{display:grid;min-height:220px;align-content:center;justify-items:center;padding:25px;border:1px dashed #d8dcea;border-radius:18px;color:#81899b;text-align:center}.admin-features-empty>span{display:grid;width:45px;height:45px;place-items:center;margin-bottom:12px;border-radius:15px;background:#eef0ff;color:#5c62cc;font-size:24px}.admin-features-empty strong{color:#38425d;font-size:14px}.admin-features-empty p,.admin-features-message{color:#838b9d;font-size:12px}.admin-features-message{padding:12px 20px}.admin-features-message.is-error{color:#b54747}@media(max-width:600px){.admin-features-page{width:min(100% - 24px,920px);margin-top:18px}.admin-features-hero{padding:24px 22px}.admin-feature-card{gap:11px;padding:17px 14px}.admin-feature-icon{width:38px;height:38px}.admin-feature-title-row{flex-wrap:wrap;gap:6px}.admin-feature-copy p{font-size:11px}}.accounts-student-field-locked{position:relative}.accounts-student-field-locked .label{display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:#64748b}.accounts-student-field-locked .input,.accounts-student-field-locked .select{border-color:#dbe4f0;color:#64748b;background:linear-gradient(135deg,#f8fafc,#f1f5f9);box-shadow:inset 0 1px 2px #0f172a08;cursor:not-allowed}.accounts-student-form.is-editing .field:not(.accounts-student-field-locked) .input,.accounts-student-form.is-editing .field:not(.accounts-student-field-locked) .select,.accounts-student-form.is-editing .field:not(.accounts-student-field-locked) .textarea{border-color:#c7d2fe;background-color:#fff;box-shadow:0 0 0 2px #6366f10f}.accounts-student-form.is-editing .field:not(.accounts-student-field-locked) .input:focus,.accounts-student-form.is-editing .field:not(.accounts-student-field-locked) .select:focus,.accounts-student-form.is-editing .field:not(.accounts-student-field-locked) .textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f124}.accounts-student-field-locked .input:disabled,.accounts-student-field-locked .select:disabled{opacity:1;-webkit-text-fill-color:#64748b}.accounts-student-field-locked .input-password-wrapper{position:relative}.accounts-student-field-locked .password-toggle-btn:disabled{color:#94a3b8;background:#f1f5f9;cursor:not-allowed}.accounts-student-subject-picker{position:relative}.accounts-student-subject-picker summary{display:flex;min-height:42px;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid var(--color-border, #dbe4f0);border-radius:10px;background:#fff;color:var(--color-text, #1e293b);cursor:pointer;list-style:none}.accounts-student-subject-picker summary::-webkit-details-marker{display:none}.accounts-student-subject-chevron{display:grid;width:18px;height:18px;place-items:center;color:#6366f1;transition:transform .2s ease}.accounts-student-subject-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.accounts-student-subject-picker[open] .accounts-student-subject-chevron{transform:rotate(180deg)}.accounts-student-subject-picker[open] summary{border-color:#6366f1;border-radius:10px 10px 0 0}.accounts-student-subject-options{position:absolute;z-index:20;top:calc(100% - 1px);right:0;left:0;max-height:220px;overflow-y:auto;padding:6px;border:1px solid #c7d2fe;border-radius:0 0 10px 10px;background:#fff;box-shadow:0 12px 28px #0f172a24}.accounts-student-subject-actions{display:flex;align-items:center;justify-content:space-between;padding:8px 9px;border-bottom:1px solid var(--color-border, #dbe4f0);color:#4f46e5;font-size:12px;font-weight:700}.accounts-student-subject-actions button{padding:0;border:0;color:inherit;background:transparent;font:inherit;cursor:pointer}.accounts-student-subject-option{display:flex;align-items:center;gap:9px;padding:9px 8px;border-radius:7px;cursor:pointer}.accounts-student-subject-option:hover{background:#f1f5f9}.accounts-student-subject-option input{width:16px;height:16px;accent-color:#4f46e5}.accounts-student-subject-empty{margin:0;padding:10px 8px;color:#64748b;font-size:13px}.accounts-student-form-actions{display:flex;align-items:center;justify-content:flex-start;gap:12px;margin-top:20px}.accounts-student-form-actions .btn-primary-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent}.accounts-student-form-actions .btn-primary-outline:hover:not(:disabled){background:#6366f114}.edit-icon-button{display:grid;place-items:center;width:36px;height:36px;border:1px solid #d9d4ff;border-radius:11px;color:#5145cd;background:linear-gradient(145deg,#f6f4ff,#ebe8ff);box-shadow:0 5px 12px #5145cd1c,inset 0 1px #fff;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.edit-icon-button:hover:not(:disabled),.edit-icon-button:focus-visible{background:linear-gradient(145deg,#ece9ff,#ddd9ff);box-shadow:0 8px 16px #5145cd2b,inset 0 1px #fff;outline:none;transform:translateY(-1px)}.edit-icon-button:focus-visible{box-shadow:0 0 0 4px #5145cd24,0 8px 16px #5145cd2b}.edit-icon-button:disabled{cursor:not-allowed;opacity:.5}.edit-icon-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.secondary-edit-icon-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:8px;color:var(--color-primary);background:transparent;cursor:pointer;transition:background .15s,color .15s}.secondary-edit-icon-button:hover:not(:disabled),.secondary-edit-icon-button:focus-visible{color:var(--color-primary);background:var(--color-bg);outline:none}.secondary-edit-icon-button:disabled{cursor:not-allowed;opacity:.5}.secondary-edit-icon-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.accounts-teachers-page{max-width:1200px}.accounts-teachers-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.accounts-teachers-overview-item{display:flex;align-items:center;gap:12px;min-height:70px;padding:13px 17px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 6px 18px #1e293b09}.accounts-teachers-overview-item strong,.accounts-teachers-overview-item span{display:block}.accounts-teachers-overview-item strong{color:var(--color-text-primary);font-size:22px;line-height:1}.accounts-teachers-overview-item div span{margin-top:5px;color:var(--color-text-muted);font-size:11px;font-weight:600}.accounts-teachers-overview-item .accounts-teachers-overview-icon{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:12px;font-size:20px;font-weight:800;line-height:1;text-align:center}.accounts-teachers-overview-icon.is-indigo{color:#4f46e5;background:#eef2ff}.accounts-teachers-overview-icon.is-emerald{color:#059669;background:#ecfdf5}.accounts-teachers-overview-icon.is-amber{color:#d97706;background:#fffbeb}.accounts-teachers-hero{position:relative;display:flex;align-items:center;justify-content:space-between;overflow:hidden;min-height:148px;padding:26px 30px;margin-bottom:18px;border:1px solid rgba(99,102,241,.14);border-radius:22px;background:linear-gradient(115deg,#f4f3ff,#fff 48%,#effbfd);box-shadow:0 12px 30px #1e293b0e}.accounts-teachers-hero:after{content:"";position:absolute;width:280px;height:280px;right:5%;top:-170px;border-radius:50%;background:#818cf824;pointer-events:none}.accounts-teachers-eyebrow,.accounts-teachers-kicker{margin:0 0 7px;color:var(--color-primary);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.accounts-teachers-hero h1{position:relative;z-index:1;margin:0 0 5px;color:var(--color-text-primary);font-size:clamp(24px,3vw,31px);font-weight:700;letter-spacing:-.04em}.accounts-teachers-hero p:last-child{position:relative;z-index:1;margin:0;color:var(--color-text-muted);font-size:13px}.accounts-teachers-hero-icon{position:relative;z-index:1;display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(99,102,241,.15);border-radius:18px;color:#6366f1;background:#ffffffb3;box-shadow:0 8px 20px #6366f11a}.accounts-teachers-hero-icon svg{width:31px;height:31px}.accounts-teachers-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:19px 22px;margin-bottom:18px}.accounts-teachers-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.accounts-teachers-toolbar .card-title{margin:0 0 3px}.accounts-teachers-toolbar .section-sub{margin:0}.accounts-teachers-kicker{margin-bottom:4px;color:#7c3aed}.accounts-teachers-search-wrap{position:relative;width:min(520px,100%);min-width:200px}.accounts-teachers-search-wrap svg{position:absolute;top:13px;right:13px;width:16px;height:16px;color:var(--color-text-muted);pointer-events:none}.accounts-teachers-search{height:42px;margin:0;padding-right:38px;border-radius:11px}.accounts-teachers-view-picker{position:relative;flex:0 0 auto}.accounts-teachers-view-trigger{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 12px;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-secondary);background:var(--color-surface);font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:border-color .15s,box-shadow .15s,color .15s}.accounts-teachers-view-trigger:hover,.accounts-teachers-view-trigger.is-open{border-color:#a5b4fc;color:#4f46e5;box-shadow:0 4px 12px #4f46e51a}.accounts-teachers-view-trigger svg{width:16px;height:16px}.accounts-teachers-view-chevron{width:6px;height:6px;margin-left:2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}.accounts-teachers-view-menu{position:absolute;z-index:10;top:calc(100% + 8px);right:0;width:174px;padding:8px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:0 16px 35px #0f172a24}.accounts-teachers-view-menu p{margin:3px 8px 7px;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.accounts-teachers-view-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:9px 10px;border:0;border-radius:9px;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:12px;text-align:left;cursor:pointer}.accounts-teachers-view-menu button:hover,.accounts-teachers-view-menu button.is-selected{color:#4338ca;background:#eef2ff}.accounts-teachers-view-menu button svg{width:15px;height:15px}.accounts-teachers-view-check{margin-left:auto;color:#4f46e5;font-weight:900}.accounts-teachers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(275px,1fr));gap:15px}.accounts-teachers-table-shell{overflow:auto;border:1px solid rgba(99,102,241,.18);border-radius:18px;background:var(--color-surface);box-shadow:0 16px 36px #4f46e517,0 2px 8px #0f172a0a}.accounts-teachers-table{width:100%;min-width:790px;border-collapse:separate;border-spacing:0;color:var(--color-text-primary);font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif}.accounts-teachers-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.accounts-teachers-table th{padding:16px 18px;border-bottom:1px solid rgba(129,140,248,.3);color:#fff;background:transparent!important;font-family:Avenir Next,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.12em;text-align:left;text-transform:uppercase;white-space:nowrap}.accounts-teachers-table th:first-child{border-top-left-radius:17px}.accounts-teachers-table th:last-child{border-top-right-radius:17px}.accounts-teachers-table td{padding:17px 18px;border-bottom:1px solid #edf0f7;vertical-align:middle;color:var(--color-text-secondary);font-size:13px;font-weight:500;letter-spacing:.005em;line-height:1.5}.accounts-teachers-table tbody tr:last-child td{border-bottom:0}.accounts-teachers-table tbody tr{background:var(--color-surface);transition:background .18s,box-shadow .18s}.accounts-teachers-table tbody tr:nth-child(2n){background:#fcfcff}.accounts-teachers-table tbody tr:hover{background:#f5f3ff;box-shadow:inset 3px 0 #818cf8}.accounts-teacher-table-name,.accounts-teacher-table-contact{display:flex;align-items:center;gap:10px}.accounts-teacher-table-name strong,.accounts-teacher-table-name span,.accounts-teacher-table-contact span{display:block}.accounts-teacher-table-name strong{color:var(--color-text-primary);font-size:13px;font-weight:700}.accounts-teacher-table-name div span{margin-top:4px;color:#818cf8;font-size:11px;font-weight:650}.accounts-teacher-table-avatar{display:grid;place-items:center;width:34px;height:34px;border:1px solid #c7d2fe;border-radius:10px;color:#4338ca;background:linear-gradient(135deg,#e0e7ff,#ede9fe);font-size:13px;font-weight:800}.accounts-teacher-table-contact{align-items:flex-start;flex-direction:column;gap:4px;color:var(--color-text-secondary)}.accounts-teacher-table-contact span:first-child{color:var(--color-text-primary);font-weight:400}.accounts-teacher-table-contact span:last-child,.accounts-teacher-table-address{color:var(--color-text-secondary);font-size:11px}.accounts-teacher-table-address{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-teachers-table .accounts-teacher-subject-list{display:flex;min-width:150px}.accounts-teachers-table .accounts-teacher-grade-list{min-width:150px}.accounts-teachers-table .accounts-teacher-subject-list span{border-color:#ddd6fe;color:#6d28d9;background:linear-gradient(135deg,#faf5ff,#eef2ff);box-shadow:0 2px 6px #6d28d912}.accounts-teachers-table .accounts-teacher-grade-list span{border-color:#bfdbfe;color:#1d4ed8;background:linear-gradient(135deg,#eff6ff,#eef2ff);box-shadow:0 2px 6px #2563eb12}.sidenav-container[data-theme=dark] .accounts-teachers-table-shell{border-color:#818cf84d;box-shadow:0 16px 36px #0003}.sidenav-container[data-theme=dark] .accounts-teachers-table th{border-bottom-color:#c4b5fd75;color:#fff;background:linear-gradient(120deg,#020307,#11102a 48%,#3b0764)!important}.sidenav-container[data-theme=dark] .accounts-teachers-table td{border-bottom-color:#1e293b;color:var(--color-text-secondary)}.sidenav-container[data-theme=dark] .accounts-teachers-table tbody tr{background:var(--color-surface)}.sidenav-container[data-theme=dark] .accounts-teachers-table tbody tr:nth-child(2n){background:#141b2c}.sidenav-container[data-theme=dark] .accounts-teachers-table tbody tr:hover{background:#202044}.sidenav-container[data-theme=dark] .accounts-teacher-table-name div span{color:#a5b4fc}.sidenav-container[data-theme=dark] .accounts-teacher-table-contact span:last-child,.sidenav-container[data-theme=dark] .accounts-teacher-table-address{color:var(--color-text-secondary)}.sidenav-container[data-theme=dark] .accounts-teachers-table .accounts-teacher-subject-list span{border-color:#4c3d87;color:#c4b5fd;background:#29234c}.accounts-teacher-card{padding:18px;transition:transform .16s,box-shadow .16s}.accounts-teacher-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #1e293b1a}.accounts-teacher-map-button{margin-top:16px}.accounts-teacher-mapping-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.accounts-teacher-mapping-modal{width:min(100%,620px);max-height:92vh;overflow:visible;border:1px solid #c4b5fd;border-radius:24px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a45}.accounts-teacher-mapping-modal>header{display:flex;justify-content:space-between;gap:16px;padding:25px 26px 21px;border-bottom:1px solid var(--color-border)}.accounts-teacher-mapping-modal header span{color:#7c3aed;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.accounts-teacher-mapping-modal h2{margin:6px 0;color:var(--color-text-primary);font-size:21px;letter-spacing:-.04em}.accounts-teacher-mapping-modal header p{max-width:480px;margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.55}.accounts-teacher-mapping-modal header>button{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);font-size:23px;line-height:1;cursor:pointer}.accounts-teacher-mapping-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:25px 26px;align-items:start}.accounts-assignment-picker{position:relative;display:grid;align-self:start;align-content:start;gap:7px;color:var(--color-text-primary);font-size:12px;font-weight:700}.accounts-assignment-trigger{display:flex;align-items:center;justify-content:space-between;height:45px;box-sizing:border-box;padding:8px 13px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:400;text-align:left;cursor:pointer}.accounts-assignment-trigger:hover,.accounts-assignment-trigger.is-open{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11c}.accounts-assignment-trigger .is-placeholder{color:var(--color-text-muted)}.accounts-assignment-trigger i{width:8px;height:8px;border-right:2px solid #6366f1;border-bottom:2px solid #6366f1;transform:rotate(45deg) translateY(-2px)}.accounts-assignment-trigger.is-open i{transform:rotate(225deg) translateY(-2px)}.accounts-assignment-chips{display:flex;flex-wrap:wrap;gap:6px}.accounts-assignment-chips>span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;background:#eef2ff;font-size:11px;font-weight:600}.accounts-assignment-chips button{width:16px;height:16px;padding:0;border:0;border-radius:50%;color:#6366f1;background:transparent;cursor:pointer}.accounts-assignment-chips button:hover{background:#c7d2fe}.accounts-assignment-chips .is-more{color:var(--color-text-muted);background:var(--color-bg)}.accounts-assignment-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:10;overflow:hidden;border:1px solid #c7d2fe;border-radius:16px;background:var(--color-surface);box-shadow:0 18px 45px #1e293d33}.accounts-assignment-menu>input{width:calc(100% - 24px);margin:12px;box-sizing:border-box;padding:9px 10px;border:1px solid var(--color-border);border-radius:10px;outline:none;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:12px}.accounts-assignment-menu>input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11c}.accounts-assignment-menu-actions{display:flex;justify-content:space-between;padding:0 12px 10px}.accounts-assignment-menu-actions button,.accounts-assignment-menu footer button{padding:0;border:0;color:#4f46e5;background:transparent;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.accounts-assignment-menu-actions button:disabled{color:var(--color-text-muted);cursor:not-allowed}.accounts-assignment-options{max-height:170px;overflow-y:auto;padding:6px;border-top:1px solid var(--color-border)}.accounts-assignment-options button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;color:var(--color-text-primary);background:transparent;font:inherit;font-size:12px;text-align:left;cursor:pointer}.accounts-assignment-options button:hover,.accounts-assignment-options button.is-selected{color:#3730a3;background:#eef2ff;font-weight:600}.accounts-assignment-options button b{width:17px;height:17px;flex:0 0 auto;border:1px solid #cbd5e1;border-radius:5px;background:var(--color-surface)}.accounts-assignment-options button.is-selected b{border-color:#6366f1;background:#6366f1;box-shadow:inset 0 0 0 4px var(--color-surface)}.accounts-assignment-options small{display:block;padding:18px 10px;color:var(--color-text-muted);text-align:center}.accounts-assignment-menu footer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px}.accounts-assignment-menu footer button{padding:6px 10px;border-radius:8px;color:#fff;background:#4f46e5}.accounts-teacher-mapping-error{margin:0 26px 18px;padding:10px 12px;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:12px}.accounts-teacher-mapping-modal>footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px 23px;border-top:1px solid var(--color-border)}.accounts-teacher-mapping-cancel{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.accounts-teacher-mapping-cancel:hover:not(:disabled){border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.accounts-teacher-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}.accounts-teacher-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.accounts-teacher-heading h3{margin-bottom:3px}.accounts-teacher-heading p{margin:0;color:var(--color-text-muted);font-size:11px}.accounts-teacher-heading .accounts-teacher-role{display:inline-flex;align-items:center;gap:6px;margin-top:2px;padding:5px 8px;border-radius:7px;color:#047857;background:#ecfdf5;font-size:10px;font-weight:800}.accounts-teacher-heading .accounts-teacher-role.is-inactive{color:#6b7280;background:#f9fafb}.accounts-teacher-status-dot{width:6px;height:6px;border-radius:50%;background:#10b981}.accounts-teacher-role.is-inactive .accounts-teacher-status-dot{background:#9ca3af}.accounts-teacher-details{display:grid;gap:8px;margin:17px 0 16px;padding:12px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.accounts-teacher-detail{display:flex;align-items:center;gap:9px;min-width:0;color:var(--color-text-secondary);font-size:12px}.accounts-teacher-detail svg{width:15px;height:15px;flex:0 0 15px;color:#818cf8}.accounts-teacher-detail span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.accounts-teacher-subjects{min-height:95px}.accounts-teacher-grades{min-height:0;margin-bottom:16px}.accounts-teacher-subjects-heading{display:flex;align-items:center;justify-content:space-between;min-height:36px;margin-bottom:8px}.accounts-teacher-section-label{margin:0;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.accounts-teacher-subjects-heading .edit-icon-button{width:32px;height:32px;flex:0 0 32px}.accounts-teacher-subject-list{display:flex;flex-wrap:wrap;gap:6px}.accounts-teacher-subject-list span{padding:5px 8px;border:1px solid #ddd6fe;border-radius:7px;color:#6d28d9;background:#faf5ff;font-size:11px;font-weight:700}.accounts-teacher-grade-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.accounts-teacher-grade-list span{padding:5px 8px;border:1px solid #bfdbfe;border-radius:7px;color:#1d4ed8;background:#eff6ff;font-size:11px;font-weight:700}.accounts-teacher-muted{margin:0;color:var(--color-text-muted);font-size:12px}.accounts-teacher-avatar{display:grid;place-items:center;width:52px;height:52px;border:1px solid #c7d2fe;border-radius:15px;color:#4338ca;background:linear-gradient(135deg,#e0e7ff,#ede9fe);font-size:17px;font-weight:800}.accounts-teacher-status{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border-radius:999px;font-size:10px;font-weight:800;text-transform:capitalize}.accounts-teacher-status span{width:6px;height:6px;border-radius:50%}.accounts-teacher-status.is-active{border:1px solid #a7f3d0;color:#047857;background:#ecfdf5}.accounts-teacher-status.is-active span{background:#10b981}.accounts-teacher-status.is-inactive{border:1px solid #e5e7eb;color:#6b7280;background:#f9fafb}.accounts-teacher-status.is-inactive span{background:#9ca3af}.accounts-teacher-card h3{overflow:hidden;margin:0 0 4px;color:var(--color-text-primary);font-size:16px;text-overflow:ellipsis;white-space:nowrap}.accounts-teacher-email{overflow:hidden;margin:0;color:var(--color-text-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.accounts-teacher-meta{display:flex;align-items:center;gap:7px;min-height:38px;margin:17px 0 15px;padding:9px 10px;border:1px solid #eef2ff;border-radius:10px;color:var(--color-text-secondary);background:#fafaff;font-size:12px}.accounts-teacher-meta-icon{color:#8b5cf6;font-size:13px}.accounts-teacher-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:13px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px}.accounts-teacher-profile-dot{width:7px;height:7px;border-radius:50%;background:#a5b4fc;box-shadow:0 0 0 4px #eef2ff}.accounts-teacher-role{color:var(--color-primary);font-weight:700}.accounts-teachers-state{display:flex;align-items:center;justify-content:center;gap:10px;min-height:180px;color:var(--color-text-muted);font-size:13px}.accounts-teachers-empty{padding:52px 20px;text-align:center}.accounts-teachers-empty-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:15px;color:#6366f1;background:#eef2ff;font-size:28px}.accounts-teachers-empty h3{margin:0 0 5px;color:var(--color-text-primary);font-size:16px}.accounts-teachers-empty p{margin:0;color:var(--color-text-muted);font-size:13px}@media(max-width:640px){.accounts-teachers-overview{grid-template-columns:1fr;gap:9px}.accounts-teachers-hero{padding:23px 20px}.accounts-teachers-hero-icon{width:52px;height:52px}.accounts-teachers-toolbar{align-items:stretch;flex-direction:column}.accounts-teachers-toolbar-actions{align-items:stretch;justify-content:stretch}.accounts-teachers-toolbar-actions .accounts-teachers-search-wrap{flex:1}.accounts-teachers-view-trigger{padding:0 10px}.accounts-teachers-search-wrap{width:100%}}.accounts-teachers-page.is-read-only .accounts-teacher-subjects-heading>button,.accounts-teachers-page.is-read-only .accounts-teachers-table td:last-child button{display:none!important}.feedback-page{max-width:1180px;margin:auto;padding:28px 30px 52px;color:var(--color-text-primary)}.feedback-hero{position:relative;display:flex;min-height:265px;align-items:center;justify-content:space-between;overflow:hidden;padding:42px 54px;border:1px solid #818cf855;border-radius:28px;color:#fff;background:radial-gradient(circle at 82% 18%,#67e8f940,transparent 25%),radial-gradient(circle at 10% 90%,#e879f930,transparent 30%),linear-gradient(120deg,#171747,#312e81 58%,#164e63);box-shadow:0 24px 60px #312e812e}.feedback-hero-copy{position:relative;z-index:1;max-width:665px}.feedback-kicker,.feedback-eyebrow{display:block;color:#4f46e5;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.feedback-kicker{display:flex;align-items:center;gap:8px;color:#bae6fd}.feedback-kicker i{width:7px;height:7px;border-radius:50%;background:#67e8f9;box-shadow:0 0 0 5px #67e8f921}.feedback-hero h2{max-width:600px;margin:13px 0 11px;font-size:clamp(28px,4vw,43px);line-height:1.05;letter-spacing:-.055em}.feedback-hero p{max-width:610px;margin:0;color:#c7d2fe;font-size:13px;line-height:1.7}.feedback-proof{display:flex;gap:9px;align-items:center;margin-top:25px;color:#ddd6fe;font-size:10px;font-weight:700}.feedback-proof b{color:#67e8f9;font-size:16px}.feedback-proof i{width:4px;height:4px;margin:0 3px;border-radius:50%;background:#818cf8}.feedback-orbit{position:relative;width:205px;height:205px;margin-right:22px;flex:0 0 auto}.feedback-orbit span{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid #a5b4fc57;border-radius:50%;transform:rotate(-25deg) skew(-8deg)}.feedback-orbit span+span{top:40px;right:-2px;bottom:40px;left:-2px;transform:rotate(48deg) skew(7deg);border-color:#67e8f952}.feedback-orbit strong{position:absolute;top:70px;right:70px;bottom:70px;left:70px;display:grid;place-items:center;border:1px solid #ffffff75;border-radius:27px;color:#67e8f9;background:#ffffff20;box-shadow:0 0 45px #67e8f940;font-size:37px}.feedback-orbit em{position:absolute;bottom:27px;left:14px;color:#c4b5fd;font-size:20px}.feedback-layout{display:grid;grid-template-columns:minmax(0,1.38fr) minmax(280px,.8fr);gap:20px;margin-top:20px;align-items:start}.feedback-card{border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:0 12px 34px #0f172a0e}.feedback-form{padding:29px 32px 25px}.feedback-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.feedback-card h3{margin:7px 0 0;font-size:22px;letter-spacing:-.035em}.feedback-intro{margin:9px 0 26px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.feedback-avatar{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;font-size:14px;font-weight:900}.feedback-avatar-tutor{color:#6d28d9;background:#ede9fe}.feedback-avatar-parent{color:#0369a1;background:#e0f2fe}.feedback-avatar-student{color:#047857;background:#d1fae5}.feedback-field{max-width:460px;margin-top:21px}.feedback-label{display:flex;align-items:center;justify-content:flex-start;gap:4px;margin-bottom:10px;color:var(--color-text-primary);font-size:13px;font-weight:800;letter-spacing:-.01em}.feedback-label small{color:#dc2626;font-size:16px;font-weight:900;line-height:1}.feedback-stars{display:flex;width:max-content;justify-content:flex-start;gap:5px}.feedback-stars button{display:grid;place-items:center;width:39px;height:39px;padding:8px;border:1px solid var(--color-primary);border-radius:11px;color:var(--color-primary);background:var(--color-bg);transition:.18s ease}.feedback-stars button:hover,.feedback-stars button:focus-visible{border-color:#a78bfa;color:#8b5cf6;transform:translateY(-2px);outline:none}.feedback-stars button.filled{border-color:#fcd34d;color:#f59e0b;background:#fffbeb}.feedback-stars svg{width:22px;height:22px}.feedback-stars path{stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}.rating-caption{display:block;margin-top:7px;color:var(--color-text-muted);font-size:10px}.feedback-field select,.feedback-field textarea{width:100%;border:1px solid var(--color-border);border-radius:12px;outline:none;color:var(--color-text-primary);background:var(--color-bg);font-size:12px;transition:border-color .18s,box-shadow .18s}.feedback-field select{width:min(100%,460px);height:43px;padding:0 44px 0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%234f46e5%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%22m6 9 6 6 6-6%22/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px}.feedback-field textarea{width:min(100%,460px);min-height:135px;padding:13px;resize:vertical;line-height:1.55}.feedback-field select:focus,.feedback-field textarea:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11a}.feedback-meta{display:flex;justify-content:space-between;margin-top:6px;color:var(--color-text-muted);font-size:10px}.feedback-status{margin-top:15px;padding:11px 13px;border-radius:10px;font-size:11px;font-weight:700}.feedback-status.success{color:#047857;background:#ecfdf5}.feedback-status.error{color:#b91c1c;background:#fef2f2}.feedback-submit{display:flex;align-items:center;justify-content:space-between;width:max-content;min-width:205px;gap:42px;margin-top:21px;padding:13px 15px 13px 18px;border:0;border-radius:12px;color:#fff;background:linear-gradient(105deg,#6366f1,#7c3aed 55%,#0891b2);box-shadow:0 9px 20px #6366f133;font-size:12px;font-weight:800;transition:.18s ease}.feedback-submit:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 12px 25px #6366f14d}.feedback-submit:disabled{cursor:not-allowed;opacity:.45}.feedback-submit b{font-size:19px}.feedback-privacy{margin:13px 0 0;color:var(--color-text-muted);font-size:10px;text-align:center}.feedback-side{display:grid;gap:20px}.why-card{padding:27px}.feedback-badge{display:grid;place-items:center;width:40px;height:40px;margin-bottom:21px;border-radius:13px;color:#7c3aed;background:#ede9fe;font-size:20px}.why-card h3{max-width:280px;line-height:1.15}.why-card>p,.contact-card>p{margin:12px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.7}.why-card blockquote{margin:22px 0 0;padding:13px 14px;border-radius:13px;color:var(--color-text-secondary);background:var(--color-bg);font-size:11px;font-style:italic;line-height:1.5}.contact-card{padding:25px 27px;background:linear-gradient(145deg,#eff6ff,#f5f3ff)}.contact-card h3{margin-top:5px;font-size:19px}.contact-card a{display:flex;align-items:center;gap:10px;margin-top:14px;color:#3730a3;font-size:12px;font-weight:800}.contact-card a svg{width:25px;height:25px;flex:0 0 auto;padding:4px;border-radius:7px;overflow:visible;color:#4f46e5;background:#fff;box-shadow:0 3px 10px #4f46e51c}.contact-card a svg path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.contact-card a:last-of-type{color:#3730a3}.contact-card a:last-of-type svg{padding:3px;color:#25d366;background:#dcfce7;box-shadow:0 3px 10px #22c55e33}.contact-card a span{overflow:hidden;text-overflow:ellipsis}.contact-card small{display:block;margin-top:17px;color:#64748b;font-size:10px}@media(max-width:760px){.feedback-page{padding:18px 16px 35px}.feedback-hero{min-height:0;padding:30px 25px}.feedback-orbit{display:none}.feedback-layout{grid-template-columns:1fr}.feedback-form{padding:24px 20px}}@media(max-width:430px){.feedback-stars button{width:35px;height:35px}.feedback-hero h2{font-size:30px}}.feedback-submit{min-width:0;gap:0;justify-content:center;padding:13px 18px}.contact-card a .contact-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 auto;padding:0;border-radius:8px;overflow:visible}.contact-card a .contact-icon svg{width:100%;height:100%;padding:4px;background:transparent;box-shadow:none}.contact-card a .contact-icon-email{color:#4f46e5;background:#fff;box-shadow:0 3px 10px #4f46e51c}.contact-card a .contact-icon-whatsapp{color:#25d366;background:#dcfce7;box-shadow:0 3px 10px #22c55e33}.contact-card a .contact-icon-whatsapp svg path{fill:currentColor;stroke:none}.feedback-meta{justify-content:flex-end}.feedback-count{text-align:right}.feedback-limit-message{display:grid;gap:4px;margin-top:21px;padding:15px 17px;border:1px solid #c7d2fe;border-radius:14px;color:#3730a3;background:linear-gradient(135deg,#eef2ff,#f5f3ff);font-size:12px;line-height:1.55}.feedback-limit-message strong{font-size:13px;font-weight:800;letter-spacing:-.01em}.feedback-limit-message span{color:#5b5a84}.feedback-field input{width:min(100%,460px);height:43px;padding:0 12px;border:1px solid var(--color-border);border-radius:12px;outline:none;color:var(--color-text-primary);background:var(--color-bg);font-size:12px}.feedback-field input:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11a}.report-card{padding:25px 27px}.report-card>.feedback-badge{margin-bottom:15px;color:#9f1239;background:#ffe4e6;font-weight:900}.report-card h3{margin-top:5px;font-size:20px}.report-intro{margin:10px 0 4px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.report-card .feedback-field{margin-top:17px}.report-card .feedback-field textarea{min-height:105px}.report-card .feedback-submit{margin-top:18px}.feedback-report-limit{margin:17px 0 0;color:#9f1239;font-size:12px}.feedback-inbox{max-height:60rem;overflow-y:auto;margin-top:22px;padding:27px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:0 12px 34px #0f172a0e}.feedback-inbox-heading,.feedback-inbox-item-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.feedback-inbox-heading h2{margin:6px 0 0;font-size:23px;letter-spacing:-.035em}.feedback-inbox-heading>span{padding:7px 11px;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;background:#eef2ff;font-size:11px;font-weight:800}.feedback-inbox-state{margin:20px 0 0;padding:19px;border-radius:14px;color:var(--color-text-muted);background:var(--color-bg);font-size:13px}.feedback-inbox-state.error{color:#b91c1c;background:#fef2f2}.feedback-inbox-list{display:grid;gap:12px;margin-top:19px}.feedback-inbox-item{padding:19px;border:1px solid #dbe3f5;border-radius:15px;background:linear-gradient(135deg,#fff,#f4f7ff 58%,#f4f0ff)}.feedback-page[data-theme=dark] .feedback-inbox-item{border-color:#3b4b69;background:linear-gradient(135deg,#1e293b,#202c45 58%,#292747)}.feedback-inbox-item-heading>div{display:grid;justify-items:start;gap:8px}.feedback-inbox-item h3{margin:0;font-size:17px}.feedback-inbox-item time{color:var(--color-text-muted);font-size:11px}.feedback-report-type{padding:5px 8px;border-radius:999px;color:#9f1239;background:#ffe4e6;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.feedback-report-type.is-incident{color:#9a3412;background:#ffedd5}.feedback-inbox-item>p{margin:14px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.65;white-space:pre-wrap}.feedback-inbox-item footer{margin-top:14px;color:var(--color-text-muted);font-size:11px;font-weight:700}.feedback-inbox-item-heading{display:flex;align-items:stretch;justify-content:space-between;gap:16px}.feedback-inbox-item-title-copy{display:grid;align-content:start;justify-items:start;gap:8px;min-width:0}.feedback-inbox-item-title-copy h3{overflow-wrap:anywhere}.feedback-inbox-item-badges{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.feedback-report-author{max-width:220px;overflow:hidden;padding:5px 8px;border:1px solid #c4b5fd;border-radius:999px;color:#5b21b6;background:linear-gradient(135deg,#ede9fe,#dbeafe);font-size:10px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.feedback-inbox-item-heading>.feedback-inbox-item-actions{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;justify-content:center;min-width:max-content;gap:11px}.feedback-inbox-item-actions .delete-icon-button{flex:0 0 34px;align-self:flex-end;margin-right:0}.feedback-inbox-item-heading time{align-self:flex-end;text-align:right}.feedback-layout.feedback-layout-with-inbox{grid-template-columns:minmax(0,1.38fr) minmax(280px,.8fr)}.feedback-layout-with-inbox>.feedback-inbox{grid-column:1 / -1;min-width:0;margin-top:0}@media(max-width:1100px){.feedback-layout.feedback-layout-with-inbox{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}}@media(max-width:760px){.feedback-layout.feedback-layout-with-inbox{grid-template-columns:1fr}.feedback-layout-with-inbox>.feedback-inbox{grid-column:1}}@media(max-width:560px){.feedback-inbox{padding:20px}}.home-link-directory{display:grid;gap:34px;max-width:1500px;padding-bottom:32px;padding-inline:24px;margin:0 auto}.home-link-section-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.home-link-section:first-child .home-link-section-heading{margin-top:16px}.home-link-section-heading:before{width:100%;height:1px;background:var(--color-border);content:""}.home-link-section-heading h2{flex:0 0 auto;margin:0;color:var(--color-text-primary);font-size:15px;font-weight:800;letter-spacing:-.02em;text-align:center}.home-link-section-heading>span{width:100%;height:1px;background:var(--color-border)}.home-link-group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:16px}.home-link-card{position:relative;display:flex;min-height:92px;align-items:center;justify-content:flex-start;overflow:hidden;gap:14px;padding:20px 21px;border:1px solid #e2e8f0;border-radius:18px;color:#1e293b;background:#fff;box-shadow:0 8px 22px #0f172a14;font:inherit;font-size:14px;font-weight:750;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.home-link-card>span{position:relative;z-index:1}.home-link-card:nth-child(10n+2){--home-icon-color: #047857;--home-icon-background: #d1fae5}.home-link-card:nth-child(10n+3){--home-icon-color: #be123c;--home-icon-background: #ffe4e6}.home-link-card:nth-child(10n+4){--home-icon-color: #b45309;--home-icon-background: #fef3c7}.home-link-card:nth-child(10n+5){--home-icon-color: #1d4ed8;--home-icon-background: #dbeafe}.home-link-card:nth-child(10n+6){--home-icon-color: #7e22ce;--home-icon-background: #f3e8ff}.home-link-card:nth-child(10n+7){--home-icon-color: #0e7490;--home-icon-background: #cffafe}.home-link-card:nth-child(10n+8){--home-icon-color: #a21caf;--home-icon-background: #fae8ff}.home-link-card:nth-child(10n+9){--home-icon-color: #0f766e;--home-icon-background: #ccfbf1}.home-link-card:nth-child(10n+10){--home-icon-color: #c2410c;--home-icon-background: #ffedd5}.home-link-card.home-link-card-academic-years{--home-icon-color: #047857;--home-icon-background: #d1fae5}.home-link-card.home-link-card-school-timetable{--home-icon-color: #7e22ce;--home-icon-background: #f3e8ff}.home-link-card.home-link-card-diary-homework{--home-icon-color: #be123c;--home-icon-background: #ffe4e6}.home-link-card:hover{box-shadow:0 14px 30px -8px #0f172a5c;transform:translateY(-2px)}.home-link-card:focus-visible{outline:3px solid #818cf866;outline-offset:2px}.home-link-card-icon{display:grid;width:40px;height:40px;flex:0 0 40px;place-items:center;border-radius:12px;color:var(--home-icon-color, #4f46e5);background:transparent}.home-link-card-icon>svg{width:30px;height:30px}.home-link-card-icon>span{font-size:28px}[data-theme=dark] .home-link-card{color:#1e293b;background:#fff}@media(max-width:640px){.home-link-directory{gap:28px;padding-bottom:24px;padding-inline:14px}.home-link-group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.home-link-section-heading{gap:10px;margin-bottom:9px}.home-link-section-heading h2{font-size:13px}.home-link-card{min-width:0;min-height:82px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;border-radius:12px;font-size:10px;line-height:1.25;overflow-wrap:anywhere;text-align:center}.home-link-card-icon{width:36px;height:36px;flex-basis:36px;border-radius:8px}.home-link-card-icon>svg{width:28px;height:28px}.home-link-card-icon>span{font-size:24px}}.register-student-page{display:grid;width:min(100% - 36px,860px);gap:18px;margin:42px auto 64px}.register-student-page .card{padding:0;margin-bottom:0}.register-institute-card,.register-student-page .student-form-inline .card{width:100%;min-width:0;overflow:hidden;border:1px solid var(--color-border, #e6e8f0);border-radius:22px;background:var(--color-surface, #fff);box-shadow:0 15px 42px #1f264d13}.register-institute-card{padding:0!important;background:radial-gradient(circle at 93% 0%,rgba(129,140,248,.12),transparent 28%),var(--color-surface, #fff)}.register-institute-content{padding:32px}.register-student-heading{max-width:620px}.register-student-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary, #6258db);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.register-student-kicker>span{width:7px;height:7px;border-radius:50%;background:#42bd91;box-shadow:0 0 0 4px #42bd911f}.register-student-heading h1{margin:12px 0 7px;color:var(--color-text-primary, #182136);font-size:clamp(27px,4vw,35px);font-weight:700;letter-spacing:-.045em}.register-student-heading>p{margin:0;color:var(--color-text-secondary, #717b90);font-size:13px;line-height:1.7}.register-code-form{display:flex;align-items:flex-end;gap:11px;margin-top:25px}.register-code-field{display:grid;min-width:0;flex:1;gap:8px;color:var(--color-text-primary, #182136);font-size:12px;font-weight:600}.register-code-field input{box-sizing:border-box;width:100%;height:48px;padding:0 15px;border:1px solid var(--color-border, #e1e5ed);border-radius:12px;outline:0;background:var(--color-bg, #f8f9fc);color:var(--color-text-primary, #182136);font:inherit;font-size:13px;font-weight:600;letter-spacing:.04em;transition:border-color .16s ease,box-shadow .16s ease}.register-code-field input::placeholder{color:#969eae;font-size:12px;font-weight:400;letter-spacing:0}.register-code-field input:focus{border-color:var(--color-primary, #6258db);box-shadow:0 0 0 3px #6258db1f}.register-code-submit{display:inline-flex;min-width:155px;height:48px;align-items:center;justify-content:center;gap:9px;padding:0 16px;border:1px solid #5d53d0;border-radius:12px;background:linear-gradient(135deg,#6d63e5,#5147c6);box-shadow:0 7px 16px #594fcd33;color:#fff;cursor:pointer;font:inherit;font-size:12px;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.register-code-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #594fcd47}.register-code-submit:disabled{cursor:wait;opacity:.62}.register-code-submit svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.register-code-help{display:flex;align-items:flex-start;gap:10px;margin-top:17px;padding:12px 14px;border:1px solid rgba(98,88,219,.11);border-radius:13px;background:#6258db0b}.register-code-help-icon{display:grid;width:22px;height:22px;flex:0 0 auto;place-items:center;border-radius:7px;background:#ecebff;color:#5d53d0}.register-code-help-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.register-code-help p{margin:1px 0 0;color:var(--color-text-secondary, #717b90);font-size:11px;line-height:1.6}.register-code-help strong{color:var(--color-text-primary, #182136)}.register-form-message{margin:12px 0 0;font-size:12px;line-height:1.5}.register-form-error{color:#c34343}.register-institute-summary{display:flex;align-items:center;gap:14px;margin-top:19px;padding:16px;border:1px solid rgba(42,169,121,.19);border-radius:15px;background:linear-gradient(110deg,#f1fbf7,#f7fbff)}.register-institute-mark{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border:1px solid rgba(98,88,219,.13);border-radius:14px;background:linear-gradient(145deg,#eeedff,#e5f3ff);color:#5146c8;font-size:17px;font-weight:700}.register-institute-summary>div{min-width:0;flex:1}.register-institute-type{color:#27815e;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.register-institute-summary h2{overflow:hidden;margin:3px 0;color:#182136;font-size:15px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.register-institute-summary p{margin:0;color:#6e788b;font-size:11px}.register-institute-check{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border-radius:50%;background:#dcf5e9;color:#25805a;font-size:15px;font-weight:700}.register-student-page .student-form-inline{width:100%;min-width:0;margin:0}.register-student-page .student-form-inline .card{padding:0}.register-student-page .student-form-inline .modal-header{padding:22px 26px;border-bottom:1px solid var(--color-border, #e7eaf0)}.register-student-page .student-form-inline .modal-body{max-height:none;padding:24px 26px}.register-student-page .student-form-inline .modal-footer{padding:17px 26px;border-top:1px solid var(--color-border, #e7eaf0)}.register-success-panel{display:flex;align-items:flex-start;gap:17px;margin-top:24px;padding:22px;border:1px solid rgba(42,169,121,.18);border-radius:17px;background:linear-gradient(115deg,#f0fbf6,#f6fbff)}.register-success-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:15px;background:#dff6ea;color:#23825a}.register-success-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.register-success-panel h2{margin:5px 0;color:var(--color-text-primary, #182136);font-size:20px}.register-success-panel p{margin:0;color:var(--color-text-secondary, #717b90);font-size:12px;line-height:1.65}.register-login-button{margin-top:16px}@media(max-width:600px){.register-student-page{width:min(100% - 24px,860px);gap:14px;margin:24px auto 42px}.register-institute-card{border-radius:18px}.register-institute-content{padding:23px 18px}.register-code-form{align-items:stretch;flex-direction:column}.register-code-submit{width:100%}.register-institute-summary{align-items:flex-start;gap:10px;padding:13px}.register-institute-check{width:23px;height:23px}.register-student-page .student-form-inline .modal-header,.register-student-page .student-form-inline .modal-body{padding:18px}.register-student-page .student-form-inline .modal-footer{padding:14px 18px}}@media(prefers-reduced-motion:reduce){.register-code-field input,.register-code-submit{transition:none}}.analytics-selector select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #334155;border-radius:12px;padding:12px 42px 12px 14px;background-color:#0f172acc;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23cbd5e1%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;color:#f8fafc;font:inherit;font-size:13px;outline:none}.analytics-page[data-theme=light] .analytics-selector select{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23475569%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;color:#172033;border-color:#cbd5e1}.analytics-count-button{border:0;padding:0;background:none;color:#94a3b8;font:inherit;font-size:12px;cursor:pointer}.analytics-count-button:hover{color:#67e8f9}.analytics-page{max-width:1400px;margin:0 auto;padding:28px 30px 60px;color:#e2e8f0}.analytics-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:24px;padding:28px;border:1px solid #25334a;border-radius:24px;background:radial-gradient(circle at 85% 0%,rgba(99,102,241,.22),transparent 35%),linear-gradient(135deg,#0f172af2,#141e34bf);box-shadow:0 20px 50px #02061755}.analytics-eyebrow,.panel-label{display:block;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.analytics-hero h2{margin:8px 0 6px;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em;color:#f8fafc}.analytics-hero p{margin:0;color:#94a3b8}.analytics-selector label,.static-student{display:grid;gap:7px;min-width:230px;color:#94a3b8;font-size:11px}.analytics-selector select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #334155;border-radius:12px;padding:12px 42px 12px 14px;background-color:#0f172acc;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23cbd5e1%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;color:#f8fafc;font:inherit;font-size:13px;outline:none}.static-student strong{color:#f8fafc;font-size:16px}.analytics-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.analytics-card,.subject-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0f172ab8;border:1px solid #25334a;border-radius:20px;padding:24px;box-shadow:0 14px 38px #02061755}.card-heading,.section-heading,.subject-header,.focus-row-top{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.analytics-card h3,.section-heading h3,.subject-card h3{margin:6px 0 0;color:#f8fafc;font-size:18px}.metric-badge,.focus-pill,.quick-pills span{border:1px solid #334155;border-radius:999px;padding:6px 10px;color:#cbd5e1;background:#1e293b;font-size:11px;white-space:nowrap}.distribution-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:18px;margin-top:24px}.donut-wrap{position:relative;display:grid;place-items:center}.donut-svg{width:min(230px,100%);filter:drop-shadow(0 8px 18px #0006)}.donut-slice{transition:stroke-width .2s,opacity .2s;cursor:pointer}.donut-slice:hover{stroke-width:30;opacity:.86}.donut-center{position:absolute;display:grid;place-items:center;pointer-events:none}.donut-center strong{font-size:30px;color:#f8fafc}.donut-center span{font-size:10px;color:#94a3b8;text-transform:uppercase}.legend-list{display:grid;gap:12px}.legend-row{display:grid;grid-template-columns:10px 1fr auto;gap:9px;align-items:center;color:#cbd5e1;font-size:12px}.legend-row i,.subject-dot{width:9px;height:9px;border-radius:50%;display:block}.legend-row strong{color:#f8fafc}.focus-row{margin:22px 0}.focus-row-top{align-items:center;color:#cbd5e1;font-size:13px}.focus-row-top strong{color:#fbbf24}.focus-row-top small{color:#f87171;font-weight:500}.focus-track,.progress-track{height:8px;margin-top:9px;border-radius:99px;background:#1e293b;overflow:hidden}.focus-track div,.progress-track div{height:100%;border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#ef4444);transition:width .4s}.recommendation{margin-top:26px;padding:13px 15px;border:1px solid #7c2d12;border-radius:13px;background:#451a0b80;color:#fbbf24;font-size:12px}.success-state{display:grid;place-items:center;gap:8px;min-height:230px;color:#94a3b8;text-align:center}.success-state strong{color:#a7f3d0}.analytics-icon{font-size:30px}.subject-stack{margin-top:34px}.section-heading{align-items:flex-end;margin-bottom:16px}.section-heading>span{color:#64748b;font-size:12px}.subject-stack:after{content:"";display:block;border-bottom:1px solid #33415588;margin-top:28px}.subject-card{margin-bottom:20px}.subject-header{align-items:center;padding-bottom:20px;border-bottom:1px solid #25334a}.subject-title{display:flex;align-items:center;gap:12px}.subject-title .subject-dot{width:12px;height:12px;box-shadow:0 0 14px currentColor}.subject-title h3{margin:0;font-size:20px}.subject-title span{display:block;margin-top:4px;color:#64748b;font-size:12px}.quick-pills{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.quick-pills .goal-good{color:#6ee7b7;border-color:#065f46;background:#064e3b66}.quick-pills .goal-warn{color:#fcd34d;border-color:#92400e;background:#451a0366}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}.metric-panel{min-height:140px;padding:16px;border:1px solid #25334a;border-radius:14px;background:#0f172a88}.metric-panel>strong{display:block;margin-top:14px;font-size:25px;color:#f8fafc}.metric-panel small{display:block;margin-top:10px;color:#64748b;font-size:11px}.trend-svg{width:100%;height:76px;margin-top:14px}.empty-chart,.empty-topic{display:grid;place-items:center;min-height:100px;color:#64748b;font-size:12px;text-align:center}.goal-values{display:flex;align-items:baseline;gap:6px;margin-top:14px}.goal-values strong{font-size:25px;color:#f8fafc}.goal-values span{color:#64748b;font-size:11px}.topic-list{display:grid;gap:12px;margin-top:15px}.topic-list div{display:flex;justify-content:space-between;gap:10px;color:#94a3b8;font-size:11px}.topic-list b{color:#e2e8f0}.analytics-empty{display:grid;place-items:center;gap:8px;padding:70px 20px;border:1px dashed #334155;border-radius:20px;color:#64748b;text-align:center}.analytics-empty h3{margin:5px 0 0;color:#cbd5e1}.analytics-empty p{margin:0}.analytics-empty.compact{display:flex;justify-content:center;padding:36px}.analytics-skeleton{display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.analytics-skeleton div{height:260px;border-radius:20px;background:linear-gradient(100deg,#172033,#26344c,#172033);background-size:200% 100%;animation:analytics-shimmer 1.4s infinite}@keyframes analytics-shimmer{to{background-position:-200% 0}}@media(max-width:900px){.analytics-overview-grid,.metric-grid{grid-template-columns:1fr 1fr}.analytics-hero{align-items:flex-start;flex-direction:column}.analytics-selector label,.static-student{min-width:100%}}@media(max-width:600px){.analytics-page{padding:18px 14px 40px}.distribution-layout,.analytics-overview-grid,.metric-grid,.analytics-skeleton{grid-template-columns:1fr}.subject-header{align-items:flex-start;flex-direction:column}.quick-pills{justify-content:flex-start}.analytics-card,.subject-card{padding:18px}}.analytics-page[data-theme=light]{color:#172033;background:linear-gradient(180deg,#f8fbff,#eef4ff);border-radius:28px}.analytics-page[data-theme=light] .analytics-hero{border-color:#dbe5f3;background:radial-gradient(circle at 85% 0%,#c7d2fe99,transparent 38%),linear-gradient(135deg,#fff,#f4f7ff);box-shadow:0 20px 50px #64748b22}.analytics-page[data-theme=light] .analytics-hero h2,.analytics-page[data-theme=light] .analytics-card h3,.analytics-page[data-theme=light] .section-heading h3,.analytics-page[data-theme=light] .subject-card h3,.analytics-page[data-theme=light] .donut-center strong,.analytics-page[data-theme=light] .metric-panel>strong,.analytics-page[data-theme=light] .goal-values strong,.analytics-page[data-theme=light] .legend-row strong{color:#172033}.analytics-page[data-theme=light] .analytics-hero p,.analytics-page[data-theme=light] .analytics-eyebrow,.analytics-page[data-theme=light] .panel-label,.analytics-page[data-theme=light] .static-student,.analytics-page[data-theme=light] .donut-center span,.analytics-page[data-theme=light] .subject-title span,.analytics-page[data-theme=light] .metric-panel small,.analytics-page[data-theme=light] .goal-values span,.analytics-page[data-theme=light] .section-heading>span{color:#64748b}.analytics-page[data-theme=light] .analytics-card,.analytics-page[data-theme=light] .subject-card{background:#ffffffd9;border-color:#dbe5f3;box-shadow:0 14px 38px #64748b1c}.analytics-page[data-theme=light] .metric-panel{background:#f8fbff;border-color:#e2e8f0}.analytics-page[data-theme=light] .metric-badge,.analytics-page[data-theme=light] .focus-pill,.analytics-page[data-theme=light] .quick-pills span{color:#475569;background:#f1f5f9;border-color:#dbe5f3}.analytics-page[data-theme=light] .analytics-selector select{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23475569%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;color:#172033;border-color:#cbd5e1}.analytics-page[data-theme=light] .subject-header{border-color:#e2e8f0}.analytics-page[data-theme=light] .subject-stack:after{border-color:#cbd5e1}.analytics-page[data-theme=light] .focus-track,.analytics-page[data-theme=light] .progress-track{background:#e2e8f0}.analytics-page[data-theme=light] .donut-svg circle:first-child{stroke:#e2e8f0}.analytics-page[data-theme=light] .legend-row{color:#475569}.analytics-page[data-theme=light] .analytics-empty{border-color:#cbd5e1;color:#64748b}.analytics-page[data-theme=light] .analytics-empty h3{color:#334155}.analytics-page[data-theme=light] .success-state{color:#64748b}.analytics-page[data-theme=light] .recommendation{background:#fffbeb;border-color:#fde68a;color:#92400e}.analytics-page[data-theme=light] .analytics-skeleton div{background:linear-gradient(100deg,#e8eef8,#fff,#e8eef8);background-size:200% 100%}.analytics-page .focus-card .card-heading{position:sticky;top:0;z-index:2;flex-shrink:0;padding-bottom:8px;background:linear-gradient(180deg,#0f172af7 78%,transparent)}.analytics-page .focus-card .recommendation{position:sticky;bottom:0;z-index:3;margin-top:16px;box-shadow:0 -12px 22px #0f172acc;background:#451a0bfa}.analytics-page[data-theme=light] .focus-card .card-heading{background:linear-gradient(180deg,#ffffff 78%,transparent)}.analytics-page[data-theme=light] .focus-card .recommendation{background:#fffbebf7;box-shadow:0 -12px 22px #ffffffd9}.analytics-page .focus-row-top span{color:#f8fafc;font-weight:700;letter-spacing:-.01em}.analytics-page .success-state strong{color:#a7f3d0;font-size:16px;font-weight:800;letter-spacing:-.01em}.analytics-page[data-theme=light] .focus-row-top span{color:#172033}.analytics-page[data-theme=light] .success-state strong{color:#047857}.analytics-page .metric-panel:last-child{position:relative;display:grid;place-items:center;overflow:hidden;--performance-value:0%;--test-count:0;--analytics-ring-track:#1e293b}.analytics-page .metric-panel:last-child .panel-label{position:absolute;top:16px;left:16px;font-size:0}.analytics-page .metric-panel:last-child .panel-label:after{content:"Performance";font-size:11px}.analytics-page .metric-panel:last-child .topic-list{display:none}.analytics-page .metric-panel:last-child:before{content:"";width:82px;height:82px;border-radius:50%;background:conic-gradient(#8b5cf6 0 var(--performance-value),var(--analytics-ring-track) var(--performance-value) 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 9px),#000 0);filter:drop-shadow(0 0 8px #8b5cf677)}.analytics-page .metric-panel:last-child:after{content:var(--performance-value) "\a" "Tests given: " var(--test-count);white-space:pre;position:absolute;top:62px;left:50%;transform:translate(-50%);font-size:16px;line-height:1.3;font-weight:800;text-align:center;color:#f8fafc}.analytics-page[data-theme=light] .metric-panel:last-child{--analytics-ring-track:#e2e8f0}.analytics-page[data-theme=light] .metric-panel:last-child:after{color:#172033}.analytics-page .subject-stack .section-heading .analytics-eyebrow{display:none}.analytics-page .metric-panel:last-child:after{content:none}.analytics-page .performance-value,.analytics-page .performance-tests{position:absolute;left:50%;transform:translate(-50%,-50%);z-index:2;white-space:nowrap;text-align:center}.analytics-page .performance-value{top:50%;font-size:16px;line-height:1.2;font-weight:850;color:#f8fafc}.analytics-page .performance-tests{top:auto;bottom:10px;transform:translate(-50%);font-size:10px;color:#94a3b8}.analytics-page[data-theme=light] .performance-value{color:#172033}.analytics-page[data-theme=light] .performance-tests{color:#64748b}.analytics-page .focus-card{position:relative;padding-bottom:112px}.analytics-page .focus-card .recommendation{position:absolute;left:24px;right:24px;bottom:24px;margin:0;background:#451a0bfa}.analytics-page .focus-card{height:390px;min-height:390px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#64748b transparent}@media(max-width:600px){.analytics-page .focus-card{padding-bottom:112px}.analytics-page .focus-card .recommendation{left:18px;right:18px;bottom:18px}}.analytics-page .focus-card{position:relative;overflow-y:auto;padding-bottom:112px}.analytics-page .focus-card .card-heading{position:sticky;top:0;z-index:4;flex-shrink:0;margin:-24px -24px 0;padding:24px 24px 16px;background:#0f172a}.analytics-page .focus-card .recommendation{position:absolute;left:24px;right:24px;bottom:24px;z-index:5;margin:0;background:#451a0bfa}@media(max-width:600px){.analytics-page .focus-card .card-heading{margin:-18px -18px 0;padding:18px 18px 16px}.analytics-page .focus-card .recommendation{left:18px;right:18px;bottom:18px}}.analytics-page .focus-card{display:flex;flex-direction:column;overflow:hidden}.analytics-page .focus-card .card-heading{position:relative;top:auto;flex:0 0 auto;margin:0 0 8px;padding:0 0 8px;background:#0f172a}.analytics-page .focus-card .focus-content{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow-y:auto;padding-right:4px}.analytics-page .focus-card .recommendation{position:sticky;left:auto;right:auto;bottom:0;z-index:5;margin-top:auto;background:#451a0bfa}.analytics-page[data-theme=light] .focus-card .recommendation{background:#fffbeb}@media(max-width:600px){.analytics-page .focus-card .card-heading{margin:0 0 8px;padding:0 0 8px}}.analytics-page .focus-card{height:460px;min-height:460px}@media(max-width:600px){.analytics-page .focus-card{height:460px;min-height:460px}}.analytics-page .focus-card{height:390px;min-height:390px}.analytics-page .focus-card .focus-content{flex:1 1 auto;min-height:0;overflow-y:auto}@media(max-width:600px){.analytics-page .focus-card{height:390px;min-height:390px}.analytics-page .focus-card .recommendation{margin-top:12px}}.analytics-page .focus-card{display:flex;flex-direction:column;height:390px;min-height:390px;overflow:hidden;padding:24px}.analytics-page .focus-card .card-heading{flex:0 0 auto;position:static;margin:0 0 8px;padding:0 0 8px;background:#0f172a}.analytics-page .focus-card .focus-content{display:flex;flex:1 1 auto;min-height:0;flex-direction:column;overflow-y:auto;padding:0 4px 0 0}.analytics-page .focus-card .recommendation{position:static;flex:0 0 auto;margin:12px 0 0;padding:13px 15px;box-shadow:none}.analytics-page[data-theme=light] .focus-card .card-heading{background:#fff}@media(max-width:600px){.analytics-page .focus-card{height:390px;min-height:390px;padding:18px}.analytics-page .focus-card .card-heading{margin:0 0 8px;padding:0 0 8px}}.analytics-page .focus-card .focus-row{margin:12px 0}.analytics-count-button{display:inline-flex;align-items:center;gap:6px;border:1px solid #475569;border-radius:999px;padding:7px 13px;background:linear-gradient(135deg,#1e293b,#273449);color:#e2e8f0;font:inherit;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px #02061744;transition:transform .2s,box-shadow .2s,border-color .2s}.analytics-count-button:hover{border-color:#67e8f9;box-shadow:0 8px 20px #06b6d433;transform:translateY(-1px)}.analytics-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#020617b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.analytics-tests-modal{width:min(820px,100%);max-height:min(720px,calc(100vh - 40px));overflow:hidden;border:1px solid #334155;border-radius:24px;background:linear-gradient(145deg,#111c32,#0f172a);box-shadow:0 28px 80px #020617cc;color:#e2e8f0}.analytics-modal-header{display:flex;justify-content:space-between;gap:18px;padding:26px 28px 20px;border-bottom:1px solid #25334a}.analytics-modal-header h2{margin:7px 0 4px;color:#f8fafc;font-size:24px;letter-spacing:-.03em}.analytics-modal-header p{margin:0;color:#94a3b8;font-size:12px}.analytics-modal-close{width:34px;height:34px;border:1px solid #334155;border-radius:10px;background:#1e293b;color:#cbd5e1;font-size:24px;line-height:1;cursor:pointer}.analytics-test-list{max-height:560px;overflow-y:auto;padding:10px 14px 16px}.analytics-test-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:14px;border-bottom:1px solid #25334a}.analytics-test-row:last-child{border-bottom:0}.analytics-test-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,#4f46e5,#06b6d4);color:#fff;font-weight:850}.analytics-test-info{display:grid;gap:5px;min-width:0}.analytics-test-info strong{overflow:hidden;color:#f8fafc;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.analytics-test-info span,.analytics-test-score span{color:#94a3b8;font-size:11px}.analytics-test-score{display:grid;gap:4px;text-align:right}.analytics-test-score strong{color:#67e8f9;font-size:16px}.analytics-test-actions{display:flex;gap:7px}.analytics-test-actions button{border:1px solid #475569;border-radius:9px;padding:8px 10px;background:#1e293b;color:#cbd5e1;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.analytics-test-actions button:hover:not(:disabled){border-color:#67e8f9;color:#67e8f9}.analytics-test-actions button:disabled{cursor:not-allowed;opacity:.4}.analytics-test-actions .analytics-action-primary{border-color:#6d28d9;background:#7c3aed;color:#fff}.analytics-modal-empty{display:grid;place-items:center;gap:8px;padding:70px 20px;color:#94a3b8;text-align:center}.analytics-modal-empty span{font-size:38px;color:#67e8f9}.analytics-modal-empty strong{color:#f8fafc}.analytics-modal-empty p{margin:0;font-size:12px}@media(max-width:650px){.analytics-modal-header{padding:22px 18px 16px}.analytics-test-row{grid-template-columns:36px minmax(0,1fr) auto;gap:10px}.analytics-test-icon{width:36px;height:36px}.analytics-test-actions{grid-column:2/-1}.analytics-test-actions button{flex:1}.analytics-test-score{align-self:start}.analytics-test-info span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.analytics-page[data-theme=light] .analytics-count-button{border-color:#c4b5fd;background:linear-gradient(135deg,#fff,#eef2ff);color:#4f46e5;box-shadow:0 6px 16px #4f46e51f}.analytics-page[data-theme=light] .analytics-count-button:hover{border-color:#6366f1;box-shadow:0 8px 20px #4f46e533}.analytics-page[data-theme=light] .analytics-modal-backdrop{background:#e2e8f0b8}.analytics-page[data-theme=light] .analytics-tests-modal{border-color:#dbe5f3;background:linear-gradient(145deg,#fff,#f5f7ff);box-shadow:0 28px 80px #47556940;color:#172033}.analytics-page[data-theme=light] .analytics-modal-header{border-color:#e2e8f0}.analytics-page[data-theme=light] .analytics-modal-header h2,.analytics-page[data-theme=light] .analytics-test-info strong,.analytics-page[data-theme=light] .analytics-modal-empty strong{color:#172033}.analytics-page[data-theme=light] .analytics-modal-header p,.analytics-page[data-theme=light] .analytics-test-info span,.analytics-page[data-theme=light] .analytics-test-score span{color:#64748b}.analytics-page[data-theme=light] .analytics-modal-close{border-color:#cbd5e1;background:#f1f5f9;color:#475569}.analytics-page[data-theme=light] .analytics-test-row{border-color:#e2e8f0}.analytics-page[data-theme=light] .analytics-test-actions button{border-color:#cbd5e1;background:#f8fafc;color:#475569}.analytics-page[data-theme=light] .analytics-test-actions .analytics-action-primary{border-color:#6d28d9;background:#7c3aed;color:#fff}.analytics-page[data-theme=light] .analytics-modal-empty{color:#64748b}.analytics-test-score strong{background:linear-gradient(135deg,#34d399,#22d3ee 48%,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:900;text-shadow:0 0 18px rgba(45,212,191,.18)}.analytics-page[data-theme=light] .analytics-test-score strong{background:linear-gradient(135deg,#059669,#0891b2 48%,#7c3aed);-webkit-background-clip:text;background-clip:text;color:transparent}.analytics-page .recommendation.on-track{border-color:#065f46;background:linear-gradient(135deg,#064e3b99,#04785766);color:#a7f3d0}.analytics-page[data-theme=light] .recommendation.on-track{border-color:#a7f3d0;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.analytics-page .analytics-hero{position:relative;overflow:hidden;isolation:isolate;border-color:#818cf855;background:radial-gradient(circle at 85% 16%,#67e8f940,transparent 24%),radial-gradient(circle at 18% 105%,#c084fc30,transparent 30%),linear-gradient(118deg,#172554,#312e81 57%,#155e75);box-shadow:0 24px 60px #312e812b}.analytics-page .analytics-hero .analytics-eyebrow{color:#a5f3fc}.analytics-page .analytics-hero h2{color:#fff}.analytics-page .analytics-hero p{color:#c7d2fe}.analytics-page[data-theme=light] .analytics-hero{border-color:#818cf855;background:radial-gradient(circle at 85% 16%,#67e8f940,transparent 24%),radial-gradient(circle at 18% 105%,#c084fc30,transparent 30%),linear-gradient(118deg,#172554,#312e81 57%,#155e75);box-shadow:0 24px 60px #312e812b}.analytics-page[data-theme=light] .analytics-hero .analytics-eyebrow{color:#a5f3fc}.analytics-page[data-theme=light] .analytics-hero h2{color:#fff}.analytics-page[data-theme=light] .analytics-hero p{color:#c7d2fe}.analytics-page .metric-badge,.analytics-page .focus-pill,.analytics-page .quick-pills span:not(.goal-good):not(.goal-warn){border-color:#818cf86b;background:linear-gradient(135deg,#312e81d1,#155e75b8);color:#e0f2fe;box-shadow:inset 0 1px #ffffff1f,0 4px 12px #082f4933}.analytics-page .focus-pill{border-color:#67e8f980;background:linear-gradient(135deg,#312e81,#155e75);color:#cffafe}.analytics-page .quick-pills .goal-good{border-color:#34d3996b;background:linear-gradient(135deg,#064e3be6,#05966975);color:#a7f3d0}.analytics-page .quick-pills .goal-warn{border-color:#fbbf246b;background:linear-gradient(135deg,#78350fe6,#b4530975);color:#fde68a}.analytics-page[data-theme=light] .metric-badge,.analytics-page[data-theme=light] .focus-pill,.analytics-page[data-theme=light] .quick-pills span:not(.goal-good):not(.goal-warn){border-color:#c4b5fd;background:linear-gradient(135deg,#eef2ff,#ecfeff);color:#3730a3;box-shadow:0 4px 12px #4f46e51a}.analytics-page[data-theme=light] .focus-pill{border-color:#a5f3fc;background:linear-gradient(135deg,#e0e7ff,#cffafe);color:#3730a3}.analytics-page[data-theme=light] .quick-pills .goal-good{border-color:#a7f3d0;background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#047857}.analytics-page[data-theme=light] .quick-pills .goal-warn{border-color:#fde68a;background:linear-gradient(135deg,#fffbeb,#fef3c7);color:#92400e}.analytics-page .metric-badge,.analytics-page .focus-pill,.analytics-page .quick-pills span:not(.goal-good):not(.goal-warn){border-color:#67e8f9b8;background:linear-gradient(120deg,#4f46e5,#0891b2);color:#fff;box-shadow:0 5px 16px #06b6d44d,inset 0 1px #ffffff47}.analytics-page .focus-pill{border-color:#67e8f9;background:linear-gradient(120deg,#6d28d9,#0891b2);color:#fff}.analytics-page .quick-pills .goal-good{border-color:#34d399;background:linear-gradient(120deg,#047857,#10b981);color:#fff}.analytics-page .quick-pills .goal-warn{border-color:#fbbf24;background:linear-gradient(120deg,#b45309,#f59e0b);color:#fff}.analytics-page[data-theme=light] .metric-badge,.analytics-page[data-theme=light] .focus-pill,.analytics-page[data-theme=light] .quick-pills span:not(.goal-good):not(.goal-warn){border-color:#22d3ee;background:linear-gradient(120deg,#6366f1,#06b6d4);color:#fff;box-shadow:0 5px 16px #06b6d43d}.analytics-page[data-theme=light] .focus-pill{border-color:#a78bfa;background:linear-gradient(120deg,#7c3aed,#0891b2)}.analytics-page[data-theme=light] .quick-pills .goal-good{border-color:#10b981;background:linear-gradient(120deg,#059669,#34d399);color:#fff}.analytics-page[data-theme=light] .quick-pills .goal-warn{border-color:#f59e0b;background:linear-gradient(120deg,#d97706,#fbbf24);color:#fff}.analytics-page .subject-card .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.analytics-page .subject-card .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.analytics-page .subject-card .metric-grid{grid-template-columns:1fr}}.packages-page{min-height:100vh;background:radial-gradient(circle at 20% 0,#172554 0,transparent 38%),#080d1c;color:#eef2ff;padding:32px 18px}.packages-shell{max-width:1060px;margin:auto}.packages-back{color:#a5b4fc;text-decoration:none}.packages-header{text-align:center;padding:55px 0 28px}.packages-header h1{font-size:clamp(34px,6vw,62px);margin:10px 0}.packages-header p,.packages-notice span,.package-card>p:not(.package-kicker),.package-coming-soon p{color:#bac4dd}.package-kicker{color:#a5b4fc;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.packages-notice{display:flex;gap:16px;align-items:center;background:#17203a;border:1px solid #334474;border-radius:16px;padding:18px 22px;margin-bottom:28px}.packages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.package-card,.package-coming-soon{position:relative;background:#17203a;border:1px solid #334474;border-radius:22px;padding:30px}.package-card-recommended{border-color:#818cf8}.package-card h2,.package-coming-soon h2{font-size:32px;margin:8px 0}.package-card ul{list-style:none;padding:0;line-height:2;color:#dbeafe;min-height:150px}.recommended-badge{position:absolute;right:20px;top:20px;background:#818cf8;padding:6px 10px;border-radius:99px;font-size:11px;font-weight:800}.package-coming-soon{margin-top:20px;opacity:.72}.package-coming-soon span{color:#fbbf24;font-size:12px}.package-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#020617aa;display:grid;place-items:center;padding:20px}.package-modal{position:relative;max-width:440px;background:#17203a;border:1px solid #5865a4;border-radius:20px;padding:32px;color:#eef2ff}.package-modal h2{margin:8px 0}.package-modal p:not(.package-kicker){color:#bac4dd;line-height:1.6}.package-modal-icon{font-size:24px}.package-modal-close{position:absolute;right:15px;top:12px;background:none;border:0;color:#cbd5e1;font-size:24px}.package-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.premium-locked-card{position:relative;overflow:hidden;min-height:180px;width:100%;border:1px solid #334474;border-radius:18px;background:#17203a;color:#eef2ff;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer}.premium-locked-graphic{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#475569,#1e293b 45%,#312e81);filter:blur(14px);opacity:.48}.premium-locked-card>*:not(.premium-locked-graphic){position:relative}.premium-lock-badge{font-size:24px}.premium-locked-card small,.premium-upgrade-hint{color:#a5b4fc}@media(max-width:700px){.packages-grid{grid-template-columns:1fr}.packages-notice{display:block}.packages-notice span{display:block;margin-top:8px}}.contact-sales-links{display:grid;gap:10px;margin-top:20px}.contact-sales-links a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #334474;border-radius:12px;color:#eef2ff;text-decoration:none}.contact-sales-links a:hover{border-color:#818cf8;background:#222d4d}.contact-sales-links small,.contact-sales-links strong{display:block}.contact-sales-links small{color:#aab4cf;margin-bottom:3px}.contact-sales-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#6366f133;color:#c4b5fd;font-size:11px;font-weight:800}.comparison-card{background:#17203a;border:1px solid #334474;border-radius:22px;padding:26px;box-shadow:0 20px 60px #0004}.comparison-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding-bottom:18px;border-bottom:1px solid #334474}.comparison-heading h2{margin:8px 0 0;font-size:24px}.comparison-plan-head{display:grid;grid-template-columns:110px 130px;text-align:center;gap:8px}.gold-heading{color:#c4b5fd}.gold-heading small{display:block;font-size:10px;color:#a5b4fc;margin-top:4px}.comparison-row{display:grid;grid-template-columns:1fr 110px 130px;gap:8px;align-items:center;min-height:52px;border-bottom:1px solid #263454;color:#dbeafe}.comparison-row>span:not(:first-child){text-align:center;font-weight:800;font-size:20px}.comparison-row .feature-yes{color:#4ade80}.comparison-row .feature-no{color:#f87171}.comparison-row .feature-detail{color:#c4b5fd;font-size:13px!important}.comparison-actions{display:flex;justify-content:center;margin-top:22px}.comparison-actions .btn{width:auto;min-width:0}.package-modal .btn{background:#334474;color:#fff;border:1px solid #7182c5}.package-modal .btn.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border-color:#a5b4fc}.package-modal .package-modal-close{background:transparent;border:0;color:#cbd5e1}@media(max-width:700px){.comparison-card{padding:16px}.comparison-heading{display:block}.comparison-plan-head{margin-top:18px;grid-template-columns:1fr 1fr}.comparison-row{grid-template-columns:1fr 72px 92px;font-size:13px}.comparison-actions{display:flex;justify-content:center}.comparison-row>span:not(:first-child){font-size:18px}}.premium-locked-card{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:0 14px 34px #0f172a1f}.premium-locked-card small{color:var(--color-text-muted)}.package-modal{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border);box-shadow:0 24px 80px #0f172a47}.package-modal p:not(.package-kicker){color:var(--color-text-muted)}.package-modal .package-modal-close{color:var(--color-text-secondary)}[data-theme=light] .premium-locked-graphic{background:linear-gradient(135deg,#cbd5e1,#e0e7ff 48%,#c7d2fe);opacity:.62}[data-theme=light] .premium-lock-badge{background:#ffffffad;color:#334155;box-shadow:0 6px 18px #4755692e}[data-theme=light] .premium-upgrade-hint{color:#4f46e5}[data-theme=dark] .premium-locked-card{background:#17203a;color:#eef2ff;border-color:#334474;box-shadow:none}[data-theme=dark] .premium-locked-card small{color:#cbd5e1}[data-theme=dark] .package-modal{background:#17203a;color:#eef2ff;border-color:#5865a4}[data-theme=dark] .package-modal p:not(.package-kicker){color:#bac4dd}.package-modal-kicker{display:flex;align-items:center;gap:9px}.package-modal-kicker .package-kicker{margin:0}.package-modal-kicker .package-modal-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#6366f133;color:#c4b5fd;font-size:18px}.package-modal .package-modal-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border-radius:9px;line-height:1;font-family:Arial,sans-serif;font-size:17px;font-weight:400;cursor:pointer;transition:background .18s ease,color .18s ease}.package-modal .package-modal-close:hover{background:#94a3b829;color:var(--color-text-primary)}[data-theme=light] .package-modal .package-modal-actions .btn:not(.btn-primary){background:#f1f5f9;color:#334155;border-color:#cbd5e1}[data-theme=light] .package-modal .package-modal-actions .btn:not(.btn-primary):hover{background:#e2e8f0;color:#0f172a;border-color:#94a3b8}.package-modal-kicker .package-modal-icon{background:linear-gradient(135deg,#fbbf2438,#8b5cf647);border:1px solid rgba(251,191,36,.35);color:#fbbf24;box-shadow:0 5px 16px #fbbf2424}.package-modal-kicker .package-kicker{background:linear-gradient(90deg,#fbbf24,#c4b5fd);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:850}[data-theme=light] .package-modal-kicker .package-modal-icon{background:linear-gradient(135deg,#fef3c7,#ede9fe);border-color:#f5d78e;color:#b45309;box-shadow:0 5px 16px #b453091f}[data-theme=light] .package-modal-kicker .package-kicker{background:linear-gradient(90deg,#b45309,#6d28d9);-webkit-background-clip:text;background-clip:text;color:transparent}.rewards-back{border:0;background:none;color:#a8b5e8;font:inherit;font-size:12px;cursor:pointer;margin-bottom:25px}.rewards-hero{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:auto;padding:30px 0 34px}.rewards-eyebrow{color:#9ba9e7;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:800}.rewards-hero h1{font-size:clamp(30px,5vw,54px);margin:9px 0 8px;letter-spacing:-.06em}.rewards-hero p{margin:0;color:#aeb9df}.rewards-spark{font-size:80px;color:#f9b83f;text-shadow:0 0 35px #f97316;animation:reward-pulse 2.5s ease-in-out infinite}.rewards-stat-grid,.points-grid,.tier-list{max-width:1120px;margin:auto;display:grid;gap:16px}.rewards-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reward-stat{display:flex;align-items:center;gap:20px;padding:25px;border:1px solid rgba(190,199,255,.18);border-radius:25px;background:linear-gradient(135deg,#ffffff1f,#ffffff0a);box-shadow:0 20px 55px #0003;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.reward-emblem{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;font-size:38px;background:#ffffff1a;box-shadow:inset 0 1px #ffffff40}.reward-stat span,.reward-stat em{display:block;color:#a9b4db;font-size:11px;font-style:normal}.reward-stat strong{display:block;margin:5px 0;font-size:36px;letter-spacing:-.05em;color:#fff}.reward-stat strong small{font-size:13px;color:#a9b4db}.streak-stat .reward-emblem{background:#f973162e}.points-stat .reward-emblem{background:#facc1529}.reward-stat em{color:#f8c75b;font-weight:700}.rewards-section{max-width:1120px;margin:48px auto 0}.rewards-section-heading h2{margin:7px 0 20px;font-size:24px;letter-spacing:-.04em}.points-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.point-rule,.tier-card,.activity-feed{border:1px solid rgba(190,199,255,.14);border-radius:20px;background:#fff1;padding:20px}.point-rule>span{font-size:25px}.point-rule h3{font-size:14px;margin:16px 0 7px}.point-rule strong{color:#f8c75b;font-size:13px}.point-rule p{color:#a9b4db;font-size:11px;line-height:1.5;margin-bottom:0}.tier-list{grid-template-columns:repeat(4,minmax(0,1fr))}.tier-card{display:flex;flex-direction:column;gap:8px}.tier-card>span,.tier-card small{color:#a9b4db;font-size:11px}.tier-card strong{font-size:25px}.tier-active{border-color:#f8c75b99;box-shadow:0 0 24px #f8c75b1a}.tier-track{height:5px;border-radius:5px;background:#252c50;margin-top:8px}.tier-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f97316,#facc15)}.activity-section{width:min(50vw,760px);max-width:none;margin-left:0;margin-right:0}.activity-feed{max-height:360px;height:auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(168,180,219,.5) transparent;padding:5px 20px}.activity-feed::-webkit-scrollbar{width:7px}.activity-feed::-webkit-scrollbar-track{background:transparent}.activity-feed::-webkit-scrollbar-thumb{border-radius:999px;background:#a8b4db73}.activity-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(190,199,255,.1)}.activity-row:last-child{border:0}.activity-icon{font-size:19px}.activity-row div{flex:1}.activity-row strong,.activity-row small{display:block}.activity-row strong{font-size:13px}.activity-row small,.activity-row time{color:#a9b4db;font-size:11px;margin-top:3px}.activity-row time{font-size:10px}.empty-activity{color:#a9b4db;font-size:12px;padding:18px 0}@keyframes reward-pulse{50%{transform:translateY(-5px) scale(1.04)}}@media(max-width:760px){.activity-section{width:100%}.rewards-stat-grid,.points-grid,.tier-list{grid-template-columns:1fr 1fr}.rewards-hero{padding-top:10px}.rewards-spark{font-size:50px}}.points-details-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#050a1eb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.points-details-dialog{width:min(620px,100%);max-height:min(720px,90vh);overflow:auto;border:1px solid rgba(255,255,255,.16);border-radius:26px;padding:26px;color:#fff;background:linear-gradient(145deg,#1d2550,#111735 62%,#29204e);box-shadow:0 28px 90px #00000073}.rewards-page>[role=presentation]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#050a1eb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rewards-page>[role=presentation]>[role=dialog]{width:min(620px,100%);max-height:min(720px,90vh);overflow:auto;border-radius:26px}@media(max-width:560px){.points-details-dialog{padding:20px}}.rewards-page{min-height:calc(100vh - 70px);padding:28px clamp(18px,4vw,58px) 70px;color:#e8ecff;background:radial-gradient(circle at 86% 8%,rgba(124,58,237,.2),transparent 30%),linear-gradient(145deg,#090d22,#111735 60%,#171329)}@media(max-width:760px){.rewards-stat-grid,.points-grid,.tier-list{grid-template-columns:1fr 1fr}.rewards-hero{padding-top:10px}.rewards-spark{font-size:50px}}@media(max-width:480px){.rewards-stat-grid,.points-grid,.tier-list{grid-template-columns:1fr}.reward-stat strong{font-size:30px}}.rewards-page[data-theme=light]{color:#0f172a;background:radial-gradient(circle at 86% 8%,rgba(99,102,241,.12),transparent 30%),linear-gradient(145deg,#f8fafc,#eef2ff 60%,#f8fafc)}.rewards-page[data-theme=light] .rewards-back{color:#4f46e5;margin-bottom:0}.rewards-page[data-theme=light] .rewards-eyebrow{color:#6366f1}.rewards-page[data-theme=light] .rewards-hero p,.rewards-page[data-theme=light] .reward-stat span,.rewards-page[data-theme=light] .reward-stat em,.rewards-page[data-theme=light] .point-rule p,.rewards-page[data-theme=light] .tier-card>span,.rewards-page[data-theme=light] .tier-card small,.rewards-page[data-theme=light] .activity-row small,.rewards-page[data-theme=light] .activity-row time,.rewards-page[data-theme=light] .empty-activity{color:#475569}.rewards-page[data-theme=light] .reward-stat,.rewards-page[data-theme=light] .point-rule,.rewards-page[data-theme=light] .tier-card,.rewards-page[data-theme=light] .activity-feed{border-color:#e2e8f0;background:#ffffffd1;box-shadow:0 16px 40px #0f172a14}.rewards-page[data-theme=light] .reward-emblem{background:#eef2ff;box-shadow:inset 0 1px #ffffffe6}.rewards-page[data-theme=light] .streak-stat .reward-emblem{background:#fff7ed}.rewards-page[data-theme=light] .points-stat .reward-emblem{background:#fefce8}.rewards-page[data-theme=light] .reward-stat strong{color:#0f172a}.rewards-page[data-theme=light] .reward-stat em,.rewards-page[data-theme=light] .point-rule strong{color:#b45309}.rewards-page[data-theme=light] .tier-active{border-color:#f59e0b;box-shadow:0 0 24px #f59e0b24}.rewards-page[data-theme=light] .tier-track{background:#e2e8f0}.rewards-page[data-theme=light] .activity-row{border-color:#e2e8f0}.rewards-page[data-theme=light]>[role=presentation]{background:#0f172a47!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog]{color:#0f172a!important;border-color:#e2e8f0!important;background:#fff!important;box-shadow:0 28px 90px #0f172a33!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] h2,.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] strong{color:#0f172a!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] p,.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] small,.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] span{color:#475569!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] button{color:#1e293b!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog]>div>div{border-color:#e2e8f0!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog]>div>div>div{border-color:#e2e8f0!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog]>div>div[style*=linear-gradient]{background:#eef2ff!important}.rewards-page[data-theme=light]{--rewards-ink: #172554;--rewards-body: #52617d;--rewards-muted: #71809e;--rewards-line: rgba(148, 163, 184, .24);--rewards-card: rgba(255, 255, 255, .88);--rewards-indigo: #5146e5;--rewards-violet: #7c3aed;--rewards-gold: #c47a08;position:relative;isolation:isolate;overflow:hidden;color:var(--rewards-ink);background:radial-gradient(circle at 9% 5%,rgba(129,140,248,.17),transparent 27%),radial-gradient(circle at 93% 18%,rgba(251,191,36,.13),transparent 23%),linear-gradient(135deg,#f8faff,#f4f3ff 52%,#fffaf2)}.rewards-page[data-theme=light]:before{content:"";position:absolute;z-index:-1;width:430px;height:430px;right:-170px;top:260px;border-radius:50%;background:#818cf81a;filter:blur(12px);pointer-events:none}.rewards-page[data-theme=light] .rewards-back{color:var(--rewards-indigo);font-weight:700;transition:transform .2s ease,color .2s ease}.rewards-page[data-theme=light] .rewards-back:hover{color:#3730a3;transform:translate(-3px)}.rewards-page[data-theme=light] .rewards-hero{padding-top:0;padding-bottom:42px}.rewards-page[data-theme=light] .rewards-eyebrow{color:var(--rewards-indigo);font-size:10px;display:none}.rewards-page[data-theme=light] .rewards-hero h1,.rewards-page[data-theme=light] .rewards-section-heading h2{color:var(--rewards-ink)}.rewards-page[data-theme=light] .rewards-hero h1{letter-spacing:-.055em;text-shadow:0 8px 24px rgba(79,70,229,.1)}.rewards-page[data-theme=light] .rewards-hero p,.rewards-page[data-theme=light] .point-rule p,.rewards-page[data-theme=light] .empty-activity{color:var(--rewards-body)}.rewards-page[data-theme=light] .rewards-spark{color:#f59e0b;text-shadow:0 0 30px rgba(245,158,11,.32)}.rewards-page[data-theme=light] .reward-stat,.rewards-page[data-theme=light] .point-rule,.rewards-page[data-theme=light] .tier-card,.rewards-page[data-theme=light] .activity-feed{border:1px solid var(--rewards-line);background:linear-gradient(145deg,rgba(255,255,255,.96),var(--rewards-card));box-shadow:0 14px 24px #1e293b0e,0 2px 5px #1e293b09;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.rewards-page[data-theme=light] .reward-stat{position:relative;overflow:hidden;min-height:118px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.rewards-page[data-theme=light] .reward-stat:after{content:"";position:absolute;width:130px;height:130px;right:-48px;bottom:-76px;border-radius:50%;background:#6366f11a}.rewards-page[data-theme=light] .reward-stat:hover,.rewards-page[data-theme=light] .point-rule:hover,.rewards-page[data-theme=light] .tier-card:hover{transform:translateY(-3px);border-color:#6366f14d;box-shadow:0 20px 34px #1e293b1a,0 3px 8px #1e293b0a}.rewards-page[data-theme=light] .reward-emblem{position:relative;z-index:1;border:1px solid rgba(99,102,241,.12);background:linear-gradient(145deg,#eef2ff,#e0e7ff);box-shadow:0 8px 18px #4f46e51f,inset 0 1px #fffffff2}.rewards-page[data-theme=light] .streak-stat .reward-emblem{border-color:#f9731629;background:linear-gradient(145deg,#fff7ed,#ffedd5);box-shadow:0 8px 18px #f973161f,inset 0 1px #fffffff2}.rewards-page[data-theme=light] .points-stat .reward-emblem{border-color:#f59e0b2e;background:linear-gradient(145deg,#fffbeb,#fef3c7)}.rewards-page[data-theme=light] .reward-stat span{color:var(--rewards-muted)}.rewards-page[data-theme=light] .reward-stat strong{color:var(--rewards-ink)}.rewards-page[data-theme=light] .reward-stat em,.rewards-page[data-theme=light] .point-rule strong{color:var(--rewards-gold)}.rewards-page[data-theme=light] .point-rule,.rewards-page[data-theme=light] .tier-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.rewards-page[data-theme=light] .point-rule>span{filter:drop-shadow(0 4px 5px rgba(79,70,229,.12))}.rewards-page[data-theme=light] .tier-card>span,.rewards-page[data-theme=light] .tier-card small,.rewards-page[data-theme=light] .activity-row small,.rewards-page[data-theme=light] .activity-row time{color:var(--rewards-body)}.rewards-page[data-theme=light] .tier-card strong{color:var(--rewards-ink)}.rewards-page[data-theme=light] .tier-active{border-color:#f59e0b9e;background:linear-gradient(145deg,#fffdf5,#fff8e7);box-shadow:0 14px 28px #f59e0b1f,inset 0 1px #ffffffe6}.rewards-page[data-theme=light] .tier-track{background:#e7eaf3}.rewards-page[data-theme=light] .activity-feed{padding-top:8px;padding-bottom:8px}.rewards-page[data-theme=light] .activity-row{border-color:#94a3b833}.rewards-page[data-theme=light] .activity-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#eef2ff}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog]{border-color:#818cf847!important;border-radius:24px!important;background:linear-gradient(145deg,#fff,#f8f9ff)!important;box-shadow:0 30px 90px #1e293b33,0 0 0 8px #818cf80f!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] h2,.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] strong{color:var(--rewards-ink)!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] p,.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] small,.rewards-page[data-theme=light]>[role=presentation]>[role=dialog] span{color:var(--rewards-body)!important}.rewards-page[data-theme=light]>[role=presentation]>[role=dialog]>div>div[style*="rgba(255,255,255"]{background:#f5f7ff!important}.modal-close-btn.modal-close-btn--contained{border:1px solid var(--color-border);color:var(--color-text-muted);background:var(--color-surface)}.modal-close-btn.modal-close-btn--contained:hover{border-color:var(--color-border);color:var(--color-text-muted);background:var(--color-surface)}.modal-close-btn.modal-close-btn--plain,.modal-close-btn.modal-close-btn--plain:hover{border:0;color:var(--color-text-muted);background:transparent;box-shadow:none}.modal-close-btn svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.modal-close-btn-animated{transition:none}.modal-close-btn-animated svg{transform:rotate(0) scale(1);transform-origin:center;transition:transform .2s ease}.modal-close-btn-animated:hover svg{transform:rotate(90deg) scale(1.04)}@media(prefers-reduced-motion:reduce){.modal-close-btn-animated{transition:none}.modal-close-btn-animated svg{transition:none}.modal-close-btn-animated:hover svg{transform:none}}.school-tutor-dashboard{display:grid;gap:20px}.school-tutor-welcome{position:relative;display:flex;min-height:210px;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;padding:30px 36px;border:1px solid rgba(255,255,255,.18);border-radius:24px;color:#fff;background:radial-gradient(circle at 84% 18%,rgba(129,140,248,.45),transparent 25%),linear-gradient(118deg,#172554,#312e81 55%,#4338ca);box-shadow:0 18px 46px #312e8133}.school-tutor-welcome:after{position:absolute;right:12%;bottom:-190px;width:360px;height:360px;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:""}.school-tutor-welcome-copy,.school-tutor-welcome>div:first-child{position:relative;z-index:1}.school-tutor-eyebrow{display:block;color:#818cf8;font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.school-tutor-welcome .school-tutor-eyebrow{color:#c7d2fe}.school-tutor-welcome h1{margin:9px 0 7px;color:#fff;font-size:clamp(26px,3vw,36px);letter-spacing:-.045em}.school-tutor-welcome p{margin:0;color:#e0e7ff;font-size:13px}.school-tutor-date{display:inline-block;margin-top:18px;color:#c7d2fe;font-size:11px;font-weight:700}.school-tutor-welcome-mark{position:relative;z-index:1;display:grid;width:106px;height:106px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:30px;color:#fff;background:linear-gradient(145deg,#ffffff38,#ffffff0f);box-shadow:inset 0 1px #ffffff59,0 18px 36px #0f172a33;transform:rotate(6deg)}.school-tutor-welcome-mark span{font-size:28px;font-weight:900;letter-spacing:-.08em;transform:rotate(-6deg)}.school-tutor-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.school-tutor-metric{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;column-gap:13px;padding:18px 20px;border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 8px 24px #0f172a0b}.school-tutor-metric-icon{display:grid;width:44px;height:44px;grid-row:span 2;place-items:center;border-radius:14px;background:#eef2ff;color:#4f46e5;font-size:20px;font-weight:850}.school-tutor-metric.is-blue .school-tutor-metric-icon{color:#0369a1;background:#e0f2fe}.school-tutor-metric.is-amber .school-tutor-metric-icon{color:#b45309;background:#fef3c7}.school-tutor-metric>div>span{color:var(--color-text-muted);font-size:10px;font-weight:750}.school-tutor-metric strong{display:block;margin-top:2px;color:var(--color-text-primary);font-size:27px;letter-spacing:-.04em}.school-tutor-metric small{grid-column:2;margin-top:6px;color:var(--color-text-muted);font-size:10px}.school-tutor-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);align-items:stretch;gap:18px}.school-tutor-dashboard-grid>.dash-card,.school-tutor-year-card{min-width:0;padding:22px;border:1px solid var(--color-border);border-radius:20px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 10px 28px #0f172a0d}.school-tutor-year-card h2,.school-tutor-shortcuts h2{margin:7px 0 5px;color:var(--color-text-primary);font-size:17px;letter-spacing:-.025em}.school-tutor-year-icon{display:grid;width:42px;height:42px;margin-top:18px;place-items:center;border-radius:13px;color:#4f46e5;background:#eef2ff;font-size:20px}.school-tutor-year-card p{margin:0;color:var(--color-text-secondary);font-size:12px}.school-tutor-year-card>small{display:block;margin-top:9px;color:var(--color-text-muted);font-size:10px;line-height:1.5}.school-tutor-year-track{height:7px;margin-top:18px;overflow:hidden;border-radius:99px;background:#e8eaf6}.school-tutor-year-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#38bdf8)}.school-tutor-shortcuts{display:grid;gap:4px;margin-top:18px}.school-tutor-shortcuts button{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 2px;border:0;border-bottom:1px solid #eef0f5;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:11px;font-weight:750;text-align:left;cursor:pointer}.school-tutor-shortcuts button:last-child{border-bottom:0}.school-tutor-shortcuts button>span:first-child{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#e0f2fe;color:#0369a1}.school-tutor-shortcuts button>span.is-indigo{color:#4f46e5;background:#eef2ff}.school-tutor-shortcuts button>span.is-amber{color:#b45309;background:#fef3c7}.school-tutor-shortcuts button b{color:#94a3b8;font-size:16px}.school-tutor-notices-wrap>.card{height:100%;box-sizing:border-box;padding:22px;border:1px solid var(--color-border);border-radius:20px;background:linear-gradient(145deg,#fff,#fbfcff);box-shadow:0 10px 28px #0f172a0d}@media(max-width:900px){.school-tutor-dashboard-grid{grid-template-columns:1fr}}@media(max-width:650px){.school-tutor-welcome{min-height:0;padding:24px 22px}.school-tutor-welcome-mark{width:70px;height:70px;border-radius:22px}.school-tutor-welcome-mark span{font-size:21px}.school-tutor-metrics{grid-template-columns:1fr;gap:10px}.school-tutor-metric{padding:14px 16px}}.streak-widget{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 14px;border:1px solid rgba(255,255,255,.5);border-radius:999px;color:#fff;background:linear-gradient(110deg,#4c1d95,#7c3aed 55%,#2563eb);box-shadow:0 8px 22px #4c1d9533,inset 0 1px #ffffff38;font:inherit;font-size:12px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.streak-widget:hover{transform:translateY(-2px);box-shadow:0 12px 28px #4c1d9557,0 0 18px #818cf84d}.streak-widget i{width:1px;height:18px;background:#fff6}.streak-flame{animation:dashboard-flame 1.6s ease-in-out infinite}@keyframes dashboard-flame{50%{transform:translateY(-2px) scale(1.12)}}.student-dashboard.tests-disabled .student-dashboard-actions,.student-dashboard.tests-disabled .student-goals-card{display:none}.student-dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;flex-wrap:wrap}.student-dashboard-grid{display:grid;gap:20px;margin-bottom:20px}.student-dashboard-grid-top{grid-template-columns:repeat(3,minmax(0,1fr))}.student-dashboard-grid-main{grid-template-columns:repeat(2,minmax(0,1fr))}.student-goals-card{min-width:0}.student-goals-leaderboard-row{align-items:stretch}.student-goals-leaderboard-row>.card,.student-goals-leaderboard-row>.leaderboard-widget{height:100%;box-sizing:border-box}.student-goals-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-goals-heading .card-title{margin:0}.student-goals-trigger{display:inline-flex;align-items:center;padding:8px 12px;border:1px solid rgba(99,102,241,.18);border-radius:10px;color:#4f46e5;background:#f5f3ff;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;font-size:11px;font-weight:650;letter-spacing:.015em;cursor:pointer;white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease}.student-goals-trigger:hover{transform:translateY(-1px);box-shadow:0 7px 16px #4f46e524}.student-goals-rings{display:flex;justify-content:space-around;gap:12px;flex-wrap:wrap;margin-top:17px}.student-goal-progress{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:78px}.student-goal-progress>span{color:var(--color-text-muted);font-size:10px;font-weight:700}.student-goal-progress .progress-ring-label{font-size:13px;font-weight:600}.student-goals-no-data{display:flex;flex-direction:column;align-items:center;gap:6px;padding:28px 12px 12px;color:var(--color-text-muted);text-align:center}.student-goals-no-data svg{color:#6366f1}.student-goals-no-data strong{color:var(--color-text-primary);font-size:14px}.student-goals-no-data p{margin:0 0 7px;font-size:11px}.student-goals-save{border:0;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 8px 18px #4f46e538}.student-goals-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:20px;background:#0f172a94;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:perf-modal-fade .2s ease}.student-goals-modal{width:min(560px,100%);max-height:92vh;overflow:auto;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:#fff;box-shadow:0 30px 90px #0f172a52;animation:perf-modal-rise .25s ease}.student-goals-modal-hero{position:relative;padding:28px 30px 25px;overflow:hidden;color:#fff;background:radial-gradient(circle at 92% 5%,rgba(255,255,255,.23),transparent 31%),linear-gradient(135deg,#3730a3,#6d28d9 58%,#2563eb)}.student-goals-modal-kicker{display:block;margin-bottom:7px;color:#ddd6fe;font-size:10px;font-weight:650;letter-spacing:.13em;text-transform:uppercase}.student-goals-modal h2{margin:0 0 7px;font-size:25px;letter-spacing:-.045em}.student-goals-modal-hero p{max-width:450px;margin:0;color:#ede9fe;font-size:12px;line-height:1.55}.student-goals-modal-close{position:absolute;top:20px;right:22px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:11px;color:#fff;background:#ffffff1f;font-size:22px;line-height:1;cursor:pointer}.student-goals-modal-close:disabled{cursor:wait;opacity:.6}.student-goals-modal-body{padding:23px 30px 27px}.student-goals-fields{display:flex;flex-direction:column;gap:10px}.student-goal-field{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid #e5e7eb;border-radius:15px;background:linear-gradient(135deg,#fff,#f8fafc)}.student-goal-field span{display:flex;flex-direction:column;gap:4px}.student-goal-field strong{color:var(--color-text-primary);font-size:15px}.student-goal-field small{color:var(--color-text-muted);font-size:10px}.student-goal-input{display:flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid #c7d2fe;border-radius:10px;color:#4f46e5;background:#eef2ff}.student-goal-input input{width:45px;border:0;outline:0;color:#3730a3;background:transparent;font:inherit;font-size:16px;font-weight:400;text-align:right}.student-goal-input b{font-size:12px;font-weight:400}.student-goals-error{margin:12px 0 0;color:#dc2626;font-size:11px;font-weight:700}.student-goals-empty{padding:20px 0;color:var(--color-text-muted);font-size:12px;text-align:center}.student-goals-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px;padding-top:17px;border-top:1px solid #e5e7eb}@media(max-width:560px){.student-goals-heading{align-items:flex-start}.student-goals-heading .card-title{font-size:14px}.student-goals-trigger{padding:7px 8px}.student-goals-modal-hero,.student-goals-modal-body{padding-left:20px;padding-right:20px}}.student-subject-progress-card,.student-progress-notice-row{margin-top:20px}.student-progress-notice-row .student-subject-progress-card{margin-top:0}.subject-progress-chart{width:100%;overflow:hidden}.subject-progress-chart svg{display:block;width:100%;height:auto}.student-progress-notice-row>.card:nth-child(2){height:420px;min-height:0;overflow-y:auto}.subject-progress-legend{display:flex;flex-wrap:wrap;gap:10px 18px;margin:8px 0 4px;color:var(--color-text-secondary);font-size:12px;font-weight:700}.subject-progress-legend span{display:inline-flex;align-items:center;gap:6px}.subject-progress-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.fees-chart-wrap{width:100%}.fees-month-axis{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0;margin:-2px 2.4% 0 9.6%;color:#64748b;font-size:10px;font-weight:650;line-height:1;text-align:center}.fees-month-axis span{min-width:0}.perf-stat-row{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;font:inherit;text-align:left;border:0;cursor:pointer;transition:color .2s ease,transform .2s ease}.perf-donut-button{display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;transition:transform .2s ease,filter .2s ease}.perf-donut-button:hover,.perf-donut-button:focus-visible{transform:scale(1.06);filter:drop-shadow(0 8px 14px rgba(59,130,246,.2));outline:none}.perf-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:22px;background:#0f172a94;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:perf-modal-fade .2s ease}.perf-modal{width:min(840px,100%);max-height:min(760px,92vh);overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:26px;color:var(--color-text-primary);background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 30px 90px #0f172a4d;animation:perf-modal-rise .25s ease}.perf-modal-header{display:flex;justify-content:space-between;gap:20px;padding:28px 30px 22px;background:radial-gradient(circle at 95% 0,rgba(99,102,241,.15),transparent 34%),linear-gradient(135deg,#f8fbff,#fff);border-bottom:1px solid var(--color-border)}.perf-modal-kicker{color:#6366f1;font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.perf-modal h2{margin:7px 0 5px;font-size:24px;letter-spacing:-.04em}.perf-modal-header p{max-width:620px;margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.55}.perf-modal-close{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-secondary);background:#fff;font-size:24px;line-height:1;cursor:pointer}.perf-modal-summary{display:flex;flex-wrap:wrap;gap:10px;padding:15px 30px;border-bottom:1px solid var(--color-border);background:#eff6ff80;color:var(--color-text-muted);font-size:11px}.perf-modal-summary span{padding-right:14px;border-right:1px solid var(--color-border)}.perf-modal-summary span:last-child{border-right:0}.perf-modal-summary strong{margin-right:4px;color:var(--color-text-primary);font-size:15px}.perf-search-control{position:relative;display:flex;align-items:center;gap:7px;min-width:34px;margin-left:auto}.perf-search-trigger,.perf-search-close{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(99,102,241,.18);border-radius:11px;color:#4f46e5;background:#ffffffdb;box-shadow:0 5px 14px #4f46e51a;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.perf-search-trigger:hover,.perf-search-close:hover{transform:translateY(-1px);background:#fff;box-shadow:0 8px 18px #4f46e529}.perf-search-trigger svg,.perf-search-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.perf-search-control input{width:min(190px,28vw);height:32px;padding:0 34px 0 29px;border:1px solid rgba(99,102,241,.3);border-radius:11px;outline:none;color:var(--color-text-primary);background:#fff;box-shadow:0 6px 18px #4f46e51f;font:inherit;font-size:11px}.perf-search-control input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf829,0 6px 18px #4f46e51f}.perf-search-icon{position:absolute;left:9px;color:#6366f1;pointer-events:none}.perf-search-close{position:absolute;right:3px;width:25px;height:25px;border:0;box-shadow:none;background:transparent;font-size:20px;line-height:1}.perf-student-list{max-height:510px;overflow-y:auto;padding:18px 30px 28px}.perf-student-detail{margin-bottom:13px;padding:16px;border:1px solid var(--color-border);border-radius:17px;background:#ffffffd1;box-shadow:0 7px 20px #0f172a0b}.perf-student-heading{display:flex;align-items:center;gap:11px}.perf-student-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;color:#4338ca;background:#eef2ff;font-weight:850}.perf-student-heading h3{margin:0;font-size:14px}.perf-student-heading span{display:block;margin-top:3px;color:var(--color-text-muted);font-size:10px}.perf-student-heading>strong{margin-left:auto;font-size:17px}.perf-student-heading .is-top{color:#047857}.perf-student-heading .is-average{color:#4f46e5}.perf-student-heading .is-below{color:#dc2626}.perf-test-list{margin:14px 0 0 49px;border-top:1px solid var(--color-border)}.perf-test-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:11px}.perf-test-row span{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.perf-test-row time{color:var(--color-text-muted)}.perf-test-row b{color:var(--color-text-secondary);font-weight:650}.perf-test-row strong{min-width:38px;color:#4f46e5;text-align:right}.perf-test-row strong.is-zero{color:#dc2626}.perf-modal-empty{padding:45px 10px;color:var(--color-text-muted);text-align:center;font-size:13px}@keyframes perf-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes perf-modal-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:600px){.perf-modal-backdrop{padding:10px}.perf-modal-header,.perf-modal-summary,.perf-student-list{padding-left:18px;padding-right:18px}.perf-modal h2{font-size:20px}.perf-modal-summary{align-items:center}.perf-search-control{flex-basis:100%;justify-content:flex-end}.perf-search-control input{width:100%}.perf-test-list{margin-left:0}.perf-test-row{grid-template-columns:minmax(0,1fr) auto auto}.perf-test-row time{display:none}}.student-performance-summary{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;min-height:150px;padding:4px 0 0}.student-performance-clickable{display:grid;place-items:center;border-radius:50%;cursor:pointer;transition:transform .2s ease,filter .2s ease}.student-performance-clickable:hover,.student-performance-clickable:focus-visible{transform:scale(1.04);filter:drop-shadow(0 8px 16px rgba(2,132,199,.18));outline:none}.student-performance-summary .progress-ring-wrapper{flex:0 0 auto;width:132px}.student-performance-summary .progress-ring-wrapper>svg{width:132px;height:132px}.student-performance-summary .progress-ring-percent{font-size:21px}.student-performance-copy{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.35;text-align:left}.student-performance-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0f172a8f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.student-performance-modal{width:min(650px,100%);max-height:88vh;overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:24px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 30px 90px #0f172a4d}.student-performance-modal-header{display:flex;justify-content:space-between;gap:18px;padding:26px 28px 20px;border-bottom:1px solid var(--color-border);background:radial-gradient(circle at 95% 0,rgba(14,165,233,.15),transparent 35%),linear-gradient(135deg,#f5fbff,#fff)}.student-performance-modal-kicker{color:#0284c7;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.student-performance-modal h2{margin:7px 0 4px;font-size:23px;letter-spacing:-.04em}.student-performance-modal-header p{margin:0;color:var(--color-text-muted);font-size:12px}.student-performance-modal-close{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-secondary);background:#fff;font-size:23px;cursor:pointer}.student-performance-modal-summary{display:flex;gap:20px;padding:14px 28px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px}.student-performance-modal-summary strong{margin-right:4px;color:var(--color-text-primary);font-size:15px}.student-performance-modal-list{max-height:470px;overflow-y:auto;padding:16px 28px 24px}.student-performance-test{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--color-border)}.student-performance-test-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#0369a1;background:#e0f2fe;font-weight:850}.student-performance-test-copy{min-width:0;flex:1}.student-performance-test-copy h3{margin:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.student-performance-test-copy span{display:block;margin-top:4px;color:var(--color-text-muted);font-size:10px}.student-performance-test-score{text-align:right}.student-performance-test-score strong{display:block;color:#0284c7;font-size:16px}.student-performance-test-score small{color:var(--color-text-muted);font-size:10px}.student-performance-modal-empty{padding:34px 0;color:var(--color-text-muted);text-align:center;font-size:12px}@media(max-width:560px){.student-performance-summary{gap:10px}.student-performance-summary .progress-ring-wrapper,.student-performance-summary .progress-ring-wrapper>svg{width:120px;height:120px}.student-performance-summary .progress-ring-percent{font-size:19px}.student-performance-copy{font-size:11px}.student-performance-modal-header,.student-performance-modal-summary,.student-performance-modal-list{padding-left:18px;padding-right:18px}}.student-profile-page{max-width:1180px;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif}.student-profile-loading{min-height:300px;display:grid;place-items:center}.student-profile-hero{position:relative;display:flex;align-items:center;gap:28px;min-height:205px;overflow:hidden;padding:38px 42px;margin-bottom:22px;border:1px solid rgba(99,102,241,.18);border-radius:28px;background:linear-gradient(120deg,#f1efff,#fff,#eafaff);box-shadow:0 20px 54px #1e293b1a}.student-profile-hero-glow{position:absolute;width:360px;height:360px;top:-205px;right:12%;border-radius:50%;background:#818cf82e;filter:blur(4px);pointer-events:none}.student-profile-avatar{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 88px;width:88px;height:88px;border:5px solid rgba(255,255,255,.9);border-radius:28px;color:#fff;background:linear-gradient(140deg,#6366f1,#06b6d4);box-shadow:0 14px 30px #4f46e547;font-size:27px;font-weight:700}.student-profile-hero-copy{position:relative;z-index:1;min-width:0;flex:1}.student-profile-eyebrow{margin:0 0 8px;color:#5b5bd6;font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.student-profile-hero h1{margin:0 0 16px;color:var(--color-text-primary);font-size:clamp(28px,3.4vw,38px);font-weight:700;letter-spacing:-.7px}.student-profile-hero-meta{display:flex;align-items:stretch;flex-wrap:wrap;gap:10px;color:var(--color-text-secondary);font-size:14px;font-weight:500}.student-profile-meta-item{display:inline-flex;align-items:center;width:fit-content;min-width:0;min-height:30px;padding:4px 10px;border:1px solid #818cf8;border-radius:999px;color:#fff;background:#6366f1;box-shadow:0 5px 13px #4f46e533}.student-profile-meta-label{color:#ffffffd1;font-size:14px;font-weight:600}.student-profile-meta-item.is-year{border-color:#0891b2;color:#fff;background:#0891b2;box-shadow:0 5px 13px #0891b233}.student-profile-meta-item.is-year .student-profile-meta-label{color:#ffffffd6}.student-profile-status-pill{position:relative;z-index:1;margin-left:auto;padding:10px 16px;border:1px solid rgba(16,185,129,.22);border-radius:999px;color:var(--color-text-secondary);background:#ffffffd1;font-size:14px;font-weight:600;text-transform:capitalize}.student-profile-status-pill.is-active{border-color:#10b98133;color:#047857;background:#ecfdf5e6}.student-profile-content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.student-profile-panel{min-width:0;padding:25px 27px;border:1px solid rgba(226,232,240,.85);border-radius:20px;background:var(--color-surface, #fff);box-shadow:0 10px 30px #1e293b0b}.student-profile-panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:22px}.student-profile-panel-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;color:#7c3aed;background:#f3e8ff}.student-profile-panel-icon.is-blue{color:#0284c7;background:#e0f2fe}.student-profile-panel-icon.is-violet{color:#7c3aed;background:#f3e8ff}.student-profile-panel-heading h2{margin:0;color:var(--color-text-primary);font-size:18px;font-weight:750;letter-spacing:-.25px}.student-profile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.student-profile-field{display:flex;min-width:0;flex-direction:column;gap:6px;padding:13px 0;border-top:1px solid rgba(226,232,240,.75)}.student-profile-field span{color:var(--color-text-muted);font-size:14px;font-weight:500}.student-profile-field strong{color:var(--color-text-primary);font-size:14px;font-weight:600;overflow-wrap:anywhere}.sidenav-container[data-theme=dark] .student-profile-hero{border-color:#818cf833;background:linear-gradient(115deg,rgba(49,46,129,.42),var(--color-surface) 55%,rgba(8,145,178,.12))}.sidenav-container[data-theme=dark] .student-profile-meta-item{border-color:#818cf8;color:#fff;background:#4f46e5;box-shadow:none}.sidenav-container[data-theme=dark] .student-profile-meta-label{color:#ffffffd6}.sidenav-container[data-theme=dark] .student-profile-meta-item.is-year{border-color:#22d3ee;color:#fff;background:#0e7490}.sidenav-container[data-theme=dark] .student-profile-meta-item.is-year .student-profile-meta-label{color:#ffffffd6}.sidenav-container[data-theme=dark] .student-profile-panel,.sidenav-container[data-theme=dark] .student-profile-field{border-color:var(--color-border)}@media(max-width:760px){.student-profile-content{grid-template-columns:1fr}.student-profile-hero{gap:16px;padding:28px 22px}.student-profile-avatar{flex-basis:64px;width:64px;height:64px;border-radius:20px;font-size:21px}.student-profile-status-pill{position:absolute;top:18px;right:18px;padding:8px 12px}}@media(max-width:480px){.student-profile-hero{align-items:flex-start;padding:22px 17px}.student-profile-hero-copy{padding-top:3px}.student-profile-hero h1{font-size:26px}.student-profile-meta-item{flex:0 0 auto;min-width:max-content;min-height:30px;padding:4px 9px}.student-profile-hero-meta{flex-wrap:nowrap;gap:6px}.student-profile-meta-item>span{white-space:nowrap}.student-profile-fields{grid-template-columns:1fr}.student-profile-panel{padding:21px 19px}}.truncated-text-tooltip{position:fixed;z-index:10000;max-width:min(320px,80vw);padding:7px 10px;border-radius:7px;color:#fff;background:#0f172af2;box-shadow:0 4px 14px #0f172a33;font-size:12px;font-weight:500;line-height:1.4;white-space:normal;overflow-wrap:anywhere;pointer-events:none}.report-card-page{max-width:1320px;margin:0 auto;padding:28px 30px 60px;color:var(--color-text-primary)}.report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px;padding:28px;border:1px solid #25334a;border-radius:24px;background:radial-gradient(circle at 85% 0%,rgba(99,102,241,.22),transparent 35%),linear-gradient(135deg,#0f172af2,#141e34bf);box-shadow:0 20px 50px #02061738}.report-kicker{display:block;color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.report-hero h2{margin:8px 0 6px;color:#f8fafc;font-size:clamp(24px,3vw,38px);letter-spacing:-.04em}.report-hero p{margin:0;color:#94a3b8}.report-actions{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.report-selector{display:grid;gap:7px;min-width:230px;color:#94a3b8;font-size:11px}.report-selector span{font-weight:700}.report-selector select,.report-filters select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-height:44px;padding:11px 42px 11px 14px;border:1px solid #334155;border-radius:12px;background-color:#0f172acc;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23cbd5e1%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;color:#f8fafc;font:inherit;font-size:13px;outline:none}.report-selector select:focus,.report-filters select:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f12e}.print-button{min-height:44px;padding:11px 17px;border:1px solid rgba(129,140,248,.45);border-radius:12px;background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 20px #6366f138;transition:transform .2s,box-shadow .2s}.print-button:hover{transform:translateY(-2px);box-shadow:0 12px 25px #6366f14d}.static-child{align-self:center;color:#f8fafc;font-size:16px}.student-profile-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:22px 0;background:var(--color-border);border:1px solid var(--color-border);border-radius:16px;overflow:hidden;box-shadow:0 12px 28px #64748b1a}.student-profile-summary div{min-height:92px;padding:18px;background:var(--color-surface)}.student-profile-summary span,.grand-total span{display:block;margin-bottom:8px;color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.student-profile-summary strong{color:var(--color-text-primary);font-size:16px}.grand-total{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0 34px;padding:0}.report-mobile-only{display:none}.report-desktop-only{display:inline}.grand-total>div{position:relative;min-height:112px;overflow:hidden;padding:18px;border-radius:16px;color:#fff;box-shadow:0 10px 24px -8px #0f172a47}.grand-total>div:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.grand-total>div:nth-child(1){background:linear-gradient(135deg,#0891b2,#0e7490)}.grand-total>div:nth-child(2){background:linear-gradient(135deg,#6366f1,#4f46e5)}.grand-total>div:nth-child(3){background:linear-gradient(135deg,#f59e0b,#d97706)}.grand-total>div:nth-child(4){background:linear-gradient(135deg,#a855f7,#7e22ce)}.grand-total span{position:relative;z-index:1;color:#ffffffd1}.grand-total strong{position:relative;z-index:1;display:block;margin-top:10px;color:#fff;font-size:26px}.grand-total em{color:#ffffffc2;font-size:14px;font-style:normal}.final-grade{color:#fff!important}.report-subject{margin:30px 0 0}.report-subject-heading{display:flex;align-items:center;justify-content:space-between;margin:0 4px 12px}.report-subject-heading h3{margin:0;color:var(--color-text-primary);font-size:20px}.report-subject-heading span{color:var(--color-text-muted);font-size:12px}.report-table-wrap{overflow:auto;border:1px solid #c7d2fe;border-radius:8px;background:var(--color-surface);box-shadow:0 8px 22px #4f46e514}table{width:100%;min-width:760px;border-collapse:collapse;background:var(--color-surface)}th,td{padding:13px 16px;border-bottom:1px solid var(--color-border);text-align:left;font-size:14px}.report-table-wrap thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}th{color:#fff;background:transparent;font-size:10px;letter-spacing:.1em;text-transform:uppercase}td{color:var(--color-text-secondary);font-size:14px}tbody tr:not(.subject-total):hover td{background:#6366f10b}tbody tr:last-child td{border-bottom:0}.subject-total td{border-top:1px solid rgba(99,102,241,.24);background:#6366f114;color:var(--color-text-primary);font-weight:700}.grade-chip{display:inline-flex;padding:5px 10px;border:1px solid rgba(99,102,241,.22);border-radius:999px;background:#6366f11a;color:var(--color-primary);font-size:11px;font-weight:800}.report-empty{padding:26px;color:var(--color-text-muted);text-align:center}.report-empty-state,.report-loading{padding:60px;border:1px dashed var(--color-border);border-radius:18px;background:var(--color-surface);color:var(--color-text-muted);text-align:center}@media(max-width:900px){.report-card-page{padding:22px 18px 45px}.report-hero{align-items:flex-start;flex-direction:column}.report-actions{justify-content:flex-start;width:100%}.student-profile-summary,.grand-total{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.report-desktop-only{display:none}.report-mobile-only{display:inline}.report-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.report-table-wrap table{min-width:0}.report-table-wrap .report-final-table{width:100%;table-layout:fixed}.report-table-wrap .report-final-table th:first-child,.report-table-wrap .report-final-table td:first-child{width:44%}.report-table-wrap .report-final-table th:not(:first-child),.report-table-wrap .report-final-table td:not(:first-child){width:18.66%}.report-table-wrap .report-subject-table{min-width:480px;table-layout:fixed}.report-table-wrap .report-subject-table th:nth-child(1),.report-table-wrap .report-subject-table td:nth-child(1){width:125px;overflow:hidden;text-overflow:ellipsis}.report-table-wrap .report-subject-table th:nth-child(2),.report-table-wrap .report-subject-table td:nth-child(2){width:65px}.report-table-wrap .report-subject-table th:nth-child(3),.report-table-wrap .report-subject-table td:nth-child(3),.report-table-wrap .report-subject-table th:nth-child(4),.report-table-wrap .report-subject-table td:nth-child(4){width:60px}.report-table-wrap .report-subject-table th:nth-child(5),.report-table-wrap .report-subject-table td:nth-child(5){width:50px}.report-table-wrap .report-subject-table th:nth-child(6),.report-table-wrap .report-subject-table td:nth-child(6){width:80px}.report-table-wrap th,.report-table-wrap td{padding:9px 10px;white-space:nowrap}.report-card-page{padding:16px 12px 36px}.report-hero{padding:22px 18px}.report-actions{display:grid;grid-template-columns:1fr}.report-selector{min-width:0}.report-selector select,.print-button{width:100%}.student-profile-summary,.grand-total{grid-template-columns:1fr}}@media print{body{background:#fff!important;color:#111827!important}.sidenav-desktop-sidebar,.sidenav-header,.report-actions{display:none!important}.sidenav-main{margin:0!important}.sidenav-main-content{padding:0!important}.report-card-page{max-width:none;padding:0;color:#111827}.report-hero,.student-profile-summary,.report-table-wrap,.grand-total{background:#fff!important;border:1px solid #cbd5e1;box-shadow:none;color:#111827}.report-hero{border-radius:0}.report-hero h2,.student-profile-summary strong,.grand-total strong,.report-subject-heading h3,th,td{color:#111827!important}.report-kicker,.report-hero p,.student-profile-summary span,.grand-total span,.report-subject-heading span{color:#475569!important}.grand-total>div{background:#fff!important}.grand-total>div:nth-child(n){background:#fff!important;color:#111827!important}.grand-total>div:nth-child(n):after{display:none}.grand-total span,.grand-total strong,.grand-total em,.grand-total .final-grade{color:#111827!important}.report-subject{break-inside:avoid}}.sidenav-container[data-theme=light] .report-card-page{color:var(--color-text-primary)}.sidenav-container[data-theme=light] .report-hero{border-color:#dbe5f3;background:radial-gradient(circle at 85% 0%,rgba(199,210,254,.6),transparent 38%),linear-gradient(135deg,#fff,#f4f7ff);box-shadow:0 20px 50px #64748b24}.sidenav-container[data-theme=light] .report-hero h2{color:#172033}.sidenav-container[data-theme=light] .report-hero p,.sidenav-container[data-theme=light] .report-kicker,.sidenav-container[data-theme=light] .report-selector{color:#64748b}.sidenav-container[data-theme=light] .report-selector select,.sidenav-container[data-theme=light] .report-filters select{border-color:#cbd5e1;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%23475569%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");color:#172033}.sidenav-container[data-theme=light] .static-child{color:#172033}.sidenav-container[data-theme=light] .print-button{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.sidenav-container[data-theme=light] .student-profile-summary div,.sidenav-container[data-theme=light] .grand-total>div{background:var(--color-surface)}.sidenav-container[data-theme=light] .grand-total>div:nth-child(1){background:linear-gradient(135deg,#0891b2,#0e7490)}.sidenav-container[data-theme=light] .grand-total>div:nth-child(2){background:linear-gradient(135deg,#6366f1,#4f46e5)}.sidenav-container[data-theme=light] .grand-total>div:nth-child(3){background:linear-gradient(135deg,#f59e0b,#d97706)}.sidenav-container[data-theme=light] .grand-total>div:nth-child(4){background:linear-gradient(135deg,#a855f7,#7e22ce)}.sidenav-container[data-theme=light] .grand-total span,.sidenav-container[data-theme=light] .grand-total strong,.sidenav-container[data-theme=light] .grand-total em,.sidenav-container[data-theme=light] .grand-total .final-grade{color:#fff}.sidenav-container[data-theme=light] .student-profile-summary strong,.sidenav-container[data-theme=light] .report-subject-heading h3{color:#172033}.sidenav-container[data-theme=light] .report-table-wrap,.sidenav-container[data-theme=light] table{background:#fff}.sidenav-container[data-theme=light] .report-table-wrap thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.sidenav-container[data-theme=light] th{background:transparent;color:#fff}.sidenav-container[data-theme=light] td{color:#475569}.sidenav-container[data-theme=light] .subject-total td{color:#172033;background:#eef2ff}.sidenav-container[data-theme=light] .report-empty-state,.sidenav-container[data-theme=light] .report-loading{background:#fff}.final-report-card{margin:42px 0 10px;padding:24px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 14px 34px #64748b1a}.final-report-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.final-report-heading>div>span{display:block;color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.final-report-heading h3{margin:6px 0 0;color:var(--color-text-primary);font-size:24px}.final-report-heading>span{color:var(--color-text-muted);font-size:12px}.final-report-total td{border-top:2px solid rgba(99,102,241,.3)!important;border-bottom:0;background:#6366f11a;color:var(--color-text-primary);font-weight:700}@media(max-width:560px){.final-report-card{padding:16px}.final-report-heading{align-items:flex-start;flex-direction:column}}@media print{.final-report-card{break-inside:avoid;background:#fff!important;border-color:#cbd5e1;box-shadow:none}.final-report-heading h3,.final-report-total td{color:#111827!important}}@media print{html,body,#root,.sidenav-container,.sidenav-main,.sidenav-main-content{height:auto!important;min-height:0!important;overflow:visible!important}.report-card-page{display:block!important;overflow:visible!important}.final-report-card,.report-subject,.grand-total{page-break-inside:avoid;break-inside:avoid}.report-table-wrap{overflow:visible!important}}.report-hero-meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px;color:#ffffffb8;font-size:12px}.report-hero-meta span{display:flex;align-items:baseline;gap:6px}.report-hero-meta b{color:#ffffff85;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.sidenav-container[data-theme=light] .report-hero-meta{color:#64748b}.sidenav-container[data-theme=light] .report-hero-meta b{color:#94a3b8}@media(max-width:560px){.report-hero-meta{display:grid;gap:8px;margin-top:18px}}@media print{.report-hero-meta,.report-hero-meta b{color:#475569!important}}.report-hero-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.report-hero-meta span{display:grid;gap:5px;min-width:142px;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:#0f172a33;color:#f1f5f9;font-size:13px;font-weight:700;line-height:1.15}.report-hero-meta b{display:block;color:#e2e8f0a8;font-size:9px;font-weight:800;letter-spacing:.11em;line-height:1;text-transform:uppercase}.sidenav-container[data-theme=light] .report-hero-meta span{border-color:#ffffff5c;background:#ffffff29;color:#fff;box-shadow:0 5px 14px #1e293b1a}.sidenav-container[data-theme=light] .report-hero-meta b{color:#ffffffb3}@media(max-width:560px){.report-hero-meta{display:grid;grid-template-columns:1fr 1fr}.report-hero-meta span{min-width:0}}@media print{.report-hero-meta span{border-color:#cbd5e1;background:#f8fafc;color:#111827;box-shadow:none}.report-hero-meta b{color:#64748b!important}}.sidenav-container[data-theme=light] .report-hero-meta span{border-color:#6366f12e;background:linear-gradient(145deg,#f8fbff,#eef2ff);color:#172033;box-shadow:0 5px 14px #4f46e514}.sidenav-container[data-theme=light] .report-hero-meta b{color:#64748b}.assessment-question-navigator-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1199;border:0;background:#0f172a47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);cursor:default}.assessment-question-navigator{position:fixed;inset:0 0 0 auto;z-index:1200;display:flex;flex-direction:column;width:min(360px,90vw);padding:18px 18px 16px 20px;border-left:1px solid rgba(99,102,241,.16);background:var(--color-surface);box-shadow:-22px 0 58px #0f172a3d;animation:assessment-question-navigator-in .24s ease-out}.assessment-question-navigator-header,.assessment-question-navigator-stat{display:flex;align-items:center}.assessment-question-navigator-header{justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:1px solid var(--color-border)}.assessment-question-navigator-kicker{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.assessment-question-navigator h2{margin:5px 0 0;color:var(--color-text-primary);font-size:18px;font-weight:650;letter-spacing:-.35px}.assessment-question-navigator-close{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-secondary);background:var(--color-background);font-size:19px;line-height:1;cursor:pointer}.assessment-question-navigator-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0}.assessment-question-navigator-stat{gap:9px;color:var(--color-text-secondary);font-size:10px;font-weight:650}.assessment-question-navigator-stat strong{margin-left:auto;color:var(--color-text-primary);font-size:12px}.assessment-question-navigator-dot,.assessment-question-navigator-status-dot,.assessment-question-navigator-legend i{display:inline-block;flex:0 0 auto;border-radius:50%}.assessment-question-navigator-dot,.assessment-question-navigator-legend i{width:8px;height:8px}.assessment-question-navigator-dot.attempted,.assessment-question-navigator-legend i.attempted{background:#16a34a}.assessment-question-navigator-dot.unanswered{background:#2563eb}.assessment-question-navigator-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));align-content:start;flex:1 1 auto;min-height:0;gap:6px;overflow-y:auto;padding:6px 6px 12px}.assessment-question-navigator-number{position:relative;display:grid;place-items:center;aspect-ratio:1;min-width:0;width:100%;max-width:30px;border:1px solid transparent;border-radius:9px;color:#fff;font-size:10px;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.assessment-question-navigator-number:hover,.assessment-question-navigator-number.current{transform:translateY(-1px);box-shadow:0 7px 16px #0f172a21}.assessment-question-navigator-number.attempted{background:#16a34a}.assessment-question-navigator-number.visited-unanswered{background:#2563eb}.assessment-question-navigator-number.not-visited{background:#94a3b8}.assessment-question-navigator-number.marked-unanswered,.assessment-question-navigator-number.marked-attempted{background:#7c3aed}.assessment-question-navigator-number.current{border-color:#fff;outline:2px solid var(--color-primary);outline-offset:2px}.assessment-question-navigator-status-dot{position:absolute;bottom:3px;left:50%;width:5px;height:5px;background:#4ade80;transform:translate(-50%);box-shadow:0 0 0 2px #ffffff47}.assessment-question-navigator-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:9px;font-weight:650}.assessment-question-navigator-legend span{display:flex;align-items:center;gap:8px}.assessment-question-navigator-legend i.visited-unanswered{background:#2563eb}.assessment-question-navigator-legend i.not-visited{background:#94a3b8}.assessment-question-navigator-legend i.marked-unanswered{background:#7c3aed}.assessment-question-navigator-legend i.marked-attempted{background:#7c3aed;box-shadow:6px 0 0 -2px #4ade80}@keyframes assessment-question-navigator-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes assessment-question-navigator-fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:520px){.assessment-question-navigator{width:100vw;padding:22px 18px 18px}}.online-student-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.online-student-results-panel{min-width:0;overflow:hidden;border:1px solid #dbe5f3;border-radius:18px;background:#fff;box-shadow:0 10px 26px #0f172a0d}.online-student-results-panel:before{display:block;height:5px;background:linear-gradient(90deg,#10b981,#34d399);content:""}.online-student-results-panel.failed:before{background:linear-gradient(90deg,#ef4444,#fb7185)}.online-student-results-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 20px 16px}.online-student-results-kicker{color:var(--color-text-muted);font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.online-student-results-panel-heading h2{margin:5px 0 0;color:var(--color-text-primary);font-size:17px;font-weight:800;letter-spacing:-.025em}.online-student-results-count{display:grid;min-width:36px;height:36px;padding:0 9px;place-items:center;border:1px solid #a7f3d0;border-radius:12px;color:#047857;background:#ecfdf5;font-size:14px;font-weight:850}.failed .online-student-results-count{border-color:#fecdd3;color:#be123c;background:#fff1f2}.online-student-results-table-wrap{height:360px;overflow:auto;border:1px solid #dbe5f3;border-radius:5px;margin-bottom:16px}.online-student-results-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;text-align:left}.online-student-results-table th:nth-child(1),.online-student-results-table td:nth-child(1){width:32%}.online-student-results-table th:nth-child(2),.online-student-results-table td:nth-child(2){width:16%}.online-student-results-table th:nth-child(3),.online-student-results-table td:nth-child(3){width:42%}.online-student-results-table th:nth-child(4),.online-student-results-table td:nth-child(4){width:10%}.online-student-results-table td:last-child{padding-right:4px;padding-left:4px}.online-student-results-table thead{position:sticky;top:0;z-index:2;background:linear-gradient(135deg,#4f46e5,#7c3aed)}.online-student-results-table th{padding:12px;color:#fff;background:transparent;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.online-student-results-sort-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.online-student-results-sort-button:hover,.online-student-results-sort-button:focus-visible{color:#e0e7ff;outline:none}.online-student-results-sort-button span{font-size:14px;line-height:1}.online-student-results-table th:first-child,.online-student-results-table td:first-child{padding-left:12px}.online-student-results-table th:last-child,.online-student-results-table td:last-child{padding-right:12px;text-align:right}.online-student-results-table td{padding:12px;border-bottom:1px solid #e7edf5;color:#64748b;font-size:14px;line-height:1.35;overflow-wrap:anywhere}.online-student-results-table tbody tr:last-child td{border-bottom:1px solid #e7edf5}.online-student-results-table tbody tr{transition:background .16s ease}.online-student-results-table tbody tr:hover{background:#6366f10b}.online-student-results-name{display:flex;width:100%;min-width:0;align-items:center;color:var(--color-text-primary)}.online-student-results-name strong{display:block;min-width:0;max-width:100%;overflow:hidden;color:#172033;font-size:14px;font-weight:750;text-overflow:ellipsis}.online-student-results-score{display:inline-flex;min-width:48px;justify-content:center;padding:5px 8px;border-radius:999px;color:#047857;background:#ecfdf5;font-size:14px;font-weight:850}.online-student-results-score.failed{color:#be123c;background:#fff1f2}.online-student-results-view{display:inline-grid;width:24px;height:24px;place-items:center;padding:0;border:0;border-radius:0;color:#4f46e5;background:transparent;cursor:pointer;transition:color .16s ease,transform .16s ease}.online-student-results-view:hover{color:#312e81;transform:translateY(-1px)}.online-student-results-view:focus-visible{border-radius:4px;outline:2px solid #818cf8;outline-offset:2px}.online-student-results-empty-cell{height:125px;padding:12px!important;text-align:center!important;vertical-align:middle;border-bottom:0!important;color:var(--color-text-muted);font-size:12px}@media(max-width:700px){.online-student-results-panel{border-radius:8px}.online-student-results-table th,.online-student-results-table td{padding:9px 8px;font-size:14px}.online-student-results-table th{font-size:10px}}@media(max-width:1050px){.online-student-results-grid{grid-template-columns:1fr}}.student-assessments-page{width:100%;background:radial-gradient(circle at 88% 0%,rgba(99,102,241,.08),transparent 28rem)}.student-assessments-page>div:first-child{width:100%}.student-assessments-page h2{color:var(--color-text-primary);letter-spacing:-.4px}.student-assessments-hero{position:relative;display:flex;align-items:stretch;justify-content:space-between;gap:28px;overflow:hidden;padding:clamp(24px,4vw,34px);border:1px solid rgba(99,102,241,.18);border-radius:26px;color:#fff;background:linear-gradient(118deg,#312e81,#4f46e5 48%,#7c3aed);box-shadow:0 20px 44px #4f46e533}.student-assessments-hero:before,.student-assessments-hero:after{position:absolute;content:"";border-radius:50%;pointer-events:none}.student-assessments-hero:before{width:260px;height:260px;right:-90px;top:-160px;background:#ffffff24}.student-assessments-hero:after{width:170px;height:170px;left:42%;bottom:-130px;background:#2dd4bf2e}.student-assessments-hero-copy,.student-assessments-hero-stats{position:relative;z-index:1}.student-assessments-hero-copy{max-width:560px}.student-assessments-eyebrow{display:flex;align-items:center;gap:8px;color:#ffffffc7;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.student-assessments-eyebrow-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid rgba(255,255,255,.2);border-radius:9px;color:#ccfbf1;background:#ffffff1f}.student-assessments-live-dot{width:6px;height:6px;margin-left:4px;border-radius:50%;background:#5eead4;box-shadow:0 0 0 4px #5eead421}.student-assessments-hero h1{margin:16px 0 8px;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;font-size:clamp(25px,4vw,38px);font-weight:650;letter-spacing:-.8px;line-height:1.08}.student-assessments-hero p{max-width:500px;margin:0;color:#ffffffc7;font-size:13px;line-height:1.65}.student-assessments-hero-stats{align-self:stretch;display:grid;grid-template-columns:repeat(3,minmax(92px,1fr));min-width:min(390px,42%);border:1px solid rgba(255,255,255,.16);border-radius:18px;background:#0f172a24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.student-assessments-hero-stats div{display:flex;flex-direction:column;justify-content:center;padding:16px 14px;border-left:1px solid rgba(255,255,255,.13)}.student-assessments-hero-stats div:first-child{border-left:0}.student-assessments-hero-stats strong{font-size:25px;font-weight:700;letter-spacing:-.5px}.student-assessments-hero-stats span{margin-top:5px;color:#ffffffad;font-size:10px;font-weight:700}@media(max-width:760px){.student-assessments-hero{flex-direction:column;gap:22px}.student-assessments-hero-stats{min-width:0;width:100%}}.student-assessments-page .assessment-icon{flex:0 0 auto}.student-assessments-page button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.student-assessments-page>div>div:nth-child(2) button{min-height:46px}.student-assessments-page>div>div:nth-child(2){box-shadow:0 8px 24px #0f172a0a}.student-assessments-page [style*="border-radius: 16px"]{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.student-assessments-page [style*="border-radius: 16px"]:hover{transform:translateY(-2px);border-color:#6366f14d!important;box-shadow:0 14px 30px #0f172a14!important}.student-assessments-page .assessment-question-card:hover{transform:none!important;border-color:var(--color-border)!important;box-shadow:none!important}.student-test-card{min-width:0}.student-test-copy{min-width:0;flex:1 1 auto}.student-test-subject-row{display:flex;align-items:center;gap:8px}.student-test-subject{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:4px 8px;border:1px solid rgba(99,102,241,.2);border-radius:10px;color:var(--color-primary-dark);background:linear-gradient(135deg,#eef2ff,#e0e7ff);font-weight:700!important;letter-spacing:-.25px;line-height:1.3;overflow-wrap:anywhere;box-shadow:0 5px 14px #4f46e514}.student-test-meta{flex-wrap:wrap;align-items:center;row-gap:8px}.student-test-meta-item{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:3px 8px;border:1px solid var(--color-border);border-radius:7px;background:var(--color-bg);white-space:nowrap}.student-test-meta-item-wide{flex:0 1 auto;color:var(--color-text-muted)}.student-test-meta-batch{flex:0 1 auto}.student-test-meta-schedule{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-test-meta-deadline{flex:0 1 auto}.student-test-meta-break{flex:0 0 100%;width:100%;height:0}.student-test-meta-metrics{display:flex;align-items:center;gap:8px;flex:0 0 100%;width:100%}.student-test-meta-metrics .student-test-meta-item{border-color:color-mix(in srgb,var(--color-primary) 24%,var(--color-border));color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-bg))}.student-test-meta-item.is-scheduled{border-color:#fde68a;color:#b45309;background:#fffbeb}.student-test-meta-item.is-available{border-color:#a7f3d0;color:#047857;background:#ecfdf5}.student-test-meta-item.is-expired,.student-test-meta-item.is-deadline{border-color:#fecaca;color:#b91c1c;background:#fef2f2}.student-test-action{flex:0 0 auto}.student-test-coming-soon{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 15px;border:1px solid #c4b5fd;border-radius:12px;color:#6d28d9;background:linear-gradient(135deg,#f5f3ff,#ede9fe);box-shadow:0 6px 16px #6d28d91f;font-size:12px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.student-test-coming-soon-dot{width:7px;height:7px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 4px #8b5cf624}.student-test-expired{display:inline-flex;align-items:center;justify-content:center;min-width:84px;min-height:32px;box-sizing:border-box;padding:5px 14px;border:1px solid #fecaca;border-radius:9px;color:#b91c1c;background:#fef2f2;font-size:11px;font-weight:750}.assessment-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:16px;border:1px solid rgba(99,102,241,.16);border-radius:20px;color:#6366f1;background:linear-gradient(145deg,#eef2ff,#ecfeff);box-shadow:0 10px 22px #6366f11f}.assessment-guidelines-card{position:relative;overflow:hidden;max-width:980px;margin:0 auto;padding:clamp(24px,5vw,8px) clamp(20px,5vw,64px) 28px!important;border:1px solid rgba(99,102,241,.16)!important;border-radius:26px!important;background:linear-gradient(145deg,var(--color-surface) 0%,rgba(248,250,255,.96) 100%)!important;box-shadow:0 24px 60px #1e293b1a!important}.assessment-guidelines-card:before{position:absolute;content:"";width:280px;height:280px;right:-120px;top:-150px;border-radius:50%;background:#818cf824;filter:blur(3px);pointer-events:none}.assessment-guidelines-header{position:relative;z-index:1;padding-bottom:24px;border-bottom:1px solid rgba(148,163,184,.2)}.assessment-guidelines-subject{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid rgba(99,102,241,.18);border-radius:999px;color:#6366f1;background:#6366f114;font-size:10px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.assessment-guidelines-title{max-width:720px;margin:16px 0 0;color:var(--color-text-primary);font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;font-size:clamp(24px,4vw,36px);font-weight:600;line-height:1.15;letter-spacing:-.7px}.assessment-guidelines-meta{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px;color:var(--color-text-muted);font-size:12px}.assessment-guidelines-meta span{display:inline-flex;align-items:center;gap:7px}.assessment-guidelines-meta .assessment-icon{color:var(--color-primary)}.assessment-guidelines-content{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;padding:24px 0 8px;color:var(--color-text-secondary);font-size:14px;line-height:1.65}.assessment-guidelines-intro{margin:0;color:var(--color-text-primary);font-size:15px;font-weight:500}.assessment-guidelines-list{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:guideline}.assessment-guidelines-list li{position:relative;padding:14px 16px 14px 48px;border:1px solid rgba(226,232,240,.82);border-radius:14px;background:#ffffff9e}.assessment-guidelines-list li:before{position:absolute;left:16px;top:14px;display:grid;place-items:center;width:22px;height:22px;border-radius:8px;color:#6366f1;background:#eef2ff;content:counter(guideline);counter-increment:guideline;font-size:11px;font-weight:800}.assessment-guidelines-list strong{color:var(--color-text-primary);font-weight:700}.assessment-guidelines-footer{position:relative;z-index:1;display:flex;justify-content:flex-end;gap:10px;padding-top:24px;border-top:1px solid rgba(148,163,184,.2)}.assessment-guidelines-footer .btn{min-height:44px;border-radius:12px!important;padding-inline:20px!important;font-weight:650!important}.assessment-begin-btn{min-height:38px!important;padding:8px 16px!important;font-size:12px!important;box-shadow:0 8px 18px #6366f12e}.assessment-test-nav-btn{min-height:34px!important;padding:7px 12px!important;border-radius:9px!important;font-size:12px!important;font-weight:750!important;box-shadow:0 5px 14px #0f172a14}.assessment-test-review-btn{border-color:var(--color-primary)!important;color:var(--color-primary)!important;background:transparent!important}.assessment-test-review-btn.is-marked{border-color:#7c3aed!important;color:#6d28d9!important;background:#f5f3ff!important;box-shadow:0 0 0 2px #7c3aed29,0 5px 14px #7c3aed1f}.assessment-active-test-title{display:flex;align-items:center;gap:12px;flex:0 1 auto;min-width:0}.assessment-active-test-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-test-timer{display:inline-flex;align-items:center;flex:0 0 auto;gap:4px;padding:2px 0;color:#111827;font-size:13px;font-weight:500;line-height:1.2;white-space:nowrap}.assessment-test-timer.is-warning{color:#dc2626}.student-assessments-page .assessment-question-navigator-trigger{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;gap:4px;width:40px;height:40px;margin-left:auto;padding:0;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text-secondary);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:border-color .16s ease,background .16s ease}.student-assessments-page .assessment-question-navigator-trigger:hover,.student-assessments-page .assessment-question-navigator-trigger:focus-visible{border-color:var(--color-primary);background:var(--color-bg);outline:none}.student-assessments-page .assessment-question-navigator-trigger span{display:block!important;width:18px;height:2px;min-height:2px;border-radius:2px;background-color:var(--color-text-secondary)!important;background-image:none!important;opacity:1!important;box-shadow:none}@media(max-width:640px){.assessment-test-header{padding:9px 12px!important}.assessment-active-test-title{gap:8px}.assessment-test-timer{font-size:12px}}.assessment-question-card{min-height:0;max-height:min(680px,calc(100vh - 250px));padding-bottom:92px!important;overflow:hidden}.assessment-question-scroll{min-height:0;flex:1 1 auto;overflow-y:auto;padding:2px 5px 4px 1px;scrollbar-gutter:stable}.assessment-question-prompt{display:flex;align-items:flex-start;gap:12px;margin:0 0 20px;color:var(--color-text-primary);font-size:16px;font-weight:400;line-height:1.55}.assessment-question-number{display:inline-flex;flex:0 0 30px;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:var(--color-primary);color:#fff;font-size:13px;font-weight:700;line-height:1}.assessment-options-grid{width:min(100%,760px);margin:0 auto;gap:10px}.assessment-option-card{width:min(100%,370px)!important;min-height:52px;padding:10px 13px!important;border-radius:11px!important;box-shadow:0 4px 12px #0f172a0b}.assessment-test-footer{flex:0 0 auto;position:fixed!important;left:0;right:0;top:auto!important;bottom:0!important;width:100vw;box-sizing:border-box;transform:none!important;z-index:1100;margin:0;padding:12px max(18px,calc((100vw - 1100px)/2)) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -10px 28px #0f172a1a;display:grid!important;grid-template-columns:minmax(92px,1fr) auto minmax(92px,1fr);gap:10px}.assessment-test-actions{display:contents}.assessment-test-footer .assessment-test-nav-btn{width:auto!important;min-width:0!important;flex:0 0 auto;height:34px!important;padding:6px 14px!important;font-size:11.5px!important;white-space:nowrap}.assessment-test-footer .assessment-test-previous-btn,.assessment-test-footer .assessment-test-next-btn{width:92px!important}.assessment-test-footer .assessment-test-review-btn{width:132px!important}.assessment-test-footer .assessment-test-previous-btn{justify-self:start}.assessment-test-footer .assessment-test-review-btn{justify-self:center}.assessment-test-footer .assessment-test-next-btn{justify-self:end}.assessment-options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.assessment-option-card{min-height:52px}@media(min-width:701px){.assessment-question-card{padding-bottom:92px!important}.assessment-options-grid{width:100%;margin-right:0;margin-left:0}.assessment-option-card{width:100%!important}.assessment-test-footer{position:fixed!important;left:0;right:0;bottom:0!important;width:100vw!important;margin:0;padding:12px max(18px,calc((100vw - 1100px)/2)) calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 -10px 28px #0f172a1a;display:grid!important}}@media(min-width:1025px){.assessment-test-footer{left:260px;width:calc(100vw - 260px)!important}}.assessment-abandoned-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;color:#b91c1c;background:#fee2e2;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}body.assessment-focus-mode .sidenav-desktop-sidebar,body.assessment-focus-mode .sidenav-header,body.assessment-focus-mode .sidenav-mobile-drawer,body.assessment-focus-mode .sidenav-drawer-overlay{pointer-events:none!important}.assessment-submission-summary{position:relative;overflow:hidden;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;padding:clamp(24px,4vw,36px) clamp(22px,4vw,42px)!important;border:1px solid rgba(99,102,241,.16)!important;border-radius:26px!important;background:linear-gradient(145deg,var(--color-surface),rgba(238,242,255,.72))!important;box-shadow:0 22px 54px #1e293b1a!important}.assessment-submission-summary:before{position:absolute;content:"";width:230px;height:230px;top:-130px;right:-70px;border-radius:50%;background:#2dd4bf21;filter:blur(2px)}.assessment-submission-summary.has-back .assessment-review-back{position:absolute;top:24px;left:24px;z-index:2}.assessment-submission-summary .assessment-empty-icon{position:relative;z-index:1;width:64px;height:64px;margin:0;border-radius:21px;color:#0f766e;background:linear-gradient(145deg,#ccfbf1,#e0e7ff);box-shadow:0 12px 28px #14b8a629}.assessment-submission-copy{position:relative;z-index:1;min-width:0}.assessment-submission-title{margin:0 0 7px;color:var(--color-text-primary);font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif;font-size:clamp(21px,3vw,27px);font-weight:600;letter-spacing:-.45px;line-height:1.2}.assessment-submission-copy p{max-width:420px;margin:0;font-size:13px}@media(min-width:701px){.assessment-submission-copy{text-align:left;justify-self:start}}.assessment-submission-score{position:relative;z-index:1;min-width:150px;margin:0!important;border-radius:17px!important;background:#ffffffa3!important;box-shadow:0 12px 26px #0f172a0f}.assessment-submission-score>div:first-child{font-size:30px!important;font-weight:650!important;letter-spacing:-.6px}.assessment-answer-label{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;text-align:right;white-space:nowrap}.student-review-result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0 20px;font-size:12px}.student-review-result-row strong{font-weight:750}.student-review-result-row .is-correct{color:#16a34a}.student-review-result-row .is-incorrect{color:#dc2626}.student-review-result-row .is-unattempted{color:var(--color-text-muted)}.student-review-explanation-toggle{flex:0 0 auto;padding:0;border:0;color:var(--color-primary);background:transparent;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.student-review-explanation-toggle:hover{text-decoration:underline}.student-review-explanation{margin:8px 0 0 20px;padding:10px 12px;border-left:3px solid var(--color-primary);border-radius:8px;color:var(--color-text-secondary);background:#e2e8f066;font-size:12px;line-height:1.55}.assessment-review-options-grid>div{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-content:initial}.assessment-review-question-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:32px!important}.assessment-review-options-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.assessment-completed-header{position:relative;overflow:hidden;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;padding:24px 28px!important;border:1px solid rgba(99,102,241,.16)!important;border-radius:24px!important;background:linear-gradient(135deg,var(--color-surface),rgba(238,242,255,.82))!important;box-shadow:0 18px 42px #1e293b17}.assessment-completed-header:after{position:absolute;content:"";width:220px;height:220px;right:-95px;top:-120px;border-radius:50%;background:#2dd4bf1f;pointer-events:none}.assessment-completed-copy,.assessment-completed-actions{position:relative;z-index:1}.assessment-completed-copy{display:grid;grid-template-columns:42px 1fr;column-gap:12px;align-items:center}.assessment-completed-icon{display:grid;place-items:center;grid-row:span 2;width:42px;height:42px;border:1px solid rgba(99,102,241,.16);border-radius:14px;color:#6366f1;background:#eef2ff}.assessment-completed-kicker{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.assessment-completed-title{margin:3px 0 0;color:var(--color-text-primary);font-size:clamp(18px,3vw,25px);font-weight:600;letter-spacing:-.35px}.assessment-completed-actions{display:flex;align-items:center;gap:18px}.assessment-completed-score{min-width:148px;padding:11px 14px;border:1px solid rgba(99,102,241,.14);border-radius:15px;background:#ffffff94;text-align:right}.assessment-completed-score>span{display:block;font-size:24px!important;font-weight:650!important;letter-spacing:-.5px}.assessment-completed-score p{margin:3px 0 0;color:var(--color-text-muted);font-size:10px}.assessment-completed-score strong{color:var(--color-primary);font-weight:800}.assessment-review-back,.assessment-result-icon-btn{display:inline-grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid rgba(99,102,241,.16);border-radius:13px;color:var(--color-primary);background:#ffffffa8;cursor:pointer;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.assessment-review-back:hover,.assessment-result-icon-btn:hover{transform:translateY(-1px);background:#eef2ff;box-shadow:0 8px 18px #6366f124}.assessment-result-actions{display:inline-flex;align-items:center;gap:9px}.assessment-review-tabs{display:none!important}@media(max-width:700px){.student-assessments-page>div>div:nth-child(2) button{padding-inline:8px!important;font-size:12px!important}.student-assessments-page [style*="justify-content: space-between"]:not(.student-test-card){align-items:stretch!important}.student-assessments-page [style*="justify-content: space-between"]:not(.student-test-card)>div:last-child{width:100%}.student-assessments-page [style*="justify-content: space-between"]:not(.student-test-card)>div:last-child .btn{width:100%}.assessment-guidelines-card{border-radius:20px!important}.student-test-card{align-items:stretch!important;gap:14px!important;padding:16px!important}.student-test-meta{display:grid!important;grid-template-columns:minmax(0,1fr) auto;flex-wrap:wrap;gap:8px!important;margin-top:2px;padding-top:10px;border-top:1px solid var(--color-border)}.student-test-meta-item{min-width:0;overflow:hidden;justify-content:flex-start;text-overflow:ellipsis;white-space:nowrap}.student-test-meta-item-wide{flex:0 1 auto}.student-test-meta-batch{grid-column:1;min-width:0}.student-test-meta-schedule{display:contents}.student-test-meta-schedule>.is-scheduled,.student-test-meta-schedule>.is-available{grid-column:2;grid-row:1;justify-self:end;min-width:0}.student-test-meta-metrics{grid-column:1;grid-row:2;flex:0 0 100%;width:auto}.student-test-meta-deadline{grid-column:2;grid-row:2;justify-self:end;min-width:0}.student-test-meta-metrics .student-test-meta-item{flex:0 1 auto}.student-test-meta-break{display:none}.student-test-action{width:100%}.student-test-result-card{display:grid!important;grid-template-columns:minmax(0,1fr) auto;padding:20px 20px 3px!important;align-items:flex-start!important}.student-test-result-copy{flex:1 1 auto;min-width:0}.student-test-result-summary,.student-test-result-line{display:contents!important}.student-test-result-score{grid-column:2;justify-self:end;align-self:start}.student-test-result-line .assessment-result-actions{grid-column:1 / -1;justify-self:end;width:100%;justify-content:flex-end;gap:4px;padding-top:6px;border-top:1px solid var(--color-border)}.student-test-result-line .assessment-result-icon-btn{width:24px;height:24px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer}.student-test-result-line .assessment-result-icon-btn:hover{transform:none;background:transparent;box-shadow:none}.student-test-result-line .assessment-result-icon-btn:first-child{border-right:1px solid #eeeeee;padding-right:6px;width:30px}.assessment-guidelines-title{letter-spacing:-.35px}.assessment-guidelines-footer{flex-direction:column-reverse}.assessment-guidelines-footer .btn{width:100%}.assessment-options-grid{grid-template-columns:1fr}.assessment-question-card{max-height:calc(100vh - 220px);padding:18px 18px 86px!important}.assessment-test-footer{position:fixed!important;top:auto!important;bottom:0!important;margin:0;padding:10px 10px calc(14px + env(safe-area-inset-bottom));grid-template-columns:minmax(76px,1fr) auto minmax(76px,1fr);gap:6px}.assessment-test-actions{gap:5px}.assessment-test-footer .assessment-test-nav-btn{padding-inline:10px!important;font-size:11px!important}.assessment-test-footer .assessment-test-previous-btn,.assessment-test-footer .assessment-test-next-btn{width:calc(100% - 8px)!important}.assessment-test-footer .assessment-test-review-btn{width:105px!important}.assessment-option-card{width:100%!important}.assessment-review-question-grid{grid-template-columns:1fr;margin-bottom:24px!important}.assessment-review-options-grid{grid-template-columns:1fr}.assessment-submission-summary{grid-template-columns:1fr;justify-items:center;text-align:center!important;gap:14px}.assessment-submission-summary.has-back{padding-top:18px!important}.assessment-submission-summary.has-back .assessment-review-back{top:18px;left:18px}.assessment-submission-copy{text-align:center}.assessment-submission-score{width:min(100%,190px)}.assessment-completed-header{grid-template-columns:auto 1fr;gap:14px;padding:20px!important}.assessment-completed-copy{grid-column:2}.assessment-review-back{grid-row:1}.assessment-completed-actions{grid-column:1 / -1}.assessment-completed-actions{justify-content:space-between;gap:10px}.assessment-completed-score{flex:1;text-align:left}.assessment-completed-actions .btn{flex:0 0 auto}}@media(min-width:761px){.assessment-submission-summary.has-back .assessment-empty-icon{margin-left:2rem}}.exam-attempt-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 18px}.exam-attempt-sections>div{display:grid;grid-template-columns:minmax(5rem,.7fr) minmax(0,1.3fr);align-items:start;gap:8px;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:12px}.exam-attempt-sections>div>span{font-weight:700;font-size:13px}.exam-attempt-sections>div>strong{font-weight:400;text-align:left}.exam-attempt-current-section{display:inline-flex;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:#6366f11a;color:var(--color-primary);font-size:11px;font-weight:700}.exam-section-selector{display:flex;align-items:center;gap:12px;order:2;margin:0;border:0;border-radius:0;background:transparent}.card.exam-question-panel{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;padding:0;border:1px solid var(--color-border);border-radius:0 0 16px 16px/0px 0px 16px 16px;background:var(--color-surface)}.student-assessments-page.is-testing{display:flex;flex-direction:column;box-sizing:border-box;min-height:100%}.assessment-testing-layout{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.exam-progress-row{flex:1 1 220px;min-width:120px;max-width:440px;padding:0!important}.exam-answered-badge{flex-shrink:0;padding:5px 10px;border-radius:999px;margin-right:8px;background:var(--color-primary-soft, rgba(99, 102, 241, .1));color:var(--color-primary);font-size:11px;font-weight:700;white-space:nowrap}.assessment-test-header .assessment-question-navigator-trigger{margin-left:0}.exam-header-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;margin-left:auto}@media(max-width:640px){.assessment-test-header{flex-wrap:wrap;gap:10px}.student-assessments-page .assessment-test-header>.exam-header-actions{width:100%;justify-content:space-between}.assessment-active-test-title{flex:1 1 100%}.exam-progress-row{flex:1 1 auto;max-width:none}}.assessment-question-card{order:3;flex:1 1 auto;min-height:0;max-height:none;padding-bottom:22px!important;background:transparent}.exam-section-tabs{display:flex;flex:1;gap:8px;min-width:0;overflow-x:auto}.exam-section-tabs button,.exam-review-section-tabs button{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-secondary);font:inherit;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.exam-section-tabs button[aria-pressed=true],.exam-review-section-tabs button.active{border-color:var(--color-primary);color:var(--color-primary);background:#6366f114}.exam-section-tab-counts{display:flex;flex-wrap:wrap;gap:4px}.exam-section-tabs .exam-section-tab-counts small{padding:3px 6px;border-radius:999px;font-size:9px;font-weight:800}.exam-section-tab-counts .answered{color:#047857;background:#d1fae5}.exam-section-tab-counts .unanswered{color:#b45309;background:#fef3c7}.exam-section-tab-counts .marked{color:#6d28d9;background:#ede9fe}.exam-section-tabs button:disabled{cursor:not-allowed;opacity:.48}.exam-section-tabs small{color:var(--color-text-muted);font-size:10px;font-weight:600}.exam-section-tabs{align-items:stretch;gap:0;border-bottom:1px solid var(--color-border);box-shadow:0 4px 8px #0f172a14;overflow-y:hidden;scrollbar-width:thin}.exam-section-tabs button{position:relative;display:inline-flex;flex:1 0 auto;align-items:center;justify-content:center;min-width:120px;min-height:48px;padding:0 20px;border:0;border-radius:0;background:transparent;color:var(--color-text-secondary);font-size:13px;font-weight:600;transition:color .16s ease,background-color .16s ease}.exam-section-tabs button:after{position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:3px 3px 0 0;background:var(--color-primary);content:"";transform:scaleX(0);transition:transform .16s ease}.exam-section-tabs button:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.exam-section-tabs button[aria-pressed=true]{background:transparent;color:var(--color-primary)}.exam-section-tabs button[aria-pressed=true]:after{transform:scaleX(1)}.exam-section-tabs button:focus-visible{z-index:1;outline:2px solid var(--color-primary);outline-offset:-3px}.exam-section-tabs button:disabled{background:transparent;opacity:.42}.exam-section-mobile-select{display:none}.exam-submit-shortcut{flex:0 0 auto;padding:10px 15px;border:0;border-radius:10px;background:var(--color-primary);color:#fff;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.exam-submit-shortcut:disabled{opacity:.5;cursor:not-allowed}.exam-review-section-tabs{display:flex;gap:8px;overflow-x:auto;margin:0 0 14px;padding-bottom:3px}.exam-review-section-tabs button{flex:0 0 auto}.exam-mock-results{display:grid;gap:16px;padding:20px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.exam-mock-results-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.exam-mock-results-heading span{color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.1em}.exam-mock-results-heading h3{margin:4px 0 0;font-size:17px}.exam-mock-results-heading>strong{color:var(--color-primary);font-size:18px;white-space:nowrap}.exam-mock-result-stats,.exam-mock-result-sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.exam-mock-result-stats>div,.exam-mock-result-sections>div{display:grid;gap:5px;padding:12px;border:1px solid var(--color-border);border-radius:12px;color:var(--color-text-muted);font-size:11px}.exam-mock-result-stats strong,.exam-mock-result-sections strong{color:var(--color-text-primary);font-size:16px}.exam-submit-summary-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#0f172a9e}.exam-submit-summary-dialog{width:min(100%,540px);max-height:min(90vh,760px);overflow:auto;padding:24px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 24px 80px #0f172a47}.exam-submit-summary-dialog h2{margin:0;font-size:22px}.exam-submit-summary-eyebrow{margin:0 0 6px;color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.exam-submit-summary-copy{color:var(--color-text-secondary);font-size:13px;line-height:1.5}.exam-submit-summary-sections{display:grid;gap:8px;margin:18px 0}.exam-submit-summary-sections>div{display:flex;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--color-border);border-radius:11px;font-size:12px}.exam-submit-summary-sections span{color:var(--color-text-muted)}.exam-submit-summary-totals{display:flex;flex-wrap:wrap;gap:8px;color:var(--color-text-secondary);font-size:11px}.exam-submit-summary-totals span{padding:6px 9px;border-radius:999px;background:#94a3b821}.exam-submit-summary-error{color:var(--color-danger);font-size:12px}.exam-submit-summary-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.exam-submit-summary-actions .exam-submit-continue{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent}.exam-submit-summary-actions .exam-submit-continue:hover{background:#6366f114}.student-assessment-review-content{width:100%;padding:0 clamp(14px,3vw,36px) 36px}.exam-mock-results{position:relative;overflow:hidden;gap:18px;padding:clamp(18px,3vw,28px);border-color:#6366f12e;background:radial-gradient(circle at 100% 0%,rgba(45,212,191,.12),transparent 19rem),linear-gradient(145deg,var(--color-surface),rgba(248,250,255,.96));box-shadow:0 14px 36px #1e293b14}.exam-mock-results-heading span{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;color:#4f46e5;background:#6366f11a}.exam-mock-results-heading h3{color:var(--color-text-primary);font-size:clamp(18px,2.5vw,23px);font-weight:800;letter-spacing:-.035em}.exam-mock-results-heading>strong{padding:11px 15px;border:1px solid rgba(99,102,241,.16);border-radius:14px;color:#4338ca;background:#6366f114;box-shadow:inset 0 1px #fffc}.exam-mock-result-stats>div,.exam-mock-result-sections>div{min-width:0;border-color:#94a3b833;background:#ffffffc7;box-shadow:0 5px 14px #1e293b0b}.exam-mock-result-stats>div{min-height:78px;align-content:space-between;padding:13px 14px}.exam-mock-result-stats>div:nth-child(1){border-color:#10b98138;background:linear-gradient(145deg,#ecfdf5,#fff 78%)}.exam-mock-result-stats>div:nth-child(2),.exam-mock-result-stats>div:nth-child(5){border-color:#ef444433;background:linear-gradient(145deg,#fff1f2,#fff 78%)}.exam-mock-result-stats>div:nth-child(3){border-color:#64748b33;background:linear-gradient(145deg,#f1f5f9,#fff 78%)}.exam-mock-result-stats>div:nth-child(4){border-color:#0ea5e933;background:linear-gradient(145deg,#f0f9ff,#fff 78%)}.exam-mock-result-stats>div:nth-child(6){border-color:#8b5cf633;background:linear-gradient(145deg,#f5f3ff,#fff 78%)}.exam-mock-result-stats strong{font-size:20px;font-weight:850;letter-spacing:-.03em}.exam-mock-result-sections>div{align-content:start;gap:7px;padding:14px;background:linear-gradient(145deg,#eef2ffb8,#fff 75%)}.exam-mock-result-sections>div:nth-child(2){background:linear-gradient(145deg,#ecfeffd9,#fff 75%)}.exam-mock-result-sections>div:nth-child(3){background:linear-gradient(145deg,#fff7ede6,#fff 75%)}.exam-mock-result-sections>div:nth-child(4){background:linear-gradient(145deg,#f0fdf4e6,#fff 75%)}.exam-mock-result-sections>div>span{color:var(--color-text-primary);font-size:12px;font-weight:750;line-height:1.4}.exam-mock-result-sections strong{color:#4338ca;font-size:13px}.exam-mock-result-sections small{color:var(--color-text-muted);font-size:10px;line-height:1.5}.exam-review-section-tabs{gap:8px;margin:0 0 16px;padding:5px 2px 0;scrollbar-width:thin;border-bottom:1px solid rgba(100,116,139,.24)}.student-assessment-review-content .exam-review-section-tabs{border-bottom:0;box-shadow:0 5px 8px -8px #0f172aa6}.exam-review-section-tabs button{position:relative;flex-direction:row;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:0;border-bottom:2px solid transparent;border-radius:4px 4px 0 0;color:#5f6368;background:transparent;box-shadow:none;font-size:13px;font-weight:550;transition:color .16s ease,background .16s ease,border-color .16s ease}.exam-review-section-tabs button:hover{background:#4f46e50e}.exam-review-section-tabs button.active{border-bottom-color:#4f46e5;color:#4338ca;background:transparent;box-shadow:none;font-weight:700}.student-assessment-review-content .assessment-review-question-grid{grid-auto-rows:minmax(min-content,auto)}.student-assessment-review-content .student-review-question-card{position:relative;display:grid;grid-row:span 4;grid-template-rows:subgrid;overflow:hidden;border-top-color:#94a3b83d!important;border-right-color:#94a3b83d!important;border-bottom-color:#94a3b83d!important;box-shadow:0 7px 22px #1e293b0e}.student-assessment-review-content .student-review-question-card .student-review-result-row{margin:auto 0 0;padding-top:13px;border-top:1px solid rgba(148,163,184,.18);font-size:12px}.student-assessment-review-content .student-review-question-card .student-review-result-row strong{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#94a3b81a}.student-assessment-review-content .student-review-question-card .student-review-result-row .is-correct{background:#22c55e1a}.student-assessment-review-content .student-review-question-card .student-review-result-row .is-incorrect{background:#ef444417}.student-assessment-review-content .student-review-question-card .student-review-explanation-toggle{color:#4338ca;font-size:12px;font-weight:650;text-decoration:underline;text-underline-offset:3px}.student-assessment-review-content .student-review-question-card .student-review-explanation-toggle:hover{color:#312e81}.student-assessment-review-content .student-review-question-card .student-review-explanation{margin:10px 0 0;border-left-color:#6366f1;background:linear-gradient(135deg,#eef2ffd9,#f8fafce6)}@media(max-width:700px){.student-assessment-review-content{padding-inline:14px}.exam-mock-results{border-radius:16px}.exam-mock-result-sections>div{padding:11px}.exam-review-section-tabs{margin-inline:-2px}}@media(max-width:700px){.exam-section-selector{align-items:stretch;flex-direction:column}.exam-section-tabs{display:flex;flex:0 0 auto;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.exam-section-tabs button{flex:0 0 auto;min-width:120px;padding-inline:14px}.exam-section-mobile-select{display:none}.exam-submit-shortcut{width:auto}.exam-mock-result-stats,.exam-mock-result-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-submit-summary-actions{flex-direction:column-reverse}.exam-submit-summary-actions .btn{width:100%}.exam-mock-results-heading{align-items:flex-start;flex-direction:column}}@media(max-width:560px){.exam-attempt-sections{grid-template-columns:1fr}}.student-tests-empty-state{position:relative;display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box;padding:42px 24px;border:1px solid #c4b5fd;border-radius:24px;background:radial-gradient(circle at 50% 0%,rgba(103,232,249,.34),transparent 34%),linear-gradient(135deg,#f5f3ff,#eef2ff 52%,#ecfeff);box-shadow:0 20px 48px #4f46e51f,inset 0 1px #fff;text-align:center}.student-tests-empty-icon{display:grid;width:76px;height:76px;place-items:center;margin-bottom:20px;border:1px solid rgba(255,255,255,.55);border-radius:24px;background:linear-gradient(140deg,#7c3aed,#4f46e5 48%,#0891b2);box-shadow:0 12px 28px #4f46e552,inset 0 1px #ffffff59;color:#fff}.student-tests-empty-state h3{margin:0 0 8px;color:#25205f;font-size:20px;font-weight:800;letter-spacing:-.03em}.student-tests-empty-state p{max-width:420px;margin:0;color:#58647d;font-size:14px;line-height:1.7}@media(max-width:600px){.student-tests-empty-state{min-height:230px;padding:32px 20px;border-radius:20px}.student-tests-empty-icon{width:66px;height:66px;margin-bottom:16px;border-radius:21px}.student-tests-empty-state h3{font-size:18px}}.polls-page{max-width:1180px;margin:0 auto;padding:30px 28px 60px;color:#18233d}.polls-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 34px;margin-bottom:26px;border:1px solid #e4e8f3;border-radius:24px;background:radial-gradient(circle at 88% 12%,rgba(99,102,241,.15),transparent 30%),linear-gradient(120deg,#fff,#f7f8ff);box-shadow:0 12px 36px #1f294b0f}.polls-eyebrow{display:block;color:#6d65d8;font-size:10px;font-weight:800;letter-spacing:.16em}.polls-hero h1{font-size:30px;letter-spacing:-.04em;margin:8px 0}.polls-hero p{margin:0;color:#75809a;font-size:14px}.poll-primary{border:0;border-radius:12px;padding:12px 18px;color:#fff;font-weight:750;background:linear-gradient(135deg,#7068e8,#5548ce);box-shadow:0 8px 18px #5c52d338;cursor:pointer;transition:transform .18s,box-shadow .18s}.poll-primary:hover{transform:translateY(-1px);box-shadow:0 11px 22px #5c52d347}.poll-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.poll-primary span{font-size:18px;margin-right:5px}.poll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:17px}.poll-card{min-height:205px;padding:21px 22px 16px;border:1px solid #e6e9f2;border-radius:19px;background:#fff;box-shadow:0 7px 22px #1b274a0b;animation:pollRise .38s both;transition:transform .2s,box-shadow .2s}.poll-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #1b274a17}@keyframes pollRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.poll-card-top,.poll-card-bottom{display:flex;align-items:center;justify-content:space-between}.poll-card-icon{height:38px;width:38px;display:grid;place-items:center;border-radius:12px;color:#655cdd;background:#f0efff}.poll-card-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}.poll-status{padding:5px 9px;border-radius:20px;font-size:10px;font-weight:750}.poll-status.open{color:#08785f;background:#e8f8f1}.poll-status.closed{color:#7f8799;background:#f0f1f5}.poll-status.answered{color:#554bc4;background:#efedff}.poll-card h2{font-size:17px;line-height:1.4;margin:17px 0 9px;color:#202b46}.poll-card-meta{font-size:12px;color:#8b93a8;margin:0}.poll-card-meta span{padding:0 5px}.poll-card-bottom{border-top:1px solid #f0f1f5;margin-top:19px;padding-top:13px;color:#8b93a8;font-size:11px}.poll-card-actions{display:flex;align-items:center;gap:6px}.poll-card-actions .poll-names-button{min-height:34px;padding:0 11px;border:1px solid #dcd9ff;border-radius:10px;background:linear-gradient(180deg,#fff,#faf9ff);color:#5e55cd;font:inherit;font-size:11px;font-weight:700;cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.poll-card-actions .poll-names-button:hover{transform:translateY(-1px);border-color:#bdb7ff;background:#f5f3ff}.poll-card-bottom .poll-view-button{height:34px;width:34px;border:1px solid #e7e8f0;background:#fff;color:#6158ce;border-radius:10px;display:grid;place-items:center;cursor:pointer}.poll-card-bottom svg{width:18px;height:18px}.poll-empty{min-height:280px;border:1px dashed #dce0ed;border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(145deg,#fff,#fafaff);color:#7d879e}.poll-empty>span{font-size:32px;color:#7770df}.poll-empty h2{margin:14px 0 5px;color:#28334e;font-size:19px}.poll-empty p{margin:0;font-size:13px}.poll-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#141a317a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:18px;animation:pollFade .16s ease-out}@keyframes pollFade{0%{opacity:0}to{opacity:1}}.poll-modal{width:min(100%,580px);max-height:min(92vh,800px);overflow:auto;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:#fff;box-shadow:0 28px 90px #141a373d;padding:27px}.poll-modal-heading{display:flex;justify-content:space-between;gap:15px;align-items:flex-start;margin-bottom:22px}.poll-modal-heading h2{font-size:23px;line-height:1.3;letter-spacing:-.025em;color:#222d48;margin:6px 0}.poll-modal-heading p{font-size:12px;color:#858da1;margin:0}.poll-label{display:block;font-size:12px;font-weight:750;color:#39445e}.poll-label textarea,.poll-label input{display:block;width:100%;margin-top:8px;border:1px solid #e2e5ef;border-radius:11px;padding:12px 13px;background:#fbfcff;color:#27334d;font:inherit;outline:none;transition:border .16s,box-shadow .16s}.poll-label textarea{resize:vertical;min-height:86px}.poll-label textarea:focus,.poll-label input:focus,.poll-option-field input:focus{border-color:#8c85ec;box-shadow:0 0 0 3px #746ae01f}.poll-options-heading{display:flex;justify-content:space-between;align-items:center;margin:20px 0 9px}.poll-options-heading>span:last-child{font-size:11px;color:#939aae}.poll-option-fields{display:grid;gap:8px}.poll-option-field{display:flex;align-items:center;gap:10px;padding:4px 9px;border:1px solid #e5e8f0;border-radius:11px;background:#fbfcff}.poll-option-field>span{font-size:10px;font-weight:800;color:#9994d9}.poll-option-field input{flex:1;min-width:0;padding:8px 0;border:0;background:transparent;outline:none;color:#28334e;font:inherit;font-size:13px}.poll-option-field button{border:0;background:transparent;color:#a0a5b4;font-size:20px;cursor:pointer}.poll-option-field button:disabled{opacity:.3;cursor:default}.poll-add-option{margin-top:10px;background:none;border:0;color:#625bd0;font-size:12px;font-weight:750;padding:5px 0;cursor:pointer}.poll-settings{display:grid;gap:9px;margin:20px 0 17px}.poll-setting{display:flex;gap:12px;align-items:center;text-align:left;padding:12px;border:1px solid #e7e9f1;border-radius:12px;background:#fff;cursor:pointer}.poll-setting>i{height:21px;width:36px;flex:none;border-radius:20px;background:#d8dce7;position:relative;transition:background .18s}.poll-setting>i:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #80869a;transition:transform .18s}.poll-setting.selected{border-color:#cfccff;background:#fafaff}.poll-setting.selected>i{background:#6b63dc}.poll-setting.selected>i:after{transform:translate(15px)}.poll-setting span{display:grid;gap:3px}.poll-setting strong{font-size:12px;color:#39445e}.poll-setting small{font-size:10px;color:#9299aa}.poll-end-label{display:flex;align-items:center;gap:9px}.poll-end-label>span{font-size:10px;color:#939aae;font-weight:500}.poll-end-label input{max-width:250px;margin-left:auto}.poll-modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid #eff0f5;margin-top:22px;padding-top:17px}.poll-results-modal .poll-modal-actions .poll-primary{width:auto;min-height:36px;padding:8px 14px;border-radius:10px;font-size:12px}.poll-results-modal .poll-modal-actions .poll-close-button{width:auto;min-height:28px;padding:4px 14px;border:1px solid #675fd4;border-radius:8px;background:#fff;color:#675fd4;font-size:12px;font-weight:700;cursor:pointer}.poll-results-modal .poll-modal-actions .poll-close-button:hover{background:#f7f6ff}.poll-cancel{border:1px solid #e4e6ee;border-radius:11px;padding:11px 16px;background:#fff;color:#65708a;font-weight:650;cursor:pointer}.poll-results-list{display:grid;gap:11px}.poll-results-modal{display:flex;flex-direction:column;height:min(78vh,680px);overflow:hidden}.poll-results-modal .poll-modal-heading,.poll-results-modal .poll-modal-actions{flex:none}.poll-results-content{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px 2px 1px 0}.poll-result-row{width:100%;text-align:left;padding:12px 13px;border:1px solid #e6e8f0;border-radius:12px;background:#fff;color:#303b55}.poll-result-row.votable{cursor:pointer}.poll-result-row.chosen{border-color:#958eef;background:#fafaff}.poll-result-copy{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:650}.poll-result-copy strong{font-size:12px;color:#675fd4}.poll-result-copy small{font-weight:500;color:#969bb0}.poll-result-copy small.poll-result-zero{color:#000}.poll-result-track{height:6px;background:#f0f1f6;border-radius:8px;overflow:hidden;margin-top:10px}.poll-result-track i{height:100%;display:block;border-radius:8px;background:linear-gradient(90deg,#8d85f0,#5c52d2);transition:width .3s}.poll-voter-names{font-size:10px;color:#8e96a9;margin-top:8px}.poll-voted-note{color:#138163;font-size:12px;font-weight:700;margin-right:auto}.poll-loading{font-size:12px;color:#9299aa;text-align:center}.poll-names-overlay{z-index:10001;background:#11182c57}.poll-names-modal{width:min(100%,560px);height:min(70vh,560px);display:flex;flex-direction:column;overflow:hidden;padding:28px;border-color:#ffffffd9;box-shadow:0 32px 100px #1118364d}.poll-names-modal .poll-modal-heading{flex:none;margin-bottom:20px}.poll-names-modal .poll-modal-heading h2{margin-top:8px}.poll-name-tabs{flex:none;display:flex;gap:6px;overflow-x:auto;overflow-y:hidden;padding:5px 4px 0;border-bottom:1px solid #e8eaf2;scrollbar-width:thin}.poll-name-tabs button{position:relative;display:flex;flex:1 0 auto;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 13px 2px;border:0;border-radius:11px 11px 0 0;background:transparent;color:#747d94;font:inherit;font-size:12px;font-weight:650;white-space:nowrap;cursor:pointer;transition:color .18s,background .18s}.poll-name-tabs button:hover{background:#f7f6ff;color:#5148bd}.poll-name-tabs button.active{background:#f5f4ff;color:#5148bd}.poll-name-tabs button.active:after{position:absolute;right:12px;bottom:-1px;left:12px;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,#8178ee,#564acb);content:""}.poll-name-tabs button small{min-width:21px;padding:3px 6px;border-radius:20px;background:#eef0f6;color:#7d8496;font-size:10px;text-align:center}.poll-name-tabs button.active small{background:#e5e2ff;color:#574fc4}.poll-name-panel{flex:1;min-height:0;overflow-y:auto;padding:12px 4px;overscroll-behavior:contain}.poll-name-row{display:flex;align-items:center;padding:11px 12px;border-bottom:1px solid #f0f1f6;color:#000;font-size:14px}.poll-name-row:last-child{border-bottom:0}.poll-names-empty{margin:0;padding:30px 12px;color:#858da1;font-size:13px;text-align:center}.poll-names-modal .poll-modal-actions{flex:none;margin-top:8px}.poll-names-modal .poll-close-button{min-height:34px;padding:6px 14px;border:1px solid #675fd4;border-radius:8px;background:#fff;color:#675fd4;font-size:12px;font-weight:700;cursor:pointer}.poll-names-modal .poll-close-button:hover{background:#f7f6ff}@media(max-width:600px){.polls-page{padding:18px 14px 40px}.polls-hero{padding:23px 20px;align-items:flex-start;flex-direction:column}.polls-hero h1{font-size:26px}.poll-modal{padding:21px 18px}.poll-results-modal{height:min(82vh,680px)}.poll-modal-heading h2{font-size:20px}.poll-end-label{align-items:flex-start;flex-wrap:wrap}.poll-end-label input{max-width:none;margin-left:0}.poll-grid{grid-template-columns:1fr}}.poll-audience-label{margin-top:16px}.poll-audience-label select{display:block;width:100%;margin-top:8px;border:1px solid #e2e5ef;border-radius:11px;padding:12px 13px;background:#fbfcff;color:#27334d;font:inherit;outline:none}.poll-create-modal{padding:0;overflow:hidden}.poll-create-modal .poll-modal-heading{margin:0 0 22px;padding:25px 27px 20px;align-items:center;background:linear-gradient(118deg,#eeedff,#e9f4ff 58%,#eefaf8);border-bottom:1px solid #e1e6f5}.poll-create-modal .poll-modal-heading h2{font-size:25px;margin:7px 0 0;color:#242b50}.poll-create-modal .poll-modal-heading .polls-eyebrow{color:#645bd0}.poll-create-modal>.poll-label,.poll-create-modal>.poll-options-heading,.poll-create-modal>.poll-option-fields,.poll-create-modal>.poll-add-option,.poll-create-modal>.poll-settings,.poll-create-modal>.poll-end-label,.poll-create-modal>.poll-modal-actions{margin-left:27px;margin-right:27px}.poll-create-modal>.poll-modal-actions{margin-bottom:24px}.poll-label{font-size:14px;font-weight:700;color:#303b58}.poll-options-heading .poll-label{font-size:14px}.poll-required-marker{color:#e5484d;font-weight:800;margin-left:2px}.poll-optional-label{font-size:11px!important;color:#9299aa!important;font-weight:500!important}.poll-settings{gap:0;border-top:1px solid #edf0f6;border-bottom:1px solid #edf0f6}.poll-setting{padding:14px 4px;border:0;border-radius:0;background:transparent}.poll-setting+.poll-setting{border-top:1px solid #edf0f6}.poll-setting.selected{border-color:#edf0f6;background:transparent}.poll-setting strong{font-size:13px}.poll-setting small{font-size:11px}.poll-audience-label select{font-size:13px}@media(max-width:600px){.poll-create-modal .poll-modal-heading{padding:21px 19px 18px}.poll-create-modal>.poll-label,.poll-create-modal>.poll-options-heading,.poll-create-modal>.poll-option-fields,.poll-create-modal>.poll-add-option,.poll-create-modal>.poll-settings,.poll-create-modal>.poll-end-label,.poll-create-modal>.poll-modal-actions{margin-left:19px;margin-right:19px}.poll-create-modal .poll-modal-heading h2{font-size:22px}}.poll-create-modal{max-height:92vh;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.poll-audience-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 27px 18px}.poll-audience-grid .poll-audience-label{margin:0}.poll-audience-label select:disabled{opacity:.58;cursor:not-allowed}.poll-option-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.poll-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:0}.poll-setting,.poll-setting+.poll-setting{border:0;padding:10px 2px}.poll-setting.selected{background:transparent}.poll-end-label{justify-content:flex-start}.poll-end-label input{width:245px;max-width:none;margin:0 0 0 auto}@media(max-width:600px){.poll-audience-grid,.poll-option-fields,.poll-settings{grid-template-columns:1fr}.poll-audience-grid{margin-left:19px;margin-right:19px}.poll-settings{gap:4px}.poll-setting{padding:10px 0}.poll-end-label{align-items:center}.poll-end-label input{width:auto;max-width:none;flex:1;min-width:0}}.poll-field-row{display:grid;grid-template-columns:132px minmax(0,1fr);align-items:center;column-gap:16px}.poll-field-row>span{font-size:14px;white-space:nowrap}.poll-field-row>input,.poll-field-row>select{width:100%;min-width:0;margin:0;font-weight:400}.poll-field-row input[type=date]{width:245px;max-width:100%;justify-self:start;margin:0}.poll-audience-grid{margin-top:26px;margin-bottom:20px}.poll-audience-grid .poll-field-row{grid-template-columns:72px minmax(0,1fr);column-gap:10px}.poll-options-heading{display:grid;grid-template-columns:132px minmax(0,1fr);column-gap:16px}.poll-options-heading>span:last-child{text-align:right}.poll-create-modal>.poll-option-fields,.poll-create-modal>.poll-add-option{margin-left:175px}.poll-option-field{min-height:46px;padding:5px 9px;background:#fff;border:1px solid #d9deeb;box-shadow:0 2px 5px #202c4e09}.poll-option-field:focus-within{border-color:#8c85ec;box-shadow:0 0 0 3px #746ae01f}.poll-option-field input{font-weight:400;color:#28334e}.poll-option-field input::placeholder{color:#969eb1;font-weight:400}.poll-option-field button{display:grid;place-items:center;align-self:center;flex:0 0 30px;height:30px;width:30px;padding:0;line-height:1;color:#74809a;border-radius:8px}.poll-option-field button:hover:not(:disabled){background:#f0efff;color:#5b52cc}.poll-option-field button:disabled{opacity:.25}.poll-audience-label select{font-weight:400}.poll-end-label{grid-template-columns:132px auto;justify-content:start;column-gap:16px}.poll-end-label>span{font-size:14px;font-weight:700;color:#303b58}.poll-end-label input{width:245px;max-width:100%;justify-self:start;margin:0}@media(max-width:600px){.poll-field-row,.poll-audience-grid .poll-field-row,.poll-end-label{grid-template-columns:1fr;gap:7px;align-items:stretch}.poll-audience-grid{margin-top:22px}.poll-options-heading{grid-template-columns:1fr auto;gap:8px}.poll-create-modal>.poll-option-fields,.poll-create-modal>.poll-add-option{margin-left:19px;margin-right:19px}.poll-field-row input[type=date],.poll-end-label input{width:100%}}.poll-audience-grid select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background-color:#fbfcff;background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%2374819a%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27m6 9 6 6 6-6%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}.poll-create-modal .poll-options-heading{display:flex;justify-content:space-between;align-items:center}.poll-create-modal>.poll-option-fields,.poll-create-modal>.poll-add-option{margin-left:27px;margin-right:27px}.poll-create-modal .poll-end-label{display:flex;align-items:center;justify-content:flex-start;gap:14px}.poll-create-modal .poll-end-label>span{flex:none}.poll-create-modal .poll-end-label input{width:245px;max-width:calc(100% - 105px);margin:0}@media(max-width:600px){.poll-create-modal>.poll-option-fields,.poll-create-modal>.poll-add-option{margin-left:19px;margin-right:19px}.poll-create-modal .poll-end-label{align-items:flex-start;flex-direction:column;gap:7px}.poll-create-modal .poll-end-label input{width:100%;max-width:none}}.poll-create-modal .poll-modal-actions .poll-cancel,.poll-create-modal .poll-modal-actions .poll-primary{min-height:38px;padding-top:8px;padding-bottom:8px;font-weight:500;line-height:20px}.poll-create-modal .poll-modal-actions .poll-cancel{border:1px solid #625bd0;color:#5b52cc;background:#fff}.poll-create-modal .poll-modal-actions .poll-cancel:hover{background:#f6f5ff;border-color:#5147c5}.poll-create-modal>.poll-label input{font-weight:400}.poll-create-modal .poll-modal-heading{background:radial-gradient(circle at 88% 0%,rgba(129,140,248,.3),transparent 36%),linear-gradient(135deg,#e9edff,#f5edff 58%,#e9f7ff)}.poll-option-field input:focus{border:0;box-shadow:none;outline:none}.poll-create-modal .poll-modal-heading{position:relative;margin:0 0 22px;padding:27px 27px 22px;border:1px solid rgba(99,102,241,.18);border-bottom-color:#6366f124;border-radius:21px 21px 0 0;background:radial-gradient(ellipse at 88% 8%,rgba(124,58,237,.22),transparent 38%),linear-gradient(115deg,#e4eaff,#f8faff 52%,#eee8ff);box-shadow:0 12px 32px #4f46e51a}.poll-create-modal .poll-modal-heading h2{color:#25245a}.poll-create-modal .poll-modal-heading .polls-eyebrow{color:#5145bd}.poll-create-modal .poll-modal-heading{position:relative;margin:0 0 22px;padding:25px 27px 23px;align-items:flex-start;border:0;border-bottom:1px solid rgba(165,180,252,.28);border-radius:0;overflow:hidden;background:radial-gradient(circle at 93% 0%,rgba(34,211,238,.32),transparent 28%),radial-gradient(circle at 0% 100%,rgba(129,140,248,.24),transparent 38%),linear-gradient(125deg,#111827,#312e81 58%,#4338ca);box-shadow:none}.poll-create-modal .poll-modal-heading h2{margin:10px 0 0;color:#fff;font-size:25px;letter-spacing:-.045em}.poll-create-modal .poll-modal-heading .polls-eyebrow{color:#a5f3fc}@media(max-width:600px){.poll-create-modal .poll-modal-heading{padding:21px 19px 19px}.poll-create-modal .poll-modal-heading h2{font-size:22px}}.poll-create-modal{scrollbar-gutter:auto}.school-resources-page{width:100%;padding:24px 12px 48px}.school-resources-heading{position:relative;isolation:isolate;display:flex;min-height:190px;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px;overflow:hidden;padding:clamp(22px,3vw,30px);border:1px solid rgba(165,180,252,.2);border-radius:26px;background:radial-gradient(circle at 80% 18%,rgba(129,140,248,.42),transparent 28%),radial-gradient(circle at 98% 100%,rgba(45,212,191,.2),transparent 32%),linear-gradient(122deg,#111827,#24245f 55%,#3730a3);box-shadow:0 20px 50px #1e293b33;color:#fff}.school-resources-heading:after{position:absolute;z-index:-1;top:-150px;right:9%;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 32px #ffffff09,0 0 0 66px #ffffff06;content:""}.school-resources-heading>div,.school-resources-heading>button{position:relative;z-index:1}.school-resources-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#c4b5fd;font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.school-resources-eyebrow:before{width:7px;height:7px;border-radius:50%;background:#5eead4;box-shadow:0 0 14px #5eead4cc;content:""}.school-resources-heading h1{margin:11px 0 9px;color:#fff;font-size:clamp(28px,3.5vw,40px);font-weight:760;letter-spacing:-.055em;line-height:1.08}.school-resources-heading p,.school-resource-form-heading p{margin:0;color:#cbd5e1;font-size:13px;line-height:1.65}.school-resource-form,.school-resource-list{margin-bottom:22px;padding:22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:0 8px 25px #0f172a0a}.school-resource-form{margin:0}.school-resource-modal-overlay{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a94}.school-resource-modal{width:min(680px,100%);max-height:min(90vh,760px);overflow-y:auto;border-radius:18px;background:var(--color-surface);box-shadow:0 24px 70px #0f172a40}.school-resource-modal .school-resource-form{box-shadow:none}.school-resource-form-heading,.school-resource-list-heading{display:flex;justify-content:space-between;gap:14px}.school-resource-form-heading{align-items:flex-start;margin:-22px -22px 20px;padding:22px;border-radius:18px 18px 0 0;background:radial-gradient(circle at 92% 0,rgba(129,140,248,.32),transparent 34%),linear-gradient(125deg,#312e81,#4f46e5 58%,#7c3aed);color:#fff}.school-resource-list-heading{align-items:center;flex-wrap:wrap;margin-bottom:18px}.school-resource-form-heading h2,.school-resource-list-heading h2{margin:4px 0 0;font-size:21px;letter-spacing:-.025em}.school-resource-list-heading span{color:var(--color-text-muted);font-size:12px}.school-resource-list-title{display:flex;align-items:center;gap:10px}.school-resource-list-title>span{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;padding:0 8px;border:1px solid #e0e7ff;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:800}.school-resource-list-tools{display:flex;align-items:center;gap:10px}.school-resource-search{display:flex;width:min(250px,38vw);height:38px;align-items:center;gap:8px;padding:0 11px;border:1px solid #dbe3ef;border-radius:10px;background:#fff;color:#7b8798;transition:border-color .18s ease,box-shadow .18s ease}.school-resource-search:focus-within{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11f}.school-resource-search svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.school-resource-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#334155;font:inherit;font-size:12px}.school-resource-search input::placeholder{color:#94a3b8}.school-resource-view-switch{display:inline-flex;gap:3px;padding:4px;border:1px solid #e2e8f0;border-radius:11px;background:#f8fafc}.school-resource-view-switch button{padding:7px 11px;border:0;border-radius:8px;background:transparent;color:#64748b;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.school-resource-view-switch button[aria-pressed=true]{background:#fff;color:#4338ca;box-shadow:0 1px 4px #0f172a1f}.school-resource-table-scroll{overflow-x:auto;border:1px solid #dbe5f3;border-radius:18px;background:#fff;box-shadow:0 10px 26px #0f172a0d;-webkit-overflow-scrolling:touch}.school-resource-table{width:100%;min-width:680px;border-collapse:collapse;text-align:left}.school-resource-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.school-resource-table th{padding:14px 18px;background:transparent!important;color:#fff;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}.school-resource-table th:first-child{border-top-left-radius:13px}.school-resource-table th:last-child{border-top-right-radius:13px}.school-resource-table th[aria-sort]{transition:background .18s ease}.school-resource-table th[aria-sort]:hover{background:#ffffff26!important}.school-resource-table th button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;font:inherit;text-align:left;text-transform:inherit}.school-resource-table th button span{color:#e0e7ff;font-size:14px}.school-resource-table td{padding:14px 18px;border-top:1px solid #edf2f7;color:#64748b;font-size:13px;vertical-align:middle}.school-resource-table tbody tr:hover td{background:#6366f10b}.school-resource-table-name{color:#172033;font-weight:750}.school-resource-table-description{max-width:320px;color:#64748b}.school-resource-table-actions{display:flex;align-items:center;gap:7px}.school-resources-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:12px 14px 12px 17px;border:1px solid #e6ebf3;border-radius:13px;background:#fff;box-shadow:0 2px 5px #192a4606,0 10px 24px #192a4609;color:#718096;font-size:12px}.school-resources-pagination-summary{display:flex;min-width:0;align-items:center;gap:10px}.school-resources-pagination-summary strong{color:#26364d;font-weight:700}.school-resources-pagination-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#5c82db;box-shadow:0 0 0 3px #edf2ff}.school-resources-pagination-controls,.school-resources-page-numbers{display:flex;align-items:center;gap:4px}.school-resources-pagination-controls button,.school-resources-page-numbers button{display:grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:9px;background:#fff;color:#64748b;cursor:pointer;font:inherit;font-size:12px;transition:border-color .15s ease,background .15s ease,color .15s ease}.school-resources-pagination-controls button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.school-resources-pagination-controls button:not(:disabled):hover,.school-resources-page-numbers button:not(.is-current):hover{border-color:#d9e4fa;background:#f2f6ff;color:#345fb4}.school-resources-pagination-controls button:disabled{color:#c3cbd7;cursor:not-allowed}.school-resources-page-numbers button.is-current{border-color:#315fbd;border-radius:50%;background:#315fbd;color:#fff;box-shadow:0 3px 8px #315fbd3d}.school-resources-page-ellipsis{width:19px;color:#98a4b5;text-align:center}.school-resource-form-title-group{min-width:0}.school-resource-modal-eyebrow{color:#e0e7ffdb;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.school-resource-form-heading h2{margin:5px 0 0;color:#fff;font-size:21px;line-height:1.25}.school-resource-form-heading .school-resource-security-note{display:flex;align-items:center;gap:7px;max-width:100%;margin:8px 0 0;color:#eef2ffe0;font-size:12px;line-height:1.5}.school-resource-security-note svg{width:16px;height:16px;flex:0 0 auto;stroke:#a5f3fc;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.school-resource-form-heading .modal-close-btn.modal-close-btn--contained{border-color:#ffffff47;color:#fff;background:#ffffff1f}.school-resource-form-heading .modal-close-btn.modal-close-btn--contained:hover{border-color:#ffffff6b;color:#fff;background:#fff3}.school-resource-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:16px}.school-resource-form-grid label{display:flex;flex-direction:column;gap:7px;min-width:0}.school-resource-form-grid label>span{display:flex;align-items:center;gap:3px;font-size:14px;font-weight:700}.school-resource-form-grid small{color:var(--color-text-muted);font-size:11px;font-weight:500}.school-resource-form-grid .school-resource-required{color:#dc2626;font-size:15px;font-weight:800;line-height:1}.school-resource-form-grid .school-resource-character-count{margin-left:auto}.school-resource-form-grid input,.school-resource-form-grid select,.school-resource-form-grid textarea{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-background, #fff);color:var(--color-text);font:inherit;font-size:13px}.school-resource-form-grid select{padding-right:44px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236d7690' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:14px}.school-resource-form-grid textarea{resize:vertical}.school-resource-form-grid input:focus,.school-resource-form-grid select:focus,.school-resource-form-grid textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 18%,transparent)}.school-resource-description-field{grid-column:1 / -1}.school-resource-form-error{color:#b91c1c;font-size:13px}.school-resource-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.school-resource-card{position:relative;display:flex;min-width:0;min-height:300px;flex-direction:column;align-items:stretch;overflow:hidden;padding:22px;border:1px solid #dbe5f3;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 12px 32px #64748b18;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.school-resource-card:after{position:absolute;top:-48px;right:-38px;width:145px;height:145px;border-radius:50%;background:#c7d2fe55;content:""}.school-resource-card:hover{transform:translateY(-3px);border-color:#6366f14d;box-shadow:0 16px 32px #0f172a1a}.school-resource-card-copy{position:relative;z-index:1;margin:0 0 16px}.school-resource-name-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.school-resource-card h2{min-width:0;margin:7px 0 4px;overflow:hidden;color:#172033;font-size:22px;letter-spacing:-.05em;text-overflow:ellipsis;white-space:nowrap}.school-resource-grade-pill{position:relative;z-index:1;display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;background:#e0e7ff;color:#4338ca;font-size:10px;font-weight:800;white-space:nowrap}.school-resource-grade-pill i,.school-resource-card-footer>span>b{display:block;width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor}.school-resource-card .school-resource-subline{margin:0;color:var(--color-text-muted);font-size:11px}.school-resource-card-details{position:relative;z-index:1;display:flex;min-height:74px;flex-direction:column;gap:9px;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;color:#475569;font-size:13px;font-weight:600}.school-resource-card-details span{display:flex;align-items:flex-start;gap:8px}.school-resource-card-details .school-resource-card-subject{display:inline-flex;width:fit-content;align-items:center;padding:6px 11px;border:1px solid #c7d2fe;border-radius:999px;background:linear-gradient(135deg,#eef2ff,#f5f3ff);box-shadow:0 2px 6px #4f46e514;color:#4338ca;font-size:12px;font-weight:750;line-height:1.2}.school-resource-card-details .school-resource-card-description{display:block;overflow-wrap:anywhere;font-weight:500;line-height:1.45;white-space:pre-wrap}.school-resource-pdf-link{display:block;overflow-wrap:anywhere;color:#4f46e5;font-size:11px;font-weight:600;line-height:1.4;text-decoration:underline;text-decoration-color:#4f46e559;text-underline-offset:2px}.school-resource-pdf-link:hover{color:#3730a3;text-decoration-color:currentColor}.school-resource-card-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px;color:var(--color-text-muted);font-size:10px;font-weight:700}.school-resource-card-footer>span{display:inline-flex;align-items:center;gap:6px}.school-resource-footer-link{min-width:0;overflow-wrap:anywhere;color:#4f46e5;font-size:10px;font-weight:700;line-height:1.4;text-decoration:underline;text-decoration-color:#4f46e559;text-underline-offset:2px}.school-resource-footer-link:hover{color:#3730a3;text-decoration-color:currentColor}.school-resource-card-actions{display:flex;align-items:center;gap:7px}.school-resource-download{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:9px;background:#0e7490;color:#fff;font-size:12px;font-weight:800;text-decoration:none}.school-resource-download:hover{background:#155e75}.school-resource-download span{font-size:16px}.school-resource-empty{margin:0;padding:20px 4px;color:var(--color-text-muted);font-size:13px}@media(max-width:640px){.school-resources-page{padding:20px 8px 36px}.school-resources-heading{min-height:0;align-items:stretch;flex-direction:column;gap:20px;padding:24px 17px;border-radius:21px}.school-resource-form,.school-resource-list{padding:16px}.school-resource-modal-overlay{padding:12px}.school-resource-form-heading{margin:-16px -16px 18px;padding:18px 16px}.school-resource-form-heading h2{font-size:20px}.school-resource-form-grid{grid-template-columns:1fr}.school-resource-description-field{grid-column:auto}.school-resource-cards{grid-template-columns:1fr}.school-resource-card{min-height:260px}.school-resource-list-tools{width:100%;justify-content:space-between}.school-resource-search{width:min(100%,240px);flex:1 1 auto}.school-resources-pagination{align-items:center;gap:6px;padding:9px 8px}.school-resources-pagination-summary{gap:7px;font-size:10px}.school-resources-pagination-controls,.school-resources-page-numbers{gap:1px}.school-resources-pagination-controls button,.school-resources-page-numbers button{width:27px;height:28px}}@media(min-width:641px)and (max-width:900px){.school-resource-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.attendance-calendar{padding:24px;overflow:hidden}.attendance-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.attendance-calendar-eyebrow{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.attendance-calendar h2{margin:5px 0 0;color:var(--color-text-primary);font-size:22px;letter-spacing:-.04em}.attendance-calendar-actions{display:flex;align-items:center;gap:8px}.calendar-nav-button,.calendar-today-button{height:36px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary);font-weight:700;cursor:pointer}.calendar-nav-button{width:36px;font-size:23px;line-height:1}.calendar-today-button{padding:0 13px;font-size:12px}.calendar-nav-button:disabled,.calendar-today-button:disabled{cursor:not-allowed;opacity:.4}.attendance-calendar-weekdays,.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:76px;gap:8px}.attendance-calendar-weekdays{margin-bottom:8px;color:var(--color-text-muted);font-size:11px;font-weight:800;text-align:center}.calendar-day,.calendar-empty{width:100%;height:100%}.calendar-day-cell{display:grid;place-items:stretch;width:100%;height:100%;min-width:0;cursor:pointer}.calendar-day-cell.is-disabled{cursor:not-allowed}.calendar-day{position:relative;display:grid;align-self:stretch;place-items:center;justify-content:center;justify-self:stretch;min-height:0;min-width:0;margin:0;box-sizing:border-box;padding:12px 8px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text-primary);font-size:15px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.calendar-day>span{display:grid;place-items:center;line-height:1}.calendar-day:hover:not(:disabled){border-color:var(--color-primary);box-shadow:0 6px 16px #4f46e51f;transform:translateY(-1px)}.calendar-day:disabled{cursor:not-allowed;opacity:.45}.calendar-day:focus{outline:none}.calendar-day:focus-visible{outline:2px solid rgba(99,102,241,.72);outline-offset:-3px}.calendar-day.is-today>span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:var(--color-primary);color:#fff}.calendar-day.is-selected{width:100%;height:100%;border-color:transparent;background:linear-gradient(145deg,#7568ec,#594bd0);color:#fff;box-shadow:0 8px 18px #4f46e547,inset 0 1px #ffffff3d}.calendar-day.is-selected>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.42);border-radius:10px;background:#ffffff29;color:inherit;box-shadow:inset 0 1px #fff3;font-size:inherit}.calendar-status-dot{position:absolute;left:50%;bottom:3px;width:9px;height:9px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b9811f;transform:translate(-50%)}.calendar-status-dot.absent{background:#ef4444;box-shadow:0 0 0 4px #ef44441f}.attendance-calendar-loading{display:grid;place-items:center;gap:12px;min-height:310px;color:var(--color-text-muted);font-size:13px}.attendance-calendar-loading .spinner{width:26px;height:26px}@media(max-width:600px){.attendance-calendar{padding:16px}.attendance-calendar-toolbar{align-items:flex-start;flex-direction:column}.attendance-calendar-actions{width:100%;justify-content:space-between}.attendance-calendar-weekdays,.attendance-calendar-grid{gap:4px}.attendance-calendar-grid{grid-auto-rows:54px}.calendar-day,.calendar-empty,.calendar-day-cell{width:100%;height:100%}.calendar-day.is-selected>span{width:30px;height:30px;border-radius:9px}.calendar-day{padding:8px 3px;border-radius:10px;font-size:12px}.calendar-status-dot{bottom:7px;width:7px;height:7px}.attendance-calendar h2{font-size:20px}}.attendance-dialog-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.attendance-dialog{width:min(560px,100%);max-height:min(680px,90vh);overflow:auto;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:0 24px 70px #0f172a40}.attendance-dialog-header{display:flex;justify-content:space-between;gap:20px;padding:24px;border-bottom:1px solid var(--color-border)}.attendance-dialog-header h2{margin:5px 0 4px;font-size:21px;letter-spacing:-.03em}.attendance-dialog-header p{margin:0;color:var(--color-text-muted);font-size:12px}.attendance-dialog-close{width:34px;height:34px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg);color:var(--color-text-primary);font-size:24px;line-height:1;cursor:pointer}.attendance-dialog-list{padding:8px 24px 18px}.attendance-dialog-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--color-border)}.attendance-dialog-row:last-child{border-bottom:0}.attendance-dialog-avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:#eef2ff;color:var(--color-primary);font-weight:800}.attendance-dialog-student{display:grid;flex:1;gap:3px;min-width:0}.attendance-dialog-student strong{overflow:hidden;color:var(--color-text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.attendance-dialog-student small{color:var(--color-text-muted);font-size:11px}.attendance-dialog-status{padding:5px 10px;border-radius:999px;font-size:10px;font-weight:800;text-transform:uppercase}.attendance-dialog-status.present{background:#ecfdf5;color:#047857}.attendance-dialog-status.absent{background:#fff1f2;color:#be123c}.attendance-dialog-status.not-marked{background:var(--color-bg);color:var(--color-text-muted)}.attendance-dialog-empty{padding:42px 24px;color:var(--color-text-muted);font-size:13px;text-align:center}.attendance-dialog{overflow:hidden}.attendance-dialog-list{max-height:440px;overflow-y:auto}.attendance-dialog-header-actions{display:flex;align-items:center;gap:8px}.attendance-edit-button{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(99,102,241,.22);border-radius:10px;background:#6366f114;color:var(--color-primary-dark);cursor:pointer}.attendance-edit-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.attendance-edit-options{display:flex;gap:5px}.attendance-edit-options button{padding:6px 8px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-bg);color:var(--color-text-muted);font-size:10px;font-weight:800;cursor:pointer}.attendance-edit-options button.active-present{border-color:#10b981;background:#ecfdf5;color:#047857}.attendance-edit-options button.active-absent{border-color:#ef4444;background:#fff1f2;color:#be123c}.attendance-dialog-status{display:inline-flex;align-items:center;justify-content:center;min-width:74px;padding:7px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}.attendance-dialog-status.present{background:#dcfce7;color:#047857}.attendance-dialog-status.absent{background:#ffe4e6;color:#be123c}.attendance-dialog-status.not-marked{background:#f1f5f9;color:#64748b}.attendance-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:15px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.attendance-dialog-error{margin-right:auto;color:#be123c;font-size:11px}@media(max-width:600px){.attendance-dialog-list{max-height:52vh}.attendance-edit-options{flex-direction:column}.attendance-dialog-footer{padding:14px 16px}.attendance-dialog-footer .btn{padding:9px 11px;font-size:12px}}.attendance-hero{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;min-height:148px;overflow:hidden;margin-bottom:18px;padding:22px 22px 32px;border:1px solid rgba(99,102,241,.18);border-radius:24px;background:linear-gradient(120deg,#fff,#f5f3ff 54%,#e0e7ff);box-shadow:0 18px 40px #4f46e51a}.attendance-hero-content,.attendance-hero-control{position:relative;z-index:1}.attendance-hero-content{max-width:540px}.attendance-hero-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--color-primary-dark);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.attendance-hero-kicker-dot{width:7px;height:7px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 0 5px #6366f121}.attendance-hero h1{margin:13px 0 8px;color:var(--color-text-primary);font-size:clamp(23px,2.5vw,32px);letter-spacing:-.055em}.attendance-hero p{margin:0;color:var(--color-text-secondary);font-size:13px;line-height:1.6}.attendance-hero-control{width:min(235px,100%);padding:14px;border:1px solid rgba(99,102,241,.16);border-radius:16px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffe6,0 10px 24px #4f46e514;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.attendance-hero-control label{display:block;margin-bottom:8px;color:var(--color-text-secondary);font-size:11px;font-weight:800;letter-spacing:.04em}.attendance-select-wrap{position:relative}.attendance-select-wrap select{width:100%;height:42px;padding:0 42px 0 13px!important;border:1px solid rgba(99,102,241,.2);border-radius:11px;background-color:#ffffffe6!important;color:var(--color-text-primary);font-size:13px}.attendance-hero-orb{position:absolute;border-radius:50%;pointer-events:none}.attendance-hero-orb-one{width:260px;height:260px;right:18%;top:-180px;background:#818cf81f}.attendance-hero-orb-two{width:180px;height:180px;right:-70px;bottom:-100px;background:#a78bfa1a}.attendance-dialog-backdrop{z-index:10000}@media(max-width:600px){.attendance-hero{align-items:stretch;flex-direction:column;min-height:0}.attendance-hero-control{width:100%}}[data-theme=dark] .attendance-hero{border-color:#818cf838;background:linear-gradient(120deg,#111827,#27245f 56%,#4338a5);box-shadow:0 18px 40px #312e812e}[data-theme=dark] .attendance-hero-kicker{color:#c4b5fd}[data-theme=dark] .attendance-hero-kicker-dot{background:#a5b4fc;box-shadow:0 0 0 5px #a5b4fc29}[data-theme=dark] .attendance-hero h1{color:#fff}[data-theme=dark] .attendance-hero p{color:#cbd5e1}[data-theme=dark] .attendance-hero-control{border-color:#ffffff29;background:#ffffff1a;box-shadow:inset 0 1px #ffffff1f}[data-theme=dark] .attendance-hero-control label{color:#e0e7ff}[data-theme=dark] .attendance-select-wrap select{border-color:#ffffff38;background:#0f172a70!important;color:#fff}.attendance-page select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:0;padding-right:42px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-position:right 14px center!important;background-repeat:no-repeat!important;background-size:14px!important}.attendance-filter-card{display:flex;align-items:center;gap:14px;margin-bottom:16px;padding:16px 20px}.attendance-filter-card label{color:var(--color-text-secondary);font-size:12px;font-weight:800}.attendance-filter-card select{min-width:220px;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;background-color:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:13px}.attendance-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.attendance-filter-grid>div{display:grid;gap:7px}.attendance-legend{display:flex;gap:18px;flex-wrap:wrap;margin:4px 0 12px;color:var(--color-text-muted);font-size:11px;font-weight:700}.attendance-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%;background:#10b981}.attendance-legend i.absent{background:#ef4444}.attendance-state-card{padding:40px;text-align:center;color:var(--color-text-muted)}.attendance-error-state{color:#be123c;background:#fff7f7}@media(max-width:600px){.attendance-filter-card{align-items:stretch;flex-direction:column}.attendance-filter-card select{min-width:0;width:100%}.attendance-filter-grid{grid-template-columns:1fr}}.mark-attendance-page .attendance-selector-grid{grid-template-columns:max-content max-content!important;justify-content:start}.mark-attendance-page .attendance-selector-grid .field{width:220px}.mark-attendance-page .attendance-selector-grid .field:first-child{width:280px}.mark-attendance-page .attendance-selector-grid select,.mark-attendance-page .attendance-selector-grid input{width:100%}@media(max-width:600px){.mark-attendance-page .attendance-selector-grid{grid-template-columns:1fr!important}.mark-attendance-page .attendance-selector-grid .field,.mark-attendance-page .attendance-selector-grid .field:first-child{width:100%}}.student-attendance-page .attendance-filter-grid{grid-template-columns:max-content max-content!important;justify-content:start}.student-attendance-page .attendance-filter-grid>div{width:max-content}.student-attendance-page .attendance-filter-grid select{width:260px}@media(max-width:600px){.student-attendance-page .attendance-filter-grid{grid-template-columns:1fr!important}.student-attendance-page .attendance-filter-grid>div,.student-attendance-page .attendance-filter-grid select{width:100%}}.academic-analytics-page{max-width:1420px}.academic-analytics-hero{position:relative;display:flex;min-height:150px;align-items:center;justify-content:space-between;overflow:hidden;padding:22px 44px;border:1px solid #818cf855;border-radius:28px;color:#fff;background:radial-gradient(circle at 85% 16%,#67e8f940,transparent 24%),radial-gradient(circle at 18% 105%,#c084fc30,transparent 30%),linear-gradient(118deg,#172554,#312e81 57%,#155e75);box-shadow:0 24px 60px #312e812b}.academic-analytics-hero:after{position:absolute;right:31%;bottom:-130px;width:400px;height:260px;border:1px solid #ffffff17;border-radius:50%;content:"";transform:rotate(-16deg)}.academic-analytics-hero-copy{position:relative;z-index:1;max-width:700px}.academic-analytics-eyebrow{display:flex;align-items:center;gap:8px;color:#a5f3fc;font-size:13px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.academic-analytics-eyebrow i,.academic-analytics-hero-meta b{display:block;width:7px;height:7px;border-radius:50%;background:#67e8f9;box-shadow:0 0 0 5px #67e8f91f}.academic-analytics-hero h1{margin:9px 0 7px;font-size:clamp(28px,3vw,36px);letter-spacing:-.06em;line-height:1}.academic-analytics-hero p{max-width:610px;margin:0;color:#c7d2fe;font-size:13px;line-height:1.7}.academic-analytics-hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:20px;color:#ddd6fe;font-size:13px;font-weight:750}.academic-analytics-hero-meta span{display:flex;align-items:center;gap:8px}.academic-analytics-hero-meta b{width:5px;height:5px;box-shadow:none;background:#a5f3fc}.academic-analytics-orbit{position:relative;z-index:1;width:150px;height:150px;margin-right:22px;flex:0 0 auto}.academic-analytics-orbit span{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid #a5b4fc57;border-radius:50%;transform:rotate(-25deg) skew(-8deg)}.academic-analytics-orbit span+span{top:28px;right:-5px;bottom:28px;left:-5px;border-color:#67e8f952;transform:rotate(48deg) skew(7deg)}.academic-analytics-orbit strong{position:absolute;top:52px;right:52px;bottom:52px;left:52px;display:grid;place-items:center;border:1px solid #ffffff75;border-radius:20px;color:#67e8f9;background:#ffffff20;box-shadow:0 0 45px #67e8f940;font-size:32px}.academic-analytics-orbit em{position:absolute;bottom:13px;left:5px;color:#c4b5fd;font-size:13px}.academic-analytics-filter-card,.academic-analytics-panel,.academic-analytics-table-panel,.academic-analytics-state{border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:0 12px 34px #0f172a0c}.academic-analytics-filter-card{margin-top:20px;padding:19px 25px 20px}.academic-analytics-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}.academic-analytics-filter-grid.student{grid-template-columns:minmax(220px,1fr)}.academic-analytics-field{display:grid;gap:8px}.academic-analytics-field>span{color:var(--color-text-secondary);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.academic-analytics-field select.select{width:100%;min-height:43px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:10px;padding:11px 36px 11px 14px;outline:none;color:var(--color-text-primary);background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;font:inherit;font-size:14px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .18s,box-shadow .18s}.academic-analytics-field select.select:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11c}.academic-analytics-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:20px}.academic-analytics-metric{display:flex;min-height:110px;align-items:center;gap:14px;padding:20px;border:1px solid var(--metric-border);border-radius:19px;background:linear-gradient(145deg,var(--metric-bg),#fff);box-shadow:0 10px 27px #0f172a0b}.academic-analytics-metric-icon{display:grid;width:39px;height:39px;flex:0 0 auto;place-items:center;border-radius:13px;color:#fff;background:var(--metric-accent);font-size:20px}.academic-analytics-metric span{display:block;color:var(--color-text-muted);font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.academic-analytics-metric strong{display:block;margin:5px 0 3px;color:var(--color-text-primary);font-size:25px;letter-spacing:-.05em}.academic-analytics-metric small{color:var(--color-text-muted);font-size:13px}.academic-analytics-metric.indigo{--metric-accent: #4f46e5;--metric-bg: #eef2ff;--metric-border: #c7d2fe}.academic-analytics-metric.cyan{--metric-accent: #0891b2;--metric-bg: #ecfeff;--metric-border: #a5f3fc}.academic-analytics-metric.violet{--metric-accent: #7c3aed;--metric-bg: #f5f3ff;--metric-border: #ddd6fe}.academic-analytics-metric.amber{--metric-accent: #d97706;--metric-bg: #fffbeb;--metric-border: #fde68a}.academic-analytics-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:20px}.academic-analytics-chart-grid>*{min-width:0}.academic-analytics-panel{display:flex;min-height:360px;flex-direction:column;padding:28px}.academic-analytics-panel-heading,.academic-analytics-table-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.academic-analytics-panel-heading h2,.academic-analytics-table-heading>div{min-width:0}.academic-analytics-panel h2,.academic-analytics-table-panel h2{margin:6px 0 0;color:var(--color-text-primary);font-size:17px;letter-spacing:-.04em}.academic-analytics-panel-badge,.academic-analytics-table-count{display:inline-flex;min-height:29px;align-items:center;box-sizing:border-box;gap:7px;padding:5px 10px;border:1px solid #d9cdfa;border-radius:999px;color:#5b3fa8;background:#f1edff;box-shadow:inset 0 1px #fff,0 5px 14px #8064c51c;font-size:13px;font-weight:600;letter-spacing:.01em;line-height:1.2;white-space:nowrap}.academic-analytics-panel-badge:before,.academic-analytics-table-count:before{width:6px;height:6px;border-radius:50%;background:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61f;content:""}.academic-analytics-table-count{border-color:#b9e4dd;color:#17665e;background:#e8f8f6}.academic-analytics-table-count:before{background:#22a08a;box-shadow:0 0 0 3px #22a08a1f}.academic-analytics-distribution{display:grid;flex:1;align-content:space-evenly;gap:20px;margin-top:22px}.academic-analytics-distribution-row{display:grid;grid-template-columns:48px 1fr 25px;align-items:center;gap:12px;color:var(--color-text-secondary);font-size:13px}.academic-analytics-distribution-row strong{color:var(--color-text-primary)}.academic-analytics-distribution-row span{color:var(--color-text-muted);text-align:right}.academic-analytics-bar{height:9px;overflow:hidden;border-radius:999px;background:#e2e8f0}.academic-analytics-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#06b6d4)}.academic-analytics-trend-scroll{margin-top:19px;overflow-x:auto}.academic-analytics-trend-scroll svg{display:block;max-width:100%;width:100%;height:300px;overflow:visible}.academic-analytics-axis{stroke:#cbd5e1;stroke-width:1}.academic-analytics-trend-scroll text{fill:#94a3b8;font-size:13px}.academic-analytics-trend-scroll .academic-analytics-value{fill:#4338ca;font-weight:800}.academic-analytics-point{fill:#fff;stroke:#4f46e5;stroke-width:4}.academic-analytics-table-panel{margin-top:20px;padding:26px 27px 9px}.academic-analytics-table-heading{margin-bottom:15px}.academic-analytics-table-heading h2{margin-bottom:2px}.academic-analytics-table-heading p{margin:3px 0 0;color:var(--color-text-muted);font-size:13px;line-height:1.5}.academic-analytics-table-panel .table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:14px}.academic-analytics-table-panel table{min-width:700px}.academic-analytics-table-panel th{color:#94a3b8;font-size:13px;letter-spacing:.08em;text-transform:uppercase}.academic-analytics-table-panel .table-wrap thead,.academic-analytics-table-panel .table-wrap thead tr{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important}.academic-analytics-table-panel .table-wrap thead th{border-bottom-color:#c7d2fe;color:#fff!important;background:transparent!important}.academic-analytics-table-panel td{color:var(--color-text-secondary);font-size:15px}.academic-analytics-table-panel td:not(:first-child):not(:nth-child(4)){color:#000;font-weight:500}.academic-analytics-table-panel tbody tr:last-child td{border-bottom:0}.academic-analytics-subject-name{display:inline-flex;align-items:center;gap:8px;color:var(--color-text-primary);font-weight:800}.academic-analytics-subject-name i{width:7px;height:7px;border-radius:50%;background:#6366f1;box-shadow:0 0 0 4px #6366f11c}.academic-analytics-score{color:#4338ca}.academic-analytics-empty-copy{margin-top:35px;color:var(--color-text-muted);font-size:13px;line-height:1.6}.academic-analytics-state{display:grid;place-items:center;margin-top:20px;padding:75px 25px;text-align:center}.academic-analytics-state h2{margin:17px 0 7px;color:var(--color-text-primary);font-size:20px;letter-spacing:-.04em}.academic-analytics-state p{max-width:390px;margin:0;color:var(--color-text-muted);font-size:13px;line-height:1.6}.academic-analytics-empty-icon{display:grid;width:62px;height:62px;place-items:center;border-radius:20px;color:#4f46e5;background:#eef2ff;font-size:34px}.academic-analytics-spinner{width:30px;height:30px;border:3px solid #e0e7ff;border-top-color:#4f46e5;border-radius:50%;animation:academic-analytics-spin .8s linear infinite}@keyframes academic-analytics-spin{to{transform:rotate(360deg)}}@media(max-width:1050px){.academic-analytics-filter-grid{grid-template-columns:repeat(3,1fr)}.academic-analytics-metrics{grid-template-columns:repeat(2,1fr)}.academic-analytics-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.academic-analytics-hero{min-height:0;padding:18px 25px}.academic-analytics-orbit{display:none}.academic-analytics-filter-grid,.academic-analytics-filter-grid.student{grid-template-columns:1fr}.academic-analytics-filter-card{padding-right:18px;padding-left:18px}.academic-analytics-metric{padding:15px}.academic-analytics-metric strong{font-size:21px}.academic-analytics-panel,.academic-analytics-table-panel{min-width:0;padding-right:19px;padding-left:19px}.academic-analytics-chart-grid{grid-template-columns:1fr}.academic-analytics-trend-scroll{width:100%;min-width:0}.academic-analytics-trend-scroll svg{height:auto;min-height:160px}.academic-analytics-table-heading{flex-direction:column;gap:12px}}@media(max-width:430px){.academic-analytics-metrics{grid-template-columns:1fr}.academic-analytics-hero h1{font-size:34px}.academic-analytics-hero-meta{display:grid;gap:10px}}.academic-years-page{max-width:1260px;padding-left:8px;padding-right:8px}.academic-years-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 32px;margin-bottom:30px;border:1px solid #c7d2fe;border-radius:26px;background:radial-gradient(circle at 88% 10%,#a5b4fc80,transparent 32%),linear-gradient(135deg,#eef2ff,#f5f3ff 54%,#ecfeff);box-shadow:0 18px 45px #6366f11c}.academic-year-kicker{display:block;color:#4f46e5;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.academic-years-hero h1{margin:8px 0;color:#172033;font-size:clamp(24px,3vw,32px);font-weight:760;letter-spacing:-.045em;line-height:1.1}.academic-years-hero p{max-width:620px;margin:0;color:#64748b;font-size:13px;line-height:1.65}.academic-year-create-button{display:inline-flex;align-items:center;gap:8px;min-width:140px;justify-content:center;border-radius:12px;padding:12px 18px;box-shadow:0 9px 22px #6366f13d}.academic-year-create-button span{font-size:20px;font-weight:400;line-height:1}.academic-years-section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:15px}.academic-years-section-heading h2{margin:0;color:var(--color-text-primary);font-size:19px;letter-spacing:-.03em}.academic-years-section-heading p{margin:5px 0 0;color:var(--color-text-muted);font-size:12px}.academic-years-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.academic-year-card{position:relative;display:flex;min-height:285px;flex-direction:column;overflow:hidden;padding:22px;border:1px solid #dbe5f3;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 12px 32px #64748b18;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.academic-year-card:after{position:absolute;top:-48px;right:-38px;width:145px;height:145px;border-radius:50%;background:#c7d2fe55;content:""}.academic-year-card:hover{border-color:#a5b4fc;box-shadow:0 18px 40px #6366f12b;transform:translateY(-3px)}.academic-year-card-topline,.academic-year-card-footer,.academic-year-card-dates{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.academic-year-icon,.academic-year-modal-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c7d2fe;border-radius:14px;color:#4f46e5;background:#eef2ff}.academic-year-icon svg,.academic-year-modal-icon svg,.academic-years-empty-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.academic-year-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800}.academic-year-status i,.academic-year-card-footer b{display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.academic-year-status.is-active{color:#047857;background:#d1fae5}.academic-year-status.is-inactive{color:#64748b;background:#f1f5f9}.academic-year-card-copy{position:relative;z-index:1;margin:25px 0 21px}.academic-year-card-copy .academic-year-kicker{color:#818cf8;font-size:9px}.academic-year-card-copy h2{margin:7px 0 6px;color:#172033;font-size:27px;letter-spacing:-.055em}.academic-year-card-copy p{margin:0;color:#64748b;font-size:11px;line-height:1.55}.academic-year-card-dates{align-items:flex-end;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.academic-year-card-dates div:not(.academic-year-date-arrow){display:grid;gap:5px}.academic-year-card-dates span{color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.academic-year-card-dates strong{color:#334155;font-size:12px}.academic-year-date-arrow{color:#818cf8;font-size:18px}.academic-year-card-footer{margin-top:auto;padding-top:16px;color:#94a3b8;font-size:10px}.academic-year-card-footer span:first-child{display:inline-flex;align-items:center;gap:6px}.academic-year-card-footer b{color:#818cf8}.academic-years-empty{display:grid;place-items:center;padding:68px 24px;border:1px dashed #cbd5e1;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbff);text-align:center}.academic-years-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:20px;color:#4f46e5;background:#eef2ff}.academic-years-empty h2{margin:0 0 7px;color:var(--color-text-primary);font-size:20px}.academic-years-empty p{max-width:380px;margin:0 0 20px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.academic-years-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.academic-years-loading div{height:285px;border-radius:22px;background:linear-gradient(100deg,#eef2f7,#fff,#eef2f7);background-size:200% 100%;animation:academic-year-shimmer 1.35s infinite}@keyframes academic-year-shimmer{to{background-position:-200% 0}}.academic-year-modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:academic-year-fade .18s ease}.academic-year-modal{width:min(100%,570px);max-height:min(720px,92vh);overflow:auto;border:1px solid #ffffffb8;border-radius:24px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a45;animation:academic-year-rise .22s ease}.academic-year-modal-header{display:flex;justify-content:space-between;gap:16px;padding:25px 26px 21px;border-bottom:1px solid var(--color-border)}.academic-year-modal-heading{display:flex;align-items:flex-start;gap:14px}.academic-year-modal-icon{flex:0 0 auto;color:#fff;border:0;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 8px 20px #6366f13d}.academic-year-modal-header h2{margin:5px 0;color:var(--color-text-primary);font-size:20px;letter-spacing:-.04em}.academic-year-modal-header p{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.5}.academic-year-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);font-size:23px;line-height:1;cursor:pointer}.academic-year-modal-close:hover{color:var(--color-text-primary);border-color:#a5b4fc}.academic-year-modal-body{display:grid;gap:19px;padding:25px 26px}.academic-year-field{display:grid;gap:8px}.academic-year-field>span{color:var(--color-text-primary);font-size:12px;font-weight:800}.academic-year-field>span b{color:#ef4444}.academic-year-field input{width:100%;min-height:45px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:12px;outline:0;padding:0 13px;color:var(--color-text-primary);background:var(--color-bg);font:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s}.academic-year-field input:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11f}.academic-year-field small{color:var(--color-text-muted);font-size:10px}.academic-year-date-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.academic-year-form-error{margin:-5px 0 0;padding:10px 12px;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:11px;font-weight:700}.academic-year-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px 23px;border-top:1px solid var(--color-border)}.academic-year-submit{display:inline-flex;align-items:center;gap:13px}.academic-year-submit span{font-size:17px}@keyframes academic-year-fade{0%{opacity:0}to{opacity:1}}@keyframes academic-year-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.academic-years-hero{align-items:stretch;flex-direction:column;padding:23px 20px;margin-bottom:24px}.academic-year-create-button{width:100%}.academic-years-grid,.academic-years-loading{grid-template-columns:1fr}.academic-year-modal-overlay{align-items:flex-end;padding:0}.academic-year-modal{max-height:94vh;border-radius:24px 24px 0 0}.academic-year-modal-header,.academic-year-modal-body{padding-left:20px;padding-right:20px}.academic-year-modal-footer{padding:15px 20px 20px}.academic-year-modal-footer button{flex:1}.academic-year-date-fields{grid-template-columns:1fr;gap:16px}}.academic-year-modal-footer .btn-secondary{border-color:#c7d2fe;color:#4f46e5;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.academic-year-modal-footer .btn-secondary:hover:not(:disabled),.academic-year-modal-footer .btn-secondary:focus-visible{border-color:#818cf8;box-shadow:0 6px 16px #6366f126;outline:none}.academic-year-card.is-clickable{cursor:pointer}.academic-year-card.is-clickable:focus-visible{border-color:#818cf8;outline:3px solid #818cf84d;outline-offset:3px}.academic-year-card-footer b.is-inactive,.academic-year-status.is-inactive i{color:#ef4444}.academic-year-card.is-inactive{border-color:#fecaca;background:linear-gradient(145deg,#fff,#fff7f7)}.academic-year-card.is-inactive:after{background:#fecaca55}.academic-year-card.is-inactive:hover{border-color:#fca5a5;box-shadow:0 18px 40px #ef444426}.academic-year-card.is-inactive .academic-year-icon{border-color:#fecaca;color:#dc2626;background:#fef2f2}.academic-year-status.is-inactive{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.academic-year-card.is-inactive .academic-year-card-footer span:last-child{color:#b91c1c;font-weight:750}.attendance-mark-page{padding-top:10px}.attendance-mark-page .attendance-roster-footer>span{font-size:14px;color:#000}.attendance-mark-page .attendance-roster-history-note{margin:12px 0 0;padding:10px 12px;border:1px solid #f3d29c;border-radius:10px;background:#fff8e8;color:#80520e;font-size:12px;line-height:1.5}.attendance-mark-page .attendance-mark-hero{padding-top:4px}.attendance-mark-page .attendance-mark-controls{grid-template-columns:repeat(4,minmax(0,1fr))}.attendance-mark-page .attendance-mark-controls select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236d7690' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:14px}.attendance-mark-controls{position:relative;overflow:hidden;border:1px solid rgba(99,102,241,.16);background:radial-gradient(circle at 100% 0,rgba(129,140,248,.2),transparent 34%),linear-gradient(135deg,#fff,#f8f8ff 52%,#f4f7ff);box-shadow:0 16px 36px #4338ca14}.attendance-mark-controls:before{position:absolute;top:0;right:0;left:0;height:2px;background:linear-gradient(90deg,#6366f1,#a855f7,#38bdf8);content:""}.attendance-mark-controls label{position:relative;gap:7px}.attendance-mark-page .attendance-mark-controls label span{color:#000}.attendance-mark-controls label span,.attendance-mark-date span{color:#6366f1;font-size:10px;font-weight:850;letter-spacing:.1em}.attendance-mark-controls select,.attendance-mark-date input{min-height:42px;border:1px solid #dfe2f3;border-radius:12px;background-color:#ffffffdb;color:#293457;font-size:13px;font-weight:650;box-shadow:0 4px 12px #4f46e50a;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.attendance-mark-controls select:hover,.attendance-mark-date input:hover{border-color:#a5b4fc;background-color:#fff}.attendance-mark-controls select:focus,.attendance-mark-date input:focus{border-color:#6366f1;background-color:#fff;box-shadow:0 0 0 4px #6366f11f,0 8px 18px #4f46e514;outline:none}.attendance-mark-date{display:grid;gap:7px;width:190px;padding:13px 15px 14px;border:1px solid rgba(99,102,241,.16);border-radius:16px;background:linear-gradient(145deg,#f5f3ff,#fff 70%);box-shadow:0 12px 26px #4f46e514}.attendance-mark-date input{width:100%;margin-top:0;padding:10px 12px}@media(max-width:900px){.attendance-mark-page .attendance-mark-controls{grid-template-columns:1fr}}.attendance-roster-actions button:first-of-type{border-radius:999px;border-color:#a9e3ca;background:#e8faf2;color:#159568}.attendance-roster-actions button:last-of-type{border-radius:999px;border-color:#f0b8bd;background:#fff0f1;color:#d95e66}.attendance-status-picker{display:inline-flex;align-items:center;gap:9px}.attendance-status-picker .attendance-toggle{position:relative;display:inline-flex;align-items:center;width:58px;height:30px;padding:3px;border:1px solid #f0b8bd;border-radius:999px;background:#fff0f1;color:#d95e66;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.attendance-status-picker .attendance-toggle.present{border-color:#a9e3ca;background:#e8faf2;color:#159568}.attendance-status-picker .attendance-toggle.unmarked{border-color:#d9d1b1;background:#fffaf0;color:#9b7b2d;border-style:dashed}.attendance-status-picker .attendance-toggle:hover,.attendance-status-picker .attendance-status-badge:hover{box-shadow:0 5px 14px #26314b1f}.attendance-toggle-knob{width:22px;height:22px;border-radius:50%;background:currentColor;box-shadow:0 2px 5px #26314b33;transition:transform .18s ease}.attendance-toggle.present .attendance-toggle-knob{transform:translate(27px)}.attendance-toggle-caption{position:absolute;right:8px;color:currentColor;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.attendance-toggle.present .attendance-toggle-caption{right:auto;left:7px}.attendance-status-picker .attendance-status-badge{min-width:78px;border:1px solid #f0b8bd;border-radius:999px;padding:7px 10px;background:#fff0f1;color:#d95e66;font-size:10px;font-weight:700;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.attendance-status-badge{text-transform:uppercase}.attendance-status-picker .attendance-status-badge.present{border-color:#a9e3ca;background:#e8faf2;color:#159568}.attendance-status-picker .attendance-status-badge.unmarked{border-color:#d9d1b1;background:#fffaf0;color:#9b7b2d;border-style:dashed}@media(max-width:620px){.attendance-mark-date{width:100%}.attendance-status-picker{margin-left:auto}}.attendance-mark-page .attendance-mark-hero{position:relative;isolation:isolate;align-items:center;min-height:224px;overflow:hidden;margin-bottom:18px;padding:30px 34px;border:1px solid rgba(103,89,232,.2);border-radius:24px;background:radial-gradient(circle at 78% 12%,rgba(157,151,255,.3),transparent 28%),radial-gradient(circle at 100% 100%,rgba(80,198,211,.16),transparent 32%),linear-gradient(118deg,#fff,#f6f5ff 56%,#eef8fa);box-shadow:0 22px 45px #4d44b01f}.attendance-mark-page .attendance-mark-hero:before{position:absolute;top:10px;right:10px;bottom:10px;left:10px;z-index:-1;border:1px solid rgba(103,89,232,.13);border-radius:18px;content:"";pointer-events:none}.attendance-mark-page .attendance-mark-hero:after{position:absolute;right:26%;bottom:-105px;width:310px;height:220px;border:1px solid rgba(103,89,232,.14);border-radius:50%;box-shadow:0 0 0 28px #6759e809,0 0 0 56px #6759e806;content:"";pointer-events:none;transform:rotate(-12deg)}.attendance-mark-hero-glow{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.attendance-mark-hero-glow-one{top:-84px;right:9%;width:190px;height:190px;background:#b1a9ff29;filter:blur(2px)}.attendance-mark-hero-glow-two{bottom:-90px;left:39%;width:170px;height:170px;background:#49d1da1a;filter:blur(3px)}.attendance-mark-hero-copy,.attendance-mark-hero-side{position:relative;z-index:1}.attendance-mark-hero-copy{max-width:650px}.attendance-mark-hero-kicker{display:flex;align-items:center;gap:9px}.attendance-mark-hero-kicker .attendance-eyebrow{margin:0;color:#6255d9}.attendance-mark-hero-kicker-icon{display:grid;place-items:center;width:19px;height:19px;border:1px solid rgba(103,89,232,.24);border-radius:6px;background:#6759e81a;color:#6255d9;font-size:11px;font-weight:900}.attendance-mark-hero-kicker-line{width:28px;height:1px;background:#6759e83d}.attendance-mark-hero-kicker-status{color:#7b8196;font-size:10px;font-weight:700;letter-spacing:.04em}.attendance-mark-page .attendance-mark-hero h1{max-width:none;margin:0;color:#1e2540;font-size:clamp(28px,3.5vw,40px);letter-spacing:-.065em;line-height:.98;white-space:nowrap}.attendance-mark-page .attendance-mark-hero h1 em{color:#6255d9;font-style:normal}.attendance-mark-page .attendance-mark-hero p.attendance-mark-hero-description{max-width:none;margin:0;color:#68718a;font-size:11px;padding-left:.5rem;font-weight:550;letter-spacing:.005em;line-height:1.5;white-space:nowrap}.attendance-mark-hero-proof{display:flex;align-items:center;gap:10px;margin-top:20px;color:#7b8498;font-size:10px;font-weight:650}.attendance-mark-hero-avatars{display:flex;padding-left:7px}.attendance-mark-hero-avatars i{display:grid;place-items:center;width:23px;height:23px;margin-left:-7px;border:2px solid #f6f5ff;border-radius:50%;background:#7770dc;color:#fff;font-size:7px;font-style:normal;font-weight:850}.attendance-mark-hero-avatars i:nth-child(2){background:#4bb9c3}.attendance-mark-hero-avatars i:nth-child(3){background:#6159a8}.attendance-mark-hero-side{display:grid;flex:0 0 206px;gap:9px;margin-left:26px;padding:15px;border:1px solid rgba(103,89,232,.17);border-radius:17px;background:#ffffffb8;box-shadow:inset 0 1px #ffffffe6,0 16px 28px #4f46e51a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.attendance-mark-hero-side-label{display:flex;align-items:center;gap:8px;color:#555f78;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.attendance-mark-hero-calendar-icon{color:#6255d9;font-size:14px}.attendance-mark-page .attendance-mark-date{width:auto;padding:0;border:0;background:transparent;box-shadow:none}.attendance-mark-page .attendance-mark-date>span{display:none}.attendance-mark-page .attendance-mark-date input{min-height:45px;border-color:#dfe2f3;background:#ffffffe6;color:#293457;color-scheme:light;box-shadow:none}.attendance-mark-page .attendance-mark-date input:focus{border-color:#b9b4ff;box-shadow:0 0 0 4px #bdb8ff26}.attendance-mark-hero-side-note{color:#8b93a5;font-size:9px}@media(max-width:700px){.attendance-mark-page .attendance-mark-hero{align-items:stretch;min-height:0;padding:26px 23px}.attendance-mark-hero-side{flex-basis:auto;margin:24px 0 0}.attendance-mark-page .attendance-mark-hero h1,.attendance-mark-hero-description{white-space:normal}.attendance-mark-hero-proof{align-items:flex-start}}.school-attendance-page{max-width:1180px;margin:0 auto;padding:28px 28px 56px;color:#172033}.accounts-students-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 0;padding:12px 14px 12px 17px;border:1px solid #e6ebf3;border-radius:13px;background:#fff;color:#718096;font-size:12px;box-shadow:0 2px 5px #192a4606,0 10px 24px #192a4609}.school-attendance-risk-only>section:not(.attendance-risk-card){display:none}.attendance-hero,.attendance-mark-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 22px 32px}.attendance-eyebrow{margin:0 0 9px;color:#6b5ce7;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.attendance-hero h1,.attendance-mark-hero h1{margin:0;color:#182036;font-size:clamp(28px,2.5vw,42px);letter-spacing:-.055em;line-height:1.05}.attendance-hero-copy,.attendance-mark-hero p:not(.attendance-eyebrow){margin:13px 0 0;color:#6e778b;font-size:15px}.attendance-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:13px;padding:13px 17px;background:#6557e8;color:#fff;font-size:13px;font-weight:750;box-shadow:0 10px 20px #6557e82b}.attendance-primary-button span{font-size:17px}.attendance-primary-button:disabled{background:#d7d9e4;color:#8d93a6;box-shadow:none;cursor:not-allowed;opacity:1}.attendance-toolbar,.attendance-mark-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e9eaf3;border-radius:16px;background:#fff;padding:14px 18px;box-shadow:0 5px 18px #27324d06}.attendance-toolbar-heading{display:flex;align-items:center;gap:9px;color:#35405a;font-size:13px;font-weight:750}.attendance-live-dot{width:8px;height:8px;border-radius:99px;background:#20bd83;box-shadow:0 0 0 4px #20bd831d}.attendance-filters{display:flex;align-items:center;gap:12px}.attendance-filters label,.attendance-mark-controls label{display:grid;gap:5px;min-width:145px}.attendance-filters label span,.attendance-mark-controls label span,.attendance-mark-date span{color:#8991a1;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.attendance-filters select,.attendance-mark-controls select,.attendance-mark-date input{width:100%;border:1px solid #e3e5ee;border-radius:9px;background:#fbfbfd;padding:9px 10px;color:#34405a;font-size:12px;outline:none}.attendance-segmented{display:flex;border:1px solid #e3e5ee;border-radius:10px;padding:3px;background:#fbfbfd}.attendance-segmented button{border:0;border-radius:7px;background:transparent;padding:7px 10px;color:#8a92a2;font-size:11px;font-weight:700}.attendance-segmented button.active{background:#eceafd;color:#5c4dde}.attendance-stat-grid{display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:13px;margin-top:18px}.attendance-stat{min-height:148px;border:1px solid #e9eaf3;border-radius:16px;background:#fff;padding:20px;box-shadow:0 5px 18px #27324d06}.attendance-stat span{display:block;color:#778096;font-size:12px;font-weight:650}.attendance-stat strong{display:block;margin:13px 0 6px;color:#26314b;font-size:31px;letter-spacing:-.06em}.attendance-stat small{display:block;color:#8d95a5;font-size:11px}.attendance-stat b{display:block;margin-top:17px;font-size:11px}.attendance-stat-highlight{position:relative;overflow:hidden;background:linear-gradient(135deg,#292356,#5144bc);color:#fff}.attendance-stat-highlight span,.attendance-stat-highlight strong{color:#fff}.attendance-stat-highlight small{color:#c9c8e7}.attendance-stat-icon{position:absolute;right:21px;top:18px;color:#bdb7ff;font-size:18px}.attendance-progress{position:absolute;right:20px;bottom:23px;left:20px;height:4px;border-radius:4px;background:#fff2}.attendance-progress i{display:block;height:100%;border-radius:inherit;background:#b5aaff}.stat-green{color:#14ad79}.stat-orange{color:#da8a26}.stat-purple{color:#7668e8}.attendance-content-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:16px;margin-top:18px}.attendance-content-grid.attendance-calendar-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.attendance-content-grid.attendance-list-layout{grid-template-columns:1fr}.attendance-panel,.attendance-roster-panel{border:1px solid #e9eaf3;border-radius:16px;background:#fff;padding:22px;box-shadow:0 5px 18px #27324d06}.attendance-panel-heading,.attendance-roster-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.attendance-panel h2,.attendance-roster-panel h2{margin:0;color:#27314a;font-size:18px;letter-spacing:-.035em}.attendance-panel-heading>a{color:#6458dc;font-size:11px;font-weight:750}.attendance-activity-list{margin-top:18px}.attendance-activity-row,.attendance-roster-row{display:flex;align-items:center;gap:12px;border-top:1px solid #f0f1f5;padding:13px 0}.attendance-avatar{display:grid;place-items:center;width:35px;height:35px;flex:0 0 35px;border-radius:11px;background:#eeecff;color:#6356d9;font-size:11px;font-weight:800}.attendance-activity-main,.attendance-roster-student{min-width:0;flex:1}.attendance-activity-main strong,.attendance-roster-student strong{display:block;color:#2b354e;font-size:13px}.attendance-activity-main span,.attendance-roster-student span{display:block;margin-top:4px;color:#939aaa;font-size:11px}.attendance-status{border-radius:20px;padding:6px 9px;font-size:10px;font-weight:800}.status-present{background:#e6f8f0;color:#159568}.status-absent{background:#fff0f0;color:#df5f67}.status-late{background:#fff4df;color:#c17a21}.status-excused{background:#edf0ff;color:#5d68bd}.attendance-insight-panel{background:#f8f7ff}.attendance-insight-panel h2{font-size:25px}.attendance-insight-copy{max-width:250px;margin:11px 0;color:#777f94;font-size:13px;line-height:1.6}.attendance-insight-copy strong{color:#6255db}.attendance-mini-chart{display:flex;align-items:end;gap:10px;height:100px;margin-top:27px}.attendance-mini-chart span{width:100%;border-radius:6px 6px 2px 2px;background:linear-gradient(#a9a1ff,#6658e8)}.attendance-chart-labels{display:flex;justify-content:space-between;margin-top:9px;color:#a0a5b5;font-size:9px}.attendance-empty{display:grid;justify-items:center;padding:42px 15px;text-align:center;color:#8b93a4;font-size:12px}.attendance-empty strong{color:#4b5670;font-size:13px}.attendance-empty p{max-width:260px;margin:8px 0 14px;line-height:1.5}.attendance-empty a{color:#6255db;font-weight:750}.attendance-empty-icon{display:grid;place-items:center;width:40px;height:40px;margin-bottom:12px;border-radius:13px;background:#f0efff;color:#6a5de2;font-size:21px}.attendance-breadcrumb{display:flex;gap:9px;align-items:center;margin:4px 0 23px;color:#a0a6b5;font-size:12px}.attendance-breadcrumb a{color:#685bdb;font-weight:700}.attendance-breadcrumb strong{color:#555f75}.attendance-mark-date{width:170px}.attendance-mark-date input{margin-top:6px;padding:11px}.attendance-mark-controls{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;margin-bottom:18px;padding:18px}.attendance-mark-controls label{min-width:0}.attendance-roster-panel{padding:0;overflow:hidden}.attendance-roster-header{padding:22px 23px;border-bottom:1px solid #eff0f4}.attendance-roster-actions{display:flex;align-items:center;gap:12px;color:#68738a;font-size:12px;font-weight:700}.attendance-roster-actions button{border:1px solid #dedcf8;border-radius:9px;background:#f7f6ff;color:#6658d9;padding:9px 11px;font-size:11px;font-weight:750}.attendance-roster-actions button:disabled{opacity:.45}.attendance-roster-list{padding:0 23px}.attendance-roster-number{width:25px;color:#b0b5c2;font-size:10px;font-weight:800}.attendance-status-picker{display:flex;gap:5px}.attendance-status-picker button{border:1px solid #ececf1;border-radius:7px;background:#fff;padding:7px 9px;color:#9ca3b2;font-size:10px;font-weight:750}.attendance-status-picker button.active.present{border-color:#b4e7d2;background:#e8faf2;color:#169a6a}.attendance-status-picker button.active.absent{border-color:#f2b7bb;background:#fff0f1;color:#d95e66}.attendance-status-picker button.active.late{border-color:#f1d194;background:#fff7e7;color:#c07b22}.attendance-status-picker button.active.excused{border-color:#c9cff4;background:#eff1ff;color:#5f68b8}.attendance-roster-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 23px;background:#fafaff;color:#9399a8;font-size:11px}.attendance-form-error,.attendance-form-success{margin:0;padding:0 23px 18px;font-size:12px}.attendance-form-error{color:#d44f5b}.attendance-form-success{color:#159568}@media(max-width:900px){.attendance-stat-grid{grid-template-columns:repeat(2,1fr)}.attendance-content-grid,.attendance-content-grid.attendance-calendar-layout{grid-template-columns:1fr}.attendance-toolbar,.attendance-mark-hero{align-items:stretch;flex-direction:column}.attendance-filters{flex-wrap:wrap}.attendance-filters label{flex:1}.attendance-mark-controls{grid-template-columns:1fr}}@media(max-width:620px){.school-attendance-page{padding:18px 14px 40px}.attendance-hero h1,.attendance-mark-hero h1{font-size:30px}.attendance-hero,.attendance-mark-hero{align-items:stretch;flex-direction:column}.attendance-primary-button{width:100%}.attendance-stat-grid{grid-template-columns:1fr 1fr}.attendance-stat{padding:15px;min-height:135px}.attendance-stat strong{font-size:27px}.attendance-status-picker{flex-wrap:wrap;justify-content:flex-end}.attendance-roster-row{align-items:flex-start}.attendance-roster-footer{align-items:stretch;flex-direction:column}.attendance-roster-footer .attendance-primary-button{width:100%}.attendance-risk-card{padding:17px}.attendance-risk-header{align-items:stretch;flex-direction:column}.attendance-threshold-field{width:fit-content}.attendance-risk-row{align-items:flex-start;flex-wrap:wrap}.attendance-risk-list{overflow-x:auto}.attendance-risk-column-headings,.attendance-risk-row{min-width:860px}.attendance-risk-student{min-width:0}.attendance-risk-progress{width:calc(100% - 46px);margin-left:46px}}.school-attendance-page .attendance-hero{position:relative;isolation:isolate;align-items:center;min-height:130px;overflow:hidden;margin:0 0 18px;padding:0 32px;border:1px solid rgba(103,89,232,.16);border-radius:24px;background:radial-gradient(circle at 82% 5%,rgba(160,153,255,.25),transparent 29%),radial-gradient(circle at 98% 100%,rgba(68,193,204,.14),transparent 34%),linear-gradient(118deg,#fff,#f8f7ff 57%,#eef9fa);box-shadow:0 20px 42px #4d44b01a}.school-attendance-page .attendance-hero:after{position:absolute;right:7%;bottom:-116px;width:340px;height:245px;border:1px solid rgba(103,89,232,.13);border-radius:50%;box-shadow:0 0 0 28px #6759e808,0 0 0 56px #6759e805;content:"";pointer-events:none;transform:rotate(-12deg)}.school-attendance-page .attendance-hero:before{position:absolute;top:-42px;bottom:-42px;left:-30px;z-index:-1;width:46%;border-radius:0 50% 50% 0;background:radial-gradient(circle at 18% 50%,rgba(123,111,236,.14),transparent 48%),repeating-linear-gradient(135deg,rgba(103,89,232,.045) 0 1px,transparent 1px 13px);content:"";pointer-events:none;transform:rotate(-7deg)}.school-attendance-page .attendance-hero>div,.school-attendance-page .attendance-hero>a{position:relative;z-index:1}.school-attendance-page .attendance-hero>div{max-width:690px}.school-attendance-page .attendance-hero h1{margin-top:2px;color:#222a45;font-size:clamp(30px,2vw,38px);font-weight:650;letter-spacing:-.06em}.school-attendance-page .attendance-hero-copy{margin-top:0;color:#6c758c;font-size:13px;line-height:1.6}.school-attendance-page .attendance-primary-button{border-radius:12px;padding:13px 18px;box-shadow:0 12px 22px #6557e838}.school-attendance-page .attendance-filters select,.school-attendance-page .attendance-filters input[type=date]{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:155px;padding-right:38px;background-color:#fbfbfd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236d7690' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;background-size:14px;cursor:pointer}.school-attendance-page .attendance-filters select:focus,.school-attendance-page .attendance-filters input[type=date]:focus{border-color:#8d83ed;box-shadow:0 0 0 3px #6557e81f}.school-attendance-page .attendance-stat-grid{margin-top:8px}.school-attendance-page .attendance-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.school-attendance-page .attendance-stat{position:relative;min-height:132px;overflow:hidden;border:0;border-radius:18px;padding:19px 20px;box-shadow:0 10px 24px -8px #0f172a47}.school-attendance-page .attendance-stat:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.school-attendance-page .attendance-stat>span{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;color:#ffffffe0;font-size:12px;font-weight:700}.school-attendance-page .attendance-stat>span:after{display:none}.school-attendance-page .attendance-stat strong{position:relative;z-index:1;display:block;margin:17px 0 0;color:#fff;font-size:25px;letter-spacing:-.04em}.school-attendance-page .attendance-stat small{position:relative;z-index:1;display:block;margin-top:7px;color:#fff;font-size:11px}.school-attendance-page .attendance-stat-highlight-value{position:relative;z-index:1;display:flex;align-items:baseline;gap:8px}.school-attendance-page .attendance-stat-highlight-value strong{margin-top:17px}.school-attendance-page .attendance-stat-highlight-value small{margin-top:0;white-space:nowrap}.school-attendance-page .attendance-stat b{position:absolute;right:20px;top:18px;z-index:1;margin:0;padding:5px 8px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:#ffffff29;color:#fff;font-size:11px;font-weight:800;white-space:nowrap}.school-attendance-page .attendance-stat-highlight{background:linear-gradient(135deg,#6366f1,#4f46e5)}.school-attendance-page .attendance-stat:nth-child(2){background:linear-gradient(135deg,#10b981,#059669)}.school-attendance-page .attendance-stat:nth-child(3){background:linear-gradient(135deg,#f43f5e,#e11d48)}.school-attendance-page .attendance-stat:nth-child(4){background:linear-gradient(135deg,#f59e0b,#d97706)}.school-attendance-page .attendance-stat-highlight span,.school-attendance-page .attendance-stat-highlight strong,.school-attendance-page .attendance-stat-highlight small{color:inherit}.school-attendance-page .attendance-stat-icon{display:none}.school-attendance-page .attendance-progress{right:20px;bottom:23px;left:20px;z-index:1;background:#fff3}.school-attendance-page .attendance-progress i{background:#ffffffd1}@media(max-width:1100px){.school-attendance-page .attendance-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.school-attendance-page .attendance-stat-grid{grid-template-columns:1fr}}.school-attendance-page .attendance-toolbar{margin-top:24px}.school-attendance-page .attendance-filters{width:100%;align-items:flex-end;justify-content:space-between}.school-attendance-page .attendance-filter-selects{display:flex;align-items:flex-end;gap:12px}.attendance-calendar-picker{display:none}.attendance-date-picker{min-width:174px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;background-image:none!important;box-sizing:border-box;padding-right:10px!important;border:1px solid #e3e5ee;border-radius:9px;padding:9px 10px;background:#fbfbfd;color:#34405a;font:inherit;font-size:12px;outline:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.attendance-date-picker::-webkit-calendar-picker-indicator{margin-left:auto;cursor:pointer}.attendance-date-picker:hover,.attendance-date-picker:focus{border-color:#8d83ed;background:#fff;box-shadow:0 0 0 3px #6557e81f}.attendance-calendar-picker{position:relative;min-width:174px}.attendance-calendar-trigger{display:flex;align-items:center;gap:9px;width:100%;min-height:38px;border:1px solid #e3e5ee;border-radius:9px;padding:9px 11px;background:#fbfbfd;color:#34405a;font:inherit;font-size:12px;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.attendance-calendar-trigger:hover,.attendance-calendar-trigger.is-open{border-color:#8d83ed;background:#fff;box-shadow:0 0 0 3px #6557e81f}.attendance-calendar-trigger-icon{color:#6658d9;font-size:14px}.attendance-calendar-trigger-chevron{width:7px;height:7px;margin-left:auto;border-right:1.5px solid #7d8497;border-bottom:1.5px solid #7d8497;transform:rotate(45deg) translateY(-2px)}.attendance-calendar-popover{position:absolute;z-index:20;top:calc(100% + 10px);right:0;width:276px;padding:15px;border:1px solid #e7e6f5;border-radius:16px;background:#fff;box-shadow:0 18px 42px #2f2a682e,0 3px 10px #27324d14;animation:attendance-calendar-rise .18s ease-out}.attendance-calendar-popover .attendance-calendar-header,.attendance-calendar-popover .attendance-calendar-weekdays,.attendance-calendar-popover .attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);align-items:center}.attendance-calendar-popover .attendance-calendar-header{grid-template-columns:32px 1fr 32px;margin-bottom:14px;text-align:center}.attendance-calendar-popover .attendance-calendar-header strong{color:#29324b;font-size:13px;font-weight:800}.attendance-calendar-popover .attendance-calendar-header button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#6759dc;font-size:23px;line-height:1;cursor:pointer}.attendance-calendar-popover .attendance-calendar-header button:hover{background:#f0efff}.attendance-calendar-popover .attendance-calendar-weekdays{margin-bottom:6px;color:#a0a5b5;font-size:9px;font-weight:800;text-align:center}.attendance-calendar-popover .attendance-calendar-grid{row-gap:4px}.attendance-calendar-popover .attendance-calendar-grid button{display:grid;place-items:center;width:31px;margin:auto;border:0;border-radius:9px;background:transparent;color:#3f4962;font-size:11px;font-weight:700;cursor:pointer}.attendance-calendar-popover .attendance-calendar-grid button:hover{background:#f0efff;color:#5c4dde}.attendance-calendar-popover .attendance-calendar-grid button.is-muted{color:#c7cad4}.attendance-calendar-popover .attendance-calendar-grid button.is-selected{background:linear-gradient(135deg,#7568ec,#594bd0);color:#fff;box-shadow:0 5px 12px #6557e847}.attendance-calendar-today{width:100%;margin-top:13px;border:0;border-top:1px solid #f0eff7;padding:12px 0 0;background:transparent;color:#6255db;font-size:11px;font-weight:800;cursor:pointer}@keyframes attendance-calendar-rise{0%{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.school-attendance-page .attendance-segmented{flex:0 0 auto}.attendance-table-wrap{margin-top:18px;overflow:hidden;border:1px solid #ececf4;border-radius:14px;background:#fff}@media(min-width:901px){.attendance-calendar-layout>.attendance-panel{display:flex;max-height:548px;min-height:0;flex-direction:column}.attendance-calendar-layout>.attendance-panel .attendance-table-wrap{flex:1;min-height:0;overflow-y:auto;scrollbar-color:#b8b1e8 #f5f3fb;scrollbar-width:thin}.attendance-calendar-layout>.attendance-panel .attendance-table-wrap::-webkit-scrollbar{width:6px}.attendance-calendar-layout>.attendance-panel .attendance-table-wrap::-webkit-scrollbar-track{background:#f5f3fb}.attendance-calendar-layout>.attendance-panel .attendance-table thead{position:sticky;z-index:1;top:0}}.attendance-table{width:100%;border-collapse:collapse;text-align:left;table-layout:fixed}.attendance-table th{padding:12px 16px;border-bottom:1px solid #4338ca;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%);color:#fff;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.school-attendance-page .attendance-table thead th{background:linear-gradient(135deg,#4f46e5,#7c3aed 0%)!important;color:#fff!important}.attendance-table td{padding:14px 16px;border-bottom:1px solid #f0f1f6;color:#35405a;font-size:12px;vertical-align:middle}.attendance-table tbody tr{transition:background-color .16s ease}.attendance-table tbody tr:last-child td{border-bottom:0}.attendance-table tbody tr:hover{background:#fafaff}.attendance-table-date,.attendance-table-placement{display:grid;gap:4px}.attendance-table-date strong,.attendance-table-placement strong{color:#2b354e;font-size:12px;font-weight:750}.attendance-table-date span,.attendance-table-placement span,.attendance-table-student span{color:#9299aa;font-size:10px}.attendance-table-student .attendance-history-enrollment-label,.attendance-activity-main .attendance-history-enrollment-label{color:#9a5b12;font-weight:700;text-transform:capitalize}.attendance-table-student .attendance-table-inline-status{width:fit-content;margin-top:2px;padding:3px 7px;border-radius:999px;font-size:10px;font-weight:800}.attendance-table-inline-status.status-present{color:#087f5b;background:#dcfce7}.attendance-table-inline-status.status-absent{color:#be123c;background:#ffe4e6}.attendance-table-student{display:flex;align-items:center;gap:10px;min-width:0}.attendance-table-student>div:last-child{display:grid;gap:4px}.attendance-table-student strong{color:#2b354e;font-size:12px;font-weight:750}.attendance-table-roll-number{display:block;color:#35405a;font-size:12px}.attendance-table-status{display:inline-flex;min-width:74px;justify-content:center;font-size:11px}.attendance-table-attendance-cell{width:36%;min-width:0;white-space:nowrap}.attendance-table-attendance-value{display:flex;align-items:center;gap:8px;min-height:30px}.attendance-table-attendance-value .edit-icon-button,.attendance-activity-row .edit-icon-button{width:30px;height:30px;flex:0 0 30px;border-radius:9px}.attendance-table-wrap>.attendance-activity-row{display:none}.attendance-risk-card{margin-top:18px;padding:24px;border:1px solid #e5e1fb;border-radius:18px;background:linear-gradient(135deg,#fff,#faf9ff 62%,#f2f8ff);box-shadow:0 10px 28px #312e8110}.attendance-risk-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid #eceaf6}.attendance-risk-header h2{margin:5px 0 0;color:#28214f;font-size:20px;letter-spacing:-.04em}.attendance-risk-header>div>p:last-child{margin:7px 0 0;color:#716d88;font-size:12px}.attendance-threshold-field{display:grid;gap:6px;flex:0 0 auto;color:#514a78;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.attendance-threshold-field>div{display:flex;align-items:center;gap:10px}.attendance-threshold-control{min-width:220px}.attendance-threshold-number{display:flex;align-items:center;gap:6px;width:fit-content;padding:3px 9px 3px 11px;border:1px solid #dcd7f5;border-radius:10px;background:#fff;box-shadow:inset 0 1px 2px #312e8108}.attendance-threshold-slider{width:100%;height:7px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:999px;background:linear-gradient(to right,#6256d9 var(--threshold-progress),#e5e1f6 var(--threshold-progress));cursor:pointer;outline:none}.attendance-threshold-slider::-webkit-slider-thumb{width:18px;height:18px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:3px solid #fff;border-radius:50%;background:#6256d9;box-shadow:0 3px 9px #5145cd55}.attendance-threshold-slider::-moz-range-thumb{width:14px;height:14px;border:3px solid #fff;border-radius:50%;background:#6256d9;box-shadow:0 3px 9px #5145cd55}.attendance-threshold-slider:focus-visible{box-shadow:0 0 0 4px #6256d933}.attendance-threshold-number input{width:48px;border:0;color:#302761;background:transparent;font-size:16px;font-weight:600;outline:none;text-align:right}.attendance-threshold-field strong{color:#6658d9;font-size:15px}.attendance-risk-list{display:grid;gap:0;margin-top:18px;max-height:420px;overflow-x:auto;overflow-y:auto;border:1px solid #ececf4;border-radius:14px;background:#fff;scrollbar-color:#b8b1e8 #f5f3fb;scrollbar-width:thin}.attendance-risk-threshold-control{display:grid;min-width:220px;gap:8px;align-items:end;color:#c44762;font-size:12px;font-weight:800;text-align:right}.attendance-risk-threshold-control input{accent-color:#6256d9;cursor:pointer}.attendance-risk-threshold-inputs{display:flex;align-items:center;gap:10px}.attendance-risk-threshold-inputs input[type=range]{width:180px}.attendance-risk-threshold-inputs input[type=number]{width:54px;padding:5px 6px;border:1px solid #dcd7f5;border-radius:7px;color:#302761;background:#fff;font:inherit;text-align:right}.attendance-risk-column-headings{display:grid;grid-template-columns:30px minmax(120px,1.1fr) repeat(5,minmax(52px,.55fr)) 78px;gap:12px;padding:12px 16px;color:#fff;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%)}.attendance-risk-row{display:grid;grid-template-columns:30px minmax(120px,1.1fr) repeat(5,minmax(52px,.55fr)) 78px;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #f0f1f6;background:#fff}.attendance-risk-row:last-child{border-bottom:0}.attendance-risk-value{overflow:hidden;color:#111827;font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.attendance-risk-absent{color:#c44762;font-weight:500}.attendance-risk-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:11px;color:#5145cd;background:#eeecff;font-size:11px;font-weight:800}.attendance-risk-student{min-width:0;flex:1;overflow:hidden}.attendance-risk-student strong,.attendance-risk-student span{display:block}.attendance-risk-student strong{color:#111827;font-size:14px}.attendance-risk-student span{margin-top:3px;color:#374151;font-size:12px;overflow-wrap:anywhere}.attendance-risk-progress{display:none}.attendance-risk-progress>div{height:7px;overflow:hidden;border-radius:999px;background:#f4dce1}.attendance-risk-progress>div>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ec718a,#f2a06d)}.attendance-risk-progress small{display:block;margin-top:5px;color:#817b99;font-size:10px}.attendance-risk-percentage{padding-right:28px;color:#c44762;font-size:15px;font-weight:500;text-align:left}.attendance-risk-column-headings>span:last-child{display:none}.attendance-risk-sort-button{padding:0;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;white-space:nowrap;cursor:pointer}.attendance-risk-sort-button:hover,.attendance-risk-sort-button:focus-visible{color:#e0e7ff}.attendance-risk-empty{display:grid;gap:5px;margin-top:16px;padding:22px;border:1px dashed #cfd8e8;border-radius:13px;color:#5b5678;background:#fff;text-align:center}.attendance-risk-empty strong{color:#087f5b;font-size:14px}.attendance-risk-empty span{font-size:12px}.attendance-risk-empty-error strong{color:#c44762}.attendance-risk-threshold-badge{padding:8px 12px;border:1px solid #f0c9d2;border-radius:999px;color:#c44762;background:#fff4f6;font-size:12px}.school-attendance-risk-only{max-width:1240px;padding-top:34px}.school-attendance-risk-only .attendance-risk-card{margin-top:0;padding:30px;border-color:#6f5fdd2e;border-radius:24px;background:radial-gradient(circle at 96% 0%,rgba(173,161,255,.18),transparent 26%),radial-gradient(circle at 0% 100%,rgba(74,196,190,.1),transparent 28%),linear-gradient(145deg,#fff,#fbfaff 58%,#f4f8ff);box-shadow:0 24px 60px #37307e1a,0 2px 8px #37307e0a}.school-attendance-risk-only .attendance-risk-header{align-items:center;padding-bottom:24px;border-bottom-color:#6f5fdd1f}.school-attendance-risk-only .attendance-risk-header h2{margin-top:7px;color:#211b46;font-size:clamp(24px,3vw,32px);font-weight:700;letter-spacing:-.055em}.school-attendance-risk-only .attendance-risk-header>div>p:last-child{max-width:520px;margin-top:10px;color:#77738e;font-size:13px;line-height:1.65}.school-attendance-risk-only .attendance-risk-threshold-control{min-width:250px;padding:13px 15px;border:1px solid rgba(111,95,221,.16);border-radius:15px;color:#5e5684;background:#ffffffc7;box-shadow:0 8px 20px #473d920f}.school-attendance-risk-only .attendance-risk-fetch-control{display:grid;justify-items:center;align-content:center;gap:8px;min-width:148px;color:#77738e;font-size:12px}.school-attendance-risk-only .attendance-risk-fetch-button{margin-top:0}.school-attendance-risk-only .attendance-risk-year-control{display:grid;min-width:190px;gap:8px;color:#5e5684;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.school-attendance-risk-only .attendance-risk-year-control select{min-height:38px;padding:0 44px 0 12px;border:1px solid rgba(111,95,221,.18);border-radius:10px;color:#302761;background:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236d7690' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 15px center;background-repeat:no-repeat;background-size:14px;font:inherit;font-size:13px;letter-spacing:normal;text-transform:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer}.school-attendance-risk-only .attendance-risk-year-control select option{font-size:13px}.school-attendance-risk-only .attendance-risk-threshold-control>span{color:#6557d8;font-size:11px;letter-spacing:.1em}.school-attendance-risk-only .attendance-risk-threshold-inputs{gap:12px}.school-attendance-risk-only .attendance-risk-threshold-inputs input[type=range]{width:100%}.school-attendance-risk-only .attendance-risk-threshold-inputs input[type=number]{width:58px;padding:7px 8px;border-color:#6f5fdd33;border-radius:9px;font-weight:700}.school-attendance-risk-only .attendance-risk-empty{justify-items:center;min-height:235px;margin-top:24px;padding:36px 24px;border:1px solid rgba(111,95,221,.13);border-radius:18px;background:#ffffffc2;box-shadow:inset 0 1px #ffffffe6}.school-attendance-risk-only .attendance-risk-empty strong{color:#28214f;font-size:16px;letter-spacing:-.02em}.school-attendance-risk-only .attendance-risk-empty>span{max-width:440px;color:#77738e;font-size:13px;line-height:1.6}.attendance-risk-fetch-button{min-width:148px;margin-top:9px;padding:12px 19px;border:0;border-radius:11px;color:#fff;background:linear-gradient(135deg,#6256d9,#7965e8);box-shadow:0 10px 20px #6256d940;font-size:13px;font-weight:800;letter-spacing:.01em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.attendance-risk-fetch-button:hover:not(:disabled){box-shadow:0 13px 24px #6256d952;transform:translateY(-1px)}.attendance-risk-fetch-button:focus-visible{outline:3px solid rgba(98,86,217,.2);outline-offset:3px}.attendance-risk-fetch-button:disabled{cursor:wait;opacity:.62}.school-attendance-risk-only .attendance-risk-list{margin-top:24px;border-color:#6f5fdd21;border-radius:16px;box-shadow:0 12px 26px #37307e0f}.school-attendance-risk-only .attendance-risk-column-headings{background:linear-gradient(110deg,#453a9d,#6557d8 62%,#7865dc)}.school-attendance-risk-only .attendance-risk-row:hover{background:#faf9ff}@media(max-width:720px){.school-attendance-risk-only{padding-top:20px}.school-attendance-risk-only .attendance-risk-card{padding:20px 16px;border-radius:20px}.school-attendance-risk-only .attendance-risk-header{align-items:stretch;flex-direction:column}.school-attendance-risk-only .attendance-risk-fetch-control{justify-items:start}.school-attendance-risk-only .attendance-risk-threshold-control{min-width:0}}.attendance-table th:nth-child(1),.attendance-table td:nth-child(1){width:25%}.attendance-table th:nth-child(2),.attendance-table td:nth-child(2){width:13%}.attendance-table th:nth-child(3),.attendance-table td:nth-child(3){width:36%}.school-attendance-page .attendance-calendar-weekdays{grid-auto-rows:24px;margin-bottom:4px}@media(max-width:620px){.school-attendance-page .attendance-hero{align-items:stretch;padding:28px 22px 30px}.school-attendance-page .attendance-hero h1{font-size:30px}.school-attendance-page .attendance-filters select{min-width:0}.school-attendance-page .attendance-filter-selects{width:100%;flex-wrap:wrap}.attendance-table-wrap{overflow-x:auto}.attendance-table{min-width:650px}}@media(max-width:620px){.school-attendance-page{width:100%;box-sizing:border-box;padding:14px 10px 32px}.school-attendance-page .attendance-stat-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}.school-attendance-page .attendance-stat{min-height:0;padding:16px}.school-attendance-page .attendance-stat strong{margin-top:9px}.school-attendance-page .attendance-stat b{margin-top:0}.school-attendance-page .attendance-toolbar{margin-top:14px;padding:12px}.school-attendance-page .attendance-filters{display:flex;flex-direction:column;align-items:stretch;gap:12px}.school-attendance-page .attendance-filter-selects{display:grid;grid-template-columns:1fr;gap:10px;width:100%}.school-attendance-page .attendance-filters label{width:100%;min-width:0}.school-attendance-page .attendance-filters select,.school-attendance-page .attendance-filters input[type=date],.school-attendance-page .attendance-calendar-picker{width:100%;min-width:0;box-sizing:border-box}.school-attendance-page .attendance-segmented{width:100%}.school-attendance-page .attendance-segmented button{flex:1}.school-attendance-page .attendance-content-grid{gap:12px;margin-top:12px}.school-attendance-page .attendance-risk-card{margin-top:12px;padding:14px}.school-attendance-page .attendance-risk-header{flex-direction:column;gap:14px;padding-bottom:14px}.school-attendance-page .attendance-risk-header h2{font-size:18px;line-height:1.2}.school-attendance-page .attendance-risk-header>div>p:last-child{max-width:34rem;font-size:11px;line-height:1.45}.school-attendance-page .attendance-risk-threshold-control{width:100%;min-width:0;text-align:left}.school-attendance-page .attendance-risk-threshold-inputs{width:100%}.school-attendance-page .attendance-risk-threshold-inputs input[type=range]{width:100%;min-width:0}.school-attendance-page .attendance-risk-list{max-width:100%;margin-top:14px;-webkit-overflow-scrolling:touch}.school-attendance-page .attendance-risk-column-headings,.school-attendance-page .attendance-risk-row{min-width:620px;gap:8px;padding-inline:10px}.school-attendance-page .attendance-risk-column-headings{grid-template-columns:28px minmax(112px,1.1fr) repeat(5,minmax(48px,.55fr)) 72px;padding-block:10px;font-size:10px}.school-attendance-page .attendance-risk-row{grid-template-columns:28px minmax(112px,1.1fr) repeat(5,minmax(48px,.55fr)) 72px;padding-block:10px}.school-attendance-page .attendance-risk-avatar{width:28px;height:28px;border-radius:9px;font-size:9px}.school-attendance-page .attendance-risk-student strong{font-size:12px;overflow-wrap:anywhere}.school-attendance-page .attendance-risk-student span,.school-attendance-page .attendance-risk-value{font-size:10px}.school-attendance-page .attendance-risk-percentage{padding-right:4px;font-size:13px}.school-attendance-page .attendance-content-grid.attendance-calendar-layout>.attendance-calendar{order:-1}.school-attendance-page .attendance-panel{padding:14px}.school-attendance-page .attendance-calendar{padding:16px}.school-attendance-page .attendance-calendar-toolbar{gap:12px}.school-attendance-page .attendance-calendar-actions{width:100%}.school-attendance-page .attendance-calendar-actions button{flex:1}.school-attendance-page .attendance-table{display:table;min-width:0;table-layout:fixed}.school-attendance-page .attendance-table-wrap{overflow:hidden}.school-attendance-page .attendance-table-wrap>.attendance-activity-row{display:none}.school-attendance-page .attendance-table th,.school-attendance-page .attendance-table td{padding:11px 8px}.school-attendance-page .attendance-table th{font-size:11px}.school-attendance-page .attendance-table th:nth-child(1){width:49%}.school-attendance-page .attendance-table th:nth-child(2){width:21%}.school-attendance-page .attendance-table th:nth-child(3){width:30%}.school-attendance-page .attendance-table-student{min-width:0}.school-attendance-page .attendance-table-status{min-width:0;padding-inline:7px;font-size:10px}.school-attendance-page .attendance-table-attendance-cell{width:30%;min-width:0}}.school-exams-page{max-width:1180px;padding:28px 28px 64px;color:#172033}.school-exams-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:190px;margin-bottom:18px;padding:30px 34px;overflow:hidden;border:1px solid #d8d5ff;border-radius:26px;background:radial-gradient(circle at 85% 12%,#a5b4fc80,transparent 31%),linear-gradient(135deg,#f0efff,#f7f4ff 56%,#ecfeff);box-shadow:0 18px 45px #6366f11c}.school-exams-kicker,.school-exams-section-kicker{display:block;color:#5b51d8;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.school-exams-hero h1{max-width:570px;margin:9px 0 10px;color:#172033;font-size:clamp(28px,4vw,43px);font-weight:780;letter-spacing:-.06em;line-height:1.02}.school-exams-hero p{max-width:600px;margin:0;color:#667085;font-size:14px;line-height:1.65}.school-exams-hero-mark{display:grid;place-items:center;width:112px;height:112px;flex:0 0 auto;gap:5px;border:1px solid #ffffffa8;border-radius:31px;color:#fff;background:linear-gradient(145deg,#6154df,#8b5cf6 55%,#06b6d4);box-shadow:0 16px 30px #6154df45;text-align:center}.school-exams-hero-mark svg{width:31px;height:31px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.school-exams-hero-mark span{font-size:9px;font-weight:800;line-height:1.25;text-transform:uppercase}.school-exams-hero-actions{display:flex;min-width:min(100%,360px);align-items:stretch;justify-content:flex-end;flex-direction:column;flex-wrap:wrap;gap:12px}.school-exams-hero-button-row{display:flex;justify-content:flex-end;gap:10px}.school-exams-hero-actions .btn{display:inline-flex;align-items:center;gap:7px;min-height:42px}.school-exams-hero-actions .btn span{font-size:17px;line-height:1}.school-exams-year-selector{display:grid;gap:7px;width:190px;max-width:100%;align-self:flex-end;color:#566079;font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.school-exams-year-selector select{width:100%;min-height:44px;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;padding:0 48px 0 14px;border:1px solid #d9d7f4;border-radius:12px;color:#312e81;background-color:#ffffffc9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236358dd' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px;box-shadow:0 6px 16px #6358dd12;font:inherit;font-size:13px;font-weight:650;letter-spacing:0;outline:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.school-exams-year-selector select:focus{border-color:#8a80ed;box-shadow:0 0 0 4px #6358dd18}.school-exams-stats{display:grid;grid-template-columns:1.25fr 1fr 1.4fr;gap:13px;margin-bottom:18px}.school-exam-stat{position:relative;overflow:hidden;min-height:105px;padding:18px 20px;border:0;border-radius:17px;color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);box-shadow:0 10px 24px -8px #0f172a47}.school-exam-stat:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.school-exam-stat span,.school-exam-stat small{position:relative;z-index:1;display:block;color:#ffffffe0;font-size:11px;font-weight:700}.school-exam-stat strong{position:relative;z-index:1;display:block;margin:9px 0 3px;color:#fff;font-size:26px;letter-spacing:-.055em}.school-exam-stat-primary{background:linear-gradient(135deg,#302661,#574bc7);box-shadow:0 12px 28px #574bc72e}.school-exam-stat-published{background:linear-gradient(135deg,#10b981,#059669)}.school-exam-stat-year{background:linear-gradient(135deg,#f59e0b,#d97706)}.school-exams-panel{margin-top:18px;padding:24px;border:1px solid #e7e8f1;border-radius:19px;background:#fff;box-shadow:0 6px 20px #27324d07}.school-exams-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:21px}.school-exams-panel-heading h2{margin:6px 0 5px;color:#29334c;font-size:20px;letter-spacing:-.045em}.school-exams-panel-heading p{margin:0;color:#858da0;font-size:12px;line-height:1.55}.school-exams-access-badge,.school-exams-count{flex:0 0 auto;border-radius:99px;padding:7px 10px;color:#5b51d8;background:#efedff;font-size:10px;font-weight:800}.school-exams-count{border:1px solid #c4b5fd;color:#4338ca;background:linear-gradient(135deg,#eef2ff,#ede9fe);box-shadow:0 4px 12px #6366f11c}.school-exams-panel .grid{gap:14px}.school-exams-panel .field{display:grid;gap:7px;margin-bottom:0}.school-exams-panel .label{color:#737c90;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.school-exams-panel .input,.school-exams-panel .select{min-height:42px;border-color:#e1e4ed;border-radius:10px;background-color:#fbfcfe}.school-exams-panel .select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236358dd' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-size:14px;background-repeat:no-repeat}.school-exams-panel .field{min-width:0}.school-exams-subject-form{align-items:start;padding:21px 0 0}.school-exams-subject-form .field{align-items:start}.school-exam-secondary-weight-field .label{font-weight:600}.school-exam-required-marker{color:#dc3545;font-size:12px;font-weight:800}.school-exams-subject-form-actions{display:flex;justify-content:flex-end;margin-top:18px;padding-top:18px;border-top:1px solid #ececf5}.school-exams-subject-form-actions .btn{min-height:42px}.school-exams-primary-button{margin-top:19px;box-shadow:0 9px 20px #635bdf35}.school-exams-error{margin:18px 0;padding:14px 17px;border:1px solid #fecaca;border-radius:13px;background:#fff7f7}.school-exams-error p{color:#b91c1c!important}.school-exam-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 0;border-top:1px solid #edf0f5}.school-exam-row-identity{display:flex;align-items:center;gap:13px;min-width:0}.school-exam-row-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;color:#6358dd;background:#efedff}.school-exam-row-icon svg{width:20px;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.school-exam-row strong{display:block;overflow:hidden;color:#303a53;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.school-exam-row p{margin:5px 0 0;font-size:11px}.school-exam-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.school-exam-status{display:inline-flex;align-items:center;border-radius:99px;padding:6px 9px;color:#64748b;background:#f1f5f9;font-size:10px;font-weight:800;text-transform:capitalize}.school-exam-status.is-draft{color:#a16207;background:#fef3c7}.school-exam-status.is-published,.school-exam-status.is-completed{color:#047857;background:#d1fae5}.school-exam-status.is-scheduled,.school-exam-status.is-in_progress{color:#2563eb;background:#dbeafe}.school-exam-configure-button{white-space:nowrap}.school-exam-view-button{display:inline-grid;width:40px;height:40px;place-items:center;border:1px solid #d9d6ff;border-radius:12px;color:#5145b9;background:linear-gradient(135deg,#f5f3ff,#ecfeff);box-shadow:0 7px 16px #5145b91c;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.school-exam-view-button:hover{border-color:#a7a0f0;box-shadow:0 10px 20px #5145b92b;transform:translateY(-1px)}.school-exam-view-button:focus-visible{outline:3px solid #c4b5fd;outline-offset:3px}.school-exam-view-button svg{width:19px;height:19px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.school-exams-legacy-create{display:none}.school-exams-term-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.school-exam-term-card{position:relative;min-height:190px;padding:17px;overflow:hidden;border:1px solid #e8e8f1;border-radius:16px;background:linear-gradient(145deg,#fff,#fafaff)}.school-exam-term-card:after{position:absolute;top:-42px;right:-38px;width:115px;height:115px;border-radius:50%;background:#e0e7ff75;content:""}.school-exam-term-card-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;margin-bottom:21px}.school-exam-term-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:12px;color:#6358dd;background:#efedff}.school-exam-term-icon svg{width:20px;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.school-exam-term-card h3{position:relative;z-index:1;margin:7px 0 15px;color:#303a53;font-size:20px;letter-spacing:-.045em}.school-exam-term-dates{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:15px;padding-top:12px;border-top:1px solid #edf0f5;color:#4c5870;font-size:14px;font-weight:750;letter-spacing:-.02em}.school-exam-term-dates b{color:#9690ed;font-size:18px;font-weight:500}.school-exam-term-card>.school-exam-status{position:relative;z-index:1}.school-exams-empty-state{display:grid;place-items:center;padding:37px 20px 29px;border:1px dashed #d8dbea;border-radius:14px;background:#fbfcff;text-align:center}.school-exams-empty-state .school-exam-row-icon{margin-bottom:9px}.school-exams-empty-state h3{margin:0 0 5px;color:#303a53;font-size:16px}.school-exams-empty-state p{margin:0 0 15px;color:#858da0;font-size:11px}.school-exam-modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:18px;background:#10152a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:school-exam-modal-fade .18s ease}.school-exam-modal{width:min(100%,560px);overflow:hidden;border:1px solid #ffffffb8;border-radius:24px;background:#fff;box-shadow:0 28px 90px #0f172a45;animation:school-exam-modal-rise .22s ease}.school-exam-modal-header{display:flex;justify-content:space-between;gap:15px;padding:25px 26px 21px;border-bottom:1px solid #e7e8f1}.school-exam-modal-heading{display:flex;align-items:flex-start;gap:13px}.school-exam-modal-icon{display:grid;place-items:center;width:45px;height:45px;flex:0 0 auto;border-radius:14px;color:#fff;background:linear-gradient(135deg,#6358dd,#06b6d4);box-shadow:0 8px 20px #6358dd3d}.school-exam-modal-icon svg{width:23px;height:23px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.school-exam-modal-header h2{margin:5px 0;color:#29334c;font-size:20px;letter-spacing:-.04em}.school-exam-modal-header p{margin:0;color:#858da0;font-size:11px;line-height:1.5}.school-exam-modal-close{width:33px;height:33px;border:1px solid #e1e4ed;border-radius:10px;color:#858da0;background:#fafbfe;font-size:22px;line-height:1;cursor:pointer}.school-exam-modal-form{display:grid;gap:17px;padding:24px 26px 25px}.school-exam-modal-field{display:grid;gap:7px}.school-exam-modal-field span{color:#3e4961;font-size:11px;font-weight:800}.school-exam-modal-field em{color:#9aa1b0;font-size:10px;font-style:normal;font-weight:600}.school-exam-modal-field input,.school-exam-modal-field select{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #dfe3ec;border-radius:11px;outline:0;padding:0 12px;color:#303a53;background:#fbfcfe;font:inherit;font-size:13px;transition:border-color .18s ease,box-shadow .18s ease}.school-exam-modal-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}.school-exam-modal-field input:focus,.school-exam-modal-field select:focus{border-color:#8a80ed;box-shadow:0 0 0 4px #6358dd18}.school-exam-modal-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.school-exam-modal-error{margin:-4px 0 0;padding:10px 12px;border-radius:10px;color:#b91c1c;background:#fff1f2;font-size:11px;font-weight:700}.school-exam-modal-footer{display:flex;justify-content:flex-end;gap:9px;padding-top:4px}@keyframes school-exam-modal-fade{0%{opacity:0}to{opacity:1}}@keyframes school-exam-modal-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.school-schedule-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.school-schedule-table-wrap{overflow-x:auto;border:1px solid #e4e7f2;border-radius:16px;background:#fff;box-shadow:0 10px 24px #5145b90d}.school-schedule-table{width:100%;min-width:860px;border-collapse:collapse;color:#566079;font-size:12px;text-align:left}.school-schedule-table thead th{padding:12px 14px;border-bottom:1px solid #c7d2fe;color:#fff!important;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%)!important;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.school-schedule-sort-button{display:inline-flex;align-items:center;gap:6px;padding:0;border:0;color:inherit;background:transparent;cursor:pointer;font:inherit;font-weight:inherit;letter-spacing:inherit;text-transform:inherit}.school-schedule-table thead .school-schedule-sort-button:hover{color:#e0e7ff}.school-schedule-table thead .school-schedule-sort-icon{color:inherit;font-size:14px;line-height:1}.school-schedule-table td{padding:13px 14px;border-bottom:1px solid #edf0f5;white-space:nowrap}.school-schedule-table tbody tr:last-child td{border-bottom:0}.school-schedule-table tbody tr:hover{background:#fafaff}.school-schedule-table .is-numeric{text-align:right}.school-schedule-table-primary{color:#303a53;font-weight:750}.school-schedule-table-code{color:#7b8499;font-size:11px;font-weight:650;letter-spacing:.04em;text-transform:uppercase}.school-schedule-table-secondary{font-weight:600}.school-schedule-table-offering{color:#b45309;font-size:11px;font-weight:750}.school-schedule-table-offering.is-active{color:#047857}.school-schedule-table-marks{color:#303a53;font-size:14px}.school-schedule-actions,.school-schedule-card-details .school-schedule-card-actions{display:flex;align-items:center;gap:7px}.school-schedule-actions .edit-icon-button,.school-schedule-actions .delete-icon-button,.school-schedule-card-actions .edit-icon-button,.school-schedule-card-actions .delete-icon-button{width:32px;height:32px;border-radius:9px}.school-schedule-groups,.school-schedule-sections{display:grid;gap:30px}.school-schedule-grade-group{display:grid;gap:20px}.school-schedule-section-group{display:grid;gap:14px}.school-schedule-grade-divider,.school-schedule-section-divider{display:flex;align-items:center;gap:16px}.school-schedule-grade-divider span,.school-schedule-section-divider span{height:1px;flex:1;background:linear-gradient(90deg,transparent,#d9d6ff 45%,#d9d6ff)}.school-schedule-grade-divider span:last-child,.school-schedule-section-divider span:last-child{background:linear-gradient(90deg,#d9d6ff,#d9d6ff 55%,transparent)}.school-schedule-grade-divider h3,.school-schedule-section-divider h4{margin:0;color:#303a53;text-align:center;white-space:nowrap}.school-schedule-grade-divider h3{font-size:18px;font-weight:800;letter-spacing:-.02em}.school-schedule-grade-divider h3 small{color:#7b8499;font-size:12px;font-weight:700;letter-spacing:0}.school-schedule-section-divider h4{color:#5145b9;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.school-schedule-card{position:relative;overflow:hidden;padding:18px;border:1px solid #e4e7f2;border-radius:18px;background:linear-gradient(135deg,#fff,#fafaff);box-shadow:0 10px 24px #5145b90d}.school-schedule-card:before{position:absolute;inset:0 auto 0 0;width:4px;content:"";background:linear-gradient(180deg,#635bdb,#20b9a6)}.school-schedule-card-heading{display:flex;align-items:center;gap:13px}.school-schedule-subject-mark{display:grid;width:46px;height:46px;flex:0 0 auto;place-items:center;border-radius:14px;color:#5145b9;background:linear-gradient(135deg,#eeecff,#e0f7f4);font-size:12px;font-weight:800;letter-spacing:.05em}.school-schedule-card-title{min-width:0}.school-schedule-card-title .school-exams-section-kicker{display:block;margin-bottom:4px}.school-schedule-card-title h3{margin:0;overflow:hidden;color:#303a53;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.school-schedule-subject-code{display:inline-block;margin-top:5px;color:#7b8499;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.school-schedule-marks{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;margin-left:auto}.school-schedule-marks strong{color:#303a53;font-size:20px;line-height:1}.school-schedule-marks span{margin-top:5px;color:#7b8499;font-size:10px;white-space:nowrap}.school-schedule-card-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:17px;padding-top:14px;border-top:1px solid #edf0f5}.school-schedule-card-details div{display:grid;gap:4px}.school-schedule-card-details span{color:#8a93a6;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.school-schedule-card-details strong{overflow:hidden;color:#4b556f;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.school-exams-page.is-configuring .school-exams-hero{min-height:155px;background:radial-gradient(circle at 87% 8%,#67e8f955,transparent 30%),linear-gradient(135deg,#29235b,#5145b9 58%,#075985)}.school-exams-page.is-configuring .school-exams-hero h1,.school-exams-page.is-configuring .school-exams-hero p{color:#fff}.school-exams-page.is-configuring .school-exams-kicker{color:#c4b5fd}.school-exams-configure-panel{border-color:#d9d6ff;box-shadow:0 15px 38px #5145cd14}.school-exams-configure-heading{align-items:center}.school-exam-title-row{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:nowrap}.school-exam-title-row h2{margin-bottom:0}.school-exam-title-input{box-sizing:border-box;width:min(100%,300px);flex:1 1 240px;min-width:0;min-height:36px;margin:2px 0 1px;padding:5px 10px;border:1px solid #a7a0f0;border-radius:10px;color:#303a53;background:#fff;box-shadow:0 0 0 4px #ede9fe;font:inherit;font-size:18px;font-weight:650;line-height:1.25;outline:none}.school-exam-title-save{flex:0 0 auto;min-height:34px;padding:6px 11px;font-size:11px;font-weight:750;white-space:nowrap}.school-exam-title-cancel{flex:0 0 auto;min-height:34px;padding:6px 10px;font-size:11px;font-weight:700;white-space:nowrap}.school-exam-context-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.school-exam-context-term{font-weight:600}.school-exam-context-line>span:not(.school-exam-status){color:#68758c;font-size:13px}.school-exams-configure-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.school-exam-filter-control{position:relative}.school-exam-filter-button{display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:42px;padding:0;border:1px solid #dedcf8;border-radius:12px;color:#5145b9;background:linear-gradient(135deg,#fff,#f5f3ff);box-shadow:0 7px 16px #5145b912;cursor:pointer;font:inherit;font-size:12px;font-weight:800;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.school-exam-filter-button:hover,.school-exam-filter-button.is-active{border-color:#a7a0f0;box-shadow:0 10px 22px #5145b924;transform:translateY(-1px)}.school-exam-filter-button svg{width:18px;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.school-exam-filter-menu{position:absolute;z-index:20;top:calc(100% - 1px);right:0;display:grid;width:min(320px,calc(100vw - 40px));gap:10px;padding:16px;border:1px solid #e2e0f8;border-radius:18px;background:#fff;box-shadow:0 24px 55px #1725542b}.school-exam-filter-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:5px}.school-exam-filter-menu-heading div,.school-exam-view-mode>span:nth-child(2){display:grid;gap:3px}.school-exam-filter-menu-heading strong{color:#303a53;font-size:13px}.school-exam-filter-menu-heading span,.school-exam-view-mode small{color:#8a93a6;font-size:10px}.school-exam-filter-menu-heading>svg{width:21px;height:21px;color:#6358dd;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.school-exam-filter-field{display:grid;gap:7px;padding:10px 0 5px;border-top:1px solid #f0eff8}.school-exam-filter-field span{color:#566079;font-size:11px;font-weight:800}.school-exam-filter-field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:40px;padding:0 42px 0 11px;border:1px solid #e0e2ec;border-radius:10px;color:#3e4961;background:#fbfcff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236358dd' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;font:inherit;font-size:12px}.school-schedule-card-actions{display:flex;flex:0 0 auto;grid-column:3;justify-self:end;margin-left:0;flex-wrap:nowrap;white-space:nowrap}.school-exam-view-mode{display:flex;align-items:center;gap:11px;width:100%;padding:10px;border:1px solid transparent;border-radius:12px;color:#4b556f;background:transparent;cursor:pointer;text-align:left}.school-exam-view-mode:hover,.school-exam-view-mode.is-selected{border-color:#e2e0ff;background:#f8f7ff}.school-exam-view-mode strong{color:#3e4961;font-size:12px}.school-exam-view-mode b{margin-left:auto;color:#6358dd;font-size:15px}.school-exam-view-mode-icon{display:grid;width:26px;height:26px;flex:0 0 auto;place-items:center;gap:2px;padding:5px;border-radius:8px;background:#eeecff}.school-exam-view-mode-icon i{display:block;border-radius:2px;background:#6358dd}.school-exam-view-mode-icon.is-cards{grid-template-columns:repeat(2,1fr)}.school-exam-view-mode-icon.is-cards i{width:6px;height:6px}.school-exam-view-mode-icon.is-list{align-content:center}.school-exam-view-mode-icon.is-list i{width:15px;height:3px}.school-exam-subject-modal .school-exam-subject-modal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:24px 26px 26px;scrollbar-gutter:stable}.school-exam-subject-modal .label{color:#111827;font-weight:700}.school-exam-subject-modal .input,.school-exam-subject-modal .select{background-color:#fff}.school-exam-subject-modal{display:flex;width:min(100%,720px);max-height:min(720px,calc(100vh - 36px));min-height:0;flex-direction:column}.school-exam-subject-modal .input:disabled,.school-exam-subject-modal .select:disabled{border-color:#dbe4f0;color:#64748b;background-color:#f1f5f9;box-shadow:inset 0 1px 2px #0f172a08;cursor:not-allowed;opacity:1;-webkit-text-fill-color:#64748b}.school-exam-subject-modal-footer{display:flex;flex:0 0 auto;justify-content:flex-end;gap:9px;padding:16px 26px 25px;border-top:1px solid #e7e8f1;background:#fff}.school-exams-configure-loading{display:flex;align-items:center;gap:13px;margin:3px 0 22px;padding:16px;border:1px solid #dbe4ff;border-radius:14px;color:#475569;background:linear-gradient(135deg,#f8faff,#f5f3ff)}.school-exams-loading-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:12px;color:#6358dd;background:#e9e7ff;animation:school-exam-loading-pulse 1.2s ease-in-out infinite}.school-exams-loading-icon svg{width:20px;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.school-exams-configure-loading strong,.school-exams-configure-loading span{display:block}.school-exams-read-only-notice{margin:6px 0 0;padding:0;border:0;border-radius:0;color:var(--text-muted, #64748b);background:transparent;font-size:12px}.school-exams-configure-loading strong{color:#303a53;font-size:12px}.school-exams-configure-loading span{margin-top:4px;color:#7c8799;font-size:11px}@keyframes school-exam-loading-pulse{50%{transform:scale(1.08);opacity:.7}}@media(max-width:700px){.school-exams-page{padding:20px 16px 48px}.school-exams-hero{align-items:flex-start;padding:25px 21px}.school-exams-hero-actions{width:100%;justify-content:flex-start}.school-exams-hero-mark{width:75px;height:75px;border-radius:22px}.school-exams-hero-mark svg{width:24px;height:24px}.school-exams-hero-mark span{display:none}.school-exams-stats{grid-template-columns:1fr 1fr}.school-exam-stat:last-child{grid-column:1 / -1}.school-exams-panel{padding:19px 16px}.school-exams-panel-heading{flex-direction:column}.school-exam-row{align-items:flex-start;flex-direction:column}.school-exam-row-actions{justify-content:flex-start;width:100%}.school-schedule-card-heading{align-items:flex-start}.school-schedule-list{grid-template-columns:1fr}.school-schedule-grade-divider,.school-schedule-section-divider{gap:10px}.school-schedule-grade-divider h3{font-size:16px}.school-schedule-marks{align-items:flex-start}}@media(max-width:480px){.school-exams-hero-mark{display:none}.school-exams-stats{grid-template-columns:1fr}.school-exam-stat:last-child{grid-column:auto}.school-exams-panel .grid-4,.school-exams-panel .grid-3{grid-template-columns:1fr}.school-exam-row-actions .btn{flex:1}.school-exam-modal-date-grid{grid-template-columns:1fr}.school-exam-modal-header,.school-exam-modal-form{padding-left:19px;padding-right:19px}.school-exam-subject-modal .school-exam-subject-modal-form{grid-template-columns:1fr;padding-left:19px;padding-right:19px}.school-exam-subject-modal-footer{padding-right:19px;padding-left:19px}.school-schedule-card{padding:16px}.school-schedule-card-heading{display:grid;grid-template-columns:auto minmax(0,1fr)}.school-schedule-marks{grid-column:2;margin-left:0}.school-schedule-card-details{grid-template-columns:1fr 1fr}.school-schedule-card-details div:last-child{grid-column:1 / -1}.school-schedule-card-details .school-schedule-card-actions{grid-column:2;justify-self:end}.school-exams-subject-form-actions .btn{width:100%}}.school-fees-page{max-width:1440px;padding-bottom:56px}.fees-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:34px 38px;border-radius:24px;color:#fff;background:radial-gradient(circle at 82% 12%,rgba(99,102,241,.48),transparent 30%),linear-gradient(125deg,#111827,#312e81 68%,#4338ca);box-shadow:0 18px 44px #1e293b2e;overflow:hidden;position:relative}.fees-hero:after{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;right:-80px;bottom:-220px;box-shadow:0 0 0 38px #ffffff0a,0 0 0 76px #ffffff08}.fees-hero-copy,.fees-hero-control{position:relative;z-index:1}.fees-hero h1{margin:10px 0 8px;color:#fff;font-size:clamp(29px,4vw,43px);letter-spacing:-.055em}.fees-hero p{margin:0;max-width:560px;color:#c7d2fe;line-height:1.65}.fees-kicker{display:block;color:#6366f1;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800}.fees-kicker-light{color:#c4b5fd}.fees-kicker i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px #c4b5fd26}.fees-hero-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;color:#cbd5e1;font-size:12px}.fees-hero-meta b{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#34d399}.fees-hero-control label{color:#fff;font-size:11px;font-weight:700}.fees-hero-control{display:grid;justify-items:end;gap:12px}.fees-year-select{display:block;min-width:210px;margin-top:8px;padding:12px 38px 12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;color:#fff;background:#0f172a52;font:inherit;outline:none}.fees-year-select option{color:#111827;background:#fff}.fees-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.fees-overview-layout{display:flex;flex-direction:column;gap:18px;margin-top:18px}.fees-overview-layout>.fees-filter-panel{order:-1}.fees-overview-layout>.fees-metrics-grid,.fees-overview-layout>.fees-insight-grid{margin-top:0}.fees-metric{position:relative;overflow:hidden;min-height:132px;padding:19px 20px;border:0;border-radius:18px;color:#fff;box-shadow:0 10px 24px -8px #0f172a47}.fees-metric:after{content:"";position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24}.fees-metric-top{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;color:#ffffffe0;font-size:12px;font-weight:700}.fees-metric-dot{width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 5px color-mix(in srgb,currentColor 13%,transparent)}.fees-metric-badge{position:relative;z-index:1;padding:5px 8px;border:1px solid rgba(255,255,255,.3);border-radius:999px;color:#fff;background:#ffffff29;font-size:11px;font-weight:800;white-space:nowrap}.fees-metric strong{position:relative;z-index:1;display:block;margin-top:17px;color:#fff;font-size:25px;letter-spacing:-.04em}.fees-metric small{position:relative;z-index:1;display:block;margin-top:7px;color:#ffffffc7;font-size:11px}.fees-metric-indigo{background:linear-gradient(135deg,#6366f1,#4f46e5)}.fees-metric-emerald{background:linear-gradient(135deg,#10b981,#059669)}.fees-metric-amber{background:linear-gradient(135deg,#f59e0b,#d97706)}.fees-metric-rose{background:linear-gradient(135deg,#f43f5e,#e11d48)}.fees-insight-grid{display:grid;grid-template-columns:1.25fr .95fr;gap:18px;margin-top:18px}.fees-filter-panel{width:100%}.fees-chart-panel,.fees-structures-panel,.fees-ledger-panel,.fees-action-card{border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 7px 22px #0f172a0a}.fees-chart-panel,.fees-structures-panel{min-width:0;box-sizing:border-box;padding:24px}.fees-structures-panel{max-height:none;overflow:visible}.fees-section-heading,.fees-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.fees-section-heading h2,.fees-panel-heading h2{margin:5px 0 0;font-size:19px;letter-spacing:-.035em}.fees-section-heading p{margin:7px 0 0;color:var(--color-text-muted);font-size:12px}.fees-chart-select-wrap{flex-shrink:0}.fees-chart-select{padding:7px 30px 7px 10px;border:1px solid #bfdbfe;border-radius:99px;color:#2563eb;background:#eff6ff;font-size:11px;font-weight:800;cursor:pointer}.fees-chart-select:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fees-chart-wrap{margin-top:18px;padding:4px 2px 0}.fees-chart-wrap svg{touch-action:none}.fees-month-axis{display:flex;justify-content:space-between;gap:8px;margin:-2px 12px 0 48px;color:#64748b;font-size:10px;font-weight:600}.fees-month-axis span{min-width:0;text-align:center}.fees-progress-pill{flex-shrink:0;padding:7px 10px;border-radius:99px;color:#047857;background:#d1fae5;font-size:13px;font-weight:600}.fees-progress-track{height:13px;margin:29px 0 24px;border-radius:99px;background:#e2e8f0;overflow:hidden}.fees-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#6366f1,#10b981)}.fees-overview-legend{display:flex;align-items:center;gap:28px}.fees-overview-legend>div{display:flex;align-items:center;gap:9px}.fees-overview-legend small,.fees-structure-row small{display:block;color:var(--color-text-muted);font-size:11px}.fees-overview-legend strong{display:block;margin-top:2px;font-size:14px}.fees-legend-dot{width:9px;height:9px;border-radius:50%}.fees-legend-collected{background:#10b981}.fees-legend-outstanding{background:#fbbf24}.fees-overview-total{margin-left:auto;text-align:right}.fees-count-pill{flex-shrink:0;padding:7px 10px;border-radius:99px;color:#4f46e5;background:#eef2ff;font-size:11px;font-weight:800}.fees-structure-list{min-height:0;margin-top:18px;overflow:visible;padding-right:6px}.fees-structure-list::-webkit-scrollbar{width:6px}.fees-structure-list::-webkit-scrollbar-thumb{border-radius:99px;background:#cbd5e1}.fees-structure-row{display:flex;align-items:center;gap:11px;padding:12px 0;border-bottom:1px solid var(--color-border)}.fees-structure-row:last-child{border-bottom:0}.fees-structure-row>div{flex:1;min-width:0}.fees-structure-row strong{display:block;font-size:13px}.fees-structure-row b{font-size:13px}.fees-structure-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;color:#6366f1;background:#eef2ff;font-size:14px;font-weight:800}.fees-empty-copy,.fees-panel-heading p,.fees-action-card p{color:var(--color-text-muted);font-size:13px;line-height:1.55}.fees-ledger-panel{margin-top:18px;overflow:hidden}.fees-panel-heading{padding:24px 24px 18px}.fees-panel-heading p{margin:7px 0 0}.fees-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:0 24px 16px}.fees-filter-row>.select{width:max-content;min-width:150px;max-width:100%;flex:0 1 auto}.fees-ledger-view-control{position:relative;display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto}.fees-ledger-toolbar{display:flex;justify-content:flex-end;padding:0 24px 12px}.fees-empty-table-row{min-width:790px;padding:24px;color:var(--color-text-muted);text-align:center}.fees-ledger-table-by-student .fees-empty-table-row{min-width:900px}.fees-apply-filters:disabled{cursor:not-allowed;opacity:.55}.fees-ledger-view-label{color:var(--color-text-muted);font-size:14px;font-weight:700;white-space:nowrap}.fees-ledger-view-button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-muted);background:var(--color-surface);cursor:pointer;transition:.2s ease}.fees-ledger-view-button:hover,.fees-ledger-view-button.is-active{border-color:#818cf8;color:#4f46e5;background:#eef2ff;box-shadow:0 5px 14px #6366f124}.fees-ledger-view-button.is-menu-open{border-bottom-right-radius:0;border-bottom-left-radius:0}.fees-ledger-view-button svg{width:20px;height:20px;stroke:currentColor}.fees-ledger-view-menu{position:absolute;z-index:30;top:100%;right:0;display:grid;min-width:170px;gap:4px;padding:8px;border:1px solid #c7d2fe;border-top:0;border-radius:0 0 13px 13px;background:var(--color-surface);box-shadow:0 16px 35px #0f172a29}.fees-ledger-view-menu>span{padding:5px 8px 7px;color:var(--color-text-muted);font-size:11px;font-weight:800}.fees-ledger-view-menu>button{padding:9px 10px;border:0;border-radius:8px;color:var(--color-text-primary);background:transparent;font:inherit;text-align:left;cursor:pointer}.fees-ledger-view-menu>button:hover,.fees-ledger-view-menu>button.is-selected{color:#4338ca;background:#eef2ff}.fees-filter-note{margin:0 24px 14px;padding:9px 12px;border-radius:10px;color:#4338ca;background:#eef2ff;font-size:12px}.fees-ledger-table{max-height:520px;overflow-x:auto;overflow-y:auto;border:1px solid #c7d2fe;border-radius:16px;background:var(--color-surface);box-shadow:0 8px 22px #4f46e514}.fees-ledger-head,.fees-ledger-row{display:grid;grid-template-columns:minmax(230px,1.8fr) repeat(3,minmax(100px,1fr)) minmax(100px,.8fr);gap:14px;align-items:center;min-width:790px;padding:13px 24px}.fees-ledger-table-by-student .fees-ledger-head,.fees-ledger-table-by-student .fees-ledger-row{grid-template-columns:minmax(230px,1.8fr) minmax(85px,.65fr) repeat(4,minmax(100px,1fr)) minmax(100px,.8fr);min-width:1010px}.fees-ledger-head{position:sticky;top:0;z-index:2;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}.fees-ledger-head button{padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.fees-ledger-head button:hover{color:#e0e7ff}.fees-ledger-due-label-mobile{display:none}.fees-ledger-row{border-top:1px solid var(--color-border);color:var(--color-text-primary);font-size:13px}.fees-student-cell{display:flex;align-items:center;gap:10px}.fees-avatar{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border-radius:10px;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);font-size:11px;font-weight:800}.fees-student-cell small{display:block;margin-top:3px;color:var(--color-text-muted)}.fees-due{color:#dc2626}.fees-paid{color:#059669}.fees-status{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:6px 11px;border:1px solid transparent;border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.01em;text-transform:capitalize;box-shadow:0 4px 10px #0f172a14}.fees-status:before{content:"";width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px #ffffffb8}.fees-status-paid{color:#047857;border-color:#a7f3d0;background:linear-gradient(135deg,#ecfdf5,#d1fae5)}.fees-status-due{color:#b45309;border-color:#fcd34d;background:linear-gradient(135deg,#fffbeb,#fef3c7)}.fees-status-partially_paid{color:#1d4ed8;border-color:#93c5fd;background:linear-gradient(135deg,#eff6ff,#bfdbfe)}.fees-status-overdue{color:#be123c;border-color:#fda4af;background:linear-gradient(135deg,#fff1f2,#ffe4e6)}.fees-empty-state{padding:36px 20px 42px;text-align:center}.fees-empty-icon{display:grid;place-items:center;width:40px;height:40px;margin:0 auto 10px;border-radius:14px;color:#10b981;background:#d1fae5;font-weight:800}.fees-empty-state strong{display:block}.fees-empty-state p{margin:7px 0 0;color:var(--color-text-muted);font-size:13px}.fees-actions-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:36px 2px 15px}.fees-actions-heading h2{margin:5px 0 0;font-size:22px}.fees-actions-heading p{margin:0;color:var(--color-text-muted);font-size:13px}.fees-structure-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.fees-view-structures-btn{width:auto;min-width:150px;border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.fees-view-structures-btn:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.fees-create-action-btn{flex-shrink:0;width:auto;min-width:190px}.fees-create-action-mobile{display:none}.fees-actions-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.school-fees-page.fees-actions-only .fees-actions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.school-fees-page.fees-actions-only .fees-payment-card{order:1}.school-fees-page.fees-actions-only .fees-assign-card{order:2}.fees-action-card{padding:22px}.fees-action-icon{display:grid;place-items:center;width:35px;height:35px;margin-bottom:16px;border-radius:11px;font-size:20px;font-weight:500}.fees-action-indigo{color:#4f46e5;background:#eef2ff}.fees-action-violet{color:#7c3aed;background:#f3e8ff}.fees-action-emerald{color:#059669;background:#d1fae5}.fees-action-card h3{margin:0;font-size:16px}.fees-action-card h3.fees-action-card-heading-large{font-size:18px}.fees-action-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.fees-action-title-row .fees-action-icon{margin:-4px 0 0}.fees-action-card>p{margin:6px 0 20px}.fees-action-card form{display:grid;gap:12px}.fees-assign-form{grid-template-columns:1fr}.fees-action-card .fees-assign-form>label,.fees-action-card .fees-assign-control{display:grid;width:fit-content;max-width:100%;grid-template-columns:170px minmax(0,1fr);column-gap:16px;align-items:center}.fees-action-card .fees-assign-form>label .fees-assign-field-label,.fees-action-card .fees-assign-control .fees-assign-field-label{color:var(--color-text-primary);font-size:15px;font-weight:600}.fees-action-card .fees-assign-form .select,.fees-action-card .fees-payment-form .input,.fees-action-card .fees-payment-form .select,.fees-action-card .fees-payment-form .fees-obligation-picker{width:260px;max-width:100%}.fees-assign-form .fees-inline-note,.fees-assign-form>button{grid-column:1 / -1}.fees-action-card .fees-assign-form>button{width:fit-content}.fees-multiselect{position:relative;width:260px;max-width:100%}.fees-multiselect-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:9px 13px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);background:var(--color-surface);font:inherit;text-align:left;cursor:pointer}.fees-multiselect.is-open .fees-multiselect-trigger,.fees-multiselect-trigger:hover{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11f}.fees-multiselect.is-open .fees-multiselect-trigger{border-bottom-right-radius:0;border-bottom-left-radius:0}.fees-multiselect-chevron{display:grid;place-items:center;width:18px;height:18px;color:#6366f1;transition:transform .2s ease}.fees-multiselect-chevron svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.fees-multiselect.is-open .fees-multiselect-chevron{transform:rotate(180deg)}.fees-multiselect-menu{position:absolute;z-index:20;top:100%;right:0;left:0;overflow:hidden;border:1px solid var(--color-border);border-top:0;border-radius:0 0 12px 12px;background:var(--color-surface);box-shadow:0 16px 35px #0f172a29}.fees-multiselect-actions{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:700}.fees-multiselect-actions button{padding:0;border:0;color:#4f46e5;background:transparent;font:inherit;cursor:pointer}.fees-multiselect-options{max-height:230px;overflow-y:auto;padding:6px}.fees-multiselect-option{display:grid!important;grid-template-columns:18px 1fr!important;column-gap:9px!important;align-items:center;padding:9px 8px;border-radius:8px;cursor:pointer}.fees-multiselect-option:hover{background:#f5f3ff}.fees-multiselect-option input{width:16px;height:16px;accent-color:#6366f1}.fees-multiselect-option span{overflow:hidden;color:var(--color-text-primary)!important;font-size:12px!important;font-weight:700!important;text-overflow:ellipsis;white-space:nowrap}.fees-multiselect-option small{grid-column:2;overflow:hidden;color:var(--color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.fees-multiselect-empty{margin:12px;color:var(--color-text-muted);font-size:12px}.fees-multiselect-options,.fees-obligation-options{max-height:240px;overflow-y:auto;overscroll-behavior:contain}.fees-obligation-picker{position:relative;width:260px;max-width:100%}.fees-obligation-menu{position:absolute;z-index:20;top:100%;right:0;left:0;overflow:hidden;border:1px solid #818cf8;border-top:0;border-radius:0 0 12px 12px;background:var(--color-surface);box-shadow:0 16px 35px #0f172a29}.fees-obligation-picker.is-open .fees-multiselect-trigger{border-color:#818cf8;border-bottom-right-radius:0;border-bottom-left-radius:0;box-shadow:0 0 0 3px #6366f11f}.fees-obligation-search{width:100%;padding:10px 12px;border:0;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);background:var(--color-surface);font:inherit;outline:none}.fees-obligation-options{max-height:250px;overflow-y:auto;padding:6px}.fees-obligation-option{display:grid;width:100%;gap:3px;padding:9px 10px;border:0;border-radius:8px;color:var(--color-text-primary);background:transparent;text-align:left;cursor:pointer}.fees-obligation-option:hover,.fees-obligation-option.is-selected{background:#f5f3ff}.fees-obligation-option strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.fees-obligation-option span{overflow:hidden;color:var(--color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.fees-action-card label{display:grid;gap:6px;color:var(--color-text-primary);font-size:11px;font-weight:800}.fees-action-card label span{color:var(--color-text-muted);font-weight:500}.fees-action-card label .fees-field-caption{color:var(--color-text-primary);white-space:nowrap}.fees-action-card label .fees-field-caption em{color:var(--color-text-muted);font-style:normal;font-weight:500}.fees-action-card .fees-assign-field-label,.fees-action-card .fees-payment-form .fees-form-label{color:var(--color-text-primary);font-size:15px;font-weight:600}.fees-required-star{color:#dc2626!important;font-style:normal;font-weight:800!important}.fees-action-card .input,.fees-action-card .select{width:100%;min-width:0;box-sizing:border-box}.fees-form-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fees-payment-form .fees-form-split{display:contents}.fees-action-card .fees-payment-form>label,.fees-action-card .fees-payment-form .fees-form-split>label{display:grid;width:fit-content;max-width:100%;grid-template-columns:170px minmax(0,1fr);column-gap:16px;align-items:center}.fees-action-card .fees-payment-form>button,.fees-action-card .fees-payment-actions .btn{width:fit-content;margin-top:0}.fees-payment-actions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.fees-inline-note{padding:8px 10px;border-radius:8px;color:#475569;background:#f8fafc;font-size:11px}.fees-online-checkout-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#1e293b,#1e3a8a);color:#fff;border:1px solid #3b82f6;font-weight:600;transition:all .2s ease}.fees-online-checkout-btn:hover:not(:disabled){background:linear-gradient(135deg,#1e3a8a,#2563eb);border-color:#60a5fa;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb40}.fees-action-card .btn{width:100%;margin-top:3px}.fees-structure-action-card{display:none}.fees-structure-action-card.is-modal{position:fixed;top:50%;left:50%;z-index:1002;display:block;width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 40px);padding:28px;overflow-y:auto;transform:translate(-50%,-50%);border-color:#818cf852;box-shadow:0 28px 90px #0f172a4d}.fees-structure-action-card.is-modal .fees-action-title-row{display:block;padding-right:38px}.fees-structure-action-card.is-modal .fees-action-title-row h3{font-size:23px;letter-spacing:-.04em}.fees-structure-action-card.is-modal>p{margin:3px 0 20px}.fees-structure-action-card.is-modal form{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.fees-structure-action-card.is-modal form>.fees-form-split{display:contents}.fees-structure-action-card.is-modal form>.fees-modal-actions{grid-column:1 / -1}.fees-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:2px}.fees-modal-actions .btn{width:auto;min-width:112px}.fees-modal-close{position:absolute;top:22px;right:22px;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);cursor:pointer;font-size:22px;line-height:1}.fees-modal-close:hover{color:#4f46e5;border-color:#a5b4fc;background:#eef2ff}.fees-structure-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:24px;background:#0f172a94}.fees-structure-modal{position:relative;width:min(680px,100%);max-height:min(80vh,760px);overflow:hidden;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 24px 64px #0f172a40}.fees-structure-list-modal{display:flex;height:min(560px,80vh);flex-direction:column}.fees-structure-modal-header{position:relative;padding:24px 68px 20px 24px;border-bottom:1px solid var(--color-border)}.fees-structure-modal-header h2{margin:6px 0;color:var(--color-text-primary);font-size:22px}.fees-structure-modal-header p{margin:0;color:var(--color-text-muted);font-size:13px}.fees-structure-modal-list{min-height:0;flex:1 1 auto;overflow-y:auto;padding:10px 24px 20px}.fees-structure-modal-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid var(--color-border)}.fees-structure-modal-row>div:first-child{display:grid;gap:4px}.fees-structure-modal-row>.fees-structure-row-actions{display:flex;flex:0 0 auto;flex-flow:row nowrap;align-items:center;gap:4px;white-space:nowrap}.fees-structure-modal-row strong{color:var(--color-text-primary)}.fees-structure-modal-row span,.fees-structure-modal-row small{color:var(--color-text-muted);font-size:12px}.fees-structure-modal-row small.is-active{color:#047857}.fees-structure-modal-row small.is-inactive{color:#b45309}.fees-structure-icon-button{display:grid;flex:0 0 38px;place-items:center;width:38px;height:38px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-primary);background:var(--color-surface);cursor:pointer}.fees-structure-icon-button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8}.fees-structure-detail-modal{width:min(560px,100%)}.fees-structure-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:24px}.fees-structure-detail-grid>div{min-width:0}.fees-structure-detail-grid dt{margin-bottom:5px;color:var(--color-text-muted);font-size:11px}.fees-structure-detail-grid dd{margin:0;color:var(--color-text-primary);font-size:14px;font-weight:700}.fees-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1001;width:100vw;height:100vh;padding:0;border:0;background:#0f172a85;cursor:default}.fees-toast{position:fixed;right:24px;bottom:24px;z-index:10;display:flex;align-items:center;gap:10px;padding:13px 17px;border:1px solid #bbf7d0;border-radius:13px;color:#166534;background:#f0fdf4;box-shadow:0 12px 30px #0f172a24;font-size:13px;font-weight:700}.fees-toast span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;color:#fff;background:#22c55e;font-size:11px}.school-fees-page:not(.fees-actions-only) .fees-actions-heading,.school-fees-page:not(.fees-actions-only) .fees-actions-grid{display:none}.school-fees-page.fees-actions-only>.fees-welcome,.school-fees-page.fees-actions-only>.fees-metrics-grid,.school-fees-page.fees-actions-only>.fees-insight-grid,.school-fees-page.fees-actions-only>.fees-ledger-panel{display:none}.school-fees-page.fees-actions-only .fees-actions-heading{margin-top:24px}.fees-welcome{display:flex;align-items:center;gap:30px;margin-top:18px;padding:38px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface)}.fees-welcome h2{margin:7px 0;font-size:22px}.fees-welcome p{margin:0;color:var(--color-text-muted)}.fees-welcome-art{position:relative;display:grid;place-items:center;width:130px;height:130px;flex-shrink:0;border-radius:38px;color:#6366f1;background:#eef2ff;font-size:42px;font-weight:800}.fees-welcome-art i{position:absolute;width:8px;height:8px;border-radius:50%;background:#a5b4fc}.fees-welcome-art i:nth-child(2){top:19px;right:21px}.fees-welcome-art i:nth-child(3){bottom:25px;left:20px;background:#6ee7b7}.fees-welcome-art i:nth-child(4){right:13px;bottom:36px;background:#fcd34d}@media(max-width:900px){.fees-metrics-grid,.fees-actions-grid{grid-template-columns:repeat(2,1fr)}.fees-insight-grid{grid-template-columns:1fr}}@media(max-width:620px){.fees-hero{display:block;padding:25px 21px}.fees-hero-control{margin-top:24px}.fees-year-select{width:100%}.fees-hero-control{justify-items:stretch}.fees-metrics-grid,.fees-actions-grid{grid-template-columns:1fr}.fees-insight-grid{grid-template-columns:minmax(0,1fr)}.fees-chart-panel,.fees-structures-panel{width:100%;min-width:0;padding:16px}.fees-chart-panel .fees-section-heading{flex-wrap:wrap;align-items:center}.fees-chart-select-wrap{margin-left:auto}.fees-chart-select{max-width:100%}.fees-chart-wrap{min-width:0}.fees-month-axis{gap:2px;margin-left:38px;margin-right:4px;font-size:8px}.fees-filter-row{display:grid;grid-template-columns:1fr}.fees-filter-row>.select{width:100%}.fees-ledger-view-control{justify-self:end}.school-fees-page.fees-actions-only .fees-actions-grid{grid-template-columns:1fr}.fees-overview-legend{flex-wrap:wrap;gap:17px}.fees-overview-total{width:100%;margin-left:0;text-align:left}.fees-actions-heading{display:block}.fees-structure-header-actions{justify-content:stretch;margin-top:14px}.fees-structure-header-actions>button{flex:1 1 0;min-width:0}.fees-create-action-btn{width:100%;margin-top:0}.fees-create-action-desktop{display:none}.fees-create-action-mobile{display:inline}.fees-structure-action-card.is-modal form{grid-template-columns:1fr}.fees-structure-action-card.is-modal form>.fees-modal-actions{grid-column:auto}.fees-structure-action-card.is-modal form>.fees-form-split{display:grid}.fees-structure-modal-backdrop{padding:12px}.fees-structure-detail-grid{grid-template-columns:1fr;gap:13px}.fees-modal-actions{flex-direction:row;align-items:stretch}.fees-modal-actions .btn{flex:1 1 0;width:auto;min-width:0;padding-left:8px;padding-right:8px;white-space:nowrap}.fees-actions-heading p{margin-top:8px}.fees-assign-form{grid-template-columns:1fr}.fees-action-card .fees-assign-form>label,.fees-action-card .fees-assign-control{grid-template-columns:145px minmax(0,1fr);column-gap:10px}.fees-action-card .fees-payment-form>label,.fees-action-card .fees-payment-form .fees-form-split>label{width:100%;grid-template-columns:145px minmax(0,1fr);column-gap:10px}.fees-action-card .fees-payment-form>button,.fees-action-card .fees-payment-actions .btn{width:100%}.fees-payment-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;width:100%}.fees-action-card .fees-assign-form .select,.fees-action-card .fees-payment-form .input,.fees-action-card .fees-payment-form .select,.fees-action-card .fees-payment-form .fees-obligation-picker,.fees-action-card .fees-assign-form .fees-multiselect{width:100%}.fees-welcome{display:block;padding:25px}.fees-welcome-art{margin-bottom:22px}.fees-ledger-head,.fees-ledger-row{padding-left:15px;padding-right:15px}.fees-ledger-table-by-student .fees-ledger-head,.fees-ledger-table-by-student .fees-ledger-row{grid-template-columns:minmax(120px,1.25fr) minmax(55px,.55fr) repeat(4,minmax(68px,.8fr)) minmax(66px,.7fr);min-width:720px;gap:8px;padding-left:10px;padding-right:10px}.fees-ledger-due-label-desktop{display:none}.fees-ledger-due-label-mobile{display:inline}.fees-ledger-table-by-student .fees-student-cell{gap:6px;min-width:0}.fees-ledger-table-by-student .fees-avatar{width:25px;height:25px}.fees-ledger-table-by-student .fees-student-cell>div{min-width:0}.fees-ledger-table-by-student .fees-student-cell strong,.fees-ledger-table-by-student .fees-student-cell small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fees-filter-row{padding-left:15px;padding-right:15px}.fees-filter-note{margin-left:15px;margin-right:15px}}.school-fees-page select{-moz-appearance:none!important;appearance:none!important;-webkit-appearance:none!important;padding-right:44px!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:14px 14px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important}.school-fees-page .fees-year-select{padding-right:44px!important;background-color:#0f172a52!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23c4b5fd' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important}.school-fees-page .fees-hero-meta,.school-fees-page .fees-hero-control label,.school-fees-page .fees-metric-top,.school-fees-page .fees-metric small,.school-fees-page .fees-overview-legend small,.school-fees-page .fees-structure-row small,.school-fees-page .fees-count-pill,.school-fees-page .fees-empty-copy,.school-fees-page .fees-panel-heading p,.school-fees-page .fees-filter-note,.school-fees-page .fees-ledger-head,.school-fees-page .fees-ledger-row,.school-fees-page .fees-student-cell small,.school-fees-page .fees-status,.school-fees-page .fees-empty-state p,.school-fees-page .fees-actions-heading p,.school-fees-page .fees-action-card p,.school-fees-page .fees-action-card label,.school-fees-page .fees-action-card label span,.school-fees-page .fees-inline-note,.school-fees-page .fees-toast,.school-fees-page .fees-kicker{font-size:13px}.school-fees-page .fees-metric-top,.school-fees-page .fees-ledger-row,.school-fees-page .fees-student-cell small,.school-fees-page .fees-status{font-size:14px}.school-fees-page .fees-ledger-row .fees-ledger-amount,.school-fees-page .fees-ledger-row .fees-ledger-paid{font-weight:600}.school-fees-page .fees-metric-dot{box-shadow:0 0 0 5px #6366f129}.school-fees-page .fees-metric-indigo .fees-metric-dot{background:#6366f1;box-shadow:0 0 0 5px #6366f129}.school-fees-page .fees-metric-emerald .fees-metric-dot{background:#10b981;box-shadow:0 0 0 5px #10b98129}.school-fees-page .fees-metric-amber .fees-metric-dot{background:#f59e0b;box-shadow:0 0 0 5px #f59e0b2e}.school-fees-page .fees-metric-rose .fees-metric-dot{background:#f43f5e;box-shadow:0 0 0 5px #f43f5e29}.school-fees-page h1,.school-fees-page h2,.school-fees-page h3,.school-fees-page strong,.school-fees-page b{font-weight:700}.school-fees-page .fees-kicker,.school-fees-page .fees-hero-control label,.school-fees-page .fees-metric-top,.school-fees-page .fees-count-pill,.school-fees-page .fees-ledger-head,.school-fees-page .fees-status,.school-fees-page .fees-action-card label,.school-fees-page .btn,.school-fees-page .fees-metric strong,.school-fees-page .fees-progress-pill,.school-fees-page .fees-student-cell strong,.school-fees-page .fees-structure-row strong,.school-fees-page .fees-structure-row b{font-weight:600}.fees-receipt-modal{width:min(840px,100%);max-height:min(92vh,880px);display:flex;flex-direction:column}.fees-receipt-actions-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;background:var(--color-surface-hover, #f8fafc);border-bottom:1px solid var(--color-border)}.fees-receipt-actions-status{display:flex;align-items:center;gap:10px}.fees-receipt-verified-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:#ecfdf5;color:#059669;font-size:12px;font-weight:700;border:1px solid #a7f3d0}.fees-receipt-ref-pill{font-family:monospace;font-size:12px;color:var(--color-text-muted);background:#64748b14;padding:3px 8px;border-radius:6px}.fees-receipt-actions-btns{display:flex;gap:10px}.fees-receipt-print-btn{background:#4f46e5;color:#fff}.fees-receipt-scroll-area{flex:1 1 auto;overflow-y:auto;padding:24px;background:#f1f5f9}.fees-receipt-document{max-width:740px;margin:0 auto;background:#fff;color:#0f172a;border-radius:12px;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;border:1px solid #e2e8f0;overflow:hidden}.fees-receipt-inner{padding:36px 40px}.fees-receipt-brand-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.fees-receipt-school-kicker{color:#6366f1;font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:800;margin-bottom:4px}.fees-receipt-school-name{margin:0 0 6px;font-size:26px;font-weight:800;color:#1e293b;letter-spacing:-.03em}.fees-receipt-school-address{margin:0 0 4px;font-size:13px;color:#64748b;max-width:440px;line-height:1.5}.fees-receipt-school-contact{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;color:#64748b;margin-top:4px}.fees-receipt-stamp{display:inline-block;padding:6px 16px;border:2px solid #059669;color:#059669;font-size:16px;font-weight:800;letter-spacing:.12em;border-radius:8px;transform:rotate(-3deg);background:#f0fdf4}.fees-receipt-divider{height:2px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1 50%,#e2e8f0);margin:24px 0}.fees-receipt-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px 20px;padding:16px 20px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:24px}.fees-receipt-meta-cell{display:flex;flex-direction:column;gap:3px}.fees-receipt-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:600}.fees-receipt-value{font-size:13px;color:#1e293b;font-weight:500}.fees-receipt-strong-mono{font-family:monospace;font-weight:700;font-size:14px;color:#0f172a}.fees-receipt-mono{font-family:monospace;font-size:12px}.fees-receipt-tz{font-size:11px;color:#64748b}.fees-receipt-capitalize{text-transform:capitalize}.fees-receipt-details-card{border:1px solid #e2e8f0;border-radius:10px;padding:18px 20px;margin-bottom:24px}.fees-receipt-details-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#475569;font-weight:700;margin-bottom:12px}.fees-receipt-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px 20px}.fees-receipt-table{width:100%;border-collapse:collapse;margin-bottom:24px;font-size:13px}.fees-receipt-table th{text-align:left;padding:10px 12px;background:#f8fafc;border-top:1px solid #e2e8f0;border-bottom:2px solid #cbd5e1;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.fees-receipt-table td{padding:14px 12px;border-bottom:1px solid #e2e8f0;color:#1e293b}.fees-receipt-text-right{text-align:right!important}.fees-receipt-summary-box{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 22px;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;margin-bottom:28px}.fees-receipt-summary-note{display:flex;align-items:flex-start;gap:12px;max-width:440px}.fees-receipt-summary-tick{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#10b981;color:#fff;font-size:13px;font-weight:800;flex-shrink:0}.fees-receipt-summary-note strong{font-size:13px;color:#0f172a;display:block;margin-bottom:2px}.fees-receipt-summary-note p{margin:0;font-size:12px;color:#64748b;line-height:1.45}.fees-receipt-total-col{text-align:right}.fees-receipt-total-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:700;margin-bottom:4px}.fees-receipt-total-amount{font-size:24px;font-weight:800;color:#059669;letter-spacing:-.02em}.fees-receipt-footer{text-align:center;padding-top:16px;border-top:1px dashed #cbd5e1;font-size:12px;color:#64748b}.fees-receipt-footer p{margin:0 0 8px;font-weight:500}.fees-receipt-audit-trail{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;font-size:11px;font-family:monospace;color:#94a3b8}.fees-ledger-status-cell{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.fees-receipt-btn{padding:4px 8px;font-size:11px;font-weight:600;border-radius:6px;border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;cursor:pointer;transition:all .15s ease;white-space:nowrap}.fees-receipt-btn:hover{background:#e0e7ff;border-color:#818cf8;color:#3730a3}@media print{body *{visibility:hidden!important}#fee-payment-receipt,#fee-payment-receipt *{visibility:visible!important}.fees-receipt-modal-backdrop{position:static!important;display:block!important;padding:0!important;margin:0!important;background:transparent!important;box-shadow:none!important;inset:auto!important;z-index:auto!important;width:100%!important;height:auto!important;max-height:none!important;overflow:visible!important}.fees-receipt-modal{position:static!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;margin:0!important;padding:0!important;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}.fees-receipt-scroll-area{display:block!important;overflow:visible!important;height:auto!important;max-height:none!important;padding:0!important;margin:0!important;background:transparent!important}#fee-payment-receipt{position:static!important;display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;background:#fff!important;color:#0f172a!important;box-shadow:none!important;border:none!important;border-radius:0!important;overflow:visible!important}.fees-receipt-inner{padding:0!important}.no-print,.fees-receipt-actions-bar,.fees-receipt-modal-header,.fees-modal-close,.toast-container,nav,header,aside,button{display:none!important}@page{size:A4 portrait;margin:15mm}}.school-grades-page{width:100%;max-width:1260px;box-sizing:border-box;padding-left:8px;padding-right:8px}.school-grades-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 32px;margin-bottom:30px;border:1px solid #c7d2fe;border-radius:26px;background:radial-gradient(circle at 88% 10%,#a5b4fc80,transparent 32%),linear-gradient(135deg,#eef2ff,#f5f3ff 54%,#ecfeff);box-shadow:0 18px 45px #6366f11c}.school-grade-kicker{display:block;color:#4f46e5;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.school-grades-hero h1{margin:8px 0;color:#172033;font-size:clamp(24px,3vw,32px);font-weight:760;letter-spacing:-.045em;line-height:1.1}.school-grades-hero p{max-width:620px;margin:0;color:#64748b;font-size:13px;line-height:1.65}.school-grade-create-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:140px;border-radius:12px;padding:12px 18px;box-shadow:0 9px 22px #6366f13d}.school-grade-create-button span{font-size:20px;font-weight:400;line-height:1}.school-grades-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.school-grades-section-heading h2{margin:0;color:var(--color-text-primary);font-size:19px;letter-spacing:-.03em}.school-grades-section-heading p{margin:5px 0 0;color:var(--color-text-muted);font-size:12px}.school-grades-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.school-grade-card{position:relative;display:flex;min-height:285px;flex-direction:column;overflow:hidden;padding:22px;border:1px solid #dbe5f3;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 12px 32px #64748b18;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.school-grade-card:after{position:absolute;top:-48px;right:-38px;width:145px;height:145px;border-radius:50%;background:#c7d2fe55;content:""}.school-grade-card:hover{border-color:#a5b4fc;box-shadow:0 18px 40px #6366f12b;transform:translateY(-3px)}.school-grade-card.is-inactive{border-color:#fecaca;background:linear-gradient(145deg,#fff,#fff7f7)}.school-grade-card.is-inactive:after{background:#fecaca55}.school-grade-card-topline,.school-grade-card-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.school-grade-icon,.school-grade-modal-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c7d2fe;border-radius:14px;color:#4f46e5;background:#eef2ff}.school-grade-icon svg,.school-grade-modal-icon svg,.school-grades-empty-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.school-grade-card.is-inactive .school-grade-icon{border-color:#fecaca;color:#dc2626;background:#fef2f2}.school-grade-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800}.school-grade-status i,.school-grade-card-footer b{display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.school-grade-status.is-active{color:#047857;background:#d1fae5}.school-grade-status.is-inactive{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.school-grade-card-copy{position:relative;z-index:1;margin:25px 0 21px}.school-grade-card-copy .school-grade-kicker{color:#818cf8;font-size:9px}.school-grade-card-copy h2{margin:7px 0 6px;color:#172033;font-size:27px;letter-spacing:-.055em}.school-grade-card-copy p{margin:0;color:#64748b;font-size:11px;line-height:1.55}.school-grade-card-detail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.school-grade-card-detail div{display:grid;gap:5px}.school-grade-card-detail span{color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-grade-card-detail strong{color:#334155;font-size:12px}.school-grade-card-footer{margin-top:auto;padding-top:16px;color:#94a3b8;font-size:10px}.school-grade-card-footer span:first-child{display:inline-flex;align-items:center;gap:6px}.school-grade-card-footer b{color:#818cf8}.school-grade-card.is-inactive .school-grade-card-footer span:last-child{color:#b91c1c;font-weight:750}.school-grades-empty{display:grid;place-items:center;padding:68px 24px;border:1px dashed #cbd5e1;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fbff);text-align:center}.school-grades-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:20px;color:#4f46e5;background:#eef2ff}.school-grades-empty h2{margin:0 0 7px;color:var(--color-text-primary);font-size:20px}.school-grades-empty p{max-width:380px;margin:0 0 20px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.school-grades-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.school-grades-loading div{height:285px;border-radius:22px;background:linear-gradient(100deg,#eef2f7,#fff,#eef2f7);background-size:200% 100%;animation:school-grade-shimmer 1.35s infinite}@keyframes school-grade-shimmer{to{background-position:-200% 0}}.school-grade-modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:school-grade-fade .18s ease}.school-grade-modal{width:min(100%,570px);max-height:min(720px,92vh);overflow:auto;border:1px solid #ffffffb8;border-radius:24px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a45;animation:school-grade-rise .22s ease}.school-grade-modal-header{display:flex;justify-content:space-between;gap:16px;padding:25px 26px 21px;border-bottom:1px solid var(--color-border)}.school-grade-modal-heading{display:flex;align-items:flex-start;gap:14px}.school-grade-modal-icon{flex:0 0 auto;color:#fff;border:0;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 8px 20px #6366f13d}.school-grade-modal-header h2{margin:5px 0;color:var(--color-text-primary);font-size:20px;letter-spacing:-.04em}.school-grade-modal-header p{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.5}.school-grade-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);font-size:23px;line-height:1;cursor:pointer}.school-grade-modal-close:hover{color:var(--color-text-primary);border-color:#a5b4fc}.school-grade-modal-body{display:grid;gap:19px;padding:25px 26px}.school-grade-field{display:grid;gap:8px}.school-grade-field>span{color:var(--color-text-primary);font-size:12px;font-weight:800}.school-grade-field>span b{color:#ef4444}.school-grade-field>span em{color:var(--color-text-muted);font-size:10px;font-style:normal;font-weight:500}.school-grade-field input{width:100%;min-height:45px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:12px;outline:0;padding:0 13px;color:var(--color-text-primary);background:var(--color-bg);font:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s}.school-grade-field input:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11f}.school-grade-field small{color:var(--color-text-muted);font-size:10px}.school-grade-form-error{margin:-5px 0 0;padding:10px 12px;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:11px;font-weight:700}.school-grade-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px 23px;border-top:1px solid var(--color-border)}.school-grade-submit{display:inline-flex;align-items:center}.school-grade-modal-footer .btn-secondary{border-color:#c7d2fe;color:#4f46e5;background:#eef2ff}.school-grade-modal-footer .btn-secondary:hover:not(:disabled),.school-grade-modal-footer .btn-secondary:focus-visible{border-color:#818cf8;color:#3730a3;background:#e0e7ff;box-shadow:0 6px 16px #6366f126;outline:none}@keyframes school-grade-fade{0%{opacity:0}to{opacity:1}}@keyframes school-grade-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.school-grades-hero{align-items:stretch;flex-direction:column;padding:23px 20px;margin-bottom:24px}.school-grade-create-button{width:100%}.school-grades-grid,.school-grades-loading{grid-template-columns:1fr}.school-grade-modal-overlay{align-items:flex-end;padding:0}.school-grade-modal{max-height:94vh;border-radius:24px 24px 0 0}.school-grade-modal-header,.school-grade-modal-body{padding-left:20px;padding-right:20px}.school-grade-modal-footer{padding:15px 20px 20px}.school-grade-modal-footer button{flex:1}}.school-grade-card-actions{display:inline-flex;align-items:center;gap:8px}.school-grade-status-action{border:0;padding:0;color:#4f46e5;background:transparent;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.school-grade-status-action:hover,.school-grade-status-action:focus-visible{color:#3730a3;text-decoration:underline}.school-grade-edit-button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #c7d2fe;border-radius:10px;color:#6366f1;background:#eef2ff;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.school-grade-edit-button svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.school-grade-edit-button:hover,.school-grade-edit-button:focus-visible{border-color:#818cf8;color:#4338ca;background:#e0e7ff;box-shadow:0 5px 14px #6366f126;outline:none;transform:translateY(-1px)}.school-lifecycle-actions{display:flex;justify-content:flex-end;gap:10px;margin-bottom:16px}.school-lifecycle-actions .btn-primary-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.school-lifecycle-actions .btn-primary-outline:hover:not(:disabled){border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.school-lifecycle-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px}.school-lifecycle-workspace>.card{min-width:0;height:100%}.school-lifecycle-promotion-card,.school-lifecycle-promotion-preview-card{grid-row:1}.school-lifecycle-promotion-card{grid-column:1}.school-lifecycle-promotion-preview-card{grid-column:2;display:flex;flex-direction:column}.school-lifecycle-promotion-preview-card[hidden]{display:none}.school-lifecycle-promotion-preview-card>.school-lifecycle-card-heading{flex:0 0 auto}.school-lifecycle-promotion-preview-card>.btn-primary-outline{align-self:flex-start;border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.school-lifecycle-promotion-preview-card>.btn-primary-outline:hover:not(:disabled){border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.school-lifecycle-student-selection{margin-top:8px;padding-top:0}.school-lifecycle-student-selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.school-lifecycle-student-selection-heading h3{margin:0;color:var(--color-text-primary, #0f172a);font-size:14px}.school-lifecycle-student-selection-heading p{margin:4px 0 0;font-size:11px}.school-lifecycle-selection-actions{display:flex;flex:0 0 auto;gap:10px}.school-lifecycle-selection-link{padding:5px 0;border:0;color:var(--color-primary);background:transparent;font:inherit;font-size:11px;font-weight:750;cursor:pointer}.school-lifecycle-selection-link:disabled{color:var(--color-text-muted, #94a3b8);cursor:not-allowed}.school-lifecycle-student-list{display:grid;gap:7px;max-height:300px;overflow:auto;padding:2px 4px 2px 2px}.school-lifecycle-student-row{display:flex;align-items:center;gap:10px;min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,#64748b 14%,var(--color-border));border-radius:12px;background:color-mix(in srgb,var(--color-surface) 96%,#64748b);transition:border-color .18s ease,background .18s ease}.school-lifecycle-student-row.is-selected{border-color:#a9e3ca;background:linear-gradient(100deg,#ecfdf5,var(--color-surface) 78%)}.school-lifecycle-student-avatar{display:grid;flex:0 0 34px;width:34px;height:34px;place-items:center;border:1px solid #cbd5e1;border-radius:10px;color:#475569;background:#f1f5f9;font-size:12px;font-weight:800}.school-lifecycle-student-row>strong{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary, #0f172a);font-size:12px}.school-lifecycle-attendance-toggle{position:relative;display:inline-flex;flex:0 0 58px;align-items:center;width:58px;height:30px;padding:3px;border:1px solid #f0b8bd;border-radius:999px;color:#d95e66;background:#fff0f1;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.school-lifecycle-attendance-toggle.is-on{border-color:#a9e3ca;color:#159568;background:#e8faf2}.school-lifecycle-attendance-toggle:hover{box-shadow:0 5px 14px #26314b1f}.school-lifecycle-attendance-toggle:focus-visible{outline:3px solid color-mix(in srgb,#159568 30%,transparent);outline-offset:2px}.school-lifecycle-attendance-toggle-knob{width:22px;height:22px;border-radius:50%;background:currentColor;box-shadow:0 2px 5px #26314b33;transition:transform .18s ease}.school-lifecycle-attendance-toggle.is-on .school-lifecycle-attendance-toggle-knob{transform:translate(27px)}.school-lifecycle-attendance-toggle-caption{position:absolute;right:8px;color:currentColor;font-size:8px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.school-lifecycle-attendance-toggle.is-on .school-lifecycle-attendance-toggle-caption{right:auto;left:7px}.school-lifecycle-student-list-empty,.school-lifecycle-preview-empty{color:var(--color-text-muted, #64748b);font-size:12px;line-height:1.6}.school-lifecycle-preview-empty{margin:0 0 10px;font-size:11px}.school-lifecycle-preview-summary{display:flex;align-items:baseline;gap:7px;margin-top:18px;color:var(--color-text-muted, #64748b);font-size:11px}.school-lifecycle-preview-summary strong{color:#047857;font-size:17px}.school-lifecycle-preview-results{display:grid;gap:8px;max-height:380px;overflow:auto;margin:10px 0 18px}.school-lifecycle-preview-result{padding:11px 12px;border:1px solid var(--color-border);border-radius:11px;background:color-mix(in srgb,var(--color-surface) 94%,var(--color-primary))}.school-lifecycle-preview-result>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.school-lifecycle-preview-result>div>strong{min-width:0;overflow-wrap:anywhere;font-size:12px}.school-lifecycle-preview-status{flex:0 0 auto;padding:4px 8px;border-radius:99px;color:#047857;background:#d1fae5;font-size:10px;font-weight:750;text-transform:capitalize}.school-lifecycle-preview-status.has-conflicts{color:#b45309;background:#fef3c7}.school-lifecycle-preview-result p{margin:7px 0 0;font-size:11px;line-height:1.5}.school-lifecycle-promotion-footer{margin:auto -20px -20px;padding:14px 20px 20px;border-top:1px solid var(--color-border);border-radius:0 0 16px 16px;background:color-mix(in srgb,var(--color-surface) 96%,#eef2ff)}.school-lifecycle-promotion-footer-actions{display:flex;gap:10px}.school-lifecycle-promotion-footer-actions .btn{flex:1 1 0;min-width:0;justify-content:center;padding-right:10px;padding-left:10px;line-height:1.25;text-align:center}.school-lifecycle-card-heading{position:relative;margin:-20px -20px 20px;padding:17px 19px 15px;overflow:hidden;border:1px solid var(--color-border);border-top-color:#0f9f8f;border-right-color:#0f9f8f;border-left:4px solid #0f9f8f;border-radius:14px 14px 0 0;background:linear-gradient(120deg,color-mix(in srgb,#0f9f8f 12%,var(--color-surface)),color-mix(in srgb,#84cc16 7%,var(--color-surface)))}.school-lifecycle-card-heading .card-title{margin-bottom:6px;font-size:18px;letter-spacing:-.02em}.school-lifecycle-card-heading .section-sub{max-width:52ch;margin:0;font-size:12.5px;line-height:1.6}.school-lifecycle-fields{display:grid;gap:14px}.school-lifecycle-field{display:grid;grid-template-columns:minmax(145px,.8fr) minmax(0,1.5fr);align-items:center;gap:16px;color:var(--color-text, #1e293b);font-weight:500}.school-lifecycle-field .input,.school-lifecycle-field .select{width:100%;min-width:0;color:var(--color-text-primary, #0f172a);font-weight:400}.school-lifecycle-field .field-required{margin-left:0}.school-lifecycle-field-wide{align-items:start}.school-lifecycle-field-wide>span{padding-top:10px}.school-lifecycle-field textarea{resize:vertical}.school-lifecycle-rollover-checkbox{display:flex;align-items:center;gap:9px;color:var(--color-text, #1e293b);font-weight:400}.school-lifecycle-rollover-checkbox input{accent-color:var(--color-primary)}.school-lifecycle-form-actions{display:flex;justify-content:flex-end}.school-lifecycle-rollover{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:20px}.school-lifecycle-rollover[hidden]{display:none}.school-lifecycle-rollover-form,.school-lifecycle-rollover-summary{min-width:0;height:100%}.school-lifecycle-rollover-summary{position:relative;overflow:hidden;grid-column:2;grid-row:1;padding:24px;border:1px solid color-mix(in srgb,#0f9f8f 24%,var(--color-border));background:radial-gradient(ellipse at 100% 0%,color-mix(in srgb,#84cc16 15%,transparent),transparent 48%),linear-gradient(145deg,color-mix(in srgb,#0f9f8f 8%,var(--color-surface)),var(--color-surface) 68%);box-shadow:0 16px 38px #0f766e17}.school-lifecycle-rollover-success-header{display:flex;align-items:center;gap:9px;margin-bottom:17px}.school-lifecycle-rollover-success-icon{display:grid;width:26px;height:26px;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(145deg,#0f9f8f,#16a34a);font-size:15px;font-weight:800;box-shadow:0 4px 12px #0f9f8f3d}.school-lifecycle-rollover-success-label{color:#0f766e;font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.school-lifecycle-rollover-summary>.card-title{margin-bottom:18px;font-size:21px;letter-spacing:-.035em;overflow-wrap:anywhere}.school-lifecycle-rollover-details{display:grid;gap:10px}.school-lifecycle-rollover-summary .school-lifecycle-rollover-detail{display:grid;gap:5px;padding:13px 14px;border:1px solid color-mix(in srgb,#0f9f8f 11%,var(--color-border));border-radius:12px;background:color-mix(in srgb,var(--color-surface) 88%,#0f9f8f)}.school-lifecycle-rollover-detail span{color:var(--color-text-muted, #64748b);font-size:11px;font-weight:650}.school-lifecycle-rollover-detail strong{color:var(--color-text-primary, #0f172a);font-size:14px;overflow-wrap:anywhere}.school-lifecycle-rollover-note{margin:16px 0;color:var(--color-text-muted, #64748b);font-size:12px;line-height:1.65}.school-lifecycle-rollover-summary .btn-primary-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.school-lifecycle-rollover-summary .btn-primary-outline:hover{border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.school-lifecycle-modal-overlay{z-index:1100;background:#0f172a94}.school-lifecycle-modal{width:min(100%,640px);max-width:640px;max-height:min(90vh,820px);overflow-y:auto;background:var(--color-surface);box-shadow:0 28px 80px #0f172a4d,0 8px 24px #0f172a1f}.school-lifecycle-modal-heading{background:linear-gradient(135deg,#6366f117,#0ea5e90d)}.school-lifecycle-modal-heading .modal-icon-badge{background:linear-gradient(135deg,#4f46e5,#0ea5e9)}.school-lifecycle-form{display:grid;gap:12px;background:linear-gradient(180deg,var(--color-surface),var(--color-background, #f8fafc))}.school-lifecycle-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px;padding:16px 0 0}.modal-overlay.school-lifecycle-inline-transfer{position:static;display:block;inset:auto;width:calc(50% - 10px);padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;animation:none}.school-lifecycle-inline-transfer .school-lifecycle-transfer-card{padding:20px;width:100%;max-width:none;max-height:none;overflow:visible;border-radius:16px;box-shadow:none;border:1px solid var(--color-border)}.school-lifecycle-transfer-card .school-lifecycle-card-heading{display:block}.school-lifecycle-transfer-card .school-lifecycle-modal-heading{background:linear-gradient(120deg,color-mix(in srgb,#0f9f8f 12%,var(--color-surface)),color-mix(in srgb,#84cc16 7%,var(--color-surface)))}.school-lifecycle-transfer-card .modal-title-group{display:block}.school-lifecycle-transfer-card .school-lifecycle-form{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;background:transparent}.school-lifecycle-transfer-card .school-lifecycle-field{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px}.school-lifecycle-transfer-card .school-lifecycle-field-wide,.school-lifecycle-transfer-card .school-lifecycle-modal-actions{grid-column:1 / -1}.school-lifecycle-transfer-card .school-lifecycle-field-wide>span{padding-top:0}.school-lifecycle-transfer-card .school-lifecycle-modal-actions{border-top:0}@media(max-width:760px){.modal-overlay.school-lifecycle-inline-transfer{width:100%}.school-lifecycle-transfer-card .school-lifecycle-form{grid-template-columns:minmax(0,1fr)}}.modal-overlay .school-lifecycle-modal.school-lifecycle-withdrawals-modal{width:min(92vw,600px);max-width:600px}.school-lifecycle-withdrawals-modal .modal-body{min-width:0;padding:16px}.school-lifecycle-withdrawals-table-wrap{overflow-x:auto;border:1px solid #dbe5f3;border-radius:10px;background:var(--color-surface);box-shadow:0 10px 26px #0f172a0f}.school-lifecycle-withdrawals-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;text-align:left}.school-lifecycle-withdrawals-col-student{width:28%}.school-lifecycle-withdrawals-col-grade{width:18%}.school-lifecycle-withdrawals-col-section{width:23%}.school-lifecycle-withdrawals-col-year{width:31%}.school-lifecycle-withdrawals-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.school-lifecycle-withdrawals-table th{padding:8px 10px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.school-lifecycle-withdrawals-table th:first-child{border-top-left-radius:9px}.school-lifecycle-withdrawals-table th:last-child{border-top-right-radius:9px}.school-lifecycle-withdrawals-table td{padding:8px 10px;border-top:1px solid #edf2f7;color:#64748b;font-size:12px;overflow-wrap:anywhere}.school-lifecycle-withdrawals-table td strong{color:#172033;font-weight:750}.school-lifecycle-withdrawals-table tbody tr:hover{background:#f8faff}.school-lifecycle-withdrawals-table .school-lifecycle-withdrawals-empty{padding:28px 18px;color:var(--color-text-muted, #64748b);text-align:center}.school-lifecycle-year-heading-mobile{display:none}@media(max-width:760px){.school-lifecycle-workspace{grid-template-columns:minmax(0,1fr)}.school-lifecycle-promotion-card,.school-lifecycle-promotion-preview-card{grid-column:1;grid-row:auto}.school-lifecycle-rollover{grid-template-columns:minmax(0,1fr)}.school-lifecycle-rollover-summary{grid-column:1;grid-row:auto}}@media(max-width:560px){.school-lifecycle-student-selection-heading{align-items:flex-start;flex-direction:column}.school-lifecycle-student-list{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.modal-overlay .school-lifecycle-modal.school-lifecycle-withdrawals-modal{width:100%}.school-lifecycle-withdrawals-table{min-width:440px}.school-lifecycle-year-heading-desktop{display:none}.school-lifecycle-year-heading-mobile{display:inline}.school-lifecycle-actions{flex-wrap:nowrap}.school-lifecycle-actions>button{flex:1 1 0;min-width:0;padding-right:8px;padding-left:8px;white-space:nowrap}.school-lifecycle-workspace>.card{width:100%}.school-lifecycle-modal-heading,.school-lifecycle-form{padding:18px}.school-lifecycle-field{grid-template-columns:1fr;gap:6px}.school-lifecycle-field-wide>span{padding-top:0}}.school-report-page{max-width:1280px;padding-bottom:64px}.school-report-grand-total{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0 34px}.school-report-grand-total-student{grid-template-columns:repeat(3,minmax(0,1fr))}.school-report-grand-total>div{position:relative;min-height:112px;overflow:hidden;padding:18px;border-radius:16px;color:#fff;box-shadow:0 10px 24px -8px #0f172a47}.school-report-grand-total>div:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.school-report-grand-total>div:nth-child(1){background:linear-gradient(135deg,#0891b2,#0e7490)}.school-report-grand-total>div:nth-child(2){background:linear-gradient(135deg,#6366f1,#4f46e5)}.school-report-grand-total>div:nth-child(3){background:linear-gradient(135deg,#f59e0b,#d97706)}.school-report-grand-total>div:nth-child(4){background:linear-gradient(135deg,#a855f7,#7e22ce)}.school-report-grand-total span{position:relative;z-index:1;color:#ffffffd1;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.school-report-grand-total strong{position:relative;z-index:1;display:block;margin-top:10px;color:#fff;font-size:26px}.school-report-grand-total em{color:#ffffffc2;font-size:14px;font-style:normal}@media(max-width:800px){.school-report-grand-total{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.school-report-grand-total>div{padding:14px}.school-report-grand-total strong{font-size:22px}}.school-report-hero{position:relative;display:flex;min-height:178px;align-items:center;justify-content:space-between;gap:32px;overflow:hidden;margin:8px 0 28px;padding:27px 34px;border:1px solid #c7d2fe;border-radius:28px;background:radial-gradient(circle at 88% 12%,#a5b4fc80,transparent 28%),linear-gradient(125deg,#eef2ff,#f5f3ff 54%,#ecfeff);box-shadow:0 20px 48px #4f46e51a}.school-report-hero-content{position:relative;z-index:2}.school-report-hero-kicker,.school-report-section-kicker,.school-report-card-kicker{color:#6366f1;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.school-report-hero h1{max-width:650px;margin:6px 0 7px;color:#25304a;background:linear-gradient(105deg,#25304a 8%,#4f46e5 92%);-webkit-background-clip:text;background-clip:text;font-size:clamp(26px,3.2vw,37px);font-weight:650;letter-spacing:-.045em;line-height:1.08;text-wrap:balance;-webkit-text-fill-color:transparent}.school-report-hero p{max-width:590px;margin:0;color:#64748b;font-size:14px;line-height:1.65}.school-report-hero-meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:16px;color:#64748b;font-size:10px;font-weight:700}.school-report-hero-meta span{display:inline-flex;align-items:center;gap:7px}.school-report-hero-meta i{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px #10b9811c}.school-report-hero-art{position:relative;width:178px;height:148px;flex:0 0 auto}.school-report-hero-side{display:grid;width:178px;flex:0 0 auto;justify-items:end;align-content:center}.school-report-hero.is-view-only .school-report-hero-side{width:220px}.school-report-hero-year{display:grid;width:210px;gap:6px;color:#475569;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-report-hero-year select{width:100%;min-height:44px;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #c7d2fe;border-radius:13px;outline:none;padding:0 38px 0 13px;color:#334155;background-color:#ffffffd9;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:14px;box-shadow:0 8px 20px #4f46e511;font:inherit;font-size:12px;font-weight:750;letter-spacing:normal;text-transform:none;cursor:pointer}.school-report-hero-year select:focus-visible{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11c}.school-report-hero-glow{position:absolute;top:0;right:7px;width:138px;height:138px;border:1px solid #818cf866;border-radius:50%;background:#ffffff52;box-shadow:0 0 0 18px #ffffff28,0 0 0 36px #818cf81c}.school-report-hero-badge{position:absolute;top:25px;right:29px;display:grid;width:101px;height:101px;place-items:center;align-content:center;border:1px solid #ffffffd9;border-radius:28px;color:#fff;background:linear-gradient(145deg,#4f46e5,#7c3aed);box-shadow:0 14px 24px #4f46e53d;transform:rotate(7deg)}.school-report-hero-badge strong{font-size:30px;letter-spacing:-.09em;line-height:1}.school-report-hero-badge span{margin-top:6px;color:#ddd6fe;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-report-hero-line{position:absolute;height:8px;border-radius:99px;background:#ffffffb8;transform:rotate(-25deg)}.school-report-hero-line-one{top:33px;right:3px;width:34px}.school-report-hero-line-two{bottom:28px;left:16px;width:22px}.school-report-generator{margin-bottom:36px;padding:28px;border:1px solid #ddd6fe;border-radius:24px;background:linear-gradient(145deg,#fff,#fafaff);box-shadow:0 14px 36px #64748b12}.school-report-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.school-report-section-heading h2,.school-report-history-heading h2{margin:6px 0;color:#172033;font-size:22px;letter-spacing:-.045em}.school-report-section-heading p,.school-report-history-heading p{margin:0;color:#64748b;font-size:12px;line-height:1.55}.school-report-generator-mark{display:grid;min-width:78px;justify-items:end;color:#6366f1}.school-report-generator-mark span{font-size:33px;font-weight:850;letter-spacing:-.08em;line-height:1}.school-report-generator-mark small{margin-top:5px;color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.school-report-generator-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:16px}.school-report-field{display:grid;gap:8px}.school-report-field>span{color:#334155;font-size:15px;font-weight:600}.school-report-field select{width:100%;min-height:45px;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #dbe2f0;border-radius:12px;outline:none;padding:0 44px 0 12px;color:#334155;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;font:inherit;font-size:12px;transition:border-color .18s,box-shadow .18s}.school-report-field select:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11c}.school-report-field select:disabled{cursor:not-allowed;opacity:.58;background:#f8fafc}.school-report-subject-picker{position:relative;display:grid;gap:7px;color:var(--color-text-primary);font-size:12px;font-weight:500}.school-report-subject-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:45px;padding:8px 13px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:400;text-align:left;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.school-report-subject-trigger:hover,.school-report-subject-trigger.is-open{border-color:#818cf8;background:#fafaff;box-shadow:0 0 0 3px #6366f11c}.school-report-subject-trigger:focus-visible{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px #6366f124}.school-report-subject-placeholder{color:var(--color-text-muted)}.school-report-subject-value{color:var(--color-text-primary);font-weight:600}.school-report-subject-chevron{width:8px;height:8px;border-right:2px solid #6366f1;border-bottom:2px solid #6366f1;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}.school-report-subject-trigger.is-open .school-report-subject-chevron{transform:rotate(225deg) translateY(-2px)}.school-report-subject-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:1px}.school-report-subject-chips>span{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:11px;font-weight:600}.school-report-subject-chips button{display:grid;place-items:center;width:16px;height:16px;padding:0;border:0;border-radius:50%;background:transparent;color:#6366f1;cursor:pointer}.school-report-subject-chips button:hover{background:#c7d2fe;color:#312e81}.school-report-subject-remove-icon{position:relative;display:block;width:10px;height:10px}.school-report-subject-remove-icon:before,.school-report-subject-remove-icon:after{position:absolute;top:4px;left:0;width:10px;height:1.5px;border-radius:2px;background:currentColor;content:""}.school-report-subject-remove-icon:before{transform:rotate(45deg)}.school-report-subject-remove-icon:after{transform:rotate(-45deg)}.school-report-subject-chips .school-report-subject-more{border-color:var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.school-report-subject-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:100;overflow:hidden;border:1px solid #c7d2fe;border-radius:16px;background:var(--color-surface);box-shadow:0 18px 45px #1e293b33,0 0 0 4px #6366f10f}.school-report-subject-menu-tools{display:grid;gap:9px;padding:12px;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#fafaff,#f8fbff)}.school-report-subject-search{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.school-report-subject-search:focus-within{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11a}.school-report-subject-search input{order:1;width:100%;padding:9px 0;border:0;outline:0;background:transparent;color:var(--color-text-primary);font:inherit;font-size:12px}.school-report-subject-search-icon{position:relative;order:2;width:12px;height:12px;flex:0 0 auto;margin-left:8px;border:1.7px solid var(--color-text-muted);border-radius:50%}.school-report-subject-search-icon:after{position:absolute;right:-4px;bottom:-2px;width:5px;height:1.7px;border-radius:2px;background:var(--color-text-muted);content:"";transform:rotate(45deg)}.school-report-subject-actions{display:flex;justify-content:space-between}.school-report-subject-actions button,.school-report-subject-menu-footer button{padding:0;border:0;background:transparent;color:#4f46e5;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.school-report-subject-actions button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.55}.school-report-subject-options{max-height:150px;overflow-y:auto;padding:6px}.school-report-subject-option{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--color-text-primary);font:inherit;font-size:12px;text-align:left;cursor:pointer}.school-report-subject-option:hover{background:#f1f5ff}.school-report-subject-option.is-selected{background:#eef2ff;color:#3730a3;font-weight:600}.school-report-subject-checkbox{display:grid;place-items:center;width:17px;height:17px;flex:0 0 auto;border:1px solid #cbd5e1;border-radius:5px;background:var(--color-surface)}.school-report-subject-option.is-selected .school-report-subject-checkbox{position:relative;border-color:#6366f1;background:#6366f1}.school-report-subject-option.is-selected .school-report-subject-checkbox:after{position:absolute;top:4px;left:4px;width:7px;height:4px;border-bottom:2px solid white;border-left:2px solid white;content:"";transform:rotate(-45deg)}.school-report-subject-empty{margin:0;padding:20px 10px;color:var(--color-text-muted);font-size:12px;text-align:center}.school-report-subject-menu-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px}.school-report-subject-menu-footer button{padding:6px 10px;border-radius:8px;background:#4f46e5;color:#fff}.school-report-subject-menu-footer button:hover{background:#4338ca}.school-report-form-error{grid-column:1 / -1;margin:0;padding:11px 13px;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:11px;font-weight:700}.school-report-generate-button{display:inline-flex;min-height:45px;align-items:center;justify-content:space-between;gap:15px;border-radius:12px;padding:0 15px 0 17px;box-shadow:0 9px 18px #4f46e533}.school-report-generate-button b{font-size:20px;font-weight:400;line-height:1}.school-report-history{width:100%;margin-top:0;padding:0}.school-report-history .school-report-table-wrap{width:100%}.school-report-history .school-report-table-wrap table{width:100%;min-width:100%}.school-report-history-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 22px}.school-report-history-heading h2{margin-bottom:5px}.school-report-history-heading p{max-width:500px}.school-report-history-heading>div>p{margin-top:2px;text-align:left}.school-report-history-filter-button{position:relative;display:grid;width:42px;height:42px;place-items:center;border:1px solid #c7d2fe;border-radius:12px;color:#4f46e5;background:#eef2ff;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}.school-report-filter-count{position:absolute;top:-7px;right:-7px;display:grid;min-width:19px;height:19px;padding:0 4px;place-items:center;box-sizing:border-box;border:2px solid #fff;border-radius:999px;color:#fff;background:#dc2626;font-size:10px;font-weight:850;line-height:1}.school-report-history-controls{display:flex;align-items:center;gap:10px;width:100%;margin-left:0}.school-report-history-search{position:relative;display:flex;min-width:180px;max-width:460px;height:42px;flex:1;align-items:center}.school-report-history-search svg{position:absolute;left:13px;width:18px;height:18px;fill:none;stroke:#64748b;stroke-linecap:round;stroke-width:1.7;pointer-events:none}.school-report-history-search input{width:100%;height:100%;box-sizing:border-box;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:0 14px 0 40px;color:#1e293b;background:#fff;font:inherit;font-size:13px;transition:border-color .16s ease,box-shadow .16s ease}.school-report-history-search input::placeholder{color:#94a3b8}.school-report-history-search input:focus-visible{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11c}.school-report-history-view{display:inline-flex;align-items:center;gap:9px;margin-left:auto}.school-report-history-view label{color:#64748b;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.school-report-history-view select{width:190px;min-height:42px;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #c7d2fe;border-radius:12px;outline:none;padding:0 44px 0 12px;color:#334155;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.school-report-history-view select option{color:#000;background:#fff}.school-report-history-quick-filter select{width:130px;min-height:42px;box-sizing:border-box;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid #cbd5e1;border-radius:12px;outline:none;padding:0 30px 0 10px;color:#334155;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;background-size:14px;font:inherit;font-size:12px;cursor:pointer}.school-report-history-quick-filter select:focus-visible{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11c}.school-report-history-view select:focus-visible{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11c}.school-report-history-filter-button svg{width:21px;height:21px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.school-report-history-filter-button:hover,.school-report-history-filter-button.is-active{border-color:#818cf8;background:#e0e7ff;box-shadow:0 0 0 4px #6366f11c}.school-report-filter-modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.school-report-filter-modal{width:min(560px,100%);border:1px solid #c7d2fe;border-radius:22px;padding:24px;background:#fff;box-shadow:0 24px 64px #0f172a38}.school-report-filter-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.school-report-filter-modal-header>div>span{color:#6366f1;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.school-report-filter-modal-header h2{margin:6px 0 0;color:#172033;font-size:22px;letter-spacing:-.04em}.school-report-filter-modal-close{display:grid;width:34px;height:34px;place-items:center;border:1px solid #dbe2f0;border-radius:10px;color:#64748b;background:#f8fafc;font-size:22px;line-height:1;cursor:pointer}.school-report-filter-modal-close:hover{color:#334155;background:#f1f5f9}.school-report-filter-modal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.school-report-filter-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:24px}.school-report-filter-reset{border:1px solid #cbd5e1;border-radius:10px;padding:10px 14px;color:#475569;background:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.school-report-filter-reset:hover{background:#f8fafc}.school-report-exam-group{margin-bottom:24px;overflow:hidden;border:1px solid #a5b4fc;border-radius:22px;background:#fff;box-shadow:0 16px 34px #4f46e51a}.school-report-exam-group-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid #c7d2fe;background:#e9edff}.school-report-exam-group-header h2{margin:5px 0;color:#172033;font-size:22px;letter-spacing:-.04em}.school-report-exam-group-header p{margin:0;color:#64748b;font-size:14px}.school-report-exam-count{border:1px solid #c7d2fe;border-radius:99px;padding:8px 12px;color:#4f46e5;background:#fff;font-size:12px;font-weight:750;white-space:nowrap}.school-report-exam-toggle{display:inline-flex;align-items:center;gap:12px;border:0;padding:0;color:inherit;background:transparent;cursor:pointer}.school-report-exam-toggle:focus-visible{outline:3px solid #818cf8;outline-offset:4px;border-radius:99px}.school-report-exam-toggle-icon{display:grid;width:36px;height:36px;place-items:center;border:1px solid #d7ddf4;border-radius:50%;color:#4f46e5;background:linear-gradient(145deg,#fff 10%,#f1f3ff);box-shadow:0 2px 5px #3730a312,inset 0 1px #fff;transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.school-report-exam-toggle-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.school-report-exam-toggle-icon.is-collapsed svg{transform:rotate(-90deg)}.school-report-exam-toggle:hover .school-report-exam-toggle-icon{transform:translateY(-1px);border-color:#a5b4fc;background:#fff;box-shadow:0 5px 12px #3730a31f,inset 0 1px #fff}.school-report-exam-toggle:active .school-report-exam-toggle-icon{transform:translateY(0) scale(.96)}.school-report-table-wrap .school-report-total-row,.school-report-table-wrap .school-report-total-row th,.school-report-table-wrap .school-report-total-row td{color:#000}.school-report-total-row{border-top:2px solid #a5b4fc;background:#f1f5ff;font-weight:750}.school-report-total-row th{text-align:left}.school-report-card.is-published{border-radius:5px 5px 0 0}@media(prefers-reduced-motion:reduce){.school-report-exam-toggle-icon,.school-report-exam-toggle-icon svg{transition:none}}.school-report-exam-students{display:grid;gap:24px;padding:18px}.school-report-subject-groups{display:grid;gap:18px;padding:18px}.school-report-subject-group{overflow:hidden;border:1px solid #e2e8f0;border-radius:16px;background:#fff}.school-report-subject-group-heading{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 20px;border-bottom:1px solid #e2e8f0;background:transparent;text-align:center}.school-report-subject-group-heading strong{color:#1e293b;font-size:15px}.school-report-subject-group-heading span{color:#64748b;font-size:11px;font-weight:700}.school-report-subject-group .school-report-table-wrap{padding:0}.school-report-subject-group .school-report-table-wrap table{min-width:760px;border:0;border-radius:5px 5px 0 0}.school-report-sort-button{display:inline-flex;align-items:center;gap:7px;border:0;padding:0;color:inherit;background:transparent;font:inherit;font-weight:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.school-report-sort-label-mobile{display:none}.school-report-sort-button .school-report-sort-arrow{color:#e0e7ff;font-size:15px;line-height:1}.school-report-sort-button:hover,.school-report-sort-button:focus-visible{color:#e0e7ff}.school-report-sort-button:focus-visible{outline:2px solid #818cf8;outline-offset:3px}.school-report-exam-students article.school-report-card.is-published{margin-bottom:12px;box-shadow:0 3px 8px #0f172a24,0 14px 30px #0f172a38,0 0 0 1px #94a3b880}.school-report-exam-students .school-report-card-header{display:none}.school-report-exam-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 22px;border-top:1px solid #dbe2f0;background:#fff}.school-report-exam-actions>span{color:#64748b;font-size:12px;font-weight:650}.school-report-exam-actions>div{display:flex;flex-wrap:wrap;gap:10px}.school-report-exam-actions .school-report-publish-button,.school-report-exam-actions .school-report-discard-button{margin-top:0}.school-report-exam-students .delete-icon-button{border-color:#cbd5e1;color:#64748b;background:#f8fafc;box-shadow:none}.school-report-exam-students .delete-icon-button:hover:not(:disabled),.school-report-exam-students .delete-icon-button:focus-visible{border-color:#94a3b8;background:#f1f5f9;box-shadow:0 0 0 4px #64748b24}.school-report-history-heading p{max-width:410px;text-align:right}.school-report-history-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 24px;padding:16px;border:1px solid #dbe2f0;border-radius:16px;background:#fff}.school-report-card-result{margin-bottom:20px}.school-report-card{position:relative;overflow:hidden;border:1px solid #e2e8f0;border-radius:22px;background:#fff;box-shadow:0 15px 36px #64748b14}.school-report-card:before{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,#6366f1,#06b6d4);content:""}.school-report-card.is-draft{border-color:#fde68a;box-shadow:0 15px 36px #b4530912}.school-report-card.is-draft:before{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.school-report-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:26px 28px 23px;border-bottom:1px solid #eef2f7;background:linear-gradient(110deg,#fff,#fafaff)}.school-report-card-heading{display:flex;align-items:flex-start;gap:14px}.school-report-card-icon{display:grid;width:43px;height:43px;flex:0 0 auto;place-items:center;border-radius:14px;color:#6366f1;background:#eef2ff;box-shadow:inset 0 0 0 1px #c7d2fe}.school-report-card-icon span{font-size:11px;font-weight:900;letter-spacing:-.06em}.school-report-card h2{margin:5px 0;color:#172033;font-size:23px;letter-spacing:-.045em}.school-report-card-header p{margin:0;color:#94a3b8;font-size:11px;font-weight:650}.school-report-status{display:inline-flex;align-items:center;gap:7px;border-radius:99px;padding:7px 10px;font-size:10px;font-weight:850}.school-report-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.school-report-status.is-published{color:#047857;background:#d1fae5}.school-report-status.is-draft{color:#b45309;background:#fef3c7}.school-report-card-profile{display:grid;grid-template-columns:minmax(180px,1.5fr) repeat(3,1fr);align-items:center;gap:18px;margin:0 28px;padding:21px 0;border-bottom:1px solid #eef2f7}.school-report-student-mark{display:grid;width:39px;height:39px;float:left;place-items:center;margin-right:11px;border-radius:13px;color:#4f46e5;background:#eef2ff;font-size:16px;font-weight:850}.school-report-student-detail,.school-report-detail{display:grid;gap:5px}.school-report-student-detail{display:block}.school-report-student-detail span,.school-report-detail span{display:block;color:#94a3b8;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.school-report-student-detail strong,.school-report-detail strong{display:block;margin-top:5px;overflow:hidden;color:#334155;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.school-report-table-wrap{overflow-x:auto}.school-report-table-wrap table{width:100%;border-collapse:collapse;min-width:700px}.school-report-table-wrap th{padding:0 14px 12px;color:#94a3b8;font-size:9px;font-weight:850;letter-spacing:.1em;text-align:left;text-transform:uppercase}.school-report-table-wrap th:first-child,.school-report-table-wrap td:first-child{padding-left:18px}.school-report-table-wrap td{padding:15px 14px;border-top:1px solid #f1f5f9;color:#475569;font-size:12px}.school-report-table-wrap td:first-child{min-width:170px}.school-report-table-wrap td strong{display:block;color:#1e293b;font-size:12px}.school-report-table-wrap td:first-child span{display:block;margin-top:4px;color:#a1aabd;font-size:10px}.school-report-number{font-variant-numeric:tabular-nums;font-weight:700}.school-report-grade{display:inline-grid;min-width:27px;height:27px;place-items:center;border-radius:9px;color:#4f46e5;background:#eef2ff;font-weight:850}.school-report-result-status{display:inline-block;border-radius:99px;padding:5px 8px;font-size:9px;font-weight:850;text-transform:capitalize}.school-report-result-status.is-published{color:#047857;background:#d1fae5}.school-report-result-status.is-draft{color:#b45309;background:#fef3c7}.school-report-empty{margin:20px 28px;color:#64748b;font-size:12px}.school-report-publish-button{display:inline-flex;align-items:center;gap:12px;margin-top:10px;border-radius:10px;box-shadow:0 7px 16px #4f46e526}.school-report-draft-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.school-report-draft-actions .school-report-publish-button{margin-top:10px}.school-report-discard-button{margin-top:10px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 14px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%);font:inherit;font-size:12px;font-weight:750;cursor:pointer}.school-report-discard-button:hover:not(:disabled),.school-report-discard-button:focus-visible{border-color:#94a3b8;background:#f1f5f9;outline:none;box-shadow:0 0 0 4px #64748b24}.school-report-discard-button:disabled{cursor:not-allowed;opacity:.6}.school-report-card-result:has(.school-report-publish-button){position:relative}.school-report-card-result:has(.school-report-publish-button):after{display:block;margin:13px 4px 0;color:#a16207;content:"This draft is ready for review before publishing.";font-size:10px;font-weight:700}.school-report-loading,.school-report-empty-state{border:1px solid #e2e8f0;border-radius:20px;padding:56px 24px;color:#64748b;background:#fff;text-align:center}.school-report-empty-state span{display:grid;width:47px;height:47px;place-items:center;margin:0 auto 13px;border-radius:15px;color:#6366f1;background:#eef2ff;font-size:11px;font-weight:900}.school-report-empty-state h2{margin:0 0 7px;color:#172033;font-size:19px;letter-spacing:-.03em}.school-report-empty-state p{margin:0;font-size:12px}@media(max-width:760px){.school-report-page{padding-bottom:36px}.school-report-hero{align-items:flex-start;flex-direction:column;padding:24px 18px}.school-report-hero.is-view-only{gap:8px}.school-report-hero-side{width:100%}.school-report-hero.is-view-only .school-report-hero-side{width:100%;justify-items:end}.school-report-hero.is-view-only .school-report-hero-year{width:min(100%,220px)}.school-report-hero.is-view-only{min-height:190px}.school-report-hero.is-view-only .school-report-hero-year>span{display:none}.school-report-hero.is-view-only .school-report-hero-meta{display:none}.school-report-hero.is-view-only .school-report-hero-content>p{display:none}.school-report-hero.is-view-only .school-report-hero-side{margin-top:-12px}.school-report-hero:not(.is-view-only) .school-report-hero-side{position:absolute;right:-22px;bottom:-20px;width:178px;transform:scale(.82);transform-origin:bottom right;opacity:.55}.school-report-generator-form{grid-template-columns:1fr}.school-report-form-error{grid-column:auto}.school-report-card-profile{grid-template-columns:repeat(2,1fr)}.school-report-student-detail{grid-column:1 / -1}.school-report-history-heading{align-items:flex-start;flex-direction:column}.school-report-history-view{min-width:0;flex:1;margin-left:0}.school-report-history-view select{min-width:0;width:auto;flex:1}.school-report-history-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) 42px;width:100%;margin-left:0}.school-report-history-search{grid-column:1 / 4;grid-row:1;min-width:0;max-width:none}.school-report-history-filter-button{grid-column:4;grid-row:1}.school-report-history-quick-filter{display:contents}.school-report-history-quick-filter select:first-of-type{grid-column:1;grid-row:2}.school-report-history-quick-filter select:last-of-type{grid-column:2;grid-row:2}.school-report-history-quick-filter select{min-width:0;width:100%}.school-report-history-view{grid-column:3;grid-row:2}.school-report-history-view label{display:none}.school-report-history-view select{width:100%;min-height:42px;padding-right:30px;background-position:right 9px center}.school-report-history-heading p{text-align:left}.school-report-history{padding:0}.school-report-exam-group-header,.school-report-exam-actions{align-items:flex-start;flex-direction:column}.school-report-exam-actions>div{width:100%}.school-report-exam-actions button{flex:1}.school-report-table-wrap table,.school-report-subject-group .school-report-table-wrap table{min-width:620px}.school-report-table-wrap th,.school-report-table-wrap td{padding-right:8px;padding-left:8px}.school-report-table-wrap th{font-size:10px}.school-report-table-wrap td{font-size:12px}.school-report-table-wrap td:first-child{min-width:125px}.school-report-table-wrap td strong{font-size:12px}.school-report-result-status{padding:5px 7px;font-size:10px}.school-report-sort-label-full{display:none}.school-report-sort-label-mobile{display:inline}.school-report-student-table{min-width:560px!important;table-layout:auto!important}.school-report-student-table th,.school-report-student-table td{white-space:nowrap;overflow-wrap:normal}}.school-report-card-profile{display:flex;align-items:center;gap:16px}.school-report-card-profile:before,.school-report-card-profile:after{height:1px;flex:1;background:#dbe2f0;content:""}.school-report-student-summary{display:inline-flex;align-items:baseline;justify-content:center;gap:8px;min-width:max-content}.school-report-student-summary strong{color:#172033;font-size:17px;font-weight:750}.school-report-student-summary span{color:#64748b;font-size:14px;font-weight:600}.school-report-card-profile{position:relative;justify-content:center;margin:0 28px;padding:15px 0;border:0;border-radius:0;background:transparent;box-shadow:none;border-bottom:0}.school-report-card-profile:before,.school-report-card-profile:after{display:none}.school-report-card-profile .delete-icon-button{position:absolute;top:50%;right:0;margin:0;border-color:#fecdd3;color:#be123c;background:#fff1f2;box-shadow:0 5px 12px #be123c1c;transform:translateY(-50%)}.school-report-card-profile .delete-icon-button:hover:not(:disabled),.school-report-card-profile .delete-icon-button:focus-visible{border-color:#fda4af;color:#9f1239;background:#ffe4e6;box-shadow:0 0 0 4px #be123c24;transform:translateY(-50%)}.school-report-exam-actions .school-report-discard-button{border-color:var(--color-primary);color:var(--color-primary);background:transparent}.school-report-exam-actions .school-report-discard-button:hover:not(:disabled),.school-report-exam-actions .school-report-discard-button:focus-visible{border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent);box-shadow:none}@media(max-width:640px){.dash-container.school-report-page{padding:16px 6px 40px}}@media(max-width:520px){.school-report-page{padding:12px 10px 28px}.school-report-hero{min-height:220px;margin-top:0;padding:21px 16px;border-radius:21px}.school-report-hero h1{font-size:31px}.school-report-hero-meta{display:grid;gap:10px}.school-report-generator{padding:21px 18px;border-radius:19px}.school-report-history{padding:0}.school-report-filter-modal-fields{grid-template-columns:1fr}.school-report-filter-modal-actions{justify-content:stretch}.school-report-filter-modal-actions button{flex:1}.school-report-generator-mark{display:none}.school-report-card-header{padding:21px 18px}.school-report-card h2{font-size:19px}.school-report-status{padding:6px 8px}.school-report-card-profile{gap:15px 12px;margin:0 18px}.school-report-table-wrap{padding-right:10px;padding-left:10px}.school-report-table-wrap table,.school-report-subject-group .school-report-table-wrap table{width:100%;min-width:0;table-layout:fixed}.school-report-table-wrap{padding-right:4px;padding-left:4px}.school-report-table-wrap th,.school-report-table-wrap td{padding-right:4px;padding-left:4px;white-space:normal;overflow-wrap:anywhere}.school-report-table-wrap th{font-size:9px}.school-report-table-wrap td{font-size:11px}.school-report-table-wrap th:first-child,.school-report-table-wrap td:first-child{width:20%;min-width:0}.school-report-table-wrap th:nth-child(2),.school-report-table-wrap td:nth-child(2),.school-report-table-wrap th:nth-child(3),.school-report-table-wrap td:nth-child(3),.school-report-table-wrap th:nth-child(4),.school-report-table-wrap td:nth-child(4){width:13%}.school-report-table-wrap th:nth-child(5),.school-report-table-wrap td:nth-child(5){width:10%}.school-report-table-wrap th:nth-child(6),.school-report-table-wrap td:nth-child(6){width:18%}.school-report-table-wrap td:first-child{min-width:105px}.school-report-sort-label-full{display:none}.school-report-sort-label-mobile{display:inline}.school-report-table-wrap .school-report-student-table{min-width:560px!important;table-layout:auto!important}.school-report-table-wrap .school-report-student-table th,.school-report-table-wrap .school-report-student-table td{white-space:nowrap;overflow-wrap:normal}.school-report-table-wrap .school-report-student-table th:first-child,.school-report-table-wrap .school-report-student-table td:first-child{padding-right:4px;padding-left:10px}.school-report-table-wrap .school-report-student-table td:first-child span{display:none}}.school-report-hero-kicker,.school-report-section-kicker,.school-report-card-kicker,.school-report-hero-meta{font-size:12px}.school-report-generator-form{grid-template-columns:repeat(4,minmax(0,1fr))}.school-report-field select{font-size:14px}.school-report-generator-mark small{font-size:11px}.school-report-card-header p{font-size:13px}.school-report-status{font-size:12px}.school-report-student-detail span,.school-report-detail span{font-size:11px}.school-report-student-detail strong,.school-report-detail strong{font-size:14px}.school-report-table-wrap{background:#fff}.school-report-scrollable-table{max-height:650px;box-sizing:border-box;overflow-y:auto}.school-report-scrollable-table th{position:sticky;z-index:1;top:0}.school-report-table-wrap table{min-width:860px;table-layout:auto;border:1px solid #c7d2fe;border-collapse:collapse;border-spacing:0;border-radius:5px 5px 0 0;background:#fff;overflow:hidden}.school-report-table-wrap thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important}.school-report-table-wrap thead tr{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;border-bottom:1px solid #c7d2fe}.school-report-table-wrap thead th{color:#fff!important;background:transparent!important}.school-report-table-wrap th{height:48px;box-sizing:border-box;padding:0 14px;border-bottom:1px solid #dbe2f0;color:#fff;background:transparent;font-size:12px;letter-spacing:.07em;text-align:left;vertical-align:middle;white-space:nowrap}.school-report-table-wrap td{padding-top:17px;padding-bottom:17px;color:#334155;font-size:14px;line-height:1.45;white-space:nowrap}.school-report-table-wrap td{padding-right:14px;padding-left:14px;border-bottom:1px solid #eef2f7;vertical-align:middle}.school-report-table-wrap tbody td,.school-report-table-wrap tbody th,.school-report-table-wrap tbody td strong{font-weight:400}.school-report-table-wrap tbody .school-report-total-row,.school-report-table-wrap tbody .school-report-total-row th,.school-report-table-wrap tbody .school-report-total-row td{font-weight:750}.school-report-table-wrap tbody tr:last-child td{border-bottom:0}.school-report-table-wrap td strong{font-size:14px}.school-report-table-wrap td:first-child span{font-size:12px}.school-report-grade{min-width:31px;height:31px}.school-report-result-status{padding:6px 10px;font-size:11px}.school-report-empty{font-size:14px}@media(max-width:760px){.school-report-generator-form{grid-template-columns:1fr}}@media(max-width:520px){.school-report-subject-group .school-report-table-wrap{overflow-x:auto}.school-report-subject-group .school-report-table-wrap table{width:620px;min-width:620px;table-layout:fixed}.school-report-subject-group .school-report-table-wrap th,.school-report-subject-group .school-report-table-wrap td{white-space:nowrap;overflow-wrap:normal}.school-report-subject-group .school-report-table-wrap th:first-child,.school-report-subject-group .school-report-table-wrap td:first-child{width:100px;min-width:100px;max-width:100px;white-space:normal;overflow-wrap:anywhere}.school-report-subject-group .school-report-table-wrap th:nth-child(2),.school-report-subject-group .school-report-table-wrap td:nth-child(2),.school-report-subject-group .school-report-table-wrap th:nth-child(3),.school-report-subject-group .school-report-table-wrap td:nth-child(3),.school-report-subject-group .school-report-table-wrap th:nth-child(4),.school-report-subject-group .school-report-table-wrap td:nth-child(4){width:75px}.school-report-subject-group .school-report-table-wrap th:nth-child(5),.school-report-subject-group .school-report-table-wrap td:nth-child(5){width:65px}.school-report-subject-group .school-report-table-wrap th:nth-child(6),.school-report-subject-group .school-report-table-wrap td:nth-child(6){width:100px}.school-report-subject-group .school-report-table-wrap td:first-child strong,.school-report-subject-group .school-report-table-wrap td:first-child span{white-space:normal;overflow-wrap:anywhere}.school-report-subject-group .school-report-sort-button{white-space:nowrap}}.school-results-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:190px;margin-bottom:18px;padding:30px 34px;overflow:hidden;border:1px solid #d8d5ff;border-radius:26px;background:radial-gradient(circle at 84% 18%,#a5b4fc80,transparent 30%),linear-gradient(135deg,#f0efff,#f7f4ff 56%,#ecfeff);box-shadow:0 18px 45px #6366f11c}.school-results-kicker,.school-results-section-kicker{display:block;color:#5b51d8;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.school-results-hero h1{margin:9px 0 10px;color:#172033;font-size:clamp(28px,4vw,43px);font-weight:780;letter-spacing:-.06em;line-height:1.02}.school-results-hero p{max-width:590px;margin:0;color:#667085;font-size:14px;line-height:1.65}.school-results-hero-mark{position:relative;display:grid;place-items:center;width:112px;height:112px;flex:0 0 auto;border:1px solid #ffffffa8;border-radius:31px;color:#fff;background:linear-gradient(145deg,#6154df,#8b5cf6 55%,#06b6d4);box-shadow:0 16px 30px #6154df45;text-align:center}.school-results-hero-mark strong{position:relative;z-index:1;font-size:29px;letter-spacing:-.08em}.school-results-hero-mark small{position:absolute;right:12px;bottom:14px;left:12px;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-results-hero-ring{position:absolute;width:68px;height:68px;border:1px solid #ffffff70;border-radius:50%;box-shadow:0 0 0 10px #ffffff12,0 0 0 20px #ffffff0a}.school-results-selection-card,.school-results-workflow-card,.school-results-entry-card{border:1px solid #e7e8f1;border-radius:19px;box-shadow:0 8px 24px #27324d08}.school-results-selection-card{padding:24px}.school-results-section-heading,.school-results-workflow-card .card-header-row,.school-results-entry-card .card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.school-results-section-heading{margin-bottom:21px}.school-results-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}.school-results-heading-actions .btn{min-height:40px;border-radius:11px;white-space:nowrap}.school-results-calculation-feedback{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:-5px 0 20px;padding:11px 14px;border:1px solid #ccefe5;border-radius:12px;color:#287563;background:#f1fcf8;font-size:11px}.school-results-calculation-feedback strong{color:#176653;font-size:12px}.school-results-section-heading h2{margin:6px 0 5px;color:#29334c;font-size:20px;letter-spacing:-.045em}.school-results-section-heading p{margin:0;color:#858da0;font-size:12px;line-height:1.55}.school-results-scope-badge{display:inline-flex;align-items:center;gap:7px;min-height:29px;padding:0 13px;border:1px solid #a5b4fc;border-radius:999px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 7px 16px #4f46e538,inset 0 1px #ffffff47;font-size:10px;font-weight:800;letter-spacing:.04em;white-space:nowrap}.school-results-scope-badge:before{width:6px;height:6px;border:2px solid rgba(255,255,255,.7);border-radius:50%;background:#fff;box-shadow:0 0 0 3px #ffffff24;content:""}.school-results-workflow-card,.school-results-entry-card{margin-top:18px;padding:24px}.school-results-workflow-card .card-title,.school-results-entry-card .card-title{margin-bottom:5px;color:#29334c;font-size:20px;letter-spacing:-.045em}.school-results-workflow-card .section-sub,.school-results-entry-card .section-sub{line-height:1.55}.school-results-workflow-card .list-row-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid #eef0f5}.school-results-workflow-card .btn,.school-results-entry-card .btn{min-height:42px;border-radius:11px}.school-results-entry-card{overflow:hidden}.school-results-permission-message{padding:28px 16px 8px;text-align:center}.school-results-entry-card>:not(.card-header-row){position:relative}.school-results-entry-card .data-table{width:100%;margin-top:20px;border:1px solid #c7d2fe;border-radius:16px;border-collapse:separate;border-spacing:0;background:var(--color-surface);box-shadow:0 8px 22px #4f46e514;overflow:hidden}.school-results-entry-card .data-table th{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-results-entry-card .data-table th,.school-results-entry-card .data-table td{padding:13px 24px;border-bottom:1px solid var(--color-border);text-align:left}.school-results-entry-card .data-table td{vertical-align:middle}.school-results-entry-card .data-table tbody tr:last-child td{border-bottom:0}.school-results-entry-card .input{width:104px;min-height:38px;border-radius:10px}.school-results-entry-card .status-badge{font-size:inherit}.school-results-mark-status{display:inline-block;min-width:92px;min-height:24px;line-height:24px;font-size:14px;white-space:nowrap}@media(max-width:700px){.school-results-hero{align-items:flex-start;min-height:0;padding:24px}.school-results-hero-mark{display:none}.school-results-selection-card,.school-results-workflow-card,.school-results-entry-card{padding:18px}.school-results-section-heading,.school-results-workflow-card .card-header-row,.school-results-entry-card .card-header-row{flex-direction:column}.school-results-heading-actions{justify-content:flex-start;width:100%}.school-results-entry-card .data-table{min-width:650px}}.student-school-results{max-width:1120px;padding-top:12px;padding-bottom:48px}.student-school-results>.page-header{position:relative;min-height:188px;align-items:center;margin:0 0 24px;padding:32px 38px;overflow:hidden;border:1px solid #d9e0ff;border-radius:28px;background:radial-gradient(circle at 88% 8%,#a5b4fc70,transparent 27%),radial-gradient(circle at 70% 110%,#67e8f940,transparent 35%),linear-gradient(125deg,#f3f3ff,#f9f8ff 54%,#f0fbff);box-shadow:0 20px 50px #4338ca12}.student-school-results>.page-header:after{position:absolute;top:28px;right:50px;display:grid;width:104px;height:104px;place-items:center;border:1px solid #ffffffa8;border-radius:32px;color:#fff;background:linear-gradient(145deg,#5b55df,#8b5cf6 58%,#22c1c3);box-shadow:0 16px 30px #6154df38,inset 0 1px #ffffff80;content:"✦";font-size:39px}.student-school-results>.page-header>div{position:relative;z-index:1;max-width:650px}.student-school-results>.page-header .eyebrow{margin-bottom:9px;color:#6257d8;font-size:10px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.student-school-results>.page-header .page-title{margin:0 0 9px;color:#182338;font-size:clamp(30px,4vw,43px);font-weight:780;letter-spacing:-.055em;line-height:1.08}.student-school-results>.page-header .section-sub{max-width:510px;margin:0;color:#69748a;font-size:14px;line-height:1.65}.student-school-results>.card{margin:0 0 20px;padding:25px 28px;overflow:hidden;border:1px solid #e4e8f2;border-radius:22px;background:linear-gradient(180deg,#fff,#fdfdff);box-shadow:0 12px 34px #1823380b}.student-school-results>.card .card-header-row{align-items:center;padding-bottom:20px;border-bottom:1px solid #edf0f6}.student-school-results>.card .card-title{margin-bottom:6px;color:#202b42;font-size:21px;font-weight:750;letter-spacing:-.035em}.student-school-results>.card .section-sub{color:#7b8497;font-size:12px}.student-school-results>.card .status-badge{padding:7px 12px;border:1px solid #bbefdc;border-radius:999px;color:#147a58;background:#edfbf5;font-size:10px;font-weight:800;letter-spacing:.04em}.student-school-results>.card .list-stack{gap:0;margin-top:6px}.student-school-results>.card .list-row{min-height:76px;padding:15px 2px;border-bottom:1px solid #f0f2f7}.student-school-results>.card .list-row:last-child{border-bottom:0}.student-school-results>.card .list-row>div strong{color:#26334b;font-size:14px}.student-school-results>.card .list-row .text-muted{margin:5px 0 0;color:#929aab;font-size:11px}.student-school-results>.card .list-row>span{color:#29385a;font-size:13px;font-weight:750;text-align:right}.student-school-results>.card .card-header-row:last-child{margin-top:12px!important;padding:16px 18px;border:1px solid #dedfff;border-radius:14px;color:#453cac;background:linear-gradient(100deg,#f4f3ff,#f6faff)}.student-school-results>.card .card-header-row:last-child strong:last-child{font-size:16px}@media(max-width:700px){.student-school-results>.page-header{min-height:0;padding:25px 22px}.student-school-results>.page-header:after{top:20px;right:18px;width:56px;height:56px;border-radius:18px;font-size:25px}.student-school-results>.page-header .page-title{max-width:70%;font-size:30px}.student-school-results>.card{padding:19px}}.accounts-students-pagination{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 16px;padding:12px 14px 12px 17px;border:1px solid #e6ebf3;border-radius:13px;background:#fff;color:#718096;font-size:12px;box-shadow:0 2px 5px #192a4606,0 10px 24px #192a4609}.accounts-students-pagination-summary{display:flex;align-items:center;gap:10px;min-width:0}.accounts-students-pagination-summary strong{color:#26364d;font-weight:700}.accounts-students-pagination-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#5c82db;box-shadow:0 0 0 3px #edf2ff}.accounts-students-pagination-controls{display:flex;align-items:center;gap:5px}.accounts-students-page-numbers{display:flex;align-items:center;gap:3px}.accounts-students-pagination-controls .accounts-students-page-numbers button{width:30px;height:30px;border-color:transparent;color:#5f6e83;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.accounts-students-pagination-controls .accounts-students-page-numbers button:not(:disabled):hover{border-color:#dce6fa;background:#f3f6fd;color:#315fbd;box-shadow:none}.accounts-students-pagination-controls .accounts-students-page-numbers button.is-current,.accounts-students-pagination-controls .accounts-students-page-numbers button.is-current:hover{border-color:#315fbd;border-radius:50%;background:#315fbd;color:#fff;box-shadow:0 3px 8px #315fbd3d}.accounts-students-page-ellipsis{width:19px;color:#98a4b5;text-align:center;letter-spacing:1px}.accounts-students-pagination-controls button{display:grid;width:32px;height:32px;place-items:center;border:1px solid transparent;border-radius:9px;background:#fff;color:#64748b;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease}.accounts-students-pagination-controls button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.accounts-students-pagination-controls button:not(:disabled):hover{border-color:#d9e4fa;background:#f2f6ff;color:#345fb4;box-shadow:0 2px 5px #315fbd14}.accounts-students-pagination-controls button:disabled{color:#c3cbd7;cursor:not-allowed}@media(max-width:640px){.accounts-students-pagination{align-items:center;flex-direction:row;justify-content:space-between;gap:8px;padding:9px 10px}.accounts-students-pagination-controls{align-self:auto;justify-content:flex-end;gap:2px}.accounts-students-pagination-controls button{width:28px;height:28px}}.school-sections-page{width:100%;max-width:1260px;box-sizing:border-box;padding-left:8px;padding-right:8px}.school-sections-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 32px;margin-bottom:30px;border:1px solid #bae6fd;border-radius:26px;background:radial-gradient(circle at 88% 10%,#67e8f980,transparent 32%),linear-gradient(135deg,#ecfeff,#eff6ff 54%,#f5f3ff);box-shadow:0 18px 45px #0891b21c}.school-section-kicker{display:block;color:#0891b2;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.school-sections-hero h1{margin:8px 0;color:#172033;font-size:clamp(24px,3vw,32px);font-weight:760;letter-spacing:-.045em;line-height:1.1}.school-sections-hero p{max-width:620px;margin:0;color:#64748b;font-size:13px;line-height:1.65}.school-section-create-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:185px;border-radius:12px;padding:12px 18px;box-shadow:0 9px 22px #0891b23d}.school-section-create-button span{font-size:20px;font-weight:400;line-height:1}.school-sections-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.school-sections-section-heading h2{margin:0;color:var(--color-text-primary);font-size:19px;letter-spacing:-.03em}.school-sections-section-heading p{margin:5px 0 0;color:var(--color-text-muted);font-size:12px}.school-sections-filter-wrap{position:relative;display:flex;align-items:center;gap:10px}.school-sections-year-filter{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary, #475569);font-size:12px;font-weight:650}.school-sections-year-filter .select{width:min(230px,24vw);min-width:160px;min-height:38px;border-color:#c7d2fe;border-radius:11px;background-color:var(--color-surface, #fff)}.school-sections-filter-button{display:grid;place-items:center;width:38px;height:38px;border:1px solid #c7d2fe;border-radius:11px;color:#4f46e5;background:#eef2ff;cursor:pointer;transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.school-sections-filter-button:hover,.school-sections-filter-button.is-active{background:#e0e7ff;box-shadow:0 7px 18px #6366f126;transform:translateY(-1px)}.school-sections-filter-button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.school-sections-filter-menu{position:absolute;z-index:5;top:calc(100% + 9px);right:0;display:grid;width:176px;padding:6px;border:1px solid #dbe5f3;border-radius:14px;background:var(--color-surface);box-shadow:0 16px 35px #1e293b24}.school-sections-filter-menu button{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-radius:9px;padding:10px 11px;color:var(--color-text-secondary);background:transparent;font:inherit;font-size:11px;text-align:left;cursor:pointer}.school-sections-filter-menu button:hover,.school-sections-filter-menu button.is-selected{color:#4f46e5;background:#eef2ff}.school-sections-filter-menu b{font-size:13px}.school-sections-grid,.school-sections-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.school-section-card{position:relative;display:flex;min-height:305px;flex-direction:column;overflow:hidden;padding:22px;border:1px solid #bae6fd;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fcff);box-shadow:0 12px 32px #64748b18;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.school-section-card:after{position:absolute;top:-48px;right:-38px;width:145px;height:145px;border-radius:50%;background:#a5f3fc55;content:""}.school-section-card:hover{border-color:#67e8f9;box-shadow:0 18px 40px #0891b22b;transform:translateY(-3px)}.school-section-card.is-inactive{border-color:#fecaca;background:linear-gradient(145deg,#fff,#fff7f7)}.school-section-card.is-inactive:after{background:#fecaca55}.school-section-card-topline,.school-section-card-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.school-section-icon,.school-section-modal-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a5f3fc;border-radius:14px;color:#0891b2;background:#ecfeff}.school-section-icon svg,.school-section-modal-icon svg,.school-sections-empty-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.school-section-card.is-inactive .school-section-icon{border-color:#fecaca;color:#dc2626;background:#fef2f2}.school-section-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800}.school-section-status i,.school-section-card-footer b{display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.school-section-status.is-active{color:#047857;background:#d1fae5}.school-section-status.is-inactive{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.school-section-card-copy{position:relative;z-index:1;margin:25px 0 21px}.school-section-card-copy .school-section-kicker{color:#06b6d4;font-size:9px}.school-section-card-copy h2{margin:7px 0 6px;color:#172033;font-size:27px;letter-spacing:-.055em}.school-section-card-copy p{margin:0;color:#64748b;font-size:11px;line-height:1.55}.school-section-card-detail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 0}.school-section-card-detail div{display:grid;gap:5px}.school-section-card-detail span{color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-section-card-detail strong{overflow:hidden;color:#334155;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.school-section-card-footer{margin-top:auto;padding-top:16px;color:#94a3b8;font-size:10px}.school-section-view-students-button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid #d9d6ff;border-radius:10px;color:#5145b9;background:linear-gradient(135deg,#f5f3ff,#ecfeff);box-shadow:0 6px 14px #5145b91c;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.school-section-view-students-button:hover{box-shadow:0 9px 18px #5145b92b;transform:translateY(-1px)}.school-section-view-students-button:focus-visible{outline:3px solid #c4b5fd;outline-offset:2px}.school-section-view-students-button svg{width:17px;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.school-section-status-action{border:0;padding:0;color:#4f46e5;background:transparent;font:inherit;font-size:10px;font-weight:750;cursor:pointer}.school-section-status-action:hover,.school-section-status-action:focus-visible{color:#3730a3;text-decoration:underline}.school-section-status-action:disabled{color:var(--color-text-muted);cursor:not-allowed;text-decoration:none}.school-sections-empty{display:grid;place-items:center;padding:68px 24px;border:1px dashed #bae6fd;border-radius:22px;background:linear-gradient(145deg,#fff,#f7fcff);text-align:center}.school-sections-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:20px;color:#0891b2;background:#ecfeff}.school-sections-empty h2{margin:0 0 7px;color:var(--color-text-primary);font-size:20px}.school-sections-empty p{max-width:380px;margin:0 0 20px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.school-sections-loading div{height:305px;border-radius:22px;background:linear-gradient(100deg,#eef2f7,#fff,#eef2f7);background-size:200% 100%;animation:school-section-shimmer 1.35s infinite}@keyframes school-section-shimmer{to{background-position:-200% 0}}.school-section-modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:school-section-fade .18s ease}.school-section-modal{box-sizing:border-box;width:min(100%,620px);max-height:min(720px,92vh);overflow:auto;border:1px solid #ffffffb8;border-radius:24px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a45;animation:school-section-rise .22s ease}.school-section-modal-header{display:flex;justify-content:space-between;gap:16px;padding:25px 26px 21px;border-bottom:1px solid var(--color-border)}.school-section-modal-heading{display:flex;align-items:flex-start;gap:14px}.school-section-modal-icon{flex:0 0 auto;color:#fff;border:0;background:linear-gradient(135deg,#0891b2,#6366f1);box-shadow:0 8px 20px #0891b23d}.school-section-modal-header h2{margin:5px 0;color:var(--color-text-primary);font-size:20px;letter-spacing:-.04em}.school-section-modal-header p{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.5}.school-section-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);font-size:23px;line-height:1;cursor:pointer}.school-section-modal-body{display:grid;gap:19px;padding:25px 26px}.school-section-students-modal{box-sizing:border-box;width:min(100%,520px);min-width:0;overflow:hidden}.school-section-students-modal-body{box-sizing:border-box;min-width:0;padding:14px 18px 18px}.school-section-students-table-wrap{box-sizing:border-box;width:100%;min-width:0;overflow:hidden;border:1px solid #dbe5f3;border-radius:12px;background:var(--color-surface);box-shadow:0 8px 22px #0f172a0f}.school-section-students-table{display:table;box-sizing:border-box;width:100%;max-width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;text-align:left}.school-section-students-name-column{width:56%}.school-section-students-id-column{width:44%}.school-section-students-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.school-section-students-table th{padding:10px 14px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;text-align:left;text-transform:uppercase}.school-section-students-sort-button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;text-align:left;text-transform:inherit;cursor:pointer}.school-section-students-sort-button span{font-size:13px}.school-section-students-table th:first-child{border-top-left-radius:13px}.school-section-students-table th:last-child{border-top-right-radius:13px}.school-section-students-table td{padding:11px 14px;border-top:1px solid #edf2f7;color:#64748b;font-size:12px;text-align:left}.school-section-students-table td strong{color:#172033;font-weight:750}.school-section-students-table th,.school-section-students-table td{box-sizing:border-box;min-width:0;overflow-wrap:anywhere}.school-section-students-table td strong{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}.school-section-student-withdrawn-badge{display:inline-flex;margin-top:5px;padding:3px 7px;border-radius:999px;background:#ffedd5;color:#9a3412;font-size:10px;font-weight:750}.school-section-students-table .school-section-students-admission-id{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.school-section-students-table tbody tr:hover{background:#f8faff}.school-section-students-table .school-section-students-empty{padding:28px 16px;text-align:center}.school-section-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.school-section-field{display:grid;gap:8px}.school-section-field>span{color:var(--color-text-primary);font-size:12px;font-weight:800}.school-section-field>span b{color:#ef4444}.school-section-field>span em{color:var(--color-text-muted);font-size:10px;font-style:normal;font-weight:500}.school-section-field input,.school-section-field select{width:100%;min-height:45px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:12px;outline:0;padding:0 13px;color:var(--color-text-primary);background:var(--color-bg);font:inherit;font-size:13px}.school-section-field input:focus,.school-section-field select:focus{border-color:#22d3ee;box-shadow:0 0 0 4px #06b6d41f}.school-section-field small{color:var(--color-text-muted);font-size:10px}.school-section-form-error{margin:-5px 0 0;padding:10px 12px;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:11px;font-weight:700}.school-section-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px 23px;border-top:1px solid var(--color-border)}.school-section-modal-footer .btn-secondary{border-color:#a5f3fc;color:#0891b2;background:#ecfeff}@keyframes school-section-fade{0%{opacity:0}to{opacity:1}}@keyframes school-section-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.school-sections-page{padding-left:8px;padding-right:8px}.school-sections-hero{align-items:stretch;flex-direction:column;padding:23px 20px;margin-bottom:24px}.school-sections-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.school-sections-filter-wrap{width:100%;justify-content:flex-end}.school-sections-year-filter{flex:1;min-width:0}.school-sections-year-filter .select{flex:1;width:auto;min-width:0}.school-section-create-button{width:100%}.school-sections-grid,.school-sections-loading{grid-template-columns:1fr}.school-section-modal-overlay{align-items:flex-end;padding:0}.school-section-modal{max-height:94vh;border-radius:24px 24px 0 0}.school-section-modal-header,.school-section-modal-body{padding-left:20px;padding-right:20px}.school-section-students-modal-body{padding:12px 12px 16px}.school-section-students-table th,.school-section-students-table td{padding:10px 9px;font-size:11px}.school-section-students-table th{font-size:9px;letter-spacing:.05em}.school-section-modal-footer{padding:15px 20px 20px}.school-section-modal-footer button{flex:1}.school-section-form-grid{grid-template-columns:1fr}}.school-sections-hero{border-color:#c7d2fe;background:radial-gradient(circle at 88% 10%,#a5b4fc80,transparent 32%),linear-gradient(135deg,#eef2ff,#f5f3ff 54%,#ecfeff);box-shadow:0 18px 45px #6366f11c}.school-section-kicker{color:#4f46e5}.school-section-create-button{box-shadow:0 9px 22px #6366f13d}.school-section-card{border-color:#dbe5f3;background:linear-gradient(145deg,#fff,#f8fbff)}.school-section-card:after{background:#c7d2fe55}.school-section-card:hover{border-color:#a5b4fc;box-shadow:0 18px 40px #6366f12b}.school-section-icon,.school-section-modal-icon{border-color:#c7d2fe;color:#4f46e5;background:#eef2ff}.school-section-card-copy .school-section-kicker{color:#818cf8}.school-section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.school-section-title-row h2{min-width:0;overflow:hidden;color:var(--color-text-primary);font-family:inherit;font-size:25px;font-weight:650;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.school-section-card-copy{margin-top:0}.school-sections-empty{border-color:#cbd5e1;background:linear-gradient(145deg,#fff,#f8fbff)}.school-sections-empty-icon{color:#4f46e5;background:#eef2ff}.school-section-modal-icon{color:#fff;border-color:transparent;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 8px 20px #6366f13d}.school-section-field input:focus,.school-section-field select:focus{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11f}.school-section-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}.school-section-modal-footer .btn-secondary{border-color:#c7d2fe;color:#4f46e5;background:#eef2ff}.school-sections-groups{display:grid;gap:30px}.school-sections-group{display:grid;gap:15px}.school-sections-group+.school-sections-group{padding-top:28px}.school-sections-group-heading{position:relative;display:flex;align-items:center;gap:12px}.school-sections-group-heading:before,.school-sections-group-heading:after{flex:1;border-top:1px solid #c7d2fe;content:""}.school-sections-group-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border:1px solid #c7d2fe;border-radius:12px;color:#4f46e5;background:#eef2ff}.school-sections-group-icon svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.school-sections-group-heading>div{flex:0 1 auto;min-width:140px;text-align:center}.school-sections-group-heading span{color:#818cf8;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.school-sections-group-heading h3{margin:3px 0 0;color:#4f46e5;font-size:20px;letter-spacing:-.04em}.school-sections-group-heading h3 small{color:var(--color-text-muted);font-size:11px;font-weight:700;letter-spacing:0}.school-section-teacher-card{display:flex;align-items:center;gap:10px;width:100%;margin-top:18px;padding:12px 13px;border:1px solid rgba(99,102,241,.16);border-radius:15px;background:linear-gradient(135deg,#eef2ffb8,#f8fafce6);color:var(--color-text-primary);text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.school-section-teacher-card:hover{border-color:#6366f173;box-shadow:0 10px 24px #4f46e51a;transform:translateY(-1px)}.school-section-teacher-avatar{display:grid;flex:none;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:10px;font-weight:850;letter-spacing:.03em}.school-section-teacher-copy{display:grid;min-width:0;flex:1;gap:3px}.school-section-teacher-copy small{color:#6366f1;font-size:9px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.school-section-teacher-copy strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.school-section-teacher-action{color:#4f46e5;font-size:10px;font-weight:850;white-space:nowrap}.school-section-teacher-action span{font-size:14px;margin-left:3px}.school-class-teacher-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a85;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.school-class-teacher-modal{width:min(500px,100%);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:26px;background:var(--color-surface);box-shadow:0 30px 90px #0f172a4d}.school-class-teacher-modal-header{position:relative;padding:28px 28px 24px;background:radial-gradient(circle at 85% 0,rgba(129,140,248,.3),transparent 42%),linear-gradient(135deg,#eef2ff,#fff)}.school-class-teacher-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:14px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:21px;box-shadow:0 10px 22px #4f46e540}.school-class-teacher-close{position:absolute;top:22px;right:22px;width:34px;height:34px;border:1px solid rgba(99,102,241,.18);border-radius:11px;background:#ffffffb3;color:#4f46e5;font-size:22px;line-height:1;cursor:pointer}.school-class-teacher-modal-header h2{margin:5px 0;color:#172554;font-size:23px;letter-spacing:-.04em}.school-class-teacher-modal-header p{margin:0;color:#64748b;font-size:12px}.school-class-teacher-modal-header p span{padding:0 4px;color:#a5b4fc}.school-class-teacher-modal-body{padding:25px 28px 21px}.school-class-teacher-select-label{display:block;margin-bottom:8px;color:var(--color-text-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.school-class-teacher-select{width:100%;padding:12px 13px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-size:13px;outline:none}.school-class-teacher-select:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f}.school-class-teacher-preview{display:flex;align-items:center;gap:11px;margin-top:16px;padding:13px;border-radius:15px;background:#f8fafc}.school-class-teacher-preview div{display:grid;gap:3px}.school-class-teacher-preview strong{font-size:13px}.school-class-teacher-preview span:not(.school-section-teacher-avatar){color:var(--color-text-muted);font-size:11px}.school-class-teacher-empty{margin-top:16px;padding:13px 14px;border:1px dashed #c7d2fe;border-radius:14px;background:#f8faff;color:#64748b;font-size:11px;line-height:1.55}.school-class-teacher-modal-footer{display:flex;align-items:center;gap:8px;padding:17px 28px;border-top:1px solid var(--color-border);background:#fcfcff}.school-class-teacher-remove{margin-right:auto;border:0;background:transparent;color:#be123c;font-size:11px;font-weight:800;cursor:pointer}.school-class-teacher-remove:disabled,.school-class-teacher-close:disabled{cursor:not-allowed;opacity:.5}@media(max-width:600px){.school-class-teacher-modal-header,.school-class-teacher-modal-body,.school-class-teacher-modal-footer{padding-left:20px;padding-right:20px}.school-class-teacher-footer .btn{padding:9px 11px}}.school-class-teacher-select{padding-right:42px}.school-class-teacher-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364758b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}.school-class-teacher-modal-footer{justify-content:flex-end}.school-student-attendance-page{max-width:1180px;margin:0 auto;padding:28px;color:#172033}.student-attendance-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 32px;border:1px solid rgba(103,89,232,.16);border-radius:24px;background:radial-gradient(circle at 88% 8%,#dcd9ff 0,transparent 30%),linear-gradient(120deg,#fff,#f8f7ff 58%,#eef9fa);box-shadow:0 20px 42px #4d44b01a}.student-attendance-kicker,.student-attendance-section-heading>div>span{color:#6b5ce7;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.student-attendance-hero h1{margin:7px 0 0;color:#222a45;font-size:clamp(28px,3vw,40px);letter-spacing:-.06em}.student-attendance-hero p{margin:10px 0 0;color:#6c758c;font-size:15px}.student-attendance-action{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;border-radius:12px;padding:13px 17px;background:#6557e8;color:#fff;font-size:12px;font-weight:800;box-shadow:0 12px 22px #6557e838}.student-attendance-search-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;margin:14px 0 20px}.student-attendance-search-actions button{grid-column:3;justify-self:end;border:0;cursor:pointer}.student-attendance-search-actions button:disabled{cursor:not-allowed;opacity:.55}.student-attendance-history-notice{grid-column:2;grid-row:1;display:inline-flex;align-items:center;border:1px solid #f0d59b;border-radius:12px;padding:11px 14px;background:#fff8e8;color:#765313;font-size:12px;font-weight:700;text-align:center}.student-attendance-action span{font-size:17px}.student-attendance-filters,.student-attendance-stat,.student-attendance-chart-card,.student-attendance-records{border:1px solid #e9eaf3;border-radius:16px;background:#fff;box-shadow:0 5px 18px #27324d06}.student-attendance-filters{display:grid;grid-template-columns:220px 160px 180px minmax(280px,1fr);gap:14px;margin-top:18px;padding:14px 18px}.student-attendance-filters label{display:grid;gap:5px}.student-attendance-filters label>span{color:#38315f;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.student-attendance-filters>label:first-child>span{color:#211942}.student-attendance-filters select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #e3e5ee;border-radius:9px;padding:11px 38px 11px 12px;background:#fbfbfd;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;-moz-appearance:none;appearance:none;-webkit-appearance:none;color:#211b43;font-size:15px;font-weight:500;outline:none}.student-attendance-student-filter,.student-attendance-typeahead{position:relative}.student-attendance-typeahead input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #e3e5ee;border-radius:9px;padding:11px 36px 11px 38px;background:#fbfbfd;color:#29254f;font-size:14px;font-weight:500;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.student-attendance-typeahead input:focus{border-color:#7568ec;background:#fff;box-shadow:0 0 0 3px #7568ec1c}.student-attendance-typeahead input::placeholder{color:#777195;opacity:1}.student-attendance-typeahead input::-webkit-search-cancel-button{cursor:pointer}.student-attendance-typeahead input::-ms-clear{cursor:pointer}.student-attendance-search-icon{position:absolute;top:50%;left:12px;color:#7568ec;font-size:18px;line-height:1;pointer-events:none;transform:translateY(-55%)}.student-attendance-typeahead-menu{position:absolute;z-index:10;top:calc(100% + 7px);right:0;left:0;max-height:250px;overflow-y:auto;padding:6px;border:1px solid #e2def7;border-radius:12px;background:#fff;box-shadow:0 16px 32px #312e811c,0 3px 8px #312e810d}.student-attendance-typeahead-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:#34405a;text-align:left;cursor:pointer}.student-attendance-typeahead-menu button:hover,.student-attendance-typeahead-menu button.active{background:#f1efff}.student-attendance-typeahead-menu button strong,.student-attendance-typeahead-menu button span{display:block}.student-attendance-typeahead-menu button strong{color:#2f2a58;font-size:13px}.student-attendance-typeahead-menu button span{margin-top:3px;color:#7b7696;font-size:11px}.student-attendance-typeahead-empty{padding:14px 10px;color:#7b7696;font-size:11px;text-align:center}.student-attendance-stat-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:13px;margin-top:14px}.student-attendance-stat{position:relative;overflow:hidden;min-height:110px;padding:18px 20px;border:0;color:#fff;box-shadow:0 10px 24px -8px #0f172a47}.student-attendance-stat:after{position:absolute;top:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:#ffffff24;content:""}.student-attendance-stat span{position:relative;z-index:1;color:#fff;font-size:13px;font-weight:600}.student-attendance-stat strong{position:relative;z-index:1;display:block;margin-top:11px;color:#fff;font-size:30px;letter-spacing:-.06em}.student-attendance-stat small{position:relative;z-index:1;color:#fff;font-size:12px}.student-attendance-stat-highlight{background:linear-gradient(135deg,#6366f1,#4f46e5)}.student-attendance-stat-present{background:linear-gradient(135deg,#10b981,#059669)}.student-attendance-stat-absent{background:linear-gradient(135deg,#f43f5e,#e11d48)}.student-attendance-stat-highlight i{display:block;height:4px;margin-top:14px;border-radius:4px;background:#fff2}.student-attendance-stat-highlight i b{display:block;height:100%;border-radius:inherit;background:#fff}.student-attendance-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-top:16px}.student-attendance-content>.attendance-calendar{min-width:0}.student-attendance-records,.student-attendance-chart-card{padding:22px}.student-attendance-section-heading>select{padding:9px 30px 9px 11px;border:1px solid #e2def7;border-radius:8px;color:#514a78;background:#f8f7ff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236658d9' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:13px;font-weight:500;outline:none}.student-attendance-chart-period{margin:18px 0 10px;color:#393064;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.student-attendance-chart-body{display:flex;flex-direction:column;align-items:center;gap:22px;min-height:250px;padding:12px 12px 28px}.student-attendance-donut{position:relative;display:grid;place-items:center;width:196px;height:196px;flex:0 0 196px;border-radius:50%;box-shadow:0 14px 28px #5146c733}.student-attendance-donut-svg{width:100%;height:100%;overflow:visible}.student-attendance-donut-track,.student-attendance-donut-slice{fill:none;stroke-width:28}.student-attendance-donut-track{stroke:#e8e8f1}.student-attendance-donut-slice{cursor:pointer;transition:stroke-width .2s ease,opacity .2s ease}.student-attendance-donut-slice.present{stroke:#4338ca}.student-attendance-donut-slice.absent{stroke:#ec718a}.student-attendance-donut-slice:hover{stroke-width:36}.student-attendance-donut-center{position:absolute;display:grid;place-items:center;pointer-events:none}.student-attendance-donut-center strong{color:#302761;font-size:34px;letter-spacing:-.06em}.student-attendance-donut-center span{margin-top:2px;color:#8c87a6;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.student-attendance-chart-summary{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-attendance-chart-summary>div{display:grid;grid-template-columns:9px auto auto;align-items:center;gap:8px;justify-content:start;color:#433b68;font-size:13px;font-weight:500}.student-attendance-chart-summary i{width:8px;height:8px;border-radius:50%}.student-attendance-chart-summary i.present{background:#4338ca}.student-attendance-chart-summary i.absent{background:#ec718a}.student-attendance-chart-summary strong{color:#302761;font-size:15px}.student-attendance-chart-summary small{grid-column:1 / -1;color:#9792aa;font-size:13px;font-weight:500}.student-attendance-recent-heading{margin-top:5px}.student-attendance-record-list{height:300px;overflow-y:auto;padding-right:6px;scrollbar-color:#b6afea #f4f2fb;scrollbar-width:thin}.student-attendance-record-list::-webkit-scrollbar{width:6px}.student-attendance-record-list::-webkit-scrollbar-track{border-radius:10px;background:#f4f2fb}.student-attendance-record-list::-webkit-scrollbar-thumb{border-radius:10px;background:#b6afea}.student-attendance-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid #f0f1f5}.student-attendance-section-heading h2{margin:4px 0 0;color:#27314a;font-size:20px;letter-spacing:-.035em}.student-attendance-section-heading>strong{color:#6658d9;font-size:12px}.student-attendance-record{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid #f0f1f5}.student-attendance-record:last-child{border-bottom:0}.student-attendance-record-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;font-size:13px;font-weight:900}.student-attendance-record-icon.present{background:#e6f8f0;color:#159568}.student-attendance-record-icon.absent{background:#fff0f0;color:#df5f67}.student-attendance-record div:nth-child(2){min-width:0;flex:1}.student-attendance-record strong,.student-attendance-record span{display:block}.student-attendance-record strong{color:#302b57;font-size:13px}.student-attendance-record span{margin-top:3px;color:#65627b;font-size:11px}.student-attendance-record em{border-radius:20px;padding:5px 8px;font-size:11px;font-style:normal;font-weight:800;text-transform:capitalize}.student-attendance-record em.present{background:#e6f8f0;color:#159568}.student-attendance-record em.absent{background:#fff0f0;color:#df5f67}.student-attendance-state,.student-attendance-empty{margin-top:18px;padding:36px 20px;border:1px dashed #dfe1ed;border-radius:16px;color:#8b93a4;font-size:12px;text-align:center}@media(max-width:900px){.student-attendance-content{grid-template-columns:1fr}}@media(max-width:620px){.school-student-attendance-page{padding:14px 10px 32px}.student-attendance-hero{align-items:stretch;flex-direction:column;padding:22px 18px}.student-attendance-action{justify-content:center}.student-attendance-filters{grid-template-columns:1fr;margin-top:12px;padding:12px}.student-attendance-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.student-attendance-stat:first-child{grid-column:1 / -1}.student-attendance-stat{min-height:0;padding:15px}.student-attendance-records,.student-attendance-chart-card{padding:16px}.student-attendance-chart-body{gap:18px;padding-inline:0}.student-attendance-donut{width:172px;height:172px;flex-basis:172px}}@media(max-width:380px){.student-attendance-stat-grid{grid-template-columns:1fr}.student-attendance-stat:first-child{grid-column:auto}}.school-subjects-page{max-width:1260px;padding-left:8px;padding-right:8px}.school-subjects-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:30px 32px;margin-bottom:30px;border:1px solid #c4b5fd;border-radius:26px;background:radial-gradient(circle at 88% 10%,#c4b5fd80,transparent 32%),linear-gradient(135deg,#f5f3ff,#eef2ff 54%,#ecfeff);box-shadow:0 18px 45px #7c3aed1c}.school-subject-kicker{display:block;color:#7c3aed;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.school-subjects-hero h1{margin:8px 0;color:#172033;font-size:clamp(24px,3vw,32px);font-weight:760;letter-spacing:-.045em;line-height:1.1}.school-subjects-hero p{max-width:620px;margin:0;color:#64748b;font-size:13px;line-height:1.65}.school-subject-create-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:190px;border-radius:12px;padding:12px 18px;box-shadow:0 9px 22px #7c3aed3d}.school-subject-create-button span{font-size:20px;font-weight:400;line-height:1}.school-subjects-section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:15px}.school-subjects-section-heading h2{margin:0;color:var(--color-text-primary);font-size:19px;letter-spacing:-.03em}.school-subjects-section-heading p{margin:5px 0 0;color:var(--color-text-muted);font-size:12px}.school-subjects-grid,.school-subjects-loading{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:18px}.school-subject-card{position:relative;display:flex;min-height:285px;flex-direction:column;overflow:hidden;padding:22px;border:1px solid #c4b5fd;border-radius:22px;background:linear-gradient(145deg,#fff,#faf8ff);box-shadow:0 12px 32px #64748b18;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.school-subject-card:after{position:absolute;top:-48px;right:-38px;width:145px;height:145px;border-radius:50%;background:#ddd6fe66;content:""}.school-subject-card:hover{border-color:#a78bfa;box-shadow:0 18px 40px #7c3aed2b;transform:translateY(-3px)}.school-subject-card.is-inactive{border-color:#fecaca;background:linear-gradient(145deg,#fff,#fff7f7)}.school-subject-card.is-inactive:after{background:#fecaca55}.school-subject-card-topline,.school-subject-card-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.school-subject-icon,.school-subject-modal-icon{display:grid;place-items:center;width:44px;height:44px;border:1px solid #c4b5fd;border-radius:14px;color:#7c3aed;background:#f5f3ff}.school-subject-icon svg,.school-subject-modal-icon svg,.school-subjects-empty-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.school-subject-card.is-inactive .school-subject-icon{border-color:#fecaca;color:#dc2626;background:#fef2f2}.school-subject-status{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:99px;font-size:10px;font-weight:800}.school-subject-status i,.school-subject-card-footer b{display:block;width:6px;height:6px;border-radius:50%;background:currentColor}.school-subject-status.is-active{color:#047857;background:#d1fae5}.school-subject-status.is-inactive{color:#b91c1c;background:#fee2e2;border:1px solid #fecaca}.school-subject-card-copy{position:relative;z-index:1;margin:25px 0 21px}.school-subject-card-copy .school-subject-kicker{color:#8b5cf6;font-size:9px}.school-subject-card-copy h2{margin:7px 0 6px;color:#172033;font-size:27px;letter-spacing:-.055em}.school-subject-card-copy p{margin:0;color:#64748b;font-size:11px;line-height:1.55}.school-subject-card-detail{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.school-subject-card-detail div{display:grid;gap:5px}.school-subject-card-detail span{color:#94a3b8;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-subject-card-detail strong{overflow:hidden;color:#334155;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.school-subject-card-footer{margin-top:auto;padding-top:16px;color:#94a3b8;font-size:10px}.school-subject-card-footer span:first-child{display:inline-flex;align-items:center;gap:6px}.school-subject-card-footer b{color:#8b5cf6}.school-subject-card.is-inactive .school-subject-card-footer span:last-child{color:#b91c1c;font-weight:750}.school-subjects-empty{display:grid;place-items:center;padding:68px 24px;border:1px dashed #c4b5fd;border-radius:22px;background:linear-gradient(145deg,#fff,#faf8ff);text-align:center}.school-subjects-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:20px;color:#7c3aed;background:#f5f3ff}.school-subjects-empty h2{margin:0 0 7px;color:var(--color-text-primary);font-size:20px}.school-subjects-empty p{max-width:380px;margin:0 0 20px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.school-subjects-loading div{height:285px;border-radius:22px;background:linear-gradient(100deg,#eef2f7,#fff,#eef2f7);background-size:200% 100%;animation:school-subject-shimmer 1.35s infinite}@keyframes school-subject-shimmer{to{background-position:-200% 0}}.school-subject-modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a80;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:school-subject-fade .18s ease}.school-subject-modal{width:min(100%,570px);max-height:min(720px,92vh);overflow:auto;border:1px solid #ffffffb8;border-radius:24px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a45;animation:school-subject-rise .22s ease}.school-subject-modal-header{display:flex;justify-content:space-between;gap:16px;padding:25px 26px 21px;border-bottom:1px solid var(--color-border)}.school-subject-modal-heading{display:flex;align-items:flex-start;gap:14px}.school-subject-modal-icon{flex:0 0 auto;color:#fff;border:0;background:linear-gradient(135deg,#7c3aed,#06b6d4);box-shadow:0 8px 20px #7c3aed3d}.school-subject-modal-header h2{margin:5px 0;color:var(--color-text-primary);font-size:20px;letter-spacing:-.04em}.school-subject-modal-header p{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.5}.school-subject-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);font-size:23px;line-height:1;cursor:pointer}.school-subject-modal-close:hover{color:var(--color-text-primary);border-color:#a78bfa}.school-subject-modal-body{display:grid;gap:19px;padding:25px 26px}.school-subject-field{display:grid;gap:8px}.school-subject-field>span{color:var(--color-text-primary);font-size:12px;font-weight:800}.school-subject-field>span b{color:#ef4444}.school-subject-field input{width:100%;min-height:45px;box-sizing:border-box;border:1px solid var(--color-border);border-radius:12px;outline:0;padding:0 13px;color:var(--color-text-primary);background:var(--color-bg);font:inherit;font-size:13px;transition:border-color .18s,box-shadow .18s}.school-subject-field input:focus{border-color:#a78bfa;box-shadow:0 0 0 4px #7c3aed1f}.school-subject-field small{color:var(--color-text-muted);font-size:10px}.school-subject-form-error{margin:-5px 0 0;padding:10px 12px;border-radius:10px;color:#b91c1c;background:#fef2f2;font-size:11px;font-weight:700}.school-subject-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 26px 23px;border-top:1px solid var(--color-border)}.school-subject-modal-footer .btn-secondary{border-color:#c4b5fd;color:#7c3aed;background:#f5f3ff}@keyframes school-subject-fade{0%{opacity:0}to{opacity:1}}@keyframes school-subject-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.school-subjects-hero{align-items:stretch;flex-direction:column;padding:23px 20px;margin-bottom:24px}.school-subject-create-button{width:100%}.school-subjects-grid,.school-subjects-loading{grid-template-columns:1fr}.school-subject-modal-overlay{align-items:flex-end;padding:0}.school-subject-modal{max-height:94vh;border-radius:24px 24px 0 0}.school-subject-modal-header,.school-subject-modal-body{padding-left:20px;padding-right:20px}.school-subject-modal-footer{padding:15px 20px 20px}.school-subject-modal-footer button{flex:1}}.school-timetable-page{max-width:1280px;width:100%;min-width:0;box-sizing:border-box;padding:8px 8px 40px}.school-timetable-hero{position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:space-between;gap:28px;padding:32px;margin-bottom:22px;border-radius:26px;color:#fff;background:radial-gradient(circle at 82% 12%,rgba(99,102,241,.48),transparent 30%),linear-gradient(125deg,#111827,#312e81 68%,#4338ca);box-shadow:0 18px 44px #1e293b2e}.school-timetable-hero:after{position:absolute;right:-80px;bottom:-220px;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 38px #ffffff0a,0 0 0 76px #ffffff08;content:""}.school-timetable-hero>div,.school-timetable-hero>.btn{position:relative;z-index:1}.school-timetable-eyebrow{display:block;color:#2563eb;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.school-timetable-hero h1{margin:8px 0 7px;color:#fff;font-size:clamp(27px,4vw,38px);letter-spacing:-.06em;line-height:1}.school-timetable-hero p{max-width:580px;margin:0;color:#c7d2fe;font-size:13px;line-height:1.6}.school-timetable-hero .school-timetable-eyebrow{color:#c4b5fd}.school-timetable-hero-actions{display:flex;gap:10px}.school-timetable-hero-actions .btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:12px 17px;white-space:nowrap}.school-timetable-hero-actions span{font-size:18px;line-height:1}.school-timetable-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.school-timetable-overview>div{display:flex;align-items:center;justify-content:space-between;padding:17px 19px;border:1px solid #e2e8f0;border-radius:16px;background:var(--color-surface);box-shadow:0 7px 20px #64748b0d}.school-timetable-overview span{color:#94a3b8;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.school-timetable-overview strong{color:#172033;font-size:21px;letter-spacing:-.04em}.school-timetable-overview .is-ready{display:inline-flex;align-items:center;gap:6px;color:#047857;font-size:12px}.school-timetable-overview i,.school-timetable-active i{width:6px;height:6px;border-radius:50%;background:currentColor}.school-timetable-content-grid{display:grid;min-width:0;grid-template-columns:minmax(0,1fr);gap:18px}.school-timetable-teacher-panel{order:-1}.school-timetable-view-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid #dbeafe;border-radius:18px;background:linear-gradient(135deg,#f8fbff,#f5f3ff)}.school-timetable-panel{min-height:330px;min-width:0;padding:23px;border:1px solid #e2e8f0;border-radius:22px;background:var(--color-surface);box-shadow:0 12px 32px #64748b12}.school-timetable-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:20px}.school-timetable-panel-heading h2{margin:6px 0 4px;color:#172033;font-size:21px;letter-spacing:-.045em}.school-timetable-panel-heading p{margin:0;color:#94a3b8;font-size:11px}.school-timetable-panel-header-action{width:min(160px,100%);margin:2px 18px 0 auto}.school-timetable-panel-header-action:has(.school-timetable-student-filters){width:min(420px,100%)}.school-timetable-panel-header-action .school-timetable-field>span{display:none}.school-timetable-student-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.school-timetable-quiet-button{border:0;color:#2563eb;background:transparent;font:inherit;font-size:11px;font-weight:800;cursor:pointer}.school-timetable-period-list,.school-timetable-entry-list{display:grid;gap:9px}.school-timetable-period,.school-timetable-entry{display:flex;align-items:center;gap:12px;padding:12px 13px;border:1px solid #eef2f7;border-radius:14px;background:linear-gradient(100deg,#f8fafc,#fff);transition:.18s ease}.school-timetable-period:hover,.school-timetable-entry:hover{border-color:#bfdbfe;box-shadow:0 7px 17px #2563eb12}.school-timetable-period-number{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:#2563eb;background:#eff6ff;font-size:11px;font-weight:850}.school-timetable-period div{display:grid;flex:1;gap:4px}.school-timetable-period strong,.school-timetable-entry strong{color:#334155;font-size:12px}.school-timetable-period span:not(.school-timetable-period-number):not(.school-timetable-active),.school-timetable-entry span{color:#94a3b8;font-size:10px}.school-timetable-active{display:inline-flex;align-items:center;gap:5px;color:#059669;font-size:9px;font-weight:800}.school-timetable-entry{align-items:flex-start}.school-timetable-entry-day{display:grid;gap:5px;min-width:102px;padding-right:13px;border-right:1px solid #e2e8f0}.school-timetable-entry-day span{color:#2563eb;font-size:10px;font-weight:800;text-transform:uppercase}.school-timetable-entry-day strong{font-size:11px}.school-timetable-entry-copy{display:grid;gap:5px;padding-top:1px}.school-timetable-empty{display:grid;place-items:center;gap:8px;padding:48px 18px;border:1px dashed #cbd5e1;border-radius:16px;text-align:center}.school-timetable-empty svg{width:28px;height:28px;margin-bottom:3px;color:#93c5fd;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.school-timetable-empty strong{color:#334155;font-size:16px;font-weight:600}.school-timetable-empty span{color:#94a3b8;font-size:13px}.school-timetable-empty .btn{margin-top:8px;font-size:11px}.school-timetable-modal-overlay{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a80;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:school-timetable-fade .18s ease}.school-timetable-modal{width:min(100%,630px);max-height:min(760px,94vh);overflow:auto;border:1px solid #ffffffb8;border-radius:24px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a45;animation:school-timetable-rise .22s ease}.school-timetable-modal-header{display:flex;justify-content:space-between;gap:16px;padding:25px 27px 21px;border-bottom:1px solid var(--color-border)}.school-timetable-modal-heading{display:flex;align-items:flex-start;gap:14px}.school-timetable-modal-icon{display:grid;place-items:center;width:44px;height:44px;flex:0 0 auto;border-radius:14px;color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 8px 20px #2563eb3d}.school-timetable-modal-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.school-timetable-modal-header h2{margin:5px 0;color:var(--color-text-primary);font-size:21px;letter-spacing:-.04em}.school-timetable-modal-header p{margin:0;color:var(--color-text-muted);font-size:11px;line-height:1.5}.school-timetable-modal-close{width:34px;height:34px;flex:0 0 auto;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-muted);background:var(--color-bg);font-size:23px;line-height:1;cursor:pointer}.school-timetable-modal-close:hover{color:var(--color-text-primary);border-color:#93c5fd}.school-timetable-modal-body{display:grid;gap:18px;padding:25px 27px}.school-timetable-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.school-timetable-field{display:grid;gap:7px}.school-timetable-field>span{color:var(--color-text-primary);font-size:11px;font-weight:800}.school-timetable-field>span b{color:#ef4444}.school-timetable-field input,.school-timetable-field select{box-sizing:border-box;width:100%;min-height:44px}.school-timetable-field small{color:var(--color-text-muted);font-size:10px;line-height:1.35}.school-timetable-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:17px 27px 23px;border-top:1px solid var(--color-border)}.school-timetable-submit{min-width:125px}.school-timetable-table-wrap{width:100%;max-width:100%;overflow-x:auto;border:1px solid #dbeafe;border-radius:5px;box-shadow:0 14px 34px #2563eb12}.school-timetable-table{width:100%;min-width:760px;table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--color-text-primary);font-size:12px}.school-timetable-table th,.school-timetable-table td{width:125px;padding:15px 14px;border-right:1px solid #eaf0f8;border-bottom:1px solid #eaf0f8;vertical-align:top;text-align:left}.school-timetable-empty-cell{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;width:100%;height:100%;min-height:0;margin:0;padding:15px 14px;box-sizing:border-box;border:0;color:#94a3b8;background:transparent;cursor:pointer;font:inherit}.school-timetable-empty-td{position:relative;padding:0!important}.school-timetable-empty-cell:hover{color:#6366f1;background:#eef2ff}.school-timetable-empty-cell:focus-visible{outline:2px solid #818cf8;outline-offset:-3px}.school-timetable-page .school-timetable-table thead th{padding:14px;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%);font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.school-timetable-table thead th:first-child{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed 0%)}.school-timetable-table tbody tr:last-child th,.school-timetable-table tbody tr:last-child td{border-bottom:0}.school-timetable-table th:last-child,.school-timetable-table td:last-child{border-right:0}.school-timetable-table tbody th,.school-timetable-time-col{width:105px;color:#0f172a!important;background:#f8fafc;font-size:11px;font-weight:800;white-space:nowrap}.school-timetable-cell{display:grid;width:min(170px,100%);min-height:58px;gap:4px;padding:10px;border:1px solid #dbeafe;border-radius:12px;background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:0 5px 14px #2563eb0d}.school-timetable-cell strong{color:#1e293b;font-size:12px}.school-timetable-cell span{color:#64748b;font-size:10px}.school-timetable-cell span:last-of-type{color:#2563eb;font-weight:700}.school-timetable-cell-actions{display:flex;justify-content:flex-end;justify-self:end;width:100%;gap:8px;margin-top:4px}.school-timetable-cell-actions button{display:block;width:25px;height:25px;padding:0;border:1px solid #dbeafe;border-radius:8px;color:#2563eb;background:#eff6ff;font-size:0;line-height:0;font-weight:800;cursor:pointer;transition:.18s ease}.school-timetable-cell-actions button:before{display:none}.school-timetable-cell-actions button:first-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 12s3.5-6 9.5-6 9.5 6 9.5 6-3.5 6-9.5 6-9.5-6-9.5-6Z'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:14px 14px}.school-timetable-cell-actions button:nth-child(2){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:14px 14px}.school-timetable-cell-actions button:last-child{color:#dc2626;border-color:#fee2e2;background:#fff1f2}.school-timetable-cell-actions button:last-child{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23dc2626' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='m19 6-1 14H6L5 6'/%3E%3Cpath d='M10 11v5M14 11v5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:14px 14px}.school-timetable-cell-actions button:hover{transform:translateY(-1px);box-shadow:0 5px 12px #2563eb1f}.school-timetable-cell-actions button:last-child:hover{box-shadow:0 5px 12px #dc26261f}.school-timetable-dash{display:block;padding:12px 10px;color:#cbd5e1;font-size:16px;text-align:center}@keyframes school-timetable-fade{0%{opacity:0}to{opacity:1}}@keyframes school-timetable-rise{0%{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:820px){.school-timetable-content-grid{grid-template-columns:1fr}}@media(max-width:640px){.school-timetable-page{padding:0 0 30px}.school-timetable-hero{align-items:stretch;flex-direction:column;padding:24px 20px;border-radius:20px}.school-timetable-hero>.btn{width:100%;justify-content:center}.school-timetable-hero-actions{width:100%}.school-timetable-hero-actions .btn{flex:1;justify-content:center;padding:11px 8px;font-size:11px}.school-timetable-overview{grid-template-columns:1fr;gap:8px}.school-timetable-overview>div{display:grid;gap:7px;padding:13px}.school-timetable-overview span{font-size:8px}.school-timetable-overview strong{font-size:17px}.school-timetable-overview .is-ready{font-size:10px}.school-timetable-panel{overflow:hidden;padding:14px;border-radius:18px}.school-timetable-table-wrap{margin:0 -6px;border-radius:5px;-webkit-overflow-scrolling:touch}.school-timetable-table{min-width:640px}.school-timetable-table th,.school-timetable-table td,.school-timetable-empty-cell{padding:8px 6px}.school-timetable-table th{width:92px}.school-timetable-table tbody th{width:82px}.school-timetable-cell{min-height:48px;gap:3px;padding:7px}.school-timetable-cell strong{font-size:11px}.school-timetable-cell span{font-size:9px}.school-timetable-cell-actions{gap:4px}.school-timetable-cell-actions button{width:22px;height:22px}.school-timetable-panel-heading{display:block}.school-timetable-panel-header-action{margin:14px 0 0}.school-timetable-panel-header-action:has(.school-timetable-student-filters){width:100%}.school-timetable-form-row{grid-template-columns:1fr;gap:12px}.school-timetable-student-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.school-timetable-quiet-button{display:block;margin-top:12px;padding:0}.school-timetable-modal-overlay{align-items:flex-end;padding:0}.school-timetable-modal{max-height:95vh;border-radius:24px 24px 0 0}.school-timetable-modal-header,.school-timetable-modal-body{padding-right:20px;padding-left:20px}.school-timetable-modal-footer{padding:15px 20px 20px}.school-timetable-modal-footer button{flex:1}.school-timetable-form-row,.school-timetable-view-toolbar{grid-template-columns:1fr}.school-timetable-entry-day{min-width:84px}}.deactivate-icon-button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;padding:0;border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;color:#10b981;cursor:pointer;transition:transform .15s,box-shadow .15s}.deactivate-icon-button.is-inactive{border-color:#e5e7eb;background:#f3f4f6;color:#9ca3af}.deactivate-icon-button:hover,.deactivate-icon-button:focus-visible{transform:translateY(-1px);box-shadow:0 3px 10px #0f172a1f;outline:none}.deactivate-icon-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.student-table-card{overflow:hidden;border:1px solid #c7d2fe;border-radius:16px;background:var(--color-surface);box-shadow:0 10px 26px #4f46e514}.student-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.student-directory-table{width:100%;min-width:1180px;border-collapse:collapse}.student-directory-table th,.student-directory-table td{padding:15px 14px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:middle;font-size:14px}.student-directory-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.student-directory-table th{color:#fff;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.student-table-sort-button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.student-table-sort-button:hover,.student-table-sort-button:focus-visible{color:#e0e7ff;outline:none}.student-table-sort-button span{font-size:14px;line-height:1}.student-directory-table td{color:var(--color-text-secondary);line-height:1.4}.student-directory-table tbody tr:last-child td{border-bottom:0}.student-directory-table tbody tr:hover td{background:#6366f10b}.student-table-name{min-width:150px;color:var(--color-text-primary)!important;font-weight:750}.student-table-email{min-width:150px}.student-table-actions{display:flex;align-items:center;gap:6px}@media(max-width:700px){.student-table-card{border-radius:8px}.student-directory-table th,.student-directory-table td{padding:9px 8px;font-size:12px}.student-directory-table{min-width:820px}.student-directory-table th{font-size:10px}.student-table-name,.student-table-email{min-width:112px;max-width:112px}.student-directory-table td>span{display:block;max-width:112px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.tutor-student-directory-actions{justify-content:flex-end}.tutor-student-empty-icon{display:grid;width:68px;height:68px;margin:0 auto 14px;place-items:center;border:1px solid rgba(99,102,241,.14);border-radius:50%;color:#6366f1;background:linear-gradient(135deg,#eef2ff,#f5f3ff);box-shadow:0 10px 24px #6366f124}.tutor-student-empty-icon svg{width:38px;height:38px}.tutor-student-filter-count{position:relative}@media(max-width:700px){.tutor-student-search-controls{flex-wrap:nowrap!important}.tutor-student-search-input{min-width:0!important}.tutor-student-filter-button{flex-shrink:0;width:42px;justify-content:center;padding:0!important}.tutor-student-filter-label{display:none}.tutor-student-filter-count{position:absolute;top:-6px;right:-6px}.tutor-student-directory-header{align-items:flex-start!important}.tutor-student-directory-actions{width:100%;margin-left:auto;justify-content:flex-end}}.activate-students-page{display:grid;gap:24px;padding:1rem}.activate-students-hero{position:relative;display:flex;min-height:208px;align-items:center;justify-content:space-between;gap:28px;overflow:hidden;padding:32px 38px;border:1px solid rgba(129,140,248,.24);border-radius:24px;background:radial-gradient(circle at 78% 4%,rgba(129,140,248,.3),transparent 30%),linear-gradient(118deg,#171a3a,#29275c 52%,#343477);box-shadow:0 18px 44px #23255b2e;color:#fff}.activate-students-hero-copy{position:relative;z-index:1;max-width:620px}.activate-students-eyebrow,.activate-students-section-kicker{display:inline-flex;align-items:center;gap:8px;color:#c7caff;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.activate-students-eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#a5f3d0;box-shadow:0 0 0 4px #a5f3d024}.activate-students-hero h1{margin:13px 0 8px;color:#fff;font-size:clamp(27px,3vw,36px);font-weight:700;letter-spacing:-.04em}.activate-students-hero-copy p{max-width:520px;margin:0;color:#eff0ffc2;font-size:14px;line-height:1.65}.activate-students-hero-count{position:relative;z-index:1;display:grid;min-width:156px;justify-items:center;padding:19px 22px 17px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:#ffffff1a;box-shadow:inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.activate-students-hero-count span{color:#eff0ffc7;font-size:11px;font-weight:600}.activate-students-hero-count strong{margin:3px 0 0;color:#fff;font-size:38px;font-weight:700;line-height:1.1;letter-spacing:-.04em}.activate-students-hero-count small{margin-top:3px;color:#eff0ffad;font-size:11px}.activate-students-hero-orb{position:absolute;right:13%;bottom:-125px;width:270px;height:270px;border:1px solid rgba(255,255,255,.08);border-radius:50%;box-shadow:0 0 0 32px #ffffff06,0 0 0 68px #ffffff05;pointer-events:none}.activate-students-workspace{padding:27px;border:1px solid var(--color-border, #e7eaf2);border-radius:22px;background:var(--color-surface, #fff);box-shadow:0 12px 32px #1720420e}.activate-students-section-header{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding-bottom:22px;border-bottom:1px solid var(--color-border, #e7eaf2)}.activate-students-section-kicker{color:var(--color-primary, #6258db);font-size:10px}.activate-students-section-header h2{margin:7px 0 4px;color:var(--color-text-primary, #172033);font-size:21px;font-weight:700;letter-spacing:-.025em}.activate-students-section-header p{margin:0;color:var(--color-text-secondary, #727b8f);font-size:13px}.activate-students-toolbar{display:flex;align-items:center;gap:9px}.activate-students-search{display:flex;width:min(310px,30vw);height:42px;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--color-border, #e3e7ef);border-radius:11px;background:var(--color-bg, #f8f9fc);transition:border-color .16s ease,box-shadow .16s ease}.activate-students-search:focus-within{border-color:var(--color-primary, #6258db);box-shadow:0 0 0 3px #6258db1c}.activate-students-search svg,.activate-student-meta svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6}.activate-students-search svg{color:#8b93a5}.activate-students-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text-primary, #172033);font:inherit;font-size:12px}.activate-students-search input::placeholder{color:#969eae}.activate-students-refresh{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border:1px solid var(--color-border, #e3e7ef);border-radius:11px;background:var(--color-surface, #fff);color:#667085;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease}.activate-students-refresh:hover:not(:disabled){border-color:#6258db52;background:#f7f6ff;color:var(--color-primary, #6258db)}.activate-students-refresh:disabled{cursor:wait;opacity:.7}.activate-students-refresh svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.activate-students-refresh svg.is-spinning{animation:activate-students-spin .9s linear infinite}.activate-students-list{display:grid;gap:11px;padding-top:18px}.activate-student-card{display:flex;min-width:0;align-items:center;gap:16px;padding:17px 18px;border:1px solid var(--color-border, #e9ebf2);border-radius:16px;background:var(--color-surface, #fff);transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease}.activate-student-card:hover{transform:translateY(-1px);border-color:#6258db4d;box-shadow:0 9px 24px #22275412}.activate-student-avatar{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border:1px solid rgba(99,102,241,.14);border-radius:15px;background:linear-gradient(145deg,#f0efff,#e9f5ff);color:#5146c8;font-size:14px;font-weight:700}.activate-student-main{min-width:0;flex:1}.activate-student-name-row{display:flex;align-items:center;gap:10px}.activate-student-name-row h3{overflow:hidden;margin:0;color:var(--color-text-primary, #172033);font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.activate-student-pending{display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:4px 8px;border:1px solid #f4dfae;border-radius:999px;background:#fff9e9;color:#946313;font-size:10px;font-weight:700}.activate-student-pending i{width:6px;height:6px;border-radius:50%;background:#e8a832}.activate-student-email{display:inline-block;max-width:100%;overflow:hidden;margin-top:5px;color:var(--color-text-secondary, #727b8f);font-size:12px;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.activate-student-email:hover{color:var(--color-primary, #6258db);text-decoration:underline}.activate-student-meta{display:flex;flex-wrap:wrap;gap:15px;margin-top:10px;color:#8b93a5;font-size:10px}.activate-student-meta span{display:inline-flex;align-items:center;gap:5px}.activate-student-meta svg{width:14px;height:14px}.activate-student-review{display:inline-flex;min-height:40px;flex:0 0 auto;align-items:center;justify-content:center;gap:9px;padding:0 13px;border:1px solid rgba(98,88,219,.2);border-radius:10px;background:#f7f6ff;color:#5146c8;cursor:pointer;font:inherit;font-size:11px;font-weight:700;transition:background .16s ease,color .16s ease,border-color .16s ease}.activate-student-review:hover{border-color:#6258db;background:#6258db;color:#fff}.activate-student-review svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;transition:transform .16s ease}.activate-student-review:hover svg{transform:translate(2px)}.activate-students-state{display:flex;min-height:310px;flex-direction:column;align-items:center;justify-content:center;padding:36px 20px 30px;text-align:center}.activate-students-empty-art{position:relative;display:grid;width:90px;height:90px;place-items:center;margin-bottom:15px;border:1px solid rgba(99,102,241,.12);border-radius:28px;background:linear-gradient(145deg,#f3f2ff,#eef8ff);box-shadow:0 12px 28px #464ca01a}.activate-students-empty-art svg{width:54px;height:54px;fill:none;stroke:#6459d8;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.activate-students-empty-spark{position:absolute;width:7px;height:7px;border-radius:3px;background:#a5a0f3}.activate-students-empty-spark-one{top:13px;right:-7px;transform:rotate(25deg)}.activate-students-empty-spark-two{bottom:9px;left:-8px;width:5px;height:5px;background:#72c6c8}.activate-students-clear-label{padding:5px 9px;border-radius:999px;background:#eefbf5;color:#25805a;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.activate-students-state h3{margin:12px 0 5px;color:var(--color-text-primary, #172033);font-size:17px;font-weight:700;letter-spacing:-.02em}.activate-students-state p{max-width:380px;margin:0;color:var(--color-text-secondary, #727b8f);font-size:12px;line-height:1.65}.activate-students-error .activate-students-state-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:14px;background:#fff0ee;color:#d34b3f;font-size:20px;font-weight:700}.activate-students-error .btn{margin-top:16px}.activate-students-no-results{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--color-text-secondary, #727b8f);font-size:12px}.activate-students-no-results strong{color:var(--color-text-primary, #172033);font-size:14px}.activate-student-skeleton{display:flex;align-items:center;gap:15px;padding:17px 18px;border:1px solid var(--color-border, #e9ebf2);border-radius:16px}.activate-student-skeleton>span,.activate-student-skeleton i,.activate-student-skeleton b{display:block;border-radius:8px;background:linear-gradient(90deg,#f0f1f6 25%,#e7e9f0,#f0f1f6 75%);background-size:200% 100%;animation:activate-students-shimmer 1.4s ease-in-out infinite}.activate-student-skeleton>span{width:48px;height:48px;border-radius:15px}.activate-student-skeleton div{display:grid;flex:1;gap:7px}.activate-student-skeleton i:first-child{width:34%;height:11px}.activate-student-skeleton i:nth-child(2){width:48%;height:9px}.activate-student-skeleton i:nth-child(3){width:26%;height:8px}.activate-student-skeleton b{width:112px;height:38px}@keyframes activate-students-shimmer{to{background-position:-200% 0}}@keyframes activate-students-spin{to{transform:rotate(360deg)}}@media(max-width:760px){.activate-students-hero{min-height:0;align-items:flex-start;padding:25px}.activate-students-hero-count{min-width:118px;padding:14px 15px}.activate-students-hero-count strong{font-size:32px}.activate-students-workspace{padding:21px}.activate-students-section-header{align-items:flex-start;flex-direction:column}.activate-students-toolbar,.activate-students-search{width:100%}.activate-students-search{flex:1}}@media(max-width:560px){.activate-students-page{gap:16px}.activate-students-hero{flex-direction:column;gap:19px;padding:22px;border-radius:19px}.activate-students-hero-count{display:flex;min-width:0;align-items:baseline;gap:8px;padding:9px 12px;border-radius:12px}.activate-students-hero-count strong{margin:0;font-size:22px}.activate-students-hero-count small{margin:0}.activate-students-hero-orb{right:-130px}.activate-students-workspace{padding:17px 14px;border-radius:18px}.activate-students-section-header h2{font-size:19px}.activate-student-card{align-items:flex-start;flex-wrap:wrap;gap:11px;padding:14px}.activate-student-avatar{width:42px;height:42px;border-radius:13px}.activate-student-main{width:calc(100% - 55px);flex:1 1 calc(100% - 55px)}.activate-student-name-row{align-items:flex-start;flex-direction:column;gap:6px}.activate-student-meta{gap:8px 13px}.activate-student-review{width:100%}.activate-student-skeleton b{display:none}}@media(prefers-reduced-motion:reduce){.activate-student-card,.activate-student-review,.activate-student-review svg,.activate-students-refresh,.activate-students-search{transition:none}.activate-students-refresh svg.is-spinning,.activate-student-skeleton>span,.activate-student-skeleton i,.activate-student-skeleton b{animation:none}}.tor-results-page{max-width:1320px;padding-top:8px;padding-bottom:48px}.tor-results-heading{position:relative;overflow:hidden;min-height:142px;padding:26px 28px!important;border:1px solid rgba(129,140,248,.2);border-radius:22px;background:radial-gradient(circle at 90% 10%,rgba(167,139,250,.35),transparent 34%),linear-gradient(135deg,#312e81,#4f46e5 52%,#7c3aed);box-shadow:0 18px 42px #4f46e533;color:#fff}.tor-results-heading:after{position:absolute;right:10%;bottom:-58px;width:190px;height:190px;border:1px solid rgba(255,255,255,.14);border-radius:50%;content:"";pointer-events:none}.tor-results-heading h1{letter-spacing:-.035em}.tor-results-heading p{color:#ffffffb8!important}.tor-results-heading>div{position:relative;z-index:1}.tor-results-toggle{position:relative;z-index:2;border-color:#ffffff3d!important;background:#ffffff1f!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.tor-results-toggle button{transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.tor-results-toggle button:hover{transform:translateY(-1px)}.tor-results-toolbar{padding:12px;border:1px solid var(--color-border);border-radius:16px;background:linear-gradient(135deg,var(--color-surface),rgba(248,250,252,.78));box-shadow:0 8px 22px #0f172a0a}.tor-results-toolbar input,.tor-results-toolbar select{outline:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.tor-results-toolbar input:focus,.tor-results-toolbar select:focus{border-color:#818cf8!important;box-shadow:0 0 0 4px #6366f11a}.tor-school-results-filter-row{display:contents!important}.tor-results-search,.tor-school-results-filter,.tor-group-select{flex:1 1 190px;min-width:170px;max-width:none}.tor-school-results-filter{position:relative;display:block}.tor-results-search{box-sizing:border-box;height:44px;padding:0 13px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;font-weight:400}.tor-school-results-filter:after{position:absolute;top:18px;right:14px;width:7px;height:7px;border-right:1.5px solid var(--color-text-muted);border-bottom:1.5px solid var(--color-text-muted);content:"";pointer-events:none;transform:rotate(45deg)}.tor-school-results-filter select{display:block;box-sizing:border-box;width:100%;min-height:44px;padding:0 34px 0 13px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-primary);font-size:13px;font-weight:400;-moz-appearance:none;appearance:none;-webkit-appearance:none}.tor-group-select{position:relative;display:flex;align-items:center;min-height:44px;width:auto;min-width:170px;padding-left:13px;border:1px solid rgba(99,102,241,.2);border-radius:13px;background:linear-gradient(145deg,var(--color-surface),#f5f3ff);color:#6366f1;box-shadow:0 6px 16px #6366f114}.tor-group-select select{flex:1;width:calc(100% - 20px);height:42px;padding:0 34px 0 9px;border:0;outline:0;background:transparent;color:var(--color-text-primary);font-size:12px;font-weight:400;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;outline:none;border:0!important;box-shadow:none!important}.tor-group-select select:focus,.tor-group-select select:focus-visible,.tor-results-toolbar select:focus,.tor-results-toolbar select:focus-visible,.tor-filter-fields select:focus,.tor-filter-fields select:focus-visible{outline:none!important;box-shadow:none!important}.tor-group-select:after{position:absolute;right:14px;width:7px;height:7px;border-right:1.5px solid #6366f1;border-bottom:1.5px solid #6366f1;content:"";pointer-events:none;transform:translateY(-2px) rotate(45deg)}.tor-group-select:focus-within{outline:none;border-color:#6366f133;box-shadow:0 6px 16px #6366f114}.tor-filter-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(99,102,241,.24);border-radius:14px;background:linear-gradient(145deg,var(--color-surface),#f5f3ff);color:#6366f1;box-shadow:0 6px 16px #6366f11f;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tor-filter-button:hover,.tor-filter-button.active{transform:translateY(-1px);border-color:#8b5cf6;box-shadow:0 9px 22px #6366f13b}.tor-results-group{margin-bottom:28px}.tor-results-group-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}.tor-results-group-heading>span{height:1px;flex:1;background:var(--color-border)}.tor-results-group-heading h2{margin:0;color:var(--color-text-secondary);font-size:12px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.tor-results-group-heading em{margin-left:8px;color:var(--color-text-muted);font-size:11px;font-style:normal;font-weight:650}.tor-filter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:16px;background:#0f172a80;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tor-filter-modal{width:min(460px,100%);padding:25px;border:1px solid rgba(255,255,255,.5);border-radius:20px;background:var(--color-surface);box-shadow:0 24px 64px #0f172a33}.tor-filter-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:20px}.tor-filter-header h2{margin:5px 0 0;font-size:18px;letter-spacing:-.02em}.tor-filter-fields{display:grid;gap:14px}.tor-filter-fields label{display:grid;gap:6px;color:var(--color-text-secondary);font-size:12px;font-weight:750}.tor-filter-fields select{min-height:40px;padding:0 38px 0 10px;border:1px solid var(--color-border);border-radius:9px;background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;color:var(--color-text-primary);outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.tor-filter-fields select:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f11a;outline:none}.tor-filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.tor-filter-actions button{min-height:38px;padding:0 15px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-text-secondary);font-weight:700;cursor:pointer}.tor-filter-actions button:last-child{border-color:#6366f1;background:#6366f1;color:#fff}.tor-results-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.tor-results-card:hover{transform:translateY(-4px);border-color:#6366f14d!important;box-shadow:0 16px 34px #4f46e51f!important}.tor-results-card h2{letter-spacing:-.02em}.tor-results-card button{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.tor-results-card button:hover{transform:translateY(-1px);box-shadow:0 8px 16px #4f46e51f}.tor-results-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0f172a85;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.tor-results-modal{width:min(580px,100%);max-height:min(720px,86vh);overflow:auto;border:1px solid rgba(255,255,255,.45);border-radius:22px;background:var(--color-surface);box-shadow:0 28px 80px #0f172a4d}.tor-results-modal-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:22px 24px;background:linear-gradient(135deg,#eef2fff2,#f5f3ffcc);border-bottom:1px solid var(--color-border)}.tor-results-modal-header h2{margin:5px 0 0;font-size:18px;line-height:1.35;letter-spacing:-.02em}.tor-results-modal-kicker{color:#4f46e5;font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.tor-results-modal-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(99,102,241,.2);border-radius:10px;background:#ffffffb3;color:#4f46e5;cursor:pointer}.tor-results-modal-list{display:grid;gap:9px;max-height:58vh;overflow-y:auto;padding:20px 24px 24px}.tor-results-student-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:13px 2px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent}.tor-results-student-row:last-child{border-bottom:0}.tor-results-student-row.is-abandoned{border-color:#fecaca;background:#fff7f7}.tor-results-student-row>strong{color:#047857;font-size:13px}.tor-results-student-row.is-abandoned>strong{color:#dc2626}.tor-results-student-name{font-size:13px;font-weight:750}.tor-results-student-date{margin-top:3px;color:var(--color-text-muted);font-size:11px}.tor-student-group{display:grid;gap:0;padding:15px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.tor-student-groups-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}.tor-student-groups-layout .tor-student-group+.tor-student-group{margin-top:0;padding-top:0;border-top:0}.tor-student-group+.tor-student-group{margin-top:10px;padding-top:16px;border-top:1px solid var(--color-border)}.tor-student-group h3{margin:0 0 3px;font-size:13px;font-weight:800}.tor-student-group h3 span{color:var(--color-text-muted);font-weight:650}.tor-student-group-empty{margin:0;color:var(--color-text-muted);font-size:12px}.tor-student-row-actions{display:inline-flex;align-items:center;gap:9px}.tor-student-view-button{display:grid;place-items:center;width:29px;height:29px;border:1px solid rgba(99,102,241,.2);border-radius:8px;background:#6366f114;color:#4f46e5;cursor:pointer}.tor-student-result-detail{margin-top:6px;padding:15px;border:1px solid rgba(99,102,241,.2);border-radius:13px;background:linear-gradient(145deg,#eef2ff,#faf5ff)}.tor-student-result-detail h3{margin:5px 0 9px;font-size:16px;font-weight:700}.tor-student-result-detail>div{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px}.tor-student-result-detail>div span{color:var(--color-text-muted);font-size:11px}.tor-student-result-detail p{margin:9px 0 0;color:var(--color-text-muted);font-size:11px}@media(max-width:700px){.tor-results-page{padding-inline:12px}.tor-results-heading{align-items:flex-start!important;padding:21px 18px!important}.tor-results-heading h1{font-size:23px!important}.tor-results-toggle{width:100%}.tor-results-toggle button{flex:1}.tor-results-toolbar{padding:9px}.tor-results-toolbar input,.tor-results-toolbar select{min-width:0!important}.tor-group-select{min-width:150px}.tor-results-modal-header,.tor-results-modal-list{padding-inline:17px}.tor-student-groups-layout{grid-template-columns:1fr}.tor-student-groups-layout .tor-student-group+.tor-student-group{margin-top:10px;padding-top:16px;border-top:1px solid var(--color-border)}}.tor-results-page,html{scrollbar-gutter:stable}.tor-submitted-link{display:none}.tor-submitted-footer-link{display:inline-flex;align-items:center;min-height:34px;padding:0 4px;border:0;color:#64748b;background:transparent!important;box-shadow:none!important;font:inherit;font-size:11px;font-weight:650;letter-spacing:.01em;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tor-results-card .tor-submitted-footer-link:hover,.tor-results-card .tor-submitted-footer-link:focus,.tor-results-card .tor-submitted-footer-link:focus-visible{color:#8b5cf6;background:transparent!important;box-shadow:none!important;outline:none;text-decoration:underline;transform:none}.tor-submitted-link:hover{color:#7c3aed;text-decoration:underline}.tor-roster-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:grid;place-items:center;padding:18px;background:#0f172a94;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.tor-roster-modal{width:min(720px,100%);max-height:min(820px,90vh);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:26px;background:var(--color-surface);box-shadow:0 32px 100px #0f172a57;animation:tor-roster-in .2s ease-out}@keyframes tor-roster-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.tor-roster-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:25px 27px 22px;background:radial-gradient(circle at 85% 0%,rgba(129,140,248,.25),transparent 34%),linear-gradient(135deg,#eef2ff,#faf5ff 72%);border-bottom:1px solid var(--color-border)}.tor-roster-header h2{margin:5px 0;color:var(--color-text-primary);font-size:21px;letter-spacing:-.03em}.tor-roster-header p{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.5}.tor-roster-summary{display:grid;grid-template-columns:repeat(4,1fr);margin:18px 25px 0;overflow:hidden;border:1px solid var(--color-border);border-radius:17px;background:var(--color-bg)}.tor-roster-summary div{padding:14px 16px;border-left:1px solid var(--color-border)}.tor-roster-summary div:first-child{border-left:0}.tor-roster-summary strong{display:block;color:var(--color-text-primary);font-size:23px;letter-spacing:-.04em}.tor-roster-summary span{display:block;margin-top:3px;color:var(--color-text-muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.tor-roster-summary-abandoned strong,.tor-roster-summary-abandoned span{color:#dc2626}.tor-roster-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-height:58vh;overflow:auto;padding:18px 25px 25px}.tor-roster-section{min-width:0;padding:15px;border:1px solid var(--color-border);border-radius:18px;background:linear-gradient(145deg,var(--color-surface),rgba(248,250,252,.75))}.tor-roster-section-pending{border-color:#f59e0b38;background:linear-gradient(145deg,#fffdf7,#fff)}.tor-roster-section-abandoned{border-color:#dc262633;background:linear-gradient(145deg,snow,#fff)}.tor-roster-section-heading{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tor-roster-section-icon{display:grid;place-items:center;width:31px;height:31px;border-radius:11px;color:#047857;background:#dcfce7;font-size:16px;font-weight:900}.tor-roster-section-pending .tor-roster-section-icon{color:#4338ca;background:linear-gradient(135deg,#f5f3ff,#eef2ff);border:1px solid #ddd6fe}.tor-roster-section-abandoned .tor-roster-section-icon{color:#b91c1c;background:linear-gradient(135deg,#fee2e2,#fef2f2);border:1px solid #fecaca}.tor-roster-section-heading div{flex:1;min-width:0}.tor-roster-section-heading h3{margin:0;font-size:14px}.tor-roster-section-heading p{margin:3px 0 0;color:var(--color-text-muted);font-size:10px}.tor-roster-section-heading>strong{color:var(--color-text-primary);font-size:17px}.tor-roster-list{display:grid;gap:0;max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);scrollbar-width:thin;scrollbar-color:#c4b5fd transparent}.tor-roster-row{display:flex;align-items:center;gap:9px;min-width:0;padding:11px 10px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:var(--color-surface)}.tor-roster-row:last-child{border-bottom:0}.tor-roster-avatar{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:10px;font-size:11px;font-weight:850}.tor-roster-avatar-complete{color:#047857;background:#ecfdf5}.tor-roster-avatar-pending{color:#b45309;background:#fffbeb}.tor-roster-person{display:grid;min-width:0;flex:1;gap:3px}.tor-roster-person strong{overflow:hidden;color:var(--color-text-primary);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tor-roster-person span{overflow:hidden;color:var(--color-text-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.tor-roster-score{color:#047857;font-size:11px;white-space:nowrap}.tor-roster-pending-label{padding:4px 7px;border:1px solid #ddd6fe;border-radius:999px;color:#4338ca;background:linear-gradient(135deg,#f5f3ff,#eef2ff);font-size:9px;font-weight:650;white-space:nowrap}.tor-roster-row-abandoned{background:linear-gradient(135deg,#fff7f7,#fff)}.tor-roster-avatar-abandoned{color:#b91c1c;background:#fee2e2}.tor-roster-abandoned-badge{flex:0 0 auto;padding:4px 9px;border:1px solid #fecaca;border-radius:999px;color:#b91c1c;background:linear-gradient(135deg,#fee2e2,#fef2f2);font-size:9px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.tor-roster-reassign-button{display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:30px;padding:0;border:0;border-radius:9px;color:#6366f1;background:transparent;box-shadow:none;font-size:10px;font-weight:850;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:transform .18s ease,opacity .18s ease}.tor-roster-reassign-button:hover:not(:disabled){transform:translateY(-1px);opacity:.78;background:transparent;box-shadow:none}.tor-roster-reassign-button:disabled{cursor:wait;opacity:.65}.tor-roster-empty{padding:22px 8px;color:var(--color-text-muted);font-size:11px;text-align:center}@media(max-width:700px){.tor-roster-modal{max-height:90vh;overflow-y:auto}.tor-roster-body{grid-template-columns:1fr;max-height:none;overflow:visible}.tor-roster-list{max-height:none;overflow:visible}.tor-roster-header{padding-inline:18px}.tor-roster-summary{grid-template-columns:repeat(2,1fr);margin-inline:18px}.tor-roster-summary div:nth-child(odd){border-left:0}.tor-roster-summary div:nth-child(n+3){border-top:1px solid var(--color-border)}.tor-roster-body{padding-inline:18px}}.ai-test-gen{display:flex;flex-direction:column;gap:20px}.exam-pattern-config{display:grid;gap:14px}.exam-pattern-preview{padding:14px;border:1px solid rgba(99,102,241,.2);border-radius:14px;background:var(--color-surface)}.exam-pattern-preview-title,.exam-pattern-section-heading{margin:0;color:var(--color-text-primary);font-size:14px}.exam-pattern-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:8px;margin:12px 0 18px}.exam-pattern-summary-grid>div,.exam-pattern-section-details>div{min-width:0;padding:10px;border-radius:9px;background:var(--color-bg)}.exam-pattern-summary-grid dt,.exam-pattern-section-details dt{margin-bottom:4px;color:var(--color-text-muted);font-size:11px}.exam-pattern-summary-grid dd,.exam-pattern-section-details dd{margin:0;color:var(--color-text-primary);font-size:13px;font-weight:700;overflow-wrap:anywhere}.exam-pattern-section-heading{margin-bottom:10px}.exam-pattern-section-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:0;padding:0;list-style:none}.exam-pattern-section-card{min-width:0;padding:12px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface)}.exam-pattern-section-card h5{margin:0 0 10px;color:var(--color-text-primary);font-size:13px;overflow-wrap:anywhere}.exam-pattern-section-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0}@media(max-width:420px){.exam-pattern-preview{padding:11px}.exam-pattern-section-details{grid-template-columns:1fr}}.exam-pattern-preview-heading,.exam-pattern-preview-heading>div,.exam-pattern-stats{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px}.exam-pattern-preview-heading{justify-content:space-between}.exam-pattern-preview-heading>div{color:var(--color-text-primary)}.exam-pattern-preview-heading span,.exam-pattern-version{color:var(--color-text-muted);font-size:11px}.exam-pattern-stats{margin-top:12px}.exam-pattern-stats span{padding:6px 9px;border-radius:9px;background:var(--color-bg);color:var(--color-text-secondary);font-size:11px}.exam-pattern-stats strong{color:var(--color-text-primary)}.exam-pattern-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0 8px;padding-left:24px}.exam-pattern-sections li{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:8px;background:var(--color-bg);color:var(--color-text-secondary);font-size:12px}.exam-pattern-advanced-toggle{justify-self:start;padding:7px 0;border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.exam-pattern-advanced-options{display:grid;gap:4px}.exam-pattern-options-heading{display:flex;align-items:center;justify-content:flex-start;gap:18px;min-height:36px}.exam-pattern-link{display:inline-flex;align-items:center;padding:7px 0;border:0;background:transparent;color:var(--color-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer;text-decoration:none;transition:color .16s ease}.exam-pattern-link:hover{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px}.exam-pattern-modal-backdrop{position:fixed;z-index:1500;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#0f172a9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:exam-pattern-backdrop-in .18s ease-out}.exam-pattern-modal{display:flex;flex-direction:column;width:min(820px,100%);max-height:min(90vh,900px);overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:var(--color-surface, #fff);box-shadow:0 30px 100px #0f172a57,0 4px 18px #0f172a1f;animation:exam-pattern-modal-in .22s cubic-bezier(.2,.8,.2,1)}.exam-pattern-modal-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 26px 18px;color:#fff;background:radial-gradient(circle at 88% 8%,rgba(255,255,255,.2),transparent 30%),linear-gradient(125deg,#312e81,#4f46e5 58%,#7c3aed)}.exam-pattern-modal-kicker,.exam-pattern-modal-section-heading>div>span,.exam-pattern-modal-source>div>span{display:block;margin-bottom:7px;color:#ffffffb8;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.exam-pattern-modal-header h2{margin:0;color:#fff;font-size:clamp(21px,3vw,29px);line-height:1.2}.exam-pattern-modal-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.exam-pattern-modal-badges span{padding:5px 9px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#ffffff1f;color:#fff;font-size:11px;font-weight:650;text-transform:capitalize}.exam-pattern-modal-header .modal-close-btn.modal-close-btn--contained{flex:0 0 auto;border-color:#ffffff4d;background:#ffffff21;color:#fff}.exam-pattern-modal-header .modal-close-btn.modal-close-btn--contained:hover{border-color:#ffffff80;background:#ffffff38;color:#fff}.exam-pattern-modal-content{overflow-y:auto;padding:18px 26px 20px}.exam-pattern-modal-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}.exam-pattern-modal-stats>div{min-width:0;padding:10px 12px;border:1px solid rgba(99,102,241,.13);border-radius:13px;background:linear-gradient(145deg,#eef2ffe6,#f8fafceb)}.exam-pattern-modal-stats strong,.exam-pattern-modal-stats span{display:block}.exam-pattern-modal-stats strong{color:#312e81;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.exam-pattern-modal-stats span{margin-top:4px;color:var(--color-text-muted, #64748b);font-size:11px;font-weight:650}.exam-pattern-modal-section-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.exam-pattern-modal-section-heading>div>span,.exam-pattern-modal-source>div>span{margin-bottom:4px;color:#6366f1;font-size:9px}.exam-pattern-modal-section-heading h3{margin:0;color:var(--color-text-primary, #172033);font-size:17px}.exam-pattern-modal-section-heading>span{color:var(--color-text-muted, #64748b);font-size:11px}.exam-pattern-modal-sections{display:grid;gap:6px;margin:0;padding:0;list-style:none}.exam-pattern-modal-sections li{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--color-border, #e2e8f0);border-radius:13px;background:var(--color-surface, #fff)}.exam-pattern-modal-section-index{display:grid;flex:0 0 30px;width:30px;height:30px;place-items:center;border-radius:10px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:800}.exam-pattern-modal-section-info{display:grid;flex:1;min-width:0;gap:4px}.exam-pattern-modal-section-info strong{color:var(--color-text-primary, #172033);font-size:13px;overflow-wrap:anywhere}.exam-pattern-modal-section-info>span{color:var(--color-text-muted, #64748b);font-size:11px}.exam-pattern-modal-question-count{flex:0 0 auto;color:#312e81;font-size:16px;text-align:right}.exam-pattern-modal-question-count small{display:block;color:var(--color-text-muted, #64748b);font-size:9px;font-weight:600}.exam-pattern-modal-order{display:flex;gap:10px;margin-top:12px;padding:10px 12px;border:1px solid rgba(14,165,233,.18);border-radius:13px;background:linear-gradient(120deg,#f0f9ff,#f8fafc)}.exam-pattern-modal-order-icon{display:grid;flex:0 0 32px;width:32px;height:32px;place-items:center;border-radius:9px;background:#e0f2fe;color:#0284c7;font-weight:800}.exam-pattern-modal-order p,.exam-pattern-modal-order p span,.exam-pattern-modal-order p small{display:block;margin:0}.exam-pattern-modal-order p strong{color:#0c4a6e;font-size:12px}.exam-pattern-modal-order p span{margin-top:4px;color:#164e63;font-size:11px;line-height:1.5}.exam-pattern-modal-order p small{margin-top:4px;color:#64748b;font-size:10px}.exam-pattern-modal-source{margin-top:17px;padding:15px 16px;border:1px solid rgba(99,102,241,.14);border-radius:13px;background:#fafaff}.exam-pattern-modal-source a{color:#4338ca;font-size:12px;font-weight:700;line-height:1.5;overflow-wrap:anywhere;text-decoration-thickness:1px;text-underline-offset:3px}.exam-pattern-modal-source p{margin:8px 0 0;color:var(--color-text-muted, #64748b);font-size:11px;line-height:1.5}@keyframes exam-pattern-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes exam-pattern-modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.exam-pattern-modal-backdrop{align-items:end;padding:10px}.exam-pattern-modal{max-height:94vh;border-radius:18px}.exam-pattern-modal-header,.exam-pattern-modal-content{padding-right:18px;padding-left:18px}.exam-pattern-modal-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-pattern-modal-section-heading{align-items:flex-start;flex-direction:column;gap:4px}}@media(prefers-reduced-motion:reduce){.exam-pattern-modal-backdrop,.exam-pattern-modal{animation:none}}.exam-pattern-topic-field{width:calc(50% - 7px)}.exam-pattern-topic-field>.input{box-sizing:border-box;width:100%}@media(max-width:520px){.exam-pattern-topic-field{width:100%}}@media(max-width:520px){.exam-pattern-sections{grid-template-columns:1fr}}.ai-test-gen-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ai-test-gen-grid>.field{min-width:0}.ai-test-gen-grid>.field>.select,.ai-test-gen-grid>.field>.input{box-sizing:border-box;min-width:0;max-width:100%}.exam-specific-dropdown{position:relative;width:100%;min-width:0}.exam-specific-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:43px;padding:10px 12px 10px 14px;text-align:left;font:inherit;cursor:pointer}.exam-specific-select-trigger:disabled{cursor:not-allowed;opacity:.65}.exam-specific-selected-value{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.exam-specific-select-trigger svg{width:14px;height:14px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.exam-specific-options{position:absolute;z-index:20;top:calc(100% + 4px);left:0;box-sizing:border-box;width:100%;max-width:100%;max-height:240px;overflow-y:auto;padding:4px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);box-shadow:0 12px 28px #17204229}.exam-specific-option{display:block;width:100%;min-width:0;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--color-text-primary);font:inherit;font-size:12px;line-height:1.4;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer}.exam-specific-option:hover,.exam-specific-option[aria-selected=true]{background:#6366f11a}@media(max-width:640px){.ai-test-gen-grid{grid-template-columns:1fr}}.ai-test-gen-hint{margin:10px 0 0;font-size:12px;color:var(--color-text-muted)}.ai-test-gen-field-hint{margin:6px 0 0;font-size:12px;line-height:1.4;color:var(--color-text-muted)}.ai-test-gen-alert{background:#fef2f2;border:1px solid rgba(239,68,68,.2);color:var(--color-danger);padding:12px 16px;border-radius:10px;font-size:13.5px;margin-bottom:16px}.ai-test-gen-count-marks{display:flex;gap:10px}.ai-test-gen-count-marks>div{flex:1;display:flex;flex-direction:column;gap:4px}.ai-test-gen-subtle-label{font-size:11px;font-weight:600;color:var(--color-text-muted)}.ai-test-gen-actions{padding-top:1rem;border-top:1px solid #eee;display:flex;align-items:flex-start;justify-content:flex-start;gap:10px}.ai-test-gen-manual-panel{display:flex;flex-direction:column;gap:14px;margin:-8px -4px -4px}.ai-test-gen-manual-hero{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid rgba(99,102,241,.18);border-radius:16px;background:linear-gradient(135deg,#6366f11c,#0ea5e914 55%,#ffffffb3)}.ai-test-gen-manual-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:#fff;background:linear-gradient(135deg,#6366f1,#0891b2);box-shadow:0 8px 18px #4f46e538}.ai-test-gen-eyebrow{margin-bottom:4px;color:#6366f1;font-size:10px;font-weight:800;letter-spacing:.11em}.ai-test-gen-manual-hero h4{margin:0;color:var(--color-text-primary);font-size:18px;letter-spacing:-.02em}.ai-test-gen-manual-hero p,.ai-test-gen-step-hint{margin:4px 0 0;color:var(--color-text-muted);font-size:12px;line-height:1.5}.ai-test-gen-manual-step{display:flex;align-items:flex-start;gap:12px;padding:16px}.ai-test-gen-manual-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;padding:18px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 5px 18px #0f172a0b}.ai-test-gen-manual-workspace .ai-test-gen-manual-step{padding:0}.ai-test-gen-manual-workspace .ai-test-gen-manual-step+.ai-test-gen-manual-step{padding-top:18px;border-top:1px solid var(--color-border)}.ai-test-gen-manual-workspace .ai-test-gen-step-hint{min-height:36px}.manual-generated-preview-actions{margin-top:4px;padding-top:16px}.ai-test-gen .btn-primary-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 8%,transparent)}.ai-test-gen .btn-primary-outline:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface))}.ai-test-gen-step-number{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);font-size:12px;font-weight:800;box-shadow:0 4px 10px #6366f133}.ai-test-gen-step-content{min-width:0;flex:1}.ai-test-gen-step-title{color:var(--color-text-primary);font-size:13px;font-weight:750}.ai-test-gen-prompt,.ai-test-gen-response{width:100%;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px;line-height:1.5;border-radius:12px;background:#fbfcff}.ai-test-gen-prompt,.ai-test-gen-response{min-height:240px}.ai-test-gen-ai-links,.ai-test-gen-manual-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:12px}.ai-test-gen-ai-links{gap:9px}.ai-test-gen-provider,.ai-test-gen-copy-button,.ai-test-gen-primary-button,.ai-test-gen-secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:10px;padding:8px 12px;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.ai-test-gen-provider:hover,.ai-test-gen-copy-button:hover,.ai-test-gen-primary-button:hover,.ai-test-gen-secondary-button:hover{transform:translateY(-1px)}.ai-test-gen-provider{border:1px solid var(--color-border);background:#fff;color:var(--color-text-primary);box-shadow:0 3px 10px #0f172a0d}.ai-test-gen-provider>span:last-child,.ai-test-gen-copy-button>span:last-child,.ai-test-gen-primary-button>span:last-child{font-size:15px;line-height:1}.ai-test-gen-provider-dot{width:8px;height:8px;border-radius:50%}.ai-test-gen-provider-chatgpt{background:#10a37f}.ai-test-gen-provider-claude{background:#d97757}.ai-test-gen-provider-gemini{background:#4285f4}.ai-test-gen-copy-button,.ai-test-gen-primary-button{border:0;color:#fff;background:linear-gradient(135deg,#6366f1,#7c3aed);box-shadow:0 6px 14px #6366f133}.ai-test-gen-copy-button{margin-top:10px}.ai-test-gen-secondary-button{border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface)}.ai-test-gen-primary-button:disabled,.ai-test-gen-secondary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.ai-test-gen-primary-button{margin-left:auto}.ai-test-gen-manual-actions{justify-content:flex-end}.external-ai-settings,.external-ai-single-card{display:flex;flex-direction:column;gap:16px;padding:18px;margin-bottom:18px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.external-ai-quality-setting,.external-ai-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.external-ai-quality-setting strong,.external-ai-card-heading h3{color:var(--color-text-primary);font-size:15px;margin:0}.external-ai-quality-setting p,.external-ai-card-heading p{color:var(--color-text-secondary);font-size:12px;margin:4px 0 0}.external-ai-switch{min-width:64px;border:1px solid var(--color-border);border-radius:999px;padding:8px 12px;color:var(--color-text-secondary);background:var(--color-bg);font-weight:700;cursor:pointer}.external-ai-switch.active{color:#fff;background:var(--color-primary);border-color:var(--color-primary)}.external-ai-mode-control{display:flex;align-items:center;gap:8px}.external-ai-current-mode{flex:0 0 120px;width:120px;color:var(--color-text-primary);font-size:13px;font-weight:700;white-space:nowrap}.external-ai-mode-toggle{display:inline-flex;width:42px;height:24px;align-items:center;padding:3px;border:1px solid var(--color-border);border-radius:999px;background:#cbd5e1;cursor:pointer;transition:background .18s ease,border-color .18s ease}.external-ai-mode-toggle.active{justify-content:flex-end;background:var(--color-primary);border-color:var(--color-primary)}.external-ai-mode-toggle-knob{width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a3d}.external-ai-single-back-link{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;padding:0;border:0;color:var(--color-primary);background:transparent;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.external-ai-single-back-link:hover{text-decoration:underline}.external-ai-single-back-link>span{font-size:20px;line-height:1}.external-ai-prompt-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}.external-ai-single-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.external-ai-single-heading-actions .ai-test-gen-ai-links{margin-top:0}.external-ai-prompt-column,.external-ai-response-column{display:flex;min-width:0;flex-direction:column;gap:8px}.external-ai-prompt-column>textarea,.external-ai-response-column>textarea{box-sizing:border-box;width:100%}.external-ai-modal-footer{position:sticky;bottom:0;display:flex;justify-content:flex-start;margin-top:18px;padding:12px 0 4px;border-top:1px solid var(--color-border);background:var(--color-surface);z-index:2}.external-ai-single-card .ai-test-gen-prompt,.external-ai-single-card .external-exam-response{height:260px;min-height:260px;resize:none}@media(max-width:560px){.external-ai-prompt-response-grid{grid-template-columns:1fr}.external-ai-single-heading-actions{justify-content:flex-start}}.external-ai-card-heading{align-items:flex-start}.external-ai-card-heading>.external-ai-mode-control{flex:0 0 auto}@media(max-width:560px){.external-ai-settings,.external-ai-single-card{padding:14px}.external-ai-quality-setting{align-items:flex-start}}.ai-test-gen-manual-panel+*{margin-top:0}@media(min-width:900px){.ai-test-gen-manual-panel{align-items:stretch}.ai-test-gen-manual-workspace{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.ai-test-gen-ai-links{margin-top:0;justify-content:flex-end}.ai-test-gen-manual-workspace .ai-test-gen-manual-step+.ai-test-gen-manual-step{padding-top:0;padding-left:20px;border-top:0;border-left:1px solid var(--color-border)}}@media(max-width:560px){.ai-test-gen-primary-button{margin-left:0}}@media(max-width:520px){.ai-test-gen-manual-hero{padding:15px}.ai-test-gen-manual-step{padding:13px}}.ai-test-gen-actions-footer{border-top:1px solid var(--color-border);padding-top:14px;margin-top:2px}.ai-test-gen-result{display:flex;flex-direction:column;gap:16px;padding-top:8px;border-top:1px solid var(--color-border)}.ai-test-gen-result-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px}.ai-test-gen-result-header h3{margin:0 0 8px;font-size:18px;font-weight:700;color:var(--color-text-primary)}.ai-test-gen-badges{display:flex;flex-wrap:wrap;gap:6px}.ai-test-gen-badge{font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-secondary)}.ai-test-gen-badge-marks{background:#6366f11f;color:var(--color-primary);border-color:#6366f133}.ai-test-gen-toggle{display:flex;width:fit-content;max-width:100%;border:1px solid var(--color-border);border-radius:10px;overflow:hidden;height:fit-content}.ai-test-gen-toggle button{border:none;background:var(--color-surface);color:var(--color-text-secondary);font-size:12.5px;font-weight:600;padding:8px 14px;cursor:pointer}.ai-test-gen-toggle button.active{background:var(--color-primary);color:#fff}.ai-test-gen-questions{display:flex;flex-direction:column;gap:14px;max-height:560px;overflow-y:auto;padding-right:6px}.ai-test-gen-question-card{background:linear-gradient(145deg,#fff,#f7f8ff);border:1px solid var(--color-border);border-radius:14px;padding:16px 18px}.ai-test-gen-question-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.ai-test-gen-qnum{font-weight:700;font-size:13px;color:var(--color-text-primary)}.ai-test-gen-qtype{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--color-bg);color:var(--color-text-muted)}.ai-test-gen-qmarks{font-size:11.5px;color:var(--color-text-muted);margin-left:auto}.ai-test-gen-qtext{margin:0 0 10px;font-size:14px;color:var(--color-text-primary);line-height:1.5}.ai-test-gen-options{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:0 0 4px;padding:0;list-style:none}@media(max-width:520px){.ai-test-gen-options{grid-template-columns:1fr}}.ai-test-gen-options li{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:8px 12px;border-radius:8px;border:1px solid var(--color-border);color:var(--color-text-secondary)}.ai-test-gen-option-letter{font-weight:700;width:20px;height:20px;border-radius:50%;background:var(--color-bg);display:flex;align-items:center;justify-content:center;font-size:11px;flex-shrink:0}.ai-test-gen-option-correct{background:linear-gradient(110deg,#ecfdf5,#f7fefb);border-color:#10b98159;color:var(--color-success);font-weight:600}.ai-test-gen-option-text{flex:1;min-width:0}.ai-test-gen-answer-box{margin-top:10px;padding:10px 12px;border-radius:10px;background:#6366f10f;border:1px dashed rgba(99,102,241,.3);font-size:13px;color:var(--color-text-secondary);display:flex;flex-direction:column;gap:6px}.ai-test-gen-explanation-toggle{display:inline-flex;align-items:center;gap:7px;padding:4px 0;border:0;background:transparent;color:#4f46e5;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.ai-test-gen-explanation-toggle:hover{color:#3730a3;text-decoration:underline;text-underline-offset:3px}.ai-test-gen-explanation-toggle>span{display:inline-block;width:8px;height:8px;flex:0 0 8px;margin:0 2px 3px 1px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform 90ms ease-out}.ai-test-gen-explanation-toggle>span.is-expanded{transform:rotate(225deg)}.ai-test-gen-explanation{margin-top:2px;padding:10px 12px;border:1px solid rgba(99,102,241,.13);border-left:3px solid #818cf8;border-radius:10px;background:linear-gradient(110deg,#f5f7ff,#fbfbff);color:var(--color-text-secondary);line-height:1.6}.external-exam-flow{display:grid;gap:16px;min-width:0}.external-exam-header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:16px;border:1px solid rgba(99,102,241,.2);border-radius:16px;background:linear-gradient(135deg,#6366f117,#0ea5e90b)}.external-exam-header h3{margin:3px 0 4px;color:var(--color-text-primary);font-size:18px}.external-exam-header p{margin:0;color:var(--color-text-muted);font-size:12px}.external-exam-header-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:10px}.external-exam-header-actions .ai-test-gen-ai-links{margin-top:0}.external-exam-eyebrow{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.1em}.external-exam-progress,.external-exam-section-card{border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.external-exam-progress{padding:13px 15px}.external-exam-progress-copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 12px;color:var(--color-text-secondary);font-size:12px}.external-exam-progress-copy strong{color:var(--color-text-primary)}.external-exam-progress-track{height:7px;margin-top:10px;overflow:hidden;border-radius:99px;background:var(--color-bg)}.external-exam-progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),#8b5cf6);transition:width .2s ease}.external-exam-section-list{display:grid;gap:10px;min-width:0}.external-exam-section-card{min-width:0;overflow:hidden}.external-exam-section-card>summary{display:flex;align-items:center;gap:11px;min-height:64px;padding:12px 14px;cursor:pointer;list-style:none}.external-exam-section-card>summary::-webkit-details-marker{display:none}.external-exam-section-number{display:grid;place-items:center;width:25px;height:25px;flex:0 0 25px;border-radius:50%;background:#6366f11a;color:var(--color-primary);font-size:12px;font-weight:800}.external-exam-section-number.complete{background:#10b9811f;color:#047857}.external-exam-pending-dot{width:10px;height:10px;border-radius:50%;background:#eab308;box-shadow:0 0 0 1px #eab3080a}.external-exam-section-title{display:grid;min-width:0;gap:3px;color:var(--color-text-primary);font-size:15px}.external-exam-section-title small{color:var(--color-text-muted);font-size:11px}.external-exam-status{display:inline-flex;align-items:center;gap:8px;margin-left:auto;color:var(--color-text-muted);font-size:11px;text-align:right}.external-exam-status.complete{color:#047857;font-weight:700}.external-exam-expand-icon{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}.external-exam-section-card[open] .external-exam-expand-icon{transform:rotate(180deg)}.external-exam-section-body{display:grid;gap:9px;padding:0 14px 15px}.external-exam-label{color:var(--color-text-secondary);font-size:12px;font-weight:700}.external-exam-prompt{min-height:280px;margin:0}.external-exam-prompt-box{position:relative}.external-exam-prompt-box>textarea{padding-top:44px;padding-right:48px}.external-exam-copy-prompt-icon{position:absolute;top:8px;right:1.2rem;z-index:1;display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--color-primary);border-radius:8px;color:var(--color-primary);background:var(--color-surface);cursor:pointer;transition:background-color .18s ease,transform .18s ease}.external-exam-copy-prompt-icon:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));transform:translateY(-1px)}.external-exam-copy-prompt-icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.external-exam-response{width:100%;min-height:280px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12px}.external-exam-response-column>.btn{align-self:flex-start}.external-exam-prompt-response-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}.external-exam-prompt-column,.external-exam-response-column{display:flex;min-width:0;flex-direction:column;gap:16px}.external-exam-prompt-column>textarea,.external-exam-response-column>textarea{box-sizing:border-box;width:100%}.external-exam-response-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%}.external-exam-view-questions{margin-left:auto}.btn.btn-primary-outline{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.btn.btn-primary-outline:hover:not(:disabled){border-color:var(--color-primary-dark);color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent)}@media(max-width:760px){.external-exam-prompt-response-grid{grid-template-columns:1fr}}.external-exam-tools{display:flex;flex-wrap:wrap;gap:8px}.external-exam-copy-status{margin:0;color:var(--color-text-muted);font-size:11px}.external-exam-error{padding:9px 11px;border-radius:9px;background:#ef444414;color:#b91c1c;font-size:12px}.external-exam-warning{padding:9px 11px;border:1px solid rgba(217,119,6,.2);border-radius:9px;background:#f59e0b1a;color:#92400e;font-size:12px;line-height:1.5}.external-exam-success{color:#047857;font-size:12px;font-weight:700}.external-exam-correction{display:grid;gap:8px;padding-top:10px;border-top:1px solid var(--color-border)}.external-exam-preview-section{display:grid;gap:9px}.external-exam-preview-question{padding:11px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:12px}.external-exam-preview-question ol{display:grid;gap:3px;margin:8px 0}.external-exam-preview-question p{margin:5px 0 0}.external-exam-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;padding-top:6px}.external-exam-preview-section{padding:14px 0;border-bottom:1px solid var(--color-border)}.external-exam-preview-section h4{display:flex;justify-content:space-between;gap:8px;margin:0;color:var(--color-text-primary)}.external-exam-preview-section h4 span{color:var(--color-text-muted);font-size:12px}.external-exam-full-preview{gap:18px}.external-exam-preview-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px;border:1px solid rgba(99,102,241,.2);border-radius:20px;background:radial-gradient(circle at 92% 0%,rgba(255,255,255,.18),transparent 28%),linear-gradient(125deg,#312e81,#4f46e5 58%,#7c3aed);box-shadow:0 15px 38px #312e812e}.external-exam-preview-hero-copy{min-width:0}.external-exam-preview-details-button{margin-top:12px;padding:7px 11px;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:#ffffff1f;color:#fff;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.external-exam-preview-details-button:hover{background:#fff3}.external-exam-preview-hero .external-exam-eyebrow{color:#ffffffbf}.external-exam-preview-hero h2{margin:5px 0 14px;color:#fff;font-size:clamp(22px,3vw,30px);font-weight:800;letter-spacing:-.025em;line-height:1.2}.external-exam-preview-stats{display:flex;flex-wrap:wrap;gap:8px}.external-exam-preview-stats>span{padding:6px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:#ffffff1f;color:#ffffffe0;font-size:11px}.external-exam-preview-stats strong{color:#fff;font-size:12px}.external-exam-preview-stats small{color:#ffffffb3;font-size:10px}.external-exam-preview-back-link{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:9px 12px;border:1px solid rgba(255,255,255,.3);border-radius:10px;background:#ffffff1f;color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer;transition:background .16s ease,border-color .16s ease}.external-exam-preview-back-link:hover{border-color:#ffffff80;background:#fff3}.external-exam-preview-content{display:grid;gap:15px;padding:12px}.external-exam-preview-intro{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 2px 2px;margin-top:1rem}.external-exam-preview-intro-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.external-exam-preview-intro>div>span{display:block;margin-bottom:4px;color:#6366f1;font-size:9px;font-weight:800;letter-spacing:.13em}.external-exam-preview-intro h3{margin:0;color:var(--color-text-primary);font-size:18px}.external-exam-preview-total-count,.external-exam-preview-section-count{padding:6px 10px;border:1px solid rgba(99,102,241,.15);border-radius:999px;background:#f5f6ff;color:#4f46e5;font-size:11px;font-weight:750;white-space:nowrap}.external-exam-full-preview .external-exam-preview-section{display:grid;gap:10px;padding:16px;border:1px solid rgba(99,102,241,.15);border-radius:17px;background:linear-gradient(150deg,#fff,#fcfcff);box-shadow:0 7px 22px #1f29590b}.external-exam-preview-section-header{display:flex;align-items:center;gap:12px;width:100%;padding:0 2px 10px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.external-exam-preview-section-header:focus-visible{outline:2px solid #6366f1;outline-offset:3px;border-radius:5px}.external-exam-preview-section-header h4{margin:0;color:var(--color-text-primary);font-size:18px;line-height:1.45}.external-exam-preview-section-count{margin-left:auto}.external-exam-preview-section-chevron{width:9px;height:9px;flex:0 0 9px;margin:0 3px 4px 2px;border-right:2px solid #6366f1;border-bottom:2px solid #6366f1;transform:rotate(45deg);transition:transform 90ms ease-out}.external-exam-preview-section-chevron.is-expanded{transform:rotate(225deg)}.external-exam-preview-section-questions{display:grid;gap:10px}.external-exam-preview-section-questions[hidden]{display:none}.external-exam-preview-question{padding:14px 15px;border:1px solid rgba(148,163,184,.27);border-radius:14px;background:#fff;box-shadow:0 4px 14px #0f172a09}.external-exam-preview-question-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.external-exam-preview-question-heading>span{color:#4f46e5;font-size:10px;font-weight:800;letter-spacing:.08em}.external-exam-preview-question-heading small{padding:4px 8px;border-radius:999px;background:#f5f3ff;color:#6d28d9;font-size:10px;font-weight:700}.external-exam-preview-question-text{margin:10px 0 12px;color:var(--color-text-primary);font-size:14px;font-weight:650;line-height:1.6}.external-exam-preview-options{display:grid;grid-template-columns:repeat(2,280px);gap:10px 16px;width:fit-content;max-width:100%;margin:0;padding:0;list-style:none;counter-reset:exam-preview-option}.external-exam-preview-options li{display:flex;align-items:center;gap:9px;min-width:0;padding:8px 10px;border:1px solid var(--color-border);border-radius:25px;color:var(--color-text-secondary);font-size:13px;line-height:1.45;overflow-wrap:anywhere;margin:.5rem 1rem 0rem 0rem}.external-exam-preview-options li:before{display:grid;width:22px;height:22px;flex:0 0 22px;place-items:center;border-radius:50%;background:var(--color-bg);color:var(--color-text-muted);font-size:10px;font-weight:800;counter-increment:exam-preview-option;content:counter(exam-preview-option,upper-alpha)}.external-exam-preview-options li>span{flex:1;min-width:0}.external-exam-preview-options li.is-correct{border-color:#22c55e59;background:linear-gradient(105deg,#f0fdf4,#fbfffc);color:#166534;font-weight:650}.external-exam-preview-explanation-toggle{display:inline-flex;align-items:center;gap:7px;margin-top:11px;padding:6px 0;border:0;background:transparent;color:#4f46e5;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.external-exam-preview-explanation-toggle:hover{color:#3730a3;text-decoration:underline;text-underline-offset:3px}.external-exam-preview-explanation-toggle>span{position:relative;display:inline-block;width:8px;height:8px;flex:0 0 8px;margin:0 2px 3px 1px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;font-size:0;line-height:0;transform:rotate(45deg);transform-origin:center;transition:transform 90ms ease-out}.external-exam-preview-explanation-toggle>span.is-expanded{transform:rotate(225deg);margin-bottom:-1px}.external-exam-preview-explanation{margin-top:2px;padding:10px 12px;border:1px solid rgba(99,102,241,.13);border-left:3px solid #818cf8;border-radius:10px;background:linear-gradient(110deg,#f5f7ff,#fbfbff)}.external-exam-preview-explanation p{margin:0;color:var(--color-text-secondary);font-size:12px;line-height:1.6}.external-exam-test-details-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;padding:18px;background:#0f172a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.external-exam-test-details-modal{width:min(680px,100%);max-height:min(82vh,760px);overflow:auto;padding:22px;border:1px solid rgba(99,102,241,.16);border-radius:18px;background:#fff;box-shadow:0 24px 70px #0f172a47}.external-exam-test-details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.external-exam-test-details-header>div>span{color:#6366f1;font-size:10px;font-weight:800;letter-spacing:.12em}.external-exam-test-details-header h2{margin:5px 0 0;color:var(--color-text-primary);font-size:21px}.external-exam-test-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0}.external-exam-test-details-grid>div,.external-exam-test-details-sections>article{padding:11px 12px;border:1px solid rgba(99,102,241,.12);border-radius:11px;background:linear-gradient(140deg,#fff,#f7f8ff)}.external-exam-test-details-grid dt{margin-bottom:4px;color:var(--color-text-muted);font-size:10px;font-weight:700}.external-exam-test-details-grid dd{margin:0;color:var(--color-text-primary);font-size:13px;font-weight:700}.external-exam-test-details-modal>h3{margin:20px 0 10px;color:var(--color-text-primary);font-size:14px}.external-exam-test-details-sections{display:grid;gap:8px}.external-exam-test-details-sections>article{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.external-exam-test-details-sections h4{flex:1 0 100%;margin:0;color:var(--color-text-primary);font-size:13px}.external-exam-test-details-sections span{color:var(--color-text-secondary);font-size:11px}.external-exam-full-preview>.external-exam-actions{position:sticky;bottom:0;z-index:2;margin:0 -16px -16px;padding:13px 16px;border:1px solid rgba(99,102,241,.13);border-radius:14px;background:#fffffff0;box-shadow:0 -8px 24px #0f172a0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@media(max-width:700px){.external-exam-test-details-grid{grid-template-columns:1fr}.external-exam-test-details-modal{padding:17px}.external-exam-preview-hero{position:relative;display:block;padding:19px}.external-exam-preview-hero h2{max-width:calc(100% - 132px);font-size:clamp(16px,4.8vw,22px)}.external-exam-preview-back-link{position:absolute;top:39px;right:19px;gap:4px;padding:7px 8px;font-size:10px}.external-exam-preview-intro{align-items:center;flex-direction:row}.external-exam-preview-intro>div{flex:1;min-width:0}.external-exam-preview-intro-heading{gap:6px}.external-exam-preview-intro h3{font-size:clamp(13px,3.8vw,18px)}.external-exam-preview-intro>.btn{flex:0 0 auto;padding:8px 15px;font-size:12px;white-space:nowrap}.external-exam-full-preview .external-exam-preview-section,.external-exam-preview-question{padding:12px}.external-exam-preview-options{grid-template-columns:minmax(0,280px);width:100%}.external-exam-full-preview>.external-exam-actions{margin:0 -12px -12px;padding:11px 12px}}.external-exam-questions-overlay{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a94;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.external-exam-questions-modal{display:flex;flex-direction:column;width:min(980px,100%);max-height:min(88vh,920px);overflow:hidden;border:1px solid rgba(255,255,255,.75);border-radius:22px;background:var(--color-surface);box-shadow:0 28px 90px #0f172a52}.external-exam-questions-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#6366f11a,#0ea5e90d)}.external-exam-questions-header h2{margin:5px 0;color:var(--color-text-primary);font-size:20px}.external-exam-questions-header p{margin:0;color:var(--color-text-muted);font-size:12px}.modal-close-btn.external-exam-questions-close{width:28px;height:28px;border-radius:8px;background:var(--color-surface)}.modal-close-btn.external-exam-questions-close svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.external-exam-questions-list{display:grid;gap:13px;overflow-y:auto;padding:20px 24px}.external-exam-question-card{padding:16px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);box-shadow:0 5px 18px #0f172a0a}.external-exam-question-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-primary);font-size:12px;font-weight:800}.external-exam-question-card-heading small{padding:5px 9px;border-radius:999px;color:#4338ca;background:#6366f11a;font-size:10px}.external-exam-question-text{margin:12px 0;color:var(--color-text-primary);font-size:14px;font-weight:650;line-height:1.6}.external-exam-question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:0;padding:0;list-style:none;counter-reset:question-option}.external-exam-question-options li{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-secondary);font-size:14px}.external-exam-question-options li:before{display:grid;width:23px;height:23px;flex:0 0 23px;place-items:center;border-radius:50%;color:var(--color-text-muted);background:var(--color-bg);font-size:10px;font-weight:800;counter-increment:question-option;content:counter(question-option,upper-alpha)}.external-exam-question-options li.is-correct{border-color:#10b98159;color:#065f46;background:#10b9810f}.external-exam-question-options li.is-correct:before{color:#047857;background:#10b98124}.external-exam-question-correct-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;color:#047857}.external-exam-question-explanation{margin-top:13px;padding:12px 14px;border-radius:11px;background:var(--color-bg)}.external-exam-question-explanation strong{color:var(--color-text-primary);font-size:11px}.external-exam-question-explanation p{margin:5px 0 0;color:var(--color-text-secondary);font-size:12px;line-height:1.6}.external-exam-questions-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-top:1px solid var(--color-border);background:var(--color-surface)}.external-exam-questions-footer>span{color:var(--color-text-muted);font-size:11px}@media(max-width:560px){.external-exam-questions-overlay{padding:10px}.external-exam-questions-modal{max-height:94vh;border-radius:17px}.external-exam-questions-header,.external-exam-questions-list{padding-right:16px;padding-left:16px}.external-exam-question-card{padding:13px}.external-exam-questions-footer{align-items:flex-start;flex-direction:column;padding:13px 16px}.external-exam-question-options{grid-template-columns:1fr}}@media(max-width:560px){.external-exam-header{padding:13px}.external-exam-header>button{width:100%;justify-content:center}.external-exam-section-card>summary{flex-wrap:wrap}.external-exam-status{width:calc(100% - 41px);margin-left:41px;text-align:left}.external-exam-section-body{padding-right:11px;padding-left:11px}.external-exam-tools>button,.external-exam-response-actions>button,.external-exam-actions>button{flex:1 1 100%;justify-content:center}.external-exam-view-questions{margin-left:0}}.tutor-ai-generator-page{width:100%;max-width:none;box-sizing:border-box;margin:0;padding:24px clamp(16px,2.5vw,36px) 48px}.tutor-ai-generator-shell{width:100%;overflow:hidden;border:1px solid rgba(99,102,241,.13);border-radius:22px;background:radial-gradient(ellipse at 10% 0%,rgba(224,231,255,.75),transparent 44%),var(--color-surface, #fff);box-shadow:0 18px 48px #1f295917}.tutor-ai-generator-shell.is-assembled-preview{border-top-left-radius:0;border-top-right-radius:0}.tutor-ai-generator-header{position:relative;display:flex;min-height:168px;align-items:center;justify-content:space-between;overflow:hidden;padding:30px clamp(22px,3vw,42px);background:linear-gradient(120deg,var(--color-primary, #4f46e5) 0%,#6d46d9 58%,#813dc5 100%);color:#fff}.tutor-ai-generator-header.is-hidden{display:none}.tutor-ai-generator-header:after{position:absolute;top:-115px;right:9%;width:290px;height:290px;border:1px solid rgba(255,255,255,.13);border-radius:50%;content:"";box-shadow:0 0 0 30px #ffffff09,0 0 0 62px #ffffff06}.tutor-ai-generator-header-copy{position:relative;z-index:1;max-width:760px}.tutor-ai-generator-eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;color:#ffffffd4;font-size:12px;font-weight:750;letter-spacing:.09em;text-transform:uppercase}.tutor-ai-generator-eyebrow span{color:#fef08a;font-size:16px}.tutor-ai-generator-header h1{margin:0;color:#fff;font-size:clamp(23px,2.4vw,31px);font-weight:800;letter-spacing:-.025em;line-height:1.2}.tutor-ai-generator-header p{max-width:680px;margin:9px 0 0;color:#ffffffd1;font-size:14px;line-height:1.55}.tutor-ai-generator-header-art{position:relative;z-index:1;display:grid;width:90px;height:90px;flex:0 0 90px;place-items:center;margin:0 7% 0 24px;border:1px solid rgba(255,255,255,.35);border-radius:27px;background:linear-gradient(145deg,#ffffff40,#ffffff17);box-shadow:0 14px 30px #23165b33,inset 0 1px #fff3;transform:rotate(7deg)}.tutor-ai-generator-header.has-back-action .tutor-ai-generator-header-art{display:none}.tutor-ai-generator-back-button{position:absolute;z-index:2;top:24px;right:clamp(22px,3vw,42px);display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.58);border-radius:11px;color:#fff;background:#ffffff1f;box-shadow:inset 0 1px #ffffff1f;font:inherit;font-size:12px;font-weight:750;cursor:pointer;transition:background .16s ease,transform .16s ease}.tutor-ai-generator-back-button:hover{transform:translateY(-1px);background:#ffffff38}.tutor-ai-generator-back-button span{font-size:19px;line-height:12px}.tutor-ai-generator-header-art span{color:#fff;font-size:40px;text-shadow:0 2px 12px rgba(255,255,255,.35)}.tutor-ai-generator-header-art i,.tutor-ai-generator-header-art b{position:absolute;display:block;border-radius:50%;background:#fef08a;box-shadow:0 0 14px #fef08ab3}.tutor-ai-generator-header-art i{top:13px;right:12px;width:7px;height:7px}.tutor-ai-generator-header-art b{bottom:14px;left:12px;width:5px;height:5px}.tutor-ai-generator-content{padding:clamp(18px,2.5vw,34px)}.tutor-ai-generator-content.is-assembled-preview{--assembled-preview-horizontal-padding: clamp(18px, 2.5vw, 34px);--assembled-preview-top-padding: clamp(18px, 2.5vw, 34px)}.is-assembled-preview .external-exam-preview-hero{margin:calc(-1 * var(--assembled-preview-top-padding)) calc(-1 * var(--assembled-preview-horizontal-padding)) 0;border-radius:0 0 20px 20px}.is-assembled-preview .external-exam-preview-content{margin:-18px calc(-1 * var(--assembled-preview-horizontal-padding)) 0}@media(max-width:640px){.tutor-ai-generator-page{padding:12px 10px 28px}.tutor-ai-generator-shell{border-radius:16px}.tutor-ai-generator-header{min-height:0;padding:24px 20px}.tutor-ai-generator-header-art{display:none}.tutor-ai-generator-content{padding:18px 14px 22px}.tutor-ai-generator-content.is-assembled-preview{--assembled-preview-horizontal-padding: 14px;--assembled-preview-top-padding: 18px}.is-assembled-preview .external-exam-preview-hero{margin:calc(-1 * var(--assembled-preview-top-padding)) calc(-1 * var(--assembled-preview-horizontal-padding)) 0}}.test-builder-pattern-settings{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;padding:22px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 8px 24px #0f172a0d}.test-builder-pattern-question-hint{color:var(--color-text-muted);font-size:11px;line-height:1.4}.test-builder-pattern-section-heading{display:grid;gap:12px;overflow:hidden;border:1px solid rgba(99,102,241,.17);border-radius:18px;background:linear-gradient(150deg,#fff,#fcfcff);box-shadow:0 7px 22px #1f29590b}.test-builder-pattern-section-card{display:grid;align-content:start;overflow:hidden;border:1px solid rgba(99,102,241,.2);border-radius:19px;background:linear-gradient(150deg,#fff,#fcfcff);box-shadow:0 8px 24px #1f295912}.test-builder-pattern-section-toggle{display:flex;align-items:center;gap:12px;width:100%;padding:17px 20px;border:0;border-radius:0;background:linear-gradient(110deg,#f5f6ff,#fbfaff);color:var(--color-text-primary);text-align:left;cursor:pointer}.test-builder-pattern-section-toggle[aria-expanded=true]{border-bottom:1px solid rgba(99,102,241,.14)}.test-builder-pattern-section-toggle h3{margin:0;font-size:16px}.test-builder-pattern-section-count{margin-left:auto;color:var(--color-text-muted);font-size:12px;font-weight:650}.test-builder-pattern-section-chevron{width:9px;height:9px;flex:0 0 9px;margin:0 3px 4px 2px;border-right:2px solid #6366f1;border-bottom:2px solid #6366f1;transform:rotate(45deg);transition:transform .15s ease}.test-builder-pattern-section-chevron.is-expanded{margin-bottom:0;transform:rotate(225deg)}.test-builder-pattern-section-questions{display:grid;gap:14px;padding:16px}.test-builder-pattern-section-questions[hidden]{display:none}.test-builder-pattern-actions{display:flex;align-items:center;gap:8px}.test-builder-pattern-actions button{padding:8px 13px;border-radius:9px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.test-builder-pattern-actions .test-builder-pattern-cancel{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary)}.test-builder-pattern-actions .test-builder-pattern-save{border:0;background:linear-gradient(135deg,var(--color-primary),#7c3aed);color:#fff;box-shadow:0 3px 10px #6366f13d}.test-builder-information-save{padding:8px 13px;border:1px solid var(--color-primary);border-radius:9px;background:transparent;color:var(--color-primary);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.test-builder-information-save:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 7%,transparent)}.test-builder-pattern-settings-heading{grid-column:1 / -1;display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.test-builder-pattern-settings-heading>div>span{color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.test-builder-pattern-settings-heading h2{margin:5px 0;color:var(--color-text-primary);font-size:19px}.test-builder-pattern-settings-heading p,.test-builder-pattern-question-note{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.5}.test-builder-pattern-settings-heading>strong{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(99,102,241,.2);border-radius:10px;color:#4f46e5;background:#6366f10f;font-size:12px}.test-builder-pattern-time-list,.test-builder-pattern-penalties{display:grid;gap:9px}.test-builder-pattern-time-list label,.test-builder-pattern-penalties label{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:6px 11px;border:1px solid var(--color-border);border-radius:10px;color:var(--color-text-primary);font-size:13px;font-weight:400}.test-builder-pattern-time-list h3,.test-builder-pattern-penalties h3{margin:0 0 2px;color:var(--color-text-secondary);font-size:14px}.test-builder-pattern-number{display:inline-flex;align-items:center;gap:7px;color:var(--color-text-muted);font-size:11px;font-weight:600}.test-builder-pattern-number input{box-sizing:border-box;width:84px;min-height:34px;border:1px solid var(--color-border);border-radius:8px;padding:4px 8px;color:var(--color-text-primary);background:var(--color-bg);font:inherit;font-size:12px;text-align:right}.test-builder-pattern-number input:focus{border-color:var(--color-primary);outline:3px solid rgba(99,102,241,.12)}.test-builder-pattern-question-note{grid-column:1 / -1;padding-top:14px;border-top:1px solid var(--color-border)}@media(max-width:600px){.test-builder-pattern-settings{grid-template-columns:minmax(0,1fr);padding:17px}.test-builder-pattern-question-note{grid-column:auto}.test-builder-pattern-settings-heading{flex-direction:column}.test-builder-pattern-actions button{padding:7px 9px;font-size:11px}.test-builder-pattern-time-list label,.test-builder-pattern-penalties label{align-items:flex-start}}.assign-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;gap:24px!important}.assign-top-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.assign-id-display{display:flex;align-items:center;min-height:42px;box-sizing:border-box;padding:0 12px;border:1px solid var(--color-border);border-radius:10px;background:linear-gradient(135deg,var(--color-bg),var(--color-surface));color:var(--color-text-primary);font-size:13px;font-weight:400;letter-spacing:.02em}.schedule-field{grid-column:1 / -1;display:grid;gap:12px;padding:14px;border:1px solid rgba(99,102,241,.16);border-radius:14px;background:linear-gradient(135deg,#6366f10f,#8b5cf608)}.schedule-toggle-row{display:flex;align-items:center;justify-content:flex-end;gap:12px}.schedule-toggle-label{color:var(--color-text-primary);font-size:13.5px;font-weight:750}.premium-toggle{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:4px 10px 4px 5px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:11px;font-weight:800;cursor:pointer;transition:border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}.premium-toggle:hover{border-color:#8b5cf6;box-shadow:0 5px 16px #6366f126}.premium-toggle.is-enabled{border-color:#7c3aed;background:linear-gradient(135deg,#7c3aed,#4f46e5);color:#fff;box-shadow:0 6px 18px #6366f140}.premium-toggle-track{display:flex;align-items:center;width:32px;height:18px;padding:2px;box-sizing:border-box;border-radius:999px;background:#cbd5e1;transition:background .2s ease}.premium-toggle-track span{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0f172a33;transition:transform .2s ease}.premium-toggle.is-enabled .premium-toggle-track{background:#c4b5fd}.premium-toggle.is-enabled .premium-toggle-track span{transform:translate(14px)}.schedule-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.schedule-input-grid input{display:block;width:100%;min-height:42px;box-sizing:border-box;margin-top:6px;padding:0 10px;border:1.5px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-primary)}.assign-dropdown-menu{max-width:100%}.assign-dropdown-list{max-height:220px;overflow-y:scroll;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-width:thin}.icon-btn.assign-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border:1px solid rgba(99,102,241,.24);border-radius:12px;background:linear-gradient(145deg,var(--color-surface),#f5f3ff);color:#6366f1;box-shadow:0 5px 14px #6366f124;cursor:pointer;transition:all .2s ease}.icon-btn.assign-modal-close:hover{transform:rotate(90deg) scale(1.04);border-color:#8b5cf6;background:linear-gradient(145deg,var(--color-surface),#f5f3ff);color:#7c3aed;box-shadow:0 8px 18px #6366f13b}.assign-clear-label-short{display:none}@media(max-width:960px){.assign-modal-overlay{align-items:flex-start;overflow-y:auto;padding:10px}.assign-modal-overlay>.modal-box{margin:0 auto;height:calc(100vh - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)!important}.assign-dropdown-menu{position:relative!important;top:auto!important;left:auto!important;right:auto!important;margin-top:0}.assign-top-grid,.schedule-input-grid{grid-template-columns:1fr}.assign-grid{grid-template-columns:1fr!important;gap:20px!important}}@media(max-width:600px){.assign-modal-overlay{align-items:flex-start!important;justify-content:center;overflow:hidden!important;box-sizing:border-box;padding:8px!important}.assign-modal-overlay>.modal-box{box-sizing:border-box;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;height:min(680px,calc(100dvh - 16px - env(safe-area-inset-bottom)));max-height:calc(100dvh - 16px - env(safe-area-inset-bottom))!important;min-height:0;overflow:hidden!important}.assign-modal-body{flex:none!important;min-height:0!important;overflow-y:auto!important;overscroll-behavior:contain;padding:16px!important}.assign-modal-footer{position:relative;z-index:2;min-width:0;gap:8px!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}.assign-footer-count{display:none}.assign-modal-footer>div{width:100%;gap:6px!important}.assign-modal-footer button{flex:1 1 0;min-width:0;min-height:40px;padding:8px 9px!important;font-size:12px!important;justify-content:center;text-align:center;white-space:nowrap;margin-bottom:1.5rem}.assign-clear-label-full{display:none}.assign-clear-label-short{display:inline}}.assign-modal-overlay.assign-page-overlay{position:relative!important;inset:auto!important;display:block!important;min-height:0;box-sizing:border-box;padding:0 0 0 16px!important;overflow:visible!important;background:transparent!important}.assign-modal-overlay.assign-page-overlay>.modal-box{display:flex!important;width:100%;max-width:1040px;height:auto!important;min-height:min(680px,calc(100vh - 220px));max-height:none!important;overflow:visible!important}.assign-page-shell .assign-modal-body{overflow:visible!important;padding:30px!important;border:1px solid rgba(148,163,184,.24);border-radius:22px;background:radial-gradient(ellipse at top left,rgba(99,102,241,.055),transparent 38%),var(--color-surface);box-shadow:0 20px 55px #0f172a12,0 2px 8px #0f172a09}.assign-page-shell .assign-modal-header,.assign-page-shell .assign-modal-footer{padding-right:0!important;padding-left:0!important;background:transparent!important}.assign-page-shell .assign-modal-header.assign-page-header{margin-bottom:18px;padding:22px 26px!important;border:1px solid rgba(99,102,241,.16)!important;border-bottom:1px solid rgba(99,102,241,.16)!important;border-radius:20px;background:radial-gradient(ellipse at 88% 8%,rgba(124,58,237,.14),transparent 38%),linear-gradient(115deg,#eef2ff,#f8faff 52%,#f5f3ff)!important;box-shadow:0 12px 32px #4f46e517}.assign-page-eyebrow{color:#5145bd!important;font-size:10px!important;font-weight:800!important;letter-spacing:.12em!important}.assign-page-title{margin-top:5px!important;font-size:22px!important;font-weight:750!important;letter-spacing:-.025em}.assign-page-shell .assign-modal-footer{justify-content:flex-start!important;border-top:0!important}.assign-page-shell .assign-footer-count,.assign-page-shell .assign-clear-button{display:none!important}.assign-page-shell .assign-modal-footer>div{display:flex;align-items:center;justify-content:flex-start;gap:12px}.assign-page-shell .assign-page-submit{order:0;min-height:38px;padding:6px 22px!important;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;font-weight:700}.assign-page-shell .assign-page-cancel{order:1;min-height:38px;padding:6px 18px!important;border:1.5px solid var(--color-primary)!important;background:transparent!important;color:var(--color-primary)!important}.assign-page-shell .assign-grid{gap:20px!important}.assign-page-shell .assign-grid>div,.assign-page-shell .assign-grid>label,.assign-page-shell .assign-more-students-card{min-width:0}.assign-page-shell .assign-more-students-card{display:none}.assign-more-students-card h3,.assign-roster-summary h3{margin:0;color:var(--color-text-primary);font-size:15px}.assign-more-students-card p{margin:5px 0 0;color:var(--color-text-muted);font-size:12px}.assign-more-students-button,.assign-student-picker-add{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #4f46e533}.assign-more-students-button>span{font-size:18px;line-height:1}.assign-extra-students-list{display:flex;flex-wrap:wrap;gap:8px}.assign-extra-student-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 8px 6px 11px;border:1px solid #c7d2fe;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px}.assign-extra-student-chip button{width:20px;height:20px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:16px;cursor:pointer}.assign-roster-summary{margin-top:22px;padding:22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:0 8px 24px #0f172a0a}.assign-roster-summary-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.assign-roster-summary-actions{display:flex;align-items:center;gap:12px;margin-left:auto}.assign-roster-groups{display:grid;gap:18px}.assign-roster-group{min-width:0}.assign-roster-group-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px;color:var(--color-text-muted);font-size:11px;font-weight:700;text-align:center}.assign-roster-group-heading:before,.assign-roster-group-heading:after{height:1px;flex:1 1 auto;background:var(--color-border);content:""}.assign-roster-group-heading span{flex:0 0 auto}.assign-roster-student-chips{display:flex;flex-wrap:wrap;gap:7px}.assign-roster-student-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:28px;padding:3px 5px 3px 9px;border:1px solid rgba(99,102,241,.2);border-radius:999px;background:linear-gradient(135deg,#f3f6ff,#f8f5ff);box-shadow:0 2px 7px #4f46e512;color:#3730a3;font-size:11px;font-weight:500}.assign-roster-student-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assign-roster-student-chip>button{display:grid;flex:0 0 18px;place-items:center;width:18px;height:18px;padding:0;border:0;border-radius:50%;background:#ffffffdb;color:#6366f1;font-size:14px;line-height:1;cursor:pointer}.assign-roster-student-chip>button:hover{background:#fff1f2;color:#be123c}.assign-roster-summary-heading>div>span{display:block;margin-bottom:5px;color:var(--color-primary);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.assign-roster-summary-heading>strong{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#eef2ff;color:#4338ca;font-size:15px}.assign-roster-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow-y:auto}.assign-roster-summary-list>div{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid #edf0f5;border-radius:12px;background:#fcfdff}.assign-roster-summary-list>div>span:nth-child(2){overflow:hidden;color:var(--color-text-primary);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.assign-roster-summary-list small{margin-left:auto;color:var(--color-text-muted);font-size:10px;white-space:nowrap}.assign-student-avatar{display:grid;flex:0 0 34px;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#e0e7ff,#f3e8ff);color:#5b4ad1;font-size:13px;font-weight:700}.assign-roster-empty{margin:0;padding:20px;border-radius:12px;background:#f8fafc;color:var(--color-text-muted);font-size:13px;text-align:center}.assign-student-picker-overlay{position:fixed;z-index:10000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a7a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.assign-student-picker{display:flex;flex-direction:column;width:min(720px,100%);max-height:min(740px,calc(100dvh - 40px));overflow:hidden;border:1px solid rgba(255,255,255,.7);border-radius:22px;background:var(--color-surface);box-shadow:0 32px 90px #0f172a4d}.assign-student-picker-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px 18px;border-bottom:1px solid #eef0f5}.assign-student-picker-header>div>span{color:#6366f1;font-size:10px;font-weight:800;letter-spacing:.12em}.assign-student-picker-header h2{margin:6px 0 5px;color:#172033;font-size:20px}.assign-student-picker-header p{margin:0;color:#64748b;font-size:12px}.assign-student-picker-header>button{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:11px;background:#fff;color:#475569;font-size:21px;cursor:pointer}.assign-student-picker-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 26px;background:#fafbff}.assign-student-picker-filters label{display:grid;gap:7px;color:#334155;font-size:12px;font-weight:700}.assign-student-picker-filters select{width:100%;min-height:42px;font-weight:400!important}.assign-student-picker-list{height:360px;min-height:360px;overflow-y:auto;padding:8px 18px;overscroll-behavior:contain}.assign-student-picker-empty{display:grid;place-items:center;height:100%;color:#64748b;font-size:13px;text-align:center}.assign-student-picker-row{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 8px;border-bottom:1px solid #f0f2f6}.assign-student-picker-person{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}.assign-student-picker-person strong{overflow:hidden;color:#1e293b;font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.assign-student-picker-person small{color:#64748b;font-size:11px}.assign-student-toggle{display:inline-flex;align-items:center;gap:7px;min-width:98px;padding:6px 10px 6px 6px;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;color:#64748b;font-size:11px;font-weight:700;cursor:pointer}.assign-student-toggle>span{width:22px;height:22px;border-radius:50%;background:#cbd5e1;box-shadow:inset 0 0 0 5px #fff;transition:background .15s ease}.assign-student-toggle.is-on{border-color:#c7d2fe;background:#eef2ff;color:#4338ca}.assign-student-toggle.is-on>span{background:#6366f1}.assign-student-picker-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 26px;border-top:1px solid #eef0f5;background:#fff}.assign-student-picker-footer>span{color:#64748b;font-size:12px}.assign-student-picker-footer>div{display:flex;gap:10px}.assign-student-picker-cancel{min-height:42px;padding:0 15px;border:1px solid #c7d2fe;border-radius:10px;background:#fff;color:#4f46e5;font-size:12px;font-weight:700;cursor:pointer}.assign-student-picker-add{min-height:42px}@media(max-width:680px){.assign-roster-summary-list{grid-template-columns:1fr}.assign-student-picker-overlay{padding:10px}.assign-student-picker{max-height:calc(100dvh - 20px);border-radius:18px}.assign-student-picker-header,.assign-student-picker-filters,.assign-student-picker-footer{padding-right:16px;padding-left:16px}.assign-student-picker-filters{grid-template-columns:1fr}.assign-student-picker-list{height:300px;min-height:300px}.assign-page-shell .assign-modal-footer>div{width:auto!important}.assign-page-shell .assign-modal-body{padding:20px 16px!important;border-radius:18px}.assign-modal-overlay.assign-page-overlay{padding-right:0!important;padding-left:12px!important}}.test-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.test-filter-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.test-filter-heading p{margin:5px 0 0;color:var(--color-text-muted);font-size:12.5px}.test-filter-title{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:800}.test-filter-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.test-filter-grid>label{display:grid;gap:6px;color:var(--color-text-primary);font-size:12px;font-weight:700}.test-filter-select{box-sizing:border-box;width:100%;margin-top:0;padding-right:44px!important;font-weight:400!important;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236366f1' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 14px center!important;background-size:14px!important}@media(max-width:600px){.test-filter-grid{grid-template-columns:minmax(0,1fr)}}.tt-abandoned-result-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(239,68,68,.2);border-radius:999px;background:#ef44441a;color:#dc2626;font-size:11px;font-weight:800;letter-spacing:.01em;white-space:nowrap}.tt-abandoned-result-badge>span{display:inline-grid;width:16px;height:16px;place-items:center;border-radius:50%;background:#dc2626;color:#fff;font-size:11px;line-height:1}.tt-reassign-abandoned-btn{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:7px 11px;border:1px solid rgba(99,102,241,.22);border-radius:10px;background:linear-gradient(135deg,#6366f11f,#7c3aed14);color:#4f46e5;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.tt-reassign-abandoned-btn:hover{transform:translateY(-1px);background:linear-gradient(135deg,#6366f12e,#7c3aed21);box-shadow:0 7px 16px #4f46e524}@media(max-width:640px){.tt-abandoned-result-badge,.tt-reassign-abandoned-btn{font-size:10px}.tt-reassign-abandoned-btn{padding-inline:9px}}.dh-page{max-width:1160px;margin:0 auto;padding:28px clamp(16px,3vw,36px) 56px;color:var(--color-text-primary)}.dh-hero{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}.dh-eyebrow{color:var(--color-text-muted);font-size:11px;font-weight:750;letter-spacing:.12em}.dh-hero h1{margin:7px 0;font-size:clamp(26px,3vw,36px);letter-spacing:-.035em}.dh-hero p,.dh-editor-head p{color:var(--color-text-muted);margin:0}.dh-tabs{display:flex;padding:4px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-bg)}.dh-tabs button{border:0;background:transparent;color:var(--color-text-muted);border-radius:9px;padding:10px 15px;font:inherit;font-weight:650;cursor:pointer}.dh-tabs button[aria-selected=true]{background:var(--color-surface);color:var(--color-text-primary);box-shadow:var(--shadow-card)}.dh-editor,.dh-card,.dh-empty{background:var(--color-surface);border:1px solid var(--color-border);border-radius:17px;box-shadow:var(--shadow-card)}.dh-editor{padding:clamp(18px,3vw,28px);margin:22px 0 34px}.dh-editor-head,.dh-list-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.dh-editor h2,.dh-list h2{margin:5px 0 4px;font-size:21px;letter-spacing:-.02em}.dh-quiet,.dh-card-actions button{color:var(--color-text-muted);background:transparent;border:0;font:inherit;cursor:pointer;padding:8px}.dh-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}.dh-fields label,.dh-filter{display:grid;gap:7px;color:var(--color-text-secondary);font-size:13px;font-weight:650}.dh-fields input,.dh-fields select,.dh-fields textarea,.dh-filter input,.dh-filter select{width:100%;min-height:42px;padding:10px 12px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-bg);color:var(--color-text-primary);font:inherit;box-sizing:border-box}.dh-fields textarea{resize:vertical}.dh-fields input:focus-visible,.dh-fields select:focus-visible,.dh-fields textarea:focus-visible,.dh-filter input:focus-visible,.dh-filter select:focus-visible,.dh-page button:focus-visible,.dh-page a:focus-visible{outline:3px solid #7898ff85;outline-offset:2px}.dh-wide{grid-column:1 / -1}.dh-actions{display:flex;align-items:center;gap:14px;margin-top:18px}.dh-actions span{color:var(--color-text-muted);font-size:12px}.dh-primary{border:0;border-radius:10px;padding:11px 17px;background:var(--color-primary);color:#fff;font:inherit;font-weight:700;cursor:pointer}.dh-primary.dh-save-changes{min-height:34px;height:34px;padding:5px 16px;border-radius:11px;font-weight:400}.dh-submit-homework{min-height:35px;padding-top:6px;padding-bottom:6px}.dh-homework-toggle{white-space:nowrap}.dh-primary:disabled{opacity:.65;cursor:wait}.dh-secondary{width:150px;min-height:35px;border:1px solid var(--color-primary);border-radius:10px;padding:7px 14px;color:var(--color-primary);background:transparent;font:inherit;font-weight:400;cursor:pointer}.dh-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.dh-secondary:disabled{opacity:.55;cursor:not-allowed}.dh-message{margin:16px 0;padding:12px 15px;border-radius:10px}.dh-error{background:#fff1f0;color:#9c2822}.dh-success{background:#eaf8ef;color:#17683b}.dh-list-head{margin:0 0 16px}.dh-filter{display:flex;align-items:center;gap:9px}.dh-filter input,.dh-filter select{width:auto;min-width:150px}.dh-empty{text-align:center;padding:48px 20px}.dh-empty>span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eef1ff;color:#5366df;font-size:20px}.dh-empty h3{margin-bottom:7px}.dh-empty p{color:var(--color-text-muted);margin:0}.dh-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dh-card{padding:20px;min-width:0}.dh-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dh-card-top>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.dh-badge{padding:5px 9px;border-radius:99px;text-transform:capitalize;font-size:11px;font-weight:750;background:#eef0f4;color:#596579}.dh-badge.published{background:#e9f7ef;color:#247148}.dh-context{color:var(--color-text-muted);font-size:12px}.dh-card .dh-homework-context{display:inline-flex;align-items:center;width:fit-content;margin:0 0 12px;padding:6px 11px;border:1px solid #c4b5fd;border-radius:999px;background:linear-gradient(120deg,#f3e8ff,#e0f2fe 52%,#dcfce7);box-shadow:0 3px 10px #6366f11f;color:#4338ca;font-size:11px;font-weight:750;letter-spacing:.015em}.dh-card h3{margin:17px 0 9px;font-size:18px}.dh-homework-context{display:block;margin:-7px 0 12px}.dh-card .dh-homework-instructions{font-size:14px;line-height:1.6}.dh-card p{color:var(--color-text-secondary);line-height:1.6;white-space:pre-wrap}.dh-card-actions{display:flex}.dh-card-actions button:hover{color:var(--color-primary)}.dh-due{display:flex;justify-content:space-between;flex-wrap:wrap;gap:9px;color:var(--color-text-muted);font-size:12px;margin-top:16px}.dh-resource{display:inline-block;margin:8px 10px 0 0;color:var(--color-primary);font-size:13px;text-decoration:none}.dh-resource:hover{text-decoration:underline}.dh-complete{margin-top:17px}.dh-missing{padding:10px;border-radius:8px;background:var(--color-bg)}[data-theme=dark] .dh-badge.published{background:#153624;color:#8ce3ad}[data-theme=dark] .dh-error{background:#401c20;color:#ffb7b2}[data-theme=dark] .dh-success{background:#153624;color:#8ce3ad}@media(max-width:680px){.dh-page{padding-top:18px}.dh-fields,.dh-cards{grid-template-columns:1fr}.dh-wide{grid-column:auto}.dh-filter{width:100%;justify-content:space-between}.dh-filter input,.dh-filter select{flex:1}.dh-card{padding:17px}}@media(prefers-reduced-motion:reduce){.dh-page *,.dh-page *:before,.dh-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.dh-page{max-width:1320px;padding:20px clamp(16px,2.4vw,30px) 64px}.dh-hero{position:relative;isolation:isolate;min-height:190px;align-items:center;padding:clamp(26px,4vw,42px);margin-bottom:28px;overflow:hidden;border:1px solid rgba(165,180,252,.2);border-radius:26px;color:#fff;background:radial-gradient(circle at 80% 18%,rgba(129,140,248,.42),transparent 28%),radial-gradient(circle at 98% 100%,rgba(45,212,191,.2),transparent 32%),linear-gradient(122deg,#111827,#24245f 55%,#3730a3);box-shadow:0 20px 50px #1e293b33}.dh-hero:after{position:absolute;z-index:-1;top:-150px;right:9%;width:300px;height:300px;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 32px #ffffff09,0 0 0 66px #ffffff06;content:""}.dh-hero>div{position:relative;z-index:1}.dh-eyebrow{display:inline-flex;align-items:center;gap:8px;color:#c4b5fd;font-size:10px;font-weight:800;letter-spacing:.16em}.dh-eyebrow:before{width:7px;height:7px;border-radius:50%;background:#5eead4;box-shadow:0 0 14px #5eead4cc;content:""}.dh-hero h1{margin:11px 0 9px;color:#fff;font-size:clamp(28px,3.5vw,40px);font-weight:760;letter-spacing:-.055em;line-height:1.08}.dh-hero p{max-width:560px;color:#cbd5e1;font-size:13px;line-height:1.65}.dh-tabs{padding:5px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:#0f172a57;box-shadow:inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.dh-tabs button{min-width:112px;padding:11px 16px;border-radius:10px;color:#cbd5e1;font-size:12px;transition:color .18s ease,background .18s ease,box-shadow .18s ease}.dh-tabs button:hover{color:#fff}.dh-tabs button[aria-selected=true]{color:#1e1b4b;background:#fff;box-shadow:0 5px 16px #0f172a33}.dh-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 30px}.dh-stat{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 16px;min-height:88px;padding:16px 19px;overflow:hidden;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:0 7px 22px #1e293b0b}.dh-stat:after{position:absolute;right:-17px;bottom:-28px;width:82px;height:82px;border:1px solid rgba(99,102,241,.15);border-radius:50%;box-shadow:0 0 0 12px #6366f109;content:""}.dh-stat>span{color:var(--color-text-muted);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dh-stat>strong{grid-column:2;grid-row:1 / span 2;color:var(--color-text-primary);font-size:28px;font-weight:780;letter-spacing:-.06em;line-height:1}.dh-stat>small{color:var(--color-text-secondary);font-size:11px}.dh-stat-2:after{border-color:#14b8a629;box-shadow:0 0 0 12px #14b8a609}.dh-stat-3:after{border-color:#f59e0b2b;box-shadow:0 0 0 12px #f59e0b09}.dh-editor,.dh-card,.dh-empty{border-color:color-mix(in srgb,var(--color-border) 74%,#a5b4fc);border-radius:20px;box-shadow:0 10px 30px #1e293b0e,0 1px 2px #1e293b0a}.dh-editor{padding:clamp(22px,3vw,32px);margin:0 0 38px}.dh-editor-head{padding-bottom:19px;border-bottom:1px solid var(--color-border)}.dh-editor-head h2,.dh-list h2{margin:5px 0 6px;font-size:21px;font-weight:760;letter-spacing:-.035em}.dh-editor-head p{font-size:12px;line-height:1.6}.dh-fields{gap:18px 20px;margin-top:23px}.dh-fields label,.dh-filter{gap:8px;color:var(--color-text-primary);font-size:12px;font-weight:700}.dh-fields input,.dh-fields select,.dh-fields textarea,.dh-filter input,.dh-filter select{min-height:46px;padding:11px 13px;border-color:color-mix(in srgb,var(--color-border) 82%,#94a3b8);border-radius:11px;background:var(--color-bg);font-size:13px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.dh-fields textarea{min-height:92px;line-height:1.55}.dh-fields input:hover,.dh-fields select:hover,.dh-fields textarea:hover,.dh-filter input:hover,.dh-filter select:hover{border-color:#a5b4fc}.dh-fields input:focus,.dh-fields select:focus,.dh-fields textarea:focus,.dh-filter input:focus,.dh-filter select:focus{border-color:#818cf8;background:var(--color-surface);box-shadow:0 0 0 4px #6366f11f;outline:0}.dh-actions{gap:16px;padding-top:20px;margin-top:23px;border-top:1px solid var(--color-border)}.dh-actions span{font-size:12px}.dh-primary{min-height:43px;border-radius:11px;padding:11px 18px;background:linear-gradient(135deg,#4f46e5,#6d5ce8);box-shadow:0 7px 16px #4f46e533;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.dh-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px #4f46e547;filter:brightness(1.04)}.dh-quiet{border:1px solid var(--color-border);border-radius:10px;padding:9px 12px;font-size:12px;font-weight:700;transition:background .18s ease,color .18s ease}.dh-quiet:hover{color:#4f46e5;background:#eef2ff}.dh-cancel-edit{min-height:34px;height:34px;padding:5px 16px;border-radius:11px;font:inherit;font-weight:700}.dh-list-head{align-items:flex-end;margin-bottom:19px}.dh-homework-view .dh-list-head{padding-bottom:19px;border-bottom:1px solid var(--color-border)}.dh-list-head h2{margin-top:7px}.dh-list-head p{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.55}.dh-filter{display:grid;gap:7px;min-width:190px;color:var(--color-text-muted);font-size:10px;letter-spacing:.02em}.dh-filter input,.dh-filter select{width:100%;min-width:190px;color:var(--color-text-primary)}.dh-empty{padding:clamp(42px,7vw,74px) 24px;border-style:dashed;border-color:#c7d2fe;background:radial-gradient(circle at 50% 0%,rgba(224,231,255,.62),transparent 46%),var(--color-surface)}.dh-empty>span:first-child{width:54px;height:54px;margin-bottom:16px;border:1px solid #c7d2fe;border-radius:18px;color:#5b5bd6;background:linear-gradient(145deg,#fff,#eef2ff);box-shadow:0 8px 20px #6366f11f}.dh-empty h3{margin:0 0 8px;font-size:18px;letter-spacing:-.025em}.dh-empty p{max-width:400px;margin:0 auto;color:var(--color-text-muted);font-size:12px;line-height:1.7}.dh-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr));gap:18px}.dh-card{position:relative;padding:22px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.dh-card:before{position:absolute;top:0;left:22px;right:22px;height:2px;border-radius:0 0 3px 3px;background:linear-gradient(90deg,#6366f1,#2dd4bf);opacity:.72;content:""}.dh-card:hover{transform:translateY(-3px);border-color:#c7d2fe;box-shadow:0 16px 34px #1e293b1a}.dh-card-top{align-items:flex-start;padding-top:4px}.dh-card-top>div:first-child{align-items:flex-start;gap:8px}.dh-badge{padding:5px 9px;border:1px solid #e2e8f0;background:#f8fafc;font-size:10px;letter-spacing:.025em}.dh-badge.draft{border-color:#fde68a;color:#92400e;background:#fffbeb}.dh-badge.published{border-color:#bbf7d0;color:#166534;background:#f0fdf4}.dh-context{padding-top:5px;font-size:11px}.dh-card-actions{display:flex;align-items:center;gap:3px}.dh-card-actions .secondary-edit-icon-button,.dh-card-actions .delete-icon-button{flex:0 0 33px;width:36px;height:36px;min-width:36px;padding:0}.dh-card-actions .secondary-edit-icon-button{color:#4f46e5;background:#eef2ff}.dh-card-actions .secondary-edit-icon-button:hover:not(:disabled),.dh-card-actions .secondary-edit-icon-button:focus-visible{color:#4338ca;background:#e0e7ff}.dh-card-actions .secondary-edit-icon-button svg,.dh-card-actions .delete-icon-button-secondary svg{width:16px;height:16px}.dh-card-actions .delete-icon-button-secondary{color:#dc2626;background:#fef2f2}.dh-card-actions .delete-icon-button.delete-icon-button-secondary:hover:not(:disabled),.dh-card-actions .delete-icon-button.delete-icon-button-secondary:focus-visible{color:#b91c1c;background:#fee2e2}.dh-homework-card{display:flex;flex-direction:column;min-width:0;padding:8px 24px 21px;border-color:color-mix(in srgb,var(--color-border) 72%,#a5b4fc);border-radius:18px;background:linear-gradient(145deg,var(--color-surface) 0%,color-mix(in srgb,var(--color-surface) 96%,#eef2ff) 100%);box-shadow:0 8px 24px #1e293b0e}.dh-homework-card:before{left:0;right:0;height:3px;opacity:.9}.dh-homework-card:hover{transform:translateY(-2px);border-color:#c7d2fe;box-shadow:0 14px 30px #1e293b17}.dh-homework-card-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.dh-homework-card-heading h3{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--color-text-primary);font-size:19px;font-weight:750;letter-spacing:-.025em;line-height:1.35}.dh-homework-card .dh-card-actions{flex:0 0 auto}.dh-homework-card .dh-homework-context{display:inline-flex;align-items:center;align-self:flex-start;margin:-5px 0 12px;border:1px solid #cbdcd4;border-radius:999px;padding:5px 10px;color:#365c50;background:linear-gradient(135deg,#f0f6f3,#e9f2ee);font-size:10px;font-weight:700;letter-spacing:.01em}.dh-homework-card .dh-homework-instructions{margin:0 0 16px;color:var(--color-text-secondary);font-size:14px;line-height:1.7;overflow-wrap:anywhere}.dh-homework-card .dh-due{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top-color:color-mix(in srgb,var(--color-border) 78%,#c7d2fe);font-size:12px}.dh-homework-resources{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dh-homework-card .dh-homework-resources .dh-resource{margin:0}.dh-homework-card .dh-homework-resource-link{border:0;padding:0;color:#176b62;background:transparent;font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}.dh-homework-card .dh-homework-resource-link:hover{border-color:transparent;color:#10544d;background:transparent}.dh-homework-card .dh-due span:last-child{color:var(--color-text-primary);font-weight:650;text-align:right}.dh-due-soon{color:#dc2626!important}.dh-due-label{font-weight:700}.dh-homework-card .dh-missing{margin:14px 0 0;border-radius:10px;font-size:12px}.dh-homework-card .dh-resource{align-self:flex-start;margin-top:12px}[data-theme=dark] .dh-homework-card{background:linear-gradient(145deg,var(--color-surface) 0%,color-mix(in srgb,var(--color-surface) 94%,#312e81) 100%)}[data-theme=dark] .dh-homework-card .dh-homework-context{border-color:#36584d;color:#c4d9ce;background:linear-gradient(135deg,#1b302b,#203a32)}[data-theme=dark] .dh-homework-card .dh-homework-resource-link{color:#8ed5c7}[data-theme=dark] .dh-homework-card .dh-homework-resource-link:hover{color:#b3e7dc}@media(max-width:700px){.dh-page .dh-homework-card{padding-top:8px}}.dh-card h3{margin:20px 0 14px;font-size:18px;font-weight:760;letter-spacing:-.035em}.dh-list:not(.dh-homework-view) .dh-card h3{margin:0 0 4px}.dh-list:not(.dh-homework-view) .dh-card .dh-homework-description{color:#000;font-size:14px;font-weight:400}.dh-card p{margin:0 0 12px;font-size:12px;line-height:1.65}.dh-card p strong{display:block;margin-bottom:3px;color:var(--color-text-primary);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.dh-due{padding-top:13px;border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:11px}.dh-resource{display:inline-flex;align-items:center;gap:6px;margin:8px 8px 0 0;border:1px solid #c7d2fe;border-radius:9px;padding:8px 10px;color:#4f46e5;background:#f5f3ff;font-size:11px;font-weight:700;transition:background .18s ease,border-color .18s ease}.dh-resource:hover{border-color:#a5b4fc;background:#eef2ff;text-decoration:none}.dh-missing{padding:12px 13px;border:1px solid #fed7aa;border-radius:11px;color:#9a3412!important;background:#fff7ed}.dh-complete{width:100%;margin-top:16px}.dh-message{border:1px solid #bbf7d0;border-radius:12px;font-size:13px;font-weight:650}[data-theme=dark] .dh-editor,[data-theme=dark] .dh-card,[data-theme=dark] .dh-empty,[data-theme=dark] .dh-stat{border-color:var(--color-border);box-shadow:0 10px 30px #00000029}[data-theme=dark] .dh-badge.draft{border-color:#854d0e;color:#fcd34d;background:#422006}[data-theme=dark] .dh-badge.published{border-color:#166534;color:#86efac;background:#052e16}[data-theme=dark] .dh-resource{border-color:#4338ca;color:#c4b5fd;background:#1e1b4b}[data-theme=dark] .dh-missing{border-color:#7c2d12;color:#fdba74!important;background:#431407}@media(max-width:680px){.dh-page{padding:0 0 32px}.dh-list:not(.dh-homework-view){padding:18px}.dh-hero{align-items:stretch;flex-direction:column;gap:22px;padding:24px 21px;border-radius:0 0 21px 21px}.dh-hero:after{right:-180px}.dh-hero-controls,.dh-tabs,.dh-tabs button{width:100%}.dh-tabs{display:grid;grid-template-columns:1fr 1fr}.dh-list-head{align-items:stretch}.dh-list:not(.dh-homework-view) .dh-list-head{align-items:center;flex-wrap:nowrap}.dh-list:not(.dh-homework-view) .dh-diary-date{flex:0 0 auto;width:auto;min-width:0;margin-left:auto}.dh-list:not(.dh-homework-view) .dh-diary-date input{width:auto;min-width:0;padding:9px 8px}.dh-homework-view .dh-homework-toggle{align-self:flex-end;margin-left:auto}.dh-editor-controls{width:100%;justify-content:flex-end}.dh-editor-controls .dh-homework-toggle{margin-left:auto}.dh-overview{grid-template-columns:1fr;gap:10px;margin-bottom:24px}.dh-stat{min-height:76px;padding:13px 16px}.dh-filter,.dh-filter input,.dh-filter select{width:100%;min-width:0}.dh-list:not(.dh-homework-view) .dh-diary-date,.dh-list:not(.dh-homework-view) .dh-diary-date input{width:auto}.dh-card{padding:19px}.dh-card-top{flex-direction:column}.dh-card-actions{align-self:flex-end}.dh-actions{align-items:stretch;flex-direction:column}.dh-actions .dh-primary{width:100%}.dh-diary-actions{align-items:center;flex-direction:row;gap:10px}.dh-diary-actions .dh-primary{width:auto;flex:1 1 auto}.dh-diary-actions .dh-secondary{width:auto;flex:0 0 auto}}.dh-submit-diary{width:auto!important;min-height:35px;align-self:flex-start;padding:7px 15px;font-weight:500}.dh-editor-date{display:flex;align-items:center;gap:10px;margin-left:0;color:var(--color-text-secondary);font-size:13px;font-weight:650}.dh-editor-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.dh-copy-diary{width:110px;height:32px;min-height:30px;padding:4px 14px;white-space:nowrap;box-sizing:border-box}.dh-copy-modal-fields{display:grid;gap:12px}.dh-copy-modal-fields label{display:flex;align-items:center;justify-content:space-between;gap:16px;color:#000;font-size:13px;font-weight:650}.dh-copy-modal-fields input{width:170px;max-width:58%;min-height:40px;padding:8px 10px;border:1px solid var(--color-border, #e2e8f0);border-radius:8px;background:var(--color-bg, #f8fafc);color:var(--color-text-primary, #0f172a);font:inherit;font-weight:400;direction:ltr;text-align:left;box-sizing:border-box}.dh-copy-modal-fields input::-webkit-calendar-picker-indicator{margin-left:auto}.dh-editor-date input{width:auto;min-width:155px;min-height:42px;padding:9px 12px;border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-primary);background:var(--color-bg);font:inherit;box-sizing:border-box}.dh-editor-date>strong{color:var(--color-text-primary);font-size:14px;font-weight:600}.dh-diary-readonly{margin-top:22px}.dh-diary-audit{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:16px;color:var(--color-text-muted);font-size:12px}.dh-diary-audit p{margin:0}.dh-diary-readonly .dh-field>p{min-width:0;margin:0;color:var(--color-text-primary);font-size:14px;font-weight:400;line-height:1.5;white-space:pre-wrap}.dh-diary-readonly .dh-diary-remarks>p,.dh-diary-remarks textarea{min-height:70px;box-sizing:border-box}.dh-students-save{min-width:80px;min-height:30px;padding:5px 16px;line-height:1.2}.dh-fields select,.dh-filter select{padding-right:42px;background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;-moz-appearance:none;appearance:none;-webkit-appearance:none}@media(prefers-reduced-motion:reduce){.dh-card,.dh-primary,.dh-resource,.dh-tabs button{transition:none}}.dh-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.dh-fields>label,.dh-field{display:grid;grid-template-columns:minmax(92px,.72fr) minmax(0,1.28fr);align-items:start;gap:8px 12px;min-width:0}.dh-fields>.dh-wide{grid-column:auto}.dh-fields>.dh-diary-remarks{grid-column:1 / 2}.dh-fields input,.dh-fields select,.dh-fields textarea,.dh-multiselect-trigger{min-width:0;width:100%;color:var(--color-text-primary);font-weight:400}.dh-fields input::placeholder,.dh-fields textarea::placeholder{color:var(--color-text-muted);font-weight:400;opacity:.8}.dh-fields textarea{min-height:70px}.dh-field>span:first-child,.dh-fields>label>span:first-child{color:var(--color-text-secondary);font-size:14px;font-weight:650;line-height:1.4}.dh-fields>label,.dh-filter{font-size:14px}.dh-required{color:#dc2626;font-weight:800}.dh-multiselect{min-width:0}.dh-multiselect-control{position:relative;min-width:0}.dh-multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;border:1px solid color-mix(in srgb,var(--color-border) 82%,#94a3b8);border-radius:11px;padding:11px 13px;background:var(--color-bg);text-align:left;font:inherit;font-size:13px;font-weight:400;cursor:pointer}.dh-multiselect-trigger:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.72}.dh-multiselect-trigger:not(:disabled):hover,.dh-multiselect-trigger[aria-expanded=true]{border-color:#818cf8;box-shadow:0 0 0 4px #6366f11a}.dh-select-chevron{width:18px;height:18px;flex:0 0 auto;color:var(--color-text-muted);stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.dh-fields select:focus,.dh-filter select:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px}.dh-selected-sections{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.dh-selected-sections span{border:1px solid #c7d2fe;border-radius:999px;padding:4px 8px;color:#4f46e5;background:#eef2ff;font-size:10px;font-weight:500}.dh-multiselect-menu{position:absolute;z-index:20;top:calc(100% - 1px);right:0;left:0;display:grid;gap:3px;max-height:240px;overflow:auto;padding:7px;border:1px solid var(--color-border);border-radius:0 0 13px 13px;background:var(--color-surface);box-shadow:0 18px 40px #0f172a2e}.dh-section-menu-actions{display:flex;justify-content:space-between;gap:8px;padding:4px 5px 7px;border-bottom:1px solid var(--color-border)}.dh-section-menu-actions button{border:0;border-radius:7px;padding:7px 9px;color:#4f46e5;background:transparent;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.dh-section-menu-actions button:hover{background:var(--color-bg)}.dh-modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.dh-students-modal{display:flex;flex-direction:column;width:min(560px,100%);height:min(620px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:0 24px 70px #0f172a47}.dh-students-modal>header,.dh-students-modal>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px}.dh-students-modal>header{border-bottom:1px solid var(--color-border)}.dh-students-modal>header h2{margin:0 0 5px;font-size:20px}.dh-students-modal>header p{margin:0;color:var(--color-text-muted);font-size:13px}.dh-students-modal>header button{border:0;background:transparent;color:var(--color-text-muted);font-size:28px;cursor:pointer}.dh-students-modal>footer{justify-content:flex-end;border-top:1px solid var(--color-border)}.dh-students-modal>footer .dh-secondary{min-height:35px}.dh-students-list{flex:1;overflow:auto;padding:16px 24px}.dh-students-status{padding:28px 24px;color:var(--color-text-muted);text-align:center}.dh-student-group+.dh-student-group{margin-top:25px}.dh-student-group h3{display:flex;align-items:center;gap:12px;margin:0 0 15px;color:var(--color-text-secondary);font-size:13px;font-weight:750;white-space:nowrap}.dh-student-group h3:before,.dh-student-group h3:after{height:1px;flex:1;background:var(--color-border);content:""}.dh-student-chips{display:flex;flex-wrap:wrap;gap:9px}.dh-student-chip{display:inline-flex;align-items:center;gap:9px;max-width:100%;border:1px solid color-mix(in srgb,var(--color-primary) 24%,var(--color-border));border-radius:999px;padding:7px 8px 7px 13px;color:var(--color-text-primary);background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));font-size:13px}.dh-student-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dh-student-chip>button{display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border:0;border-radius:50%;color:var(--color-text-muted);background:transparent;font-size:17px;line-height:1;cursor:pointer}.dh-student-chip>button:hover{color:#b91c1c;background:#fee2e2}@media(max-width:600px){.dh-students-modal{height:min(620px,calc(100vh - 28px))}.dh-students-modal>header,.dh-students-modal>footer{padding:16px 18px}.dh-students-list{padding:14px 18px}}[data-theme=dark] .dh-secondary:hover:not(:disabled){background:#1e1b4b}.dh-section-option{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;min-height:40px;border-radius:8px;padding:7px 9px;color:var(--color-text-primary)!important;font-size:12px!important;font-weight:450!important;cursor:pointer}.dh-section-option:hover{background:var(--color-bg)}.dh-section-option input{width:16px;min-height:16px;height:16px;margin:0;accent-color:#5b55df}@media(max-width:680px){.dh-fields{grid-template-columns:minmax(0,1fr)}.dh-fields>label,.dh-field{grid-template-columns:minmax(100px,.55fr) minmax(0,1fr)}.dh-fields>.dh-diary-remarks{grid-column:1 / -1}}.dh-student-diary{display:grid;grid-template-columns:minmax(0,1fr);width:100%}.dh-student-diary-card{overflow:hidden;border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));border-radius:22px;background:var(--color-surface);box-shadow:0 18px 48px #19204814}.dh-student-diary-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px;background:linear-gradient(115deg,color-mix(in srgb,var(--color-primary) 9%,var(--color-surface)),var(--color-surface));border-bottom:1px solid var(--color-border)}.dh-student-diary-heading h3{margin:0;color:var(--color-text-primary);font-size:22px;letter-spacing:-.025em}.dh-student-diary-count{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--color-primary) 20%,var(--color-border));border-radius:999px;padding:7px 12px;color:var(--color-primary);background:var(--color-surface);font-size:12px;font-weight:700}.dh-student-diary-entries{display:grid;padding:4px 28px}.dh-student-diary-entry{display:grid;gap:9px;padding:20px 0;border-bottom:1px solid var(--color-border)}.dh-student-diary-entry:last-child{border-bottom:0}.dh-student-diary-subject{color:var(--color-text-secondary);font-size:12px;font-weight:750}.dh-student-diary-entry p{margin:0;color:var(--color-text-primary);font-size:14px;line-height:1.7;white-space:pre-wrap}.dh-student-diary-entry a{width:fit-content;color:var(--color-primary);font-size:13px;font-weight:700;text-decoration:none}.dh-student-diary-entry a:hover{text-decoration:underline}@media(max-width:600px){.dh-student-diary-heading{align-items:flex-start;padding:20px}.dh-student-diary-heading h3{font-size:19px}.dh-student-diary-entries{padding:2px 20px}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:hidden}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:var(--color-bg);color:var(--color-text-primary)}img{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none;margin:0;padding:0}:root{--color-bg: #f8fafc;--color-surface: #ffffff;--color-border: #e2e8f0;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-primary: #6366f1;--color-primary-dark: #4f46e5;--color-accent: #3b82f6;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--max-content-width: 800px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--shadow-card: 0 4px 20px -2px rgba(15, 23, 42, .05), 0 2px 6px -1px rgba(15, 23, 42, .02), 0 0 0 1px rgba(15, 23, 42, .015)}[data-theme=dark]{--color-bg: #090d16;--color-surface: #111726;--color-border: #1e293b;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--shadow-card: 0 10px 25px -3px rgba(0, 0, 0, .35), 0 4px 10px -4px rgba(0, 0, 0, .25), 0 0 0 1px rgba(255, 255, 255, .025)}.container{max-width:var(--max-content-width);margin:0 auto;padding:16px 16px 40px}.page-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.card{background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;margin-bottom:20px;box-shadow:var(--shadow-card);border:1px solid var(--color-border);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:0 12px 30px -4px #0f172a14,0 4px 12px -2px #0f172a08,0 0 0 1px var(--color-border)}[data-theme=dark] .card:hover{box-shadow:0 15px 35px -5px #00000073,0 6px 15px -4px #00000059,0 0 0 1px var(--color-border)}.card-title{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.section-title{font-size:15px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.section-sub{font-size:12px;color:var(--color-text-muted);margin:0 0 12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;box-shadow:0 1px 2px #0000000d;transition:all .2s cubic-bezier(.4,0,.2,1)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active{transform:translateY(1px) scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #6366f140}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 6px 16px #6366f159}.btn-secondary{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-text-secondary)}.btn-danger{background:#fef2f2;color:var(--color-danger);border:1px solid rgba(239,68,68,.15)}.btn-danger:hover:not(:disabled){background:#fee2e2}.btn-success{background:#ecfdf5;color:var(--color-success);border:1px solid rgba(16,185,129,.15)}.btn-success:hover:not(:disabled){background:#d1fae5}.btn-block{width:100%}.field{margin-bottom:16px}.label{display:block;font-size:12.5px;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px}.input,.textarea,.select{width:100%;border:1px solid var(--color-border);border-radius:10px;padding:11px 14px;font-size:14px;background:var(--color-bg);color:var(--color-text-primary);box-shadow:inset 0 1px 2px #00000004;transition:all .2s cubic-bezier(.4,0,.2,1)}.select{padding:11px 36px 11px 14px;background-color:var(--color-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;-moz-appearance:none;appearance:none;-webkit-appearance:none}.input:focus,.textarea:focus{outline:none;border-color:var(--color-primary);background:var(--color-surface);box-shadow:0 0 0 4px #6366f11f,inset 0 1px 2px #00000003}.select:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 4px #6366f11f,inset 0 1px 2px #00000003}.textarea{resize:vertical;min-height:80px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:7px 14px;border-radius:20px;border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary);font-size:13px;font-weight:600}.chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.flex-row{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-8{gap:8px}.gap-12{gap:12px}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-center{text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;width:100%;max-width:480px;max-height:85vh;overflow-y:auto}.spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:var(--color-border);border-radius:8px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@media(max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}.error-boundary{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.error-boundary-emoji{font-size:56px;margin-bottom:16px}.error-boundary-title{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0 0 8px}.error-boundary-message{font-size:14px;color:var(--color-text-muted);margin:0 0 28px;line-height:1.5}.offline-banner{background:#f59e0b;color:#1c1917;font-size:12px;font-weight:600;text-align:center;padding:8px 16px;position:sticky;top:0;z-index:999}.global-loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172ac7;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:99999;display:flex;align-items:center;justify-content:center}.global-loader-box{width:min(360px,calc(100vw - 32px));box-sizing:border-box;padding:24px 32px;border-radius:24px;background:var(--color-surface, #ffffff);display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 10px 30px #4f46e533}.global-loader-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:#fff;background:linear-gradient(135deg,#7c3aed 0%,var(--color-primary) 100%);box-shadow:0 6px 18px #6366f166}.global-loader-text{width:100%;font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0;text-align:center}.announcement-card{border-radius:14px;border:1.5px solid;padding:14px;margin-bottom:10px;transition:transform .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1)}.announcement-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px #0f172a1a}.announcement-card.unread{box-shadow:0 2px 6px #00000014}.announcement-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.announcement-priority{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px}.announcement-top-right{display:flex;align-items:center;gap:6px}.announcement-new-pill{background:#ef4444;color:#fff;border-radius:10px;padding:2px 6px;font-size:9px;font-weight:800;letter-spacing:.5px}.announcement-time{font-size:11px;color:#94a3b8}.announcement-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:8px;background:transparent;color:#94a3b8;cursor:pointer;transition:all .16s cubic-bezier(.4,0,.2,1)}.announcement-delete-btn:hover{background:#fee2e2;color:#dc2626;transform:translateY(-1px)}.announcement-delete-btn:active{transform:translateY(0)}.announcement-title{font-size:15px;font-weight:700;color:#0f172a;margin:0 0 5px}.announcement-content{font-size:13px;color:#334155;line-height:1.45;margin:0}.announcement-footer{margin-top:8px;padding-top:8px;border-top:1px solid rgba(0,0,0,.06)}.announcement-batch{font-size:12px;color:#64748b;font-weight:600}.noticeboard-unread-badge{background:#ef4444;color:#fff;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:700}.noticeboard-state{font-size:13px;color:#94a3b8;text-align:center;padding:12px 0}.noticeboard-empty{font-size:16px}.noticeboard-footer{font-size:11px;color:#94a3b8;text-align:center;margin-top:4px;font-style:italic}.whatsapp-trigger-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#25d366;color:#fff;font-weight:700;font-size:15px;border:none;padding:13px 20px;border-radius:12px;box-shadow:0 3px 6px #128c7e4d;width:100%}.whatsapp-send-btn{background:#25d366;color:#fff;font-weight:800}.whatsapp-send-btn:hover:not(:disabled){background:#128c7e}.modal-close-btn{width:30px;height:30px;border-radius:15px;background:var(--color-bg);border:none;color:var(--color-text-muted);font-weight:700}.chart-container{padding:12px 8px}.chart-container-center{display:flex;align-items:center;justify-content:center}.chart-title{font-size:14px;font-weight:600;color:#334155;margin:0 0 12px}.chart-center{display:flex;align-items:center;justify-content:center}.chart-empty-text{color:#64748b;font-size:14px}.confidence-chart-container{padding-top:8px}.confidence-chart-empty{padding:20px 0;text-align:center;color:#94a3b8;font-size:13px;line-height:1.5}.confidence-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:10px;padding:0 4px}.confidence-legend-item{display:flex;align-items:center;gap:4px;font-size:12px;color:#475569;font-weight:600}.confidence-legend-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.confidence-legend-hint{font-size:11px;color:#94a3b8;font-style:italic;font-weight:400}.leaderboard-widget{background:var(--color-surface);border-radius:16px;padding:16px;box-shadow:0 4px 12px #0f172a14}.leaderboard-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.leaderboard-title{font-size:18px;font-weight:700;color:var(--color-text-primary);margin:0}.leaderboard-title-icon{display:inline-block;vertical-align:-4px;margin-right:7px;color:#d97706}.leaderboard-subtitle{font-size:12px;color:var(--color-text-muted);margin:2px 0 0}.leaderboard-streak-badge{display:flex;align-items:center;gap:4px;background:#fff7ed;padding:6px 10px;border-radius:20px;border:1px solid #ffedd5;font-size:12px;font-weight:700;color:#c2410c}.leaderboard-podium{display:flex;justify-content:center;align-items:flex-end;margin-bottom:20px;height:150px;gap:4px}.leaderboard-podium-column{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 4px}.leaderboard-podium-crown{font-size:18px;margin:0 0 2px}.leaderboard-podium-name{font-size:11px;font-weight:600;color:#334155;text-align:center;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}.leaderboard-podium-name.gold{font-size:12px;font-weight:700;color:#854d0e}.leaderboard-podium-pts{font-size:10px;color:var(--color-text-muted);margin:0 0 6px}.leaderboard-podium-pts.gold{font-size:11px;font-weight:600;color:#a16207}.leaderboard-podium-block{width:100%;display:flex;align-items:center;justify-content:center;border-radius:8px 8px 0 0;font-weight:700;color:#334155}.leaderboard-podium-block.gold{height:80px;background:#fef08a;border:1px solid #fde047;font-size:16px;font-weight:800;color:#713f12}.leaderboard-podium-block.silver{height:60px;background:#e2e8f0;border:1px solid #cbd5e1;font-size:14px}.leaderboard-podium-block.bronze{height:45px;background:#ffedd5;border:1px solid #fed7aa;font-size:14px}.leaderboard-podium-empty{height:40px}.leaderboard-my-rank-card{display:flex;justify-content:space-between;align-items:center;background:#f0f9ff;padding:12px;border-radius:12px;border:1px solid #bae6fd;margin-bottom:12px}.leaderboard-my-rank-left{display:flex;align-items:center;gap:10px}.leaderboard-my-rank-badge{background:#0284c7;color:#fff;font-weight:700;font-size:12px;padding:4px 8px;border-radius:8px}.leaderboard-my-name{font-size:13px;font-weight:700;color:#0369a1;margin:0}.leaderboard-my-percentile{font-size:11px;color:#0284c7;margin:2px 0 0}.leaderboard-my-points{font-size:14px;font-weight:700;color:#0369a1}.leaderboard-rankings-list{display:flex;flex-direction:column;gap:6px}.leaderboard-ranking-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;background:var(--color-bg);gap:8px}.leaderboard-ranking-row.highlighted{background:#e0f2fe}.leaderboard-rank-number{width:30px;font-size:12px;font-weight:700;color:var(--color-text-muted)}.leaderboard-rank-name{flex:1;font-size:13px;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leaderboard-rank-pts{font-size:12px;font-weight:600;color:var(--color-text-secondary)}.sidenav-container{display:flex;height:100vh;min-height:100vh;overflow:hidden;background:var(--color-bg)}.sidenav-desktop-sidebar{display:none;width:260px;flex-shrink:0;border-right:1px solid var(--color-border);background:var(--color-surface);height:100vh;overflow:hidden}.sidenav-main{flex:1;min-width:0;display:flex;flex-direction:column;height:100vh;overflow:hidden}.sidenav-header{height:64px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface);box-shadow:0 1px 4px #0000000a;position:sticky;top:0;z-index:100}.sidenav-menu-btn{width:40px;height:40px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);font-size:18px}.sidenav-hamburger-icon{display:flex;flex-direction:column;gap:4px;align-items:center}.sidenav-hamburger-bar{width:18px;height:2px;border-radius:2px;background:var(--color-text-secondary);display:block}.sidenav-header-heading{display:flex;min-width:0;align-items:center;gap:10px}.sidenav-back-btn{display:grid;width:34px;height:34px;flex:0 0 auto;place-items:center;border:1px solid var(--color-border);border-radius:11px;color:var(--color-text-secondary);background:var(--color-surface);cursor:pointer;transition:color .16s ease,border-color .16s ease,transform .16s ease}.sidenav-back-btn:hover{transform:translate(-2px);border-color:var(--color-primary);color:var(--color-primary)}.sidenav-back-btn:focus-visible{outline:3px solid color-mix(in srgb,var(--color-primary) 25%,transparent);outline-offset:2px}.sidenav-header-title{font-size:17px;font-weight:700;letter-spacing:-.2px;color:var(--color-text-primary);margin:0}.sidenav-header-right{display:flex;align-items:center;gap:8px}.sidenav-bell-btn{width:36px;height:36px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);cursor:pointer;transition:all .15s;flex-shrink:0;position:relative}.sidenav-bell-btn:hover{background:#6366f114;color:var(--color-primary);border-color:var(--color-primary)}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#ef4444;color:#fff;font-size:10px;font-weight:800;line-height:16px;text-align:center;box-shadow:0 0 0 2px var(--color-surface)}.notif-dropdown{position:absolute;top:calc(100% + 8px);right:0;left:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);width:min(380px,calc(100vw - 32px));max-height:min(480px,calc(100dvh - 88px));overflow-y:auto;z-index:1100;display:flex;flex-direction:column}.notif-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;font-size:13px;font-weight:700;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:2;flex-shrink:0;box-shadow:0 1px 0 var(--color-border)}.notif-mark-all-btn{background:transparent;border:none;color:var(--color-primary);font-size:12px;font-weight:700;cursor:pointer;padding:0}.notif-empty{padding:24px 14px;text-align:center;font-size:13px;color:var(--color-text-muted)}.notif-item{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--color-border);padding:12px 14px;cursor:pointer;transition:background .15s;position:relative}.notif-item:last-child{border-bottom:none}.notif-item:hover{background:var(--color-bg)}.notif-item.unread{background:#6366f10d}.notif-item-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0}.notif-item-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.notif-item-title{font-size:13px;font-weight:700;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notif-item-message{font-size:12px;color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.notif-item-time{font-size:11px;color:var(--color-text-muted)}.notif-item-unread-pip{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0;margin-top:5px}@media(max-width:767px){.notif-dropdown{position:fixed;top:72px;right:12px;left:12px;width:auto;max-height:calc(100dvh - 88px);border-radius:16px}}@media(min-width:768px)and (max-width:1024px){.notif-dropdown{width:min(360px,calc(100vw - 32px))}}.sidenav-user-chip{display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:20px;border:none;background:transparent}.sidenav-user-chip-name{font-size:13px;font-weight:600;color:var(--color-text-secondary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:none}.sidenav-avatar{width:36px;height:36px;border-radius:18px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;border:2px solid #eef2ff}.sidenav-large-avatar{width:72px;height:72px;border-radius:36px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:800;margin:0 auto 12px;box-shadow:0 3px 6px #4f46e533}.sidenav-main-content{flex:1;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden}.sidenav-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.sidenav-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a66}.sidenav-mobile-drawer{position:absolute;top:0;bottom:0;left:0;width:min(75vw,300px);box-shadow:5px 0 10px #00000040;background:var(--color-surface);animation:slideIn .22s ease}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidenav-wrapper{display:flex;flex-direction:column;height:100%;background:var(--color-surface)}.sidenav-drawer-header{padding:12px;text-align:center;border-bottom:1px solid var(--color-border);position:relative}.sidenav-drawer-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:8px;border:none;background:var(--color-bg);color:var(--color-text-secondary);font-weight:800}.sidenav-user-name{font-size:16px;font-weight:700;color:var(--color-text-primary);margin:0 0 2px}.sidenav-user-email{font-size:13px;color:var(--color-text-muted);margin:0 0 12px}.sidenav-role-badge{display:inline-block;padding:4px 10px;border-radius:20px;background:#eef2ff;color:#4f46e5;font-size:11px;font-weight:700;letter-spacing:.5px}.sidenav-drawer-nav{flex:1;min-height:0;padding:16px 12px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}.sidenav-nav-item{display:flex;align-items:center;padding:11px 14px;border-radius:10px;position:relative;border:none;background:transparent;text-align:left;color:var(--color-text-secondary);width:100%;transition:all .2s cubic-bezier(.4,0,.2,1)}.sidenav-nav-item:hover{background:var(--color-bg);color:var(--color-text-primary);transform:translate(2px)}.sidenav-nav-item.active{background:#6366f114;color:var(--color-primary);font-weight:700}[data-theme=dark] .sidenav-nav-item.active{background:#a5b4fc1a;color:#a5b4fc}.sidenav-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;margin-right:12px;color:inherit;opacity:.75;transition:opacity .15s}.sidenav-nav-item:hover .sidenav-nav-icon,.sidenav-nav-item.active .sidenav-nav-icon{opacity:1}.sidenav-chevron{display:flex;align-items:center;color:var(--color-text-muted)}.sidenav-nav-text{font-size:14px;font-weight:500}.sidenav-active-indicator{position:absolute;left:0;top:10px;bottom:10px;width:4px;border-radius:2px;background:var(--color-primary)}.sidenav-settings-section{padding:8px 12px;border-top:1px solid var(--color-border)}.sidenav-theme-picker{margin:4px;padding:12px;border-radius:12px;background:var(--color-bg);border:1px solid var(--color-border)}.sidenav-theme-label{font-size:11px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--color-text-secondary);margin:0 0 8px}.sidenav-theme-row{display:flex;gap:8px}.sidenav-theme-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px;border-radius:10px;border:1.5px solid var(--color-border);background:var(--color-surface);font-size:13px;color:var(--color-text-muted)}.sidenav-theme-btn.active{background:#eef2ff;border-color:#4f46e5;color:#4f46e5;font-weight:700}.sidenav-drawer-footer{padding:16px;border-top:1px solid var(--color-border)}.sidenav-sign-out-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px;border-radius:10px;border:none;background:#fef2f2;color:#ef4444;font-size:14px;font-weight:700}@media(min-width:1025px){.sidenav-desktop-sidebar{display:block}.sidenav-mobile-only{display:none}.sidenav-user-chip-name{display:inline-block}.sidenav-drawer-overlay{display:none}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000007a;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:modal-fade-in .18s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-panel{background:var(--color-surface);border-radius:20px;width:100%;max-width:500px;box-shadow:0 24px 64px #00000038,0 4px 16px #0000001a;border:1px solid var(--color-border);overflow:hidden;animation:modal-slide-up .22s cubic-bezier(.34,1.56,.64,1)}@keyframes modal-slide-up{0%{transform:translateY(24px) scale(.97);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 24px 20px;border-bottom:1px solid var(--color-border);gap:12px}.modal-title-group{display:flex;align-items:center;gap:14px}.modal-icon-badge{width:46px;height:46px;border-radius:13px;background:linear-gradient(135deg,#6366f1,#818cf8);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff;box-shadow:0 4px 12px #6366f159}.modal-title{font-size:17px;font-weight:700;color:var(--color-text-primary);margin:0 0 3px;letter-spacing:-.02em}.modal-subtitle{font-size:13px;color:var(--color-text-muted);margin:0}.modal-close-btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:all .15s}.modal-close-btn:hover{background:#fef2f2;color:#ef4444;border-color:#fecaca}.modal-body{padding:22px 24px;display:flex;flex-direction:column;gap:14px}.modal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:480px){.modal-form-grid{grid-template-columns:1fr}}.modal-body .field{margin:0}.field-required{color:var(--color-danger, #ef4444);font-size:13px;margin-left:2px}.field-optional{color:var(--color-text-muted);font-size:12px;font-weight:400;margin-left:4px}.field-hint{font-size:12px;color:var(--color-text-muted);margin:5px 0 0}.modal-error-msg{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#ef44440f;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--color-danger, #ef4444);font-size:13px;font-weight:500}.modal-footer{display:flex;gap:10px;padding-top:16px;border-top:1px solid var(--color-border);margin-top:4px;justify-content:flex-end}.modal-footer .btn{min-width:110px}.login-reset-pending-note{margin:4px 0 0;padding:10px 12px;border-left:3px solid #818cf8;border-radius:4px 10px 10px 4px;background:#f3f4ff;color:#505a79;font-size:12px;line-height:1.55}.login-reset-modal-footer{padding:16px 24px 20px}.login-reset-modal-footer .btn-primary{margin-right:4px}.parents-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.parent-card{display:flex;align-items:flex-start;gap:14px;padding:16px;transition:box-shadow .15s,transform .15s}.parent-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.parent-card-avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;flex-shrink:0}.parent-card-info{flex:1;min-width:0}.parent-card-name{font-size:15px;font-weight:700;color:var(--color-text-primary);margin:0 0 4px}.parent-card-meta{display:flex;align-items:center;gap:5px;font-size:12.5px;color:var(--color-text-secondary);margin:2px 0}.parent-card-uid{font-size:11px;color:var(--color-text-muted);font-family:monospace;margin:6px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parent-card-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.parent-action-btn{display:flex;align-items:center;gap:5px;padding:5px 10px;font-size:12px;min-width:72px;justify-content:center}.parents-empty-state{text-align:center;padding:48px 24px;display:flex;flex-direction:column;align-items:center}.input-autofilled{background:#6366f10d!important;border-color:#6366f14d!important;color:var(--color-primary)!important;cursor:not-allowed}.field-hint-auto{color:var(--color-primary);opacity:.8}.login-container{display:flex;min-height:100vh;background:var(--color-bg)}.login-brand-side{display:none;flex:1.1;background:radial-gradient(circle at 10% 10%,#1e1b4b,#0f172a);color:#fff;padding:60px;flex-direction:column;justify-content:center;position:relative;overflow:hidden;border-right:1px solid rgba(255,255,255,.05)}.brand-ambient-glow{position:absolute;top:10%;left:10%;width:350px;height:350px;background:radial-gradient(circle,#6366f14d,#8b5cf600 70%);filter:blur(80px);border-radius:50%;z-index:0;pointer-events:none;animation:pulseGlow 12s infinite alternate ease-in-out}.brand-ambient-glow-2{position:absolute;bottom:10%;right:5%;width:300px;height:300px;background:radial-gradient(circle,#10b98126,#3b82f600 75%);filter:blur(80px);border-radius:50%;z-index:0;pointer-events:none;animation:pulseGlow2 15s infinite alternate ease-in-out}@keyframes pulseGlow{0%{transform:translateY(0) scale(1);rotate:0deg}to{transform:translateY(40px) scale(1.15);rotate:15deg}}@keyframes pulseGlow2{0%{transform:translateY(0) scale(1)}to{transform:translateY(-40px) scale(1.1)}}.login-brand-content{position:relative;z-index:1;max-width:520px;margin:0 auto}.login-brand-badge{display:inline-flex;align-items:center;gap:6px;background:#6366f126;border:1px solid rgba(165,180,252,.3);padding:6px 14px;border-radius:20px;font-size:12px;font-weight:700;color:#a5b4fc;margin-bottom:24px;text-transform:uppercase;letter-spacing:.8px}.login-brand-headline{font-size:38px;line-height:1.15;font-weight:800;margin:0 0 16px;letter-spacing:-1px;background:linear-gradient(135deg,#fff,#cbd5e1);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-brand-paragraph{font-size:15px;line-height:1.6;color:#94a3b8;margin:0 0 40px}.login-brand-features{display:flex;flex-direction:column;gap:24px}.brand-feature-item{display:flex;gap:16px;align-items:flex-start}.brand-feature-icon{font-size:24px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px #0000001a}.brand-feature-text h4{font-size:15px;font-weight:700;color:#fff;margin:0 0 4px}.brand-feature-text p{font-size:13.5px;color:#94a3b8;margin:0;line-height:1.45}.login-form-side{flex:.9;display:flex;align-items:center;justify-content:center;padding:40px 24px;position:relative;overflow:hidden}.login-mobile-bg-glow{position:absolute;width:300px;height:300px;background:radial-gradient(circle,#6366f113,#6366f100 70%);filter:blur(40px);z-index:0;pointer-events:none;top:10%;left:10%}.login-card-wrapper{width:100%;max-width:420px;position:relative;z-index:1}.login-card{background:var(--color-surface);border-radius:20px!important;padding:32px!important;border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.login-logo-area{text-align:center;margin-bottom:28px}.login-logo{font-size:36px;margin:0 auto 12px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;background:linear-gradient(135deg,#6366f126,#6366f108);border:1.5px solid rgba(99,102,241,.2);box-shadow:0 4px 12px #6366f114}.login-title{font-size:26px;font-weight:800;color:var(--color-text-primary);margin:0 0 6px;letter-spacing:-.5px}.login-subtitle{font-size:13.5px;color:var(--color-text-muted);margin:0}.login-form{display:flex;flex-direction:column;gap:4px}.login-submit-btn{margin-top:8px;padding:12px 18px;font-size:15px;border-radius:10px}.input-password-wrapper{position:relative;display:flex;align-items:center}.input-password-wrapper .input{width:100%;padding-right:44px}.input-password-wrapper .input::-ms-reveal,.input-password-wrapper .input::-ms-clear{display:none}.input-password-wrapper .input::-webkit-credentials-auto-fill-button{visibility:hidden;pointer-events:none;position:absolute;right:0}.password-toggle-btn{position:absolute;right:10px;background:none;border:none;cursor:pointer;padding:4px;font-size:16px;line-height:1;color:var(--color-text-muted, #888);display:flex;align-items:center;justify-content:center;opacity:.7;transition:opacity .15s}.password-toggle-btn:hover{opacity:1}.password-toggle-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.input-password-wrapper .password-toggle-btn:before{display:none;content:none}.login-error-text{color:var(--color-danger);font-size:13px;font-weight:500;margin:4px 0 12px;background:#ef44440f;border-left:3px solid var(--color-danger);padding:8px 12px;border-radius:0 8px 8px 0}.login-forgot-password{align-self:flex-end;margin:3px 0 4px;padding:0;border:0;color:var(--color-primary);background:transparent;cursor:pointer;font:inherit;font-size:12px;font-weight:700}.login-forgot-password:hover{text-decoration:underline}.login-forgot-password:disabled{cursor:wait;opacity:.65}.login-reset-message{margin:4px 0 12px;padding:8px 12px;border-left:3px solid var(--color-success);border-radius:0 8px 8px 0;color:var(--color-success);background:#10b98114;font-size:13px;font-weight:500}.login-demo-panel{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border)}.login-demo-title{font-size:14.5px;font-weight:700;color:var(--color-text-primary);margin:0 0 6px}.login-demo-subtitle{font-size:12px;color:var(--color-text-muted);margin:0 0 16px;line-height:1.4}.login-demo-row{display:flex;gap:8px;margin-bottom:20px}.login-demo-card{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;border-radius:12px;border:1px solid var(--color-border);background:var(--color-surface);text-align:center;transition:all .22s cubic-bezier(.4,0,.2,1);cursor:pointer}.login-demo-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #0000000d}.login-demo-card.demo-tutor{border-color:#6366f140;background:linear-gradient(180deg,#6366f108,#6366f101)}.login-demo-card.demo-tutor:hover{border-color:var(--color-primary);box-shadow:0 6px 15px #6366f11a;background:#6366f10d}.login-demo-card.demo-student{border-color:#10b98140;background:linear-gradient(180deg,#10b98108,#10b98101)}.login-demo-card.demo-student:hover{border-color:var(--color-success);box-shadow:0 6px 15px #10b9811a;background:#10b9810d}.login-demo-card.demo-parent{border-color:#f59e0b40;background:linear-gradient(180deg,#f59e0b08,#f59e0b01)}.login-demo-card.demo-parent:hover{border-color:var(--color-warning);box-shadow:0 6px 15px #f59e0b1a;background:#f59e0b0d}.login-demo-emoji{font-size:22px;margin-bottom:2px;transition:transform .2s ease}.login-demo-card:hover .login-demo-emoji{transform:scale(1.2) rotate(6deg)}.login-demo-label{font-size:12.5px;font-weight:700;color:var(--color-text-primary)}.login-demo-desc{font-size:10px;color:var(--color-text-muted);font-weight:500;max-width:100%;overflow-wrap:anywhere;word-break:break-word}.ai-test-generator-modal{display:flex;flex-direction:column;min-height:0;box-sizing:border-box;overflow:hidden!important}.ai-test-generator-modal>.ai-test-gen{flex:1 1 auto;min-height:0;overflow-y:auto;padding-right:6px}.login-autofill-title{font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin:0 0 8px}.login-autofill-row{display:flex;gap:8px;flex-wrap:wrap}.login-autofill-btn{flex:1;padding:10px 8px;border-radius:10px;border:1px solid var(--color-border);background:var(--color-surface);font-size:11.5px;font-weight:600;color:var(--color-text-secondary);min-width:90px;transition:all .2s ease}.login-autofill-btn:hover{background:var(--color-bg);border-color:var(--color-text-muted);color:var(--color-text-primary)}@media(max-width:900px){.login-form-side{flex:1;width:100%}}@media(min-width:900px){.login-brand-side{display:flex}}@media(max-width:480px){.login-container{min-height:100vh;min-height:100dvh}.login-form-side{align-items:center;justify-content:center;padding:12px 10px!important;min-height:100vh;min-height:100dvh;box-sizing:border-box}.login-card-wrapper{max-width:100%;width:100%;display:flex;flex-direction:column;min-height:calc(100vh - 24px);min-height:calc(100dvh - 24px);box-sizing:border-box}.login-card{border-radius:20px!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-card)!important;background:var(--color-surface)!important;padding:24px 16px!important;margin:0!important;width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}.login-logo-area{margin-bottom:16px}.login-logo{font-size:32px;width:48px;height:48px;margin-bottom:8px}.login-title{font-size:22px}.login-demo-panel{margin-top:20px;padding-top:16px}.login-demo-row{gap:6px;margin-bottom:14px}.login-demo-card{padding:8px 4px}.login-demo-desc{display:none}.login-demo-emoji{font-size:18px}.login-demo-label{font-size:11px}.login-autofill-btn{padding:8px 6px;font-size:11px;min-width:auto}}.pwa-install-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:2000;display:flex;align-items:center;gap:8px;background:var(--color-primary);color:#fff;border-radius:12px;padding:4px;box-shadow:0 8px 20px #00000040;max-width:420px;margin:0 auto}.pwa-install-btn{flex:1;background:transparent;border:none;color:#fff;font-weight:700;font-size:14px;padding:12px;text-align:left}.pwa-install-dismiss{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:8px;font-weight:700}.fee-badge{border-radius:10px;padding:6px 12px;text-align:center;border:1.5px solid;min-width:96px;display:flex;flex-direction:column}.fee-month{font-size:11px;font-weight:600;color:#475569;margin-bottom:2px}.fee-status{font-size:12px;font-weight:700;color:#1e293b}.stat-box{border-radius:16px;padding:16px;box-shadow:0 2px 8px #0f172a14;color:#fff}.stat-label{font-size:12px;font-weight:600;color:#e0f2fe;margin:0}.stat-value{font-size:28px;font-weight:800;margin:4px 0}.stat-sub{font-size:11px;font-weight:500;color:#f0f9ff;margin:0}.cache-badge{font-size:11px;color:#10b981;background:#ecfdf5;padding:2px 8px;border-radius:12px;font-weight:600}.scores-list{display:flex;flex-direction:column;gap:8px}.score-row{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--color-bg);border-radius:10px}.score-subject{font-size:14px;font-weight:600;color:var(--color-text-primary);margin:0}.score-date{font-size:12px;color:var(--color-text-muted);margin:2px 0 0}.score-value{font-size:14px;font-weight:700;color:#0284c7;margin:0}.score-percent{font-size:11px;color:var(--color-text-muted);margin:0}.progress-ring-wrapper{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px}.progress-ring-center{position:absolute;top:0;left:0;right:0;bottom:20px;display:flex;align-items:center;justify-content:center}.progress-ring-percent{font-size:14px;font-weight:800;color:var(--color-text-primary)}.progress-ring-label{font-size:11px;color:var(--color-text-muted);margin:0}.dash-container{max-width:1200px;margin:0 auto;padding:20px 8px 48px}main.dash-container.school-grades-page,main.dash-container.school-sections-page,main.dash-container.school-subjects-page,main.dash-container.academic-years-page{width:100%;max-width:1260px;box-sizing:border-box;padding-left:16px;padding-right:16px}main.dash-container.school-subjects-page .school-subject-card-topline{justify-content:flex-end}main.dash-container.school-subjects-page .school-subject-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}main.dash-container.school-subjects-page .school-subject-card-copy{margin-top:0}.online-attempt-options-grid{display:grid;grid-template-columns:repeat(2,minmax(20rem,max-content));justify-content:start;gap:7px}.online-attempt-option{box-sizing:border-box;min-width:20rem}@media(max-width:640px){.online-attempt-options-grid{grid-template-columns:repeat(2,minmax(20rem,max-content))}}.dash-row-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px}.dash-row-bottom{display:grid;grid-template-columns:2fr 1fr;gap:20px;margin-bottom:20px}.dash-card{margin-bottom:0}.dash-card-hdr{display:flex;align-items:center;justify-content:space-between}.dash-card-title{font-size:15px;font-weight:700;color:var(--color-text-primary)}.dash-link-btn{background:none;border:none;color:#3b82f6;font-size:13px;font-weight:600;cursor:pointer;padding:0}.dash-link-btn:hover{color:#2563eb;text-decoration:underline}.dash-badge-outline{border:1.5px solid #3b82f6;color:#3b82f6;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600;background:transparent}.student-card-title{display:flex;align-items:center;gap:8px}.student-card-title svg{color:var(--color-primary);flex-shrink:0}.student-saved-note{display:flex;align-items:center;gap:5px;color:#10b981;font-size:12px;font-weight:600}.student-mini-list{margin-top:14px}.student-mini-row{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--color-border);font-size:12px}.student-mini-row:last-child{border-bottom:0}.student-status{font-weight:700;text-transform:capitalize}.student-status-approved{color:#059669}.student-status-pending{color:#d97706}.student-status-rejected{color:#dc2626}.student-leave-date{display:block;margin-top:3px;color:var(--color-text-muted);font-size:10px}.student-profile-page{max-width:1280px;font-family:Avenir Next,Nunito Sans,Segoe UI,sans-serif}.student-profile-loading{min-height:280px;display:grid;place-items:center}.student-profile-hero{position:relative;display:flex;align-items:center;gap:18px;min-height:146px;overflow:hidden;padding:27px 30px;margin-bottom:18px;border:1px solid rgba(99,102,241,.14);border-radius:22px;background:linear-gradient(115deg,#f4f3ff,#fff 48%,#effbfd);box-shadow:0 12px 30px #1e293b0e}.student-profile-hero-glow{position:absolute;width:260px;height:260px;right:9%;top:-150px;border-radius:50%;background:#818cf824;filter:blur(2px);pointer-events:none}.student-profile-hero .sidenav-role-badge{margin-left:auto}.student-profile-avatar-wrap{position:relative;z-index:1;flex:0 0 auto}.student-profile-active-dot{position:absolute;right:2px;bottom:2px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#10b981;box-shadow:0 2px 6px #10b98159}.student-profile-hero-copy{position:relative;z-index:1;min-width:0}.student-profile-hero-kicker{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:var(--color-primary);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.student-profile-kicker-icon{display:inline-flex;color:#7c3aed}.student-profile-live-label{margin-left:4px;padding:4px 8px;border:1px solid rgba(16,185,129,.18);border-radius:999px;color:#047857;background:#10b98114;font-size:10px;letter-spacing:.04em}.student-profile-eyebrow{margin:0 0 4px;color:var(--color-primary);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.student-profile-hero h1{margin:0 0 4px;color:var(--color-text-primary);font-size:clamp(22px,3vw,30px);font-weight:600;letter-spacing:-.4px}.student-profile-hero-copy>p:last-child{margin:0;color:var(--color-text-secondary);font-size:13px}.student-profile-hero-meta{display:flex;align-items:center;gap:9px;color:var(--color-text-secondary);font-size:13px}.student-profile-hero-meta span{display:inline-flex;align-items:center;gap:6px}.student-profile-hero-meta svg{color:var(--color-primary)}.student-profile-hero-meta i{width:4px;height:4px;border-radius:50%;background:#94a3b8}.student-profile-avatar{display:grid;place-items:center;flex:0 0 auto;width:76px;height:76px;border-radius:24px;color:#fff;font-size:24px;font-weight:600;background:linear-gradient(135deg,#6366f1,#06b6d4);box-shadow:0 8px 18px #4f46e52e}.student-profile-hero-side{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;gap:9px;margin-left:auto}.student-profile-hero-side p{margin:0;color:var(--color-text-muted);font-size:11px}.student-profile-page .student-profile-eyebrow{font-weight:600;letter-spacing:.08em}.student-profile-page .premium-view-title{font-weight:600;letter-spacing:.01em}.student-profile-page .premium-view-value{font-weight:500}.student-profile-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,.8fr);gap:18px;align-items:start}.student-profile-card{width:100%;padding:26px}.student-profile-section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.student-profile-section-heading h2,.student-profile-summary-card h2{margin:0;color:var(--color-text-primary);font-size:18px;font-weight:600;letter-spacing:-.15px}.student-profile-section-heading-spaced{margin-top:30px;padding-top:25px;border-top:1px solid var(--color-border)}.student-profile-lock{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid rgba(99,102,241,.2);border-radius:999px;color:var(--color-primary);background:#6366f10f;font-size:11px;font-weight:700;white-space:nowrap}.student-profile-lock svg{width:14px;height:14px}.student-profile-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-profile-detail{min-width:0;padding:13px;border:1px solid rgba(226,232,240,.8);border-radius:14px;background:#f8fafc6b}.student-profile-detail .premium-view-icon-box{width:36px;height:36px;border-radius:10px}.student-profile-detail .premium-view-icon-box svg{width:17px;height:17px}.student-profile-detail .premium-view-value{overflow-wrap:anywhere}.student-profile-sidebar{display:flex;flex-direction:column;gap:18px}.student-profile-summary-card{padding:22px}.student-profile-summary-heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.student-profile-summary-heading .student-profile-summary-icon,.student-profile-summary-heading .student-profile-eyebrow{margin:0}.student-profile-summary-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:14px;border-radius:13px;color:#7c3aed;background:#f3e8ff}.student-profile-summary-icon-blue{color:#0284c7;background:#e0f2fe}.student-profile-summary-card h2{margin-bottom:18px}.student-profile-side-list{display:flex;flex-direction:column;gap:10px}.student-profile-side-list .student-profile-detail{padding:10px}.student-profile-side-list .premium-view-icon-box{width:32px;height:32px}.student-profile-stat{display:flex;align-items:baseline;gap:8px;padding:14px 0 18px;border-bottom:1px solid var(--color-border)}.student-profile-stat strong{color:var(--color-primary);font-size:28px;font-weight:600;letter-spacing:-.7px}.student-profile-stat span{color:var(--color-text-muted);font-size:12px;font-weight:600}.student-profile-stat-row{display:flex;justify-content:space-between;gap:12px;padding:13px 0 0;color:var(--color-text-muted);font-size:12px}.student-profile-stat-row strong{color:var(--color-text-primary);font-size:12px;text-align:right;overflow-wrap:anywhere}.student-profile-status{color:#059669!important;text-transform:capitalize}.student-profile-avatar{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 14px;border-radius:24px;color:#fff;font-size:24px;font-weight:800;background:linear-gradient(135deg,#0284c7,#14b8a6)}.student-profile-card h1{margin:0;font-size:24px}.student-profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px;text-align:left}.student-profile-details div{padding:14px;border:1px solid var(--color-border);border-radius:14px}.student-profile-details span,.student-profile-details strong{display:block}.student-profile-details span{color:var(--color-text-muted);font-size:11px;margin-bottom:5px}.student-profile-details strong{font-size:13px;overflow-wrap:anywhere}@media(max-width:950px){.student-dashboard-grid-top{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.student-profile-layout{grid-template-columns:1fr}}@media(max-width:640px){.student-dashboard-grid-top,.student-dashboard-grid-main{grid-template-columns:1fr}.student-dashboard-actions{width:100%}.student-dashboard-actions .btn{flex:1}.student-profile-hero{align-items:flex-start;flex-wrap:wrap;padding:22px 18px}.student-profile-hero .sidenav-role-badge{margin-left:0}.student-profile-hero-side{align-items:flex-start;width:100%;margin-left:94px;margin-top:-8px}.student-profile-detail-grid{grid-template-columns:1fr}.student-profile-card,.student-profile-summary-card{padding:20px 16px}.student-profile-section-heading{align-items:flex-start;flex-direction:column}}.performance-class-picker{position:relative;display:inline-block;max-width:130px;overflow:hidden;cursor:pointer}.performance-class-select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.dash-badge-blue{background:#eff6ff;color:#2563eb;border-radius:20px;padding:3px 12px;font-size:12px;font-weight:600}.routine-row{margin-bottom:16px}.routine-row:last-child{margin-bottom:0}.routine-label{display:block;font-size:13px;color:var(--color-text-secondary);font-weight:500;margin-bottom:6px}.routine-track{width:100%;height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.routine-bar-row{display:flex;align-items:center;gap:10px}.routine-bar-row .routine-track{flex:1}.routine-value{min-width:34px;color:var(--color-text-secondary);font-size:12px;font-weight:600;text-align:right}.routine-fill{height:100%;border-radius:4px;transition:width .6s cubic-bezier(.4,0,.2,1)}[data-theme=dark] .routine-track{background:#1e293b}.perf-body{display:flex;align-items:center;gap:16px;margin-top:18px}.perf-stats{flex:1}.perf-stat-row{display:flex;align-items:center;justify-content:space-between;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;font:inherit;text-align:left;padding:8px 0;border:0;cursor:pointer;transition:color .2s ease,transform .2s ease}.perf-stat-row:hover{color:var(--color-primary);transform:translate(3px)}.perf-stat-label{font-size:13px;color:var(--color-text-secondary)}.perf-stat-val{font-size:17px;font-weight:700;color:var(--color-text-primary)}.leave-divider{height:1px;background:var(--color-border);margin:14px 0}.leave-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:flex-start;gap:2px}.leave-info{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.leave-name{font-size:15px;font-weight:700;color:var(--color-text-primary);margin:0 0 2px;min-width:0;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.leave-role{font-size:12px;color:var(--color-text-muted);margin:0 0 7px;grid-column:1;grid-row:2}.leave-type{display:inline-block;font-size:11px;font-weight:700;border-radius:8px;padding:3px 9px;align-self:flex-start;order:2}.leave-dates{font-size:13px;color:var(--color-text-secondary);white-space:nowrap;font-weight:500;padding-top:2px;grid-column:2;grid-row:1}.leave-name-line{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%;overflow-wrap:anywhere}.leave-card-dashboard .ann-leave-row{padding:10px 0}.leave-card-dashboard .ann-leave-person{gap:4px}.leave-card-dashboard .leave-type-text{font-size:12px;font-weight:500;color:var(--color-text-muted)}.leave-card-dashboard .leave-status-badge{justify-self:center}.leave-card-dashboard .ann-leave-date-cell{justify-content:flex-end}.leave-dashboard-list{margin-top:18px}.leave-card-header{min-width:0}.leave-view-all{padding:4px 0;border:0;background:transparent;color:#4f46e5;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}.leave-view-all:hover{color:#3730a3;text-decoration:underline}.leave-view-all:focus-visible{outline:2px solid #818cf8;outline-offset:3px;border-radius:4px}.leave-count-pill{display:inline-flex;align-items:center;gap:6px;min-width:30px;height:24px;justify-content:center;padding:0 9px;border:1px solid rgba(99,102,241,.2);border-radius:999px;color:#4f46e5;background:linear-gradient(135deg,#eef2ff,#e0e7ff);box-shadow:0 3px 8px #4f46e524,inset 0 1px #ffffffb3;font-size:12px;font-weight:800;line-height:1}.leave-count-dot{width:6px;height:6px;border-radius:50%;background:#6366f1;box-shadow:0 0 0 3px #6366f124}.leave-card-dashboard .ann-leave-row{border-top:0}.leave-card-dashboard .ann-leave-head{display:grid;align-items:center;gap:12px}.leave-card-dashboard .ann-leave-person{min-width:0;display:flex;flex-direction:column;align-items:flex-start}.leave-card-dashboard .ann-leave-name{margin:0;color:var(--color-text-primary);font-size:15px;font-weight:700;min-width:0;max-width:none;white-space:normal;overflow-wrap:anywhere}.leave-card-dashboard .ann-leave-date-cell{min-width:0;display:flex;align-items:center;gap:8px}.leave-card-dashboard .ann-leave-date{color:var(--color-text-secondary);font-size:13px;white-space:nowrap}.ann-leave-name{display:block;max-width:none;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.leave-name-line{display:inline-flex;align-items:flex-start;gap:7px;width:auto;max-width:100%;min-width:0}.leave-name-line .ann-leave-name{flex:0 1 auto;min-width:0}.leave-delete-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:0 0 28px;padding:0;border:1px solid #fecaca;border-radius:8px;color:#dc2626;background:var(--color-surface);cursor:pointer;transition:background .15s ease,border-color .15s ease}.leave-delete-icon:hover{background:#fef2f2;border-color:#fca5a5}.leave-delete-icon:focus-visible{outline:2px solid #f87171;outline-offset:2px}.ann-leave-row{padding:14px 0}.ann-leave-row+.ann-leave-row{border-top:1px solid var(--color-border)}.ann-leave-head{display:grid;grid-template-columns:minmax(0,1fr) 90px 145px;gap:12px;align-items:center}.ann-leave-person{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:7px}.leave-type-text{color:var(--color-text-secondary);font-size:12px;font-weight:600;line-height:1.25;white-space:nowrap}.leave-info-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 17px;border:1px solid var(--color-border);border-radius:50%;color:var(--color-text-muted);background:var(--color-surface);font-size:11px;font-weight:800;line-height:1;cursor:help}.ann-leave-date-cell{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:8px}.ann-leave-date{margin:0;color:var(--color-text-muted);font-size:12px;line-height:1.35;white-space:nowrap}.leave-status-badge{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;justify-self:center}.leave-status-pending{color:#92400e;background:#fef3c7}.leave-status-approved{color:#166534;background:#dcfce7}.leave-status-rejected{color:#991b1b;background:#fee2e2}.leave-decision-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.leave-card-announcements .ann-leave-date{color:#000}.leave-card-announcements .ann-leave-date-cell.has-decision-actions{flex-direction:column;align-items:flex-end;justify-content:center;gap:6px}.leave-card-announcements .leave-decision-actions{flex-wrap:nowrap}.leave-decision-icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;padding:2px;background:transparent;cursor:pointer}.leave-decision-icon-button:disabled{cursor:not-allowed;opacity:.55}.leave-card-dashboard .ann-leave-row{padding:12px 0}.leave-card-dashboard .ann-leave-head{grid-template-columns:minmax(0,1fr) auto minmax(130px,auto)}.leave-card-dashboard .ann-leave-name{font-size:13px;line-height:1.35}.leave-card-dashboard .leave-type-text,.leave-card-dashboard .ann-leave-date{font-size:11px}.leave-card-dashboard .leave-status-badge{font-size:10px;min-height:22px;padding:4px 8px}@media(max-width:760px){.leave-card-dashboard .ann-leave-head{grid-template-columns:minmax(0,1fr) auto}.leave-card-dashboard .ann-leave-head>:nth-child(2){grid-column:2;grid-row:1}.leave-card-dashboard .ann-leave-head>:nth-child(3){grid-column:1 / -1;grid-row:2;justify-content:flex-start}}@media(max-width:640px){.leave-row{grid-template-columns:minmax(0,1fr) auto auto}.leave-type{grid-column:2;grid-row:1;justify-self:start}.leave-dates{grid-column:3;grid-row:1}.leave-role{grid-column:1 / -1;grid-row:2}}.notice-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--color-border)}.notice-row:last-child{border-bottom:none}.notice-info{flex:1;min-width:0}.notice-title{font-size:13px;font-weight:600;color:var(--color-text-primary);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-date{font-size:11px;color:var(--color-text-muted);margin:0}.notice-days{flex-shrink:0;font-size:11px;font-weight:700;border-radius:12px;padding:3px 9px;white-space:nowrap}@media(max-width:960px){.dash-row-3{grid-template-columns:1fr 1fr}}@media(max-width:640px){.dash-container{padding:16px 16px 40px}.dash-row-3,.dash-row-bottom{grid-template-columns:1fr}}.profile-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:6px;width:170px;z-index:1100;display:flex;flex-direction:column;gap:2px}.profile-dropdown-item{width:100%;text-align:left;background:transparent;border:none;border-radius:var(--radius-sm);padding:8px 12px;font-size:13.5px;font-weight:550;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .15s ease}.profile-dropdown-item:hover{background:var(--color-bg);color:var(--color-text-primary);transform:translate(2px)}.profile-dropdown-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.profile-dropdown-icon svg{display:block}.profile-dropdown-divider{height:1px;background:var(--color-border);margin:4px 6px}.profile-dropdown-item.signout{color:var(--color-danger)}.profile-dropdown-item.signout:hover{background:#fef2f2;color:var(--color-danger)}[data-theme=dark] .profile-dropdown-item.signout:hover{background:#ef44441f}.subject-picker-trigger{min-height:44px;height:auto;display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 42px 8px 10px;text-align:left;cursor:pointer;position:relative}.subject-picker-chevron{position:absolute;right:13px;top:50%;color:var(--color-text-muted);transform:translateY(-50%);transition:transform .2s ease;pointer-events:none}.subject-picker-chevron.is-open{transform:translateY(-50%) rotate(180deg)}.subject-option{width:100%;min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:var(--color-text-primary);font-size:13.5px;font-weight:500;text-align:left;transition:background .15s ease,color .15s ease}.subject-option:hover,.subject-option.is-selected{background:var(--color-bg)}.subject-option.is-selected{color:var(--color-primary);font-weight:600}.subject-option svg{flex:0 0 auto;color:var(--color-primary)}.toast-list-container{position:fixed;top:24px;right:24px;display:flex;flex-direction:column;gap:10px;z-index:20000;max-width:380px;width:calc(100vw - 48px)}.toast-item{display:flex;align-items:center;gap:12px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 16px;box-shadow:0 10px 25px -3px #0000001a,0 4px 6px -2px #0000000d;animation:toast-slide-in .25s cubic-bezier(.16,1,.3,1) forwards;transition:transform .2s,opacity .2s}@keyframes toast-slide-in{0%{transform:translateY(-16px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.toast-message{font-size:13.5px;font-weight:600;color:var(--color-text-primary);flex:1;line-height:1.4}.toast-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;flex-shrink:0}.toast-item.success{border-left:4px solid var(--color-success)}.toast-item.success .toast-icon{background:#ecfdf5;color:var(--color-success)}[data-theme=dark] .toast-item.success .toast-icon{background:#10b98126}.toast-item.error{border-left:4px solid var(--color-danger)}.toast-item.error .toast-icon{background:#fef2f2;color:var(--color-danger)}[data-theme=dark] .toast-item.error .toast-icon{background:#ef444426}.toast-item.danger{border-left:4px solid var(--color-danger)}.toast-item.danger .toast-icon{background:#fef2f2;color:var(--color-danger)}[data-theme=dark] .toast-item.danger .toast-icon{background:#ef444426}.toast-item.warning{border-left:4px solid var(--color-warning)}.toast-item.warning .toast-icon{background:#fffbeb;color:var(--color-warning)}[data-theme=dark] .toast-item.warning .toast-icon{background:#f59e0b26}.toast-item.info{border-left:4px solid var(--color-primary)}.toast-item.info .toast-icon{background:#eef2ff;color:var(--color-primary)}[data-theme=dark] .toast-item.info .toast-icon{background:#6366f126}.toast-close-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s}.toast-close-btn:hover{background:var(--color-bg);color:var(--color-text-primary)}.label-required-star{color:var(--color-danger);margin-left:4px;font-weight:700}.premium-view-row{display:flex;align-items:center;gap:16px;background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:16px 20px;transition:border-color .2s,box-shadow .2s}.premium-view-row:hover{border-color:var(--color-primary);box-shadow:0 4px 12px #6366f10a}.premium-view-icon-box{width:44px;height:44px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.premium-view-detail{flex:1}.premium-view-title{color:var(--color-text-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin:0 0 4px}.premium-view-value{margin:0;font-size:15px;font-weight:650;color:var(--color-text-primary)}.premium-view-value.placeholder{font-style:italic;font-weight:400;color:var(--color-text-muted)}@media(max-width:640px){.leave-card-dashboard .ann-leave-head{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:6px}.leave-card-dashboard .ann-leave-person{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;min-width:0;gap:3px}.leave-card-dashboard .leave-name-line{flex:0 1 auto;min-width:0}.leave-card-dashboard .leave-type-text,.leave-card-dashboard .leave-status-badge,.leave-card-dashboard .ann-leave-date-cell,.leave-card-dashboard .ann-leave-date,.leave-card-dashboard .leave-delete-icon{flex:0 0 auto}.leave-card-dashboard .leave-type-text{max-width:48px;overflow-wrap:anywhere;white-space:normal}.leave-card-dashboard .leave-status-badge{align-self:flex-start}.leave-card-dashboard .ann-leave-date-cell{justify-content:flex-start;gap:4px}.leave-card-dashboard .ann-leave-date{font-size:10px}.leave-card-dashboard .leave-delete-icon{width:24px;height:24px;flex-basis:24px}}[aria-label="Show password"],[aria-label="Hide password"]{font-size:0!important;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center}[aria-label="Show password"]:before,[aria-label="Hide password"]:before{content:"";width:20px;height:20px;border:0;border-radius:0;transform:none;display:block;background:center / contain no-repeat}[aria-label="Show password"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.1 12s3.6-6 9.9-6 9.9 6 9.9 6-3.6 6-9.9 6-9.9-6-9.9-6Z'/%3E%3Ccircle cx='12' cy='12' r='2.7'/%3E%3C/svg%3E")}[aria-label="Hide password"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 6.2A10.8 10.8 0 0 1 12 6c6.3 0 9.9 6 9.9 6a18.2 18.2 0 0 1-3.1 3.7'/%3E%3Cpath d='M6.2 6.8C3.6 8.5 2.1 12 2.1 12s3.6 6 9.9 6c1.1 0 2.1-.2 3-.5'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E")}[aria-label="Show password"]:after,[aria-label="Hide password"]:after{display:none}.priority-chip-row{display:flex;flex-wrap:wrap;gap:10px}.priority-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 18px 9px 14px;border-radius:999px;border:1.5px solid var(--color-border);background:var(--color-surface);color:var(--color-text-secondary);font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 1px 2px #0f172a0a;transition:transform .1s cubic-bezier(.4,0,.2,1),box-shadow .1s cubic-bezier(.4,0,.2,1),border-color .1s cubic-bezier(.4,0,.2,1)}.priority-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:box-shadow .1s cubic-bezier(.4,0,.2,1)}.priority-chip.normal .priority-chip-dot{background:#3b82f6}.priority-chip.exam .priority-chip-dot{background:#f59e0b}.priority-chip.urgent .priority-chip-dot{background:#ef4444}.priority-chip:hover:not(.active){border-color:var(--color-primary);color:var(--color-text-primary);transform:translateY(-1px);box-shadow:0 4px 12px #0f172a14}.priority-chip.active{border-color:transparent;color:#fff;transform:translateY(-1px)}.priority-chip.active .priority-chip-dot{background:#fff;box-shadow:0 0 0 3px #ffffff52}.priority-chip.normal.active{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 8px 20px #3b82f659}.priority-chip.exam.active{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 8px 20px #f59e0b59}.priority-chip.urgent.active{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 8px 20px #ef444459}.ann-add-btn{transition:transform .1s cubic-bezier(.4,0,.2,1),box-shadow .1s cubic-bezier(.4,0,.2,1)}.ann-add-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary) 0%,#818cf8 100%)}.tutor-profile-editable-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 16%,transparent)}.tutor-profile-static-field{padding:2px 0 10px;border-bottom:1px solid var(--color-border)}.tutor-profile-static-field p{margin:0;color:var(--color-text-primary);font-size:14px;font-weight:550;line-height:1.55;overflow-wrap:anywhere}.tutor-profile-static-field .label{margin:0;color:var(--color-text-muted);font-size:11px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}.tutor-profile-form-fields{display:grid;gap:0 18px}.tutor-profile-form-fields .field,.tutor-profile-static-field{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(0,1.5fr);align-items:center;column-gap:18px;margin:0;padding:12px 0;border-bottom:1px solid var(--color-border)}.tutor-profile-form-fields .field>.label{grid-column:1;margin:0}.tutor-profile-form-fields .field>.input,.tutor-profile-static-field p{grid-column:2}.tutor-profile-form-actions{display:flex;justify-content:flex-start;gap:10px;margin-top:18px}.tutor-profile-cancel-button{border:1px solid var(--color-primary);color:var(--color-primary);background:transparent;box-shadow:none}.tutor-profile-cancel-button:hover:not(:disabled){color:var(--color-primary-dark);background:color-mix(in srgb,var(--color-primary) 7%,transparent);border-color:var(--color-primary-dark)}@media(max-width:560px){.tutor-profile-form-fields .field,.tutor-profile-static-field{grid-template-columns:minmax(100px,.6fr) minmax(0,1.4fr);column-gap:12px}}.transport-page{max-width:1180px;margin:0 auto;padding:30px}.transport-hero{position:relative;display:flex;min-height:225px;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:34px 40px;overflow:hidden;border:1px solid rgba(129,140,248,.3);border-radius:26px;color:#fff;background:radial-gradient(circle at 76% 25%,rgba(34,211,238,.24),transparent 28%),linear-gradient(120deg,#111827,#312e81 57%,#4f46e5);box-shadow:0 20px 48px #312e8133}.transport-hero-copy{position:relative;z-index:1;max-width:640px}.transport-hero .transport-eyebrow{display:flex;align-items:center;gap:9px;color:#a5f3fc;font-size:10px;font-weight:850;letter-spacing:.16em}.transport-eyebrow i{width:7px;height:7px;border-radius:50%;background:#34d399;box-shadow:0 0 0 5px #34d39924}.transport-hero h1{margin:12px 0 9px;color:#fff;font-size:clamp(29px,4vw,40px);letter-spacing:-.05em}.transport-hero p{max-width:520px;margin:0;color:#dbeafe;font-size:13px;line-height:1.7}.transport-student-pill{display:inline-flex;margin-top:18px;padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#fff;background:#ffffff1f;font-size:11px;font-weight:750}.transport-hero-art{position:relative;display:grid;width:205px;height:160px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.17);border-radius:24px;background:#ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.transport-hero-art svg{position:relative;z-index:1;width:92px;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2;filter:drop-shadow(0 7px 12px rgba(15,23,42,.26))}.transport-hero-orbit{position:absolute;width:116px;height:116px;border:1px solid rgba(255,255,255,.13);border-radius:50%}.transport-hero-orbit-one{transform:scale(1.35)}.transport-hero-orbit-two{transform:scale(1.75);opacity:.55}.transport-art-caption{position:absolute;right:14px;bottom:12px;color:#a5f3fc;font-size:8px;font-weight:850;letter-spacing:.16em}.transport-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em}.transport-workspace{display:grid;gap:18px;padding:22px;border:1px solid var(--color-border);border-radius:22px;background:var(--color-surface);box-shadow:0 12px 34px #0f172a0e}.transport-toolbar{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:18px;padding:0 2px 16px;border-bottom:1px solid var(--color-border)}.transport-student-select{width:min(420px,100%)}.transport-selected-student{display:flex;align-items:center;gap:12px}.transport-student-avatar{display:grid;width:42px;height:42px;place-items:center;border:1px solid #c7d2fe;border-radius:14px;color:#4338ca;background:linear-gradient(145deg,#e0e7ff,#c7d2fe);font-size:17px;font-weight:850}.transport-selected-student>span:last-child{display:grid;gap:3px}.transport-selected-student small{color:#6366f1;font-size:9px;font-weight:850;letter-spacing:.13em}.transport-selected-student strong{color:var(--color-text-primary);font-size:14px}.transport-status{display:inline-flex;flex:0 0 auto;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;font-size:10px;font-weight:800}.transport-status i{width:7px;height:7px;border-radius:50%;background:currentColor}.transport-status.is-active{color:#047857;background:#d1fae5}.transport-status.is-inactive{color:#64748b;background:#f1f5f9}.transport-assignment-toggle{position:relative;display:flex;min-height:78px;align-items:center;gap:14px;padding:14px 17px;border:1px solid var(--color-border);border-radius:17px;background:var(--color-background);cursor:pointer;transition:border-color .16s ease,background .16s ease}.transport-assignment-toggle.is-checked{border-color:#a7f3d0;background:linear-gradient(100deg,#10b98117,#6366f10b)}.transport-assignment-toggle input{position:absolute;width:1px;height:1px;opacity:0}.transport-assignment-toggle:focus-within .transport-switch{outline:3px solid rgba(99,102,241,.25);outline-offset:3px}.transport-toggle-icon{display:grid;width:44px;height:44px;flex:0 0 auto;place-items:center;border-radius:14px;color:#4f46e5;background:#e0e7ff}.transport-toggle-icon svg,.transport-detail-icon svg{width:23px;height:23px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.transport-toggle-copy{display:grid;flex:1;gap:5px}.transport-toggle-copy strong{color:var(--color-text-primary);font-size:13px}.transport-toggle-copy small{color:var(--color-text-secondary);font-size:11px}.transport-switch{display:flex;width:42px;height:24px;flex:0 0 auto;align-items:center;padding:3px;border-radius:999px;background:#cbd5e1;transition:background .16s ease}.transport-switch i{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0f172a38;transition:transform .16s ease}.transport-assignment-toggle input:checked+.transport-switch{background:#10b981}.transport-assignment-toggle input:checked+.transport-switch i{transform:translate(18px)}.transport-create-prompt{display:flex;align-items:center;gap:17px;padding:22px;border:1px dashed #a5b4fc;border-radius:18px;background:linear-gradient(110deg,#6366f114,#06b6d40e)}.transport-create-icon{display:grid;width:48px;height:48px;flex:0 0 auto;place-items:center;border-radius:16px;color:#fff;background:linear-gradient(145deg,#6366f1,#0891b2);box-shadow:0 8px 18px #4f46e538;font-size:27px;font-weight:400}.transport-create-prompt>div{flex:1}.transport-prompt-kicker{color:#4f46e5;font-size:9px;font-weight:850;letter-spacing:.14em}.transport-create-prompt h2{margin:5px 0;color:var(--color-text-primary);font-size:15px}.transport-create-prompt p{margin:0;color:var(--color-text-secondary);font-size:11px}.transport-detail-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:15px}.transport-detail-card{display:grid;align-content:start;gap:20px;min-width:0;padding:20px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.transport-route-card{background:linear-gradient(145deg,rgba(99,102,241,.07),var(--color-surface) 62%)}.transport-crew-card{background:linear-gradient(145deg,rgba(6,182,212,.065),var(--color-surface) 62%)}.transport-detail-heading{display:flex;align-items:center;gap:12px}.transport-detail-icon{display:grid;width:42px;height:42px;flex:0 0 auto;place-items:center;border-radius:14px}.transport-detail-icon.is-route{color:#4f46e5;background:#e0e7ff}.transport-detail-icon.is-crew{color:#0e7490;background:#cffafe}.transport-detail-heading>div>span{color:#6366f1;font-size:9px;font-weight:850;letter-spacing:.14em}.transport-crew-card .transport-detail-heading>div>span{color:#0891b2}.transport-detail-heading h2{margin:4px 0 0;color:var(--color-text-primary);font-size:15px;letter-spacing:-.02em}.transport-field{display:grid;gap:8px;color:var(--color-text-primary);font-size:11px;font-weight:750}.transport-field input,.transport-field select{width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;transition:border-color .15s ease,box-shadow .15s ease}.transport-field input::placeholder{color:#94a3b8}.transport-field input:focus,.transport-field select:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 3px #6366f121}.transport-field input[readonly],.transport-field input:disabled,.transport-assignment-toggle input:disabled~.transport-switch{cursor:default}.transport-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.transport-form-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:3px}.transport-form-footer>span{color:var(--color-text-secondary);font-size:10px}.transport-save{min-height:44px;padding:11px 18px;border:0;border-radius:11px;background:linear-gradient(135deg,#6366f1,#4338ca);color:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 7px 15px #4f46e538;transition:box-shadow .16s ease,transform .16s ease}.transport-save:hover:not(:disabled){box-shadow:0 10px 20px #4f46e54d;transform:translateY(-1px)}.transport-save:disabled{cursor:wait;opacity:.7}.transport-error{color:#b42318}.transport-empty{padding:28px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);color:var(--color-text-secondary)}.transport-empty strong{display:block;margin-bottom:7px;color:var(--color-text-primary);font-size:15px}.transport-empty p{margin:0;font-size:12px;line-height:1.6}.transport-routes-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.transport-routes-toolbar h2{margin:0;color:var(--color-text-primary);font-size:19px;letter-spacing:-.03em}.transport-routes-toolbar p{margin:5px 0 0;color:var(--color-text-secondary);font-size:12px}.transport-routes-toolbar .transport-save>span{margin-right:5px;font-size:19px;line-height:0;vertical-align:-1px}.transport-routes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.transport-route-card{min-width:0;padding:16px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 5px 18px #0f172a0b;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.transport-route-card:hover{border-color:#c7d2fe;box-shadow:0 10px 25px #312e8117;transform:translateY(-2px)}.transport-route-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:9px}.transport-route-student-count{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;padding:5px 8px;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;background:#eef2ff;font-size:9px;font-weight:800}.transport-route-student-count:not(:disabled){cursor:pointer}.transport-route-student-count:not(:disabled):hover,.transport-route-student-count:not(:disabled):focus-visible{border-color:#818cf8;background:#e0e7ff}.transport-route-card-header h2{min-width:0;margin:0;color:var(--color-text-primary);font-size:20px;letter-spacing:-.025em}.transport-route-description{margin:7px 0 0;color:var(--color-text-secondary);font-size:13px;line-height:1.5;white-space:pre-wrap}.transport-route-stops{display:grid;gap:8px;margin-top:13px}.transport-route-stops>span{color:#64748b;font-size:9px;font-weight:800;letter-spacing:.09em}.transport-stop-chips{display:flex;flex-wrap:wrap;gap:6px}.transport-stop-chip{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #c7d2fe;border-radius:999px;color:#4338ca;background:linear-gradient(135deg,#eef2ff,#f5f3ff);font-size:12px;font-weight:700;line-height:1.2}.transport-stop-chip.transport-stop-chip-assigned{box-sizing:border-box;border-color:#28766f;color:#effcf8;background:linear-gradient(135deg,#347f76,#24635f);background-clip:padding-box}.transport-route-crew{display:grid;grid-template-columns:1fr;gap:8px;margin-top:17px}.transport-route-crew>div{display:flex;align-items:baseline;flex-wrap:nowrap;min-width:0;gap:8px}.transport-route-crew span{flex:0 0 auto;color:#334155;font-size:14px;font-weight:750}.transport-route-crew strong{min-width:0;overflow:hidden;color:var(--color-text-primary);font-size:14px;font-weight:400;text-overflow:ellipsis;white-space:nowrap}.transport-route-crew a{flex:0 0 auto;color:#4338ca;font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.transport-route-crew a:hover,.transport-route-crew a:focus-visible{color:#4338ca;text-decoration:underline}.transport-route-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border)}.transport-view-icon-button{display:grid;width:34px;height:34px;place-items:center;border:1px solid #bae6fd;border-radius:10px;color:#0369a1;background:#f0f9ff;cursor:pointer}.transport-view-icon-button:hover,.transport-view-icon-button:focus-visible{border-color:#7dd3fc;background:#e0f2fe;outline:none}.transport-route-card-actions .transport-view-icon-button{padding:0;place-items:center}.transport-view-icon-button svg{display:block;width:17px;height:17px}.transport-route-card-actions .edit-icon-button,.transport-route-card-actions .delete-icon-button{width:34px;height:34px;flex:0 0 34px;padding:0;border-radius:10px}.transport-route-card-actions .edit-icon-button{color:#5145cd;background:linear-gradient(145deg,#f6f4ff,#ebe8ff)}.transport-route-card-actions .delete-icon-button{border:1px solid #fecaca;color:#dc2626;background:#fef2f2}.transport-route-card-actions button,.transport-cancel{min-height:36px;padding:8px 12px;border:1px solid var(--color-border);border-radius:9px;color:var(--color-text-primary);background:var(--color-surface);font:inherit;font-size:11px;font-weight:750;cursor:pointer}.transport-cancel{width:124px;min-width:124px;flex:0 0 124px;border-color:#6366f1;color:#4f46e5;background:#fff;font-size:14px}.transport-cancel:hover:not(:disabled){background:#eef2ff}.transport-route-card-actions button.is-danger{border-color:#fecaca;color:#b91c1c;background:#fff7f7}.transport-modal-backdrop{position:fixed;z-index:1200;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:20px;background:#0f172a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.transport-route-modal{display:flex;flex-direction:column;width:min(100%,690px);height:min(92vh,850px);max-height:min(92vh,850px);overflow:hidden;padding:0;border:1px solid rgba(199,210,254,.85);border-radius:22px;background:var(--color-surface);box-shadow:0 28px 80px #0f172a4d}.transport-route-modal-header{position:relative;display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:18px;overflow:hidden;padding:25px 27px 23px;border-bottom:1px solid rgba(165,180,252,.28);background:radial-gradient(circle at 93% 0%,rgba(34,211,238,.32),transparent 28%),radial-gradient(circle at 0% 100%,rgba(129,140,248,.24),transparent 38%),linear-gradient(125deg,#111827,#312e81 58%,#4338ca)}.transport-route-modal-title-row{position:relative;z-index:1;display:flex;align-items:flex-start;gap:15px}.transport-modal-route-icon{display:grid;width:49px;height:49px;flex:0 0 auto;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:16px;color:#a5f3fc;background:#ffffff1f;box-shadow:inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.transport-modal-route-icon svg{width:27px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.transport-modal-kicker{display:inline-flex;align-items:center;gap:8px;padding:5px 9px;border:1px solid rgba(165,243,252,.25);border-radius:999px;color:#a5f3fc;background:#0891b226;font-size:9px;font-weight:850;letter-spacing:.15em}.transport-modal-kicker i{width:6px;height:6px;border-radius:50%;background:#34d399;box-shadow:0 0 0 4px #34d39924}.transport-route-modal-header h2{margin:10px 0 5px;color:#fff;font-size:25px;letter-spacing:-.045em}.transport-route-modal-header p{margin:0;color:#dbeafe;font-size:12px;line-height:1.55}.transport-modal-close{position:relative;z-index:1;width:34px;height:34px;flex:0 0 auto;border:1px solid rgba(255,255,255,.24);border-radius:10px;color:#fff;background:#ffffff1a;font-size:23px;line-height:1;cursor:pointer}.transport-route-modal form{display:flex;min-height:0;flex:1;flex-direction:column;overflow:hidden}.transport-route-modal-body{min-height:0;flex:1;overflow-y:auto;padding:23px 27px 18px;overscroll-behavior:contain}.transport-route-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.transport-route-modal .transport-field{font-size:14px}.transport-required{color:#dc2626;font-weight:800}.transport-route-modal .transport-field input{font-weight:450}.transport-route-modal .transport-field input::placeholder,.transport-route-modal .transport-field textarea::placeholder{color:#94a3b8;font-weight:400;opacity:1}.transport-field textarea{width:100%;min-height:92px;padding:11px 13px;resize:vertical;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface);color:var(--color-text-primary);font:inherit;font-weight:450}.transport-stops-section{grid-column:1 / -1;padding:15px;border:1px solid #e2e8f0;border-radius:14px;background:linear-gradient(135deg,#f8fafc,#f5f3ff)}.transport-stops-heading,.transport-stop-row{display:flex;align-items:center;gap:10px}.transport-stops-heading{justify-content:space-between;margin-bottom:12px;color:#334155;font-size:14px;font-weight:700}.transport-stops-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.transport-stop-row .transport-field{flex:1}.transport-add-stop,.transport-remove-stop{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid #c7d2fe;border-radius:11px;color:#4f46e5;background:#fff;cursor:pointer}.transport-add-stop svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.transport-remove-stop{margin-top:20px;border-color:#fecaca;color:#b91c1c}.transport-remove-stop svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.transport-field textarea:focus{border-color:#818cf8;outline:none;box-shadow:0 0 0 3px #6366f121}.transport-route-modal-actions{display:flex;flex:0 0 auto;justify-content:flex-end;gap:10px;margin:0;padding:15px 27px 20px;border-top:1px solid var(--color-border)}.transport-route-modal-actions .transport-save{width:124px;min-width:124px;flex:0 0 124px}.transport-route-modal-actions button:disabled,.transport-modal-close:disabled{cursor:wait;opacity:.65}.transport-route-students-body{min-height:0;flex:1;overflow:auto;padding:22px 27px}.transport-route-students-table-wrap{overflow:hidden;border:1px solid #dbe5f3;border-radius:15px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.transport-route-students-table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:left}.transport-route-students-table thead{background:linear-gradient(135deg,#4f46e5,#7c3aed)}.transport-route-students-table th{padding:14px 18px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.transport-route-students-table th:first-child{border-top-left-radius:14px}.transport-route-students-table th:last-child{border-top-right-radius:14px}.transport-route-students-table td{padding:13px 18px;border-top:1px solid #edf2f7;color:#64748b;font-size:13px}.transport-route-students-table td strong{color:#172033;font-weight:750}.transport-stop-unassigned{color:#64748b;font-size:11px}.transport-route-students-empty{padding:30px 20px;border:1px dashed #cbd5e1;border-radius:14px;color:#64748b;background:#fff;text-align:center;font-size:13px}.transport-loading{color:var(--color-text-secondary)}@media(max-width:800px){.transport-detail-grid{grid-template-columns:1fr}}@media(max-width:1050px){.transport-routes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.transport-page{padding:18px}.transport-hero{min-height:185px;padding:26px 24px}.transport-hero-art{position:absolute;right:-36px;bottom:-32px;width:145px;height:125px;opacity:.62}.transport-hero-copy{max-width:85%}.transport-workspace{padding:15px}.transport-toolbar{align-items:flex-start;flex-direction:column}.transport-student-select{width:100%}.transport-detail-card{padding:16px}.transport-assignment-toggle{gap:10px;padding:12px}.transport-create-prompt{align-items:flex-start;flex-direction:column;padding:17px}.transport-create-prompt .transport-save{width:100%}.transport-toggle-icon{width:38px;height:38px}.transport-toggle-copy small{line-height:1.4}.transport-grid{grid-template-columns:1fr}.transport-form-footer{align-items:stretch;flex-direction:column}.transport-save{width:100%}.transport-routes-toolbar{align-items:flex-start;flex-direction:column}.transport-routes-grid,.transport-route-form-grid,.transport-route-crew{grid-template-columns:1fr}.transport-stops-section{grid-column:auto}.transport-stops-list{grid-template-columns:1fr}.transport-route-modal{max-height:94vh}.transport-route-modal-header{padding:20px 19px}.transport-route-modal form{padding:0}.transport-route-modal-body{padding:19px}.transport-route-modal-actions{padding:13px 19px 17px}.transport-route-students-body{padding:18px 19px}.transport-route-students-table{min-width:400px}.transport-route-modal-actions .transport-cancel,.transport-route-modal-actions .transport-save{width:calc((100% - 10px)/2);min-width:0;flex:1 1 0}.transport-modal-route-icon{width:41px;height:41px;border-radius:13px}.transport-route-modal-header h2{font-size:21px}}
