/* ===== ss-v82-readable-contrast-fix ===== */

/* V81 goal: dark backgrounds must never use dark purple text. Keep light cards readable too. */
body.dark-mode{
  --text-main:#f8f7ff!important;
  --text-sec:#e3dcff!important;
  --muted:#e3dcff!important;
  --card:rgba(16,22,36,.94)!important;
  --card-strong:rgba(18,25,42,.98)!important;
  --input-bg:rgba(12,18,31,.96)!important;
}
body.dark-mode,
body.dark-mode .container,
body.dark-mode .collapsible-content,
body.dark-mode .control-panel,
body.dark-mode .dashboard-card,
body.dark-mode .analytics-card,
body.dark-mode .chart-card,
body.dark-mode .stat-card,
body.dark-mode .pro-card,
body.dark-mode .ss-an-shell,
body.dark-mode .ss-an-hero,
body.dark-mode .ss-an-card,
body.dark-mode .ss-an-kpi,
body.dark-mode .ss-teacher-aggregate,
body.dark-mode .ss-an-teacher-aggregate,
body.dark-mode [data-teacher-aggregate]{
  color:#f8f7ff!important;
}
body.dark-mode .collapsible-content,
body.dark-mode .control-panel,
body.dark-mode .dashboard-card,
body.dark-mode .analytics-card,
body.dark-mode .chart-card,
body.dark-mode .stat-card,
body.dark-mode .pro-card,
body.dark-mode .ss-an-hero,
body.dark-mode .ss-an-card,
body.dark-mode .ss-an-kpi,
body.dark-mode .ss-teacher-aggregate,
body.dark-mode .ss-an-teacher-aggregate,
body.dark-mode [data-teacher-aggregate]{
  background:linear-gradient(145deg,rgba(17,24,39,.96),rgba(10,15,28,.96))!important;
  border-color:rgba(160,190,255,.26)!important;
  box-shadow:0 18px 55px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.08)!important;
}
body.dark-mode .collapsible-content *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea),
body.dark-mode .dashboard-card *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea),
body.dark-mode .analytics-card *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea),
body.dark-mode .chart-card *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea),
body.dark-mode .stat-card *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea),
body.dark-mode .pro-card *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea),
body.dark-mode .ss-an-shell *:not(button):not(.eval-btn):not(.season-btn):not(.toggle-btn):not(input):not(select):not(textarea){
  color:inherit;
}
body.dark-mode p,
body.dark-mode .sub,
body.dark-mode .desc,
body.dark-mode .muted,
body.dark-mode .hint,
body.dark-mode .ss-an-muted,
body.dark-mode .ss-an-sub,
body.dark-mode .ss-an-report,
body.dark-mode .ss-an-legend-item,
body.dark-mode .ss-an-card-subtitle,
body.dark-mode .ss-an-meta,
body.dark-mode small{
  color:#ddd6ff!important;
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode .card-title,
body.dark-mode .section-title,
body.dark-mode .ss-an-card-title,
body.dark-mode .ss-an-kpi-number,
body.dark-mode .ss-an-kpi-title,
body.dark-mode .ss-an-teacher-name{
  color:#ffffff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.45)!important;
}
body.dark-mode input,
body.dark-mode select,
body.dark-mode textarea{
  background:rgba(255,255,255,.96)!important;
  color:#10001f!important;
  border-color:rgba(167,139,250,.22)!important;
}
body.dark-mode .ss-select-btn{
  background:rgba(6,4,20,0.92)!important;
  color:#fff!important;
  border-color:rgba(99,70,255,0.45)!important;
}
body.dark-mode input::placeholder,
body.dark-mode textarea::placeholder{color:#6b5a80!important;}
body.dark-mode .toggle-btn{
  color:#fff!important;
  text-shadow:0 2px 10px rgba(0,0,0,.45)!important;
  background:linear-gradient(100deg,var(--primary) 0%,var(--primary-mid,var(--primary)) 52%,var(--accent,#be185d) 100%)!important;
}
body.dark-mode .ss-an-track,
body.dark-mode .progress-track,
body.dark-mode .bar-track{background:rgba(226,232,240,.16)!important;}
body.dark-mode .ss-an-bar-row,
body.dark-mode .ss-an-grade-row,
body.dark-mode .ss-an-role-row,
body.dark-mode .ss-an-teacher-row,
body.dark-mode .ss-an-subject-card,
body.dark-mode .ss-an-insight,
body.dark-mode .ss-an-legend-item{
  background:rgba(255,255,255,.055)!important;
  color:#f8f7ff!important;
  border-color:rgba(255,255,255,.12)!important;
}
/* Landscape phones: keep dark text readable and prevent giant clipped headlines. */
@media (orientation: landscape) and (max-height: 620px){
  body.ss-mobile-ui{padding:8px!important;overflow-x:hidden!important;}
  body.ss-mobile-ui .container{width:min(100%, 1040px)!important;max-width:calc(100vw - 16px)!important;margin:0 auto!important;}
  body.ss-mobile-ui .collapsible-content,
  body.ss-mobile-ui .control-panel,
  body.ss-mobile-ui .dashboard-card,
  body.ss-mobile-ui .analytics-card,
  body.ss-mobile-ui .chart-card,
  body.ss-mobile-ui .stat-card,
  body.ss-mobile-ui .pro-card,
  body.ss-mobile-ui .ss-an-hero,
  body.ss-mobile-ui .ss-an-card{
    overflow:hidden!important;
  }
  body.ss-mobile-ui h1, body.ss-mobile-ui h2, body.ss-mobile-ui h3,
  body.ss-mobile-ui .section-title, body.ss-mobile-ui .card-title,
  body.ss-mobile-ui .ss-an-card-title{
    font-size:clamp(1.05rem,2.8vw,1.65rem)!important;
    line-height:1.55!important;
    overflow-wrap:anywhere!important;
  }
  body.ss-mobile-ui p,
  body.ss-mobile-ui .ss-an-report,
  body.ss-mobile-ui .ss-an-sub,
  body.ss-mobile-ui .ss-an-muted{
    font-size:clamp(.88rem,2.15vw,1.08rem)!important;
    line-height:1.9!important;
  }
}
/* When a dark card is shown even in light mode, enforce contrast on that local surface. */
[style*="background: #000"], [style*="background:#000"], [style*="background: black"], [style*="background:black"],
.dark-card, .glass-dark, .neo-dark{
  color:#f8f7ff!important;
}
.dark-card *, .glass-dark *, .neo-dark *{color:inherit;}

/* ===== ss-v90-unified-control-ui ===== */

/* SmartSchool V90 — Unified Control UI base (glass dark AMOLED) */
:root{
  --ss90-surface-hero: linear-gradient(115deg, rgba(129,142,163,.34) 0%, rgba(46,56,78,.72) 34%, rgba(106,118,138,.38) 100%);
  --ss90-surface-card: linear-gradient(180deg, rgba(15,22,36,.94) 0%, rgba(6,11,22,.985) 100%);
  --ss90-surface-soft: linear-gradient(180deg, rgba(18,28,44,.94) 0%, rgba(8,13,24,.99) 100%);
  --ss90-field: linear-gradient(180deg, rgba(8,13,24,.94) 0%, rgba(4,9,18,.99) 100%);
  --ss90-border: rgba(124,153,255,.24);
  --ss90-border-strong: rgba(191,214,255,.34);
  --ss90-text: #f7fbff;
  --ss90-muted: #c6d3ea;
  --ss90-glow: 0 14px 34px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.05);
  --ss90-glow-strong: 0 18px 44px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.06);
  --ss90-accent: linear-gradient(135deg,#2e70ff 0%, #19c8d4 100%);
  --ss90-accent-alt: linear-gradient(135deg,#6139ff 0%, #cc2bdd 100%);
  --ss90-danger: linear-gradient(135deg,#ef4444 0%, #b91c1c 100%);
  --ss90-warning: linear-gradient(135deg,#f59e0b 0%, #d97706 100%);
  --ss90-radius-lg: 28px;
  --ss90-radius-md: 22px;
  --ss90-radius-sm: 18px;
}
body.dark-mode{
  --primary: #69b9ff !important;
  --primary-mid: #1fd0c9 !important;
  --primary-dark: #2e70ff !important;
  --accent: #a78bfa !important;
  --accent2: #19c8d4 !important;
  --text-main: var(--ss90-text) !important;
  --text-sec: var(--ss90-muted) !important;
  --muted: var(--ss90-muted) !important;
  --bg-panel: rgba(10,15,26,.92) !important;
  --card: rgba(10,15,26,.9) !important;
  --card-strong: rgba(10,15,26,.98) !important;
  --input-bg: rgba(8,13,24,.98) !important;
  --border: var(--ss90-border) !important;
  --shadow: var(--ss90-glow) !important;
  --shadow-card: var(--ss90-glow) !important;
  --shadow-strong: var(--ss90-glow-strong) !important;
}
body:not(.qn-exporting){
  background:
    radial-gradient(circle at 18% 8%, rgba(110,167,255,.16), transparent 22%),
    radial-gradient(circle at 84% 0%, rgba(255,255,255,.07), transparent 24%),
    linear-gradient(180deg, #02050b 0%, #07101d 40%, #04070d 100%) !important;
  color: var(--ss90-text) !important;
}
body:not(.qn-exporting) .app-header{
  background: var(--ss90-surface-hero) !important;
  border: 1px solid rgba(191,214,255,.28) !important;
  border-radius: 34px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.08) !important;
}
body:not(.qn-exporting) .control-panel,
body:not(.qn-exporting) .collapsible-content,
body:not(.qn-exporting) .class-container,
body:not(.qn-exporting) .modal-content,
body:not(.qn-exporting) .pro-card,
body:not(.qn-exporting) .tp-card,
body:not(.qn-exporting) .schedule-card,
body:not(.qn-exporting) .info-card,
body:not(.qn-exporting) .ss-card,
body:not(.qn-exporting) .v23-card,
body:not(.qn-exporting) .v24-card,
body:not(.qn-exporting) .ss-an-card,
body:not(.qn-exporting) .ss-an-kpi,
body:not(.qn-exporting) .ss-tt-card,
body:not(.qn-exporting) .ss-br-card,
body:not(.qn-exporting) .ss-effort-card,
body:not(.qn-exporting) .content-box,
body:not(.qn-exporting) .teacher-card,
body:not(.qn-exporting) .student-card,
body:not(.qn-exporting) #security-screen > div,
body:not(.qn-exporting) #expired-screen > div,
body:not(.qn-exporting) #manual-install-modal > div,
body:not(.qn-exporting) .table-shell,
body:not(.qn-exporting) .table-wrapper,
body:not(.qn-exporting) .table-container,
body:not(.qn-exporting) .ss-select-sheet,
body:not(.qn-exporting) .ss-notify-dropdown,
body:not(.qn-exporting) .schedule-note-box,
body:not(.qn-exporting) .schedule-modern-field,
body:not(.qn-exporting) .exam-panel,
body:not(.qn-exporting) .season-toggle{
  background: var(--ss90-surface-card) !important;
  color: var(--ss90-text) !important;
  border: 1px solid var(--ss90-border) !important;
  border-radius: var(--ss90-radius-lg) !important;
  box-shadow: var(--ss90-glow) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
}
body:not(.qn-exporting) .ss-br-metric,
body:not(.qn-exporting) .ss-br-report-grid > div,
body:not(.qn-exporting) .ss-br-report-section,
body:not(.qn-exporting) .ss-an-bar-row,
body:not(.qn-exporting) .ss-tt-check,
body:not(.qn-exporting) .tp-title,
body:not(.qn-exporting) .buy-device,
body:not(.qn-exporting) .schedule-day-badge,
body:not(.qn-exporting) .schedule-date-badge-modern,
body:not(.qn-exporting) .schedule-time-badge-modern,
body:not(.qn-exporting) .ss-an-total-chip,
body:not(.qn-exporting) .ss-an-tab-pill,
body:not(.qn-exporting) .ss-br-stage-chip,
body:not(.qn-exporting) .ss-an-scope-chip,
body:not(.qn-exporting) .ss-tt-v66-chip,
body:not(.qn-exporting) .status-badge,
body:not(.qn-exporting) .stat-badge,
body:not(.qn-exporting) .v24-badge,
body:not(.qn-exporting) .header-info-stack,
body:not(.qn-exporting) #activationCardInReport > div,
body:not(.qn-exporting) #expired-screen div[style*="background:"],
body:not(.qn-exporting) #manual-install-modal div[style*="background:"]{
  background: var(--ss90-surface-soft) !important;
  color: var(--ss90-text) !important;
  border: 1px solid var(--ss90-border) !important;
  border-radius: var(--ss90-radius-md) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 22px rgba(0,0,0,.26) !important;
}
body:not(.qn-exporting) .app-title,
body:not(.qn-exporting) .clock-time,
body:not(.qn-exporting) .clock-date,
body:not(.qn-exporting) .status-badge,
body:not(.qn-exporting) .ss-an-card-title,
body:not(.qn-exporting) .ss-tt-card-title,
body:not(.qn-exporting) .pro-title,
body:not(.qn-exporting) .ss-br-student-name,
body:not(.qn-exporting) .ss-effort-card-title,
body:not(.qn-exporting) .ss-an-bar-label,
body:not(.qn-exporting) .ss-an-detail-badge,
body:not(.qn-exporting) .board-docs-btn,
body:not(.qn-exporting) label,
body:not(.qn-exporting) h1,
body:not(.qn-exporting) h2,
body:not(.qn-exporting) h3,
body:not(.qn-exporting) h4,
body:not(.qn-exporting) h5,
body:not(.qn-exporting) h6{
  color: var(--ss90-text) !important;
}
body:not(.qn-exporting) .app-subtitle,
body:not(.qn-exporting) .pro-hint,
body:not(.qn-exporting) .pro-footnote,
body:not(.qn-exporting) .clock-date,
body:not(.qn-exporting) .ss-an-card-note,
body:not(.qn-exporting) .ss-tt-help,
body:not(.qn-exporting) .ss-br-sub,
body:not(.qn-exporting) .ss-effort-muted,
body:not(.qn-exporting) .info-card,
body:not(.qn-exporting) .schedule-empty,
body:not(.qn-exporting) [style*="color:var(--text-sec)"],
body:not(.qn-exporting) [style*="color: var(--text-sec)"]{
  color: var(--ss90-muted) !important;
}
body:not(.qn-exporting) button,
body:not(.qn-exporting) .btn,
body:not(.qn-exporting) .backup-btn,
body:not(.qn-exporting) .restore-btn,
body:not(.qn-exporting) .settings-save-btn,
body:not(.qn-exporting) .export-btn,
body:not(.qn-exporting) .tp-btn,
body:not(.qn-exporting) .schedule-mini-btn,
body:not(.qn-exporting) .eval-btn,
body:not(.qn-exporting) .toggle-btn,
body:not(.qn-exporting) .season-btn,
body:not(.qn-exporting) .pro-tabbtn,
body:not(.qn-exporting) .pin-btn,
body:not(.qn-exporting) .ui-preset-btn,
body:not(.qn-exporting) .board-docs-btn,
body:not(.qn-exporting) .v23m-btn,
body:not(.qn-exporting) .ss-an-refresh,
body:not(.qn-exporting) .ss-br-back,
body:not(.qn-exporting) .ss-admin-clean-btn,
body:not(.qn-exporting) .mini-filter-btn,
body:not(.qn-exporting) .theme-toggle-btn,
body:not(.qn-exporting) .pro-upload,
body:not(.qn-exporting) .ss-br-tab,
body:not(.qn-exporting) .ss-br-type,
body:not(.qn-exporting) .close-btn,
body:not(.qn-exporting) #emailBtn,
body:not(.qn-exporting) #waBtn{
  min-height: 52px;
  padding-inline: 18px !important;
  border-radius: 24px !important;
  border: 1px solid rgba(166,190,255,.28) !important;
  background: var(--ss90-surface-soft) !important;
  color: var(--text-main) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.05) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}
body:not(.qn-exporting) .settings-save-btn,
body:not(.qn-exporting) .backup-btn,
body:not(.qn-exporting) .restore-btn,
body:not(.qn-exporting) .tp-btn-primary,
body:not(.qn-exporting) .tp-btn-save,
body:not(.qn-exporting) .toggle-btn,
body:not(.qn-exporting) .board-docs-btn,
body:not(.qn-exporting) .theme-toggle-btn,
body:not(.qn-exporting) .v23m-btn,
body:not(.qn-exporting) .ss-an-refresh,
body:not(.qn-exporting) .ss-br-tab.active,
body:not(.qn-exporting) .ss-br-type.active,
body:not(.qn-exporting) .season-btn.active,
body:not(.qn-exporting) #emailBtn,
body:not(.qn-exporting) #waBtn,
body:not(.qn-exporting) .pro-whatsapp,
body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="activate"],
body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="Activate"],
body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="save"],
body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="Save"],
body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="backup"],
body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="Backup"]{
  background: var(--ss90-accent) !important;
  color: #fff !important;
  border-color: rgba(129,215,255,.28) !important;
  box-shadow: 0 14px 30px rgba(22,108,255,.26), inset 0 1px 0 rgba(255,255,255,.10) !important;
}
body:not(.qn-exporting) #studentReportBtn,
body:not(.qn-exporting) .btn-purple,
body:not(.qn-exporting) .ui-preset-btn.active,
body:not(.qn-exporting) button[style*="#5b21b6"],
body:not(.qn-exporting) button[style*="#7c3aed"]{
  background: var(--ss90-accent-alt) !important;
  color:#fff !important;
}
body:not(.qn-exporting) .close-btn,
body:not(.qn-exporting) .btn-close,
body:not(.qn-exporting) .schedule-mini-del,
body:not(.qn-exporting) .ss-br-danger,
body:not(.qn-exporting) button[onclick*="delete"],
body:not(.qn-exporting) button[onclick*="Delete"]{
  background: var(--ss90-danger) !important;
  color:#fff !important;
  border-color: rgba(255,157,157,.22) !important;
}
body:not(.qn-exporting) .eval-btn{
  min-height: 86px !important;
  border-radius: 26px !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: 0 16px 30px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
body:not(.qn-exporting) .btn-blue{background:linear-gradient(135deg,#2f5dff 0%,#5937ff 100%) !important;color:#fff !important;}
body:not(.qn-exporting) .btn-green{background:linear-gradient(135deg,#11b9aa 0%,#0d8a80 100%) !important;color:#fff !important;}
body:not(.qn-exporting) .btn-yellow{background:linear-gradient(135deg,#8fae09 0%,#5b7700 100%) !important;color:#fff !important;}
body:not(.qn-exporting) .btn-red{background:linear-gradient(135deg,#d12f90 0%,#8e1468 100%) !important;color:#fff !important;}
body:not(.qn-exporting) .btn-orange{background:linear-gradient(135deg,#e28b15 0%,#ad5e02 100%) !important;color:#fff !important;}
body:not(.qn-exporting) .btn-gray{background:linear-gradient(135deg,#56495f 0%,#2e2537 100%) !important;color:#fff !important;}
body:not(.qn-exporting) input,
body:not(.qn-exporting) select,
body:not(.qn-exporting) textarea,
body:not(.qn-exporting) .settings-input,
body:not(.qn-exporting) .tp-input,
body:not(.qn-exporting) .ss-tt-input,
body:not(.qn-exporting) .ss-tt-select,
body:not(.qn-exporting) .ss-an-select,
body:not(.qn-exporting) .ss-br-input,
body:not(.qn-exporting) .ss-br-textarea,
body:not(.qn-exporting) .ss-br-select,
body:not(.qn-exporting) .schedule-modern-input,
body:not(.qn-exporting) .table-input,
body:not(.qn-exporting) .ui-color-input,
body:not(.qn-exporting) .ui-color-field,
body:not(.qn-exporting) .ui-design-select,
body:not(.qn-exporting) .schedule-modern-field input,
body:not(.qn-exporting) .schedule-modern-field select,
body:not(.qn-exporting) .qnInput,
body:not(.qn-exporting) .qnSmallInput,
body:not(.qn-exporting) .exam-input-main,
body:not(.qn-exporting) .date-input,
body:not(.qn-exporting) #activityNoteSelect,
body:not(.qn-exporting) #classSelect,
body:not(.qn-exporting) #studentSelect,
body:not(.qn-exporting) #gradeFilterSelect,
body:not(.qn-exporting) #subjectFilterSelect,
body:not(.qn-exporting) #activationTokenInput,
body:not(.qn-exporting) #finalLicenseInput,
body:not(.qn-exporting) #customerNameInput,
body:not(.qn-exporting) #customerPlaceInput{
  background: var(--ss90-field) !important;
  color: #fff !important;
  border: 1px solid rgba(166,190,255,.24) !important;
  border-radius: 24px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 10px 18px rgba(0,0,0,.18) !important;
}
body:not(.qn-exporting) input:focus,
body:not(.qn-exporting) select:focus,
body:not(.qn-exporting) textarea:focus,
body:not(.qn-exporting) .settings-input:focus,
body:not(.qn-exporting) .tp-input:focus,
body:not(.qn-exporting) .ss-tt-input:focus,
body:not(.qn-exporting) .ss-tt-select:focus,
body:not(.qn-exporting) .ss-an-select:focus,
body:not(.qn-exporting) .ss-br-input:focus,
body:not(.qn-exporting) .ss-br-textarea:focus,
body:not(.qn-exporting) .ss-br-select:focus,
body:not(.qn-exporting) .exam-input-main:focus,
body:not(.qn-exporting) .date-input:focus,
body:not(.qn-exporting) #activityNoteSelect:focus{
  border-color: var(--ss90-border-strong) !important;
  box-shadow: 0 0 0 3px rgba(94,154,255,.18), 0 12px 22px rgba(0,0,0,.20) !important;
}
body:not(.qn-exporting) input::placeholder,
body:not(.qn-exporting) textarea::placeholder{color: rgba(224,233,255,.72) !important;}
body:not(.qn-exporting) select option{background:#0b1220 !important;color:#fff !important;}
body:not(.qn-exporting) .mini-filter-btn,
body:not(.qn-exporting) .pin-btn{display:flex;align-items:center;justify-content:center;}
body:not(.qn-exporting) .pin-display .pin-dot{background:rgba(255,255,255,.12) !important;border:1px solid rgba(255,255,255,.14) !important;}
body:not(.qn-exporting) input[type="checkbox"],
body:not(.qn-exporting) input[type="radio"]{
  accent-color:#69b9ff;
  min-height:auto !important;
  width:22px !important;
  height:22px !important;
}
body:not(.qn-exporting) .app-logo{border-radius:20px !important; background: rgba(255,255,255,.06);}
body:not(.qn-exporting) .status-pro{background: var(--ss90-accent-alt) !important;}
body:not(.qn-exporting) .status-free{background: var(--ss90-surface-soft) !important; border:1px solid var(--ss90-border) !important;}
body:not(.qn-exporting) .control-panel,
body:not(.qn-exporting) .collapsible-content,
body:not(.qn-exporting) .class-container{padding:22px !important;}
@media (max-width: 768px){
  body:not(.qn-exporting) .app-header{border-radius: 28px !important;}
  body:not(.qn-exporting) .control-panel,
  body:not(.qn-exporting) .collapsible-content,
  body:not(.qn-exporting) .class-container,
  body:not(.qn-exporting) .modal-content,
  body:not(.qn-exporting) .pro-card,
  body:not(.qn-exporting) .ss-an-card,
  body:not(.qn-exporting) .ss-tt-card,
  body:not(.qn-exporting) .ss-br-card,
  body:not(.qn-exporting) .ss-effort-card{border-radius: 24px !important; padding:18px !important;}
  body:not(.qn-exporting) button,
  body:not(.qn-exporting) .btn,
  body:not(.qn-exporting) .eval-btn,
  body:not(.qn-exporting) .board-docs-btn{border-radius:22px !important;}
}

/* ===== ss-v91-unified-modals-performance ===== */

/* SmartSchool V91 — all modal/popup sheets unified + fast/no-jank mobile scrolling */
:root{
  --ss91-popup-bg: linear-gradient(180deg, rgba(11,18,32,.985) 0%, rgba(4,8,16,.995) 100%);
  --ss91-popup-soft: linear-gradient(180deg, rgba(18,29,48,.95) 0%, rgba(7,13,24,.99) 100%);
  --ss91-popup-border: rgba(166,190,255,.25);
  --ss91-popup-border-strong: rgba(205,222,255,.36);
  --ss91-popup-text: #f8fbff;
  --ss91-popup-muted: #c6d3ea;
  --ss91-popup-radius: 28px;
  --ss91-popup-shadow: 0 22px 55px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.06);
}
body:not(.qn-exporting) .modal,
body:not(.qn-exporting) #manual-install-modal,
body:not(.qn-exporting) #expired-screen,
body:not(.qn-exporting) #security-screen,
body:not(.qn-exporting) #export-overlay,
body:not(.qn-exporting) #v23UltraModal,
body:not(.qn-exporting) .v23-ov,
body:not(.qn-exporting) .v24-ov,
body:not(.qn-exporting) .ss-modal,
body:not(.qn-exporting) .ss-dialog,
body:not(.qn-exporting) [role="dialog"]{
  background: rgba(0,0,0,.62) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overscroll-behavior: contain !important;
  -webkit-overflow-scrolling: touch !important;
}
body:not(.qn-exporting) .modal-content,
body:not(.qn-exporting) .install-box,
body:not(.qn-exporting) #manual-install-modal > div,
body:not(.qn-exporting) #expired-screen > div,
body:not(.qn-exporting) #security-screen > div,
body:not(.qn-exporting) #v23UltraModal .v23m-box,
body:not(.qn-exporting) .v23-card,
body:not(.qn-exporting) .v24-card,
body:not(.qn-exporting) .ss-select-sheet,
body:not(.qn-exporting) .ss-notify-dropdown,
body:not(.qn-exporting) .ss-dialog-box,
body:not(.qn-exporting) .popup,
body:not(.qn-exporting) .popup-content,
body:not(.qn-exporting) .dialog,
body:not(.qn-exporting) .dialog-content,
body:not(.qn-exporting) .dropdown-menu,
body:not(.qn-exporting) .bottom-sheet,
body:not(.qn-exporting) .sheet,
body:not(.qn-exporting) .toast-card,
body:not(.qn-exporting) .pin-pad,
body:not(.qn-exporting) #notify{
  background: var(--ss91-popup-bg) !important;
  color: var(--ss91-popup-text) !important;
  border: 1px solid var(--ss91-popup-border) !important;
  border-radius: var(--ss91-popup-radius) !important;
  box-shadow: var(--ss91-popup-shadow) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body:not(.qn-exporting) #export-overlay{
  background: #050911 !important;
}
body:not(.qn-exporting) #export-overlay .export-header,
body:not(.qn-exporting) #export-overlay .export-toolbar,
body:not(.qn-exporting) #export-container,
body:not(.qn-exporting) .v23m-head,
body:not(.qn-exporting) .v23m-body,
body:not(.qn-exporting) .v23m-foot,
body:not(.qn-exporting) .modal-header,
body:not(.qn-exporting) .modal-body,
body:not(.qn-exporting) .modal-footer,
body:not(.qn-exporting) .popup-header,
body:not(.qn-exporting) .popup-body,
body:not(.qn-exporting) .popup-footer,
body:not(.qn-exporting) .dialog-header,
body:not(.qn-exporting) .dialog-body,
body:not(.qn-exporting) .dialog-footer{
  background: var(--ss91-popup-soft) !important;
  color: var(--ss91-popup-text) !important;
  border-color: var(--ss91-popup-border) !important;
}
body:not(.qn-exporting) .modal-content *,
body:not(.qn-exporting) .install-box *,
body:not(.qn-exporting) #manual-install-modal *,
body:not(.qn-exporting) #expired-screen *,
body:not(.qn-exporting) #security-screen *,
body:not(.qn-exporting) #v23UltraModal *,
body:not(.qn-exporting) .v23-card *,
body:not(.qn-exporting) .v24-card *,
body:not(.qn-exporting) .ss-select-sheet *,
body:not(.qn-exporting) .ss-notify-dropdown *,
body:not(.qn-exporting) .popup *,
body:not(.qn-exporting) .dialog *{
  color: var(--ss91-popup-text) !important;
  text-shadow: none !important;
}
body:not(.qn-exporting) .modal-content p,
body:not(.qn-exporting) .install-box p,
body:not(.qn-exporting) #manual-install-modal p,
body:not(.qn-exporting) #expired-screen p,
body:not(.qn-exporting) .pro-footnote,
body:not(.qn-exporting) .pro-hint,
body:not(.qn-exporting) .v23m-note,
body:not(.qn-exporting) .modal-content small,
body:not(.qn-exporting) .popup small,
body:not(.qn-exporting) .dialog small{
  color: var(--ss91-popup-muted) !important;
}
body:not(.qn-exporting) .modal-content input,
body:not(.qn-exporting) .modal-content select,
body:not(.qn-exporting) .modal-content textarea,
body:not(.qn-exporting) .install-box input,
body:not(.qn-exporting) .install-box select,
body:not(.qn-exporting) .install-box textarea,
body:not(.qn-exporting) #manual-install-modal input,
body:not(.qn-exporting) #manual-install-modal select,
body:not(.qn-exporting) #manual-install-modal textarea,
body:not(.qn-exporting) #expired-screen input,
body:not(.qn-exporting) #expired-screen select,
body:not(.qn-exporting) #expired-screen textarea,
body:not(.qn-exporting) #v23UltraModal input,
body:not(.qn-exporting) #v23UltraModal select,
body:not(.qn-exporting) #v23UltraModal textarea,
body:not(.qn-exporting) .v23-card input,
body:not(.qn-exporting) .v23-card select,
body:not(.qn-exporting) .v23-card textarea,
body:not(.qn-exporting) .v24-card input,
body:not(.qn-exporting) .v24-card select,
body:not(.qn-exporting) .v24-card textarea,
body:not(.qn-exporting) .popup input,
body:not(.qn-exporting) .popup select,
body:not(.qn-exporting) .popup textarea,
body:not(.qn-exporting) .dialog input,
body:not(.qn-exporting) .dialog select,
body:not(.qn-exporting) .dialog textarea{
  background: linear-gradient(180deg, rgba(9,15,27,.96), rgba(3,7,15,.99)) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 1px solid var(--ss91-popup-border) !important;
  border-radius: 22px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 8px 16px rgba(0,0,0,.22) !important;
}
body:not(.qn-exporting) .modal-content button,
body:not(.qn-exporting) .install-box button,
body:not(.qn-exporting) #manual-install-modal button,
body:not(.qn-exporting) #expired-screen button,
body:not(.qn-exporting) #expired-screen a,
body:not(.qn-exporting) #security-screen .pin-btn,
body:not(.qn-exporting) #v23UltraModal button,
body:not(.qn-exporting) .v23-card button,
body:not(.qn-exporting) .v24-card button,
body:not(.qn-exporting) .popup button,
body:not(.qn-exporting) .dialog button,
body:not(.qn-exporting) #export-overlay .export-btn,
body:not(.qn-exporting) .close-btn{
  background: linear-gradient(135deg,#2e70ff 0%,#19c8d4 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  border: 1px solid rgba(166,190,255,.28) !important;
  border-radius: 22px !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.08) !important;
  font-weight: 900 !important;
}
body:not(.qn-exporting) .close-btn,
body:not(.qn-exporting) .btn-close,
body:not(.qn-exporting) .v23-close,
body:not(.qn-exporting) button[onclick*="close"],
body:not(.qn-exporting) button[onclick*="Close"]{
  background: linear-gradient(135deg,#ef4444,#991b1b) !important;
  color:#fff !important;
}
body:not(.qn-exporting) .modal,
body:not(.qn-exporting) #manual-install-modal,
body:not(.qn-exporting) #expired-screen,
body:not(.qn-exporting) #security-screen,
body:not(.qn-exporting) #v23UltraModal,
body:not(.qn-exporting) .v23-ov,
body:not(.qn-exporting) .v24-ov,
body:not(.qn-exporting) .ss-select-sheet,
body:not(.qn-exporting) .ss-notify-dropdown,
body:not(.qn-exporting) .modal-content,
body:not(.qn-exporting) .install-box,
body:not(.qn-exporting) .v23m-box,
body:not(.qn-exporting) .v23-card,
body:not(.qn-exporting) .v24-card{
  animation: none !important;
  transition: none !important;
  transform: none !important;
  will-change: auto !important;
}
body:not(.qn-exporting) .tabbar,
body:not(.qn-exporting) .pro-tabbar,
body:not(.qn-exporting) .ss-br-tabs,
body:not(.qn-exporting) .ss-an-tabs,
body:not(.qn-exporting) .export-toolbar,
body:not(.qn-exporting) .bottom-nav,
body:not(.qn-exporting) .nav-tabs,
body:not(.qn-exporting) .tab-buttons,
body:not(.qn-exporting) .settings-theme-row,
body:not(.qn-exporting) .pin-pad,
body:not(.qn-exporting) .modal-content,
body:not(.qn-exporting) .v23m-box,
body:not(.qn-exporting) .v24-card,
body:not(.qn-exporting) .ss-select-sheet,
body:not(.qn-exporting) .ss-notify-dropdown{
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  scroll-behavior: auto !important;
}
body:not(.qn-exporting) .tabbar *,
body:not(.qn-exporting) .pro-tabbar *,
body:not(.qn-exporting) .ss-br-tabs *,
body:not(.qn-exporting) .ss-an-tabs *,
body:not(.qn-exporting) .export-toolbar *,
body:not(.qn-exporting) .tab-buttons *,
body:not(.qn-exporting) .bottom-nav *,
body:not(.qn-exporting) button,
body:not(.qn-exporting) .btn,
body:not(.qn-exporting) .eval-btn,
body:not(.qn-exporting) .toggle-btn,
body:not(.qn-exporting) .pro-tabbtn{
  transition: none !important;
  animation: none !important;
}
body:not(.qn-exporting) button:active,
body:not(.qn-exporting) .btn:active,
body:not(.qn-exporting) .eval-btn:active,
body:not(.qn-exporting) .toggle-btn:active,
body:not(.qn-exporting) .pro-tabbtn:active,
body:not(.qn-exporting) .season-btn:active{
  transform: none !important;
}
@media (pointer: coarse), (max-width: 768px){
  body:not(.qn-exporting) *{
    scroll-behavior: auto !important;
  }
  body:not(.qn-exporting) .app-header,
  body:not(.qn-exporting) .control-panel,
  body:not(.qn-exporting) .collapsible-content,
  body:not(.qn-exporting) .modal-content,
  body:not(.qn-exporting) .install-box,
  body:not(.qn-exporting) .v23m-box,
  body:not(.qn-exporting) .v23-card,
  body:not(.qn-exporting) .v24-card{
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }
  body:not(.qn-exporting) .modal-content,
  body:not(.qn-exporting) .install-box,
  body:not(.qn-exporting) .v23m-box,
  body:not(.qn-exporting) .v24-card,
  body:not(.qn-exporting) .ss-select-sheet{
    max-height: min(88vh, 760px) !important;
    overflow-y: auto !important;
  }
}
@media (prefers-reduced-motion: reduce){
  body:not(.qn-exporting) *, body:not(.qn-exporting) *::before, body:not(.qn-exporting) *::after{
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}

/* ===== ss-v92-light-mode-unified-ui ===== */

/* SmartSchool V92 — Light mode compatibility: same unified UI, pearl/glass surfaces, fast/no-jank */
:root{
  --ss92-bg:
    radial-gradient(circle at 14% 8%, rgba(59,130,246,.14), transparent 25%),
    radial-gradient(circle at 86% 10%, rgba(20,184,166,.13), transparent 24%),
    radial-gradient(circle at 72% 86%, rgba(168,85,247,.10), transparent 28%),
    linear-gradient(180deg, #f7fbff 0%, #edf5ff 42%, #f8fbff 100%);
  --ss92-surface-hero: linear-gradient(115deg, rgba(255,255,255,.86) 0%, rgba(232,242,255,.88) 42%, rgba(255,255,255,.78) 100%);
  --ss92-surface-card: linear-gradient(180deg, rgba(255,255,255,.94) 0%, rgba(241,247,255,.92) 100%);
  --ss92-surface-soft: linear-gradient(180deg, rgba(255,255,255,.96) 0%, rgba(234,242,255,.94) 100%);
  --ss92-field: linear-gradient(180deg, rgba(255,255,255,.98) 0%, rgba(240,246,255,.96) 100%);
  --ss92-border: rgba(80,111,170,.20);
  --ss92-border-strong: rgba(37,99,235,.36);
  --ss92-text: #0f1b33;
  --ss92-muted: #52617a;
  --ss92-shadow: 0 12px 26px rgba(37,99,235,.10), 0 3px 10px rgba(15,23,42,.05), inset 0 1px 0 rgba(255,255,255,.9);
  --ss92-shadow-strong: 0 18px 42px rgba(37,99,235,.14), 0 8px 22px rgba(15,23,42,.07), inset 0 1px 0 rgba(255,255,255,.9);
  --ss92-accent: linear-gradient(135deg,#2563eb 0%, #06b6d4 100%);
  --ss92-accent-alt: linear-gradient(135deg,#6d28d9 0%, #db2777 100%);
  --ss92-danger: linear-gradient(135deg,#ef4444 0%, #dc2626 100%);
  --ss92-warning: linear-gradient(135deg,#f59e0b 0%, #d97706 100%);
  --ss92-radius-lg: 28px;
  --ss92-radius-md: 22px;
  --ss92-radius-sm: 18px;
}
body:not(.dark-mode):not(.qn-exporting){
  --primary:#2563eb !important;
  --primary-mid:#06b6d4 !important;
  --primary-dark:#1d4ed8 !important;
  --accent:#7c3aed !important;
  --accent2:#14b8a6 !important;
  --text-main:var(--ss92-text) !important;
  --text-sec:var(--ss92-muted) !important;
  --muted:var(--ss92-muted) !important;
  --bg-body:var(--ss92-bg) !important;
  --bg-panel:rgba(255,255,255,.92) !important;
  --card:rgba(255,255,255,.90) !important;
  --card-strong:rgba(255,255,255,.98) !important;
  --input-bg:rgba(255,255,255,.98) !important;
  --border:var(--ss92-border) !important;
  --shadow:var(--ss92-shadow) !important;
  --shadow-card:var(--ss92-shadow) !important;
  --shadow-strong:var(--ss92-shadow-strong) !important;
  --ss90-surface-hero:var(--ss92-surface-hero) !important;
  --ss90-surface-card:var(--ss92-surface-card) !important;
  --ss90-surface-soft:var(--ss92-surface-soft) !important;
  --ss90-field:var(--ss92-field) !important;
  --ss90-border:var(--ss92-border) !important;
  --ss90-border-strong:var(--ss92-border-strong) !important;
  --ss90-text:var(--ss92-text) !important;
  --ss90-muted:var(--ss92-muted) !important;
  --ss90-glow:var(--ss92-shadow) !important;
  --ss90-glow-strong:var(--ss92-shadow-strong) !important;
  --ss90-accent:var(--ss92-accent) !important;
  --ss90-accent-alt:var(--ss92-accent-alt) !important;
  --ss90-danger:var(--ss92-danger) !important;
  --ss90-warning:var(--ss92-warning) !important;
  --ss91-popup-bg:var(--ss92-surface-card) !important;
  --ss91-popup-soft:var(--ss92-surface-soft) !important;
  --ss91-popup-border:var(--ss92-border) !important;
  --ss91-popup-border-strong:var(--ss92-border-strong) !important;
  --ss91-popup-text:var(--ss92-text) !important;
  --ss91-popup-muted:var(--ss92-muted) !important;
  --ss91-popup-shadow:var(--ss92-shadow-strong) !important;
  background:var(--ss92-bg) !important;
  color:var(--ss92-text) !important;
}
body:not(.dark-mode):not(.qn-exporting) .app-header{
  background:var(--ss92-surface-hero) !important;
  color:var(--ss92-text) !important;
  border:1px solid rgba(255,255,255,.72) !important;
  box-shadow:var(--ss92-shadow-strong) !important;
}
body:not(.dark-mode):not(.qn-exporting) .control-panel,
body:not(.dark-mode):not(.qn-exporting) .collapsible-content,
body:not(.dark-mode):not(.qn-exporting) .class-container,
body:not(.dark-mode):not(.qn-exporting) .modal-content,
body:not(.dark-mode):not(.qn-exporting) .install-box,
body:not(.dark-mode):not(.qn-exporting) .pro-card,
body:not(.dark-mode):not(.qn-exporting) .tp-card,
body:not(.dark-mode):not(.qn-exporting) .schedule-card,
body:not(.dark-mode):not(.qn-exporting) .info-card,
body:not(.dark-mode):not(.qn-exporting) .ss-card,
body:not(.dark-mode):not(.qn-exporting) .v23-card,
body:not(.dark-mode):not(.qn-exporting) .v24-card,
body:not(.dark-mode):not(.qn-exporting) .ss-an-card,
body:not(.dark-mode):not(.qn-exporting) .ss-an-kpi,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-card,
body:not(.dark-mode):not(.qn-exporting) .ss-br-card,
body:not(.dark-mode):not(.qn-exporting) .ss-effort-card,
body:not(.dark-mode):not(.qn-exporting) .content-box,
body:not(.dark-mode):not(.qn-exporting) .teacher-card,
body:not(.dark-mode):not(.qn-exporting) .student-card,
body:not(.dark-mode):not(.qn-exporting) .table-shell,
body:not(.dark-mode):not(.qn-exporting) .table-wrapper,
body:not(.dark-mode):not(.qn-exporting) .table-container,
body:not(.dark-mode):not(.qn-exporting) .ss-select-sheet,
body:not(.dark-mode):not(.qn-exporting) .ss-notify-dropdown,
body:not(.dark-mode):not(.qn-exporting) .schedule-note-box,
body:not(.dark-mode):not(.qn-exporting) .schedule-modern-field,
body:not(.dark-mode):not(.qn-exporting) .exam-panel,
body:not(.dark-mode):not(.qn-exporting) .season-toggle,
body:not(.dark-mode):not(.qn-exporting) #security-screen > div,
body:not(.dark-mode):not(.qn-exporting) #expired-screen > div,
body:not(.dark-mode):not(.qn-exporting) #manual-install-modal > div{
  background:var(--ss92-surface-card) !important;
  color:var(--ss92-text) !important;
  border:1px solid var(--ss92-border) !important;
  box-shadow:var(--ss92-shadow) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body:not(.dark-mode):not(.qn-exporting) .ss-br-metric,
body:not(.dark-mode):not(.qn-exporting) .ss-br-report-grid > div,
body:not(.dark-mode):not(.qn-exporting) .ss-br-report-section,
body:not(.dark-mode):not(.qn-exporting) .ss-an-bar-row,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-check,
body:not(.dark-mode):not(.qn-exporting) .tp-title,
body:not(.dark-mode):not(.qn-exporting) .buy-device,
body:not(.dark-mode):not(.qn-exporting) .schedule-day-badge,
body:not(.dark-mode):not(.qn-exporting) .schedule-date-badge-modern,
body:not(.dark-mode):not(.qn-exporting) .schedule-time-badge-modern,
body:not(.dark-mode):not(.qn-exporting) .ss-an-total-chip,
body:not(.dark-mode):not(.qn-exporting) .ss-an-tab-pill,
body:not(.dark-mode):not(.qn-exporting) .ss-br-stage-chip,
body:not(.dark-mode):not(.qn-exporting) .ss-an-scope-chip,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-v66-chip,
body:not(.dark-mode):not(.qn-exporting) .status-badge,
body:not(.dark-mode):not(.qn-exporting) .stat-badge,
body:not(.dark-mode):not(.qn-exporting) .v24-badge,
body:not(.dark-mode):not(.qn-exporting) .header-info-stack,
body:not(.dark-mode):not(.qn-exporting) #activationCardInReport > div,
body:not(.dark-mode):not(.qn-exporting) #expired-screen div[style*="background:"],
body:not(.dark-mode):not(.qn-exporting) #manual-install-modal div[style*="background:"]{
  background:var(--ss92-surface-soft) !important;
  color:var(--ss92-text) !important;
  border:1px solid var(--ss92-border) !important;
  box-shadow:0 8px 18px rgba(37,99,235,.08), inset 0 1px 0 rgba(255,255,255,.9) !important;
}
body:not(.dark-mode):not(.qn-exporting),
body:not(.dark-mode):not(.qn-exporting) label,
body:not(.dark-mode):not(.qn-exporting) h1,
body:not(.dark-mode):not(.qn-exporting) h2,
body:not(.dark-mode):not(.qn-exporting) h3,
body:not(.dark-mode):not(.qn-exporting) h4,
body:not(.dark-mode):not(.qn-exporting) h5,
body:not(.dark-mode):not(.qn-exporting) h6,
body:not(.dark-mode):not(.qn-exporting) p,
body:not(.dark-mode):not(.qn-exporting) span,
body:not(.dark-mode):not(.qn-exporting) strong,
body:not(.dark-mode):not(.qn-exporting) .clock-time,
body:not(.dark-mode):not(.qn-exporting) .app-subtitle,
body:not(.dark-mode):not(.qn-exporting) .pro-title,
body:not(.dark-mode):not(.qn-exporting) .ss-an-card-title,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-card-title,
body:not(.dark-mode):not(.qn-exporting) .ss-br-student-name,
body:not(.dark-mode):not(.qn-exporting) .ss-effort-card-title{
  color:var(--ss92-text) !important;
}
body:not(.dark-mode):not(.qn-exporting) .pro-hint,
body:not(.dark-mode):not(.qn-exporting) .pro-footnote,
body:not(.dark-mode):not(.qn-exporting) .clock-date,
body:not(.dark-mode):not(.qn-exporting) .ss-an-card-note,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-help,
body:not(.dark-mode):not(.qn-exporting) .ss-br-sub,
body:not(.dark-mode):not(.qn-exporting) .ss-effort-muted,
body:not(.dark-mode):not(.qn-exporting) .schedule-empty,
body:not(.dark-mode):not(.qn-exporting) [style*="color:var(--text-sec)"],
body:not(.dark-mode):not(.qn-exporting) [style*="color: var(--text-sec)"]{
  color:var(--ss92-muted) !important;
}
body:not(.dark-mode):not(.qn-exporting) input,
body:not(.dark-mode):not(.qn-exporting) select,
body:not(.dark-mode):not(.qn-exporting) textarea,
body:not(.dark-mode):not(.qn-exporting) .settings-input,
body:not(.dark-mode):not(.qn-exporting) .tp-input,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-input,
body:not(.dark-mode):not(.qn-exporting) .ss-tt-select,
body:not(.dark-mode):not(.qn-exporting) .ss-an-select,
body:not(.dark-mode):not(.qn-exporting) .ss-br-input,
body:not(.dark-mode):not(.qn-exporting) .ss-br-textarea,
body:not(.dark-mode):not(.qn-exporting) .ss-br-select,
body:not(.dark-mode):not(.qn-exporting) .schedule-modern-input,
body:not(.dark-mode):not(.qn-exporting) .table-input,
body:not(.dark-mode):not(.qn-exporting) .ui-color-input,
body:not(.dark-mode):not(.qn-exporting) .ui-color-field,
body:not(.dark-mode):not(.qn-exporting) .ui-design-select,
body:not(.dark-mode):not(.qn-exporting) .qnInput,
body:not(.dark-mode):not(.qn-exporting) .qnSmallInput,
body:not(.dark-mode):not(.qn-exporting) .exam-input-main,
body:not(.dark-mode):not(.qn-exporting) .date-input,
body:not(.dark-mode):not(.qn-exporting) #activityNoteSelect,
body:not(.dark-mode):not(.qn-exporting) #classSelect,
body:not(.dark-mode):not(.qn-exporting) #studentSelect,
body:not(.dark-mode):not(.qn-exporting) #gradeFilterSelect,
body:not(.dark-mode):not(.qn-exporting) #subjectFilterSelect,
body:not(.dark-mode):not(.qn-exporting) #activationTokenInput,
body:not(.dark-mode):not(.qn-exporting) #finalLicenseInput,
body:not(.dark-mode):not(.qn-exporting) #customerNameInput,
body:not(.dark-mode):not(.qn-exporting) #customerPlaceInput{
  background:var(--ss92-field) !important;
  color:var(--ss92-text) !important;
  -webkit-text-fill-color:var(--ss92-text) !important;
  border:1px solid var(--ss92-border) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96), 0 7px 14px rgba(37,99,235,.06) !important;
}
body:not(.dark-mode):not(.qn-exporting) input::placeholder,
body:not(.dark-mode):not(.qn-exporting) textarea::placeholder{color:rgba(82,97,122,.72) !important;-webkit-text-fill-color:rgba(82,97,122,.72) !important;}
body:not(.dark-mode):not(.qn-exporting) select option{background:#ffffff !important;color:var(--ss92-text) !important;}
body:not(.dark-mode):not(.qn-exporting) input:focus,
body:not(.dark-mode):not(.qn-exporting) select:focus,
body:not(.dark-mode):not(.qn-exporting) textarea:focus{
  border-color:var(--ss92-border-strong) !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14), 0 10px 22px rgba(37,99,235,.10) !important;
}
body:not(.dark-mode):not(.qn-exporting) button,
body:not(.dark-mode):not(.qn-exporting) .btn,
body:not(.dark-mode):not(.qn-exporting) .backup-btn,
body:not(.dark-mode):not(.qn-exporting) .restore-btn,
body:not(.dark-mode):not(.qn-exporting) .settings-save-btn,
body:not(.dark-mode):not(.qn-exporting) .export-btn,
body:not(.dark-mode):not(.qn-exporting) .tp-btn,
body:not(.dark-mode):not(.qn-exporting) .schedule-mini-btn,
body:not(.dark-mode):not(.qn-exporting) .toggle-btn,
body:not(.dark-mode):not(.qn-exporting) .season-btn,
body:not(.dark-mode):not(.qn-exporting) .pro-tabbtn,
body:not(.dark-mode):not(.qn-exporting) .pin-btn,
body:not(.dark-mode):not(.qn-exporting) .ui-preset-btn,
body:not(.dark-mode):not(.qn-exporting) .board-docs-btn,
body:not(.dark-mode):not(.qn-exporting) .v23m-btn,
body:not(.dark-mode):not(.qn-exporting) .ss-an-refresh,
body:not(.dark-mode):not(.qn-exporting) .ss-br-back,
body:not(.dark-mode):not(.qn-exporting) .ss-admin-clean-btn,
body:not(.dark-mode):not(.qn-exporting) .mini-filter-btn,
body:not(.dark-mode):not(.qn-exporting) .theme-toggle-btn,
body:not(.dark-mode):not(.qn-exporting) .pro-upload,
body:not(.dark-mode):not(.qn-exporting) .ss-br-tab,
body:not(.dark-mode):not(.qn-exporting) .ss-br-type,
body:not(.dark-mode):not(.qn-exporting) .close-btn,
body:not(.dark-mode):not(.qn-exporting) #emailBtn,
body:not(.dark-mode):not(.qn-exporting) #waBtn{
  background:var(--ss92-surface-soft) !important;
  color:var(--ss92-text) !important;
  border:1px solid var(--ss92-border) !important;
  box-shadow:0 10px 18px rgba(37,99,235,.08), inset 0 1px 0 rgba(255,255,255,.95) !important;
}
body:not(.dark-mode):not(.qn-exporting) .settings-save-btn,
body:not(.dark-mode):not(.qn-exporting) .backup-btn,
body:not(.dark-mode):not(.qn-exporting) .restore-btn,
body:not(.dark-mode):not(.qn-exporting) .tp-btn-primary,
body:not(.dark-mode):not(.qn-exporting) .tp-btn-save,
body:not(.dark-mode):not(.qn-exporting) .toggle-btn,
body:not(.dark-mode):not(.qn-exporting) .board-docs-btn,
body:not(.dark-mode):not(.qn-exporting) .theme-toggle-btn,
body:not(.dark-mode):not(.qn-exporting) .v23m-btn,
body:not(.dark-mode):not(.qn-exporting) .ss-an-refresh,
body:not(.dark-mode):not(.qn-exporting) .ss-br-tab.active,
body:not(.dark-mode):not(.qn-exporting) .ss-br-type.active,
body:not(.dark-mode):not(.qn-exporting) .season-btn.active,
body:not(.dark-mode):not(.qn-exporting) #emailBtn,
body:not(.dark-mode):not(.qn-exporting) #waBtn,
body:not(.dark-mode):not(.qn-exporting) .pro-whatsapp,
body:not(.dark-mode):not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="activate"],
body:not(.dark-mode):not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="save"],
body:not(.dark-mode):not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="backup"]{
  background:var(--ss92-accent) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:rgba(37,99,235,.20) !important;
  box-shadow:0 12px 24px rgba(37,99,235,.18), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
body:not(.dark-mode):not(.qn-exporting) #studentReportBtn,
body:not(.dark-mode):not(.qn-exporting) .btn-purple,
body:not(.dark-mode):not(.qn-exporting) .ui-preset-btn.active,
body:not(.dark-mode):not(.qn-exporting) button[style*="#5b21b6"],
body:not(.dark-mode):not(.qn-exporting) button[style*="#7c3aed"]{
  background:var(--ss92-accent-alt) !important;
  color:#fff !important;
}
body:not(.dark-mode):not(.qn-exporting) .close-btn,
body:not(.dark-mode):not(.qn-exporting) .btn-close,
body:not(.dark-mode):not(.qn-exporting) .schedule-mini-del,
body:not(.dark-mode):not(.qn-exporting) .ss-br-danger,
body:not(.dark-mode):not(.qn-exporting) button[onclick*="delete"],
body:not(.dark-mode):not(.qn-exporting) button[onclick*="Delete"]{
  background:var(--ss92-danger) !important;
  color:#fff !important;
}
body:not(.dark-mode):not(.qn-exporting) .eval-btn{color:#fff !important;-webkit-text-fill-color:#fff !important;}
body:not(.dark-mode):not(.qn-exporting) .modal,
body:not(.dark-mode):not(.qn-exporting) #manual-install-modal,
body:not(.dark-mode):not(.qn-exporting) #expired-screen,
body:not(.dark-mode):not(.qn-exporting) #security-screen,
body:not(.dark-mode):not(.qn-exporting) #v23UltraModal,
body:not(.dark-mode):not(.qn-exporting) .v23-ov,
body:not(.dark-mode):not(.qn-exporting) .v24-ov,
body:not(.dark-mode):not(.qn-exporting) .ss-modal,
body:not(.dark-mode):not(.qn-exporting) .ss-dialog,
body:not(.dark-mode):not(.qn-exporting) [role="dialog"]{
  background:rgba(15,23,42,.28) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
body:not(.dark-mode):not(.qn-exporting) #notify{
  background:var(--ss92-surface-card) !important;
  color:var(--ss92-text) !important;
  border:1px solid var(--ss92-border) !important;
  box-shadow:var(--ss92-shadow-strong) !important;
}
@media(max-width:768px){
  body:not(.dark-mode):not(.qn-exporting) .app-header,
  body:not(.dark-mode):not(.qn-exporting) .control-panel,
  body:not(.dark-mode):not(.qn-exporting) .collapsible-content,
  body:not(.dark-mode):not(.qn-exporting) .class-container,
  body:not(.dark-mode):not(.qn-exporting) .modal-content,
  body:not(.dark-mode):not(.qn-exporting) .pro-card,
  body:not(.dark-mode):not(.qn-exporting) .ss-an-card,
  body:not(.dark-mode):not(.qn-exporting) .ss-tt-card,
  body:not(.dark-mode):not(.qn-exporting) .ss-br-card,
  body:not(.dark-mode):not(.qn-exporting) .ss-effort-card{border-radius:24px !important;}
}

/* ===== ss-v93-balanced-theme-layout-fix ===== */

/* SmartSchool V94 — duplicate grade/subject filter fields removed; main class/student dropdown logic preserved */
html{box-sizing:border-box}*,*::before,*::after{box-sizing:inherit}body:not(.qn-exporting){overflow-x:hidden!important;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
:root{
  --ss93-radius-xl:30px;--ss93-radius-lg:24px;--ss93-radius-md:18px;--ss93-fast:.12s;
}
body:not(.dark-mode):not(.qn-exporting){
  --ss93-bg:radial-gradient(circle at 12% 8%,rgba(90,170,255,.18),transparent 26%),radial-gradient(circle at 92% 12%,rgba(255,220,160,.22),transparent 26%),linear-gradient(180deg,#f8fbff 0%,#eef5ff 46%,#fffaf2 100%);
  --ss93-surface:linear-gradient(180deg,rgba(255,255,255,.88),rgba(243,248,255,.74));
  --ss93-surface-strong:linear-gradient(180deg,rgba(255,255,255,.96),rgba(239,246,255,.88));
  --ss93-field:linear-gradient(180deg,rgba(255,255,255,.98),rgba(243,248,255,.93));
  --ss93-ink:#17130f;--ss93-ink-soft:#352b22;--ss93-muted:#63574b;--ss93-border:rgba(87,110,150,.20);--ss93-border-strong:rgba(55,90,145,.32);
  --ss93-shadow:0 14px 32px rgba(67,95,140,.10),0 5px 15px rgba(31,41,55,.06),inset 0 1px 0 rgba(255,255,255,.92);
  --ss93-shadow-soft:0 8px 22px rgba(67,95,140,.08),inset 0 1px 0 rgba(255,255,255,.90);
  --ss93-primary:linear-gradient(135deg,#2d7df0 0%,#13b8d8 100%);--ss93-purple:linear-gradient(135deg,#7c3aed 0%,#d82bb2 100%);
  --text-main:var(--ss93-ink)!important;--text-sec:var(--ss93-muted)!important;--muted:var(--ss93-muted)!important;--card:rgba(255,255,255,.84)!important;--card-strong:rgba(255,255,255,.96)!important;--input-bg:rgba(255,255,255,.96)!important;--border:var(--ss93-border)!important;--primary:#246fe5!important;--primary-mid:#10b4d7!important;--accent:#7c3aed!important;--accent2:#11a999!important;background:var(--ss93-bg)!important;color:var(--ss93-ink)!important;
}
body.dark-mode:not(.qn-exporting){
  --ss93-bg:radial-gradient(circle at 15% 10%,rgba(54,132,255,.18),transparent 24%),radial-gradient(circle at 88% 8%,rgba(168,85,247,.12),transparent 22%),linear-gradient(180deg,#03070f 0%,#07111f 50%,#050910 100%);
  --ss93-surface:linear-gradient(180deg,rgba(15,25,42,.92),rgba(6,12,24,.96));
  --ss93-surface-strong:linear-gradient(180deg,rgba(18,30,50,.94),rgba(8,14,28,.98));
  --ss93-field:linear-gradient(180deg,rgba(12,21,37,.96),rgba(5,10,20,.99));
  --ss93-ink:#f8fbff;--ss93-ink-soft:#e8eefb;--ss93-muted:#b7c2d6;--ss93-border:rgba(145,170,220,.22);--ss93-border-strong:rgba(180,210,255,.34);
  --ss93-shadow:0 16px 36px rgba(0,0,0,.34),0 6px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.045);
  --ss93-shadow-soft:0 10px 24px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.04);
  --ss93-primary:linear-gradient(135deg,#2f75ff 0%,#12c7d2 100%);--ss93-purple:linear-gradient(135deg,#6d3cff 0%,#d12bc4 100%);
  --text-main:var(--ss93-ink)!important;--text-sec:var(--ss93-muted)!important;--muted:var(--ss93-muted)!important;--card:rgba(9,16,30,.92)!important;--card-strong:rgba(9,16,30,.98)!important;--input-bg:rgba(7,13,26,.98)!important;--border:var(--ss93-border)!important;--primary:#6fb6ff!important;--primary-mid:#1fd0c9!important;--accent:#b59cff!important;--accent2:#20d4c8!important;background:var(--ss93-bg)!important;color:var(--ss93-ink)!important;
}
body:not(.qn-exporting) .container{width:min(100% - 18px,1180px)!important;max-width:min(100% - 18px,1180px)!important;margin-inline:auto!important;padding:10px 0 90px!important;min-width:0!important;}
body:not(.qn-exporting) .app-header,body:not(.qn-exporting) .control-panel,body:not(.qn-exporting) .collapsible-content,body:not(.qn-exporting) .class-container,body:not(.qn-exporting) .modal-content,body:not(.qn-exporting) .install-box,body:not(.qn-exporting) .pro-card,body:not(.qn-exporting) .tp-card,body:not(.qn-exporting) .schedule-card,body:not(.qn-exporting) .info-card,body:not(.qn-exporting) .ss-card,body:not(.qn-exporting) .v23-card,body:not(.qn-exporting) .v24-card,body:not(.qn-exporting) .ss-an-card,body:not(.qn-exporting) .ss-an-kpi,body:not(.qn-exporting) .ss-tt-card,body:not(.qn-exporting) .ss-br-card,body:not(.qn-exporting) .ss-effort-card,body:not(.qn-exporting) .content-box,body:not(.qn-exporting) .teacher-card,body:not(.qn-exporting) .student-card,body:not(.qn-exporting) .exam-panel,body:not(.qn-exporting) .season-toggle,body:not(.qn-exporting) .table-shell,body:not(.qn-exporting) .table-wrapper,body:not(.qn-exporting) .table-container,body:not(.qn-exporting) .ss-select-sheet,body:not(.qn-exporting) .ss-notify-dropdown,body:not(.qn-exporting) .schedule-note-box{background:var(--ss93-surface)!important;color:var(--ss93-ink)!important;border:1px solid var(--ss93-border)!important;border-radius:var(--ss93-radius-xl)!important;box-shadow:var(--ss93-shadow)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;min-width:0!important;}
body:not(.qn-exporting) .app-header{background:var(--ss93-surface-strong)!important;border-radius:32px!important;padding:14px 16px!important;gap:12px!important;}
body:not(.qn-exporting) .control-panel{padding:18px!important;border-right:1px solid var(--ss93-border)!important;}
body:not(.qn-exporting) .collapsible-content,body:not(.qn-exporting) .class-container{padding:16px!important;}
body:not(.qn-exporting) .app-title,body:not(.qn-exporting) .clock-time,body:not(.qn-exporting) .clock-date,body:not(.qn-exporting) label,body:not(.qn-exporting) h1,body:not(.qn-exporting) h2,body:not(.qn-exporting) h3,body:not(.qn-exporting) h4,body:not(.qn-exporting) h5,body:not(.qn-exporting) h6,body:not(.qn-exporting) p,body:not(.qn-exporting) span,body:not(.qn-exporting) strong,body:not(.qn-exporting) div,body:not(.qn-exporting) .ss-an-card-title,body:not(.qn-exporting) .ss-tt-card-title,body:not(.qn-exporting) .ss-br-student-name{color:var(--ss93-ink)!important;}
body:not(.qn-exporting) .ss-effort-meter-marker.ss-effort-meter-marker,body:not(.qn-exporting) .ss-effort-meter-marker.ss-effort-meter-marker *,body:not(.qn-exporting) .ss-official-grid .total.total,body:not(.qn-exporting) .ss-official-grid .total.total *,body:not(.qn-exporting) .ss-effort-pill.ss-effort-pill,body:not(.qn-exporting) .season-btn.active.active,body:not(.qn-exporting) .season-btn.active.active *{color:#fff!important;}
body:not(.qn-exporting) .app-subtitle,body:not(.qn-exporting) .pro-hint,body:not(.qn-exporting) .pro-footnote,body:not(.qn-exporting) .ss-an-card-note,body:not(.qn-exporting) .ss-tt-help,body:not(.qn-exporting) .ss-br-sub,body:not(.qn-exporting) .ss-effort-muted,body:not(.qn-exporting) .schedule-empty,body:not(.qn-exporting) [style*="color:var(--text-sec)"],body:not(.qn-exporting) [style*="color: var(--text-sec)"]{color:var(--ss93-muted)!important;}
body:not(.qn-exporting) input,body:not(.qn-exporting) select,body:not(.qn-exporting) textarea,body:not(.qn-exporting) .settings-input,body:not(.qn-exporting) .tp-input,body:not(.qn-exporting) .ss-tt-input,body:not(.qn-exporting) .ss-tt-select,body:not(.qn-exporting) .ss-an-select,body:not(.qn-exporting) .ss-br-input,body:not(.qn-exporting) .ss-br-textarea,body:not(.qn-exporting) .ss-br-select,body:not(.qn-exporting) .schedule-modern-input,body:not(.qn-exporting) .table-input,body:not(.qn-exporting) .exam-input-main,body:not(.qn-exporting) .date-input,body:not(.qn-exporting) #activityNoteSelect,body:not(.qn-exporting) #classSelect,body:not(.qn-exporting) #studentSelect,body:not(.qn-exporting) #gradeFilterSelect,body:not(.qn-exporting) #subjectFilterSelect{background:var(--ss93-field)!important;color:var(--ss93-ink)!important;-webkit-text-fill-color:var(--ss93-ink)!important;border:1.4px solid var(--ss93-border)!important;border-radius:22px!important;box-shadow:var(--ss93-shadow-soft)!important;min-height:56px!important;max-width:100%!important;outline:none!important;}
body:not(.qn-exporting) input::placeholder,body:not(.qn-exporting) textarea::placeholder{color:var(--ss93-muted)!important;-webkit-text-fill-color:var(--ss93-muted)!important;opacity:.85!important;}
body:not(.qn-exporting) select option{background:var(--card-strong)!important;color:var(--ss93-ink)!important;}
body:not(.qn-exporting) input:focus,body:not(.qn-exporting) select:focus,body:not(.qn-exporting) textarea:focus{border-color:var(--ss93-border-strong)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent),var(--ss93-shadow-soft)!important;}
body:not(.qn-exporting) button,body:not(.qn-exporting) .btn,body:not(.qn-exporting) .backup-btn,body:not(.qn-exporting) .restore-btn,body:not(.qn-exporting) .settings-save-btn,body:not(.qn-exporting) .export-btn,body:not(.qn-exporting) .tp-btn,body:not(.qn-exporting) .schedule-mini-btn,body:not(.qn-exporting) .toggle-btn,body:not(.qn-exporting) .season-btn,body:not(.qn-exporting) .pro-tabbtn:not(.active),body:not(.qn-exporting) .pin-btn,body:not(.qn-exporting) .ui-preset-btn,body:not(.qn-exporting) .board-docs-btn,body:not(.qn-exporting) .mini-filter-btn,body:not(.qn-exporting) .theme-toggle-btn{border-radius:24px!important;border:1px solid var(--ss93-border)!important;background:var(--ss93-surface-strong)!important;color:var(--ss93-ink)!important;box-shadow:var(--ss93-shadow-soft)!important;font-weight:900!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;transition:filter .08s ease,transform .08s ease!important;}
body:not(.qn-exporting) .pro-tabbtn.active{background:var(--ss93-primary)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:rgba(255,255,255,.22)!important;border-radius:24px!important;box-shadow:var(--ss93-shadow-soft)!important;font-weight:900!important;}
body:not(.qn-exporting) .settings-save-btn,body:not(.qn-exporting) .backup-btn,body:not(.qn-exporting) .restore-btn,body:not(.qn-exporting) .tp-btn-primary,body:not(.qn-exporting) .toggle-btn,body:not(.qn-exporting) .board-docs-btn,body:not(.qn-exporting) .theme-toggle-btn,body:not(.qn-exporting) .season-btn.active,body:not(.qn-exporting) #emailBtn,body:not(.qn-exporting) #waBtn,body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="save"],body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="Save"],body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="backup"],body:not(.qn-exporting) button:not(.pro-tabbtn)[onclick*="Backup"]{background:var(--ss93-primary)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:rgba(255,255,255,.22)!important;}
body:not(.qn-exporting) button *,body:not(.qn-exporting) .btn *,body:not(.qn-exporting) .board-docs-btn *,body:not(.qn-exporting) .toggle-btn *,body:not(.qn-exporting) .season-btn *{color:inherit!important;-webkit-text-fill-color:currentColor!important;}
body:not(.qn-exporting) #studentReportBtn,body:not(.qn-exporting) .btn-purple,body:not(.qn-exporting) .ui-preset-btn.active,body:not(.qn-exporting) button[style*="#5b21b6"],body:not(.qn-exporting) button[style*="#7c3aed"]{background:var(--ss93-purple)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;}
body:not(.qn-exporting) .selectors,body:not(.qn-exporting) .input-group{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-bottom:16px!important;min-width:0!important;}
body:not(.qn-exporting) .class-row{display:grid!important;grid-template-columns:minmax(0,1fr) 58px!important;gap:10px!important;width:100%!important;min-width:0!important;}
body:not(.qn-exporting) .class-filters{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;width:100%!important;}
body:not(.qn-exporting) .mini-filter-btn{min-width:58px!important;width:58px!important;min-height:56px!important;padding:0!important;display:grid!important;place-items:center!important;}
body:not(.qn-exporting) .exam-panel{display:grid!important;grid-template-columns:minmax(120px,180px) minmax(0,1fr)!important;align-items:center!important;gap:12px!important;}
body:not(.qn-exporting) .exam-input-main{width:100%!important;min-width:0!important;text-align:center!important;}
body:not(.qn-exporting) .input-group{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
body:not(.qn-exporting) .season-toggle{padding:6px!important;gap:6px!important;}
body:not(.qn-exporting) .season-btn{min-height:52px!important;}

/* V95 — replace blue section openers with silver surfaces in both themes */
body:not(.qn-exporting) .toggle-btn{
  background: var(--section-surface) !important;
  color: var(--section-surface-text) !important;
  -webkit-text-fill-color: currentColor !important;
  border: 1px solid var(--section-surface-border) !important;
  box-shadow: var(--section-surface-shadow) !important;
  text-shadow: none !important;
}
body:not(.qn-exporting) .toggle-btn *{
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
}
body:not(.qn-exporting) .toggle-btn:hover{
  filter: brightness(1.01) !important;
}
body.dark-mode:not(.qn-exporting) .toggle-btn{
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body:not(.dark-mode):not(.qn-exporting) .toggle-btn{
  color: #181818 !important;
  -webkit-text-fill-color: #181818 !important;
}
/* keep highlighted six-evaluation buttons colorful; only section opener panels become silver */
/* Six evaluation buttons: keep original level colors, glossy and readable */
body:not(.qn-exporting) .big-buttons-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;}
body:not(.qn-exporting) .eval-btn{position:relative!important;overflow:hidden!important;min-height:96px!important;padding:14px 10px!important;border-radius:26px!important;border:1px solid rgba(255,255,255,.42)!important;box-shadow:0 12px 26px rgba(31,41,55,.12),inset 0 1px 0 rgba(255,255,255,.58)!important;text-shadow:none!important;}
body:not(.qn-exporting) .eval-btn::before{content:"";position:absolute;inset:6px 8px auto 8px;height:38%;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(255,255,255,0));pointer-events:none;}
body:not(.qn-exporting) .eval-btn .btn-label,body:not(.qn-exporting) .eval-btn .btn-score{position:relative;z-index:1;color:inherit!important;-webkit-text-fill-color:currentColor!important;font-weight:950!important;}
body:not(.dark-mode):not(.qn-exporting) .btn-blue{background:linear-gradient(145deg,rgba(218,239,255,.96),rgba(175,220,255,.72))!important;color:#123556!important;border-color:rgba(61,151,232,.34)!important;}
body:not(.dark-mode):not(.qn-exporting) .btn-green{background:linear-gradient(145deg,rgba(229,250,232,.96),rgba(180,232,188,.72))!important;color:#153b1f!important;border-color:rgba(68,170,86,.32)!important;}
body:not(.dark-mode):not(.qn-exporting) .btn-yellow{background:linear-gradient(145deg,rgba(255,248,213,.96),rgba(255,225,126,.72))!important;color:#4b3500!important;border-color:rgba(215,170,31,.36)!important;}
body:not(.dark-mode):not(.qn-exporting) .btn-red{background:linear-gradient(145deg,rgba(255,230,231,.96),rgba(255,178,185,.72))!important;color:#5a1620!important;border-color:rgba(226,77,90,.34)!important;}
body:not(.dark-mode):not(.qn-exporting) .btn-orange{background:linear-gradient(145deg,rgba(255,238,219,.96),rgba(255,196,132,.72))!important;color:#5a2d00!important;border-color:rgba(230,137,34,.36)!important;}
body:not(.dark-mode):not(.qn-exporting) .btn-gray{background:linear-gradient(145deg,rgba(250,250,250,.96),rgba(220,225,232,.72))!important;color:#2b3139!important;border-color:rgba(120,130,145,.32)!important;}
body.dark-mode:not(.qn-exporting) .btn-blue{background:linear-gradient(145deg,#2f5dff,#4f2fb8)!important;color:#fff!important;}
body.dark-mode:not(.qn-exporting) .btn-green{background:linear-gradient(145deg,#09b6a8,#087c74)!important;color:#fff!important;}
body.dark-mode:not(.qn-exporting) .btn-yellow{background:linear-gradient(145deg,#b7ba16,#787a09)!important;color:#fff!important;}
body.dark-mode:not(.qn-exporting) .btn-red{background:linear-gradient(145deg,#c72d8d,#83165f)!important;color:#fff!important;}
body.dark-mode:not(.qn-exporting) .btn-orange{background:linear-gradient(145deg,#d47a12,#9b4f05)!important;color:#fff!important;}
body.dark-mode:not(.qn-exporting) .btn-gray{background:linear-gradient(145deg,#626975,#313844)!important;color:#fff!important;}
body:not(.qn-exporting) .bottom-nav,body:not(.qn-exporting) .nav-bar,body:not(.qn-exporting) .mobile-nav,body:not(.qn-exporting) .footer-nav{background:var(--ss93-surface-strong)!important;border:1px solid var(--ss93-border)!important;box-shadow:0 -10px 24px rgba(31,41,55,.10)!important;}
body:not(.qn-exporting) img,body:not(.qn-exporting) canvas,body:not(.qn-exporting) svg{max-width:100%;height:auto;}
body:not(.qn-exporting) table{max-width:100%;}
body:not(.qn-exporting) .table-responsive,body:not(.qn-exporting) .table-wrapper,body:not(.qn-exporting) .table-container{overflow:auto!important;-webkit-overflow-scrolling:touch;}
body:not(.qn-exporting) *{scrollbar-width:thin;}
@media (min-width:900px){body:not(.qn-exporting) .container{max-width:min(1180px,calc(100vw - 32px))!important;}body:not(.qn-exporting) .control-panel{display:grid!important;grid-template-columns:1fr 1fr!important;gap:16px!important;align-items:start!important;}body:not(.qn-exporting) .control-panel>.selectors,body:not(.qn-exporting) .control-panel>.big-buttons-grid,body:not(.qn-exporting) .control-panel>#currentStats,body:not(.qn-exporting) .control-panel>div[style*="display:flex"]{grid-column:1/-1!important;}body:not(.qn-exporting) .big-buttons-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}body:not(.qn-exporting) .input-group{grid-template-columns:1fr 1fr!important;}}
@media (min-width:1200px){body:not(.qn-exporting) .container{max-width:min(1360px,calc(100vw - 40px))!important;}body:not(.qn-exporting) .big-buttons-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important;}body:not(.qn-exporting) .eval-btn{min-height:110px!important;}}
@media (max-width:560px){body:not(.qn-exporting) .container{width:min(100% - 12px,720px)!important;max-width:min(100% - 12px,720px)!important;padding-top:6px!important;}body:not(.qn-exporting) .app-header{padding:12px!important;border-radius:24px!important;}body:not(.qn-exporting) .control-panel,body:not(.qn-exporting) .collapsible-content,body:not(.qn-exporting) .class-container{padding:14px!important;border-radius:22px!important;}body:not(.qn-exporting) .class-filters,body:not(.qn-exporting) .input-group{grid-template-columns:1fr!important;}body:not(.qn-exporting) .exam-panel{grid-template-columns:1fr!important;text-align:center!important;}body:not(.qn-exporting) .big-buttons-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}body:not(.qn-exporting) .eval-btn{min-height:88px!important;font-size:.95rem!important;}body:not(.qn-exporting) button,body:not(.qn-exporting) select,body:not(.qn-exporting) input,body:not(.qn-exporting) textarea{font-size:16px!important;}}
@media (prefers-reduced-motion: reduce){body:not(.qn-exporting) *,body:not(.qn-exporting) *::before,body:not(.qn-exporting) *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}
