/* Cohesive 2026 interface: high contrast, clear hierarchy, dark/light themes. */
:root {
  color-scheme: light;
  --tg-canvas:#f1f2f8; --tg-surface:#fff; --tg-surface-2:#f7f8fc;
  --tg-ink:#202338; --tg-muted:#697087; --tg-border:#e1e4ef;
  --tg-accent:#8a5cf6; --tg-accent-2:#6544d6; --tg-cyan:#18c7d2;
  --tg-sidebar:#15182b; --tg-sidebar-2:#1b1e35; --tg-glow:rgba(138,92,246,.14);
  --tg-shadow:0 14px 38px rgba(26,28,53,.08);
}
html[data-theme="dark"] {
  color-scheme:dark;
  --tg-canvas:#111426; --tg-surface:#191d32; --tg-surface-2:#20243b;
  --tg-ink:#f2f4ff; --tg-muted:#a3a9c2; --tg-border:#2d334e;
  --tg-accent:#b36bfa; --tg-accent-2:#8b5cf6; --tg-cyan:#19d3d5;
  --tg-sidebar:#101326; --tg-sidebar-2:#191c32; --tg-glow:rgba(148,92,246,.19);
  --tg-shadow:0 18px 48px rgba(0,0,0,.24);
}
html,body{max-width:100%;overflow-x:hidden}
body{background:var(--tg-canvas)!important;color:var(--tg-ink);font-family:Inter,"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
button,a,input,select,textarea{transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.theme-switch{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:0 13px;border:1px solid var(--tg-border);border-radius:13px;background:var(--tg-surface-2);color:var(--tg-ink);font-size:11px;font-weight:750;white-space:nowrap;box-shadow:0 4px 14px rgba(20,24,45,.05)}
.theme-switch:hover,.bb-theme-toggle:hover{border-color:var(--tg-accent)!important;background:var(--tg-glow)!important;color:var(--tg-accent)!important}
.theme-switch [data-theme-icon],.bb-theme-toggle [data-theme-icon]{font-size:17px;line-height:1;color:var(--tg-cyan)}

/* Back office shell and navigation */
#page-topbar.bb-topbar{height:78px;background:color-mix(in srgb,var(--tg-surface) 90%,transparent);border-bottom:1px solid var(--tg-border);box-shadow:0 8px 30px rgba(14,17,38,.08);backdrop-filter:blur(18px)}
#page-topbar.bb-topbar .navbar-header{padding:0 28px;gap:22px}
.bb-topbar-current strong,.bb-account-copy strong{color:var(--tg-ink)!important}
.bb-topbar-current span,.bb-account-copy small{color:var(--tg-muted)!important}
.bb-topbar-divider{background:var(--tg-border)!important}
.bb-topbar-actions{gap:10px}
.bb-menu-toggle,.bb-icon-button,.bb-account-button{background:var(--tg-surface-2)!important;border-color:var(--tg-border)!important;color:var(--tg-ink)!important}
.bb-icon-button{width:42px;height:42px;border-radius:14px}
.bb-theme-toggle{font-size:19px}
.bb-account-button{min-height:44px;border-radius:14px}
.bb-license-pill{background:var(--tg-surface-2);border-color:var(--tg-border);color:var(--tg-ink)}
.bb-license-copy strong{color:var(--tg-muted)}
.bb-sidebar,.bb-sidebar .navbar-brand-box{background:var(--tg-sidebar)!important}
.bb-sidebar{border-right:1px solid rgba(255,255,255,.06);box-shadow:8px 0 32px rgba(6,8,22,.19)}
.bb-sidebar .navbar-brand-box{border-bottom-color:rgba(255,255,255,.09);background:var(--tg-sidebar)!important}
.bb-sidebar .nav-link.menu-link{min-height:48px;margin:3px 0;border-radius:12px;color:#c4c9df!important}
.bb-sidebar .nav-link.menu-link span{color:inherit!important}
.bb-sidebar .nav-link.menu-link>i{color:#9da4c2!important}
.bb-sidebar .nav-link.menu-link:hover,.bb-sidebar .nav-link.menu-link:focus{background:rgba(138,92,246,.16)!important;color:#fff!important}
.bb-sidebar .nav-link.menu-link:hover>i{color:#b994ff!important}
.bb-sidebar .nav-link.menu-link.active{background:linear-gradient(100deg,rgba(138,92,246,.32),rgba(24,199,210,.10))!important;color:#fff!important;box-shadow:inset 3px 0 #b36bfa}
.bb-sidebar .nav-link.menu-link.active>i{color:#d2b5ff!important}
.bb-sidebar .menu-title,.bb-sidebar .menu-title span{color:#8189aa!important}
.bb-sidebar-footer{color:#b4bad1!important;border-top-color:rgba(255,255,255,.1)}
.bb-sidebar-footer i,.bb-menu-dot{color:var(--tg-cyan)!important;background:var(--tg-cyan)!important}
.bb-sidebar-wordmark{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.97)}
.page-content{min-height:calc(100vh - 78px);padding:calc(78px + 26px) 26px 32px;background:radial-gradient(ellipse at 88% 0,var(--tg-glow),transparent 31%),var(--tg-canvas)!important;color:var(--tg-ink)}
.page-title-box{margin-bottom:22px}
.page-title-box h4,.page-title-box .page-title{color:var(--tg-ink)!important;font-size:clamp(22px,2vw,30px);font-weight:800;letter-spacing:-.04em}
.page-title-box .breadcrumb,.page-title-box .breadcrumb-item{color:var(--tg-muted)}
.page-title-box .breadcrumb-item a{color:var(--tg-accent)}
.page-content h1,.page-content h2,.page-content h3,.page-content h4,.page-content h5,.page-content h6,.page-content .card-title{color:var(--tg-ink)}
.page-content p,.page-content .text-muted,.page-content .text-body-secondary{color:var(--tg-muted)}
.page-content label,.page-content .form-label{color:var(--tg-ink)}
.card,.modal-content,.dropdown-menu,.popover{border:1px solid var(--tg-border);border-radius:18px;background:var(--tg-surface);color:var(--tg-ink);box-shadow:var(--tg-shadow)}
.card{overflow:hidden}.card-header{background:var(--tg-surface-2);border-bottom:1px solid var(--tg-border);color:var(--tg-ink)}
.card-header h5,.card-header h4,.card-title{color:var(--tg-ink)!important;font-weight:760}
.card-body{min-width:0;color:var(--tg-ink)}
.form-control,.form-select,select.form-control{min-height:44px;border:1px solid var(--tg-border);border-radius:12px;background-color:var(--tg-surface-2);color:var(--tg-ink)}
.form-control::placeholder{color:var(--tg-muted);opacity:.8}
.form-control:focus,.form-select:focus{border-color:var(--tg-accent);background:var(--tg-surface);color:var(--tg-ink);box-shadow:0 0 0 .22rem var(--tg-glow)}
.input-group-text{border-color:var(--tg-border);background:var(--tg-surface-2);color:var(--tg-muted)}
.btn-primary,.btn-primary:focus{border-color:var(--tg-accent-2)!important;background:linear-gradient(110deg,var(--tg-accent-2),var(--tg-accent))!important;color:#fff!important;box-shadow:0 8px 20px var(--tg-glow)}
.btn-primary:hover{filter:brightness(1.08)}.btn-success{background:#159b91!important;border-color:#159b91!important;color:white!important}
.btn-light,.btn-outline-secondary{border-color:var(--tg-border)!important;background:var(--tg-surface-2)!important;color:var(--tg-ink)!important}
.btn-light:hover,.btn-outline-secondary:hover{border-color:var(--tg-accent)!important;background:var(--tg-glow)!important;color:var(--tg-accent)!important}
.btn-outline-primary{border-color:var(--tg-accent)!important;color:var(--tg-accent)!important}.btn-outline-primary:hover{background:var(--tg-accent)!important;color:#fff!important}
.text-primary{color:var(--tg-accent)!important}.bg-primary,.badge.bg-primary{background-color:var(--tg-accent-2)!important}
.table{--bs-table-color:var(--tg-ink);--bs-table-bg:transparent;--bs-table-border-color:var(--tg-border);color:var(--tg-ink);vertical-align:middle}
.table thead th,.table .thead-light th,.table-light th{background:var(--tg-surface-2)!important;color:var(--tg-muted)!important;border-color:var(--tg-border)!important;font-size:.74rem;font-weight:800;letter-spacing:.04em}
.table tbody td{color:var(--tg-ink);border-color:var(--tg-border)}.table tbody tr:hover>*{background:var(--tg-glow);color:var(--tg-ink)}
.table-responsive{max-width:100%;border-radius:13px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.dropdown-menu{padding:8px}.dropdown-item{border-radius:9px;color:var(--tg-ink)}.dropdown-item:hover,.dropdown-item:focus{background:var(--tg-glow);color:var(--tg-accent)}
.modal-header{background:var(--tg-surface-2);border-color:var(--tg-border)}.modal-header .modal-title{color:var(--tg-ink)}.modal-body{color:var(--tg-ink)}.modal-footer{background:var(--tg-surface-2);border-color:var(--tg-border)}
.alert{border-radius:14px}.progress{background:var(--tg-surface-2)}.progress-bar{background:linear-gradient(90deg,var(--tg-accent-2),var(--tg-cyan))}
.nav-tabs{border-color:var(--tg-border)}.nav-tabs .nav-link{color:var(--tg-muted)}.nav-tabs .nav-link.active{background:var(--tg-surface);color:var(--tg-accent);border-color:var(--tg-border) var(--tg-border) var(--tg-surface)}.nav-pills .nav-link.active{background:var(--tg-accent-2)}
.dataTables_wrapper,.dataTables_wrapper label,.dataTables_info,.dataTables_wrapper .dataTables_length select{color:var(--tg-muted)!important}
.dataTables_wrapper .dataTables_filter input,.dataTables_wrapper .dataTables_length select{border:1px solid var(--tg-border);border-radius:9px;background:var(--tg-surface-2);color:var(--tg-ink)}
.fc .fc-button-primary{border-color:var(--tg-accent-2)!important;background:var(--tg-accent-2)!important;color:#fff!important}.fc .fc-col-header-cell{background:var(--tg-surface-2)}.fc .fc-col-header-cell-cushion,.fc .fc-daygrid-day-number{color:var(--tg-ink)}.fc .fc-day-today{background:var(--tg-glow)!important}
.bb-dashboard{color:var(--tg-ink)}.bb-dashboard .bb-metric,.bb-dashboard .bb-action-card,.bb-dashboard .bb-finance-chart-card{border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-ink);box-shadow:var(--tg-shadow)}
.bb-dashboard .bb-metric-value,.bb-dashboard .bb-section-heading h2,.bb-dashboard .bb-finance-chart-heading h3,.bb-dashboard .bb-action-card strong{color:var(--tg-ink)}
.bb-dashboard .bb-metric-label,.bb-dashboard .bb-metric-foot,.bb-dashboard .bb-metric-tag,.bb-dashboard .bb-finance-chart-heading p,.bb-dashboard .bb-action-card small{color:var(--tg-muted)}
.finance-page .finance-kpi,.finance-page .finance-panel,.finance-page .finance-filterbar,.finance-page .finance-payment-kpi,.finance-page .finance-gate{border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-ink);box-shadow:var(--tg-shadow)}
.finance-page .finance-panel-heading h2,.finance-page .finance-kpi>strong,.finance-page .finance-person,.finance-page .finance-strong,.finance-page .finance-ledger td strong,.finance-page .finance-gate h1{color:var(--tg-ink)}
.finance-page .finance-panel-heading p,.finance-page .finance-kpi-top,.finance-page .finance-kpi>small,.finance-page .finance-date-cell,.finance-page .finance-footnote,.finance-page .finance-note,.finance-page .finance-split-legend>div{color:var(--tg-muted)}
.finance-page .finance-table thead th{background:var(--tg-surface-2);border-color:var(--tg-border);color:var(--tg-muted)}.finance-page .finance-table tbody td{border-color:var(--tg-border);color:var(--tg-ink)}
.instructor-courses-page .instructor-course-toolbar,.instructor-courses-page .instructor-course-card,.instructor-courses-page .course-students-panel,.groove-calendar-card{border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-ink);box-shadow:var(--tg-shadow)}
.instructor-courses-page .instructor-course-card h3,.instructor-courses-page .course-instructor strong,.instructor-courses-page .course-card-footer>span strong,.instructor-courses-page .course-students-heading h2,.instructor-courses-page .student-name-cell strong,.groove-calendar-heading h5{color:var(--tg-ink)}
.instructor-courses-page .course-discipline,.instructor-courses-page .course-card-meta,.instructor-courses-page .course-card-footer>span,.instructor-courses-page .course-instructor small,.instructor-courses-page .course-students-heading p{color:var(--tg-muted)}
.groove-calendar-heading p,.groove-calendar-heading .groove-calendar-eyebrow{color:var(--tg-accent)}

/* Student portal: padded brand bar, improved hierarchy and theme-safe surfaces. */
.student-portal{min-height:100vh;background:radial-gradient(ellipse at 84% 0,var(--tg-glow),transparent 35%),var(--tg-canvas)!important;color:var(--tg-ink)!important}
.student-shell{width:min(1180px,calc(100% - 40px));padding:22px 0 40px}
body.student-portal{display:flex;flex-direction:column}.student-portal>.student-shell{flex:1}
.portal-header{min-height:76px;margin:0 0 24px;padding:13px 19px;border:1px solid var(--tg-border);border-radius:19px;background:var(--tg-surface);box-shadow:var(--tg-shadow)}
.studio-brand{min-width:0}.studio-brand-mark{width:auto!important;height:auto!important;padding:2px 4px;background:none!important;box-shadow:none!important}.studio-brand-mark img{display:block;width:152px;height:auto;max-height:48px;object-fit:contain}
.portal-header-actions{display:flex;align-items:center;gap:16px}.portal-label{color:var(--tg-muted)!important;font-size:10px;letter-spacing:.12em}.portal-live-dot{background:var(--tg-cyan)!important;box-shadow:0 0 0 4px rgba(24,199,210,.16)!important}
.lookup-card{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:34px;padding:35px 38px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:radial-gradient(ellipse at 88% 0,rgba(24,199,210,.25),transparent 34%),linear-gradient(120deg,#181a31,#292049 66%,#283a66);box-shadow:0 22px 55px rgba(28,22,70,.2)}
.lookup-form{padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:17px;background:rgba(13,16,35,.38);backdrop-filter:blur(12px)}
.student-portal .lookup-card{background:radial-gradient(ellipse at 88% 0,rgba(24,199,210,.25),transparent 34%),linear-gradient(120deg,#181a31,#292049 66%,#283a66)!important;color:#fff!important}
.student-portal .lookup-copy h1,.student-portal .lookup-form label{color:#fff!important}.student-portal .lookup-copy p{color:#d8dcef!important}.student-portal .lookup-form small{color:#c3c9e3!important}
.lookup-form label{color:#f3f4ff}.lookup-form small{color:#c3c9e3}.lookup-input-row .form-control{background:#fff;color:#222338}
.btn-groove,.dialog-actions .btn-dialog-primary{background:linear-gradient(110deg,#8a5cf6,#5d68ed)!important;border-color:transparent!important;color:white!important;box-shadow:0 8px 18px rgba(92,74,205,.24)}
.section-eyebrow,.profile-eyebrow,.portal-label{color:var(--tg-accent)!important}
.lookup-copy .section-eyebrow,.lookup-copy .profile-eyebrow{color:#c7b0ff!important}
.profile-hero,.subscription-card,.content-card,.stat-card,.lookup-card:not(:has(.lookup-copy)){background:var(--tg-surface);border-color:var(--tg-border);box-shadow:var(--tg-shadow)}
.profile-identity h2,.subscription-heading h3,.content-heading h3,.student-selected-date,.student-date-chip strong{color:var(--tg-ink)}
.student-contact,.student-number,.subscription-details span,.content-heading p,.student-selected-date span{color:var(--tg-muted)}
.profile-points{border-radius:17px;background:linear-gradient(140deg,#6e4ad4,#302b66)!important;color:white}.profile-points>span,.profile-points small{color:#e0d8ff}.profile-points strong{color:#fff}
.student-avatar{background:var(--tg-glow)!important;color:var(--tg-accent)!important}
.stats-grid .stat-card{background:var(--tg-surface)!important;border-color:var(--tg-border)!important}.stat-card small,.stat-card>span:last-child{color:var(--tg-muted)}.stat-card strong{color:var(--tg-ink)}
.content-card{border-radius:18px}.subscription-card{border-radius:18px}.activity-table th{background:var(--tg-surface-2);color:var(--tg-muted)}.activity-table td{color:var(--tg-ink);border-color:var(--tg-border)}
.calendar-scroll{border-color:var(--tg-border)}.student-date-chip{border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-muted)}.student-date-chip.is-today{border-color:var(--tg-accent);background:var(--tg-glow);color:var(--tg-accent)}.student-date-chip.is-selected{border-color:transparent;background:linear-gradient(135deg,#7049dc,#394aab);color:#fff}
.student-course-card{border-color:var(--tg-border);background:var(--tg-surface)}.student-course-teacher div strong,.student-course-teacher div span,.student-course-teacher div small,.student-course-teacher>b{color:var(--tg-ink)}.student-course-foot{border-color:var(--tg-border)}.student-course-foot button{background:linear-gradient(110deg,#7650e2,#5462d7);color:#fff}.student-course-foot .course-value{color:var(--tg-muted)}.student-no-courses{border-color:var(--tg-border);color:var(--tg-muted)}.portal-footer{color:var(--tg-muted)}
.student-room-filter,.student-room-filter select{color:var(--tg-ink)}.student-room-filter select{border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-ink)}
.reserve-dialog{border-color:var(--tg-border);background:var(--tg-surface);color:var(--tg-ink)}

/* Authentication view */
.bb-auth-page{min-height:100vh;padding:34px 20px;background:radial-gradient(ellipse at 5% 0,rgba(138,92,246,.13),transparent 33%),radial-gradient(ellipse at 95% 92%,rgba(24,199,210,.1),transparent 32%),var(--tg-canvas)!important}
.bb-auth-page:before{background-image:linear-gradient(rgba(138,92,246,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(138,92,246,.045) 1px,transparent 1px)}
.bb-auth-shell{position:relative;width:min(1050px,100%);margin:auto}.bb-auth-card{display:grid;grid-template-columns:1fr 1fr;min-height:590px;border:1px solid var(--tg-border);border-radius:28px;background:var(--tg-surface);box-shadow:0 30px 90px rgba(21,17,52,.16)}
.bb-auth-visual{display:flex;align-items:center;padding:clamp(30px,5vw,64px);background:radial-gradient(ellipse at 10% 0,rgba(179,107,250,.34),transparent 40%),linear-gradient(145deg,#191a35,#292148 58%,#20355e)}
.bb-auth-visual-inner{width:100%}.bb-auth-logo-wrap{min-height:180px;width:100%;justify-content:flex-start}.bb-auth-logo-wrap img{width:min(340px,100%)!important;filter:brightness(0) invert(1)}
.bb-auth-hero-copy p{color:#d6d9ef}.bb-auth-kicker{color:#fff!important;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.bb-auth-feature-card{border-color:rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#f5f5ff}.bb-auth-feature-card i{color:#57d9e0!important}
.bb-auth-form-panel{position:relative;justify-content:center;padding:clamp(30px,5vw,64px);background:var(--tg-surface);color:var(--tg-ink)}
.bb-auth-form-panel:before{background:radial-gradient(circle at 90% 10%,rgba(138,92,246,.09),transparent 32%)}
.bb-auth-form-header h2{color:var(--tg-ink)!important;font-size:clamp(34px,4vw,46px);letter-spacing:-.045em}.bb-auth-form-header p{color:var(--tg-muted)!important}
.bb-auth-field .form-label{color:var(--tg-ink)!important}.bb-auth-field .form-control{min-height:50px;padding-left:45px;border-color:var(--tg-border);border-radius:13px;background:var(--tg-surface-2);color:var(--tg-ink)}
.bb-auth-input-wrap>i{color:var(--tg-accent)!important}.bb-auth-eye-btn{color:var(--tg-muted)}
.bb-auth-options{color:var(--tg-muted)}.bb-auth-check .form-check-label{color:var(--tg-muted)}.bb-auth-status{color:#178b84!important}
.bb-auth-login-btn{min-height:52px;border-radius:13px;background:linear-gradient(110deg,#7149d5,#9a58e8)!important;color:white!important}
.auth-theme-switch{position:absolute;z-index:5;top:18px;right:20px}

/* Dark palette overrides for older page-specific rules with hardcoded colors. */
html[data-theme="dark"] .page-content .card,html[data-theme="dark"] .page-content .card-body{color:var(--tg-ink)}
html[data-theme="dark"] .page-content h1,html[data-theme="dark"] .page-content h2,html[data-theme="dark"] .page-content h3,html[data-theme="dark"] .page-content h4,html[data-theme="dark"] .page-content h5,html[data-theme="dark"] .page-content h6,html[data-theme="dark"] .page-content label,html[data-theme="dark"] .page-content .form-label,html[data-theme="dark"] .page-content .card-title{color:var(--tg-ink)!important}
html[data-theme="dark"] .page-content p,html[data-theme="dark"] .page-content .text-muted,html[data-theme="dark"] .page-content .text-body-secondary{color:var(--tg-muted)!important}
html[data-theme="dark"] .page-content .bg-light,html[data-theme="dark"] .page-content .table-light,html[data-theme="dark"] .page-content .thead-light th{background:var(--tg-surface-2)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .page-content .text-dark{color:var(--tg-ink)!important}
html[data-theme="dark"] .page-content .form-control,html[data-theme="dark"] .page-content .form-select,html[data-theme="dark"] .page-content input,html[data-theme="dark"] .page-content select,html[data-theme="dark"] .page-content textarea{background-color:var(--tg-surface-2);border-color:var(--tg-border);color:var(--tg-ink)}
html[data-theme="dark"] .page-content .btn-light,html[data-theme="dark"] .page-content .btn-outline-secondary{background:var(--tg-surface-2)!important;border-color:var(--tg-border)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .page-content .table,html[data-theme="dark"] .page-content .table tbody td{color:var(--tg-ink)}
html[data-theme="dark"] .page-content .fc,html[data-theme="dark"] .page-content .fc-theme-standard td,html[data-theme="dark"] .page-content .fc-theme-standard th{border-color:var(--tg-border)}
html[data-theme="dark"] .page-content .fc .fc-scrollgrid,html[data-theme="dark"] .page-content .fc .fc-list{border-color:var(--tg-border)}
html[data-theme="dark"] .page-content .fc .fc-daygrid-day,.fc .fc-timegrid-slot{background:var(--tg-surface)}
html[data-theme="dark"] .dropdown-menu,html[data-theme="dark"] .modal-content{background:var(--tg-surface);color:var(--tg-ink)}
html[data-theme="dark"] .bb-dashboard .bb-metric,html[data-theme="dark"] .bb-dashboard .bb-action-card,html[data-theme="dark"] .bb-dashboard .bb-finance-chart-card{border-color:var(--tg-border)!important;background:var(--tg-surface)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .bb-dashboard .bb-metric-value,html[data-theme="dark"] .bb-dashboard .bb-section-heading h2,html[data-theme="dark"] .bb-dashboard .bb-finance-chart-heading h3,html[data-theme="dark"] .bb-dashboard .bb-action-card strong{color:var(--tg-ink)!important}
html[data-theme="dark"] .bb-dashboard .bb-metric-label,html[data-theme="dark"] .bb-dashboard .bb-metric-foot,html[data-theme="dark"] .bb-dashboard .bb-metric-tag,html[data-theme="dark"] .bb-dashboard .bb-finance-chart-heading p,html[data-theme="dark"] .bb-dashboard .bb-action-card small{color:var(--tg-muted)!important}
html[data-theme="dark"] .finance-page .finance-kpi,html[data-theme="dark"] .finance-page .finance-panel,html[data-theme="dark"] .finance-page .finance-filterbar,html[data-theme="dark"] .finance-page .finance-payment-kpi,html[data-theme="dark"] .finance-page .finance-gate{border-color:var(--tg-border)!important;background:var(--tg-surface)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .finance-page .finance-hero{background:linear-gradient(120deg,#252044,#34275a 65%,#23395e);border-color:#383353}
html[data-theme="dark"] .finance-page h1,html[data-theme="dark"] .finance-page h2,html[data-theme="dark"] .finance-page h3,html[data-theme="dark"] .finance-page .finance-panel-heading h2,html[data-theme="dark"] .finance-page .finance-kpi>strong,html[data-theme="dark"] .finance-page .finance-person,html[data-theme="dark"] .finance-page .finance-strong,html[data-theme="dark"] .finance-page .finance-ledger td strong,html[data-theme="dark"] .finance-page .finance-gate h1,html[data-theme="dark"] .finance-page .finance-empty strong{color:var(--tg-ink)!important}
html[data-theme="dark"] .finance-page .finance-panel-heading p,html[data-theme="dark"] .finance-page .finance-kpi-top,html[data-theme="dark"] .finance-page .finance-kpi>small,html[data-theme="dark"] .finance-page .finance-date-cell,html[data-theme="dark"] .finance-page .finance-footnote,html[data-theme="dark"] .finance-page .finance-note,html[data-theme="dark"] .finance-page .finance-split-legend>div,html[data-theme="dark"] .finance-page .finance-gate>p,html[data-theme="dark"] .finance-page .finance-gate>small{color:var(--tg-muted)!important}
html[data-theme="dark"] .finance-page .finance-table thead th{background:var(--tg-surface-2)!important;border-color:var(--tg-border)!important;color:var(--tg-muted)!important}html[data-theme="dark"] .finance-page .finance-table tbody td{border-color:var(--tg-border)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .finance-page .finance-live-tag,html[data-theme="dark"] .finance-page .finance-row-count{background:var(--tg-surface-2);border-color:var(--tg-border);color:var(--tg-muted)}
html[data-theme="dark"] .instructor-courses-page .instructor-course-toolbar,html[data-theme="dark"] .instructor-courses-page .instructor-course-card,html[data-theme="dark"] .instructor-courses-page .course-students-panel,html[data-theme="dark"] .groove-calendar-card{border-color:var(--tg-border)!important;background:var(--tg-surface)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .instructor-courses-page .instructor-course-card h3,html[data-theme="dark"] .instructor-courses-page .course-instructor strong,html[data-theme="dark"] .instructor-courses-page .course-card-footer>span strong,html[data-theme="dark"] .instructor-courses-page .course-students-heading h2,html[data-theme="dark"] .instructor-courses-page .student-name-cell strong,html[data-theme="dark"] .groove-calendar-heading h5{color:var(--tg-ink)!important}
html[data-theme="dark"] .instructor-courses-page .course-discipline,html[data-theme="dark"] .instructor-courses-page .course-card-meta,html[data-theme="dark"] .instructor-courses-page .course-card-footer>span,html[data-theme="dark"] .instructor-courses-page .course-instructor small,html[data-theme="dark"] .instructor-courses-page .course-students-heading p,html[data-theme="dark"] .groove-calendar-heading p{color:var(--tg-muted)!important}
html[data-theme="dark"] .instructor-courses-page .course-students-table,html[data-theme="dark"] .instructor-courses-page .course-students-table tbody td{color:var(--tg-ink)}html[data-theme="dark"] .instructor-courses-page .course-students-table thead th{background:var(--tg-surface-2);border-color:var(--tg-border);color:var(--tg-muted)}

html[data-theme="dark"] body.student-portal{background:radial-gradient(ellipse at 84% 0,var(--tg-glow),transparent 35%),var(--tg-canvas)!important;color:var(--tg-ink)!important}
html[data-theme="dark"] .student-portal .studio-brand-mark img{filter:brightness(0) invert(1)}
html[data-theme="dark"] body.student-portal{display:flex;flex-direction:column}
html[data-theme="dark"] body.student-portal>.tg-legal-footer{margin-top:auto;background:#191d32;border-color:#2d334e;color:#a3a9c2}
html[data-theme="dark"] body.student-portal>.tg-legal-footer .tg-legal-brand img{filter:brightness(0) invert(1)}
html[data-theme="dark"] body.student-portal>.tg-legal-footer .tg-legal-links a,html[data-theme="dark"] body.student-portal>.tg-legal-footer .tg-legal-company a{color:#c2b0ff}
html[data-theme="dark"] body.student-portal>.tg-legal-footer .tg-legal-company{border-color:#2d334e;color:#a3a9c2}
html[data-theme="dark"] body.student-portal>.tg-legal-footer .tg-legal-company strong{color:#eef0ff}
html[data-theme="dark"] .student-portal .portal-header,html[data-theme="dark"] .student-portal .subscription-card,html[data-theme="dark"] .student-portal .content-card,html[data-theme="dark"] .student-portal .stat-card,html[data-theme="dark"] .student-portal .profile-hero{background:var(--tg-surface)!important;border-color:var(--tg-border)!important;color:var(--tg-ink)}
html[data-theme="dark"] .student-portal .lookup-card{background:radial-gradient(ellipse at 88% 0,rgba(24,199,210,.2),transparent 34%),linear-gradient(120deg,#171a31,#252044 66%,#1c3152)!important}
html[data-theme="dark"] .student-portal .subscription-details strong,html[data-theme="dark"] .student-portal .activity-table td,html[data-theme="dark"] .student-portal .content-heading h3,html[data-theme="dark"] .student-portal .profile-identity h2{color:var(--tg-ink)!important}
html[data-theme="dark"] .student-portal .activity-table th{background:var(--tg-surface-2);color:var(--tg-muted)!important}
html[data-theme="dark"] .student-portal .student-course-card,html[data-theme="dark"] .student-portal .student-date-chip{background:var(--tg-surface-2);border-color:var(--tg-border);color:var(--tg-ink)}
html[data-theme="dark"] .student-portal .student-course-teacher div strong,html[data-theme="dark"] .student-portal .student-course-teacher div span,html[data-theme="dark"] .student-portal .student-course-teacher div small,html[data-theme="dark"] .student-portal .student-course-teacher>b,html[data-theme="dark"] .student-portal .student-selected-date strong{color:var(--tg-ink)!important}
html[data-theme="dark"] .student-portal .student-course-foot,html[data-theme="dark"] .student-portal .profile-points{border-color:var(--tg-border)}

html[data-theme="dark"] .bb-auth-page{background:radial-gradient(ellipse at 5% 0,rgba(138,92,246,.16),transparent 33%),radial-gradient(ellipse at 95% 92%,rgba(24,199,210,.08),transparent 32%),#0d1020!important}
html[data-theme="dark"] .bb-auth-card{background:#171a2d;border-color:#2a2f4a}
html[data-theme="dark"] .bb-auth-form-panel{background:#171a2d;color:#f2f4ff}
html[data-theme="dark"] .bb-auth-form-header h2,html[data-theme="dark"] .bb-auth-field .form-label{color:#f2f4ff!important}
html[data-theme="dark"] .bb-auth-form-header p{color:#a3a9c2!important}
html[data-theme="dark"] .bb-auth-field .form-control{background:#20243a;border-color:#353b58;color:#f6f6ff}
html[data-theme="dark"] .bb-auth-check .form-check-label{color:#b0b6cf}

html[data-theme="dark"] .groove-registration{background:radial-gradient(ellipse at 92% 8%,rgba(138,92,246,.12),transparent 32%),#111426!important;color:#f2f4ff}
html[data-theme="dark"] .groove-registration .reg-header{border-color:#2d334e}
html[data-theme="dark"] .groove-registration .reg-brand,html[data-theme="dark"] .groove-registration .profile-link,html[data-theme="dark"] .groove-registration .panel-heading h2,html[data-theme="dark"] .groove-registration .form-top h2{color:#f2f4ff}
html[data-theme="dark"] .groove-registration .reg-panel,html[data-theme="dark"] .groove-registration .success-content{background:#191d32;border-color:#2d334e}
html[data-theme="dark"] .groove-registration .choice-card,html[data-theme="dark"] .groove-registration .guardian-fields,html[data-theme="dark"] .groove-registration .field input,html[data-theme="dark"] .groove-registration .field select{background:#20243b;border-color:#353b58;color:#f2f4ff}
html[data-theme="dark"] .groove-registration .field,html[data-theme="dark"] .groove-registration .consent-row{color:#d5d9ed}
html[data-theme="dark"] .groove-registration .consent-row details,html[data-theme="dark"] .groove-registration .choice-desc,html[data-theme="dark"] .groove-registration .reg-intro p{color:#a3a9c2}
html[data-theme="dark"] .groove-registration .checkmark{background:#20243b;border-color:#565d7a}
html[data-theme="dark"] .groove-registration .package-preview,html[data-theme="dark"] .groove-registration .package-payment-info,html[data-theme="dark"] .groove-registration .student-code{background:#222742;border-color:#40486a}
html[data-theme="dark"] .groove-registration .package-preview strong,html[data-theme="dark"] .groove-registration .package-payment-info strong,html[data-theme="dark"] .groove-registration .student-code strong{color:#f2f4ff}
html[data-theme="dark"] .groove-registration .eyebrow{color:#aebce8!important}
html[data-theme="dark"] .groove-registration .reg-intro h1 em,html[data-theme="dark"] .groove-registration .success-content h2 em{color:#bd9aff!important}
html[data-theme="dark"] .groove-registration .choice-icon,html[data-theme="dark"] .groove-registration .choice-arrow{color:#6fe0e5!important}
html[data-theme="dark"] .groove-registration .step-number{background:#302752;color:#d5c2ff}
html[data-theme="dark"] .groove-registration .intro-orbit{border-color:rgba(175,153,238,.45)}
html[data-theme="dark"] .groove-registration .orbit-two{border-color:rgba(72,205,224,.42)}
html[data-theme="dark"] .groove-registration .intro-spark{color:#64d9e4}
html[data-theme="dark"] .groove-registration .reg-brand img{filter:brightness(0) invert(1)}
html[data-theme="dark"] .tg-legal-footer{background:#191d32;border-color:#2d334e;color:#a3a9c2}
html[data-theme="dark"] .tg-legal-footer .tg-legal-brand img{filter:brightness(0) invert(1)}
html[data-theme="dark"] .tg-legal-footer .tg-legal-links a,html[data-theme="dark"] .tg-legal-footer .tg-legal-company a{color:#c2b0ff}
html[data-theme="dark"] .tg-legal-footer .tg-legal-company{border-color:#2d334e;color:#a3a9c2}
html[data-theme="dark"] .tg-legal-footer .tg-legal-company strong{color:#eef0ff}
.tg-payment-brands .tg-payments-mark{padding:7px 10px;border-radius:11px;background:#fff}
html[data-theme="dark"] body.tg-legal-page{background:radial-gradient(ellipse at 88% 3%,rgba(138,92,246,.16),transparent 32%),#111426;color:#f2f4ff}
html[data-theme="dark"] .tg-legal-header{background:rgba(17,20,38,.92);border-color:#2d334e}
html[data-theme="dark"] .tg-legal-logo img{filter:brightness(0) invert(1)}
html[data-theme="dark"] .tg-legal-nav a{color:#d5d8ed}
html[data-theme="dark"] .tg-legal-index,html[data-theme="dark"] .tg-legal-content,html[data-theme="dark"] .tg-legal-mobile-index summary,html[data-theme="dark"] .tg-legal-mobile-index nav{background:#191d32;border-color:#2d334e;color:#f2f4ff}
html[data-theme="dark"] .tg-legal-index strong,html[data-theme="dark"] .tg-legal-content strong{color:#f2f4ff}
html[data-theme="dark"] .tg-legal-index a,html[data-theme="dark"] .tg-legal-content p{color:#b8bed3}
html[data-theme="dark"] .tg-legal-content h2{color:#c4a4ff;border-color:#2d334e}
html[data-theme="dark"] .tg-legal-content .legal-meta{background:#24223c;color:#e0d9f4}
html[data-theme="dark"] .tg-legal-callout{background:#1f2941;color:#d4def1}
html[data-theme="dark"] .tg-legal-bottom-nav a{border-color:#3a4161;color:#c4a4ff}
html[data-theme="dark"] .tg-legal-mobile-index summary{color:#f2f4ff}

@media(max-width:900px){.lookup-card{grid-template-columns:1fr;gap:20px}.student-shell{width:min(100% - 28px,760px)}}
@media(max-width:767.98px){#page-topbar.bb-topbar{height:66px}#page-topbar.bb-topbar .navbar-header{padding:0 12px;gap:7px}.bb-topbar-actions{gap:5px}.page-content{min-height:calc(100vh - 66px);padding:calc(66px + 16px) 13px 24px}.bb-theme-toggle{width:38px;height:38px}.bb-license-pill{display:none}.bb-auth-page{padding:72px 14px 22px}.bb-auth-card{grid-template-columns:1fr;min-height:0}.bb-auth-visual{padding:26px 24px}.bb-auth-logo-wrap{min-height:105px;justify-content:center}.bb-auth-logo-wrap img{width:min(250px,80%)!important}.bb-auth-hero-copy p{margin-bottom:8px}.bb-auth-feature-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.bb-auth-feature-card{min-height:70px;padding:11px;border-radius:14px;font-size:10px}.bb-auth-feature-card i{font-size:20px}.bb-auth-form-panel{padding:30px 25px 34px}.auth-theme-switch{top:14px;right:14px}.student-shell{padding-top:14px}.portal-header{min-height:64px;margin-bottom:15px;padding:10px 12px;border-radius:15px}.studio-brand-mark img{width:120px;max-height:42px}.portal-header-actions{gap:9px}.portal-label{font-size:0}.portal-live-dot{width:8px;height:8px}.theme-switch{min-height:38px;padding:0 10px;border-radius:11px;font-size:10px}.lookup-card{padding:24px 21px;border-radius:19px}.lookup-form{padding:16px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.content-card{padding:17px}.tg-legal-footer-inner{grid-template-columns:1fr}.reg-header{height:auto;min-height:66px;gap:10px}.reg-header-actions{display:flex;align-items:center;gap:8px}.reg-header .theme-switch{font-size:0;min-width:38px;padding:0}.reg-header .theme-switch [data-theme-icon]{font-size:18px}.reg-header .profile-link{padding:9px 10px}}
@media(max-width:520px){.student-shell{width:calc(100% - 22px)}.portal-header{padding:9px 10px}.studio-brand-mark img{width:104px}.portal-header-actions{gap:7px}.portal-header .theme-switch{font-size:0;width:36px;min-width:36px;padding:0}.portal-header .theme-switch [data-theme-icon]{font-size:17px}.lookup-card{padding:20px 16px}.lookup-form{padding:13px}.lookup-input-row{flex-direction:column}.btn-groove{width:100%}.stats-grid{gap:7px}.stat-card{padding:11px 9px}.subscription-details{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-grid{grid-template-columns:1fr}.page-title-box h4,.page-title-box .page-title{font-size:22px}.card-body{padding:15px}.reg-shell{padding:0 14px}.reg-header-actions{gap:6px}.reg-header .profile-link{font-size:10px}.bb-auth-page{padding-right:10px;padding-left:10px}.bb-auth-form-panel{padding:27px 18px}.bb-auth-feature-card{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
