/* TTC Premium Refactor Layer
 * Centralizes high-impact dashboard polish so templates depend less on inline styling.
 * This file intentionally overrides only TTC surfaces.
 */
.ttc-dashboard-v3,.ttc-question-library-page,.ttc-student-dashboard,.ttc-teacher-dashboard,.ttc-parent-dashboard,.ttc-school-dashboard{--ttc-surface-bg:linear-gradient(135deg,#07111f 0%,#0b1730 50%,#101827 100%);--ttc-card-bg:rgba(255,255,255,.08);--ttc-card-border:rgba(255,255,255,.12);--ttc-card-shadow:0 18px 55px rgba(0,0,0,.22);--ttc-text-strong:#f8fafc;--ttc-text-soft:#cbd5e1;--ttc-accent:#f6c768;--ttc-accent-2:#38bdf8}
.ttc-dashboard-v3{position:relative;isolation:isolate;overflow:hidden;background:var(--ttc-surface-bg);color:var(--ttc-text-soft)}
.ttc-dashboard-v3:before{content:"";position:absolute;inset:-20%;z-index:-1;background:radial-gradient(circle at top left,rgba(56,189,248,.22),transparent 34%),radial-gradient(circle at bottom right,rgba(246,199,104,.16),transparent 35%);pointer-events:none}
.ttc-dashboard-v3 .ttc-premium-card,.ttc-dashboard-v3 .ttc-card,.ttc-dashboard-v3 .dashboard-card,.ttc-question-library-page .ttc-card{background:var(--ttc-card-bg)!important;border:1px solid var(--ttc-card-border)!important;box-shadow:var(--ttc-card-shadow);backdrop-filter:blur(18px);border-radius:22px}
.ttc-dashboard-v3 h1,.ttc-dashboard-v3 h2,.ttc-dashboard-v3 h3,.ttc-question-library-page h1,.ttc-question-library-page h2,.ttc-question-library-page h3{color:var(--ttc-text-strong);letter-spacing:-.02em}
.ttc-dashboard-v3 p,.ttc-dashboard-v3 li,.ttc-dashboard-v3 td,.ttc-dashboard-v3 span{color:inherit}
.ttc-dashboard-v3 button,.ttc-dashboard-v3 .button,.ttc-question-library-page button,.ttc-question-library-page .button{border-radius:999px!important;font-weight:700;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}
.ttc-dashboard-v3 button:hover,.ttc-dashboard-v3 .button:hover,.ttc-question-library-page button:hover,.ttc-question-library-page .button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(15,23,42,.18)}
.ttc-dashboard-v3 input,.ttc-dashboard-v3 select,.ttc-dashboard-v3 textarea,.ttc-question-library-page input,.ttc-question-library-page select,.ttc-question-library-page textarea{border-radius:14px!important;border:1px solid rgba(148,163,184,.32)!important;background:rgba(255,255,255,.92)!important;color:#0f172a!important}
.ttc-dashboard-v3 table,.ttc-question-library-page table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden;border-radius:18px}
.ttc-dashboard-v3 img,.ttc-question-library-page img{max-width:100%;height:auto}
.ttc-surface-shell{max-width:1280px;margin:0 auto;padding:clamp(16px,3vw,34px)}
.ttc-premium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(14px,2vw,24px)}
.ttc-action-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.ttc-muted{color:var(--ttc-text-soft)}
@media(max-width:782px){.ttc-dashboard-v3{padding:12px}.ttc-dashboard-v3 .ttc-premium-card,.ttc-dashboard-v3 .ttc-card,.ttc-dashboard-v3 .dashboard-card{border-radius:18px}.ttc-action-row{align-items:stretch}.ttc-action-row>*{width:100%}}


/* Production analytics widgets: replaces mock chart placeholders with real, accessible metric visuals. */
.ttc-live-chart { min-height: 260px; }
.ttc-metric-row { display: flex; flex-direction: column; gap: 8px; margin: 14px 0; }
.ttc-metric-label { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; color: var(--ttc-text-main, #e5e7eb); }
.ttc-metric-label strong { color: var(--ttc-accent, #67e8f9); white-space: nowrap; }
.ttc-meter { height: 10px; border-radius: 999px; overflow: hidden; background: rgba(148, 163, 184, 0.18); border: 1px solid rgba(148, 163, 184, 0.18); }
.ttc-meter span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, rgba(34,211,238,.75), rgba(168,85,247,.85)); }
.ttc-license-donut { width: 150px; height: 150px; margin: 20px auto; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at center, var(--ttc-panel-bg, #0f172a) 0 54%, transparent 55%), conic-gradient(rgba(34,211,238,.9) var(--ttc-license-efficiency, 0%), rgba(148,163,184,.18) 0); border: 1px solid rgba(148,163,184,.2); }
.ttc-license-donut-value { font-size: 28px; font-weight: 800; color: var(--ttc-text-main, #fff); }
.ttc-mini-stats > div { padding: 14px; border: 1px solid rgba(148,163,184,.16); border-radius: 14px; background: rgba(15, 23, 42, .35); }
.ttc-mini-stats strong { display:block; font-size: 22px; color: var(--ttc-text-main, #fff); }
.ttc-mini-stats span { display:block; font-size: 12px; color: var(--ttc-text-muted, #94a3b8); }
