:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #eef2ff;--color-secondary: #6b7280;--color-secondary-hover: #4b5563;--color-accent: #2563eb;--color-success: #10b981;--color-success-bg: #d1fae5;--color-warning: #f59e0b;--color-warning-bg: #fef3c7;--color-error: #ef4444;--color-error-bg: #fee2e2;--color-info: #3b82f6;--color-info-bg: #dbeafe;--surface: #ffffff;--surface-muted: #f3f4f6;--color-warning-text: #92400e;--brand-gradient: linear-gradient(150deg, #4f46e5, #4338ca 60%, #3730a3);--hero-cta-bg: #ffffff;--hero-cta-bg-hover: #f3f4f6;--hero-cta-border: transparent;--hero-cta-fg: var(--color-primary);--card-shadow: 0 2px 4px rgba(16, 24, 40, .1), 0 10px 28px rgba(16, 24, 40, .12);--subject-physics-hero: linear-gradient(145deg, #1e5fd6, #3b82f6 58%, #60a5fa);--subject-chemistry-hero: linear-gradient(145deg, #0a7a55, #10b981 58%, #4ade80);--subject-maths-hero: linear-gradient(145deg, #6d28d9, #8b5cf6 58%, #a78bfa);--subject-math-hero: linear-gradient(145deg, #6d28d9, #8b5cf6 58%, #a78bfa);--subject-biology-hero: linear-gradient(145deg, #b45309, #f59e0b 58%, #fbbf24);--status-success-bg: #dcfce7;--status-success-bg-subtle: #f0fdf4;--status-success-text: #166534;--status-success-border: #86efac;--status-warning-bg: #fef3c7;--status-warning-bg-subtle: #fffbeb;--status-warning-text: #92400e;--status-warning-border: #fcd34d;--streak: #f59e0b;--streak-hero-from: #fb923c;--streak-hero-to: #f59e0b;--streak-surface: #fff7ed;--streak-border: #fed7aa;--streak-text: #c2410c;--status-error-bg: #fee2e2;--status-error-bg-subtle: #fef2f2;--status-error-text: #991b1b;--status-error-border: #fecaca;--status-info-bg: #dbeafe;--status-info-bg-subtle: #eff6ff;--status-info-text: #1e40af;--status-info-border: #bfdbfe;--status-indigo-bg: #e0e7ff;--status-indigo-text: #3730a3;--status-purple-bg: #f3e8ff;--status-purple-text: #7c3aed;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #e5e7eb;--text-primary: #111827;--text-secondary: #374151;--text-tertiary: #6b7280;--text-inverse: #ffffff;--border-color: #e5e7eb;--border-color-dark: #d1d5db;--subject-math: #8b5cf6;--subject-maths: #8b5cf6;--subject-physics: #3b82f6;--subject-chemistry: #10b981;--subject-biology: #f59e0b;--subject-physics-surface: #e8f1fe;--subject-physics-on: #1e5fd6;--subject-chemistry-surface: #e3f8ef;--subject-chemistry-on: #0a7a55;--subject-maths-surface: #f1ecfe;--subject-maths-on: #6d28d9;--subject-math-surface: #f1ecfe;--subject-math-on: #6d28d9;--subject-biology-surface: #fdf0dd;--subject-biology-on: #b45309;--mastery-strong: var(--proficiency-high);--mastery-building: var(--proficiency-medium);--mastery-needs-work: var(--proficiency-low);--mastery-not-started: #9aa0b0;--difficulty-easy: #10b981;--difficulty-medium: #f59e0b;--difficulty-hard: #ef4444;--proficiency-low: #ef4444;--proficiency-medium: #f59e0b;--proficiency-high: #10b981;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-xs: .75rem;--font-sm: .875rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--nav-height: 64px;--sidebar-width: 240px;--sidebar-width-collapsed: 56px;--max-content-width: 1200px;--breakpoint-mobile: 640px;--breakpoint-tablet: 1024px;--bottom-nav-height: 56px;--code-bg: #f3f4f6;--code-text: #374151;--selected-bg: #f0f7ff;--selected-bg-subtle: #f8faff}[data-theme=dark]{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: #1e1b4b;--color-secondary: #9ca3af;--color-secondary-hover: #d1d5db;--color-accent: #60a5fa;--color-success: #34d399;--color-success-bg: #064e3b;--color-warning: #fbbf24;--color-warning-bg: #78350f;--color-error: #f87171;--color-error-bg: #7f1d1d;--color-info: #60a5fa;--color-info-bg: #1e3a5f;--status-success-bg: rgba(34, 197, 94, .15);--status-success-bg-subtle: rgba(34, 197, 94, .08);--status-success-text: #86efac;--status-success-border: rgba(34, 197, 94, .3);--status-warning-bg: rgba(245, 158, 11, .15);--status-warning-bg-subtle: rgba(245, 158, 11, .08);--status-warning-text: #fcd34d;--status-warning-border: rgba(245, 158, 11, .3);--streak: #fb923c;--streak-hero-from: #c2620e;--streak-hero-to: #9a4d06;--streak-surface: #2a1606;--streak-border: #7c2d12;--streak-text: #fb923c;--status-error-bg: rgba(239, 68, 68, .15);--status-error-bg-subtle: rgba(239, 68, 68, .08);--status-error-text: #fca5a5;--status-error-border: rgba(239, 68, 68, .3);--status-info-bg: rgba(59, 130, 246, .15);--status-info-bg-subtle: rgba(59, 130, 246, .08);--status-info-text: #93c5fd;--status-info-border: rgba(59, 130, 246, .3);--status-indigo-bg: rgba(99, 102, 241, .15);--status-indigo-text: #a5b4fc;--status-purple-bg: rgba(139, 92, 246, .15);--status-purple-text: #c4b5fd;--surface: #1f2937;--surface-muted: #374151;--color-warning-text: #fcd34d;--brand-gradient: linear-gradient(160deg, #0f172a, #1e3a8a);--hero-cta-bg: rgba(255, 255, 255, .06);--hero-cta-bg-hover: rgba(255, 255, 255, .12);--hero-cta-border: rgba(255, 255, 255, .45);--hero-cta-fg: #ffffff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .35);--subject-physics-surface: rgba(96, 165, 250, .15);--subject-physics-on: #93c5fd;--subject-chemistry-surface: rgba(52, 211, 153, .15);--subject-chemistry-on: #6ee7b7;--subject-maths-surface: rgba(167, 139, 250, .15);--subject-maths-on: #c4b5fd;--subject-math-surface: rgba(167, 139, 250, .15);--subject-math-on: #c4b5fd;--subject-biology-surface: rgba(251, 191, 36, .15);--subject-biology-on: #fcd34d;--subject-physics-hero: linear-gradient(145deg, #1e3a8a, #1d4ed8 58%, #3b82f6);--subject-chemistry-hero: linear-gradient(145deg, #064e3b, #047857 58%, #10b981);--subject-maths-hero: linear-gradient(145deg, #4c1d95, #6d28d9 58%, #8b5cf6);--subject-math-hero: linear-gradient(145deg, #4c1d95, #6d28d9 58%, #8b5cf6);--subject-biology-hero: linear-gradient(145deg, #78350f, #b45309 58%, #d97706);--mastery-strong: #10b981;--mastery-building: #f59e0b;--mastery-needs-work: #ef4444;--mastery-not-started: #6b7280;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--bg-hover: #4b5563;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-inverse: #111827;--border-color: #374151;--border-color-dark: #4b5563;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .4);--code-bg: #1f2937;--code-text: #d1d5db;--json-key: #79c0ff;--json-string: #a5d6ff;--json-number: #79c0ff;--json-boolean: #ff7b72;--selected-bg: rgba(129, 140, 248, .12);--selected-bg-subtle: rgba(129, 140, 248, .08)}@media(prefers-color-scheme:dark){[data-theme=system]{--color-primary: #818cf8;--color-primary-hover: #6366f1;--color-primary-light: #1e1b4b;--color-secondary: #9ca3af;--color-secondary-hover: #d1d5db;--color-accent: #60a5fa;--color-success: #34d399;--color-success-bg: #064e3b;--color-warning: #fbbf24;--color-warning-bg: #78350f;--color-error: #f87171;--color-error-bg: #7f1d1d;--color-info: #60a5fa;--color-info-bg: #1e3a5f;--status-success-bg: rgba(34, 197, 94, .15);--status-success-bg-subtle: rgba(34, 197, 94, .08);--status-success-text: #86efac;--status-success-border: rgba(34, 197, 94, .3);--status-warning-bg: rgba(245, 158, 11, .15);--status-warning-bg-subtle: rgba(245, 158, 11, .08);--status-warning-text: #fcd34d;--status-warning-border: rgba(245, 158, 11, .3);--streak: #fb923c;--streak-hero-from: #c2620e;--streak-hero-to: #9a4d06;--streak-surface: #2a1606;--streak-border: #7c2d12;--streak-text: #fb923c;--status-error-bg: rgba(239, 68, 68, .15);--status-error-bg-subtle: rgba(239, 68, 68, .08);--status-error-text: #fca5a5;--status-error-border: rgba(239, 68, 68, .3);--status-info-bg: rgba(59, 130, 246, .15);--status-info-bg-subtle: rgba(59, 130, 246, .08);--status-info-text: #93c5fd;--status-info-border: rgba(59, 130, 246, .3);--status-indigo-bg: rgba(99, 102, 241, .15);--status-indigo-text: #a5b4fc;--status-purple-bg: rgba(139, 92, 246, .15);--status-purple-text: #c4b5fd;--surface: #1f2937;--surface-muted: #374151;--color-warning-text: #fcd34d;--brand-gradient: linear-gradient(160deg, #0f172a, #1e3a8a);--hero-cta-bg: rgba(255, 255, 255, .06);--hero-cta-bg-hover: rgba(255, 255, 255, .12);--hero-cta-border: rgba(255, 255, 255, .45);--hero-cta-fg: #ffffff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .35);--subject-physics-surface: rgba(96, 165, 250, .15);--subject-physics-on: #93c5fd;--subject-chemistry-surface: rgba(52, 211, 153, .15);--subject-chemistry-on: #6ee7b7;--subject-maths-surface: rgba(167, 139, 250, .15);--subject-maths-on: #c4b5fd;--subject-math-surface: rgba(167, 139, 250, .15);--subject-math-on: #c4b5fd;--subject-biology-surface: rgba(251, 191, 36, .15);--subject-biology-on: #fcd34d;--subject-physics-hero: linear-gradient(145deg, #1e3a8a, #1d4ed8 58%, #3b82f6);--subject-chemistry-hero: linear-gradient(145deg, #064e3b, #047857 58%, #10b981);--subject-maths-hero: linear-gradient(145deg, #4c1d95, #6d28d9 58%, #8b5cf6);--subject-math-hero: linear-gradient(145deg, #4c1d95, #6d28d9 58%, #8b5cf6);--subject-biology-hero: linear-gradient(145deg, #78350f, #b45309 58%, #d97706);--mastery-strong: #10b981;--mastery-building: #f59e0b;--mastery-needs-work: #ef4444;--mastery-not-started: #6b7280;--bg-primary: #111827;--bg-secondary: #1f2937;--bg-tertiary: #374151;--bg-hover: #4b5563;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-inverse: #111827;--border-color: #374151;--border-color-dark: #4b5563;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .4);--code-bg: #1f2937;--code-text: #d1d5db;--json-key: #79c0ff;--json-string: #a5d6ff;--json-number: #79c0ff;--json-boolean: #ff7b72;--selected-bg: rgba(129, 140, 248, .12);--selected-bg-subtle: rgba(129, 140, 248, .08)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:var(--bg-secondary);color:var(--text-primary);line-height:var(--leading-normal);min-height:100vh;font-synthesis:none;text-rendering:optimizeLegibility;overscroll-behavior:none}#root{min-height:100vh;display:flex;flex-direction:column}body:has(.sidebar-layout),body:has(.app-layout-wrapper){height:100vh;overflow:hidden}body:has(.sidebar-layout) #root,body:has(.app-layout-wrapper) #root{height:100vh;overflow:hidden}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}select{padding:var(--spacing-sm) var(--spacing-md);height:2.25rem}.check-label{display:flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;font-size:var(--font-sm)}.check-label:hover{background:var(--bg-tertiary);border-radius:var(--radius-sm)}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.back-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);padding:0;cursor:pointer;width:fit-content}.back-link:hover{text-decoration:underline}.clickable-row{cursor:pointer;transition:background-color .15s ease}.clickable-row:hover{background:var(--bg-tertiary)}.chevron-cell{width:30px;text-align:center}.row-chevron{color:var(--text-tertiary);font-size:var(--font-sm)}.clickable-row:hover .row-chevron{color:var(--color-primary)}.page-narrow{max-width:800px;width:100%}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.selected-fill{background:var(--color-accent)!important;color:#fff!important;border-color:var(--color-accent)!important}.selected-card{background:var(--selected-bg)!important;border-color:var(--color-accent)!important}.selected-ring{outline:2px solid var(--color-accent)!important;outline-offset:2px}.dt{width:100%;border-collapse:collapse;background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}.dt.dt--bare{background:none;border-radius:0;box-shadow:none;overflow:visible}.dt-container{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-md);overflow:hidden}.dt-container .dt{background:none;border-radius:0;box-shadow:none;overflow:visible}.dt-container--bordered{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.dt-container--bordered .dt{background:none;border-radius:0;box-shadow:none;overflow:visible}.dt th{text-align:left;padding:12px 16px;background:var(--bg-tertiary);font-weight:600;color:var(--text-tertiary);font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-color);white-space:nowrap}.dt td{padding:12px 16px;border-bottom:1px solid var(--border-color);font-size:var(--font-sm);color:var(--text-primary);vertical-align:middle}.dt tbody tr:last-child td{border-bottom:none}.dt--compact th,.dt--compact td{padding:8px 12px}.dt tbody tr:hover{background:var(--bg-tertiary)}.dt-clickable{cursor:pointer;transition:background .15s}.dt-clickable:hover{background:var(--bg-hover)}.dt-row--selected{background:var(--selected-bg)!important}.dt-row--selected:hover{background:var(--status-info-bg)!important}.dt-row--error{background:var(--status-error-bg-subtle)}.dt-row--error:hover{background:var(--status-error-bg)}.dt-row--error.dt-row--selected{background:var(--status-error-border)!important}.dt-row--expanded{background:var(--status-info-bg-subtle)}.dt-row--details,.dt-row--details:hover{background:var(--bg-secondary)}.dt-row--details td{padding:0}.dt-row--highlight{background:var(--selected-bg, #e8f4ff)}.dt-row--disabled td{opacity:.6}.dt-row--unread{font-weight:600}.dt-checkbox-col{width:40px;text-align:center}.dt-checkbox-col input[type=checkbox],.dt input[type=checkbox]{width:16px;height:16px;cursor:pointer}.dt input[type=radio]{width:14px;height:14px;cursor:pointer}.mobile-card-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-card{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);text-align:left;cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);width:100%;color:inherit}.mobile-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.mobile-card-top{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.mobile-card-title{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.mobile-card-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md);font-size:var(--font-xs);color:var(--text-tertiary)}.clickable-row{cursor:pointer;transition:background .15s}.clickable-row:hover{background:var(--bg-hover)}.dt tbody tr.selected-row{background:var(--selected-bg)!important}.dt tbody tr.selected-row:hover{background:var(--status-info-bg)!important}.mobile-card.selected-row{border-color:var(--color-primary);background:var(--selected-bg)}.gt{display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.gt.gt--plain{border:none;border-radius:0;overflow:visible}.gt-header{display:grid;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;border-bottom:1px solid var(--border-color)}.gt-row{display:grid;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);font-size:var(--font-sm);color:var(--text-primary);align-items:center}.gt-row:last-child{border-bottom:none}.gt-clickable{cursor:pointer;transition:background .15s}.gt-clickable:hover{background:var(--bg-secondary)}.model-name{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:500;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);padding:2px 6px;border-radius:4px;white-space:nowrap}.provider-key{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:600;color:var(--text-primary);background:var(--bg-tertiary);border:1px solid var(--border-color);padding:2px 6px;border-radius:4px;white-space:nowrap}.family-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize;border:1px solid transparent}.family-badge.family-anthropic{background:#d9770626;color:#d97706;border-color:#d977064d}.family-badge.family-openai{background:#10b98126;color:#10b981;border-color:#10b9814d}.family-badge.family-google{background:#3b82f626;color:#3b82f6;border-color:#3b82f64d}.provider-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:capitalize;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.copy-toast{position:fixed;background:var(--text-primary);color:var(--bg-primary);padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;z-index:1000;pointer-events:none;animation:toast-pop 1.5s ease-in-out forwards}@keyframes toast-pop{0%{opacity:0;transform:translateY(4px)}15%{opacity:1;transform:translateY(0)}75%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@media(max-width:640px){.hide-mobile{display:none!important}.stack-mobile{flex-direction:column!important;align-items:stretch!important}.grid-mobile-1{grid-template-columns:1fr!important}.grid-mobile-2{grid-template-columns:repeat(2,1fr)!important}.btn-md,.btn-lg{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);height:32px}}@media(min-width:1025px){.hide-desktop{display:none!important}}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.stat-cards--2col{grid-template-columns:repeat(2,1fr)}.stat-cards--4col{grid-template-columns:repeat(4,1fr)}.stat-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:0;overflow:hidden}.stat-value{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text-primary)}.stat-value-text{font-size:var(--font-md);text-transform:capitalize}.stat-label{font-size:var(--font-xs);color:var(--text-secondary)}@media(max-width:640px){.stat-cards{gap:var(--spacing-xs)}.stat-card{padding:var(--spacing-xs);gap:2px;border-radius:var(--radius-md)}.stat-value{font-size:var(--font-md)}.stat-value-text{font-size:var(--font-sm)}.stat-label{font-size:10px}}.usage-row-accent{background:var(--status-warning-bg-subtle);box-shadow:inset 3px 0 0 var(--status-warning-border)}.usage-pill{display:inline-block;padding:1px 8px;background:transparent;color:var(--status-warning-text);border:1px solid var(--status-warning-border);border-radius:999px;font-size:11px;font-weight:500;vertical-align:middle;cursor:help;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.usage-pills{display:inline-flex;flex-wrap:wrap;gap:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-weight:var(--font-medium);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-hover)}.btn-outline{background-color:transparent;border-color:var(--border-color-dark);color:var(--text-primary)}.btn-outline:hover:not(:disabled){background-color:var(--bg-tertiary)}.btn-ghost{background-color:transparent;color:var(--text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-tertiary)}.btn-danger{background-color:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){opacity:.9}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);height:32px}.btn-md{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-md);height:40px}.btn-lg{padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-lg);height:48px}.btn-full{width:100%}.btn-icon{display:flex;align-items:center;justify-content:center}.btn-text-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-spinner{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .75s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.card{background-color:var(--bg-primary);border-radius:var(--radius-lg);overflow:hidden}.card-default{border:1px solid var(--border-color)}.card-elevated{box-shadow:var(--shadow-md)}.card-outlined{border:2px solid var(--border-color-dark)}.card-padding-none{padding:0}.card-padding-sm{padding:var(--spacing-sm)}.card-padding-md{padding:var(--spacing-md)}.card-padding-lg{padding:var(--spacing-lg)}.card-clickable{cursor:pointer;transition:all var(--transition-fast)}.card-clickable:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.card-padding-none .card-header{padding:var(--spacing-md)}.card-header-content{flex:1;min-width:0}.card-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.card-subtitle{font-size:var(--font-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.card-header-action{flex-shrink:0}.card-content,.card-padding-none .card-content{padding:var(--spacing-md)}.card-footer{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-top:1px solid var(--border-color);background-color:var(--bg-secondary)}.card-padding-none .card-footer{padding:var(--spacing-md)}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);z-index:var(--z-modal);animation:modal-overlay-fade .2s ease}@keyframes modal-overlay-fade{0%{opacity:0}to{opacity:1}}.modal{background-color:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:calc(100vh - 2 * var(--spacing-md));display:flex;flex-direction:column;animation:modal-slide .2s ease}@keyframes modal-slide{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-sm{width:100%;max-width:400px}.modal-md{width:100%;max-width:560px}.modal-lg{width:100%;max-width:800px}.modal-xl{width:100%;max-width:900px;height:80vh}.modal-full{width:calc(100vw - 2 * var(--spacing-md));height:calc(100vh - 2 * var(--spacing-md));max-width:none;max-height:none}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-title{font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.modal-body{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.modal-drag-handle{display:none}@media(max-width:640px){.modal-overlay{padding:0;align-items:flex-end}.modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;width:100%;max-width:100%;transition:transform .2s ease}.modal-drag-handle{display:block;width:100%;padding:8px 0;flex-shrink:0;touch-action:none;cursor:grab}.modal-drag-handle:before{content:"";display:block;width:36px;height:4px;margin:0 auto;border-radius:2px;background:var(--border-color-dark)}.modal-header{touch-action:none}}.image-viewer-thumb{cursor:zoom-in;transition:opacity .15s}.image-viewer-thumb:hover{opacity:.85}.iv-overlay{position:fixed;inset:0;z-index:9999;background:#000000e6;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease;touch-action:pinch-zoom}.iv-toolbar{position:absolute;top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px));display:flex;gap:8px;z-index:10000}.iv-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;background:#ffffff26;color:#fff;cursor:pointer;transition:background .15s;touch-action:manipulation}.iv-btn:hover{background:#ffffff4d}.iv-close-btn{margin-left:8px}.iv-image-container{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:calc(60px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));overflow:auto}.iv-image{max-width:90vw;max-height:85vh;object-fit:contain;transition:transform .3s ease;border-radius:4px;touch-action:pinch-zoom}@media(max-width:640px){.iv-btn{width:44px;height:44px}.iv-image{max-width:100vw;max-height:90vh}}.json-tree{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.55;color:var(--text-primary);padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow-x:auto}.jt-row{display:flex;flex-direction:column;align-items:flex-start;white-space:pre-wrap;word-break:break-word}.jt-row>.jt-key,.jt-row>.jt-string,.jt-row>.jt-number,.jt-row>.jt-bool,.jt-row>.jt-null,.jt-row>.jt-unknown{display:inline}.jt-row:not(.jt-container){flex-direction:row;flex-wrap:wrap;gap:6px}.jt-key{color:#93c5fd}.jt-string{color:#a7f3d0}.jt-number{color:#fcd34d}.jt-bool{color:#fca5a5}.jt-null{color:var(--text-tertiary);font-style:italic}.jt-unknown{color:var(--text-tertiary)}.jt-container{flex-direction:column}.jt-toggle{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;text-align:left}.jt-chevron{display:inline-block;width:12px;color:var(--text-tertiary);font-size:10px;-webkit-user-select:none;user-select:none}.jt-summary{color:var(--text-tertiary)}.jt-children{margin-left:18px;border-left:1px solid var(--border-color);padding-left:10px;margin-top:2px}.json-viewer-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-secondary);font-size:11px;font-weight:500;letter-spacing:.02em;cursor:pointer;transition:background .15s,color .15s,border-color .15s;touch-action:manipulation}.json-viewer-btn:hover{background:var(--bg-tertiary, var(--bg-secondary));color:var(--text-primary);border-color:var(--text-tertiary)}.json-viewer-btn-label{font-family:SF Mono,Menlo,Monaco,Consolas,monospace}.jv-overlay{position:fixed;inset:0;z-index:9999;background:#000000b3;display:flex;align-items:center;justify-content:center;padding:24px}.jv-panel{background:var(--bg-primary, #ffffff);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;width:100%;max-width:1100px;height:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080;overflow:hidden}.jv-toolbar{display:flex;align-items:center;gap:16px;padding:10px 14px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-wrap:wrap}.jv-title{font-weight:600;font-size:14px;color:var(--text-primary);flex:0 0 auto}.jv-tabs{display:flex;gap:4px;flex:0 1 auto}.jv-tab{padding:4px 12px;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);border-radius:4px;cursor:pointer;font-size:12px;transition:background .15s,color .15s,border-color .15s}.jv-tab:hover{color:var(--text-primary)}.jv-tab.active{background:var(--accent-color, #3b82f6);color:#fff;border-color:var(--accent-color, #3b82f6)}.jv-actions{display:flex;gap:4px;margin-left:auto;flex:0 0 auto}.jv-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:4px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.jv-icon-btn:hover{background:var(--bg-tertiary, rgba(0, 0, 0, .06));color:var(--text-primary)}.jv-body{flex:1 1 auto;overflow:auto;padding:16px;background:var(--bg-primary)}.jv-warning{margin-bottom:12px;padding:8px 12px;background:var(--status-warning-bg-subtle, #fef3c7);color:var(--status-warning-text, #92400e);border:1px solid var(--status-warning-border, #f59e0b);border-radius:4px;font-size:12px}.jv-raw{font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;background:var(--code-bg, var(--bg-secondary));color:var(--code-text, var(--text-primary));border:1px solid var(--border-color);border-radius:6px}@media(max-width:640px){.jv-overlay{padding:0}.jv-panel{max-width:100%;max-height:100vh;border-radius:0;border:none}.jv-toolbar{padding:8px 10px;gap:8px}.jv-title{font-size:13px;flex:1 1 100%}.jv-tabs{flex:1 1 auto}.jv-actions{margin-left:auto}}.badge{display:inline-flex;align-items:center;font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-sm{padding:2px var(--spacing-sm);font-size:var(--font-xs)}.badge-md{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm)}.badge-default{background-color:var(--bg-tertiary);color:var(--text-secondary)}.badge-success{background-color:var(--status-success-bg);color:var(--status-success-text)}.badge-warning{background-color:var(--status-warning-bg);color:var(--status-warning-text)}.badge-error{background-color:var(--status-error-bg);color:var(--status-error-text)}.badge-info{background-color:var(--status-info-bg);color:var(--status-info-text)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-field-label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-field-required{color:var(--color-error);margin-left:2px}.form-field-error .form-field-label{color:var(--color-error)}.form-field-message{font-size:var(--font-sm);color:var(--color-error);margin:0}.ui-input{width:100%;min-height:36px;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;box-sizing:border-box;transition:border-color var(--transition-fast)}.ui-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-primary-light)}.ui-input:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.ui-input::placeholder{color:var(--text-tertiary)}.ui-input--error{border-color:var(--color-error)}.ui-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-bg)}.info-tip{position:relative;display:inline-flex;align-items:center;margin-left:var(--spacing-xs)}.info-tip-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--text-tertiary);color:var(--text-tertiary);font-size:11px;font-weight:600;cursor:pointer;line-height:1;-webkit-user-select:none;user-select:none}.info-tip-icon:hover{border-color:var(--color-primary);color:var(--color-primary)}.info-tip-popup{position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);background:var(--bg-tertiary);color:var(--text-secondary);font-size:var(--font-xs);font-weight:400;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--border-color);white-space:nowrap;z-index:10;box-shadow:0 2px 8px #00000026}.info-tip-popup--rich{display:block;white-space:normal;width:max-content;max-width:340px;text-align:left;line-height:1.5}.info-tip-popup--rich>*{display:block}.info-tip-popup--rich>*+*{margin-top:5px}.info-tip-note{color:var(--text-tertiary);border-top:1px solid var(--border-color);padding-top:5px}.ui-select{width:100%;min-height:36px;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-family:inherit;box-sizing:border-box;cursor:pointer;transition:border-color var(--transition-fast)}.ui-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-primary-light)}.ui-select:disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.ui-select--error{border-color:var(--color-error)}.ui-select--error:focus{border-color:var(--color-error);box-shadow:0 0 0 2px var(--color-error-bg)}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md)}.loading-fullscreen{position:fixed;inset:0;background-color:var(--bg-primary);z-index:var(--z-modal)}.loading-spinner{position:relative}.loading-spinner-sm{width:24px;height:24px}.loading-spinner-md{width:40px;height:40px}.loading-spinner-lg{width:64px;height:64px}.spinner-ring{width:100%;height:100%;border:3px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}.loading-spinner-sm .spinner-ring{border-width:2px}.loading-spinner-lg .spinner-ring{border-width:4px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-message{font-size:var(--font-md);color:var(--text-secondary);text-align:center}.profile-card-shared{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.profile-card-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-md)}.profile-card-main{display:flex;align-items:center;gap:var(--spacing-md);min-width:0}.profile-card-avatar{display:flex;align-items:center;justify-content:center;width:56px;height:56px;font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text-inverse);background-color:var(--color-primary);border-radius:50%;flex-shrink:0}.profile-card-info{display:flex;flex-direction:column;gap:2px;min-width:0}.profile-card-name{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.profile-card-subtitle{font-size:var(--font-sm);color:var(--text-secondary)}.profile-card-meta{display:flex;flex-direction:column;gap:1px;font-size:var(--font-sm);color:var(--text-secondary);margin-top:2px}.profile-card-meta-line{line-height:1.4}.profile-card-meta-label{color:var(--text-tertiary)}.profile-card-action{flex-shrink:0}.profile-card-details{border-top:1px solid var(--border-color);padding:var(--spacing-sm) var(--spacing-lg)}.profile-card-detail-row{display:flex;align-items:baseline;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.profile-card-detail-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.5px;color:var(--text-tertiary);font-weight:var(--font-semibold);min-width:90px;flex-shrink:0}.profile-card-detail-value{font-size:var(--font-sm);color:var(--text-primary)}.score-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-md, 12px)}.score-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md, 14px);background:var(--bg-secondary, #f8fafc);border-radius:var(--radius-md, 8px)}.score-card-value{font-size:var(--font-2xl, 24px);font-weight:var(--font-bold, 700);color:var(--text-primary)}.score-card-label{font-size:var(--font-xs, 11px);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.score-card-comment{font-size:var(--font-xs, 12px);color:var(--text-tertiary);text-align:center;margin-top:4px;line-height:1.4}@media(max-width:640px){.score-cards-grid{grid-template-columns:repeat(2,1fr)}}.thumbs-rating{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px)}.thumbs-rating-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);cursor:pointer;transition:all .15s;line-height:1}.thumbs-rating--md .thumbs-rating-btn{padding:6px 12px;font-size:18px}.thumbs-rating--sm .thumbs-rating-btn{padding:2px 8px;font-size:14px}.thumbs-rating-btn:hover:not(:disabled){background:var(--bg-tertiary)}.thumbs-rating-btn.active.positive{border-color:var(--color-success);background:var(--color-success-bg)}.thumbs-rating-btn.active.negative{border-color:var(--color-error);background:var(--color-error-bg)}.thumbs-rating-btn:disabled{opacity:.5;cursor:not-allowed}.id-control{display:inline-flex;align-items:center;gap:2px;vertical-align:middle}.id-control-pill{display:inline-block;font-family:SF Mono,Monaco,monospace;font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:3px 8px;border-radius:4px;cursor:pointer;word-break:break-all;-webkit-user-select:all;user-select:all}.id-control-pill:hover{background:var(--bg-secondary);color:var(--text-secondary)}.id-control-pill:focus-visible{outline:2px solid var(--accent-primary, #3b82f6);outline-offset:1px}.id-control-trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;color:var(--text-tertiary);border-radius:4px;cursor:pointer;opacity:0;transition:opacity .12s ease,background .12s ease}.id-control:hover .id-control-trigger,.id-control:focus-within .id-control-trigger{opacity:1}@media(hover:none){.id-control-trigger{opacity:1}}.id-control-trigger:hover{background:var(--bg-secondary);color:var(--text-primary)}.id-control-trigger:focus-visible{opacity:1;outline:2px solid var(--accent-primary, #3b82f6);outline-offset:1px}.id-control-toast{position:fixed;z-index:10000;background:#000000d9;color:#fff;font-size:12px;padding:4px 10px;border-radius:4px;pointer-events:none;white-space:nowrap;animation:id-control-toast-fade 1.5s ease forwards}@keyframes id-control-toast-fade{0%{opacity:0;transform:translate(-50%,-100%)}15%{opacity:1;transform:translate(-50%,-120%)}85%{opacity:1;transform:translate(-50%,-120%)}to{opacity:0;transform:translate(-50%,-140%)}}.id-control-menu{position:fixed;z-index:10000;background:var(--bg-primary);border:1px solid var(--border-color, rgba(0, 0, 0, .1));border-radius:6px;box-shadow:0 8px 24px #0000002e;padding:4px;display:flex;flex-direction:column;animation:id-control-menu-fade .1s ease}@keyframes id-control-menu-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.id-control-menu-section{display:flex;flex-direction:column}.id-control-menu-section-label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:6px 10px 2px;-webkit-user-select:none;user-select:none}.id-control-menu-item{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:var(--text-primary);font-size:13px;text-align:left;cursor:pointer;border-radius:4px;white-space:nowrap}.id-control-menu-item>span:first-child{overflow:hidden;text-overflow:ellipsis;flex:1 1 auto}.id-control-menu-item:hover,.id-control-menu-item:focus-visible{background:var(--bg-secondary);outline:none}.id-control-menu-item-arrow{flex:0 0 auto;color:var(--text-tertiary);opacity:.7}.id-control-menu-item:hover .id-control-menu-item-arrow{color:var(--accent-primary, #3b82f6);opacity:1}.id-control-menu-divider{height:1px;background:var(--border-color, rgba(0, 0, 0, .08));margin:4px 6px}.id-control-menu-btn{font-size:12px;padding:6px 12px;border-radius:4px;border:1px solid var(--border-color, rgba(0, 0, 0, .15));background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.id-control-menu-btn:hover{background:var(--bg-secondary)}.id-control-menu-btn:disabled{opacity:.5;cursor:not-allowed}.id-control-preview-backdrop{position:fixed;inset:0;z-index:9998}.id-control-preview{position:fixed;z-index:9999;background:var(--bg-primary);border:1px solid var(--border-color, rgba(0, 0, 0, .12));border-radius:6px;box-shadow:0 8px 24px #0000002e;padding:10px 12px;min-width:280px;max-width:420px;font-size:12px;color:var(--text-primary);animation:id-control-menu-fade .12s ease}.id-control-preview-status{color:var(--text-tertiary);font-style:italic}.id-control-preview-title{font-weight:600;margin-bottom:6px;color:var(--text-primary)}.id-control-preview-row{margin-bottom:3px;line-height:1.5}.id-control-preview-field{color:var(--text-tertiary);font-weight:500}.id-control-preview-value{color:var(--text-primary);word-break:break-word}.id-control-preview-jsonlink{margin-top:8px;padding:0;border:none;background:transparent;color:var(--accent-primary, #3b82f6);font-size:12px;cursor:pointer}.id-control-preview-jsonlink:hover{text-decoration:underline}.id-control-modal-status{padding:32px 0;text-align:center;color:var(--text-tertiary)}.id-control-modal-error{color:var(--text-error, #d32f2f)}.id-control-json-wrap{max-height:65vh;overflow:auto;background:var(--bg-tertiary);border-radius:6px;padding:12px}.id-control-json-fallback{margin:0;font-family:SF Mono,Monaco,monospace;font-size:12px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.truncated-value{position:relative;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--text-secondary);white-space:nowrap}.truncated-value.copyable{cursor:pointer}.truncated-value.copyable:hover{color:var(--text-primary);text-decoration:underline dotted}.truncated-value-toast{position:absolute;top:-24px;left:50%;transform:translate(-50%);padding:2px 8px;font-size:11px;font-family:inherit;background:var(--bg-tertiary);color:var(--text-primary);border-radius:4px;pointer-events:none;white-space:nowrap;animation:truncated-toast-fade 1.2s ease forwards}@keyframes truncated-toast-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}.sui-detail-link{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:4px;color:var(--color-primary, #3b82f6);text-decoration:none;vertical-align:middle;margin-left:4px;transition:background .15s,color .15s}.sui-detail-link:hover{background:var(--color-primary, #3b82f6);color:#fff}.sui-pagination{display:flex;align-items:center;gap:8px;white-space:nowrap}.sui-pagination-btn{height:32px;padding:0 12px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s;box-sizing:border-box}.sui-pagination-btn:hover:not(:disabled){background:var(--bg-tertiary)}.sui-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.sui-pagination-info{font-size:13px;color:var(--text-tertiary)}.dt-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;flex-wrap:wrap}.dt-toolbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.dt-toolbar-left .sfb{margin-bottom:0}.dt-th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .15s}.dt-th--sortable:hover{color:var(--text-primary)}.dt-th-content{display:inline-flex;align-items:center;gap:2px}.dt-sort-icon{font-size:10px;opacity:.35;transition:opacity .15s}.dt-sort-icon--active{opacity:1;color:var(--color-primary)}.dt-search{display:flex;align-items:center;gap:6px}.dt-search-input{height:32px;padding:0 10px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;min-width:200px;box-sizing:border-box}.dt-search-input::placeholder{color:var(--text-tertiary)}.dt-search-btn{height:32px;padding:0 12px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .2s;white-space:nowrap;box-sizing:border-box}.dt-search-btn:hover:not(:disabled){background:var(--bg-tertiary)}.dt-search-btn:disabled{opacity:.5;cursor:not-allowed}.filter-select{height:32px;padding:0 8px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px;cursor:pointer;box-sizing:border-box}.dc-name{font-weight:500;color:var(--text-primary)}.dc-name-link{font-weight:500;color:var(--color-accent);cursor:pointer;text-decoration:none}.dc-name-link:hover{text-decoration:underline}.dc-email{color:var(--text-tertiary);font-size:12px}.dc-stack{display:flex;flex-direction:column}.dc-stack-secondary{font-size:12px;color:var(--text-tertiary)}.dc-date{color:var(--text-tertiary);font-size:13px;white-space:nowrap}.dc-time-ago{color:var(--text-tertiary);font-size:13px}.dc-count{font-weight:600;color:var(--color-accent, #4f9cff)}.dc-score{font-weight:500}.dc-score--good{color:var(--color-success)}.dc-score--medium{color:var(--color-warning)}.dc-score--low{color:var(--color-error)}.dc-list{font-size:13px;color:var(--text-secondary)}.dc-muted{color:var(--text-tertiary)}.dc-subject{font-weight:500;text-transform:capitalize}.dc-subject--maths{color:var(--subject-maths)}.dc-subject--physics{color:var(--subject-physics)}.dc-subject--chemistry{color:var(--subject-chemistry)}.dc-subject--biology{color:var(--subject-biology)}.dc-topic{font-size:12px;color:var(--text-tertiary);text-transform:capitalize}.dc-pill{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.dc-pill--devtesting{background:var(--status-warning-bg);color:var(--status-warning-text)}.dc-pill--beta{background:var(--status-info-bg);color:var(--status-info-text)}.dc-pill--prod{background:var(--status-success-bg);color:var(--status-success-text)}.dc-pill--admin{background:var(--status-warning-bg);color:var(--status-warning-text)}.dc-pill--teacher{background:var(--status-success-bg);color:var(--status-success-text)}.dc-pill--student{background:var(--status-info-bg);color:var(--status-info-text)}.dc-pill--ios{background:var(--bg-tertiary);color:var(--text-secondary)}.dc-pill--android{background:var(--status-success-bg);color:var(--status-success-text)}.dc-pill--web{background:var(--status-info-bg);color:var(--status-info-text)}.dc-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:capitalize;background:var(--bg-tertiary);color:var(--text-secondary)}.dc-tag--success{background:var(--status-success-bg);color:var(--status-success-text)}.dc-tag--warning{background:var(--status-warning-bg);color:var(--status-warning-text)}.dc-tag--error{background:var(--status-error-bg);color:var(--status-error-text)}.dc-tag--info{background:var(--status-info-bg);color:var(--status-info-text)}.dc-status{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.dc-status--deleted{background:var(--status-error-bg);color:var(--status-error-text)}.dc-status--invited{background:var(--status-info-bg);color:var(--status-info-text)}.dc-status--rerun{background:var(--status-warning-bg);color:var(--status-warning-text);border:1px solid var(--status-warning-border);text-transform:uppercase;font-size:10px;letter-spacing:.5px}.dc-status--analyzing{background:var(--status-info-bg);color:var(--status-info-text);border:1px solid var(--status-info-border);text-transform:uppercase;font-size:10px;letter-spacing:.5px}.dc-status--failed{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border);text-transform:uppercase;font-size:10px;letter-spacing:.5px}.dc-client{display:inline-block;padding:2px 6px;border-radius:4px;font-size:11px;color:var(--text-tertiary);background:var(--bg-tertiary)}.dc-feedback{display:inline-flex;gap:2px}.dc-feedback-dot{font-size:14px}.dc-no-value{color:var(--text-tertiary)}.dt-empty{text-align:center;padding:32px 16px!important;color:var(--text-tertiary);font-style:italic}.multi-select-filter{position:relative;flex:1 1 0;min-width:0}.multi-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;text-align:left;gap:4px;border:1px solid var(--border-color-dark);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box;font-family:inherit}.multi-select-trigger-default{min-height:36px;padding:6px 8px;font-size:13px;border-radius:4px;line-height:1.2}.multi-select-trigger-compact{height:32px;padding:0 8px;font-size:13px;border-radius:6px}.multi-select-trigger.has-selection{border-color:var(--accent-color, #3b82f6);background:color-mix(in srgb,var(--accent-color, #3b82f6) 6%,var(--bg-primary))}.multi-select-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.multi-select-arrow{font-size:10px;color:var(--text-tertiary);flex-shrink:0}.multi-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:160px;background:var(--bg-primary);border:1px solid var(--border-color-dark);border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:50;padding:4px 0;max-height:240px;overflow-y:auto}.multi-select-clear{display:block;width:100%;padding:6px 12px;font-size:12px;color:var(--text-tertiary);background:none;border:none;border-bottom:1px solid var(--border-color);cursor:pointer;text-align:left}.multi-select-clear:hover{color:var(--text-primary);background:var(--bg-secondary)}.multi-select-filter .multi-select-dropdown label.multi-select-option{display:flex;align-items:center;gap:8px;margin:0;padding:6px 12px;font-size:13px;font-weight:var(--font-normal);color:var(--text-primary);cursor:pointer}.multi-select-filter .multi-select-dropdown label.multi-select-option:hover{background:var(--bg-secondary)}.multi-select-filter .multi-select-dropdown label.multi-select-option input[type=checkbox]{width:auto;height:auto;margin:0;padding:0;flex-shrink:0}.jdv-root{font-size:13px;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.jdv-summary{padding:6px 12px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.jdv-entries{padding:4px 0}.jdv-empty{padding:16px;text-align:center;color:var(--text-tertiary);font-size:13px}.jdv-entry{border-bottom:1px solid var(--border-color-light, rgba(0,0,0,.04))}.jdv-entry:last-child{border-bottom:none}.jdv-row{display:flex;align-items:center;gap:8px;padding:5px 12px;min-height:30px;cursor:default}.jdv-row[onclick],.jdv-row:has(.jdv-expand){cursor:pointer}.jdv-row:hover{background:var(--bg-hover, rgba(0,0,0,.02))}.jdv-row--added{background:#22c55e0f}.jdv-row--removed{background:#ef44440f}.jdv-row--changed{background:#f59e0b0f}.jdv-row--nested{background:#3b82f60a}.jdv-row--unchanged{opacity:.6}.jdv-expand{font-size:10px;width:14px;flex-shrink:0;color:var(--text-tertiary)}.jdv-key{font-weight:600;font-family:var(--font-mono, "SF Mono", "Menlo", monospace);font-size:12px;color:var(--text-primary);flex-shrink:0}.jdv-badge{font-size:10px;font-weight:700;padding:1px 5px;border-radius:3px;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.jdv-badge--added{background:#dcfce7;color:#166534}.jdv-badge--removed{background:#fee2e2;color:#991b1b}.jdv-badge--changed{background:#fef3c7;color:#92400e}.jdv-badge--nested{background:#dbeafe;color:#1e40af}.jdv-badge--unchanged{display:none}.jdv-inline-value{display:flex;align-items:center;gap:6px;flex:1;min-width:0;overflow:hidden;font-family:var(--font-mono, "SF Mono", "Menlo", monospace);font-size:12px}.jdv-val-removed{color:#dc2626;text-decoration:line-through;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jdv-val-added{color:#16a34a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jdv-val-unchanged{color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.jdv-arrow{color:var(--text-tertiary);flex-shrink:0;font-size:11px}.jdv-children{border-left:2px solid var(--border-color);margin-left:20px}.jdv-expanded-value{padding:8px 0}.jdv-side-by-side{display:grid;grid-template-columns:1fr 1fr;gap:8px}.jdv-side{border-radius:var(--radius-sm);overflow:hidden}.jdv-side--before{background:#ef44440d;border:1px solid rgba(239,68,68,.15)}.jdv-side--after{background:#22c55e0d;border:1px solid rgba(34,197,94,.15)}.jdv-side-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;border-bottom:1px solid rgba(0,0,0,.06);color:var(--text-tertiary)}.jdv-pre{margin:0;padding:8px;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono, "SF Mono", "Menlo", monospace);max-height:200px;overflow:auto}.jdv-pre--added{background:#22c55e0d;border:1px solid rgba(34,197,94,.15);border-radius:var(--radius-sm)}.jdv-pre--removed{background:#ef44440d;border:1px solid rgba(239,68,68,.15);border-radius:var(--radius-sm)}.jdv-long-string-toolbar{display:flex;gap:4px;margin-bottom:6px}.jdv-long-string-tab{font-size:11px;padding:3px 10px;border:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;color:var(--text-secondary)}.jdv-long-string-tab:hover{background:var(--bg-secondary)}.jdv-long-string-tab--active{background:var(--bg-primary, #fff);color:var(--text-primary);font-weight:600;border-color:var(--text-secondary)}.jdv-inline-diff{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);max-height:320px}.jdv-inline-diff-loading{padding:12px;font-size:12px;color:var(--text-tertiary);text-align:center}.jdv-seg-added{background:#22c55e38;color:#14532d;border-radius:2px}.jdv-seg-removed{background:#ef444438;color:#7f1d1d;text-decoration:line-through;border-radius:2px}.jdv-seg-unchanged{color:var(--text-secondary)}.jdv-unchanged-section{border-top:1px solid var(--border-color)}.jdv-unchanged-toggle{display:block;width:100%;text-align:left;padding:6px 12px;background:var(--bg-tertiary);border:none;cursor:pointer;font-size:12px;color:var(--text-tertiary);font-family:inherit}.jdv-unchanged-toggle:hover{background:var(--bg-secondary)}.jdv-unchanged-list{padding:4px 0}.cg{display:inline-flex}.cg--segmented{border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);overflow:hidden;background:var(--bg-secondary)}.cg--segmented .cg-chip{padding:6px 12px;font-size:var(--font-sm, 13px);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-left:1px solid var(--border-color);font-family:inherit;white-space:nowrap}.cg--segmented .cg-chip:first-child{border-left:none}.cg--segmented .cg-chip:hover:not(:disabled){background:var(--bg-tertiary)}.cg--segmented .cg-chip--active{background:var(--color-primary, #2563eb);color:#fff}.cg--segmented .cg-chip--active:hover:not(:disabled){background:var(--color-primary, #2563eb)}.cg--pills{display:flex;flex-wrap:wrap;gap:6px}.cg--pills .cg-chip{padding:6px 12px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-family:inherit;font-weight:var(--font-medium, 500);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast, .15s ease),color var(--transition-fast, .15s ease),border-color var(--transition-fast, .15s ease)}.cg--pills .cg-chip:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.cg--pills .cg-chip--active{background:var(--color-primary, #2563eb);border-color:var(--color-primary, #2563eb);color:var(--text-inverse, #fff)}.cg--pills .cg-chip--active:hover:not(:disabled){background:var(--color-primary, #2563eb);color:var(--text-inverse, #fff);opacity:.9}.cg-chip:disabled{cursor:not-allowed;opacity:.5}.sfb{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap;margin-bottom:var(--spacing-md)}.sfb-chips{display:inline-flex;align-items:center;gap:var(--spacing-sm, 8px);padding:3px 6px 3px 10px;border:1px solid var(--border-color);border-radius:var(--radius-md, 6px);background:var(--bg-primary);height:2.25rem;box-sizing:border-box}.sfb-chips-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold);white-space:nowrap}.sfb-daterange{display:inline-flex;align-items:center;gap:var(--spacing-sm, 8px)}.sfb-daterange-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold);white-space:nowrap}.sfb-daterange-sep{color:var(--text-tertiary)}.sfb-chips .cg{border:none;background:transparent}.sfb-chips .cg-chip{padding:4px 10px;border-radius:var(--radius-sm, 4px);border-left:none}.sfb-chips .cg-chip+.cg-chip{margin-left:2px}.sfb-select,.sfb-search,.sfb-fetch{height:2.25rem;padding:0 var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.sfb-select{cursor:pointer;min-width:110px;max-width:160px}.sfb-search{flex:0 1 280px;min-width:180px;max-width:320px}.sfb-fetch{background:var(--color-primary);color:var(--text-inverse, white);border-color:var(--color-primary);font-weight:var(--font-medium);cursor:pointer;padding:0 var(--spacing-lg)}.sfb-fetch:hover:not(:disabled){opacity:.9}.sfb-fetch:disabled{opacity:.6;cursor:not-allowed}.sfb-fetch--subtle{background:var(--bg-primary);color:var(--text-secondary);border-color:var(--border-color-dark);font-weight:var(--font-medium)}.sfb-fetch--subtle:hover:not(:disabled){background:var(--bg-tertiary);opacity:1}.sfb-text,.sfb-date,.sfb-datetime{height:2.25rem;padding:0 var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.sfb-text{min-width:200px}.sfb-date,.sfb-datetime{cursor:pointer}.sfb-clear{background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);cursor:pointer;padding:var(--spacing-sm);white-space:nowrap}.sfb-clear:hover{text-decoration:underline}.sfb-trailing{margin-left:auto;display:inline-flex;align-items:center;gap:var(--spacing-sm)}@media(max-width:640px){.sfb{flex-direction:column}.sfb-select,.sfb-search,.sfb-text,.sfb-date,.sfb-datetime{width:100%;max-width:none}}.option-chip{display:inline-flex;align-items:center;gap:10px;vertical-align:middle}.option-chip-label{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 8px;font-size:14px;font-weight:700;border-radius:6px;flex-shrink:0;line-height:1}.option-chip-value{font-weight:500;color:var(--text-primary)}.option-chip--accent .option-chip-label{background:var(--color-accent, #3b82f6);color:#fff}.option-chip--success .option-chip-label{background:var(--status-success-text, #16a34a);color:#fff}.option-chip--success .option-chip-value{color:var(--status-success-text, #16a34a);font-weight:600}.option-chip--error .option-chip-label{background:var(--status-error-text, #dc2626);color:#fff}.option-chip--error .option-chip-value{color:var(--status-error-text, #dc2626);font-weight:600}.option-chip--warning .option-chip-label{background:var(--status-warning-text, #d97706);color:#fff}.option-chip--neutral .option-chip-label{background:var(--bg-tertiary, #e5e7eb);color:var(--text-primary);border:1px solid var(--border-color, #d1d5db)}.mcq-badge--correct{border-color:#22c55e;border-width:2px;background:#22c55e14}.mcq-badge-label--correct{background:#22c55e!important}.mcq-badge--incorrect{border-color:#ef4444;border-width:2px;background:#ef444414}.mcq-badge-label--incorrect{background:#ef4444!important}.settings-layout{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-layout-title{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0}.settings-layout-body{display:grid;grid-template-columns:220px 1fr;gap:var(--spacing-xl);align-items:start}.settings-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--spacing-lg)}.settings-nav-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--border-color, rgba(127, 127, 127, .2))}.settings-nav-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-md);font-weight:var(--font-medium);text-align:left;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.settings-nav-item:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.settings-nav-item.active{background-color:var(--color-primary-light);color:var(--color-primary)}.settings-nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.settings-content{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}@media(max-width:768px){.settings-layout-body{grid-template-columns:1fr;gap:var(--spacing-md)}.settings-nav{flex-direction:row;position:static;gap:var(--spacing-xs);overflow-x:auto;border-bottom:1px solid var(--border-color);-webkit-overflow-scrolling:touch;scrollbar-width:none}.settings-nav::-webkit-scrollbar{display:none}.settings-nav-item{width:auto;flex-shrink:0;white-space:nowrap;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}.settings-nav-item.active{background-color:transparent;color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-nav-icon{display:none}}.ai-instructions-fields{display:flex;flex-direction:column;gap:var(--spacing-md)}.ai-instructions-hint{margin:0;font-size:var(--font-xs, 12px);color:var(--text-tertiary, #999)}.ai-instructions-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ai-instructions-row label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.ai-instructions-row textarea{width:100%;resize:vertical}.topic-selector{position:relative}.topic-selector-input-row{display:flex;align-items:center;gap:4px}.topic-selector-input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color, #d1d5db);border-radius:var(--radius-md, 6px);font-size:var(--font-sm, 13px);outline:none;background:var(--bg-primary, #fff);color:var(--text-primary, #111);box-sizing:border-box}.topic-selector-input::placeholder{color:var(--text-tertiary, #9ca3af)}.topic-selector-clear{background:none;border:none;cursor:pointer;font-size:16px;color:var(--text-tertiary, #9ca3af);padding:2px 6px}.topic-selector-dropdown{position:absolute;top:100%;left:0;right:0;z-index:1000;max-height:320px;overflow-y:auto;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--bg-secondary, #fff);box-shadow:0 4px 12px #00000026;margin-top:2px}.topic-selector-empty{padding:12px 16px;color:var(--text-tertiary, #9ca3af);font-size:13px}.topic-selector-module{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px;border-bottom:1px solid var(--border-color, #f3f4f6);color:var(--text-primary, #111)}.topic-selector-module:hover{background:var(--bg-hover, var(--bg-tertiary))}.topic-selector-module.selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.topic-selector-module-name{flex:1}.topic-selector-module-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--text-secondary, #64748b);font-weight:600}.topic-selector-chapter{padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;border-bottom:1px solid var(--border-color, #f3f4f6);color:var(--text-primary, #111)}.topic-selector-chapter.nested{padding-left:24px;font-weight:500}.topic-selector-chapter:hover{background:var(--bg-hover, var(--bg-tertiary))}.topic-selector-chapter.selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.topic-selector-chapter-name{flex:1}.topic-selector-chapter-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:var(--bg-tertiary, #e2e8f0);color:var(--text-secondary, #64748b);font-weight:500}.topic-selector-topic{padding:6px 12px 6px 28px;cursor:pointer;font-size:13px;color:var(--text-primary, #374151)}.topic-selector-topic.nested{padding-left:40px}.topic-selector-topic:hover{background:var(--bg-hover, var(--bg-tertiary))}.topic-selector-topic.selected{background:color-mix(in srgb,var(--color-primary) 15%,transparent)}.qtag-filter-pills{display:flex;gap:4px;flex-wrap:wrap;align-items:center}.qtag-filter-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;text-transform:capitalize}.qtag-filter-pill:hover{border-color:#7c3aed;color:#7c3aed}.qtag-filter-pill-active{background:#7c3aed;border-color:#7c3aed;color:#fff}.qtag-filter-pill-active:hover{opacity:.85;color:#fff}.qtag-filter-pill-count{font-size:10px;opacity:.7}.qtag-filter-clear{background:none;border:none;color:var(--color-primary);font-size:12px;cursor:pointer;padding:0}.qtag-filter-clear:hover{text-decoration:underline}.qtag-inline{font-size:10px;font-weight:500;padding:2px 6px;border-radius:999px;background:#ede9fe;color:#7c3aed;text-transform:capitalize}.questions-page.split-layout{display:flex;flex:1;min-height:0;height:100%;overflow:hidden}.list-panel{flex:3;min-width:280px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-secondary)}.list-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;height:56px;box-sizing:border-box;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.list-title{display:flex;align-items:baseline;gap:12px}.list-title h1{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.count-badge{font-size:13px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:10px}.list-actions{display:flex;gap:8px}.btn-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-tertiary);cursor:pointer;transition:all .15s}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-icon:disabled{opacity:.5;cursor:not-allowed}.status-bar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;font-size:13px}.status-bar.success{background:var(--status-success-bg-subtle);color:var(--color-success)}.status-bar.error{background:var(--status-error-bg-subtle);color:var(--color-error)}.status-bar button{background:none;border:none;font-size:16px;cursor:pointer;color:inherit;opacity:.7}.status-bar button:hover{opacity:1}.import-progress-bar{padding:10px 16px;background:var(--status-info-bg-subtle);border-bottom:1px solid var(--status-info-border)}.import-progress-text{font-size:12px;color:var(--status-info-text);margin-bottom:6px}.import-progress-track{height:4px;background:var(--status-info-bg);border-radius:2px;overflow:hidden}.import-progress-fill{height:100%;background:var(--color-info);border-radius:2px;transition:width .3s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.filters-section{padding:8px 12px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:6px;position:relative;z-index:10}.filter-row{display:flex;column-gap:8px;row-gap:6px;flex-wrap:wrap}.filter-select{flex:1 1 0;min-width:0;height:34px;padding:0 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;line-height:34px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;box-sizing:border-box;-webkit-appearance:menulist}.filter-select-wide{flex:2 1 0;max-width:none}.filter-select:disabled{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed}.filter-search{flex:1 1 200px;min-width:0;height:34px;padding:0 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;line-height:34px;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.filter-search:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f61a}.btn-fetch{height:34px;padding:0 20px;background:var(--color-info);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.btn-fetch:hover:not(:disabled){background:var(--color-accent)}.btn-fetch:disabled{background:#93c5fd;cursor:default;opacity:.6}.btn-clear-filters{padding:8px 16px;background:var(--status-error-bg);color:var(--color-error);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.advanced-filters{display:flex;flex-direction:column;gap:6px}.advanced-filters-header{display:flex;align-items:center;gap:8px}.advanced-filters-clear{background:transparent;border:none;padding:4px 6px;font-size:12px;font-weight:500;color:var(--color-error, #ef4444);cursor:pointer;border-radius:4px}.advanced-filters-clear:hover{background:var(--bg-tertiary)}.advanced-filters-toggle{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:4px 6px;margin:0 -6px;font-size:12px;font-weight:500;color:var(--text-secondary);cursor:pointer;border-radius:4px}.advanced-filters-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.advanced-filters-chevron{font-size:10px;width:10px;display:inline-block;text-align:center;color:var(--text-tertiary)}.advanced-filters-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 5px;font-size:11px;font-weight:600;color:#fff;background:var(--color-info);border-radius:8px}.advanced-filters-body{display:flex;flex-direction:column;gap:6px;padding:6px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.advanced-filter-group{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.advanced-filter-label{font-size:12px;font-weight:500;color:var(--text-secondary)}.diagram-pill-row{display:flex;gap:6px;flex-wrap:wrap}.diagram-pill{height:26px;padding:0 10px;font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border-color-dark);border-radius:13px;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.diagram-pill:hover{border-color:var(--color-info);color:var(--text-primary)}.diagram-pill-active{background:var(--color-info);border-color:var(--color-info);color:#fff}.diagram-pill-active:hover{color:#fff}.btn-clear-filters:hover{background:var(--status-error-border)}.selection-bar{display:flex;align-items:center;gap:8px;padding:6px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.select-all-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;margin-right:auto}.btn-selection-action{padding:4px 12px;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.btn-selection-action:hover{opacity:.85}.btn-selection-action:disabled{background:#9ca3af!important;cursor:not-allowed;opacity:1}.btn-publish-selected{padding:4px 12px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.btn-publish-selected:hover{opacity:.85}.btn-publish-selected:disabled{background:#9ca3af;cursor:not-allowed}.btn-delete-selected{padding:4px 12px;background:var(--color-error);color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer}.btn-delete-selected:hover{opacity:.85}.btn-delete-selected:disabled{background:#9ca3af;cursor:not-allowed}.question-list{flex:1;overflow-y:auto}.list-item-checkbox{cursor:pointer;flex-shrink:0}.empty-list{display:flex;justify-content:center;align-items:center;height:200px;color:var(--text-tertiary);font-size:14px}.question-list-item{padding:12px 16px;border-bottom:1px solid var(--bg-tertiary);cursor:pointer;transition:background .15s}.question-list-item:hover{background:var(--bg-tertiary)}.question-list-item.selected{background:var(--selected-bg);border-left:3px solid var(--color-info)}.list-item-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.list-item-index{font-size:11px;color:var(--text-tertiary);min-width:24px}.list-item-subject{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff}.list-item-difficulty{width:8px;height:8px;border-radius:50%}.list-item-module{font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;background:var(--status-success-bg-subtle);color:var(--status-success-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.list-item-type{font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;background:var(--status-purple-bg);color:var(--status-purple-text)}.list-item-exam{font-size:10px;font-weight:500;padding:2px 6px;border-radius:3px;background:var(--status-info-bg);color:var(--status-info-text)}.list-item-draft{font-size:10px;font-weight:600;padding:2px 6px;border-radius:3px;background:var(--status-warning-bg);color:var(--status-warning-text)}.list-item-text{font-size:13px;color:var(--text-secondary);line-height:1.5;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-panel{flex:7;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden;position:relative}.no-selection{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-tertiary)}.no-selection p{margin:0;font-size:14px}.detail-header{display:flex;align-items:center;padding:12px;height:56px;position:relative;box-sizing:border-box;border-bottom:1px solid var(--border-color)}.detail-left-actions{display:flex;align-items:center;gap:8px}.detail-nav{display:flex;align-items:center;gap:12px;position:absolute;left:50%;transform:translate(-50%)}.btn-nav{padding:6px 12px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s}.btn-nav:hover:not(:disabled){background:var(--bg-tertiary)}.btn-nav:disabled{opacity:.4;cursor:not-allowed}.nav-position{font-size:13px;color:var(--text-tertiary);min-width:80px;text-align:center}.detail-actions{display:flex;gap:8px;margin-left:auto}.btn-edit{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.btn-edit:hover{background:#1d4ed8}.btn-cancel{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.btn-save{padding:8px 16px;background:var(--color-success);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.btn-save:hover{background:#059669}.detail-content{flex:1;overflow-y:auto;padding:8px 12px}.detail-content>.view-content{max-width:900px}.view-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;padding:20px}.teacher-question-banner{padding:8px 12px;margin-bottom:12px;background:#f59e0b1f;border:1px solid rgba(245,158,11,.3);border-radius:6px;font-size:13px;color:var(--text-secondary)}.view-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.view-badges>span{padding:3px 10px;border-radius:12px;font-size:12px;font-weight:500;background:var(--bg-tertiary);border:none}.badge-subject,.badge-difficulty{text-transform:capitalize}.badge-readiness{font-weight:600}.badge-import-status{text-transform:capitalize;font-weight:600}.view-id{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--bg-tertiary)}.view-id .label{font-size:13px;color:var(--text-tertiary)}.view-id code{font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:4px 8px;border-radius:4px}.identifiers-grid{display:flex;flex-direction:column;gap:8px}.identifier-item{display:flex;align-items:center;gap:8px}.identifier-label{font-size:12px;color:var(--text-tertiary);min-width:110px;flex-shrink:0}.view-section{margin-bottom:24px}.view-section h3{font-size:13px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.question-text{font-size:16px;line-height:1.6;color:var(--text-primary);margin:0}.answer-text{font-size:16px;font-weight:600;color:#059669;margin:0}.answer-text-multiline{white-space:pre-wrap;font-weight:500;line-height:1.6}.question-image,.solution-image{max-width:100%;max-height:400px;border-radius:8px;border:1px solid var(--border-color);margin-top:12px}.options-list{display:flex;flex-direction:column;gap:8px}.option-item{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px}.option-item.correct{background:var(--status-success-bg-subtle);border-color:var(--status-success-border)}.option-label{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--border-color);border-radius:50%;font-size:13px;font-weight:600;color:var(--text-secondary);flex-shrink:0}.option-item.correct .option-label{background:var(--color-success);color:#fff}.option-text{flex:1;font-size:14px;color:var(--text-secondary)}.correct-tag{font-size:16px;color:var(--color-success)}.exam-list{display:flex;flex-wrap:wrap;gap:8px}.exam-item{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--status-info-bg-subtle);border:1px solid var(--status-info-border);border-radius:6px}.exam-name{font-weight:600;font-size:13px;color:var(--status-info-text)}.exam-date{font-size:13px;color:var(--text-secondary)}.exam-session{font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.exam-qno{font-size:12px;font-weight:500;color:var(--color-success);background:var(--status-success-bg-subtle);padding:2px 6px;border-radius:4px}.exam-marks{font-size:12px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px}.badge-marks{font-weight:500;color:#7c3aed}.solution-view{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:12px}.solution-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.solution-style-badge{padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;text-transform:capitalize}.solution-style-badge.detailed{background:var(--status-info-bg);color:var(--status-info-text)}.solution-style-badge.formal{background:var(--status-success-bg);color:var(--status-success-text)}.solution-style-badge.quick{background:var(--status-warning-bg);color:var(--status-warning-text)}.solution-label-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary)}.solution-exams-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:500;background:var(--status-indigo-bg);color:var(--status-indigo-text)}.time-badge{font-size:12px;color:var(--status-indigo-text);background:var(--status-indigo-bg);padding:4px 8px;border-radius:4px}.solution-steps{line-height:1.7;color:var(--text-secondary);font-size:14px}.hints-list{margin:0;padding-left:20px}.hints-list li{margin-bottom:6px;color:var(--text-tertiary);line-height:1.5}.target-exams{display:flex;flex-wrap:wrap;gap:8px}.target-exam-badge{padding:6px 12px;background:var(--bg-tertiary);border-radius:6px;font-size:13px;font-weight:500;color:var(--text-secondary)}.confirm-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.confirm-card{background:var(--bg-primary);border-radius:12px;padding:24px;min-width:360px;max-width:440px;box-shadow:0 8px 32px #0003}.confirm-card h3{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.confirm-card p{margin:0 0 20px;font-size:14px;color:var(--text-secondary)}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.detail-back-mobile{display:none}@media(max-width:1024px)and (min-width:901px){.list-panel{width:320px;min-width:280px;flex:0 0 320px}}@media(max-width:900px){.questions-page.split-layout{flex-direction:column}.list-panel,.detail-panel{width:100%;min-width:0;flex:1 1 auto;border-right:none}.questions-page.split-layout .detail-panel,.questions-page.split-layout.has-detail .list-panel{display:none}.questions-page.split-layout.has-detail .detail-panel{display:flex}.detail-panel:after{display:none}.detail-back-mobile{display:inline-flex;align-items:center;gap:6px;margin:8px 12px;padding:6px 10px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer}.detail-back-mobile:hover{background:var(--bg-tertiary, var(--bg-secondary))}}.parts-list{display:flex;flex-direction:column;gap:10px}.part-item{border:1px solid var(--border-color);border-radius:6px;padding:12px 16px;background:var(--bg-secondary);color:var(--text-primary)}.part-item-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.part-label{font-weight:600;color:var(--text-primary)}.part-marks{font-size:.8rem;color:var(--text-muted)}.part-statement{margin:2px 0;color:var(--text-primary)}.part-answer{margin-top:6px;font-size:.9rem;color:var(--text-primary)}.part-answer-label{color:var(--text-muted);font-weight:600}.explorer-tabs-container{display:flex;flex-direction:column}.explorer-tabs-bar{display:flex;align-items:stretch;gap:2px;border-bottom:1px solid var(--border-color, #ddd);padding:0 4px;background:var(--bg-secondary, #f8f9fa);border-radius:8px 8px 0 0;overflow-x:auto}.explorer-tab{display:flex;align-items:center;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;background:transparent;position:relative;top:1px;flex-shrink:0}.explorer-tab.active{background:var(--bg-primary, #fff);border-color:var(--border-color, #ddd)}.explorer-tab-label{padding:8px 12px;border:none;background:none;font-size:12px;font-weight:500;color:var(--text-secondary, #666);cursor:pointer;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.explorer-tab.active .explorer-tab-label{color:var(--text-primary, #333);font-weight:600}.explorer-tab-close{padding:2px 6px;border:none;background:none;font-size:15px;color:var(--text-secondary, #999);cursor:pointer;line-height:1;border-radius:3px;margin-right:4px}.explorer-tab-close:hover{background:#00000014;color:var(--text-primary, #333)}.explorer-tab-add{padding:6px 12px;border:none;background:none;font-size:18px;color:var(--text-secondary, #999);cursor:pointer;line-height:1;flex-shrink:0}.explorer-tab-add:hover{color:var(--primary-color, #4a90d9)}.explorer-tabs-content{padding-top:16px}.sidebar-layout-content:has(.settings-page[data-active-tab=explorer])>*{max-width:none}.explorer-layout{display:grid;grid-template-columns:280px 1fr;gap:20px;height:calc(100vh - 240px);min-height:400px}@media(min-width:1200px){.explorer-layout.has-detail{grid-template-columns:280px 1fr 1fr}}.explorer-sidebar{display:flex;flex-direction:column;gap:20px;overflow-y:auto;min-height:0}.explorer-form{display:flex;flex-direction:column;gap:8px}.explorer-label{font-size:12px;font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;letter-spacing:.5px}.explorer-select,.explorer-input{padding:8px 10px;border:1px solid var(--border-color, #ddd);border-radius:6px;font-size:13px;background:var(--bg-primary, #fff);color:var(--text-primary, #333)}.explorer-select:focus,.explorer-input:focus{outline:none;border-color:var(--primary-color, #4a90d9);box-shadow:0 0 0 2px #4a90d926}.explorer-fetch-btn{padding:8px 16px;background:var(--primary-color, #4a90d9);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;margin-top:4px}.explorer-fetch-btn:hover:not(:disabled){opacity:.9}.explorer-fetch-btn:disabled{opacity:.5;cursor:not-allowed}.explorer-breadcrumbs{display:flex;flex-direction:column;gap:4px}.explorer-breadcrumb-row{display:flex;align-items:center;gap:4px}.explorer-breadcrumb{display:flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--border-color, #e0e0e0);border-radius:6px;background:var(--bg-primary, #fff);cursor:pointer;font-size:12px;color:var(--text-primary, #333);text-align:left;flex:1;min-width:0}.breadcrumb-open-tab{padding:4px;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;background:var(--bg-primary, #fff);cursor:pointer;color:var(--text-secondary, #999);flex-shrink:0;display:flex;align-items:center}.breadcrumb-open-tab:hover{color:var(--primary-color, #4a90d9);border-color:var(--primary-color, #4a90d9)}.explorer-breadcrumb:hover{background:var(--bg-hover, #f5f5f5)}.explorer-breadcrumb.active{border-color:var(--primary-color, #4a90d9);background:#4a90d90f}.breadcrumb-index{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--border-color, #e0e0e0);font-size:11px;font-weight:600;flex-shrink:0}.explorer-breadcrumb.active .breadcrumb-index{background:var(--primary-color, #4a90d9);color:#fff}.breadcrumb-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.explorer-content{min-width:0;overflow-y:auto;min-height:0}.explorer-detail-pane{min-width:0;overflow-y:auto;min-height:0;display:none}@media(min-width:1200px){.explorer-layout.has-detail .explorer-detail-pane{display:block}}.explorer-detail-pane .explorer-document{height:100%;display:flex;flex-direction:column}.explorer-detail-pane .explorer-json{flex:1;overflow-y:auto}.detail-placeholder{padding:40px 20px;text-align:center;color:var(--text-secondary, #999);font-size:13px;line-height:1.6;border:1px dashed var(--border-color, #ddd);border-radius:8px;height:100%;display:flex;align-items:center;justify-content:center}.explorer-placeholder{padding:40px 20px;text-align:center;color:var(--text-secondary, #999);font-size:14px;line-height:1.6}.explorer-error{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:13px}.explorer-document{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;height:100%}.explorer-doc-header{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-secondary, #f8f9fa);border-bottom:1px solid var(--border-color, #e0e0e0)}.explorer-container-badge{display:inline-block;padding:2px 10px;background:var(--primary-color, #4a90d9);color:#fff;border-radius:12px;font-size:12px;font-weight:500}.explorer-doc-id{font-family:monospace;font-size:13px;color:var(--text-secondary, #666);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.explorer-open-tab-btn{padding:4px 6px;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;background:var(--bg-primary, #fff);cursor:pointer;color:var(--text-secondary, #999);flex-shrink:0;display:flex;align-items:center}.explorer-open-tab-btn:hover{color:var(--primary-color, #4a90d9);border-color:var(--primary-color, #4a90d9)}.explorer-json{padding:16px;margin:0;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:13px;line-height:1.5;overflow:auto;background:var(--bg-primary, #fff);white-space:pre-wrap;word-break:break-all;flex:1;min-height:0}.json-indent{padding-left:20px}.json-key{color:var(--json-key, #0550ae)}.json-string{color:var(--json-string, #0a3069)}.json-number{color:var(--json-number, #0550ae)}.json-boolean{color:var(--json-boolean, #cf222e)}.json-null{color:var(--text-tertiary);font-style:italic}.json-bracket,.json-colon,.json-comma{color:var(--text-tertiary)}.explorer-references{display:flex;flex-direction:column;gap:4px}.ref-group{border:1px solid var(--border-color, #e0e0e0);border-radius:6px;overflow:hidden}.ref-group-header{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;border:none;background:var(--bg-secondary, #f8f9fa);cursor:pointer;font-size:12px;color:var(--text-primary, #333);text-align:left}.ref-group-header:hover{background:var(--bg-hover, #f0f0f0)}.ref-group-arrow{font-size:9px;flex-shrink:0;width:12px;color:var(--text-secondary, #666)}.ref-group-label{font-weight:600;flex-shrink:0}.ref-group-field{color:var(--text-secondary, #999);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.ref-group-count{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;border-radius:9px;background:var(--border-color, #e0e0e0);font-size:11px;font-weight:600}.ref-group-items{display:flex;flex-direction:column;border-top:1px solid var(--border-color, #e0e0e0);max-height:200px;overflow-y:auto}.ref-group-empty{padding:6px 10px 6px 28px;font-size:12px;color:var(--text-secondary, #999);font-style:italic}.ref-item-row{display:flex;align-items:center}.ref-item{flex:1;padding:4px 10px 4px 28px;border:none;background:none;text-align:left;font-family:monospace;font-size:11px;color:#0969da;cursor:pointer;text-decoration:none}.ref-item:hover{background:#4a90d90f;text-decoration:underline}.ref-item-newtab{padding:2px 6px;border:none;background:none;color:var(--text-tertiary);cursor:pointer;font-size:13px;line-height:1;opacity:0;transition:opacity .15s}.ref-item-row:hover .ref-item-newtab{opacity:1}.ref-item-newtab:hover{color:#0969da}.explorer-tree-section{margin-top:12px}.explorer-tree-hint{font-size:10px;color:var(--text-tertiary, #8b949e);margin-bottom:6px;padding-left:4px}.exp-tree{font-size:12px}.exp-tree-row{display:flex;align-items:center;gap:4px;padding:3px 8px;cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden}.exp-tree-row:hover{background:#4a90d90f}.exp-tree-row.selected{background:#4a90d91f;font-weight:500}.exp-tree-arrow{font-size:9px;width:12px;flex-shrink:0;text-align:center;color:var(--text-secondary, #666);cursor:pointer}.exp-tree-badge{display:inline-block;padding:0 5px;background:#8b5cf6;color:#fff;border-radius:6px;font-size:9px;font-weight:500;flex-shrink:0}.exp-tree-label{color:var(--text-primary, #1f2328);overflow:hidden;text-overflow:ellipsis}.exp-tree-relation{color:var(--text-tertiary, #8b949e);font-size:10px;flex-shrink:0}.explorer-fk-link{color:#0969da;text-decoration:underline;cursor:pointer;text-decoration-style:dotted}.explorer-fk-link:hover{color:#0550ae;text-decoration-style:solid}.explorer-fk-badge{display:inline-block;margin-left:6px;padding:1px 6px;background:#8b5cf6;color:#fff;border-radius:8px;font-size:10px;font-weight:500;vertical-align:middle}.fk-link-wrap{position:relative;display:inline}.fk-preview-popup{position:absolute;left:0;top:100%;z-index:100;min-width:280px;max-width:420px;padding:8px 12px;background:var(--bg-primary, #fff);border:1px solid var(--border-color, #d0d7de);border-radius:8px;box-shadow:0 4px 16px #00000026;font-size:12px;line-height:1.5;white-space:normal}.fk-preview-title{font-weight:600;color:var(--text-primary, #1f2328);margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid var(--border-color, #d0d7de)}.fk-preview-row{padding:1px 0;color:var(--text-secondary, #656d76)}.fk-preview-field{color:var(--text-tertiary, #6e7781);font-weight:500}.fk-preview-value{color:var(--text-primary, #1f2328);word-break:break-word}.split-layout{display:flex;flex:1;min-height:0;overflow:hidden}.list-detail-list-panel{min-width:280px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-secondary);padding:var(--spacing-lg)}.list-detail-detail-panel{display:flex;flex-direction:column;overflow-y:auto;background:var(--bg-primary);padding:var(--spacing-lg)}.list-detail-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:var(--text-tertiary);font-size:var(--font-md)}.list-detail--mobile .list-detail-list-panel{flex:1;min-width:0;border-right:none}.list-detail--mobile .list-detail--hidden{display:none}.list-detail--mobile .list-detail--active{flex:1;min-width:0}.list-detail-back{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:none;border-bottom:1px solid var(--border-color);color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;flex-shrink:0}.list-detail-back:hover{background:var(--bg-tertiary)}.list-detail-back svg{width:16px;height:16px}@media(max-width:640px){.list-detail--mobile{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}.list-detail--mobile .list-detail-list-panel,.list-detail--mobile .list-detail-detail-panel{padding:var(--spacing-sm)}.list-detail--mobile .list-detail-detail-panel{padding:0}.list-detail--mobile .list-detail-detail-panel>*:not(.list-detail-back){padding:var(--spacing-sm)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;align-items:stretch;justify-content:space-around;z-index:var(--z-dropdown);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;color:var(--text-tertiary);font-size:10px;font-weight:var(--font-medium);transition:color var(--transition-fast);position:relative;padding:4px 0;background:none;border:none;cursor:pointer}.bottom-nav-item:hover{color:var(--text-secondary);text-decoration:none}.bottom-nav-item.active{color:var(--color-primary)}.bottom-nav-icon{font-size:20px;line-height:1;height:24px;display:flex;align-items:center;justify-content:center}.bottom-nav-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64px}.bottom-nav-badge{position:absolute;top:2px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-primary);color:#fff;font-size:10px;font-weight:var(--font-bold);display:flex;align-items:center;justify-content:center;line-height:1}.bottom-nav-more-wrapper{flex:1;position:relative}.bottom-nav-more-btn{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--text-tertiary);font-size:10px;font-weight:var(--font-medium);cursor:pointer;padding:4px 0}.bottom-nav-more-btn.menu-open{color:var(--color-primary)}.bottom-nav-overlay{position:fixed;inset:0;z-index:calc(var(--z-dropdown) + 1)}.bottom-nav-menu{position:absolute;bottom:calc(100% + 8px);right:-8px;min-width:180px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xs) 0;z-index:calc(var(--z-dropdown) + 2);animation:bottom-nav-menu-in .15s ease}@keyframes bottom-nav-menu-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.bottom-nav-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;text-decoration:none;text-align:left;transition:background var(--transition-fast)}.bottom-nav-menu-item:hover{background:var(--bg-tertiary);text-decoration:none}.bottom-nav-menu-item.active{color:var(--color-primary);background:var(--color-primary-light)}.bottom-nav-menu-icon{font-size:16px;line-height:1;width:20px;text-align:center}.bottom-nav-menu-divider{height:1px;background:var(--border-color);margin:var(--spacing-xs) 0}.bottom-nav-menu-item.logout{color:var(--text-tertiary)}.sidebar-layout-wrapper{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.sidebar-layout{display:flex;height:100vh;height:100dvh;overflow:hidden}.sidebar-layout-content{flex:1;padding:var(--spacing-xl);background:var(--bg-secondary);overflow-y:auto}.sidebar-layout-content>*:not(.split-layout){max-width:var(--max-content-width)}.sidebar-layout-content:has(>.split-layout){padding:0;overflow:hidden;display:flex;flex-direction:column}@media(max-width:640px){.sidebar-layout-content{padding-bottom:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}}.impersonation-banner{display:flex;align-items:center;justify-content:center;gap:8px;padding:3px 12px;background:#fef3c7;border-bottom:1px solid #f59e0b;font-size:11px;color:#92400e;flex-shrink:0;z-index:1000}.impersonation-banner button{padding:1px 8px;border:1px solid #d97706;border-radius:3px;background:#fff;color:#92400e;font-size:11px;font-weight:600;cursor:pointer}.impersonation-banner button:hover{background:#fde68a}.sidebar{width:var(--sidebar-width);height:100vh;height:100dvh;position:sticky;top:0;background:var(--bg-primary);border-right:1px solid var(--border-color);padding:var(--spacing-lg);display:flex;flex-direction:column;flex-shrink:0;transition:width .2s ease;overflow:hidden;overscroll-behavior:none;touch-action:none}.sidebar--collapsed{width:var(--sidebar-width-collapsed);padding:var(--spacing-sm)}.sidebar--dev-env{background:var(--status-warning-bg, #fef3c7);border-right-color:var(--status-warning-text, #d97706)}.sidebar--local-env{background:var(--status-info-bg, #dbeafe);border-right-color:var(--color-info, #2563eb)}.sidebar-top{margin-bottom:var(--spacing-lg)}.sidebar-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm)}.sidebar--collapsed .sidebar-header{align-items:center}.sidebar-logo h1{margin:0;font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--color-primary)}.sidebar-logo span{font-size:var(--font-xs);color:var(--text-tertiary)}.sidebar-collapse{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:none;border-radius:var(--radius-md);color:var(--text-secondary);font-size:18px;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.sidebar-collapse:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-welcome{color:var(--text-secondary);font-size:var(--font-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-medium)}.sidebar--collapsed .sidebar-welcome{padding:var(--spacing-sm);text-align:center;font-size:16px}.sidebar-top-slot{padding:0 var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1;overflow:hidden}.sidebar-nav-item{color:var(--text-secondary);text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:var(--font-medium);font-size:var(--font-sm);transition:all var(--transition-fast);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.sidebar--collapsed .sidebar-nav-item{padding:var(--spacing-sm);display:flex;align-items:center;justify-content:center}.sidebar-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none}.sidebar-nav-item.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-nav-icon{font-size:16px;line-height:1}.sidebar-nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:var(--font-bold);line-height:1;margin-left:auto}.sidebar-nav-group{cursor:default;margin-top:var(--spacing-sm)}.sidebar-nav-group:first-child{margin-top:0}.sidebar-nav-group:hover{background:transparent;color:var(--text-secondary)}.sidebar-nav-group-label{font-size:var(--font-xs);font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);flex:1}.sidebar-nav-group-chevron{font-size:11px;color:var(--text-tertiary);margin-left:var(--spacing-xs);transition:transform var(--transition-fast)}.sidebar-nav-group--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.sidebar-nav-group--clickable:hover{background:var(--bg-tertiary)}.sidebar-nav-group--clickable:hover .sidebar-nav-group-label,.sidebar-nav-group--clickable:hover .sidebar-nav-group-chevron{color:var(--text-primary)}.sidebar-nav-group--collapsed{justify-content:center}.sidebar-nav-child{padding-left:var(--spacing-xl);font-size:var(--font-sm);color:var(--text-secondary);font-weight:var(--font-normal)}.sidebar-nav-child:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sidebar-nav-child.active{background:var(--color-primary-light);color:var(--color-primary)}.sidebar-bottom-nav{margin-top:auto;padding-top:var(--spacing-sm)}.sidebar-footer{padding-top:var(--spacing-lg);border-top:1px solid var(--border-color);margin-top:var(--spacing-sm)}.sidebar-logout{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.sidebar-logout:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color-dark)}.sidebar--collapsed .sidebar-logout{padding:var(--spacing-sm);font-size:16px}@media(max-width:640px){.sidebar{display:none}}@media(max-height:700px){.sidebar{padding:var(--spacing-sm) var(--spacing-lg)}.sidebar--collapsed{padding:var(--spacing-sm)}.sidebar-top{margin-bottom:var(--spacing-sm)}.sidebar-welcome{padding:var(--spacing-xs) var(--spacing-md);margin-bottom:var(--spacing-xs)}.sidebar-nav-item{padding:var(--spacing-xs) var(--spacing-md)}.sidebar--collapsed .sidebar-nav-item{padding:var(--spacing-xs)}.sidebar-bottom-nav{padding-top:var(--spacing-xs)}.sidebar-footer{padding-top:var(--spacing-sm);margin-top:var(--spacing-xs)}}.sidebar-nav-item--disabled,.sidebar-nav-item--disabled:hover{opacity:.45;cursor:not-allowed;background:transparent}.thread-conversation{display:flex;flex-direction:column;gap:var(--spacing-md)}.thread-msg{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color)}.thread-msg-recipient{background:var(--color-primary-light);border-color:var(--color-primary)}.thread-msg-creator{background:var(--bg-secondary)}.thread-msg-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap}.thread-sender{font-weight:var(--font-semibold);font-size:var(--font-sm);color:var(--text-primary)}.thread-role{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:capitalize;background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-sm)}.thread-time{font-size:var(--font-xs);color:var(--text-tertiary);margin-left:auto}.thread-msg-body{margin:0;font-size:var(--font-sm);color:var(--text-primary);white-space:pre-wrap;line-height:1.5}.thread-reply{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.thread-reply-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm)}.thread-reply-actions--standalone{margin-top:var(--spacing-sm)}.thread-reply textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:60px;box-sizing:border-box}.thread-reply textarea:focus{outline:none;border-color:var(--color-primary)}.thread-edited{font-style:italic;color:var(--text-tertiary)}.thread-edit-btn{background:transparent;border:none;color:var(--color-primary);font-size:var(--font-xs);padding:2px 6px;cursor:pointer;border-radius:var(--radius-sm)}.thread-edit-btn:hover{background:var(--bg-tertiary)}.thread-edit{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.thread-edit textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);resize:vertical;min-height:60px;box-sizing:border-box}.thread-edit textarea:focus{outline:none;border-color:var(--color-primary)}.thread-edit-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.thread-edit-error{margin:0;font-size:var(--font-xs);color:var(--color-error)}.thread-screenshots{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.thread-screenshot{display:block;width:96px;height:96px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary)}.thread-screenshot img{width:100%;height:100%;object-fit:cover;display:block}.thread-screenshot:hover{border-color:var(--color-primary)}.tenant-filter{display:flex;flex-direction:column;gap:4px}.tenant-filter-label{font-size:var(--font-xs);font-weight:var(--font-bold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);background-color:var(--bg-secondary)}.login-card{width:100%;max-width:400px;background-color:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow-lg)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-logo{margin-bottom:var(--spacing-md);border-radius:var(--radius-lg)}.login-header h1{margin:0;font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--color-primary)}.login-subtitle{font-size:var(--font-sm);color:var(--text-secondary);margin:var(--spacing-xs) 0 0}.login-error{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-error-bg);color:var(--color-error);border-radius:var(--radius-md);font-size:var(--font-sm);margin-bottom:var(--spacing-md)}.login-error a{color:inherit;font-weight:600;text-decoration:underline}.login-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.login-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.login-form .form-group label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.login-form .form-group input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast)}.login-form .form-group input:focus{outline:none;border-color:var(--color-primary)}.login-form .form-group input::placeholder{color:var(--text-tertiary)}.login-divider{display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-lg) 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background-color:var(--border-color)}.login-divider span{font-size:var(--font-sm);color:var(--text-secondary)}.google-signin-container{display:flex;justify-content:center;width:100%}.login-success{padding:var(--spacing-sm) var(--spacing-md);background-color:#e8f5e9;color:#2e7d32;border-radius:var(--radius-md);font-size:var(--font-sm);margin-bottom:var(--spacing-md)}.otp-info{font-size:var(--font-sm);color:var(--text-secondary);margin:0;text-align:center}.otp-input{text-align:center;font-size:var(--font-xl)!important;letter-spacing:8px;font-weight:600}.resend-link{text-align:center;font-size:var(--font-sm)}.resend-link a{color:var(--color-primary);text-decoration:none}.resend-link a:hover{text-decoration:underline}.resend-cooldown{color:var(--text-tertiary)}.forgot-password-link{text-align:right;margin-top:calc(-1 * var(--spacing-xs))}.forgot-password-link a{font-size:var(--font-sm);color:var(--color-primary);text-decoration:none}.forgot-password-link a:hover{text-decoration:underline}.back-to-login{text-align:center;margin-top:var(--spacing-sm)}.back-to-login a{font-size:var(--font-sm);color:var(--color-primary);text-decoration:none}.back-to-login a:hover{text-decoration:underline}@media(max-width:640px){.login-card{padding:var(--spacing-lg)}.login-header{margin-bottom:var(--spacing-lg)}.otp-input{letter-spacing:4px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e)}.login-card{background:var(--bg-primary);padding:40px;border-radius:16px;box-shadow:var(--shadow-lg);width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin-bottom:12px;border-radius:12px}.login-header h1{margin:0;font-size:28px;color:var(--color-primary)}.login-header span{font-size:14px;color:var(--text-tertiary)}.error-message{background:var(--status-error-bg);color:var(--status-error-text);padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:16px;transition:border-color .2s;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary)}.form-group input:focus{outline:none;border-color:var(--color-primary)}.login-card button{width:100%;padding:14px;background:var(--color-primary);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:background .2s}.login-card button:hover:not(:disabled){background:var(--color-primary-hover)}.login-card button:disabled{opacity:.7;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-tertiary);font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.google-signin-container{display:flex;justify-content:center}.eba-section{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.eba-section h3{margin:0 0 4px;font-size:16px;color:var(--text-primary)}.eba-section-sub{margin:0 0 var(--spacing-md);color:var(--text-secondary);font-size:13px}.eba-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--spacing-md)}.eba-card{background:var(--bg-primary);border:1px solid var(--border-secondary, #e5e7eb);border-radius:8px;padding:var(--spacing-md)}.eba-card h4{margin:0 0 var(--spacing-sm);font-size:14px;color:var(--text-secondary, #374151)}.ts-page{padding:var(--spacing-lg)}.ts-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.ts-controls{display:flex;gap:var(--spacing-md);align-items:center;margin-bottom:var(--spacing-lg)}.ts-teacher-select{min-width:280px}.ts-range-toggle{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--border-secondary, #e5e7eb)}.ts-range-toggle button{background:var(--bg-primary, #fff);color:var(--text-primary, #111827);border:0;padding:6px 14px;font-size:13px;cursor:pointer}.ts-range-toggle button:not(:last-child){border-right:1px solid var(--border-secondary, #e5e7eb)}.ts-range-toggle button.active{background:var(--accent, #3b82f6);color:#fff}.ts-empty{padding:var(--spacing-xl) var(--spacing-lg);text-align:center;color:var(--text-secondary, #6b7280);border:1px dashed var(--border-secondary, #e5e7eb);border-radius:8px}.ts-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.ts-card{background:var(--bg-secondary, #f9fafb);border:1px solid var(--border-secondary, #e5e7eb);border-radius:8px;padding:var(--spacing-md)}.ts-card-value{font-size:28px;font-weight:600;color:var(--text-primary, #111827);line-height:1}.ts-card-label{margin-top:6px;font-size:12px;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.05em}.ts-card-sub{margin-top:2px;font-size:11px;color:var(--text-tertiary, #9ca3af)}.ts-section{margin-bottom:var(--spacing-xl)}.ts-note{background:var(--bg-secondary, #f9fafb);border-left:3px solid var(--accent, #3b82f6);border-radius:4px;padding:var(--spacing-sm) var(--spacing-md);color:var(--text-secondary, #6b7280);font-size:13px;margin:0 0 var(--spacing-lg)}.ts-section h3{margin:0 0 var(--spacing-sm);font-size:16px}.ts-section-sub{margin:0 0 var(--spacing-md);color:var(--text-secondary, #6b7280);font-size:13px}.ts-chart-card{background:var(--bg-primary, #fff);border:1px solid var(--border-secondary, #e5e7eb);border-radius:8px;padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.ts-chart-card h4{margin:0 0 var(--spacing-sm);font-size:14px;color:var(--text-secondary, #374151)}.ts-cohort-controls{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);align-items:center}.ts-cohort-table{width:100%;border-collapse:collapse;font-size:12px}.ts-cohort-table th,.ts-cohort-table td{padding:6px 8px;text-align:center;border:1px solid var(--border-secondary, #e5e7eb)}.ts-cohort-table th{background:var(--bg-secondary, #f9fafb);color:var(--text-secondary, #6b7280);font-weight:500}.ts-cohort-table td.cohort-anchor{background:var(--bg-secondary, #f9fafb);color:var(--text-primary, #111827);font-weight:500;text-align:left}.ts-cohort-cell{display:block;line-height:1.2}.ts-cohort-cell-pct{font-weight:500;color:#fff;text-shadow:0 0 2px rgba(0,0,0,.5)}.ts-cohort-cell-count{font-size:10px;opacity:.85}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.dashboard h1{margin:0;color:var(--text-primary)}.dashboard-time-toggle{display:inline-flex;border-radius:6px;overflow:hidden;border:1px solid var(--border-color, #ddd)}.time-toggle-btn{padding:6px 14px;border:none;background:transparent;font-size:13px;font-weight:500;cursor:pointer;color:var(--text-secondary);transition:background .15s,color .15s}.time-toggle-btn.active{background:var(--color-primary, #3b82f6);color:#fff}.time-toggle-btn:not(.active):hover{background:var(--bg-tertiary)}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-primary);padding:24px;border-radius:12px;box-shadow:var(--shadow-md)}.stat-value{font-size:36px;font-weight:700;color:var(--color-primary)}.stat-label{color:var(--text-tertiary);font-size:14px;margin-top:4px}.charts-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.chart-card{background:var(--bg-primary);padding:20px;border-radius:12px;box-shadow:var(--shadow-md)}.chart-card h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.chart-header h3{margin:0}.provider-list{display:flex;flex-direction:column;gap:8px}.provider-item{display:flex;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px}.provider-name{font-weight:500;text-transform:capitalize}.provider-count{color:var(--color-primary);font-weight:700}.trend-legend{display:flex;gap:16px;font-size:12px;color:var(--text-tertiary)}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:10px;height:10px;border-radius:2px}.trend-chart{display:flex;align-items:flex-end;height:200px;padding-top:8px;overflow-x:auto;overflow-y:hidden}.trend-bar-group{display:flex;flex-direction:column;align-items:center;flex:1 1 0;min-width:24px}.trend-bars{display:flex;align-items:flex-end;gap:3px;height:150px;width:100%;justify-content:center}.trend-bar-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:60%;max-width:32px;height:100%}.trend-bar{width:100%;border-radius:3px 3px 0 0;min-height:4px;transition:height .3s ease}.trend-bar-stacked{display:flex;flex-direction:column-reverse;overflow:hidden}.trend-bar-segment{width:100%;min-height:0}.trend-bar-value{font-size:10px;font-weight:600;color:var(--text-secondary);margin-bottom:2px;white-space:nowrap}.trend-date{font-size:13px;color:var(--text-tertiary);margin-top:6px}.trend-date-week{font-size:11px;text-align:center;line-height:1.3}.trend-chart-compact .trend-date{font-size:12px;writing-mode:vertical-rl;transform:rotate(180deg);max-height:50px}.provider-table-wrapper{overflow-x:auto}.provider-table{width:100%;border-collapse:collapse;font-size:13px}.provider-table th,.provider-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--border-primary)}.provider-table th{font-weight:600;color:var(--text-secondary);font-size:12px}.provider-table th.sub-header{font-weight:400;font-size:11px;color:var(--text-tertiary)}.provider-table td.num{text-align:right;font-variant-numeric:tabular-nums}.provider-table tbody tr:hover{background:var(--bg-tertiary)}.no-data{color:var(--text-tertiary);font-size:14px;text-align:center;padding:24px 0}.loading,.error{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px}.error{color:var(--color-error)}@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}}.dashboard .tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border-color)}.dashboard .tab{padding:12px 24px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.dashboard .tab:hover{color:var(--text-secondary)}.dashboard .tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.question-stats{display:flex;flex-direction:column;gap:24px}.qs-table-wrap{margin-bottom:16px}.qs-bar-chart{display:flex;flex-direction:column;gap:12px;padding:0 4px}.qs-bar-group{display:flex;align-items:center;gap:12px}.qs-bar-label{width:80px;font-size:13px;font-weight:500;color:var(--text-secondary);text-align:right;flex-shrink:0}.qs-bar-row{flex:1;display:flex;height:24px;border-radius:4px;overflow:hidden;background:var(--bg-tertiary)}.qs-bar-segment{height:100%;min-width:2px;transition:width .3s}.qs-bar-total{width:48px;font-size:13px;font-weight:600;color:var(--text-primary);text-align:right;flex-shrink:0}.qs-legend{display:flex;gap:16px;padding-left:92px;margin-top:4px}.playground-page{display:flex;flex:1;overflow:hidden}.playground-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:14px;padding:40px}.playground-left{width:480px;min-width:480px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-secondary);overflow-y:auto}.playground-student-image{max-width:100%;max-height:200px;border-radius:4px;border:1px solid var(--border-color);margin-top:4px}.playground-section{padding:16px;border-bottom:1px solid var(--border-color)}.playground-section h3{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.playground-select{height:32px;padding:0 10px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);font-size:13px;color:var(--text-primary);cursor:pointer}.playground-selected-question{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px}.playground-selected-header{display:flex;gap:6px;align-items:center;margin-bottom:8px}.playground-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase}.playground-q-detail{font-size:12px;line-height:1.5;color:var(--text-secondary);margin-bottom:4px}.playground-q-detail strong{color:var(--text-primary)}.playground-q-solution pre{margin:4px 0 0;font-size:11px;white-space:pre-wrap;max-height:120px;overflow-y:auto;background:var(--bg-tertiary);padding:6px;border-radius:4px}.playground-submission-info{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;padding:10px}.playground-info-row{display:flex;gap:8px;align-items:baseline;font-size:12px;color:var(--text-primary);margin-bottom:4px}.playground-info-row.playground-info-col{flex-direction:column;gap:2px}.playground-info-label{color:var(--text-tertiary);font-size:11px;min-width:80px}.playground-typed-answer{margin:0;font-size:11px;white-space:pre-wrap;max-height:80px;overflow-y:auto;background:var(--bg-tertiary);padding:6px;border-radius:4px;width:100%}.playground-runs-list{display:flex;flex-direction:column;gap:2px}.playground-run-item{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:11px;color:var(--text-secondary);transition:all .15s;text-align:left;width:100%}.playground-run-item:hover{border-color:var(--border-color-dark)}.playground-run-item.active{border-color:var(--color-primary);background:var(--bg-tertiary)}.playground-run-meta{font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--text-tertiary)}.playground-run-status{font-weight:600;font-size:10px;text-transform:uppercase}.playground-hint{font-size:12px;color:var(--text-tertiary);padding:4px 0}.playground-placeholders{display:flex;flex-wrap:wrap;gap:4px}.playground-placeholder-tag{padding:2px 6px;border-radius:3px;font-size:11px;font-family:SF Mono,Monaco,Cascadia Code,monospace;background:var(--bg-tertiary);color:var(--color-primary);cursor:pointer;transition:background .15s}.playground-placeholder-tag:hover{background:var(--border-color-dark)}.playground-right{flex:1;display:flex;flex-direction:column;overflow:hidden}.playground-right-upper{border-bottom:1px solid var(--border-color);overflow-y:auto;max-height:160px}.playground-section-compact{padding:10px 16px;border-bottom:none}.playground-section-compact h3{margin-bottom:6px}.playground-section-no-border{border-bottom:none;padding-bottom:0}.playground-section-header{display:flex;justify-content:space-between;align-items:center}.playground-section-header h3{margin:0}.playground-submission-link{font-size:12px;color:var(--color-accent, #2563eb);text-decoration:none;font-weight:500}.playground-submission-link:hover{text-decoration:underline}.playground-hint-inline{font-weight:400;font-size:11px;text-transform:none;letter-spacing:0;color:var(--text-tertiary)}.playground-config-bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0;flex-wrap:wrap}.playground-config-left{display:flex;gap:8px;flex-wrap:wrap;min-width:0}.playground-config-left .playground-select{min-width:0;max-width:200px}.playground-params{display:flex;gap:10px;align-items:center;flex-shrink:0}.playground-param{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary);white-space:nowrap}.playground-param-input{width:70px;height:28px;padding:0 6px;border:1px solid var(--border-color-dark);border-radius:4px;background:var(--bg-primary);font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--text-primary);text-align:right}.playground-param-input:focus{outline:none;border-color:var(--color-primary)}.playground-run-btn{padding:6px 20px;border:none;border-radius:6px;background:var(--color-primary);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity .15s;flex-shrink:0;white-space:nowrap}.playground-run-btn:hover:not(:disabled){opacity:.9}.playground-run-btn:disabled{opacity:.5;cursor:not-allowed}.playground-editor-section{flex:1;min-height:200px;display:flex;flex-direction:column}.playground-editor{flex:1;width:100%;padding:16px;border:none;border-bottom:1px solid var(--border-color);background:var(--bg-primary);font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:13px;line-height:1.6;color:var(--text-primary);resize:none;outline:none}.playground-editor::placeholder{color:var(--text-tertiary)}.playground-error{padding:10px 16px;background:var(--status-error-bg, #fee);color:var(--status-error-text, #c00);font-size:13px;border-bottom:1px solid var(--status-error-border, #fcc)}.playground-results{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:200px}.playground-results-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.playground-result-tabs{display:flex;gap:0}.playground-result-tabs button{padding:8px 14px;font-size:12px;font-weight:500;color:var(--text-tertiary);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.playground-result-tabs button:hover{color:var(--text-primary)}.playground-result-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.playground-result-meta{display:flex;gap:12px;font-size:11px;color:var(--text-tertiary)}.playground-parse-error{color:var(--status-error-text, #c00)}.playground-result-content{flex:1;overflow-y:auto;padding:16px;background:var(--bg-primary)}.playground-result-pre{margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:12px;line-height:1.6;white-space:pre-wrap;word-wrap:break-word;color:var(--text-primary)}.playground-context-table{display:flex;flex-direction:column;gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.playground-context-row,.playground-context-image-row{display:flex;background:var(--bg-primary)}.playground-ctx-label{width:200px;min-width:200px;padding:8px 12px;font-size:12px;font-family:SF Mono,Monaco,Cascadia Code,monospace;color:var(--text-tertiary);background:var(--bg-secondary);border-right:1px solid var(--border-color);word-break:break-all}.playground-ctx-value{flex:1;padding:8px 12px;font-size:12px;color:var(--text-primary);min-width:0;word-break:break-word}.playground-ctx-pre{margin:0;font-family:SF Mono,Monaco,Cascadia Code,monospace;font-size:11px;white-space:pre-wrap;line-height:1.5}.playground-ctx-image{max-width:100%;max-height:300px;border-radius:4px;border:1px solid var(--border-color)}.submissions-page h1{margin:0;color:var(--text-primary)}.filters{display:flex;gap:12px}.filters select{padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);font-size:14px;cursor:pointer}.user-email{font-size:12px;color:var(--text-tertiary)}.rerun-row{background:var(--status-warning-bg-subtle)}.rerun-row:hover{background:var(--status-warning-bg)!important}.tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border-color)}.tab-content{min-height:400px}.performance-content{background:var(--bg-primary);border-radius:12px;padding:24px;box-shadow:var(--shadow-md)}.performance-summary{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.summary-stat{font-size:16px;color:var(--text-secondary)}.summary-stat strong{color:var(--color-accent)}.performance-section{margin-bottom:32px}.performance-section h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.prompt-name{font-weight:500;color:var(--text-primary)}.score-cell{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:500;font-size:13px}.score-cell.score-good{background:var(--status-success-bg);color:var(--status-success-text)}.score-cell.score-medium{background:var(--status-warning-bg);color:var(--status-warning-text)}.score-cell.score-low{background:var(--status-error-bg);color:var(--status-error-text)}.performance-legend{display:flex;gap:24px;margin-top:24px;padding-top:16px;border-top:1px solid var(--border-color);justify-content:center}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-tertiary)}.empty-state{text-align:center;padding:48px 24px;color:var(--text-tertiary)}.empty-state p{margin:8px 0}.section-description{color:var(--text-tertiary);font-size:14px;margin:0}.modal-content{background:var(--bg-primary);border-radius:12px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #00000026}.form-group label{display:block;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-group input[type=text]{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;box-sizing:border-box}.form-group input:disabled{background:var(--bg-secondary);color:var(--text-tertiary)}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.save-status{margin-right:auto;font-size:14px}.save-status.success{color:var(--color-success)}.save-status.error{color:var(--color-error)}.cancel-btn{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.save-btn{padding:10px 20px;background:#059669;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.save-btn:hover{background:#047857}.save-btn:disabled{background:#9ca3af;cursor:not-allowed}.action-btn:hover{background:#1d4ed8}.analysis-add-to-dataset{height:2.25rem;padding:0 var(--spacing-md);white-space:nowrap;border-radius:var(--radius-md)}.analysis-selection-row{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md)}.import-status{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px}.import-status.success{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border)}.import-status.error{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border)}.close-status{background:none;border:none;font-size:18px;cursor:pointer;color:inherit;opacity:.7}.close-status:hover{opacity:1}.dataset-modal{max-width:500px}.modal-description{color:var(--text-tertiary);margin-bottom:20px}.dataset-select{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;background:var(--bg-primary)}.dataset-preview{margin-top:16px;padding:16px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.preview-row{display:flex;gap:8px;margin-bottom:8px;font-size:14px}.preview-row:last-child{margin-bottom:0}.preview-label{font-weight:500;color:var(--text-tertiary);min-width:100px}.category-badge{display:inline-block;padding:2px 8px;background:var(--status-indigo-bg);color:var(--status-indigo-text);border-radius:4px;font-size:12px;font-weight:500}.dt-col-date{min-width:110px;white-space:nowrap}.dt-col-subject{max-width:120px}.pm-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.pm-controls label{color:var(--text-secondary);font-size:13px}.pm-select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-size:13px;cursor:pointer}.pm-window{margin-left:auto;font-size:12px;color:var(--text-tertiary)}.pm-cards{display:flex;gap:16px;flex-wrap:wrap;margin:16px 0 20px}.pm-card{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;padding:12px 16px;min-width:120px}.pm-card-label{font-size:12px;color:var(--text-tertiary);margin-bottom:4px}.pm-card-value{font-size:20px;font-weight:600;color:var(--text-primary)}.pm-chart{width:100%;height:280px}.qtag-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;position:relative}.view-badges>.qtag-row{margin-left:auto}.qtag-chip{padding:2px 10px;border-radius:999px;background:#7c3aed;color:#fff;font-size:11px;font-weight:600;text-transform:capitalize;white-space:nowrap;letter-spacing:.2px}.qtag-btn{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;border:1px dashed var(--border-color);background:none;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:all .15s}.qtag-btn:hover{border-color:#7c3aed;color:#7c3aed}.qtag-btn svg{width:13px;height:13px}.qtag-popover{position:absolute;top:100%;margin-top:6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 8px 24px #00000026;padding:10px;min-width:220px;max-width:calc(100vw - 32px);z-index:100}.qtag-popover-right{right:0}.qtag-popover-left{left:0}.qtag-popover-portal{position:fixed;top:0;left:0;margin-top:0;z-index:1000}.qtag-popover-title{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;padding:0 4px}.qtag-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.qtag-chip-btn{padding:4px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s;text-transform:capitalize}.qtag-chip-btn:hover{border-color:#7c3aed;color:#7c3aed}.qtag-chip-btn.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.qtag-add-row{display:flex;gap:4px}.qtag-add-row input{flex:1;padding:4px 8px;border:1px solid var(--border-color);border-radius:6px;font-size:12px;background:var(--bg-secondary);color:var(--text-primary);min-width:0}.qtag-add-row button{padding:4px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;font-weight:700;cursor:pointer}.qtag-add-row button:disabled{opacity:.4;cursor:default}.qfb-row{display:inline-flex;align-items:center;gap:4px}.qfb-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;transition:all .15s;filter:grayscale(1);opacity:.6}.qfb-btn:hover{filter:grayscale(0);opacity:1;border-color:var(--text-secondary)}.qfb-btn.qfb-up-active{filter:grayscale(0);opacity:1;background:#22c55e26;border-color:#22c55e}.qfb-btn.qfb-down-active{filter:grayscale(0);opacity:1;background:#ef444426;border-color:#ef4444}.qfb-emoji{font-size:14px;line-height:1}.qfb-modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.qfb-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 12px 32px #00000040;padding:20px;width:100%;max-width:480px}.qfb-modal-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.qfb-modal-sub{font-size:12px;color:var(--text-secondary);margin-bottom:12px}.qfb-modal-textarea{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:13px;resize:vertical;min-height:100px;box-sizing:border-box}.qfb-modal-textarea:focus{outline:none;border-color:#7c3aed}.qfb-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}.qfb-modal-cancel,.qfb-modal-submit{padding:6px 14px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid var(--border-color)}.qfb-modal-cancel{background:var(--bg-secondary);color:var(--text-primary)}.qfb-modal-submit{background:#ef4444;color:#fff;border-color:#ef4444;font-weight:600}.qfb-modal-submit:disabled,.qfb-modal-cancel:disabled{opacity:.5;cursor:default}.submission-detail-v2{display:flex;flex-direction:column;gap:20px}.page-header{margin-bottom:8px}.back-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;font-size:13px;margin-bottom:16px;transition:all .2s}.back-button:hover{background:var(--bg-secondary);border-color:var(--border-color-dark)}.header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.header-title{display:flex;flex-direction:column;gap:6px}.header-title h1{margin:0;font-size:24px;color:var(--text-primary)}.submitted-at{font-size:13px;color:var(--text-tertiary)}.header-actions-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.header-action-error{color:var(--color-error);font-size:13px;background:var(--status-error-bg-subtle);padding:6px 12px;border-radius:4px}.header-divider{color:var(--border-color);font-size:18px;-webkit-user-select:none;user-select:none}.card{background:var(--bg-primary);border-radius:12px;padding:20px;box-shadow:var(--shadow-sm)}.card h3{margin:0 0 16px;font-size:15px;font-weight:600;color:var(--text-primary);padding-bottom:12px;border-bottom:1px solid var(--border-color)}.card-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:0;margin-bottom:16px;background:none;border:none;cursor:pointer;text-align:left}.card-toggle h3{margin:0;padding-bottom:0;border-bottom:none}.card-toggle .toggle-icon{font-size:12px;color:var(--text-tertiary);transition:transform .2s}.card-toggle .toggle-icon.collapsed{transform:rotate(-90deg)}.card-toggle:hover h3{color:var(--color-accent)}.row-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.user-card .user-info{display:flex;flex-direction:column;gap:16px}.user-primary{display:flex;flex-direction:column;gap:4px}.user-name{font-size:18px;font-weight:600;color:var(--text-primary)}.user-email{font-size:13px;color:var(--text-tertiary)}.user-details{display:flex;gap:24px;flex-wrap:wrap}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-item label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.detail-item span{font-size:14px;font-weight:500;color:var(--text-primary)}.detail-item .client-info{font-size:13px;color:var(--text-tertiary)}.proficiency-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.proficiency-badge.low{background:var(--status-warning-bg);color:var(--status-warning-text)}.proficiency-badge.medium{background:var(--status-info-bg);color:var(--status-info-text)}.proficiency-badge.high{background:var(--status-success-bg);color:var(--status-success-text)}.pipeline-config-badge{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:500}.pipeline-config-badge.custom{background:var(--status-warning-bg);color:var(--status-warning-text)}.metadata-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.meta-item{display:flex;flex-direction:column;gap:6px}.meta-item label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.datetime{font-family:SF Mono,Monaco,monospace;font-size:13px;color:var(--text-secondary)}.tag{display:inline-block;padding:4px 10px;background:var(--bg-tertiary);border-radius:4px;font-size:12px;text-transform:capitalize;width:fit-content}.tag.subject{background:var(--status-indigo-bg);color:var(--status-indigo-text)}.score{font-size:18px;font-weight:700}.score.correct{color:#16a34a}.score.partial{color:#d97706}.score.incorrect{color:#dc2626}.score-large{font-size:24px;font-weight:700}.score-large.correct{color:#16a34a}.score-large.partial{color:#d97706}.score-large.incorrect{color:#dc2626}.assessment-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.assessment-badge.correct{background:var(--status-success-bg);color:var(--status-success-text)}.assessment-badge.partial{background:var(--status-warning-bg);color:var(--status-warning-text)}.assessment-badge.incorrect{background:var(--status-error-bg);color:var(--status-error-text)}.question-text{font-size:15px;line-height:1.7;color:var(--text-primary);margin:0 0 16px}.correct-answer{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--status-success-bg-subtle);border-left:3px solid #22c55e;border-radius:0 6px 6px 0}.correct-answer label{font-size:12px;color:var(--status-success-text);font-weight:500}.correct-answer span{font-weight:600;color:var(--status-success-text)}.question-image-wrap{margin:12px 0}.question-diagram-img{max-width:100%;max-height:300px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color)}.question-solution-wrap{margin-top:12px}.question-solution-wrap label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.question-solution-img{max-width:100%;max-height:400px;border-radius:var(--radius-md, 6px);border:1px solid var(--border-color)}.solution-content{display:flex;flex-direction:column;gap:20px}.mcq-answer{display:flex;align-items:center;gap:12px}.mcq-answer label{font-size:12px;color:var(--text-tertiary);text-transform:uppercase}.canvas-section label,.typed-section label{display:block;font-size:12px;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:10px}.canvas-label-row{display:flex;align-items:center;gap:12px}.canvas-wrapper{border:1px solid var(--border-color);border-radius:8px;padding:12px;background:var(--bg-secondary);display:flex;justify-content:center;align-items:center}.canvas-wrapper img,.canvas-wrapper .canvas-image{max-width:100%;max-height:60vh;width:auto;height:auto;object-fit:contain;border-radius:4px;display:block}.typed-text{margin:0;padding:16px;background:var(--bg-tertiary);border-radius:8px;font-family:inherit;font-size:14px;white-space:pre-wrap;word-break:break-word;color:var(--text-primary)}.no-input{color:var(--text-tertiary);font-style:italic;margin:0}.experiments-table-wrapper{overflow-x:auto}.experiments-table{width:100%;border-collapse:collapse;font-size:13px}.experiments-table th{text-align:left;padding:10px 12px;background:var(--bg-tertiary);font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-color)}.experiments-table td{padding:12px;border-bottom:1px solid var(--bg-tertiary);vertical-align:middle}.experiment-row{cursor:pointer;transition:background .15s}.experiment-row:hover{background:var(--bg-tertiary)}.experiment-row.selected{background:var(--selected-bg)}.experiment-row.primary{background:var(--status-warning-bg-subtle)}.experiment-row.primary.selected{background:var(--status-warning-bg)}.experiment-row.has-error{background:var(--status-error-bg-subtle)}.prompt-cell{display:flex;align-items:center;gap:8px}.prompt-name{font-family:SF Mono,Monaco,monospace;font-size:12px}.primary-badge{display:inline-block;padding:2px 6px;background:var(--status-warning-bg);color:var(--status-warning-text);font-size:10px;font-weight:600;border-radius:3px;text-transform:uppercase}.provider-tag{display:inline-block;padding:3px 8px;background:var(--status-indigo-bg);color:var(--status-indigo-text);font-size:11px;border-radius:4px}.provider-cell-failover{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.provider-failover-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:600;border-radius:4px;background:var(--status-warning-bg);color:var(--status-warning-text);cursor:help;white-space:nowrap}.error-badge{display:inline-block;padding:3px 8px;background:var(--status-error-bg);color:var(--status-error-text);font-size:11px;font-weight:500;border-radius:4px}.cost{color:#059669;font-weight:500}.match-score{font-weight:500;color:var(--text-tertiary)}.match-score.positive{color:var(--color-accent)}.prompt-details-header{margin-bottom:16px}.prompt-details-header h3{display:flex;align-items:center;gap:10px;border-bottom:none;padding-bottom:0}.error-banner{padding:12px 16px;background:var(--status-error-bg-subtle);border-radius:6px;color:var(--status-error-text);font-size:13px;margin-bottom:16px}.prompt-score-cards{margin-bottom:20px}.match-factors-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.match-factors-row>label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;white-space:nowrap;padding-top:4px}.match-factors{display:flex;flex-wrap:wrap;gap:6px}.match-factor{display:inline-block;padding:3px 8px;background:var(--status-info-bg);color:var(--status-info-text);font-size:11px;border-radius:4px}.collapsible-section{margin-bottom:12px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.section-toggle-row{display:flex;align-items:center;gap:8px;background:var(--bg-tertiary);padding-right:12px}.section-toggle-row .section-toggle{width:auto;flex:1;background:transparent}.section-toggle-accessory{display:inline-flex;align-items:center;flex-shrink:0}.section-toggle{width:100%;display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-tertiary);border:none;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);text-align:left;transition:background .15s}.section-toggle:hover{background:var(--bg-tertiary)}.toggle-icon{font-size:11px;color:var(--text-tertiary);transition:transform .2s}.toggle-icon.collapsed{transform:rotate(-90deg)}.code-block{margin:0;padding:16px;background:var(--code-bg);color:var(--code-text);font-family:SF Mono,Monaco,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.error-card{border:1px solid var(--status-error-border);background:var(--status-error-bg-subtle)}.error-card h3{color:#dc2626}.error-message{background:var(--bg-primary);border:1px solid var(--status-error-border);border-radius:6px;padding:12px;font-size:13px;color:var(--status-error-text);font-family:monospace}.loading,.error{padding:40px;text-align:center;color:var(--text-tertiary)}.error{color:#dc2626}[data-theme=dark] .score.correct,[data-theme=dark] .score-large.correct{color:#4ade80}[data-theme=dark] .score.partial,[data-theme=dark] .score-large.partial{color:#fbbf24}[data-theme=dark] .score.incorrect,[data-theme=dark] .score-large.incorrect{color:#f87171}[data-theme=dark] .cost{color:#34d399}[data-theme=dark] .match-score.positive{color:#60a5fa}[data-theme=dark] .error{color:#f87171}[data-theme=dark] .correct-answer{border-left-color:#4ade80}[data-theme=dark] .code-block{background:#0f172a;color:#e2e8f0}@media(prefers-color-scheme:dark){[data-theme=system] .score.correct,[data-theme=system] .score-large.correct{color:#4ade80}[data-theme=system] .score.partial,[data-theme=system] .score-large.partial{color:#fbbf24}[data-theme=system] .score.incorrect,[data-theme=system] .score-large.incorrect{color:#f87171}[data-theme=system] .cost{color:#34d399}[data-theme=system] .match-score.positive{color:#60a5fa}[data-theme=system] .error{color:#f87171}[data-theme=system] .correct-answer{border-left-color:#4ade80}[data-theme=system] .code-block{background:#0f172a;color:#e2e8f0}}@media(max-width:900px){.row-two-cols{grid-template-columns:1fr}.metadata-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.header-content{flex-direction:column}.metadata-grid{grid-template-columns:1fr}.user-details{flex-direction:column;gap:12px}}.feedback-content{padding:16px;background:var(--bg-primary)}.feedback-content .sa-title{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.admin-answers{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}.admin-answers dt{color:var(--text-secondary);font-size:var(--font-sm)}.admin-answers dd{margin:0;font-family:ui-monospace,monospace;font-size:var(--font-sm);color:var(--text-primary)}.steps-analysis{margin-bottom:20px}.steps-analysis h4,.feedback-section h4{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary)}.steps-list{display:flex;flex-direction:column;gap:12px}.feedback-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feedback-section ul{margin:0;padding-left:18px}.feedback-section li{margin-bottom:6px;font-size:13px;color:var(--text-primary)}.feedback-section p{margin:0;font-size:13px;color:var(--text-primary)}.feedback-section p.empty{color:var(--text-tertiary);font-style:italic}@media(max-width:900px){.feedback-sections{grid-template-columns:1fr}}.visual-checks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.visual-check{display:grid;grid-template-columns:auto 1fr;column-gap:10px;row-gap:4px;align-items:baseline;font-size:13px}.visual-check-status{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;border-radius:4px;white-space:nowrap;align-self:start}.visual-check-status-correct{background:#22c55e26;color:#22c55e}.visual-check-status-incorrect{background:#ef444426;color:#ef4444}.visual-check-status-missing{background:#f59e0b26;color:#f59e0b}.visual-check-status-ambiguous{background:#9ca3af26;color:#9ca3af}.visual-check-name{font-weight:500;color:var(--text-primary)}.visual-check-comment{grid-column:2;color:var(--text-secondary);font-size:12px;line-height:1.5}.visual-segment-type{display:block;font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.visual-segment-description{margin-top:6px;color:var(--text-secondary);font-size:12px;line-height:1.5}.visual-segment-structured{margin-top:8px;font-size:11px}.visual-segment-structured summary{cursor:pointer;color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.visual-segment-structured pre{margin:6px 0 0;padding:8px 10px;background:var(--bg-tertiary);border-radius:4px;font-family:Monaco,Menlo,monospace;font-size:11px;line-height:1.4;color:var(--text-primary);overflow-x:auto}.extracted-step-meta{display:flex;gap:12px;margin-top:6px;font-size:11px;color:var(--text-tertiary)}.extracted-step-meta .crossed-out{color:#ef4444;font-weight:500}.confidence-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:999px;font-weight:600;font-size:11px}.confidence-badge.conf-high{background:#22c55e2e;color:#16a34a}.confidence-badge.conf-mid{background:#eab30833;color:#b45309}.confidence-badge.conf-low{background:#ef444433;color:#dc2626}.sa-step-item.conf-mid{border-left:3px solid #eab308}.sa-step-item.conf-low{border-left:3px solid #ef4444}.visual-relationships{margin-top:16px}.visual-relationships h4{margin:0 0 8px;font-size:13px;font-weight:600;color:var(--text-secondary)}.visual-relationships ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-primary)}.visual-relationships code{background:var(--bg-tertiary);padding:1px 6px;border-radius:3px;font-family:Monaco,Menlo,monospace;font-size:12px}.visual-relationship-type{margin-left:10px;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.llm-answer{padding:10px 14px;background:var(--bg-tertiary);border-radius:6px;font-weight:500}.visual-segments-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bbox-overlay-trigger{flex:none;padding:5px 12px;font-size:12px;font-weight:500;color:var(--color-accent);background:#2563eb14;border:1px solid rgba(37,99,235,.35);border-radius:6px;cursor:pointer;white-space:nowrap}.bbox-overlay-trigger:hover{background:#2563eb29}.bbox-overlay-backdrop{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.bbox-overlay-modal{width:92vw;max-width:1100px;max-height:92vh;display:flex;flex-direction:column;background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg)}.bbox-overlay-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color)}.bbox-overlay-header h2{margin:0;font-size:18px;color:var(--text-primary)}.bbox-overlay-close{background:none;border:none;font-size:24px;line-height:1;color:var(--text-tertiary);cursor:pointer;padding:0}.bbox-overlay-close:hover{color:var(--text-primary)}.bbox-overlay-body{display:flex;gap:16px;padding:16px 24px 24px;overflow:hidden;min-height:0}.bbox-overlay-stage{position:relative;flex:1 1 auto;align-self:flex-start;line-height:0;max-height:calc(92vh - 120px)}.bbox-overlay-img{display:block;max-width:100%;max-height:calc(92vh - 120px);height:auto;border:1px solid var(--border-color);border-radius:6px}.bbox-rect{position:absolute;box-sizing:border-box;border:2px solid rgba(37,99,235,.9);background:#2563eb14;border-radius:2px;pointer-events:auto;cursor:pointer;transition:background .1s,border-color .1s}.bbox-rect.crossed-out{border-style:dashed;border-color:#ef4444e6;background:#ef444414}.bbox-rect.active{background:#2563eb38;border-color:#2563eb;z-index:2}.bbox-rect.crossed-out.active{background:#ef444438}.bbox-rect-label{position:absolute;top:-16px;left:-2px;font-size:10px;font-weight:600;line-height:1.4;padding:0 4px;color:#fff;background:#2563ebe6;border-radius:3px 3px 0 0;white-space:nowrap}.bbox-rect.crossed-out .bbox-rect-label{background:#ef4444e6}.bbox-overlay-legend{flex:0 0 280px;overflow-y:auto;max-height:calc(92vh - 120px);border-left:1px solid var(--border-color);padding-left:16px}.bbox-overlay-legend-head{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:8px}.bbox-overlay-legend ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.bbox-overlay-legend li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12px;color:var(--text-secondary)}.bbox-overlay-legend li.active{background:#2563eb1a}.bbox-legend-id{font-weight:600;font-family:monospace;color:var(--text-primary)}.bbox-legend-type{font-size:10px;text-transform:uppercase;letter-spacing:.03em;color:var(--text-tertiary)}.bbox-legend-crossed{font-size:10px;color:#ef4444e6}.bbox-overlay-legend li.crossed-out .bbox-legend-id{text-decoration:line-through}.bbox-legend-text{flex-basis:100%;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sol-section{margin-bottom:var(--spacing-md)}.sol-section-title{font-size:var(--font-md);font-weight:var(--font-semibold);margin:0 0 var(--spacing-sm) 0;color:var(--text-primary)}.sol-hints-list,.sol-suggestions-list{margin:0;padding-left:var(--spacing-md);color:var(--text-primary)}.sol-hints-list li,.sol-suggestions-list li{margin-bottom:var(--spacing-xs);line-height:var(--leading-normal)}.sol-interpretation-summary,.sol-interpretation-steps{margin-bottom:var(--spacing-sm);color:var(--text-primary)}.sol-interpretation-steps ol{margin:0;padding-left:var(--spacing-md)}.sol-visual-checks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.sol-visual-check{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.sol-visual-check-status{display:inline-block;min-width:4rem;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;text-align:center}.sol-visual-check-status-correct{background:var(--status-success-bg);color:var(--status-success-text)}.sol-visual-check-status-incorrect{background:var(--status-error-bg);color:var(--status-error-text)}.sol-visual-check-status-missing{background:var(--status-warning-bg);color:var(--status-warning-text)}.sol-visual-check-status-ambiguous{background:var(--status-indigo-bg);color:var(--status-indigo-text)}.sol-visual-check-status-not_applicable{background:var(--bg-tertiary);color:var(--text-tertiary)}.sol-visual-check-name{font-weight:var(--font-medium);flex:0 0 auto;color:var(--text-primary)}.sol-visual-check-comment{flex:1;font-size:var(--font-sm);color:var(--text-tertiary)}.sol-correct-llm-answer-text{margin:0 0 var(--spacing-sm) 0;font-family:ui-monospace,monospace;font-size:var(--font-sm);color:var(--text-primary)}.sol-correct-llm-solution{font-size:var(--font-sm);color:var(--text-secondary)}.sol-parts-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.sol-part{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);padding:var(--spacing-md)}.sol-part--not_attempted{opacity:.8}.sol-part--not_selected{opacity:.6;border-style:dashed}.sol-part-not-selected-badge{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);border:1px solid var(--border-color, rgba(127, 127, 127, .4));border-radius:var(--radius-sm, 4px);padding:.1rem .4rem}.sol-part-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.sol-part-id{font-family:ui-monospace,monospace;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary);background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.sol-part-question{font-weight:var(--font-medium);color:var(--text-primary)}.sol-part-body{padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);color:var(--text-primary)}.sol-part-body>.sol-section{margin-bottom:var(--spacing-sm)}.sol-part-body>.sol-section:last-child{margin-bottom:0}.sol-part-body .sol-section-title{font-size:var(--font-md);margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}.sol-part-body>:first-child .sol-section-title,.sol-part-body>.sol-section:first-child>.sol-section-title{margin-top:0}.sol-part-scores{display:flex;align-items:center;gap:var(--spacing-md)}.sol-part-score-badge{display:inline-flex;align-items:baseline;gap:var(--spacing-xs);font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap}.sol-part-score-label{font-size:var(--font-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary)}.sol-part-score-value{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.sol-part-marks-badge .sol-part-score-value{color:var(--color-primary, #3b82f6)}.sol-part-score-comment{font-size:var(--font-sm);color:var(--text-secondary);font-style:italic}.sol-part-body p{color:var(--text-primary);margin:0;line-height:var(--leading-normal)}.sa-steps-analysis{margin-bottom:20px}.sa-title{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--text-secondary)}.sa-title:empty{display:none}.sa-steps-list{display:flex;flex-direction:column;gap:6px}.sa-step-item{display:flex;align-items:stretch;border-radius:8px;background:var(--bg-secondary);overflow:hidden;border-right:4px solid transparent}.sa-step-item.correct{border-right-color:var(--color-success-bg)}.sa-step-item.incorrect{border-right-color:var(--color-error-bg)}.sa-step-rail{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:24px;padding:4px 0;font-size:11px;font-weight:600;writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.5px}.sa-step-item.correct .sa-step-rail{background-color:var(--color-success-bg);color:var(--color-success)}.sa-step-item.incorrect .sa-step-rail{background-color:var(--color-error-bg);color:var(--color-error)}.sa-step-body{flex:1;min-width:0;padding:6px 12px}.sa-step-content{font-size:15px;color:var(--text-primary);margin-bottom:2px;line-height:1.35}.sa-step-feedback{font-size:14px;color:var(--text-secondary);font-style:italic;line-height:1.35}.sa-no-working{margin:0;color:var(--text-secondary);font-style:italic}.canvas-replay{display:flex;flex-direction:column;gap:8px}.canvas-replay-empty{padding:40px;text-align:center;color:var(--text-tertiary);font-size:14px}.canvas-replay-viewport{background:#fff;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;max-height:55vh;display:flex;align-items:center;justify-content:center}.canvas-replay-svg{width:100%;height:auto;max-height:55vh}.canvas-replay-controls{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.replay-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-primary);border-radius:6px;cursor:pointer;transition:all .15s;color:var(--text-primary)}.replay-btn:hover{background:var(--bg-tertiary, #e5e7eb);border-color:var(--border-color-dark)}.play-btn{width:36px;height:36px;font-size:16px;flex-shrink:0}.speed-btn{padding:4px 10px;font-size:12px;font-weight:600;flex-shrink:0;min-width:42px}.replay-time{font-size:12px;font-variant-numeric:tabular-nums;color:var(--text-secondary);flex-shrink:0;min-width:32px;text-align:center}.replay-scrubber{flex:1;min-width:100px;height:6px;accent-color:#3b82f6;cursor:pointer}.replay-stroke-count{font-size:11px;color:var(--text-tertiary);flex-shrink:0;white-space:nowrap}.canvas-replay-info{display:flex;align-items:center;gap:12px;min-height:20px;padding:0 4px}.replay-gap-hint{font-size:11px;color:var(--text-tertiary)}.replay-path-timestamps{font-size:11px;color:#3b82f6;font-style:italic}.replay-no-timeline{font-size:11px;color:#d97706;font-style:italic}.replay-link{background:none;border:none;color:#3b82f6;font-size:12px;cursor:pointer;padding:2px 0;text-decoration:underline;text-underline-offset:2px}.replay-link:hover{color:#2563eb}.replay-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.replay-modal{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column;width:90%;max-width:900px}.replay-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color)}.replay-modal-header h2{margin:0;font-size:18px;color:var(--text-primary)}.replay-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-secondary);padding:0 4px;line-height:1}.replay-modal-close:hover{color:var(--text-primary)}.replay-modal-body{padding:16px 24px 24px;overflow-y:auto}.rerun-modal{max-width:700px;width:90vw}.rerun-modal .rerun-section-label{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin:4px 0 8px}.rerun-modal .rerun-section-label+.rerun-snapshot-mode,.rerun-modal .rerun-section-label+.rerun-pipeline-select{margin-top:0}.rerun-modal .rerun-snapshot-mode{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.rerun-modal label.rerun-snapshot-option{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .15s;font-size:14px;color:var(--text-primary)}.rerun-modal label.rerun-snapshot-option:hover{border-color:var(--color-primary);background:var(--bg-secondary)}.rerun-modal label.rerun-snapshot-option.selected{border-color:var(--color-primary);background:var(--color-primary-light)}.rerun-modal .rerun-snapshot-option input[type=radio]{width:auto;padding:0;margin:3px 0 0;flex-shrink:0}.rerun-modal .rerun-snapshot-option>span{display:flex;flex-direction:column;gap:2px}.rerun-modal .rerun-snapshot-name{font-weight:500}.rerun-modal .rerun-snapshot-hint{font-size:12px;color:var(--text-secondary)}.rerun-modal select.rerun-pipeline-select{width:100%;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;transition:border-color .15s;box-sizing:border-box}.rerun-modal select.rerun-pipeline-select:hover,.rerun-modal select.rerun-pipeline-select:focus{border-color:var(--color-primary);outline:none}.rerun-type-select{padding:9px 12px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);font-size:14px;color:var(--text-secondary);cursor:pointer}.rerun-type-select:disabled{opacity:.5;cursor:not-allowed}.rerun-button{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.rerun-button:hover:not(:disabled){background:#1d4ed8}.rerun-button:disabled{background:#94a3b8;cursor:not-allowed}.rerun-button.running{background:#f59e0b}.new-submission-link{color:var(--color-accent);font-size:13px;font-weight:500;text-decoration:none}.new-submission-link:hover{text-decoration:underline}.reeval-button{padding:6px 14px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.reeval-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.reeval-button:disabled{opacity:.6;cursor:not-allowed}.reeval-button.is-loading{opacity:.7;cursor:wait}.playground-link-button{padding:6px 14px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,color .2s,border-color .2s;white-space:nowrap}.playground-link-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.playground-link-button:disabled{opacity:.6;cursor:not-allowed}.reeval-success{color:var(--color-success);font-size:13px;font-weight:500}.rerun-error{color:var(--color-error);font-size:13px;background:var(--status-error-bg-subtle);padding:6px 12px;border-radius:4px}.approach-badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.approach-badge.approach-optimal{background:var(--status-success-bg);color:var(--status-success-text)}.approach-badge.approach-suboptimal{background:var(--status-warning-bg);color:var(--status-warning-text)}.approach-badge.approach-lucky{background:var(--status-indigo-bg);color:var(--status-indigo-text)}.approach-badge.approach-incomplete{background:var(--status-warning-bg);color:var(--status-warning-text)}.approach-badge.approach-calc-error{background:var(--status-warning-bg-subtle);color:var(--status-warning-text)}.approach-badge.approach-wrong{background:var(--status-error-bg);color:var(--status-error-text)}.manual-evaluation{margin-top:20px;padding:20px;background:var(--selected-bg);border-radius:10px;border:1px solid var(--status-info-border)}.manual-evaluation h4{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--status-info-text)}.eval-badge{display:inline-block;padding:4px 10px;background:var(--status-success-bg);color:var(--status-success-text);font-size:12px;border-radius:4px;margin-bottom:14px}.eval-form{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.eval-field{display:flex;flex-direction:column;gap:6px}.eval-field.full-width{grid-column:1 / -1}.eval-field label{font-size:13px;font-weight:600;color:var(--text-primary)}.eval-field .field-desc{margin:0;font-size:11px;color:var(--text-tertiary)}.rating-buttons{display:flex;gap:6px}.rating-btn{width:34px;height:34px;border:2px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);cursor:pointer;font-size:14px;font-weight:600;color:var(--text-tertiary);transition:all .15s}.rating-btn:hover{border-color:var(--color-info);color:var(--color-info)}.rating-btn.selected{background:var(--color-info);border-color:var(--color-info);color:#fff}.eval-field textarea{padding:10px 12px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;background:var(--bg-primary);color:var(--text-primary)}.eval-field textarea:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 3px #3b82f61a}.eval-actions{grid-column:1 / -1;display:flex;align-items:center;gap:12px;margin-top:6px}.save-btn{padding:10px 20px;background:var(--color-info);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.save-btn:hover:not(:disabled){background:var(--color-accent)}.save-btn:disabled{opacity:.6;cursor:not-allowed}.status{font-size:13px;font-weight:500}.status.saved{color:var(--status-success-text)}.status.error{color:var(--status-error-text)}.user-feedback-section{margin-top:20px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.user-feedback-section h4{margin:0 0 12px;font-size:14px;color:var(--text-secondary)}.user-feedback-card{background:var(--bg-tertiary);border:1px solid var(--border-color)}.user-feedback-content{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.feedback-rating{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--bg-primary);border-radius:8px;border:2px solid}.feedback-rating.positive{border-color:var(--color-success)}.feedback-rating.negative{border-color:var(--color-error)}.rating-icon{font-size:22px}.rating-label{font-size:15px;font-weight:600}.feedback-rating.positive .rating-label{color:var(--status-success-text)}.feedback-rating.negative .rating-label{color:var(--status-error-text)}.feedback-comment{flex:1;min-width:200px}.feedback-comment label{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:4px}.feedback-comment p{margin:0;color:var(--text-secondary);font-style:italic;font-size:14px}.feedback-time{font-size:12px;color:var(--text-tertiary)}.admin-feedback-section{margin-top:20px;padding:20px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-color)}.admin-feedback-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--text-secondary)}.admin-feedback-row{display:flex;gap:10px;align-items:center;margin-top:12px}.feedback-comment-input{flex:1;padding:8px 12px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.admin-feedback-status{margin-top:10px;padding:8px 12px;border-radius:6px;font-size:13px}.admin-feedback-status.positive{background:var(--status-success-bg);color:var(--status-success-text)}.admin-feedback-status.negative{background:var(--status-error-bg);color:var(--status-error-text)}.score-override-section{margin-top:20px;padding:20px;background:var(--selected-bg);border-radius:10px;border:1px solid var(--status-info-border)}.score-override-section h4{margin:0 0 8px;font-size:14px;font-weight:600;color:var(--status-info-text)}.override-fields{display:flex;gap:12px;align-items:flex-end;margin-top:12px;flex-wrap:wrap}.override-field{display:flex;flex-direction:column;gap:4px}.override-field label{font-size:12px;font-weight:500;color:var(--text-secondary)}.override-field input[type=number]{width:80px;padding:8px 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:14px;background:var(--bg-primary);color:var(--text-primary)}.override-action{margin-left:auto}.override-diff{margin-top:10px;display:flex;gap:16px;flex-wrap:wrap}.diff-item{font-size:13px;padding:4px 10px;background:var(--status-warning-bg);border-radius:4px;color:var(--status-warning-text)}[data-theme=dark] .status.saved{color:#4ade80}[data-theme=dark] .status.error{color:#f87171}[data-theme=dark] .feedback-rating.positive .rating-label{color:#4ade80}[data-theme=dark] .feedback-rating.negative .rating-label{color:#f87171}[data-theme=dark] .feedback-rating.positive{border-color:#4ade80}[data-theme=dark] .feedback-rating.negative{border-color:#f87171}[data-theme=dark] .rerun-button:hover:not(:disabled){background:#3b82f6}[data-theme=dark] .rerun-button:disabled{background:#4b5563}[data-theme=dark] .rerun-button.running{background:#d97706}@media(prefers-color-scheme:dark){[data-theme=system] .status.saved{color:#4ade80}[data-theme=system] .status.error{color:#f87171}[data-theme=system] .feedback-rating.positive .rating-label{color:#4ade80}[data-theme=system] .feedback-rating.negative .rating-label{color:#f87171}[data-theme=system] .feedback-rating.positive{border-color:#4ade80}[data-theme=system] .feedback-rating.negative{border-color:#f87171}[data-theme=system] .rerun-button:hover:not(:disabled){background:#3b82f6}[data-theme=system] .rerun-button:disabled{background:#4b5563}[data-theme=system] .rerun-button.running{background:#d97706}}@media(max-width:900px){.feedback-sections,.eval-form{grid-template-columns:1fr}}.parsed-feedback-quality-badges{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px}.parsed-feedback-quality-badge{padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.4);cursor:help}.parsed-feedback-meta{margin-left:8px;color:var(--text-tertiary);font-size:12px}.parsed-feedback-fallback{display:flex;flex-direction:column;gap:8px}.parsed-feedback-fallback-note{margin:0;color:var(--text-tertiary);font-size:12px;font-style:italic}.parsed-feedback-fallback-note code{font-style:normal;background:var(--bg-tertiary);padding:1px 5px;border-radius:3px;font-size:11px;color:var(--text-secondary)}.parsed-feedback-raw-text{margin:0;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-family:SF Mono,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:480px;overflow:auto}.extracted-step-meta{display:flex;gap:12px;font-size:12px;color:var(--text-tertiary)}.extracted-step-meta .crossed-out{color:#ef4444}.freeform-ratings-row{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 12px}.freeform-rating-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:500;border:1px solid transparent}.freeform-rating-chip .freeform-rating-label{color:var(--text-tertiary);text-transform:uppercase;font-size:10px;letter-spacing:.04em}.freeform-rating-chip .freeform-rating-value{color:var(--text-primary);font-family:monospace}.freeform-rating-chip--good{background:#22c55e1f;border-color:#22c55e66}.freeform-rating-chip--mid{background:#eab3081f;border-color:#eab30866}.freeform-rating-chip--bad{background:#ef44441f;border-color:#ef444466}.step-cell{display:inline-flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.3}.pipeline-name{display:inline-block;color:var(--text-tertiary);font-family:monospace;font-size:11px;word-break:break-word}.prompt-type-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.experiments-table td.step-col{min-width:240px}.step-cell .retry-badge{white-space:nowrap}.experiments-table td.output-col{min-width:96px}.experiments-table td.output-col .model-output-link{white-space:nowrap;display:inline-flex;align-items:center}.provider-with-set{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.provider-set-name{color:var(--text-tertiary);font-size:11px}.step-cell .step-position{color:var(--text-secondary);font-weight:500}.step-cell .retry-badge{display:inline-block;width:fit-content;margin-top:2px;padding:1px 6px;border-radius:10px;background:#eab3081f;color:#b45309;border:1px solid rgba(234,179,8,.4);font-size:10px;font-weight:600;letter-spacing:.02em}.step-cell .retry-badge.tier-badge{background:#3b82f61f;color:#2563eb;border-color:#3b82f666}.step-cell .retry-badge.branch-badge{background:#a855f71f;color:#9333ea;border-color:#a855f766}.step-cell .retry-badge.rejected{background:#94a3b81f;color:var(--text-secondary);border-color:#94a3b866}.step-cell .retry-badge.tier-badge.plain{background:transparent;border-style:dashed}.step-cell .retry-badge.img-badge{background:#10b9811f;color:#059669;border-color:#10b98166}.badge{display:inline-block;padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500}.badge-conceptual{background:var(--status-indigo-bg);color:var(--status-indigo-text)}.badge-procedural{background:var(--status-info-bg);color:var(--status-info-text)}.badge-calculation{background:var(--status-warning-bg);color:var(--status-warning-text)}.badge-encouragement,.badge-gentle{background:var(--status-success-bg);color:var(--status-success-text)}.badge-moderate{background:var(--status-warning-bg);color:var(--status-warning-text)}.badge-direct{background:var(--status-error-bg);color:var(--status-error-text)}.badge.unknown{background:var(--bg-tertiary);color:var(--text-tertiary)}.hint-content{background:var(--bg-tertiary);border-radius:8px;padding:16px;margin-top:16px}.hint-content p{margin:0;font-size:15px;color:var(--text-primary);line-height:1.6}.users-page h1{margin:0;color:var(--text-primary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.users-page .dt{table-layout:fixed}.users-page .dt th:nth-child(1),.users-page .dt td:nth-child(1){width:15%}.users-page .dt th:nth-child(2),.users-page .dt td:nth-child(2){width:14%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.show-deleted-toggle{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.users-page .tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:1px solid var(--border-color)}.users-page .tab{padding:12px 24px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.users-page .tab:hover{color:var(--text-secondary)}.users-page .tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.dc-pill--tenant-public{background:var(--bg-tertiary);color:var(--text-secondary)}.dc-tenant-id{background:var(--code-bg);color:var(--code-text);padding:2px 6px;border-radius:4px;font-size:12px;font-family:monospace}.teacher-profile-form{display:flex;flex-direction:column;gap:var(--spacing-lg, 16px)}.tpf-section{display:flex;flex-direction:column}.tpf-section>label{display:block;margin-bottom:2px;font-size:var(--font-sm, 14px);font-weight:var(--font-medium, 500);color:var(--text-secondary, #555)}.tpf-hint{display:block;font-size:12px;color:var(--text-tertiary, #999);margin-bottom:var(--spacing-xs, 4px)}.tpf-section input[type=text],.tpf-section input[type=email],.tpf-section select,.tpf-section textarea{width:100%;padding:var(--spacing-sm, 8px) var(--spacing-md, 12px);border:1px solid var(--border-color, #d0d0d0);border-radius:var(--radius-md, 6px);font-size:var(--font-sm, 14px);color:var(--text-primary, #111);background:var(--bg-primary, #fff);transition:border-color .15s ease}.tpf-section textarea{resize:vertical;font-family:inherit}.tpf-section input[type=text]:focus,.tpf-section select:focus,.tpf-section textarea:focus{outline:none;border-color:var(--color-primary, #2563eb)}.tpf-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px)}.tpf-checkbox-label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border-color, #d0d0d0);border-radius:var(--radius-md, 6px);background:var(--bg-primary, #fff);font-size:var(--font-sm, 14px);cursor:pointer;-webkit-user-select:none;user-select:none}.tpf-checkbox-label:hover{background:var(--bg-secondary, #f7f7f7)}.tpf-instruction-row{display:flex;flex-direction:column;margin-top:var(--spacing-md, 12px)}.tpf-instruction-row:first-child{margin-top:var(--spacing-xs, 4px)}.tpf-sublabel{display:block;margin-bottom:2px;font-size:12px;font-weight:var(--font-medium, 500);color:var(--text-secondary, #555)}.tpf-past-result-row{display:flex;gap:var(--spacing-sm, 8px);margin-bottom:var(--spacing-xs, 4px);align-items:center}.tpf-past-result-row input[type=text],.tpf-past-result-row select{flex:1;min-width:0}.tpf-add-btn,.tpf-remove-btn{padding:6px 12px;border:1px solid var(--border-color, #d0d0d0);border-radius:var(--radius-md, 6px);background:var(--bg-primary, #fff);color:var(--text-primary, #111);font-size:12px;cursor:pointer}.tpf-add-btn{align-self:flex-start;margin-top:var(--spacing-xs, 4px)}.tpf-remove-btn{color:var(--color-danger, #c0392b)}.tpf-add-btn:disabled,.tpf-remove-btn:disabled{opacity:.5;cursor:not-allowed}.hq-page{padding:var(--spacing-lg)}.hq-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.hq-page-header h2{margin:0}.hq-filter-bar{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.hq-participant{font-weight:var(--font-semibold);font-size:var(--font-sm)}.hq-question{font-size:var(--font-sm);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word;line-height:1.4}.hq-doubt{font-size:var(--font-sm);color:var(--text-primary);display:inline-block;max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}.hq-subject{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:capitalize;background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-sm)}.hq-time{font-size:var(--font-xs);color:var(--text-tertiary)}.hq-row-unread{background:var(--color-primary-light, rgba(59, 130, 246, .08));font-weight:var(--font-semibold)}.hq-detail{padding:var(--spacing-lg);max-width:900px}.hq-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap;width:100%}.hq-detail-header-main{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;min-width:0}.hq-detail-title{margin:0;font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--text-primary)}.hq-back-btn{background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.hq-back-btn:hover{background:var(--bg-secondary)}.hq-detail-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.hq-detail-body{display:flex;flex-direction:column;gap:var(--spacing-lg)}.hq-linked-entity{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm)}.hq-linked-entity-header{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.hq-linked-entity-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.hq-linked-entity-link{margin-left:auto}.hq-qtype{font-size:var(--font-xs);color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold)}.hq-module{font-size:var(--font-xs);color:var(--text-tertiary);font-style:italic}.hq-question-full{display:flex;flex-direction:column;gap:var(--spacing-md)}.hq-question-text{font-size:var(--font-md);color:var(--text-primary);line-height:1.6}.hq-question-image{max-width:100%;max-height:320px;object-fit:contain;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);align-self:flex-start}.hq-question-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.hq-question-option{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-primary);position:relative}.hq-question-option--correct{background:var(--status-success-bg, rgba(34, 197, 94, .08));border-color:var(--color-success, #22c55e)}.hq-question-option--correct .hq-option-label{color:var(--color-success, #22c55e)}.hq-option-correct-badge{margin-left:auto;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--color-success, #22c55e);background:var(--bg-primary);padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-success, #22c55e);flex-shrink:0;align-self:center}.hq-option-label{font-weight:var(--font-semibold);color:var(--text-secondary);flex-shrink:0;min-width:1.5em}.hq-option-text{flex:1;min-width:0}.hq-option-image{max-width:120px;max-height:80px;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.hq-correct-answer{display:flex;align-items:baseline;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--status-success-bg, rgba(34, 197, 94, .08));border:1px solid var(--color-success, #22c55e);border-radius:var(--radius-md);font-size:var(--font-sm)}.hq-correct-answer-label{color:var(--color-success, #22c55e);font-weight:var(--font-semibold)}.hq-correct-answer-value{color:var(--text-primary)}.hq-student-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);box-shadow:var(--shadow-sm)}.hq-section-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.hq-student-info{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.hq-student-field{display:flex;flex-direction:column;gap:2px}.hq-student-field-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-weight:var(--font-semibold)}.hq-student-field-value{font-size:var(--font-sm);color:var(--text-primary);font-weight:var(--font-medium)}@media(max-width:640px){.hq-question-options{grid-template-columns:1fr}}.hq-linked-entity-type{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--font-semibold)}.hq-linked-entity-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);cursor:pointer;padding:0}.hq-linked-entity-link:hover{text-decoration:underline}.hq-linked-entity-content{font-size:var(--font-sm);color:var(--text-primary);margin-bottom:var(--spacing-sm)}.hq-context-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.hq-context-row{display:flex;align-items:flex-start;gap:var(--spacing-md);font-size:var(--font-sm)}.hq-context-row--column{flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.hq-context-row--spaced{margin-top:var(--spacing-md)}.hq-subsection{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:var(--spacing-md) 0}.hq-subsection-label{font-size:var(--font-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:var(--font-semibold)}.hq-context-label{color:var(--text-tertiary);flex-shrink:0;min-width:100px}.hq-context-value{color:var(--text-primary)}.hq-solution-thumbnail{width:120px;height:120px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);display:block}.hq-solution-thumbnail img{width:100%;height:100%;object-fit:cover}.hq-assessment-badge{font-weight:var(--font-semibold);text-transform:capitalize;font-size:var(--font-sm)}.hq-assessment-correct{color:var(--color-success)}.hq-assessment-incorrect{color:var(--color-error)}.hq-assessment-partially_correct{color:var(--color-warning)}@media(max-width:768px){.hq-detail{padding:var(--spacing-md)}.hq-question,.hq-doubt{max-width:200px}}.user-detail-page{max-width:900px}.back-btn{display:inline-block;padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;cursor:pointer;margin-bottom:20px;transition:all .15s ease}.back-btn:hover{background:var(--bg-secondary);border-color:var(--border-color-dark)}.user-info-card{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-md);padding:24px;margin-bottom:24px}.user-info-card-header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.user-info-card-header h1{margin:0;font-size:24px;color:var(--text-primary)}.role-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;text-transform:capitalize}.role-student{background:var(--status-info-bg);color:var(--color-accent)}.role-teacher{background:var(--status-success-bg-subtle);color:var(--status-success-text)}.role-admin{background:var(--status-warning-bg);color:var(--status-warning-text)}.user-attributes{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.attr-row{display:flex;flex-direction:column;gap:2px;padding:10px 16px;border-bottom:1px solid var(--border-color)}.attr-row:nth-last-child(-n+2){border-bottom:none}.attr-label{font-size:12px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.attr-value{font-size:14px;color:var(--text-primary)}.attr-mono{font-family:monospace;font-size:12px;word-break:break-all}.ring-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:600;text-transform:uppercase}.ring-devtesting{background:var(--status-warning-bg);color:var(--status-warning-text)}.ring-beta{background:var(--status-info-bg);color:var(--status-info-text)}.ring-prod{background:var(--status-success-bg);color:var(--status-success-text)}.bypass-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:12px;font-weight:600;background:var(--status-warning-bg, #fef3c7);color:var(--status-warning-text, #b45309)}.bypass-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.bypass-section-header{display:flex;align-items:center;justify-content:space-between}.bypass-section-title{font-weight:600;font-size:14px;color:var(--text-primary);display:block}.bypass-section-desc{font-size:12px;color:var(--text-tertiary);display:block;margin-top:2px}.bypass-section-actions{display:flex;align-items:center;gap:10px}.bypass-enable-btn{padding:6px 16px;border:1px solid var(--status-warning-text, #b45309);border-radius:6px;background:transparent;color:var(--status-warning-text, #b45309);font-size:13px;cursor:pointer;transition:all .15s ease}.bypass-enable-btn:hover:not(:disabled){background:var(--status-warning-text, #b45309);color:#fff}.bypass-disable-btn{padding:6px 16px;border:1px solid var(--status-warning-text, #b45309);border-radius:6px;background:var(--status-warning-bg, #fef3c7);color:var(--status-warning-text, #b45309);font-size:13px;cursor:pointer;transition:all .15s ease}.bypass-disable-btn:hover:not(:disabled){background:var(--status-warning-text, #b45309);color:#fff}.bypass-enable-btn:disabled,.bypass-disable-btn:disabled{opacity:.5;cursor:not-allowed}.user-info-card-actions{display:flex;align-items:center;gap:12px;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-color)}.impersonate-btn{padding:6px 16px;border:1px solid var(--color-primary);border-radius:6px;background:transparent;color:var(--color-primary);font-size:13px;cursor:pointer;transition:all .15s ease}.impersonate-btn:hover:not(:disabled){background:var(--color-primary);color:#fff}.impersonate-btn:disabled{opacity:.5;cursor:not-allowed}.delete-user-btn{padding:6px 16px;border:1px solid var(--color-error);border-radius:6px;background:transparent;color:var(--color-error);font-size:13px;cursor:pointer;transition:all .15s ease}.delete-user-btn:hover:not(:disabled){background:var(--color-error);color:#fff}.delete-user-btn:disabled{opacity:.5;cursor:not-allowed}.restore-user-btn{padding:6px 16px;border:1px solid #059669;border-radius:6px;background:transparent;color:#059669;font-size:13px;cursor:pointer;transition:all .15s ease}.restore-user-btn:hover:not(:disabled){background:#059669;color:#fff}.restore-user-btn:disabled{opacity:.5;cursor:not-allowed}.features-section{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-md);padding:24px}.features-section h2{margin:0 0 16px;font-size:18px;color:var(--text-primary)}.no-features-message{color:var(--text-tertiary);font-style:italic}.features-grid{display:flex;flex-direction:column;gap:0;margin-bottom:20px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.feature-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border-color);transition:background .15s ease}.feature-row:last-child{border-bottom:none}.feature-row.overridden{background:var(--selected-bg)}.feature-row-left{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.feature-name{font-weight:600;color:var(--text-primary);font-size:14px;white-space:nowrap}.feature-id{font-size:12px;color:var(--text-tertiary);font-family:monospace}.feature-description{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feature-row-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.feature-row-right select{padding:5px 8px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;min-width:140px}.override-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--status-info-bg);color:var(--status-info-text)}.default-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;background:var(--bg-tertiary);color:var(--text-tertiary)}.reset-btn{padding:4px 10px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:all .15s ease}.reset-btn:hover{background:var(--bg-tertiary);color:var(--text-secondary)}.features-actions{display:flex;align-items:center;gap:12px}.save-features-btn{padding:8px 20px;border:none;border-radius:8px;background:var(--color-accent);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.save-features-btn:hover:not(:disabled){background:#1d4ed8}.save-features-btn:disabled{opacity:.6;cursor:not-allowed}.status-saved{color:#059669;font-size:13px;font-weight:500}.status-error{color:var(--color-error);font-size:13px;font-weight:500}.logging-subtitle{color:var(--text-tertiary);font-size:13px;margin:0 0 16px}.logging-field{display:flex;align-items:center;gap:12px;margin-bottom:16px}.logging-field label{font-size:14px;font-weight:500;color:var(--text-secondary)}.logging-field input[type=number]{width:70px;padding:5px 8px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px}.logging-providers{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.logging-provider-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.logging-provider-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;cursor:pointer;transition:background .15s ease}.logging-provider-header:hover{background:var(--bg-secondary)}.logging-provider-name{font-weight:600;font-size:14px;color:var(--text-primary);text-transform:capitalize}.logging-provider-summary{display:flex;align-items:center;gap:12px}.logging-toggle-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer}.logging-provider-summary select{padding:4px 8px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:12px;min-width:90px}.logging-expand-icon{font-size:10px;color:var(--text-tertiary);margin-left:4px}.logging-component-overrides{border-top:1px solid var(--border-color);padding:8px 16px 12px;background:var(--bg-secondary)}.logging-component-header{display:flex;justify-content:space-between;padding:4px 0 8px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.logging-component-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0}.logging-component-name{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-primary)}.logging-component-code{font-family:monospace;font-size:11px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:1px 5px;border-radius:4px}.logging-component-row select{padding:3px 6px;border:1px solid var(--border-color);border-radius:5px;font-size:12px;min-width:120px}.user-detail-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--border-color);padding-bottom:0}.user-detail-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .2s}.user-detail-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.user-detail-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.fg-list{display:flex;flex-direction:column;gap:12px}.fg-card{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px}.fg-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.fg-toggle-area{display:flex;align-items:center;gap:10px}.fg-status{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.fg-on{color:#22c55e}.fg-off{color:var(--text-tertiary)}.fg-switch{position:relative;display:inline-block;width:40px;height:22px}.fg-switch input{opacity:0;width:0;height:0}.fg-slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-color, #ccc);border-radius:22px;transition:.2s}.fg-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:#fff;border-radius:50%;transition:.2s}.fg-switch input:checked+.fg-slider{background-color:#22c55e}.fg-switch input:checked+.fg-slider:before{transform:translate(18px)}.fg-fields{display:grid;grid-template-columns:200px 1fr;gap:8px}.fg-field{margin-bottom:0}.fg-rollout{margin-top:10px;display:flex;flex-direction:column;gap:8px}.fg-rings{display:flex;align-items:center;gap:8px}.fg-rings-hint{font-size:12px;color:var(--text-tertiary)}.fg-ring-checks{display:flex;gap:12px}.fg-ring-label{display:flex;align-items:center;gap:4px;font-size:13px;cursor:pointer}.fg-override-label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer;color:var(--text-secondary)}.fg-lock-hint{font-size:11px;color:#e57e22;margin-left:4px}.fg-empty{color:var(--text-tertiary);font-size:14px;padding:16px 0}.exp-variants{margin-top:12px}.exp-variant-row{display:flex;align-items:center;gap:8px;margin-top:6px}.exp-variant-row .exp-variant-name{flex:0 0 260px;width:260px;min-width:0}.exp-variant-row .exp-variant-weight{flex:0 0 72px;width:72px}.exp-variant-name-label{flex:0 0 260px;width:260px;min-width:0;padding:6px 8px;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exp-variant-weight-label{flex:0 0 72px;width:72px;padding:6px 8px;font-size:.9rem;font-variant-numeric:tabular-nums}.exp-variant-pct{width:44px;text-align:right;font-size:.85rem;color:#6b7280;font-variant-numeric:tabular-nums}.exp-variant-remove{flex:none}.exp-add-variant-btn{margin-top:8px;background:none;border:1px dashed #cbd5e1;color:#475569;border-radius:6px;padding:4px 10px;font-size:.85rem;cursor:pointer}.exp-add-variant-btn:hover{background:#f8fafc;border-color:#94a3b8}.exp-card-actions{display:flex;align-items:center;gap:8px;margin-left:auto;padding-left:24px}.exp-edit-btn,.exp-delete-btn{background:none;border:1px solid #cbd5e1;border-radius:6px;padding:4px 14px;font-size:.85rem;cursor:pointer}.exp-edit-btn{color:var(--color-primary, #4f46e5);border-color:var(--color-primary, #4f46e5)}.exp-edit-btn:hover{background:var(--color-primary-light, #eef2ff)}.exp-delete-btn{color:var(--color-danger, #b91c1c);border-color:var(--color-danger, #b91c1c)}.exp-delete-btn:hover{background:var(--color-danger-bg, #fef2f2)}.exp-delete-btn:disabled,.exp-edit-btn:disabled{opacity:.5;cursor:default}.exp-readonly-value{padding:6px 0;font-size:.9rem;word-break:break-word}.exp-muted{color:#9ca3af;font-style:italic}.exp-dialog{display:flex;flex-direction:column;gap:14px;min-width:460px;max-width:600px}.exp-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.exp-variant-hint{font-weight:400;font-size:.8rem;color:#9ca3af}.exp-variant-row .exp-variant-invalid{border-color:var(--color-danger, #b91c1c)}.exp-known{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:16px 0}.exp-known-label{font-size:.85rem;color:#6b7280}.exp-known-btn{background:#eef2ff;border:1px solid #c7d2fe;color:#4338ca;border-radius:6px;padding:4px 10px;font-size:.85rem;cursor:pointer;font-family:var(--font-mono, monospace)}.exp-known-btn:hover{background:#e0e7ff}.rate-limit-tier{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;margin-bottom:12px}.rate-limit-tier-title{margin:0 0 12px;font-size:15px;text-transform:capitalize;color:var(--text-primary)}.rate-limit-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.rate-limit-label{display:block;font-size:12px;color:var(--text-secondary, #666);margin-bottom:2px}.rate-limit-input{width:100%;padding:6px 8px;border:1px solid var(--border-color, #ccc);border-radius:6px;font-size:14px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.rate-limit-input:focus{outline:none;border-color:var(--color-primary)}.rate-limit-actions{display:flex;gap:12px;margin-top:16px;align-items:center}.rate-limit-save-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.rate-limit-save-btn:hover:not(:disabled){background:#3d8bef}.rate-limit-save-btn:disabled{background:#a0c4ff;cursor:not-allowed}.rate-limit-reset-btn{padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.rate-limit-reset-btn:hover{background:var(--border-color)}.wa-form{display:flex;flex-direction:column;gap:16px;max-width:520px}.wa-field{display:flex;flex-direction:column;gap:4px}.wa-field-help{margin:0;font-size:12px;color:var(--text-tertiary);line-height:1.4}.wa-input-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.settings-page h1{margin:0 0 20px;color:var(--text-primary)}.settings-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--border-color);padding-bottom:0}.settings-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .2s}.settings-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.settings-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-section{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-md);padding:24px;margin-bottom:24px}.section-header{margin-bottom:20px}.section-header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.section-header h2{margin:0;font-size:18px;color:var(--text-primary)}.section-description{margin:0;color:var(--text-tertiary);font-size:14px}.settings-footer{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-md);padding:16px 24px}.last-updated{margin:8px 0 0;color:var(--text-tertiary);font-size:13px}.build-info{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color);color:var(--text-tertiary);font-size:12px;font-family:monospace}.status-saving{color:var(--text-tertiary);font-size:14px}.status-saved{color:#22c55e;font-size:14px}.status-error{color:var(--color-error);font-size:14px}.loading{padding:40px;text-align:center;color:var(--text-tertiary)}.error{padding:20px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.logging-providers{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.logging-provider-card{border:2px solid var(--border-color);border-radius:10px;padding:16px;transition:all .2s}.logging-provider-card.enabled{border-color:var(--color-primary);background:var(--selected-bg-subtle)}.provider-header{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.provider-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.provider-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.provider-name{font-size:16px;font-weight:600;color:var(--text-primary)}.provider-description{font-size:13px;color:var(--text-tertiary);margin-left:28px}.provider-settings{margin-left:28px;padding-top:8px;border-top:1px solid var(--border-color)}.log-level-selector{display:flex;align-items:center;gap:12px}.log-level-selector span{font-size:13px;color:var(--text-secondary);font-weight:500}.log-level-selector select{padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--bg-secondary, var(--bg-primary));color:var(--text-primary);cursor:pointer;min-width:120px}.log-level-selector select:disabled{opacity:.5;cursor:not-allowed}.log-level-selector select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f9cff1a}.component-levels-section{background:var(--bg-tertiary);border-radius:8px;padding:16px;margin-bottom:16px}.component-levels-section h3{margin:0 0 4px;font-size:14px;color:var(--text-secondary);font-weight:600}.component-levels-section .section-description{margin:0 0 12px;font-size:12px;color:var(--text-tertiary)}.component-levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.component-level-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;gap:12px}.component-level-row .component-name{font-size:13px;color:var(--text-primary);font-weight:500}.component-level-row select{padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:12px;background:var(--bg-secondary, var(--bg-primary));color:var(--text-primary);cursor:pointer;min-width:90px}.component-level-row select:focus{outline:none;border-color:var(--color-primary)}.debug-options-section{background:var(--bg-tertiary);border-radius:8px;padding:16px}.debug-options-section h3{margin:0 0 12px;font-size:14px;color:var(--text-secondary);font-weight:600}.debug-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.debug-option{display:flex;align-items:flex-start;padding:12px;border:2px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;background:var(--bg-primary)}.debug-option:hover{border-color:var(--border-color-dark)}.debug-option.selected{border-color:var(--color-primary);background:var(--selected-bg)}.debug-option input[type=checkbox]{margin-right:12px;margin-top:2px;width:18px;height:18px;flex-shrink:0;cursor:pointer}.debug-option-content{display:flex;flex-direction:column;gap:2px;min-width:0}.debug-option-label{font-weight:600;color:var(--text-primary);font-size:13px}.debug-option-description{color:var(--text-tertiary);font-size:12px;line-height:1.4}.logs-delete-all{height:2.25rem;padding:0 var(--spacing-md);white-space:nowrap;border-radius:var(--radius-md)}.log-time{font-family:monospace;font-size:12px;white-space:nowrap;color:var(--text-tertiary)}.log-level{font-weight:600;text-transform:uppercase;font-size:10px;padding:2px 6px;border-radius:3px;display:inline-block;white-space:nowrap}.log-level.level-error{background:#fef2f2;color:#dc2626}.log-level.level-warning,.log-level.level-warn{background:#fef3c7;color:#d97706}.log-level.level-info{background:#e0f2fe;color:#0284c7}.log-level.level-debug{background:#f3f4f6;color:var(--text-tertiary)}.log-source{font-size:11px;color:var(--text-tertiary)}.log-component{color:#7c3aed;font-weight:500;font-size:12px}.log-message{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-request-id{font-family:monospace;font-size:10px;color:var(--text-tertiary);white-space:nowrap}.logs-section .dt th:last-child,.logs-section .dt td:last-child{white-space:nowrap}.log-details{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.detail-item{font-size:12px}.detail-item strong{color:var(--text-secondary);margin-right:8px}.detail-item pre{margin:4px 0 0;padding:8px 12px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;overflow-x:auto;max-height:200px;overflow-y:auto}.detail-item.error-detail pre{background:#fef2f2;color:#dc2626}.no-logs-message{padding:40px;text-align:center;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:8px}.msg-time{font-family:monospace;font-size:12px;white-space:nowrap;color:var(--text-tertiary)}.msg-channel{font-weight:600;text-transform:uppercase;font-size:10px;padding:2px 6px;border-radius:3px;display:inline-block;white-space:nowrap}.msg-channel.channel-whatsapp{background:#dcfce7;color:#166534}.msg-channel.channel-email{background:#e0f2fe;color:#0284c7}.msg-channel.channel-inapp{background:#ede9fe;color:#6d28d9}.msg-channel.channel-sms{background:#fef3c7;color:#d97706}.msg-status{font-weight:600;text-transform:uppercase;font-size:10px;padding:2px 6px;border-radius:3px;display:inline-block;white-space:nowrap}.msg-status.status-sent,.msg-status.status-delivered,.msg-status.status-read{background:#dcfce7;color:#166534}.msg-status.status-failed{background:#fef2f2;color:#dc2626}.msg-status.status-suppressed{background:#f3f4f6;color:var(--text-tertiary)}.msg-status.status-pending{background:#fef3c7;color:#d97706}.msg-template{font-size:12px;color:#7c3aed;font-weight:500}.msg-provider-id{font-family:monospace;font-size:11px;color:var(--text-tertiary);white-space:nowrap}.msg-attempts{text-align:center;font-variant-numeric:tabular-nums}.msg-note{color:var(--text-tertiary);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:280px}.msg-recipient{font-size:12px}.msg-details{padding:12px 16px;display:flex;flex-direction:column;gap:8px}.msg-details .detail-item{font-size:12px}.msg-details .detail-item strong{color:var(--text-secondary);margin-right:8px}.msg-details .detail-item pre{margin:4px 0 0;padding:8px 12px;background:var(--bg-tertiary);border-radius:4px;font-size:11px;overflow-x:auto;max-height:240px;overflow-y:auto}.msg-details .detail-item.error-detail pre{background:#fef2f2;color:#dc2626}.aj-section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.aj-autorefresh{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;padding-top:.25rem;flex-shrink:0}.aj-metric-cards{margin:.75rem 0 2rem}.async-jobs-section .aj-counts-row{display:flex;gap:.5rem;align-items:center;margin:.75rem 0 1rem;flex-wrap:wrap}.aj-num{white-space:nowrap;font-variant-numeric:tabular-nums}.aj-mono{white-space:nowrap;font-family:monospace;font-size:.85em}.aj-muted{color:var(--text-tertiary)}.aj-error-cell{color:var(--status-error-text, #b91c1c);font-size:.85em}.aj-details{padding:.75rem 1rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);color:var(--text-primary)}.aj-detail-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.aj-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.5rem 1rem;margin-bottom:.75rem}.aj-detail-item{font-size:.9em;word-break:break-all;color:var(--text-primary)}.aj-detail-item strong{color:var(--text-secondary);margin-right:.4em}.aj-detail-item pre{margin:.25rem 0 0;padding:.35rem .5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:3px;font-size:.8em;white-space:pre-wrap;max-height:200px;overflow:auto;color:var(--text-primary)}.aj-error-detail pre{background:var(--bg-primary);border-color:var(--status-error-text, #b91c1c);color:var(--status-error-text, #dc2626)}.aj-collapsible{margin-top:.5rem;padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary)}.aj-collapsible summary{cursor:pointer;padding:.15rem 0;-webkit-user-select:none;user-select:none;color:var(--text-primary)}.aj-json{margin:.5rem 0 0;padding:.5rem;background:var(--bg-tertiary);border-radius:3px;font-size:.8em;white-space:pre-wrap;max-height:400px;overflow:auto;color:var(--text-primary)}.aj-loading{padding:.5rem;color:var(--text-tertiary);font-style:italic}.error-stats-controls{display:flex;gap:8px;margin-bottom:16px}.window-btn{padding:4px 12px;border:1px solid var(--border-color, #4b5563);background:transparent;color:var(--text-secondary);border-radius:6px;cursor:pointer;font-size:13px}.window-btn.active{background:#3b82f626;color:#2563eb;border-color:#3b82f666}.error-stats-total{margin:8px 0 16px}.error-stats-empty{color:var(--text-secondary)}.error-code-bars{display:flex;flex-direction:column;gap:6px;margin-bottom:24px}.error-code-bar-row{display:grid;grid-template-columns:200px 1fr 60px;align-items:center;gap:10px}.error-code-bar-track{background:#94a3b81f;border-radius:4px;height:16px;overflow:hidden}.error-code-bar-fill{background:#3b82f6;height:100%;border-radius:4px}.error-code-count{text-align:right;font-variant-numeric:tabular-nums}.error-code-label{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600;font-family:var(--mono-font, monospace);background:#94a3b826;color:var(--text-secondary)}.error-code-label.code-max_tokens{background:#f59e0b26;color:#b45309}.error-code-label.code-safety_block,.error-code-label.code-auth{background:#ef444426;color:#dc2626}.error-code-label.code-rate_limit{background:#a855f726;color:#9333ea}.error-code-label.code-all_providers_failed{background:#ef444433;color:#b91c1c}.error-stats-table{width:100%;border-collapse:collapse;font-size:13px}.error-stats-table th,.error-stats-table td{text-align:left;padding:6px 10px;border-bottom:1px solid var(--border-color, #374151)}.error-stats-table th{color:var(--text-secondary);font-weight:600}.qh-panel{border:1px solid var(--border-color);border-radius:10px;margin-bottom:24px;overflow:hidden;background:var(--bg-secondary)}.qh-panel-toggle{width:100%;display:flex;align-items:center;gap:8px;text-align:left;background:var(--bg-tertiary);color:var(--text-primary);border:0;padding:12px 20px;font-size:14px;font-weight:600;letter-spacing:.01em;cursor:pointer}.qh-panel-toggle:hover{background:var(--bg-hover)}.qh-chevron{display:inline-block;transition:transform .15s;color:var(--text-secondary);font-size:12px}.qh-chevron.expanded{transform:rotate(90deg)}.qh-count{color:var(--text-tertiary);font-weight:400;margin-left:4px}.qh-panel-body{padding:16px 20px}.qh-loading,.qh-empty{color:var(--text-tertiary);font-size:13px;padding:8px 0}.qh-error{color:var(--status-error-text);background:var(--status-error-bg);border:1px solid var(--status-error-border);border-radius:6px;padding:8px 10px;font-size:13px;margin-bottom:8px}.qh-table{width:100%;border-collapse:collapse;font-size:13px;color:var(--text-primary)}.qh-table th,.qh-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-color);vertical-align:top}.qh-table thead th{font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.qh-table tbody tr{cursor:pointer;transition:background .1s}.qh-table tbody tr:hover{background:var(--bg-hover)}.qh-table tbody tr.qh-row-selected{background:var(--color-primary-light)}.qh-actor{white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-secondary)}.qh-fields{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--text-secondary);max-width:320px}.qh-note{color:var(--text-secondary);max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qh-action{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border:1px solid transparent}.qh-action-create{background:var(--status-success-bg);color:var(--status-success-text);border-color:var(--status-success-border)}.qh-action-update{background:var(--status-indigo-bg);color:var(--status-indigo-text)}.qh-action-publish{background:var(--status-info-bg);color:var(--status-info-text);border-color:var(--status-info-border)}.qh-action-unpublish{background:var(--status-warning-bg);color:var(--status-warning-text);border-color:var(--status-warning-border)}.qh-action-restore{background:var(--status-purple-bg);color:var(--status-purple-text)}.qh-action-delete{background:var(--status-error-bg);color:var(--status-error-text);border-color:var(--status-error-border)}.qh-parent{font-size:11px;color:var(--text-tertiary);margin-left:4px}.qh-detail{margin-top:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);padding:12px}.qh-detail-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;color:var(--text-secondary)}.qh-detail-actions{display:flex;gap:6px}.qh-btn{padding:6px 12px;font-size:12px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-weight:500}.qh-btn:hover{background:var(--bg-hover)}.qh-btn-restore{background:var(--color-primary);color:var(--text-inverse);border-color:var(--color-primary)}.qh-btn-restore:hover{background:var(--color-primary-hover)}.qh-btn-restore:disabled{opacity:.6;cursor:not-allowed}.qh-diff-empty{color:var(--text-tertiary);font-size:13px;font-style:italic;padding:8px 0}.qh-diff{border:1px solid var(--border-color);border-radius:6px;font-size:12px;overflow:hidden}.qh-diff-header,.qh-diff-row{display:grid;grid-template-columns:160px 1fr 1fr;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border-color)}.qh-diff-row:last-child{border-bottom:0}.qh-diff-header{background:var(--bg-tertiary);font-weight:600;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.qh-diff-cell-key{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:600;word-break:break-word;color:var(--text-primary);align-self:start;padding-top:4px}.qh-diff-cell-before,.qh-diff-cell-after{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:240px;padding:6px 8px;border-radius:4px}.qh-diff-cell-before{background:var(--status-error-bg-subtle);color:var(--status-error-text);border:1px solid var(--status-error-border)}.qh-diff-cell-after{background:var(--status-success-bg-subtle);color:var(--status-success-text);border:1px solid var(--status-success-border)}.sui-image-crop-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sui-image-crop-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.sui-image-crop-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.sui-image-crop-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.sui-image-crop-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:6px;font-size:18px;color:var(--text-tertiary);cursor:pointer}.sui-image-crop-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sui-image-crop-body{padding:24px;overflow:auto;flex:1;display:flex;justify-content:center}.sui-image-crop-loading{font-size:14px;color:var(--text-tertiary);padding:40px 0}.sui-image-crop-error{display:block;font-size:12px;color:#dc2626;padding:0 24px 8px}.sui-image-crop-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--border-color);flex-shrink:0}.sui-image-crop-btn-cancel{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.sui-image-crop-btn-cancel:hover{background:var(--border-color)}.sui-image-crop-btn-apply{padding:8px 16px;background:var(--color-success);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.sui-image-crop-btn-apply:hover{background:#059669}.sui-image-crop-btn-apply:disabled{background:var(--text-tertiary);cursor:not-allowed}.sui-image-crop-trigger{padding:2px 8px;background:#0009;color:#fff;border:none;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;line-height:1.4}.sui-image-crop-trigger:hover{background:#2563ebe6}.req-editor{border:1px solid var(--border-color);border-radius:6px;padding:.75rem .9rem;margin-top:.5rem;background:var(--bg-secondary);color:var(--text-primary)}.req-editor-title{font-weight:600;color:var(--text-primary)}.req-editor-help{font-size:.85rem;color:var(--text-secondary);margin:.15rem 0 .6rem}.req-editor-modes{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.req-editor-mode{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--text-primary);white-space:nowrap;cursor:pointer}.req-editor .req-editor-n,.req-editor input.req-editor-n{width:3.5rem;flex:0 0 auto;height:auto;padding:.2rem .35rem;margin:0 .1rem;text-align:center;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px}.req-editor input.req-editor-n:disabled{opacity:.5}.req-editor-custom{margin-top:.7rem}.req-editor input.req-editor-expr{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;padding:.4rem .5rem;height:auto;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px}.req-editor input.req-editor-expr.req-editor-expr--error{border-color:var(--color-error)}.req-editor-grammar{font-size:.78rem;color:var(--text-tertiary);margin:.35rem 0 0}.req-editor-grammar code,.req-editor-preview code{background:var(--bg-tertiary);color:var(--text-primary);border-radius:4px;padding:0 .25rem}.req-editor-error{font-size:.82rem;color:var(--color-error);margin:.35rem 0 0}.req-editor-preview{font-size:.85rem;color:var(--text-primary);margin:.6rem 0 0}.req-editor-preview-label{color:var(--text-secondary);margin-right:.35rem}.part-editor-card{margin-bottom:.75rem;padding:.75rem .75rem 1rem;border:1px solid var(--border-color, #ddd);border-radius:6px;background:var(--bg-secondary)}.part-editor-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.part-editor-card-label{min-width:4rem;font-size:14px;color:var(--text-primary)}.part-editor-card-marks{flex:1;display:flex;align-items:center;gap:.5rem;margin:0;font-size:.85rem;color:var(--text-secondary)}.part-editor-card-marks>input{width:5rem!important}.part-editor-card-type{width:auto!important;padding:4px 8px;font-size:.85rem;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--bg-primary);color:var(--text-primary)}.part-editor-card-field.part-editor-numerical-row{flex-direction:row;align-items:flex-start;gap:1rem}.part-editor-numerical-row>label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:500;color:var(--text-tertiary)}.part-editor-numerical-row>label:first-child{flex:1 1 auto;min-width:0}.part-editor-numerical-row>label:first-child>input{width:100%;box-sizing:border-box}.part-editor-numerical-row>label:last-child{flex:0 0 auto}.part-editor-numerical-row>label:last-child>input{width:7rem}.part-editor-card-field{display:flex;flex-direction:column;gap:4px;margin-bottom:.5rem}.part-editor-card-field>label{font-size:12px;font-weight:500;color:var(--text-tertiary)}.part-editor-card-field:last-child{margin-bottom:0}@media(max-width:640px){.part-editor-card-header{flex-wrap:wrap;row-gap:6px}.part-editor-card-marks{flex:1 1 100%}.part-editor-numerical-row{flex-wrap:wrap}}.edit-form{width:100%}.edit-form-top-actions{display:flex;align-items:center;gap:8px;margin-bottom:16px}.edit-form-top-left{display:flex;gap:8px}.edit-form-top-center{flex:1;display:flex;justify-content:center}.edit-form-top-right{display:flex;gap:8px}.edit-form-top-actions .btn-cancel{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.edit-form-top-actions .btn-cancel:hover{background:var(--border-color)}.edit-form-top-actions .btn-save{padding:8px 16px;background:var(--color-success);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.edit-form-top-actions .btn-save:hover{background:#059669}.edit-form-top-actions .btn-save:disabled{background:var(--text-tertiary);cursor:not-allowed}.edit-form-top-actions .btn-publish{padding:8px 16px;background:var(--color-info);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.edit-form-top-actions .btn-publish:hover{background:var(--color-accent)}.edit-form-top-actions .btn-publish:disabled{background:var(--text-tertiary);cursor:not-allowed}.edit-form-top-actions .btn-unpublish{padding:8px 16px;background:var(--color-warning);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer}.edit-form-top-actions .btn-unpublish:hover{opacity:.9}.edit-form-top-actions .btn-unpublish:disabled{background:var(--text-tertiary);cursor:not-allowed}.edit-form-top-actions .btn-fix-latex{padding:8px 16px;background:var(--bg-tertiary);color:var(--color-info);border:1px solid var(--color-info);border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.edit-form-top-actions .btn-fix-latex:hover{background:var(--color-info);color:#fff}.edit-form-top-actions .btn-fix-latex:disabled{opacity:.5;cursor:not-allowed}.form-section-group{border:1px solid var(--border-color);border-radius:10px;margin-bottom:24px;overflow:hidden}.form-section-group-header{padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:14px;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.form-section-group-body{padding:20px}.form-section{margin-bottom:20px}.form-section>label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-section textarea,.form-section input[type=text],.form-section input[type=number],.form-section input[type=date],.form-section select{width:100%;padding:10px 12px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:14px;font-family:inherit;box-sizing:border-box;background-color:var(--bg-primary);color:var(--text-primary);height:40px}.form-section textarea{height:auto}.form-section textarea{resize:vertical;line-height:1.5}.form-section textarea:focus,.form-section input:focus,.form-section select:focus{outline:none;border-color:var(--color-info);box-shadow:0 0 0 2px #3b82f61a}.form-hint{display:block;font-size:12px;color:var(--text-tertiary);margin-top:6px}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0}.section-header label{font-size:13px;font-weight:500;color:var(--text-secondary);margin:0}.btn-add-inline{padding:4px 10px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.btn-add-inline:hover{background:#059669}.btn-remove-inline{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:#fee2e2;color:#dc2626;border:none;border-radius:4px;font-size:16px;cursor:pointer;flex-shrink:0}.btn-remove-inline:hover{background:#fecaca}.checkbox-row{display:flex;flex-wrap:wrap;gap:16px}.checkbox-item{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary);cursor:pointer}.checkbox-item input{width:16px;height:16px;cursor:pointer}.form-section.collapsible{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.collapsible-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);cursor:pointer}.collapsible-header label{flex:1;margin:0;cursor:pointer}.collapse-icon{font-size:10px;color:var(--text-tertiary)}.collapsible-body{padding:16px;border-top:1px solid var(--border-color)}.option-editor{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;padding:4px 8px;border-radius:6px;border:2px solid transparent}.option-editor>.option-correct-btn,.option-editor>.option-label-static,.option-editor>.option-image-btn,.option-editor>.btn-remove-inline{margin-top:6px}.option-editor.option-correct{border-color:var(--color-success);background:var(--status-success-bg-subtle)}.option-correct-btn{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-color-dark);background:var(--bg-primary);cursor:pointer;flex-shrink:0;position:relative}.option-correct-btn:hover{border-color:var(--color-success)}.option-correct-btn.active{border-color:var(--color-success);background:var(--color-success)}.option-correct-btn.active:after{content:"✓";color:#fff;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.option-correct-btn.multi{border-radius:4px}.option-label-static{width:28px;text-align:center;font-weight:600;font-size:14px;text-transform:uppercase;color:var(--text-secondary);flex-shrink:0}.option-text-input{flex:1!important}.option-image-btn{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;padding:0;transition:color .15s,border-color .15s,background .15s}.option-image-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--bg-secondary)}.option-image-btn.has-image{color:var(--color-primary);border-color:var(--color-primary)}.option-image-preview{position:relative;display:inline-block;margin-top:4px}.option-image-preview img{display:block;max-width:100%;max-height:120px;border-radius:4px;border:1px solid var(--border-color)}.option-image-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;border:none;border-radius:50%;font-size:12px;cursor:pointer;line-height:1}.option-image-remove:hover{background:#dc2626e6}.option-image-upload-zone{margin-top:6px;padding:12px;border:2px dashed var(--border-color-dark);border-radius:6px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.option-image-upload-zone:hover,.option-image-upload-zone:focus{border-color:var(--color-info);background:var(--bg-secondary);outline:none}.option-image-upload-zone.uploading{border-color:#f59e0b;background:#fffbeb;cursor:wait}.empty-note{color:var(--text-tertiary);font-style:italic;font-size:13px;text-align:center;padding:16px}.appearance-editor{display:flex;align-items:center;gap:8px;margin-bottom:8px}.appearance-editor select{width:auto!important;min-width:100px;flex-shrink:0}.appearance-editor input[type=date]{width:auto!important;flex-shrink:0}.appearance-editor .qno-input{width:70px!important;min-width:70px;flex-shrink:0}.appearance-editor .marks-input{width:80px!important;min-width:80px;flex-shrink:0}.solution-editor{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-bottom:12px}.solution-editor-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.solution-editor-header select{width:auto!important;min-width:140px}.solution-editor-header .time-input{width:100px!important}.solution-editor textarea{background:var(--bg-primary)}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;border-top:1px solid var(--border-color);margin-top:8px}.form-actions .btn-cancel{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.form-actions .btn-cancel:hover{background:var(--border-color)}.form-actions .btn-save{padding:8px 16px;background:var(--color-success);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.form-actions .btn-save:hover{background:#059669}.form-actions .btn-save:disabled{background:var(--text-tertiary);cursor:not-allowed}.question-edit-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.question-edit-modal{background:var(--bg-primary);border-radius:12px;width:90%;max-width:860px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.question-edit-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color);flex-shrink:0}.question-edit-modal-header h2{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.question-edit-modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:1px solid var(--border-color);border-radius:6px;font-size:18px;color:var(--text-tertiary);cursor:pointer}.question-edit-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.question-edit-modal-body{padding:24px;overflow-y:auto;flex:1}.image-upload-url-row{display:flex;gap:8px;align-items:center}.image-upload-url-row input{flex:1;min-width:0}.image-upload-toggle-btn{flex-shrink:0;padding:6px 12px;font-size:13px;font-weight:500;color:var(--color-primary);background:transparent;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.image-upload-toggle-btn:hover{background:var(--color-primary);color:#fff}.image-upload-zone{margin-top:8px;padding:16px;border:2px dashed var(--border-color-dark);border-radius:8px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.image-upload-zone:hover,.image-upload-zone:focus{border-color:var(--color-info);background:#f0f7ff;outline:none}.image-upload-zone.uploading{border-color:#f59e0b;background:#fffbeb;cursor:wait}.image-upload-zone-text{font-size:13px;color:var(--text-tertiary)}.image-upload-error{display:block;font-size:12px;color:#dc2626;margin-top:6px}.image-upload-preview{position:relative;display:inline-block;margin-top:8px;border-radius:6px;border:1px solid var(--border-color);overflow:hidden}.image-upload-preview img{display:block;max-width:100%;object-fit:contain}.image-upload-preview-actions{position:absolute;top:6px;right:6px;display:flex;gap:4px}.image-upload-remove{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#0009;color:#fff;border:none;border-radius:50%;font-size:14px;cursor:pointer;line-height:1}.image-upload-remove:hover{background:#dc2626e6}.rq-list{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.rq-item{border-bottom:1px solid var(--border-color)}.rq-item:last-child{border-bottom:none}.rq-item-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;transition:background .15s ease;gap:8px}.rq-item-header:hover{background:var(--bg-secondary)}.rq-item-expanded>.rq-item-header{background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.rq-item-header-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0;overflow:hidden}.rq-item-id{font-family:SF Mono,Consolas,Monaco,monospace;font-size:12px;color:var(--text-tertiary);flex-shrink:0}.rq-item-question-text{flex:1;min-width:0;overflow:hidden}.rq-item-type-badge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:var(--color-primary-light, #dbeafe);color:var(--color-primary, #2563eb);white-space:nowrap;flex-shrink:0}.rq-item-reason{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rq-item-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.rq-expand-icon{font-size:10px;color:var(--text-tertiary)}.rq-item-body{padding:12px 16px;background:var(--bg-secondary);display:flex;flex-direction:column;gap:10px}.rq-field{display:flex;flex-direction:column;gap:4px}.rq-field>label{font-size:12px;font-weight:500;color:var(--text-tertiary)}.rq-field>input,.rq-field>select{padding:8px 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);width:100%;box-sizing:border-box}.rq-field>select{width:auto;min-width:180px}.related-question-id-input{font-family:SF Mono,Consolas,Monaco,monospace!important;font-size:13px!important}.related-question-criteria-input{font-family:SF Mono,Consolas,Monaco,monospace!important;font-size:13px!important;color:var(--text-tertiary)!important}.rq-picker-modal{background:var(--bg-primary);border-radius:12px;width:92%;max-width:1000px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.rq-picker-body{padding:20px 24px;overflow-y:auto;flex:1}.rq-picker-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--border-color);flex-shrink:0}.rq-picker-footer .btn-cancel{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.rq-picker-footer .btn-cancel:hover{background:var(--border-color)}.rq-picker-footer .btn-save{padding:8px 16px;background:var(--color-success);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer}.rq-picker-footer .btn-save:hover{background:#059669}.rq-picker-footer .btn-save:disabled{background:var(--text-tertiary);cursor:not-allowed}.readonly-value{display:block;padding:6px 10px;font-size:12px;font-family:monospace;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:4px;-webkit-user-select:all;user-select:all;word-break:break-all}@media(max-width:900px){.form-row-2,.form-row-3{grid-template-columns:1fr}}@media(max-width:640px){.edit-form-top-actions{flex-wrap:wrap;row-gap:8px}.edit-form-top-left,.edit-form-top-center,.edit-form-top-right{flex-wrap:wrap}.appearance-editor{flex-wrap:wrap;row-gap:6px}.appearance-editor select,.appearance-editor input[type=date]{flex:1 1 calc(50% - 8px)!important;min-width:0!important}.appearance-editor input[type=text]:not(.qno-input){flex:1 1 100%!important}.solution-editor-header{flex-wrap:wrap;row-gap:6px}.solution-editor-header select{flex:1 1 100%!important}.option-editor{flex-wrap:wrap;row-gap:6px}.option-editor>div{flex:1 1 100%!important}.rq-field>select{width:100%!important;min-width:0!important}.rq-picker-modal{width:100%;max-height:95vh;border-radius:0}.checkbox-row{gap:10px}}.question-picker{display:flex;flex-direction:column;gap:var(--spacing-md)}.qp-filters{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:stretch}.qp-filters select,.qp-search{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);box-sizing:border-box}.qp-filters select{min-width:110px;max-width:160px}.qp-filters .topic-selector{flex:1.5;min-width:180px;max-width:280px}.qp-filters select:disabled,.qp-select-disabled{background:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.qp-search{flex:1;min-width:200px}.qp-filter-toggle{background:none;border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-sm);color:var(--text-secondary);cursor:pointer}.qp-filter-toggle:hover{color:var(--text-primary);border-color:var(--text-tertiary)}@media(max-width:640px){.qp-filters{flex-wrap:wrap}.qp-filters select,.qp-filters .topic-selector{max-width:none;min-width:0}.qp-filters .topic-selector,.qp-search{flex-basis:100%;min-width:0}.qp-filters select{flex:1;min-width:0}}.qp-browse{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary);display:flex;flex-direction:column}.qp-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.qp-panel-actions{display:flex;align-items:center;gap:var(--spacing-md)}.qp-panel-header h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.qp-btn-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-xs);cursor:pointer;padding:0}.qp-btn-link:hover{text-decoration:underline}.qp-list{flex:1;overflow-y:auto;max-height:420px;padding:var(--spacing-xs)}.qp-item{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);display:flex;align-items:flex-start;gap:var(--spacing-sm);border:1px solid transparent}.qp-item:hover{background:var(--bg-tertiary)}.qp-item-highlighted{background:var(--color-primary-light, #e0edff);border-color:var(--color-primary)}.qp-item-highlighted:hover{background:var(--color-primary-light, #e0edff);opacity:.85}.qp-item-check{width:20px;min-width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:var(--font-bold);color:var(--color-primary);margin-top:2px;flex-shrink:0}.qp-item-highlighted .qp-item-check{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.qp-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.qp-item-text{font-size:var(--font-sm);color:var(--text-primary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.qp-item-meta{display:flex;gap:var(--spacing-xs);flex-wrap:wrap}.qp-badge{font-size:10px;padding:2px 6px;border-radius:var(--radius-full);background:var(--color-primary-light);color:var(--color-primary);font-weight:var(--font-medium);text-transform:capitalize}.qp-badge-muted{font-size:10px;padding:2px 6px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}.qp-badge-draft{font-size:10px;padding:2px 6px;border-radius:var(--radius-full);background:var(--color-warning-bg, rgba(234, 179, 8, .15));color:var(--color-warning, #b45309);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.qp-badge-exam{font-size:10px;padding:2px 6px;border-radius:var(--radius-full);background:var(--color-info-bg, #dbeafe);color:var(--color-info, #2563eb);font-weight:var(--font-medium)}.qp-preview-btn{background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:var(--font-lg);cursor:pointer;padding:0 8px;line-height:1.2;flex-shrink:0;align-self:center}.qp-preview-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-tertiary)}.qp-selected{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-primary);display:flex;flex-direction:column}.qp-selected .qp-panel-header{background:var(--bg-tertiary)}.qp-selected-list{padding:var(--spacing-xs);max-height:240px;overflow-y:auto}.qp-selected-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md)}.qp-selected-item:hover{background:var(--bg-tertiary)}.qp-selected-item-draft{background:var(--color-warning-bg, rgba(234, 179, 8, .08))}.qp-item-num{font-size:var(--font-xs);color:var(--text-tertiary);min-width:24px;flex-shrink:0}.qp-reorder{display:flex;flex-direction:column;flex-shrink:0;line-height:1}.qp-reorder-btn{background:none;border:none;color:var(--text-tertiary);font-size:var(--font-xs);cursor:pointer;padding:0 4px;border-radius:var(--radius-sm)}.qp-reorder-btn:hover:not(:disabled){color:var(--color-primary);background:var(--bg-tertiary)}.qp-reorder-btn:disabled{opacity:.3;cursor:default}.qp-col-type{flex:0 0 4.5rem;display:flex;align-items:center}.qp-col-appearance{flex:0 0 11rem;font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.qp-selected-item .qp-item-text{flex:1;min-width:0}.qp-id-fallback{font-size:var(--font-xs);color:var(--text-tertiary);font-family:monospace}.qp-remove{background:none;border:none;color:var(--text-tertiary);font-size:var(--font-md);cursor:pointer;padding:2px 6px;border-radius:var(--radius-sm);flex-shrink:0}.qp-remove:hover{background:var(--color-error-bg);color:var(--color-error)}.qp-empty{color:var(--text-tertiary);font-size:var(--font-sm);text-align:center;padding:var(--spacing-xl);font-style:italic}.qp-total-hint{font-size:var(--font-xs);color:var(--text-tertiary);font-weight:400}.qp-refresh-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;white-space:nowrap}.qp-refresh-btn:hover{opacity:.9}.qp-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.qp-btn-remove{background:var(--color-error-bg, #fee2e2);border-color:var(--color-error, #dc2626);color:var(--color-error, #dc2626)}.qp-btn-remove:hover{opacity:.85}.qp-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100}.qp-modal{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:640px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.qp-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color)}.qp-modal-header h3{margin:0;font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary)}.qp-modal-close{background:none;border:none;font-size:var(--font-xl);color:var(--text-tertiary);cursor:pointer;padding:0;line-height:1}.qp-modal-close:hover{color:var(--text-primary)}.qp-modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.qp-preview-text{font-size:var(--font-md);color:var(--text-primary);line-height:1.6;margin-bottom:var(--spacing-md)}.qp-preview-image{max-width:100%;border-radius:var(--radius-md);margin:var(--spacing-sm) 0}.qp-preview-options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.qp-preview-option{display:flex;align-items:baseline;gap:var(--spacing-sm);font-size:var(--font-sm);color:var(--text-primary)}.qp-option-label{font-weight:var(--font-semibold);color:var(--text-secondary);min-width:20px}.qp-option-image{max-width:200px;border-radius:var(--radius-sm);margin-left:var(--spacing-sm)}.qp-preview-answer{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-primary)}.qp-preview-solution{margin-top:var(--spacing-md);font-size:var(--font-sm);color:var(--text-primary)}.qp-modal-footer{padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.bulk-edit-content{display:flex;flex-direction:column;gap:16px;padding:4px 0}.bulk-edit-field{display:flex;flex-direction:column;gap:8px}.bulk-edit-field-header{display:flex;align-items:center;justify-content:space-between}.bulk-edit-field-header label{font-size:13px;font-weight:600;color:var(--text-primary)}.bulk-edit-mode-label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.bulk-edit-mode-toggle{display:inline-flex;border-radius:4px;overflow:hidden;border:1px solid var(--border-color, #ddd);font-size:11px}.bulk-edit-mode-toggle button{padding:2px 10px;border:none;background:transparent;cursor:pointer;color:var(--text-secondary);transition:background .15s,color .15s}.bulk-edit-mode-toggle button.active{background:var(--color-primary, #3b82f6);color:#fff}.bulk-edit-mode-toggle button:not(.active):hover{background:var(--bg-tertiary)}.bulk-edit-chips{display:flex;flex-wrap:wrap;gap:6px}.bulk-edit-chip{padding:4px 12px;border-radius:14px;border:1px solid var(--border-color, #ddd);background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .15s}.bulk-edit-chip:hover{border-color:var(--color-primary, #3b82f6)}.bulk-edit-chip.active{background:var(--color-primary, #3b82f6);color:#fff;border-color:var(--color-primary, #3b82f6)}.bulk-edit-chip.tag.active{background:#7c3aed;border-color:#7c3aed}.bulk-edit-select{width:100%;padding:6px 8px;font-size:13px;border:1px solid var(--border-color, #d1d5db);border-radius:6px;background:var(--bg-primary, #fff);color:var(--text-primary, #111)}.bulk-edit-new-tag{display:flex;gap:6px;margin-top:2px}.bulk-edit-new-tag input{flex:1;padding:4px 8px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:12px;background:var(--bg-primary);color:var(--text-primary)}.bulk-edit-new-tag input:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.bulk-edit-new-tag button{padding:4px 12px;border:none;border-radius:4px;background:var(--color-primary, #3b82f6);color:#fff;font-size:12px;cursor:pointer}.bulk-edit-new-tag button:disabled{opacity:.4;cursor:not-allowed}.bulk-edit-teacher-tag{display:flex;gap:8px}.bulk-edit-teacher-select,.bulk-edit-teacher-tag-input{flex:1;padding:6px 8px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:12px;background:var(--bg-primary);color:var(--text-primary)}.bulk-edit-teacher-tag-input:focus,.bulk-edit-teacher-select:focus{outline:none;border-color:var(--color-primary, #3b82f6)}.bulk-edit-result{padding:8px 12px;border-radius:6px;font-size:12px}.bulk-edit-result.success{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.bulk-edit-result.error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.bulk-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:8px;border-top:1px solid var(--border-color, #eee)}.bulk-edit-cancel{padding:6px 16px;border:1px solid var(--border-color, #ddd);border-radius:6px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer}.bulk-edit-cancel:hover{background:var(--bg-tertiary)}.bulk-edit-apply{padding:6px 16px;border:none;border-radius:6px;background:var(--color-primary, #3b82f6);color:#fff;font-size:13px;cursor:pointer}.bulk-edit-apply:disabled{opacity:.5;cursor:not-allowed}.bulk-edit-apply:not(:disabled):hover{filter:brightness(1.1)}.export-dialog-option{padding:10px 16px;border-radius:6px;border:1px solid var(--border-color-dark);background:var(--bg-tertiary);cursor:pointer;font-size:13px;text-align:left;color:var(--text-primary)}.export-dialog-option:hover{border-color:var(--accent-primary)}.question-line{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);min-width:0}.question-line.clickable{cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.question-line.clickable:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.ql-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ql-leading{flex-shrink:0;display:inline-flex;align-items:center}.ql-pills{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.ql-pill{display:inline-block;padding:1px 7px;font-size:11px;font-weight:var(--font-medium);border-radius:var(--radius-full);white-space:nowrap;text-transform:capitalize}.ql-diff-easy{background-color:var(--color-success-bg);color:var(--difficulty-easy)}.ql-diff-medium{background-color:var(--color-warning-bg);color:var(--difficulty-medium)}.ql-diff-hard{background-color:var(--color-error-bg);color:var(--difficulty-hard)}.ql-type{background-color:var(--bg-hover);color:var(--text-secondary)}.ql-module{background-color:var(--bg-tertiary);color:var(--text-secondary)}.ql-exam{background-color:var(--color-primary-bg, #dbeafe);color:var(--color-primary, #2563eb)}.ql-tag{background-color:var(--color-warning-bg, #fef3c7);color:var(--color-warning, #d97706)}.ql-text{overflow:hidden;font-size:var(--font-sm);color:var(--text-primary);max-height:1.6em}@media(max-width:640px){.ql-text{max-height:3.2em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.question-line{padding:var(--spacing-xs) var(--spacing-sm)}.ql-hover-action{display:none}}.ql-separator{color:var(--text-tertiary);font-size:11px;opacity:.5;-webkit-user-select:none;user-select:none}.ql-hover-action{flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.question-line:hover .ql-hover-action,.ql-hover-action:focus-within{opacity:1}.ql-arrow{flex-shrink:0;color:var(--text-tertiary)}.question-line.clickable:hover .ql-arrow{color:var(--color-primary)}.bookmarks-page{padding:var(--spacing-lg) var(--spacing-md)}.bookmarks-title{font-size:var(--font-xl);font-weight:var(--font-bold);color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.bookmarks-item-tabs{display:flex;gap:4px;margin-bottom:var(--spacing-md);border-bottom:2px solid var(--border-color)}.bookmarks-item-tab{padding:10px 20px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-tertiary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.bookmarks-item-tab:hover{color:var(--text-primary)}.bookmarks-item-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.bookmarks-tab-count{font-size:11px;background:var(--bg-tertiary);padding:1px 6px;border-radius:10px;color:var(--text-secondary)}.bookmarks-item-tab.active .bookmarks-tab-count{background:var(--color-primary-light);color:var(--color-primary)}.bookmarks-tab-empty{padding:var(--spacing-xl);text-align:center;color:var(--text-tertiary);font-size:var(--font-sm)}.bookmarks-tags{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.bookmarks-tag-pill{padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast);text-transform:capitalize}.bookmarks-tag-pill:hover{border-color:#7c3aed;color:#7c3aed}.bookmarks-tag-pill.active{background:#7c3aed;color:#fff;border-color:#7c3aed}.bookmarks-subjects{display:flex;flex-direction:column;gap:var(--spacing-lg)}.bookmarks-subject-title{font-size:var(--font-md);font-weight:var(--font-semibold);color:var(--text-primary);text-transform:capitalize;margin:0 0 var(--spacing-sm) 0;display:flex;align-items:center;gap:var(--spacing-xs)}.bookmarks-subject-count{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-tertiary);background:var(--bg-tertiary);padding:1px 8px;border-radius:var(--radius-full)}.bookmarks-question-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.bookmarks-loading{display:flex;justify-content:center;padding:var(--spacing-xl) 0}.bookmarks-empty{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl) 0;color:var(--text-tertiary)}.bookmarks-empty svg{opacity:.4}.bookmarks-empty p{margin:0;font-size:var(--font-md)}.bookmarks-empty-hint{font-size:var(--font-sm)!important;opacity:.7}.bookmarks-submissions-section{margin-top:var(--spacing-xl)}.bookmarks-section-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--text-primary);margin:0 0 var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.bookmarks-submission-list{display:flex;flex-direction:column;gap:4px}.bookmarks-submission-item{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md);font-size:var(--font-sm)}.bookmarks-submission-item.clickable{cursor:pointer;transition:background .15s}.bookmarks-submission-item.clickable:hover{background:var(--bg-tertiary)}.bookmarks-submission-id{font-family:monospace;color:var(--text-secondary)}.bookmarks-sub-question{font-size:var(--font-sm);color:var(--text-primary)}.bookmarks-datetime{font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap}.bookmarks-input-badge{font-size:var(--font-xs);padding:2px 6px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-secondary)}@media(max-width:640px){.bookmarks-page{padding:var(--spacing-md) var(--spacing-sm)}.bookmarks-item-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none}.bookmarks-item-tabs::-webkit-scrollbar{display:none}.bookmarks-item-tab{padding:10px 14px;flex-shrink:0}.bookmarks-submission-item{flex-wrap:wrap;gap:var(--spacing-xs)}}.bookmarks-tag-pill--system{border-style:dashed;border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--bg-secondary))}.bookmarks-tag-pill--system:hover{border-color:var(--color-accent);color:var(--color-accent)}.bookmarks-tag-pill--system.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--text-inverse)}.bookmarks-tag-badge{display:inline-block;margin-right:6px;padding:0 5px;border-radius:var(--radius-sm, 4px);background:var(--color-accent);color:var(--text-inverse);font-size:.7em;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}.bookmarks-tag-pill--system.active .bookmarks-tag-badge{background:var(--bg-primary);color:var(--color-accent)}.tl-title{font-weight:var(--font-medium)}.tl-desc{font-size:var(--font-xs);color:var(--text-tertiary);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-badge-pyp{display:inline-block;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-medium);background:var(--color-primary-bg, #e8f0fe);color:var(--color-primary);white-space:nowrap}.tl-muted{color:var(--text-tertiary)}.tl-score{font-weight:var(--font-medium);color:var(--color-success)}.tl-attempts{display:inline-flex;align-items:baseline;gap:var(--spacing-xs)}.tl-attempts-count{font-weight:var(--font-medium)}.tl-attempts-date{font-size:var(--font-xs);color:var(--text-tertiary)}.tl-action-btn{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);border:none;cursor:pointer;white-space:nowrap}.tl-action-start{background:var(--color-primary);color:var(--text-inverse, white)}.tl-action-resume{background:var(--color-warning-bg);color:var(--color-warning)}.tl-action-btn:disabled{opacity:.6;cursor:not-allowed}.tl-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:1px solid var(--border-color)}.tl-tab{padding:10px 20px;border:none;background:none;font-size:var(--font-sm, 14px);font-weight:var(--font-medium, 500);color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tl-tab:hover{color:var(--text-secondary)}.tl-tab.active{color:var(--color-accent, var(--color-primary));border-bottom-color:var(--color-accent, var(--color-primary))}.paper-page{max-width:900px;margin:0 auto;padding:var(--spacing-lg)}.paper-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-lg)}.paper-loading{display:flex;justify-content:center;padding:var(--spacing-2xl)}.paper-error{color:var(--color-error);padding:var(--spacing-lg) 0}.paper-sheet{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-2xl)}.paper-head{text-align:center;border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.paper-head h1{margin:0;font-size:var(--font-xl)}.paper-sub{margin-top:var(--spacing-xs);color:var(--text-secondary)}.paper-meta{margin-top:var(--spacing-xs);color:var(--text-tertiary);font-size:var(--font-sm)}.paper-section{margin-bottom:var(--spacing-xl)}.paper-section-title{font-size:var(--font-md);margin:var(--spacing-lg) 0 var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.paper-section-note{font-weight:var(--font-normal);color:var(--text-secondary);font-size:var(--font-sm)}.paper-q{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);break-inside:avoid}.paper-q-num{flex:0 0 1.75rem;font-weight:var(--font-semibold);text-align:right}.paper-q-body{flex:1 1 auto;min-width:0}.paper-q-marks{flex:0 0 auto;align-self:flex-start;font-weight:var(--font-semibold);white-space:nowrap;color:var(--text-secondary)}.paper-q-missing{color:var(--text-tertiary);font-style:italic}.paper-q-note{margin-top:2px;font-size:var(--font-sm);font-style:italic;color:var(--text-secondary)}.paper-q-diagram{margin-top:var(--spacing-sm);max-width:360px}.paper-q-options{margin-top:var(--spacing-sm);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-xs) var(--spacing-lg)}.paper-q-option{display:flex;gap:var(--spacing-xs)}.paper-q-option-label{font-weight:var(--font-medium)}.paper-q-option-image{display:block;margin-top:4px;max-width:200px}@media print{body:has(.paper-page) #root *{visibility:hidden}body:has(.paper-page) .paper-sheet,body:has(.paper-page) .paper-sheet *{visibility:visible}body:has(.paper-page) .paper-sheet{position:absolute;left:0;top:0;width:100%;border:none;border-radius:0;padding:0;background:#fff;color:#000}}.admin-tests-page{padding:var(--spacing-lg);max-width:1200px}.admin-tests-page h1{margin:0 0 var(--spacing-lg);font-size:var(--font-xl);font-weight:var(--font-bold)}.test-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.test-header h1{margin:0}.test-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:0 0 var(--spacing-md);font-size:var(--font-sm)}.test-filters{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap}.test-filters select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary)}.test-count{font-size:var(--font-sm);color:var(--text-tertiary);margin-left:auto}.test-extra-filters{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.test-extra-filters select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary)}.test-action-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm)}.test-action-bar span{font-weight:var(--font-medium);margin-right:var(--spacing-sm)}.btn-danger{background:var(--status-error-text, #dc2626);color:#fff;border:none;padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-sm);cursor:pointer}.btn-danger:hover{opacity:.9}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.test-empty{color:var(--text-tertiary);text-align:center;padding:var(--spacing-2xl)}.test-title{font-weight:var(--font-medium)}.test-desc-preview{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:2px}.test-muted{color:var(--text-tertiary)}.test-badge{font-size:11px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm)}.test-badge-pyp{background:#fef3c7;color:#d97706}.test-status{font-size:11px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.test-status-draft{background:#f3f4f6;color:var(--text-tertiary)}.test-status-published{background:#d1fae5;color:#047857}.test-date{color:var(--text-tertiary);font-size:var(--font-sm)}.test-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.test-form-field{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.test-form-field label{font-weight:var(--font-medium);font-size:var(--font-sm);color:var(--text-primary)}.test-form-field input[type=text],.test-form-field input[type=number],.test-form-field input[type=date],.test-form-field select,.test-form-field textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.test-form-field textarea{resize:vertical;min-height:60px}.test-form-row{display:flex;gap:var(--spacing-md);align-items:flex-end;flex-wrap:wrap}.test-form-pyp-toggle{flex-direction:row;align-items:center;gap:var(--spacing-sm)}.test-form-pyp{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.test-form-pyp legend{padding:0 var(--spacing-sm);font-weight:var(--font-medium);font-size:var(--font-sm);color:var(--text-secondary)}.test-hint{color:var(--text-tertiary);font-weight:400;font-size:var(--font-xs)}.test-checkbox-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap}.test-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-sm)}.test-form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.test-form-actions-spacer{flex:1}.export-dialog-options{display:flex;flex-direction:column;gap:8px}.export-dialog-option{padding:10px 16px;border-radius:6px;border:1px solid var(--border-color-dark, var(--border-color));background:var(--bg-tertiary, var(--bg-secondary));cursor:pointer;font-size:13px;text-align:left}.export-dialog-option:hover{border-color:var(--accent-primary, #3b82f6)}.export-dialog-option .subtitle{font-size:11px;opacity:.7;margin-top:2px}.test-export-progress,.test-export-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);border-radius:var(--radius-md);padding:10px 16px;font-size:13px;box-shadow:0 8px 24px #00000026;z-index:1000}.test-export-progress{background:var(--bg-secondary, #fff);border:1px solid var(--border-color)}.test-export-toast{cursor:pointer}.test-export-toast-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.test-export-toast-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.test-export-warnings{display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow:auto}.test-export-warning{font-size:12px;font-family:monospace;color:var(--text-secondary);padding:4px 0;border-bottom:1px solid var(--border-color);word-break:break-all}.test-header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.test-import-hint{font-size:13px;color:var(--text-secondary);margin:0 0 12px;line-height:1.5}.test-import-drop{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;border:1px dashed var(--border-color-dark, var(--border-color));border-radius:var(--radius-md);cursor:pointer;font-size:13px;color:var(--text-secondary)}.test-import-drop input[type=file]{font-size:12px}.test-import-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px}.test-import-file{font-size:12px;color:var(--text-tertiary);margin-left:auto}.ti-chip{font-size:12px;padding:2px 8px;border-radius:999px;background:var(--bg-tertiary, var(--bg-secondary));border:1px solid var(--border-color)}.ti-chip.ti-create{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.ti-chip.ti-update{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.ti-chip.ti-unchanged{background:var(--bg-tertiary, #f3f4f6);color:var(--text-secondary)}.ti-chip.ti-error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.test-import-bucket{margin-bottom:10px}.test-import-bucket-title{background:none;border:none;padding:4px 0;font-size:13px;font-weight:600;color:var(--text-primary);cursor:pointer}.test-import-row{display:flex;flex-direction:column;gap:2px;padding:6px 10px;border-left:3px solid var(--border-color);margin:4px 0 4px 12px;font-size:13px}.test-import-row-error{border-left-color:#dc2626}.test-import-row-update{border-left-color:#3b82f6}.test-import-row-create{border-left-color:#10b981}.test-import-row-unchanged{border-left-color:var(--border-color);opacity:.7}.ti-label{font-weight:500}.ti-changed{font-size:12px;color:var(--text-secondary)}.ti-reason{font-size:12px;color:#991b1b}.test-import-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:16px;padding-top:12px;border-top:1px solid var(--border-color)}.test-sections-toggle{display:inline-flex;align-items:center;gap:var(--spacing-xs);cursor:pointer}.test-sections-editor{margin-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.test-section-row{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary)}.test-section-tag{font-weight:var(--font-semibold);color:var(--text-secondary);min-width:1.2rem}.test-section-row input[type=text],.test-section-row input[type=number],.test-section-title{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;padding:4px 6px}.test-section-title{flex:1 1 0;min-width:0}.test-section-num{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;flex:1 1 0;min-width:0}.test-section-num input{flex:1 1 0;min-width:0}.test-section-of{color:var(--text-tertiary)}.test-section-range{font-size:var(--font-xs);color:var(--text-tertiary);white-space:nowrap}.test-section-remove{margin-left:auto;background:transparent;border:none;color:var(--text-secondary);font-size:var(--font-lg);cursor:pointer}.test-section-add{align-self:flex-start}.test-section-errors{margin:0;padding-left:1.1rem;color:var(--color-error);font-size:var(--font-sm)}.test-marking-select{min-width:12rem;max-width:16rem}.test-section-num .test-marking-select{flex:1 1 0;width:100%;min-width:0;max-width:none}.test-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.test-detail-heading{display:flex;align-items:center;gap:var(--spacing-md)}.test-detail-heading h1{margin:0}.test-detail-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.test-detail-desc{color:var(--text-secondary);margin:var(--spacing-sm) 0 0}.test-detail-fields{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg);max-width:640px}.test-detail-row{display:flex;gap:var(--spacing-md);align-items:baseline}.test-detail-label{flex:0 0 9rem;color:var(--text-tertiary);font-size:var(--font-sm)}.test-detail-value{flex:1 1 auto;color:var(--text-primary);word-break:break-word}.test-detail-meta{margin-top:var(--spacing-lg);color:var(--text-tertiary);font-size:var(--font-sm)}.test-detail-section{margin-top:var(--spacing-2xl)}.test-detail-section h2{font-size:var(--font-md);margin:0 0 var(--spacing-md)}.test-detail-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.test-detail-section-head h2{margin:0}.test-detail-paper-link{background:none;border:none;padding:0;cursor:pointer;color:var(--color-primary);font-size:var(--font-sm);white-space:nowrap}.test-detail-paper-link:hover{text-decoration:underline}.test-detail-qloading{display:flex;justify-content:center;padding:var(--spacing-lg)}.test-detail-qgroup+.test-detail-qgroup{margin-top:var(--spacing-md)}.test-detail-qsection{font-size:var(--font-sm);color:var(--text-secondary);margin:var(--spacing-md) 0 var(--spacing-xs);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--border-color)}.test-detail-qsection-note{font-weight:var(--font-normal);color:var(--text-tertiary)}.test-detail-qrow{display:flex;gap:var(--spacing-sm);align-items:baseline;padding:var(--spacing-xs) 0;border-bottom:1px solid var(--border-color)}.test-detail-qnum{flex:0 0 1.75rem;text-align:right;color:var(--text-tertiary);font-size:var(--font-sm)}.test-detail-qtext{flex:1 1 auto;min-width:0}.test-detail-qmissing{color:var(--text-tertiary);font-style:italic}.test-detail-qtype{flex:0 0 auto;font-size:var(--font-xs);color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-full);padding:1px 8px}.test-detail-qmarks{flex:0 0 auto;font-size:var(--font-xs);font-weight:var(--font-semibold);color:var(--text-secondary);white-space:nowrap}.test-detail-qrow-draft{background:var(--color-warning-bg, rgba(234, 179, 8, .08))}.test-detail-qdraft{flex:0 0 auto;font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-warning, #b45309);background:var(--color-warning-bg, rgba(234, 179, 8, .15));border-radius:var(--radius-full);padding:1px 8px}.test-collapse-toggle{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:0;cursor:pointer;font-size:inherit;font-weight:600;color:var(--text-primary);text-align:left}.test-collapse-toggle .test-hint{font-weight:400}.modules-page{padding:24px}.header-left{display:flex;align-items:baseline;gap:16px}.page-header h1{margin:0;font-size:28px;font-weight:600}.total-count{color:var(--text-tertiary);font-size:14px}.btn-primary{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#1d4ed8}.filters-row{display:flex;gap:24px;margin-bottom:24px;padding:16px;background:var(--bg-primary);border-radius:8px;box-shadow:var(--shadow-sm)}.filter-group{display:flex;align-items:center;gap:8px}.filter-group label{font-size:14px;font-weight:500;color:var(--text-secondary)}.filter-group select{padding:8px 12px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:14px;background:var(--bg-primary);min-width:150px}.subject-section{margin-bottom:32px}.subject-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 16px;padding-left:12px;border-left:4px solid}.subject-count{font-size:14px;font-weight:400;color:var(--text-tertiary)}.modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.module-card{background:var(--bg-primary);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow-sm);border:1px solid var(--border-color);transition:box-shadow .2s}.module-card:hover{box-shadow:0 4px 12px #0000001a}.module-card.clickable{cursor:pointer}.module-card.clickable:hover{border-color:var(--color-info)}.module-card.inactive{opacity:.6;background:var(--bg-secondary)}.module-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.module-readable-id{font-family:monospace;font-size:12px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 8px;border-radius:4px}.module-question-count{font-size:12px;font-weight:500;color:#4f46e5;background:#eef2ff;padding:3px 10px;border-radius:12px}.inactive-badge{font-size:11px;font-weight:500;color:#dc2626;background:#fee2e2;padding:2px 8px;border-radius:4px}.top-module-badge{font-size:11px;font-weight:500;color:#059669;background:#d1fae5;padding:2px 8px;border-radius:4px}.module-parent{font-size:12px;color:var(--text-tertiary);margin:0 0 8px;font-style:italic}.module-name{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 6px}.module-description{font-size:13px;color:var(--text-tertiary);margin:0 0 10px;line-height:1.4}.module-grades{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:12px}.children-count{font-size:11px;font-weight:500;color:#6366f1;background:#eef2ff;padding:2px 8px;border-radius:4px}.grade-badge{font-size:12px;font-weight:500;color:#4f46e5;background:#eef2ff;padding:4px 10px;border-radius:12px}.hierarchy-section{display:flex;flex-direction:column;gap:24px;margin-bottom:24px}.module-hierarchy{display:flex;flex-direction:column;gap:0}.top-level-card{border-left:4px solid #059669;border-radius:12px 12px 0 0}.top-level-card .module-name{font-size:20px}.top-level-card:only-child,.module-hierarchy:not(:has(.child-modules)) .top-level-card{border-radius:12px}.child-modules{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,260px));gap:8px;margin-left:32px;margin-top:10px;border-left:2px solid var(--border-color);padding-left:12px}.child-card{border-radius:8px;background:var(--bg-secondary);padding:10px 12px}.child-card .module-name{font-size:13px}.child-card .module-description{font-size:12px;margin-bottom:6px}.child-card .module-grades{margin-bottom:12px}.child-card .grade-badge{font-size:11px;padding:2px 8px}.standalone-title{font-size:14px;font-weight:600;color:var(--text-tertiary);margin:24px 0 12px;text-transform:uppercase;letter-spacing:.5px}.module-actions{display:flex;gap:6px}.btn-collapse{padding:3px 8px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color-dark);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s;line-height:1}.btn-collapse:hover{background:var(--border-color)}.btn-edit{flex:1;padding:6px 12px;background:#eff6ff;color:var(--color-accent);border:1px solid #bfdbfe;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.btn-edit:hover{background:#dbeafe}.btn-delete{padding:6px 12px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:background .2s}.btn-delete:hover{background:#fee2e2}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.no-modules{text-align:center;padding:48px;background:var(--bg-primary);border-radius:12px;color:var(--text-tertiary)}.save-status{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;margin-bottom:16px;border-radius:8px;font-size:14px}.save-status.success{background:#ecfdf5;border:1px solid #a7f3d0;color:#059669}.save-status.error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.status-dismiss{background:transparent;border:none;font-size:18px;cursor:pointer;color:inherit;padding:0 4px;line-height:1;opacity:.7}.status-dismiss:hover{opacity:1}.modal-content{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-height:90vh;display:flex;flex-direction:column}.modal-content.module-modal{width:90%;max-width:600px}.modal-header h2{margin:0;font-size:20px;color:var(--text-primary)}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-footer{display:flex;align-items:center;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.footer-spacer{flex:1}.form-group{margin-bottom:20px}.form-group>label:not(.checkbox-label){display:block;font-weight:500;color:var(--text-secondary);margin-bottom:8px}.form-row{display:flex;gap:24px}.form-group.half{flex:1}.form-input{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary)}.form-textarea{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;resize:vertical;box-sizing:border-box;font-family:inherit;line-height:1.5;background:var(--bg-primary);color:var(--text-primary)}.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer}.form-help{font-size:12px;color:var(--text-tertiary);margin:4px 0 0}.checkbox-group{display:flex;flex-wrap:wrap;gap:16px}.checkbox-wrapper{display:flex;align-items:center;gap:8px;padding:10px 0}.checkbox-wrapper input[type=checkbox]{width:18px;height:18px;cursor:pointer;margin:0}.checkbox-wrapper label{font-size:14px;font-weight:400;color:var(--text-secondary);cursor:pointer;margin:0}.checkbox-label,.form-group .checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;color:var(--text-secondary);cursor:pointer;margin-bottom:0}.checkbox-label input,.form-group .checkbox-label input{width:18px;height:18px;cursor:pointer;flex-shrink:0}.btn-cancel{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-cancel:hover{background:var(--border-color)}.btn-save{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-save:hover{background:#1d4ed8}.btn-save:disabled{background:#9ca3af;cursor:not-allowed}.loading{display:flex;justify-content:center;align-items:center;height:200px;color:var(--text-tertiary);font-size:16px}.error{display:flex;justify-content:center;align-items:center;height:200px;color:#dc2626;font-size:16px}.instructions-editor{display:flex;flex-direction:column;gap:10px;margin-top:8px}.instruction-row{display:flex;gap:8px;align-items:flex-start}.instruction-key{width:140px!important;flex-shrink:0;font-family:monospace;font-size:13px!important}.instruction-value{flex:1;font-size:13px!important;min-height:40px}.btn-remove-instruction{background:none;border:1px solid var(--border-color-dark);border-radius:6px;color:#dc2626;font-size:18px;cursor:pointer;padding:4px 8px;line-height:1;flex-shrink:0;margin-top:2px;transition:background .2s}.btn-remove-instruction:hover{background:#fef2f2}.btn-add-instruction{align-self:flex-start;padding:6px 14px;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-add-instruction:hover{background:#dcfce7}.module-import-modal{width:90%;max-width:1200px}.import-file-picker{display:flex;align-items:center;gap:12px;margin-bottom:16px}.import-file-name{font-size:14px;color:var(--text-secondary);font-family:monospace}.import-parse-error{color:#dc2626;font-size:13px;margin-bottom:12px}.import-error-banner{background:var(--status-error-bg, #fef2f2);border:1px solid var(--status-error-border, #fecaca);color:var(--status-error-text, #dc2626);padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:16px}.import-summary h3,.import-dryrun h3,.import-results h3{margin:0 0 12px;font-size:16px;color:var(--text-primary)}.import-summary-grid{display:flex;gap:12px;margin-bottom:12px}.import-stat{display:flex;flex-direction:column;align-items:center;padding:12px 20px;border-radius:8px;background:var(--bg-secondary);border:1px solid var(--border-color);min-width:80px}.import-stat-value{font-size:24px;font-weight:600;color:var(--text-primary)}.import-stat-label{font-size:12px;color:var(--text-tertiary);margin-top:2px}.import-stat--created{border-color:var(--status-success-border, #86efac);background:var(--status-success-bg, #f0fdf4)}.import-stat--created .import-stat-value{color:var(--status-success-text, #16a34a)}.import-stat--updated{border-color:var(--status-info-border, #93c5fd);background:var(--status-info-bg, #eff6ff)}.import-stat--updated .import-stat-value{color:var(--status-info-text, #2563eb)}.import-stat--unchanged{border-color:var(--border-color)}.import-stat--unchanged .import-stat-value{color:var(--text-tertiary)}.import-stat--error{border-color:var(--status-error-border, #fecaca);background:var(--status-error-bg, #fef2f2)}.import-stat--error .import-stat-value{color:var(--status-error-text, #dc2626)}.import-stat--active{outline:2px solid var(--color-primary, #3b82f6);outline-offset:-2px}.import-subjects{font-size:13px;color:var(--text-secondary);margin:4px 0 0}.import-running{display:flex;flex-direction:column;align-items:center;padding:40px;gap:16px;color:var(--text-secondary)}.import-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.import-details{margin-top:16px;max-height:400px;overflow-y:auto}.import-module-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:8px 10px;border-radius:6px;margin-bottom:4px;font-size:13px}.import-module-row--created{background:var(--status-success-bg, #f0fdf4)}.import-module-row--updated{background:var(--status-info-bg, #eff6ff)}.import-module-row--unchanged{background:var(--bg-secondary)}.import-module-row--error{background:var(--status-error-bg, #fef2f2)}.import-module-status{font-weight:700;font-family:monospace;width:16px;text-align:center}.import-module-row--created .import-module-status{color:var(--status-success-text, #16a34a)}.import-module-row--updated .import-module-status{color:var(--status-info-text, #2563eb)}.import-module-row--error .import-module-status{color:var(--status-error-text, #dc2626)}.import-module-rid{font-family:monospace;color:var(--text-tertiary);font-size:12px}.import-module-name{font-weight:500;color:var(--text-primary)}.import-module-error{color:#dc2626;font-size:12px;width:100%;padding-left:24px}.import-module-changes{width:100%;padding-left:24px;display:flex;flex-direction:column;gap:2px}.import-change{display:flex;align-items:baseline;gap:6px;font-size:12px}.import-change-field{font-weight:500;color:var(--text-secondary);min-width:80px}.import-change-from{color:var(--status-error-text, #dc2626);text-decoration:line-through}.import-change-arrow{color:var(--text-tertiary)}.import-change-to{color:var(--status-success-text, #16a34a);font-weight:500}.import-unchanged-details{margin-top:8px}.import-unchanged-details summary{font-size:13px;color:var(--text-tertiary);cursor:pointer;padding:6px 0}.btn-secondary{padding:10px 20px;background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:var(--bg-secondary)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.instructions-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s;background:var(--bg-tertiary, #f3f4f6);color:var(--text-tertiary, #9ca3af);border:1px solid var(--border-color, #e5e7eb)}.instructions-pill:hover{background:var(--color-primary-light, #eff6ff);color:var(--color-primary, #3b82f6);border-color:var(--color-primary, #3b82f6)}.instructions-pill.has-instructions{background:#dbeafe;color:#1d4ed8;border-color:#93c5fd}.instructions-pill.has-instructions:hover{background:#bfdbfe}.instructions-modal{max-width:700px;width:90vw;max-height:85vh}.instructions-modal .modal-body{overflow-y:auto;max-height:calc(85vh - 130px)}.instructions-modal .instruction-row{margin-bottom:16px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:12px;background:var(--bg-secondary, #f9fafb)}.instructions-modal .instruction-row-header{display:flex;gap:8px;align-items:center;margin-bottom:8px}.instructions-modal .instruction-key{flex:1;font-family:monospace;font-size:13px}.instructions-modal .form-textarea{width:100%;min-height:100px;font-size:13px;line-height:1.5;resize:vertical}.curr-chapter-row td{background:#ffffff0a}.curr-chapter-row td:nth-child(1),.curr-chapter-row td:nth-child(2){font-weight:600}.copy-pipeline-dialog{display:flex;flex-direction:column;gap:12px;font-size:13px;color:var(--text-primary)}.copy-pipeline-source{margin:0;color:var(--text-secondary);font-size:12px}.copy-pipeline-source code{background:var(--bg-tertiary);padding:1px 6px;border-radius:3px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px}.copy-pipeline-field{display:flex;flex-direction:column;gap:4px}.copy-pipeline-field span{font-size:12px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.copy-pipeline-field input{box-sizing:border-box;height:34px;padding:6px 10px;border:1px solid var(--border-color-dark, var(--border-color));background:var(--bg-primary);color:var(--text-primary);border-radius:4px;font-size:13px;font-family:inherit}.copy-pipeline-field input:focus{outline:none;border-color:var(--color-primary, #2563eb)}.copy-pipeline-hint{margin:0;font-size:12px;color:var(--text-tertiary);line-height:1.5}.copy-pipeline-hint code{background:var(--bg-tertiary);padding:1px 4px;border-radius:3px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.copy-pipeline-error{margin:0;padding:6px 10px;background:#dc35451a;border-left:3px solid #dc3545;color:#fca5a5;font-size:12px;border-radius:4px}.copy-pipeline-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.cfg-hist{display:flex;flex-direction:column;gap:14px}.cfg-hist-empty{color:var(--text-tertiary)}.cfg-hist-table{width:100%;font-size:13px}.cfg-hist-table th{padding:6px 8px;text-align:left}.cfg-hist-table td{padding:6px 8px;vertical-align:middle}.cfg-hist-active{background:var(--bg-tertiary)}.cfg-hist-when{white-space:nowrap;color:var(--text-secondary)}.cfg-hist-fp{font-size:11px;color:var(--text-tertiary)}.cfg-hist-actions{display:flex;gap:6px;justify-content:flex-end}.cfg-hist-err{color:#b91c1c}.cfg-hist-action{font-size:11px;padding:1px 8px;border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary)}.cfg-hist-create{background:#dcfce7;color:#166534}.cfg-hist-restore{background:#ede9fe;color:#6d28d9}.cfg-hist-delete{background:#fee2e2;color:#b91c1c}.cfg-hist-detail{border-top:1px solid var(--border-color);padding-top:12px}.cfg-hist-op{font-size:13px;margin-bottom:4px}.cfg-hist-muted{color:var(--text-tertiary)}.cfg-hist-raw{margin-top:10px}.cfg-hist-raw summary{cursor:pointer;font-size:13px;color:var(--color-primary)}.cfg-hist-raw pre{margin-top:8px;font-family:var(--font-mono, monospace);font-size:11px;line-height:1.5;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px;max-height:360px;overflow:auto;white-space:pre-wrap;word-break:break-word}.pipeline-operation-section{background:var(--bg-tertiary);border-radius:8px;margin-bottom:16px;border:1px solid var(--border-color);overflow:hidden}.pipeline-operation-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .15s}.pipeline-operation-header:hover{background:var(--bg-secondary)}.pipeline-operation-header h3{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.collapse-icon{font-size:12px;color:var(--text-tertiary)}.pipeline-operation-content{padding:0 16px 16px}.pipeline-types-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.pipeline-type-list{display:flex;flex-direction:column;gap:12px}.pipeline-type-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;padding:14px;transition:all .2s}.pipeline-type-card.enabled{border-color:var(--color-primary)}.pipeline-type-card.primary{background:var(--selected-bg)}.pipeline-type-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.pipeline-type-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.pipeline-type-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.pipeline-type-name{font-size:14px;font-weight:600;color:var(--text-primary)}.pipeline-primary-toggle{display:flex;align-items:center;gap:4px;cursor:pointer}.pipeline-primary-toggle input[type=radio]{width:14px;height:14px;cursor:pointer}.primary-label{font-size:12px;color:var(--text-tertiary);font-weight:500}.pipeline-steps{margin-top:12px;display:flex;flex-direction:column;gap:12px}.pipeline-step{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px}.pipeline-step-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.step-params-row{display:flex;gap:12px;margin-bottom:10px;padding:6px 0}.step-param{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.step-param-input{width:80px;min-height:32px;padding:6px 8px;border:1px solid var(--border-color-dark);border-radius:4px;font-size:12px;background:var(--bg-primary);color:var(--text-primary);text-align:right;font-family:inherit;box-sizing:border-box}.step-param-input:focus{outline:none;border-color:var(--accent-primary)}.row-edit-select{min-height:32px;width:100%;min-width:140px;padding:6px 8px;border:1px solid var(--border-color-dark);border-radius:4px;font-size:12px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit;cursor:pointer;appearance:auto}.row-edit-select:focus{outline:none;border-color:var(--accent-primary)}.step-badge{display:inline-block;padding:2px 8px;background:var(--selected-bg, #e8f4ff);color:var(--color-primary, #1a73e8);font-size:11px;font-weight:600;border-radius:10px}.step-type-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.version-tag{font-size:11px;color:var(--text-tertiary)}.question-types-cell,.target-exams-cell{font-size:12px;color:var(--text-secondary)}.no-runs-message{font-size:12px;color:var(--text-tertiary);text-align:center;padding:12px;margin-bottom:0;background:var(--bg-tertiary);border:1px dashed var(--border-color-dark);border-radius:6px}.row-actions{display:flex;gap:6px;white-space:nowrap}.param-value{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;color:var(--text-secondary)}.add-run-form{margin-top:10px;padding:14px;background:var(--bg-tertiary);border:1px solid var(--border-color-dark);border-radius:6px}.add-run-form-fields{display:flex;gap:12px;margin-bottom:12px}.add-run-field{flex:1;display:flex;flex-direction:column;gap:4px}.add-run-field label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.add-run-field select{min-height:36px;padding:8px 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-family:inherit;appearance:auto}.add-run-field select:focus{outline:none;border-color:var(--accent-primary)}.add-run-field select:disabled{opacity:.5;cursor:not-allowed}.add-run-form-actions{display:flex;gap:8px;justify-content:flex-end}.single-run-current{margin-bottom:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary)}.single-run-header{font-size:13px;margin-bottom:8px}.pipeline-config-selector{margin-bottom:20px;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.pipeline-config-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.pipeline-op-selector{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:16px 0 12px;padding-top:12px;border-top:1px solid var(--border-color)}.pipeline-op-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--border-color);border-radius:999px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.pipeline-op-tab:hover{background:var(--bg-secondary)}.pipeline-op-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pipeline-op-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 6px;border-radius:9px;background:var(--bg-tertiary);color:var(--text-tertiary);font-size:11px;font-weight:600}.pipeline-op-tab.active .pipeline-op-count{background:#ffffff40;color:#fff}.pipeline-config-tab{padding:6px 14px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.pipeline-config-tab:hover{background:var(--bg-secondary)}.pipeline-config-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pipeline-config-tab.is-default{font-weight:600;border-color:#10b981;box-shadow:inset 3px 0 #10b981;padding-left:14px}.pipeline-config-tab.add-config{font-size:16px;font-weight:700;padding:4px 12px;color:var(--text-tertiary)}.pipeline-config-tab.add-config:hover{color:var(--color-primary)}.default-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;background:#10b981;color:#fff}.reeval-badge{display:inline-block;margin-left:6px;padding:1px 6px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;background:#8b5cf6;color:#fff}.new-config-inline{display:flex;align-items:center;gap:4px}.new-config-inline input{padding:5px 10px;border:1px solid var(--border-color);border-radius:5px;font-size:13px;width:140px;background:var(--bg-primary);color:var(--text-primary)}.new-config-inline input:focus{outline:none;border-color:var(--color-primary)}.new-config-inline button{padding:5px 10px;border:1px solid var(--border-color);border-radius:5px;font-size:12px;cursor:pointer;background:var(--bg-primary);color:var(--text-secondary)}.new-config-inline button:first-of-type{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.new-config-inline button:disabled{opacity:.5;cursor:not-allowed}.pipeline-config-actions{display:flex;gap:8px;margin-top:10px}.add-pipeline-row{margin-top:12px}.new-pipeline-inline{display:flex;gap:6px;align-items:center}.new-pipeline-inline input,.new-pipeline-inline select{padding:5px 10px;border:1px solid var(--border-color-dark);border-radius:4px;font-size:13px;width:320px;background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.new-pipeline-inline select option{background:var(--bg-primary);color:var(--text-primary)}.new-pipeline-inline select option:disabled{color:var(--text-tertiary);font-style:italic}.new-pipeline-inline button{padding:5px 10px;font-size:13px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.pipeline-header-actions{display:flex;align-items:center;gap:8px}.remove-pipeline-btn{background:none;border:none;font-size:18px;color:var(--text-tertiary);cursor:pointer;padding:0 4px;line-height:1}.remove-pipeline-btn:hover{color:#dc3545}.copy-pipeline-btn{background:none;border:1px solid var(--border-color);border-radius:4px;font-size:11px;color:var(--text-secondary);cursor:pointer;padding:2px 8px;line-height:1.4;text-transform:uppercase;letter-spacing:.5px}.copy-pipeline-btn:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.copy-pipeline-btn:disabled{opacity:.5;cursor:not-allowed}.provider-set-name{font-family:SF Mono,Menlo,Consolas,monospace;font-style:italic;color:#60a5fa;font-size:12px}.properties-cell{font-size:11px}.properties-cell .prop-pair{display:inline-flex;gap:4px;margin-right:10px;white-space:nowrap}.properties-cell .prop-label{color:var(--text-tertiary)}.properties-cell .prop-value{font-weight:600;color:var(--text-primary, #e5e7eb)}.step-editor-form{display:flex;flex-direction:column;gap:14px}.step-editor-field{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-tertiary)}.step-editor-field input:not([type=radio]):not([type=checkbox]),.step-editor-field select{box-sizing:border-box;height:34px;padding:6px 10px;border:1px solid var(--border-color-dark, var(--border-color));background:var(--bg-primary);color:var(--text-primary);border-radius:4px;font-size:13px;line-height:1.2;font-family:inherit;width:100%}.step-editor-mode-row{display:flex;flex-wrap:wrap;gap:12px;padding:4px 0}.step-editor-mode-row label{display:inline-flex;align-items:center;gap:6px;color:var(--text-primary);font-size:13px;cursor:pointer}.step-editor-mode-row input[type=radio]{width:14px;height:14px;margin:0;cursor:pointer}.step-editor-mode-row input[type=radio]:disabled{cursor:not-allowed}.step-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.step-editor-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--border-color)}.step-editor-actions-right{display:flex;gap:8px;margin-left:auto}.step-editor-toggle-row{flex-direction:row;align-items:center;gap:10px}.step-editor-toggle-label{color:var(--text-primary);font-size:13px}.switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;inset:0;background:#4b5563;border-radius:22px;cursor:pointer;transition:background .2s}.switch-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:transform .2s}.switch input:checked+.switch-slider{background:#2563eb}.switch input:checked+.switch-slider:before{transform:translate(16px)}.switch input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}.pipeline-targeting{display:flex;flex-direction:column;gap:6px;padding:8px 10px;margin:6px 0;background:var(--bg-secondary, rgba(255, 255, 255, .02));border:1px solid var(--border-color);border-radius:6px}.pipeline-targeting-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.pipeline-targeting-label{font-size:12px;color:var(--text-secondary);min-width:110px;text-transform:uppercase;letter-spacing:.04em}.pipeline-targeting-chips{display:flex;flex-wrap:wrap;gap:6px;flex:1}.targeting-chip{font-size:12px;padding:3px 9px;border-radius:12px;border:1px solid var(--border-color);background:transparent;color:var(--text-secondary);cursor:pointer;font-family:inherit}.targeting-chip:hover:not(:disabled){border-color:#2563eb;color:var(--text-primary)}.targeting-chip--active{background:#2563eb;border-color:#2563eb;color:#fff}.targeting-chip:disabled{opacity:.5;cursor:not-allowed}.targeting-empty-hint{font-size:11px;color:var(--text-secondary);font-style:italic;opacity:.7}.step-kind-badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:10px;background:var(--bg-secondary, rgba(255, 255, 255, .05));color:var(--text-tertiary);margin-left:auto}.model-edit-input{width:100%;padding:6px 8px;border:1px solid var(--border-color-dark);border-radius:4px;font-size:12px;font-family:inherit;background:var(--bg-tertiary);color:var(--text-primary);box-sizing:border-box}.model-edit-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #4f9cff26}.model-edit-input.pricing-input{width:80px}.pricing-cell{font-family:monospace;font-size:12px;color:var(--text-secondary);white-space:nowrap}.provider-actions{display:flex;gap:6px;white-space:nowrap}.provider-action-btn{padding:4px 10px;border:1px solid var(--border-color-dark);border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;background:var(--bg-tertiary);color:var(--text-primary);transition:all .15s}.provider-action-btn:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-primary)}.provider-action-btn:disabled{opacity:.5;cursor:not-allowed}.provider-action-btn.save{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary)}.provider-action-btn.save:hover:not(:disabled){opacity:.9}.provider-action-btn.cancel{color:var(--text-secondary)}.provider-action-btn.delete{color:#ef4444;border-color:#ef444466;background:#ef44441a}.provider-action-btn.delete:hover:not(:disabled){background:#ef444433;border-color:#ef4444}.add-provider-form{display:flex;flex-direction:column;gap:14px;color:var(--text-primary)}.add-provider-form .form-row{display:flex;gap:12px}.add-provider-form .form-row>.form-field{flex:1}.add-provider-form .form-field{display:flex;flex-direction:column;gap:4px}.add-provider-form .form-field label{font-size:12px;font-weight:600;color:var(--text-secondary)}.add-provider-form .form-field .hint{font-size:11px;color:var(--text-tertiary)}.add-provider-modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.provider-sets-page{padding:16px}.provider-sets-loading{padding:24px;color:var(--text-secondary)}.provider-sets-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;gap:16px}.provider-sets-header h2{margin:0 0 4px;color:var(--text-primary)}.provider-sets-subtitle{margin:0;color:var(--text-secondary);font-size:13px;max-width:720px}.provider-sets-empty{padding:32px;text-align:center;color:var(--text-tertiary);border:1px dashed var(--border-color);border-radius:6px}.provider-sets-error{padding:8px 12px;background:var(--status-error-bg);border:1px solid var(--status-error-border);color:var(--status-error-text);border-radius:4px;margin-bottom:12px}.provider-sets-level{display:flex;flex-direction:column;gap:2px}.provider-sets-provider{font-family:monospace;font-weight:600;color:var(--text-primary)}.provider-sets-meta{font-size:11px;color:var(--text-tertiary)}.provider-sets-desc{color:var(--text-secondary);max-width:280px}.modal:has(.provider-sets-form){max-width:560px}.provider-sets-form{display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;color:var(--text-primary)}.provider-sets-form *{box-sizing:border-box}.provider-sets-form textarea{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--border-color);border-radius:4px;font-size:13px;background:var(--bg-primary);color:var(--text-primary)}.provider-sets-form textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-primary-light)}.provider-sets-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.provider-sets-tier-picker{display:grid;grid-template-columns:64px minmax(0,320px) auto;align-items:center;gap:12px}.provider-sets-tier-picker-label{font-weight:600;font-size:13px;color:var(--text-primary)}.provider-sets-fieldset{border:1px solid var(--border-color);border-radius:6px;padding:12px;color:var(--text-primary)}.provider-sets-fieldset legend{font-weight:600;padding:0 6px;color:var(--text-primary)}.provider-sets-row{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-bottom:8px;align-items:center}.provider-sets-form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.branches-picker{display:flex;flex-direction:column;gap:6px}.branches-picker-header{display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.branches-picker-title{font-weight:600;color:var(--text-primary)}.branches-picker-count{font-size:12px;color:var(--text-tertiary)}.branches-picker-list{border:1px solid var(--border-color);border-radius:6px;max-height:260px;overflow-y:auto}.branches-picker-group:not(:last-child){border-bottom:1px solid var(--border-color)}.branches-picker-group-header{padding:4px 10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.branches-picker-item{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--border-color)}.branches-picker-item:last-child{border-bottom:none}.branches-picker-item.selected{background:var(--selected-bg-subtle, var(--bg-secondary))}.provider-sets-form .branches-picker-check{display:flex;flex-direction:row;align-items:center;gap:8px;flex:1;min-width:0;cursor:pointer;font-size:13px;color:var(--text-primary)}.branches-picker-check input[type=checkbox]{width:auto;margin:0;flex-shrink:0}.branches-picker-check input[type=checkbox]:disabled{cursor:not-allowed}.branches-picker-name{font-family:monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branches-picker-star{background:transparent;border:none;padding:2px 6px;font-size:16px;line-height:1;color:var(--text-tertiary);cursor:pointer;border-radius:4px}.branches-picker-star:hover:not(:disabled){background:var(--bg-hover)}.branches-picker-star.active{color:var(--color-warning, #f59e0b)}.branches-picker-star:disabled{opacity:.25;cursor:not-allowed}.branches-picker-hint{font-size:12px;color:var(--text-tertiary);min-height:16px}.prompts-page-wrapper.split-layout{flex-direction:column}.prompts-page-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);flex-shrink:0}.prompts-page-tab{padding:12px 24px;background:none;border:none;font-size:14px;font-weight:500;color:var(--text-tertiary);border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer;transition:all .2s}.prompts-page-tab:hover{color:var(--text-secondary)}.prompts-page-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.prompts-page-tab-content{flex:1;overflow-y:auto;padding:24px}.prompts-page{display:flex;flex:1;overflow:hidden}.prompts-list-panel{flex:1 1 50%;width:50%;min-width:0;border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:16px;gap:8px;background:var(--bg-secondary);overflow:hidden}.prompts-list-panel .sfb{margin-bottom:0}.prompts-list-btn{padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.prompts-list-btn.primary{background:var(--color-primary);color:#fff;border:none}.prompts-list-btn.primary:hover{background:var(--color-primary-hover)}.prompts-list-btn.secondary{background:var(--bg-primary);color:var(--text-secondary);border:1px solid var(--border-color)}.prompts-list-btn.secondary:hover{background:var(--bg-secondary)}.prompts-list-btn:disabled{opacity:.5;cursor:not-allowed}.prompts-filters{padding:0}.prompts-actions-row{display:flex;align-items:center;gap:8px;position:relative}.prompts-create-popover{position:absolute;top:calc(100% + 4px);left:0;z-index:100;min-width:260px;padding:4px;background:var(--bg-panel, var(--bg-primary));border:1px solid rgba(255,255,255,.12);border-radius:8px;box-shadow:0 8px 24px #00000059;display:flex;flex-direction:column}.prompts-create-popover-item{display:block;width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;color:inherit;cursor:pointer;border-radius:6px;font-size:13px}.prompts-create-popover-item:hover{background:#ffffff0f}.prompts-detail-btn.success{background:var(--status-success-bg-subtle, rgba(34, 197, 94, .15));color:#22c55e;border:1px solid #22c55e}.prompts-detail-btn.success:hover{background:#22c55e38}.prompts-table-scroll{flex:1 1 auto;min-height:0;overflow:auto}.prompts-list-creating-banner{margin:8px 16px;padding:8px 12px;border-radius:6px;background:var(--status-success-bg-subtle);border:1px solid #22c55e;color:var(--text-primary);font-size:13px}.prompts-row--active td:first-child{border-left:3px solid #22c55e}.prompts-col-name-version{margin-left:8px;padding:1px 6px;border-radius:4px;font-family:monospace;font-size:11px;color:var(--text-tertiary);background:var(--bg-tertiary)}.prompts-col-type{display:flex;flex-direction:column;gap:2px}.prompts-col-type-schema{font-size:11px;color:var(--text-tertiary);font-family:monospace}.prompts-col-targeting{display:flex;flex-direction:column;gap:2px;font-size:12px;line-height:1.4}.prompts-col-targeting-line{color:var(--text-secondary)}.prompts-col-targeting--empty{color:var(--text-tertiary);font-style:italic}.prompts-detail-panel{flex:1 1 50%;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.prompts-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);font-size:15px}.prompts-detail-header{padding:16px 24px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:flex-start}.prompts-detail-header-left h2{margin:0 0 4px;font-size:20px;color:var(--text-primary)}.prompts-detail-header-badges{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.prompts-badge{display:inline-block;padding:2px 8px;font-size:11px;font-weight:500;border-radius:4px}.prompts-badge.version{background:var(--status-info-bg);color:var(--status-info-text);font-family:monospace}.prompts-badge.hint,.prompts-badge.history{background:var(--status-warning-bg);color:var(--status-warning-text)}.prompts-badge.active{background:var(--status-success-bg);color:var(--status-success-text)}.prompts-detail-header-actions{display:flex;gap:8px}.prompts-detail-btn{padding:6px 14px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.prompts-detail-btn.primary{background:var(--color-primary);color:#fff;border:none}.prompts-detail-btn.primary:hover{background:var(--color-primary-hover)}.prompts-detail-btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.prompts-detail-btn.secondary:hover{background:var(--bg-tertiary)}.prompts-detail-btn.danger{background:var(--status-error-bg);color:var(--color-error);border:1px solid var(--status-error-border)}.prompts-detail-btn.danger:hover{background:var(--status-error-border)}.prompts-detail-btn.danger-secondary{background:var(--status-warning-bg-subtle);color:var(--status-warning-text);border:1px solid var(--status-warning-border)}.prompts-detail-btn.danger-secondary:hover{background:var(--status-warning-border)}.prompts-detail-btn:disabled{opacity:.5;cursor:not-allowed}.prompts-detail-content{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column}.prompts-form-section{padding:16px 24px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.prompts-form-row{margin-bottom:12px}.prompts-form-row:last-child{margin-bottom:0}.prompts-form-row label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase}.prompts-form-row input[type=text],.prompts-form-row input[type=number],.prompts-form-row select{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;line-height:1.4;box-sizing:border-box;background-color:var(--bg-secondary);color:var(--text-primary)}.prompts-form-row select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:12px 12px}.prompts-form-row input::placeholder{color:var(--text-secondary);opacity:.7}.prompts-form-row input:focus,.prompts-form-row select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #4f9cff1a}.prompts-view-description{margin:0;padding:16px 24px;color:var(--text-tertiary);font-size:14px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.prompts-form-section .prompts-section-header h4,.prompts-targeting-section .prompts-section-header h4{margin:0;font-size:13px;color:var(--text-primary);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.prompts-targeting-section{padding:16px 24px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.prompts-targeting-content{margin-top:12px}.prompts-section-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.prompts-section-header:hover{opacity:.8}.prompts-section-toggle{font-size:10px;color:var(--text-tertiary);transition:transform .2s}.prompts-section-toggle.expanded{transform:rotate(90deg)}.prompts-targeting-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.prompts-targeting-row:last-child{margin-bottom:0}.prompts-targeting-row>label:first-child{min-width:100px;font-size:13px;color:var(--text-secondary);font-weight:500}.prompts-targeting-options{display:flex;flex-wrap:wrap;gap:6px}.prompts-targeting-checkbox{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:12px;transition:all .15s}.prompts-targeting-checkbox:hover{border-color:var(--color-primary)}.prompts-targeting-checkbox input{margin:0;cursor:pointer}.prompts-targeting-checkbox input:checked+span{color:var(--status-info-text);font-weight:500}.prompts-targeting-input{flex:1;padding:6px 10px;border:1px solid var(--border-color);border-radius:4px;font-size:12px}.prompts-targeting-input:focus{outline:none;border-color:var(--color-primary)}.prompts-targeting-hint{font-size:11px;color:var(--text-tertiary)}.prompts-targeting-summary{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--selected-bg);border-bottom:1px solid var(--border-color)}.prompts-targeting-summary-label{font-size:13px;color:var(--text-secondary);font-weight:500}.prompts-targeting-summary-value{font-size:13px;color:var(--text-primary)}.prompts-history-section{padding:16px 24px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.prompts-history-section h4{margin:0 0 12px;font-size:13px;color:var(--text-primary)}.prompts-history-list{display:flex;flex-wrap:wrap;gap:8px}.prompts-history-item{padding:8px 12px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s;min-width:90px}.prompts-history-item:hover{border-color:var(--color-primary)}.prompts-history-item.selected{border-color:var(--color-primary);background:var(--selected-bg)}.prompts-history-item.current{border-color:#22c55e;background:var(--status-success-bg-subtle)}.prompts-history-item-header{display:flex;align-items:center;gap:6px;margin-bottom:2px}.prompts-history-item-version{font-weight:600;font-size:13px;color:var(--text-primary)}.prompts-history-item-current{padding:1px 5px;background:#22c55e;color:#fff;font-size:9px;font-weight:500;border-radius:3px}.prompts-history-item-date{font-size:10px;color:var(--text-tertiary)}.prompts-history-empty{color:var(--text-tertiary);font-size:13px}.prompts-template-section{padding:16px 24px;display:flex;flex-direction:column;flex:1;min-height:0}.prompts-template-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.prompts-template-header h4{margin:0;font-size:14px;color:var(--text-primary)}.prompts-template-actions{display:flex;gap:8px}.prompts-template-btn{padding:5px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.prompts-template-btn.edit{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.prompts-template-btn.edit:hover{background:var(--border-color)}.prompts-template-btn.edit.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.prompts-template-btn.delete{background:var(--status-error-bg);color:var(--color-error);border:1px solid var(--status-error-border)}.prompts-template-btn.delete:hover{background:var(--status-error-border)}.prompts-template-btn.restore{background:var(--status-info-bg);color:var(--color-accent);border:1px solid var(--status-info-border)}.prompts-template-btn.restore:hover{background:var(--status-info-border)}.prompts-template-btn:disabled{opacity:.5;cursor:not-allowed}.prompts-template-preview{margin:0;padding:16px;background:var(--code-bg);color:var(--code-text);border-radius:8px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;flex:1;min-height:200px;overflow:auto}.prompts-template-editor{width:100%;min-height:525px;padding:16px;background:var(--code-bg);color:var(--code-text);border:none;border-radius:8px;font-family:Monaco,Menlo,monospace;font-size:12px;line-height:1.5;resize:vertical;box-sizing:border-box}.prompts-template-editor:focus{outline:2px solid var(--color-primary)}.prompts-placeholder-highlight{background:var(--status-warning-bg);color:var(--text-primary);padding:1px 3px;border-radius:2px}.prompts-placeholders{margin-top:16px;padding:12px;background:var(--bg-tertiary);border-radius:6px}.prompts-placeholders h5{margin:0;font-size:11px;color:var(--text-secondary);text-transform:uppercase}.prompts-placeholders .prompts-placeholders-list{margin-top:8px}.prompts-placeholders-list{display:flex;flex-wrap:wrap;gap:6px}.prompts-placeholder-item{display:flex;align-items:center;gap:4px;padding:3px 6px;background:var(--bg-primary);border-radius:3px;font-size:11px}.prompts-placeholder-item code{background:var(--status-warning-bg);padding:1px 4px;border-radius:2px;font-family:Monaco,Menlo,monospace;font-size:10px;color:var(--text-primary)}.prompts-placeholder-item span{color:var(--text-tertiary)}.prompts-detail-footer{padding:12px 24px;border-top:1px solid var(--border-color);background:var(--bg-tertiary);display:flex;justify-content:space-between;align-items:center}.prompts-detail-footer-left{display:flex;align-items:center;gap:12px}.prompts-detail-footer-right{display:flex;align-items:center;gap:8px}.prompts-status{font-size:13px}.prompts-status.saving{color:var(--text-tertiary)}.prompts-status.saved{color:#22c55e}.prompts-status.error{color:var(--color-error);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;max-width:100%;cursor:help}.prompts-edit-note{margin:0;font-size:12px;color:var(--text-tertiary)}.prompts-import-status{margin:0 16px 8px;padding:8px 12px;border-radius:6px;font-size:13px;display:flex;justify-content:space-between;align-items:center}.prompts-import-status.success{background:var(--status-success-bg-subtle);color:var(--color-success)}.prompts-import-status.error{background:var(--status-error-bg-subtle);color:var(--color-error)}.prompts-import-status button{background:transparent;border:none;font-size:16px;cursor:pointer;color:inherit;opacity:.7}.prompts-import-status button:hover{opacity:1}.prompts-loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-tertiary)}.model-data-page{padding:20px}.model-data-page .page-header{margin-bottom:24px;display:flex;align-items:center;justify-content:space-between}.model-data-page h1{margin:0;color:var(--text-primary)}.refresh-btn{padding:6px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;transition:all .15s}.refresh-btn:hover{background:var(--border-color);border-color:#9ca3af}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.dataset-import-banner{padding:12px 16px;background:var(--status-info-bg-subtle);border:1px solid var(--status-info-border);border-radius:8px;color:var(--status-info-text);font-size:14px;margin-bottom:16px}.provider-badge{display:inline-block;padding:2px 8px;background:var(--status-info-bg-subtle);color:var(--status-info-text);border-radius:4px;font-size:12px;font-weight:500}.prompt-name{font-size:13px;color:var(--text-secondary)}.prompt-type-inline{color:var(--text-tertiary);font-size:12px;margin-left:2px}.prompt-type-badge{padding:2px 8px;background:var(--status-purple-bg);color:var(--status-purple-text);border-radius:4px;font-size:12px;font-weight:500;text-transform:capitalize}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center}.stat-value{font-size:28px;font-weight:600;color:var(--color-accent)}.model-data-add-btn{height:2.25rem;padding:0 var(--spacing-md);white-space:nowrap}.escalated-filter{display:inline-flex;align-items:center;gap:6px;font-size:var(--font-sm);color:var(--text-secondary);white-space:nowrap;cursor:pointer}.selection-actions{display:flex;align-items:center;gap:12px}.model-data-selection-row{justify-content:flex-end;margin-bottom:12px}.selection-count{font-size:14px;color:var(--text-secondary);font-weight:500}.action-btn{padding:8px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.action-btn:hover:not(:disabled){background:#1d4ed8}.action-btn:disabled{background:#93c5fd;cursor:not-allowed;opacity:.6}.action-btn.secondary{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color-dark)}.action-btn.secondary:hover{background:var(--border-color)}.loading,.error,.empty-state{padding:40px;text-align:center;color:var(--text-tertiary)}.error{color:#dc2626;background:var(--status-error-bg-subtle);border-radius:8px}.empty-state{background:var(--bg-secondary);border-radius:8px;border:1px dashed var(--border-color-dark)}.user-cell{display:flex;flex-direction:column}.user-name{font-weight:500;color:var(--text-primary)}.subject-module-cell{display:flex;flex-direction:column;gap:4px}.subject-badge{display:inline-block;padding:2px 8px;background:var(--bg-tertiary);border-radius:4px;font-size:12px;text-transform:capitalize;color:var(--text-secondary);font-weight:500}.module-name{font-size:12px;color:var(--text-tertiary)}.question-preview{font-size:13px;color:var(--text-secondary)}.type-badge{display:inline-block;padding:2px 8px;background:var(--status-indigo-bg);color:var(--status-indigo-text);border-radius:4px;font-size:12px}.cost-cell{font-size:13px;font-variant-numeric:tabular-nums;color:var(--color-success)}.latency-cell{font-size:13px;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.outputs-count{text-align:center;color:var(--text-tertiary)}.expand-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:300;color:var(--text-tertiary)}.input-details{padding:20px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.detail-section{margin-bottom:20px;background:var(--bg-primary);padding:16px;border-radius:8px;border:1px solid var(--border-color)}.detail-section:last-child{margin-bottom:0}.detail-section h4{margin:0 0 12px;font-size:14px;color:var(--text-secondary);border-bottom:1px solid var(--border-color);padding-bottom:8px}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;font-size:13px}.question-text-full{margin-top:12px;font-size:14px;line-height:1.5;color:var(--text-secondary)}.question-image,.solution-image{max-width:400px;max-height:300px;margin-top:12px;border:1px solid var(--border-color);border-radius:6px}.text-answer{padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;font-size:14px;margin:8px 0}.outputs-list{display:flex;flex-direction:column;gap:8px}.output-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;overflow:hidden}.output-card.primary{border-color:var(--color-success);border-width:2px}.output-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;transition:background .15s}.output-header:hover{background:var(--bg-tertiary)}.output-info{display:flex;align-items:center;gap:10px;font-size:13px}.primary-badge{background:var(--status-success-bg);color:var(--status-success-text);padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.provider{font-weight:500;color:var(--color-accent)}.model,.latency{color:var(--text-tertiary)}.cost{color:var(--text-tertiary);font-family:monospace}.output-details{border-top:1px solid var(--border-color);padding:12px;background:var(--bg-primary)}.assessment{margin-top:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px}.assessment h5{margin:0 0 8px;font-size:13px}.overall-assessment{display:inline-block;padding:4px 12px;border-radius:4px;font-size:13px;font-weight:500;margin-bottom:8px}.overall-assessment.correct{background:var(--status-success-bg);color:var(--status-success-text)}.overall-assessment.partially_correct{background:var(--status-warning-bg);color:var(--status-warning-text)}.overall-assessment.incorrect{background:var(--status-error-bg);color:var(--status-error-text)}.overall-assessment.correct_but_inefficient{background:var(--status-info-bg);color:var(--status-info-text)}.scores{display:flex;gap:16px;font-size:13px}.scores span{background:var(--bg-tertiary);padding:4px 8px;border-radius:4px}.parse-error{margin-top:12px;padding:12px;background:var(--status-error-bg-subtle);border:1px solid var(--status-error-border);border-radius:6px;color:var(--status-error-text);font-size:13px}.raw-output{margin-top:12px}.raw-output summary{cursor:pointer;font-size:13px;color:var(--text-tertiary);padding:8px 0}.raw-output pre{background:#1f2937;color:#e5e7eb;padding:12px;border-radius:6px;font-size:12px;overflow-x:auto;max-height:300px;margin-top:8px}.modal-content{background:var(--bg-primary);border-radius:12px;width:90%;max-width:450px;box-shadow:var(--shadow-lg)}.modal-body p{margin:0 0 16px;color:var(--text-tertiary);font-size:14px}.error-message{padding:12px;background:var(--status-error-bg-subtle);border:1px solid var(--status-error-border);border-radius:8px;color:var(--color-error);font-size:14px;margin-bottom:16px}.success-message{padding:12px;background:var(--status-success-bg-subtle);border:1px solid var(--status-success-border);border-radius:8px;color:var(--status-success-text);font-size:14px;margin-bottom:16px}.submit-btn{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.submit-btn:hover:not(:disabled){background:#1d4ed8}.submit-btn:disabled{background:#93c5fd;cursor:not-allowed}.model-run-detail{max-width:1200px;display:flex;flex-direction:column;gap:20px}.output-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color);margin-bottom:4px}.output-tab{padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:13px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.output-tab:hover{color:var(--text-secondary);background:var(--bg-secondary)}.output-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.output-tab .primary-badge{font-size:9px;padding:1px 5px}.model-run-detail .metadata-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.model-run-detail .meta-item{display:flex;flex-direction:column;gap:4px}.model-run-detail .meta-item label{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px}.model-run-detail .meta-item span{font-size:14px;font-weight:500;color:var(--text-primary)}.model-run-detail .perf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.model-run-detail .perf-item{background:var(--bg-tertiary);padding:14px;border-radius:8px}.model-run-detail .perf-item label{display:block;font-size:11px;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:6px}.model-run-detail .perf-item .perf-value{font-size:18px;font-weight:600;color:var(--text-primary)}.model-run-detail .perf-item .perf-value.cost{color:#059669}.model-run-detail .input-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px}.model-run-detail .image-block{border:1px solid var(--border-color);border-radius:6px;padding:6px 14px 12px;margin:0;min-width:0;background:var(--bg-primary)}.model-run-detail .image-block>legend{padding:0 6px;margin-left:8px;display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.model-run-detail .image-block .image-viewer-thumb{display:block;max-width:100%;max-height:220px;width:auto;height:auto;object-fit:contain;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:zoom-in;transition:border-color .12s ease,box-shadow .12s ease}.model-run-detail .image-block .image-viewer-thumb:hover{border-color:var(--color-primary, #2563eb);box-shadow:0 0 0 2px #2563eb26}.model-run-detail .no-image{padding:40px 20px;text-align:center;color:var(--text-tertiary);font-style:italic;font-size:13px;border:1px dashed var(--border-color-dark);border-radius:8px;background:var(--bg-secondary)}.model-run-detail .no-image-compact{padding:4px 0;color:var(--text-tertiary);font-style:italic;font-size:12px}.model-run-detail .input-context{margin-top:16px;display:flex;flex-direction:column;gap:12px}.model-run-detail .prompt-input-group{border:1px solid var(--border-color);border-radius:6px;padding:6px 14px 12px;margin:0;min-width:0;background:var(--bg-primary)}.model-run-detail .prompt-input-group>legend{padding:0 6px;margin-left:8px;font-size:12px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.model-run-detail .input-context .detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;font-size:13px}.model-run-detail .question-text-full{margin-top:12px;font-size:14px;line-height:1.6;color:var(--text-secondary);padding:12px;background:var(--bg-secondary);border-radius:6px}.model-run-detail .raw-output-block{margin:0;padding:16px;background:var(--code-bg);color:var(--code-text);font-family:SF Mono,Monaco,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:500px;overflow-y:auto;border-radius:8px}.model-run-detail .parse-error-banner{padding:12px 16px;background:var(--status-error-bg-subtle);border:1px solid var(--status-error-border);border-radius:6px;color:var(--status-error-text);font-size:13px;margin-bottom:12px}.model-run-detail .assessment-section{margin-top:16px}.model-run-detail .assessment-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.model-run-detail .scores-row{display:flex;gap:16px;margin-bottom:16px;flex-wrap:wrap}.model-run-detail .scores-row span{background:var(--bg-tertiary);padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500}.model-run-detail .steps-table{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px}.model-run-detail .steps-table th{text-align:left;padding:10px 12px;background:var(--bg-tertiary);font-weight:600;font-size:11px;text-transform:uppercase;color:var(--text-tertiary);border-bottom:1px solid var(--border-color)}.model-run-detail .steps-table td{padding:10px 12px;border-bottom:1px solid var(--bg-tertiary);vertical-align:top;color:var(--text-primary)}.model-run-detail .steps-table tr.step-correct{background:var(--status-success-bg-subtle)}.model-run-detail .steps-table tr.step-incorrect{background:var(--status-error-bg-subtle)}.model-run-detail .detail-list{margin:0;padding-left:20px}.model-run-detail .detail-list li{margin-bottom:6px;font-size:13px;color:var(--text-primary);line-height:1.5}@media(max-width:768px){.model-run-detail .metadata-grid,.model-run-detail .perf-grid{grid-template-columns:repeat(2,1fr)}.model-run-detail .input-images{grid-template-columns:1fr}}.tier-routing-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px}.tier-routing-set{font-family:monospace;color:var(--text-secondary);padding:2px 6px;background:#94a3b826;border-radius:3px}.tier-chip{display:inline-block;padding:2px 8px;border-radius:3px;font-weight:600;color:#fff;font-size:11px}.tier-chip--initial{background:#6b7280}.tier-chip--intermediate{background:#f59e0b}.tier-chip--final{background:#10b981}.tier-routing-arrow{color:var(--text-tertiary)}.tier-routing-step{display:inline-flex;align-items:center;gap:4px}.tier-routing-trigger{color:#f97316;font-style:italic}.tier-routing-rejected{color:#f87171;font-weight:600;padding:2px 6px;background:#ef444426;border-radius:3px}.tier-routing-details{margin-top:6px;font-size:12px}.tier-routing-excerpt{background:#94a3b814;border:1px solid var(--border, rgba(148, 163, 184, .25));padding:6px 8px;margin:4px 0;border-radius:3px;white-space:pre-wrap;max-height:120px;overflow:auto}.chat-transcript{display:flex;flex-direction:column;gap:12px;padding:16px}.chat-message{padding:10px 14px;border-radius:8px;border:1px solid var(--border-color);max-width:85%}.chat-message--student{align-self:flex-end;background:#eff6ff;border-color:#bfdbfe}.chat-message--tutor{align-self:flex-start;background:#f9fafb;border-color:#e5e7eb}.chat-message--current{box-shadow:0 0 0 2px #2563eb}.chat-message-header{display:flex;gap:8px;align-items:center;margin-bottom:6px;font-size:11px}.role-chip{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.role-chip--student{background:#2563eb;color:#fff}.role-chip--tutor{background:#475569;color:#fff}.current-turn-marker{color:#2563eb;font-weight:600}.image-action-tag{color:var(--text-secondary);font-style:italic}.chat-message-content{font-size:13px;line-height:1.55;color:var(--text-primary);white-space:pre-wrap}.chat-message-image{display:inline-block;margin-top:8px}.chat-message-image img{max-width:240px;max-height:180px;border:1px solid var(--border-color);border-radius:4px}.error-records{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.error-record-chip{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:10px;font-size:11px;border:1px solid rgba(239,68,68,.35);background:#ef444414}.error-record-chip .erc-code{font-weight:700}.error-record-chip .erc-stage,.error-record-chip .erc-provider,.error-record-chip .erc-raw{color:var(--text-secondary)}.eval-runs-page{padding:24px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.eval-runs-page h1{margin:0;color:var(--text-primary)}.start-run-btn{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.start-run-btn:hover{background:#1d4ed8}.tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.tab{padding:12px 24px;border:none;background:none;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.tab:hover{color:var(--text-secondary)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-primary);border-radius:12px;padding:20px;box-shadow:var(--shadow-md);border:1px solid var(--border-color);text-align:center}.stat-value{font-size:28px;font-weight:700;color:var(--text-primary)}.stat-label{font-size:13px;color:var(--text-tertiary);margin-top:4px}.section{background:var(--bg-primary);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.section h3{margin:0 0 16px;font-size:16px;color:var(--text-primary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.status-pending{background:#fef3c7;color:#92400e}.status-running{background:#dbeafe;color:#1e40af}.status-completed{background:#dcfce7;color:#166534}.status-failed{background:#fee2e2;color:#991b1b}.prompt-id{font-family:monospace;font-size:12px;color:var(--text-tertiary)}.run-id{font-family:monospace;font-size:13px;color:var(--text-secondary)}.score-cell{display:inline-block;padding:4px 8px;border-radius:4px;font-weight:600;font-size:13px}.score-good{background:#dcfce7;color:#166534}.score-medium{background:#fef3c7;color:#92400e}.score-low{background:#fee2e2;color:#991b1b}.filters-row{display:flex;gap:12px;margin-bottom:20px}.filters-row select{padding:8px 16px;border:1px solid var(--border-color-dark);border-radius:8px;background:var(--bg-primary);font-size:14px;color:var(--text-secondary);cursor:pointer}.refresh-btn{padding:8px 16px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;cursor:pointer;margin-left:auto}.refresh-btn:hover{background:var(--border-color)}.prompt-name{font-weight:500;color:var(--text-secondary)}.trends-chart{display:flex;align-items:flex-end;gap:4px;height:120px;padding:16px 0;overflow-x:auto}.trend-bar-container{display:flex;flex-direction:column;align-items:center;min-width:24px;height:100%;cursor:help}.trend-bar{width:20px;background:linear-gradient(to top,var(--color-info),var(--color-accent));border-radius:4px 4px 0 0;transition:height .2s;min-height:4px}.trend-label{font-size:10px;color:var(--text-tertiary);margin-top:8px;white-space:nowrap}.empty-state{text-align:center;padding:48px;color:var(--text-tertiary)}.empty-state h3{margin:0 0 8px;color:var(--text-secondary)}.empty-state p{margin:0}.no-data{color:var(--text-tertiary);font-style:italic}.loading{text-align:center;padding:48px;color:var(--text-tertiary)}.performance-content{max-width:1200px}.runs-content{max-width:1400px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:var(--bg-primary);border-radius:12px;width:90%;max-width:500px;box-shadow:var(--shadow-lg)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;font-size:18px;color:var(--text-primary)}.close-btn{background:none;border:none;font-size:24px;color:var(--text-tertiary);cursor:pointer;padding:0;line-height:1}.close-btn:hover{color:var(--text-primary)}.modal-body{padding:24px}.modal-description{color:var(--text-tertiary);font-size:14px;margin:0 0 20px;line-height:1.5}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:500;color:var(--text-secondary);margin-bottom:6px;font-size:14px}.form-group select{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;background:var(--bg-primary)}.form-row-inline{display:grid;grid-template-columns:1fr 1fr;gap:16px}.error-message{padding:12px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:14px;margin-bottom:16px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.cancel-btn{padding:10px 20px;background:var(--bg-tertiary);color:var(--text-secondary);border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.cancel-btn:hover{background:var(--border-color)}.start-btn{padding:10px 20px;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.start-btn:hover:not(:disabled){background:#1d4ed8}.start-btn:disabled{background:#93c5fd;cursor:not-allowed}.evals-page h1{margin:0 0 20px;color:var(--text-primary)}.evals-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid var(--border-color);padding-bottom:0}.evals-tab{padding:12px 24px;background:transparent;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:14px;font-weight:500;color:var(--text-tertiary);cursor:pointer;transition:all .2s}.evals-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.evals-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.sd-page{padding:24px}.sd-breadcrumb{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.sd-breadcrumb a{color:var(--color-primary);text-decoration:none}.sd-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-color);margin:16px 0 20px}.sd-tabs button{background:none;border:none;padding:10px 16px;cursor:pointer;font-size:14px;color:var(--text-secondary);border-bottom:2px solid transparent}.sd-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.sd-capture{display:flex;flex-direction:column;gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:14px;margin-bottom:14px;max-width:640px}.sd-capture label{font-size:13px;color:var(--text-secondary)}.sd-capture textarea,.sd-form input,.sd-form select,.sd-form textarea,.sd-runform input{width:100%;padding:6px 8px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.sd-capture button{align-self:flex-start}.sd-note{font-size:12px;color:var(--text-secondary)}.sd-err{color:var(--status-error-text, #c0392b);font-size:13px}.sd-meta{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.sd-table{margin-bottom:24px}.sd-qtext{max-width:360px;color:var(--text-primary)}.sd-qfull{background:var(--bg-tertiary);padding:10px;border-radius:6px;font-size:13px;margin:8px 0 14px}.sd-prefill{font-size:12px;color:#b45309;background:#fef3c7;padding:6px 10px;border-radius:6px;margin:4px 0}.sd-actions{display:flex;gap:6px;white-space:nowrap}.sd-ok{color:#1a7f37}.sd-no{color:var(--text-tertiary)}.sd-empty{text-align:center;color:var(--text-tertiary);padding:18px}.btn{padding:6px 12px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;border:none}.btn:disabled{opacity:.6;cursor:default}.btn-primary{background:var(--color-accent, #2563eb);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color-dark)}.btn-danger{background:var(--color-error, #dc2626);color:#fff}.se-badge{font-size:11px;padding:2px 8px;border-radius:999px;background:var(--bg-tertiary);color:var(--text-secondary)}.sd-pill{font-size:10px;padding:1px 6px;border-radius:999px;background:var(--color-primary);color:#fff;margin-left:6px}.sd-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.sd-modal{background:var(--bg-primary);border-radius:10px;padding:22px;width:560px;max-width:92vw;max-height:88vh;overflow:auto}.sd-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sd-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.sd-form .sd-full{grid-column:1 / -1}.sd-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.sd-runs-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sd-filters{display:flex;align-items:center;gap:8px}.sd-filters select{padding:6px 8px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.sd-when{font-size:12px;color:var(--text-secondary);white-space:nowrap}.sd-th-sort{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sd-th-sort:hover{color:var(--text-primary)}.sd-sort-ind{font-size:10px;color:var(--color-primary)}.sd-startrun{width:420px}.sd-field{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.sd-field select{padding:7px 8px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);font-size:13px}.sd-fp{font-size:11px;color:var(--text-tertiary)}.sd-running{color:var(--color-primary);font-weight:600}.sd-status{font-weight:600}.sd-completed{color:#1a7f37}.sd-failed{color:#dc2626}.sd-completed_with_failures{color:#b45309}.sd-baseline-row{background:var(--bg-secondary)}.sd-compare-pick{display:flex;gap:16px;align-items:flex-end;margin:8px 0 16px}.sd-compare-pick h3{margin:0 8px 0 0}.sd-compare-pick label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text-secondary)}.sd-compare-pick select{padding:6px 8px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);color:var(--text-primary)}.sd-report{border-top:1px solid var(--border-color);padding-top:16px}.sd-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:14px}.sd-card-stat{border:1px solid var(--border-color);border-radius:8px;padding:12px;background:var(--bg-secondary)}.sd-card-label{font-size:12px;color:var(--text-secondary)}.sd-card-value{font-size:18px;font-weight:700;margin-top:4px}.sd-card-sub{font-size:12px;margin-top:2px}.sd-down{color:#dc2626}.sd-up{color:#1a7f37}.sd-axis{display:flex;gap:8px;align-items:center;font-size:13px;margin-bottom:16px}.sd-axis-on{padding:2px 8px;border-radius:999px;background:#fde68a;color:#92400e;font-weight:600}.sd-axis-off{padding:2px 8px;border-radius:999px;background:var(--bg-tertiary);color:var(--text-tertiary)}.sd-results{width:760px}.sd-item{border:1px solid var(--border-color);border-radius:8px;padding:12px;margin-bottom:12px}.sd-item-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.sd-item-q{font-size:13px;color:var(--text-primary)}.sd-item-score{font-size:16px;font-weight:700}.sd-item-right{display:flex;align-items:center;gap:12px}.sd-sublink{font-size:12px;color:var(--color-primary);text-decoration:none}.sd-conf{font-size:11px;padding:1px 6px;border-radius:999px}.sd-conf-high{background:var(--bg-tertiary);color:var(--text-tertiary)}.sd-conf-medium{background:#fef3c7;color:#92400e}.sd-conf-low{background:#fee2e2;color:#b91c1c}.sd-conf-judge{background:#ede9fe;color:#6d28d9;cursor:help}.sd-dim-table{font-size:12px}.sd-dim-table th{padding:6px 8px}.sd-dim-table td{padding:5px 8px}.sd-run-row{cursor:pointer}.sd-run-row:hover{background:var(--bg-tertiary)}.sd-scoring{color:var(--color-primary);font-weight:600}.sd-menu{position:relative;display:inline-block}.sd-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:20;min-width:160px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 6px 20px #0000002e;overflow:hidden;padding:4px}.sd-menu-item{display:block;width:100%;text-align:left;padding:8px 10px;background:none;border:none;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text-primary)}.sd-menu-item:hover:not(:disabled){background:var(--bg-tertiary)}.sd-menu-item:disabled{opacity:.45;cursor:not-allowed}.sd-cfgdiff{margin:16px 0}.sd-rawjson{font-family:var(--font-mono, monospace);font-size:11px;line-height:1.5;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word}.feature-card{border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:16px;margin-bottom:12px}.feature-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.feature-fields-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex:1}.feature-field{margin-bottom:0}.feature-field-full{margin-bottom:8px}.feature-field-label{display:block;font-size:12px;color:var(--text-secondary, #666);margin-bottom:2px}.feature-field-input{width:100%;padding:4px 8px;border:1px solid var(--border-color, #ccc);border-radius:4px;font-size:13px;font-family:inherit;background:var(--bg-secondary, var(--bg-primary));color:var(--text-primary);box-sizing:border-box}.feature-field-input::placeholder{color:var(--text-tertiary)}.feature-field-input:focus{outline:none;border-color:var(--color-primary)}.feature-remove-btn{padding:4px 8px;background:none;border:none;color:var(--text-secondary, #999);cursor:pointer;font-size:18px;margin-left:8px;line-height:1}.feature-remove-btn:hover{color:#dc2626}.feature-actions{display:flex;gap:12px;margin-top:16px}.feature-add-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:5px;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s}.feature-add-btn:hover{background:#3d8bef}.feature-save-btn{padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;height:32px;transition:background .2s}.feature-save-btn:hover:not(:disabled){background:#3d8bef}.feature-save-btn:disabled{background:#a0c4ff;cursor:not-allowed}.feature-status{margin-top:8px;display:inline-block}.subscriptions-page{max-width:900px}.subscriptions-page h1{margin:0 0 20px;font-size:24px;color:var(--text-primary)}.sub-def-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.sub-def-card{border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.sub-def-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;transition:background .15s ease}.sub-def-header:hover{background:var(--bg-secondary)}.sub-def-header-left{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.sub-def-name{font-weight:600;font-size:14px;color:var(--text-primary)}.sub-def-id{font-size:12px;color:var(--text-tertiary);font-family:monospace}.sub-def-desc{font-size:12px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sub-def-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.sub-def-eligibility-count{font-size:12px;color:var(--text-tertiary);padding:2px 8px;background:var(--bg-tertiary);border-radius:10px}.expand-icon{font-size:10px;color:var(--text-tertiary)}.sub-def-eligibilities{border-top:1px solid var(--border-color);padding:12px 16px;background:var(--bg-secondary)}.sub-def-edit-fields{display:flex;gap:12px;margin-bottom:12px}.sub-def-edit-fields label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary)}.sub-def-edit-fields input{padding:6px 10px;border:1px solid var(--border-color);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary)}.eligibility-header{display:flex;justify-content:space-between;padding:4px 0 8px;font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.eligibility-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--border-color)}.eligibility-row:last-of-type{border-bottom:none}.eligibility-row.set{background:var(--selected-bg);margin:0 -16px;padding:6px 16px}.eligibility-row-left{display:flex;align-items:baseline;gap:8px;flex:1;min-width:0}.eligibility-feature-name{font-size:13px;font-weight:500;color:var(--text-primary)}.eligibility-feature-id{font-size:11px;color:var(--text-tertiary);font-family:monospace}.eligibility-row-right select{padding:4px 8px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:12px;min-width:140px;background:var(--bg-primary);color:var(--text-primary)}.sub-def-actions-inline{margin-top:12px;padding-top:8px;border-top:1px solid var(--border-color)}.remove-sub-btn{padding:4px 12px;border:1px solid var(--color-error);border-radius:6px;background:transparent;color:var(--color-error);font-size:12px;cursor:pointer;transition:all .15s ease}.remove-sub-btn:hover{background:var(--color-error);color:#fff}.add-sub-form{border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-top:12px;background:var(--bg-secondary)}.add-sub-form h3{margin:0 0 12px;font-size:15px;color:var(--text-primary)}.add-sub-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.add-sub-fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary)}.add-sub-fields input{padding:6px 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary)}.add-sub-form-actions{display:flex;align-items:center;gap:8px}.add-sub-btn{padding:8px 16px;border:1px dashed var(--border-color-dark);border-radius:8px;background:transparent;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .15s ease;margin-top:8px}.add-sub-btn:hover{background:var(--bg-secondary);border-color:var(--color-accent);color:var(--color-accent)}.user-search-section{position:relative;margin-bottom:20px}.user-search-input{width:100%;padding:10px 14px;border:1px solid var(--border-color-dark);border-radius:8px;font-size:14px;box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary)}.user-search-results{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-md);z-index:10;max-height:300px;overflow-y:auto}.user-search-result-item{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;transition:background .15s}.user-search-result-item:hover{background:var(--bg-secondary)}.user-result-name{font-weight:500;color:var(--text-primary);font-size:14px}.user-result-email{font-size:12px;color:var(--text-tertiary)}.user-subs-section{margin-top:8px}.user-subs-header{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.user-subs-header h3{margin:0;font-size:16px;color:var(--text-primary)}.user-subs-email{font-size:13px;color:var(--text-tertiary)}.sub-status-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.sub-status-badge.active{background:var(--status-success-bg);color:var(--status-success-text)}.sub-status-badge.cancelled{background:var(--bg-tertiary);color:var(--text-tertiary)}.sub-status-badge.expired{background:var(--status-warning-bg);color:var(--status-warning-text)}.cancel-sub-btn{padding:4px 10px;border:1px solid var(--color-error);border-radius:6px;background:transparent;color:var(--color-error);font-size:12px;cursor:pointer;transition:all .15s ease}.cancel-sub-btn:hover:not(:disabled){background:var(--color-error);color:#fff}.cancel-sub-btn:disabled{opacity:.5;cursor:not-allowed}.assign-form{border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-top:16px;background:var(--bg-secondary)}.assign-form h4{margin:0 0 12px;font-size:14px;color:var(--text-primary)}.assign-form-fields{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap}.assign-form-fields label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:500;color:var(--text-secondary);flex:1;min-width:150px}.assign-form-fields select,.assign-form-fields input{padding:6px 10px;border:1px solid var(--border-color-dark);border-radius:6px;font-size:13px;background:var(--bg-primary);color:var(--text-primary)}.assign-form-actions{display:flex;align-items:center;gap:8px}.admin-users-page h2{margin-top:0;margin-bottom:24px}.admin-users-actions{margin-bottom:20px}.admin-users-actions button{padding:8px 16px;background:var(--accent-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px}.admin-users-actions button:hover{opacity:.9}.admin-users-page .actions-cell{display:flex;gap:8px}.admin-users-page .actions-cell button{padding:4px 10px;border:1px solid var(--border-color);border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:var(--text-primary)}.admin-users-page .actions-cell button:hover{background:var(--bg-secondary)}.admin-users-page .actions-cell button.danger{color:#e74c3c;border-color:#e74c3c}.admin-users-page .actions-cell button.danger:hover{background:#e74c3c1a}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--bg-primary);border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal-content h3{margin-top:0;margin-bottom:16px}.modal-content .form-group{margin-bottom:12px}.modal-content label{display:block;font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text-secondary)}.modal-content input{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;background:var(--bg-secondary);color:var(--text-primary);box-sizing:border-box}.modal-content .role-checkbox-list{display:flex;flex-direction:column;gap:6px}.modal-content .role-checkbox-list label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;margin-bottom:0;color:var(--text-primary);cursor:pointer}.modal-content .role-checkbox-list input[type=checkbox]{width:auto;padding:0;margin:0;flex:0 0 auto}.modal-content .role-checkbox-list .role-name{font-family:monospace;white-space:nowrap}.modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.modal-actions button{padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px}.modal-actions .btn-primary{background:var(--accent-primary);color:#fff;border:none}.modal-actions .btn-secondary{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.empty-state{text-align:center;padding:40px;color:var(--text-secondary)}.tenants-page{padding:var(--spacing-lg);max-width:var(--max-content-width)}.tenants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.tenants-header h1{margin:0}.tenants-id{background:var(--code-bg);color:var(--code-text);padding:2px var(--spacing-xs);border-radius:var(--radius-sm);font-size:var(--font-sm);font-family:monospace}.tenants-row--reserved{background:var(--status-warning-bg-subtle)}.tenants-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.tenants-error{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-sm)}.tenants-info{background:var(--status-info-bg);color:var(--status-info-text);border:1px solid var(--status-info-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-sm)}.tenants-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.tenants-form small{color:var(--text-tertiary);font-size:var(--font-xs)}.hard-delete-modal{display:flex;flex-direction:column;gap:var(--spacing-md)}.hard-delete-warning{background:var(--status-error-bg);color:var(--status-error-text);border:1px solid var(--status-error-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-sm)}.hard-delete-warning strong{display:block;margin-bottom:var(--spacing-xs)}.hard-delete-counts{border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.hard-delete-counts table{width:100%;border-collapse:collapse;font-size:var(--font-sm)}.hard-delete-counts th,.hard-delete-counts td{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;border-bottom:1px solid var(--border-color)}.hard-delete-counts tr:last-child td{border-bottom:none}.hard-delete-counts tr.zero-row td{color:var(--text-tertiary)}.hard-delete-counts td.count-cell{text-align:right;font-variant-numeric:tabular-nums;font-family:monospace}.hard-delete-counts tr.total-row td{background:var(--surface-subtle);font-weight:600}.hard-delete-bypasses{display:flex;flex-direction:column;gap:var(--spacing-xs)}.hard-delete-bypasses label{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:var(--font-sm);cursor:pointer}.hard-delete-bypasses label.veto-required{color:var(--status-error-text)}.hard-delete-bypasses input[type=checkbox]{margin-top:3px}.hard-delete-confirm-input{margin-top:var(--spacing-sm)}.hard-delete-result{background:var(--status-success-bg);color:var(--status-success-text);border:1px solid var(--status-success-border);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-sm)}.feedback-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.feedback-form-type{display:flex;gap:var(--spacing-sm)}.feedback-type-btn{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-secondary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-fast)}.feedback-type-btn:hover{border-color:var(--color-primary);color:var(--text-primary)}.feedback-type-btn.active{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--font-semibold)}.feedback-form-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.feedback-form-field label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.feedback-form-row{display:flex;gap:var(--spacing-md)}.feedback-form-row .feedback-form-field{flex:1}@media(max-width:640px){.feedback-form-row{flex-direction:column}}.feedback-form-field input,.feedback-form-field textarea,.feedback-form-field select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:border-color var(--transition-fast)}.feedback-form-field input:focus,.feedback-form-field textarea:focus,.feedback-form-field select:focus{outline:none;border-color:var(--color-primary)}.feedback-form-field textarea{resize:vertical;min-height:100px}.feedback-form-error{color:var(--color-error);font-size:var(--font-sm);margin:0}.feedback-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.feedback-attachments{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.feedback-attachment{position:relative;width:96px;height:96px;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-secondary)}.feedback-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block}.feedback-attachment-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000059;color:#fff;font-weight:var(--font-semibold)}.feedback-attachment-overlay--error{background:#dc2626bf;font-size:1.4rem}.feedback-attachment-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:feedback-attachment-spin .8s linear infinite}@keyframes feedback-attachment-spin{to{transform:rotate(360deg)}}.feedback-attachment--error .feedback-attachment-thumb{opacity:.5}.feedback-attachment-remove{position:absolute;top:4px;right:4px;width:20px;height:20px;border-radius:50%;border:none;background:#0009;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.feedback-attachment-remove:hover{background:#000000d9}.feedback-attachment-add{width:96px;height:96px;border-radius:var(--radius-md);border:1px dashed var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:var(--font-sm);cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast)}.feedback-attachment-add:hover{border-color:var(--color-primary);color:var(--color-primary)}.feedback-attachment-add>span[aria-hidden]{font-size:1.6rem;line-height:1}.feedback-attachment-add-label{font-size:var(--font-xs, .75rem)}.feedback-attachment-hint{margin:var(--spacing-xs) 0 0;font-size:var(--font-xs, .75rem);color:var(--text-tertiary, var(--text-secondary))}.feedback-detail{display:flex;flex-direction:column;gap:var(--spacing-md)}.feedback-detail-back{display:inline-flex;align-items:center;gap:var(--spacing-xs);background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;padding:0;align-self:flex-start}.feedback-detail-back:hover{text-decoration:underline}.feedback-detail-edit-heading{margin:0;font-size:var(--font-lg);color:var(--text-primary)}.feedback-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-md)}.feedback-detail-title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.feedback-detail-title-row h2{margin:0;font-size:var(--font-lg);font-weight:var(--font-semibold)}.feedback-linked-object{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm)}.feedback-linked-object-label{color:var(--text-secondary);font-weight:var(--font-medium)}.feedback-linked-object-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;padding:0}.feedback-linked-object-link:hover{text-decoration:underline}.feedback-linked-object-id{color:var(--text-tertiary);font-family:monospace;font-size:var(--font-xs)}.feedback-detail-meta{font-size:var(--font-sm);color:var(--text-tertiary);margin-top:var(--spacing-xs)}.feedback-status-control{display:flex;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.feedback-status-control label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary)}.feedback-status-control select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary)}.feedback-context{font-size:var(--font-xs);color:var(--text-tertiary);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border-radius:var(--radius-md)}.feedback-linked-detail{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--bg-secondary)}.feedback-linked-detail-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--border-color)}.feedback-linked-detail-type{font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.feedback-linked-detail-row{display:flex;gap:var(--spacing-md);padding:4px 0;font-size:var(--font-sm);line-height:1.5}.feedback-linked-detail-label{flex-shrink:0;width:80px;font-weight:var(--font-medium);color:var(--text-secondary)}.feedback-linked-detail-value{color:var(--text-primary);word-break:break-word}.feedback-linked-detail-truncate{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.feedback-linked-detail-loading{font-size:var(--font-sm);color:var(--text-tertiary);margin:0;padding:var(--spacing-xs) 0}.feedback-opened-by-change{background:none;border:none;color:var(--color-primary);font-size:var(--font-xs);cursor:pointer;padding:0;margin-left:var(--spacing-xs);text-decoration:underline}.feedback-opened-by-edit{display:inline-flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.feedback-opened-by-label{font-weight:var(--font-medium)}.feedback-opened-by-input{padding:2px var(--spacing-xs);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);width:200px}.feedback-opened-by-btn{padding:2px var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-xs);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer}.feedback-opened-by-btn:hover:not(:disabled){border-color:var(--color-primary)}.feedback-opened-by-error{color:var(--color-error);font-size:var(--font-xs)}.feedback-admin-edit{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary)}.feedback-admin-edit-row{display:flex;flex-direction:column;gap:var(--spacing-xs)}.feedback-admin-edit-row--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.feedback-admin-edit-row--split>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.feedback-admin-edit-label{font-size:var(--font-xs);font-weight:var(--font-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.feedback-admin-edit-readonly{font-size:var(--font-sm);color:var(--text-primary);padding:var(--spacing-xs) 0}.feedback-admin-edit-from{font-size:var(--font-sm);color:var(--text-primary)}.feedback-admin-edit-input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);width:100%;box-sizing:border-box}.feedback-admin-edit-textarea{resize:vertical;font-family:inherit;line-height:1.5}.feedback-admin-edit-actions{display:flex;justify-content:flex-end;align-items:center;gap:var(--spacing-md)}.feedback-admin-edit-error{color:var(--color-error);font-size:var(--font-sm)}@media(max-width:640px){.feedback-admin-edit-row--split{grid-template-columns:1fr}}.feedback-link-object-btn{background:none;border:1px dashed var(--border-color);border-radius:var(--radius-md);color:var(--color-primary);font-size:var(--font-sm);padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;margin-bottom:var(--spacing-sm)}.feedback-link-object-btn:hover{background:var(--bg-tertiary)}.feedback-link-object-editor{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.feedback-link-object-row{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.feedback-link-object-row select{width:140px}.feedback-link-object-row input{flex:1;min-width:200px}.feedback-page{padding:var(--spacing-lg)}.feedback-page h1{margin:0;font-size:var(--font-xl);font-weight:var(--font-bold)}.feedback-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.feedback-empty{text-align:center;padding:var(--spacing-2xl);color:var(--text-tertiary)}.feedback-empty p{margin:var(--spacing-xs) 0}.feedback-table{width:100%}.feedback-title-cell{font-weight:var(--font-medium)}.dt-row--unread .feedback-title-cell{font-weight:var(--font-semibold)}.feedback-unread-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--color-primary);margin-left:var(--spacing-xs);vertical-align:middle}.feedback-object-cell{font-size:var(--font-xs);color:var(--text-secondary)}.feedback-from-role{color:var(--text-tertiary);font-size:var(--font-xs)}.feedback-filters{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-lg)}.feedback-filters select,.feedback-filters .feedback-email-filter{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary)}.feedback-filters .feedback-email-filter{min-width:220px}.feedback-count{font-size:var(--font-sm);color:var(--text-tertiary);margin-left:auto}.feedback-contact{margin-top:var(--spacing-xl);padding-top:var(--spacing-md);border-top:1px solid var(--border-color);font-size:var(--font-sm);color:var(--text-tertiary);text-align:center}.feedback-contact a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-medium)}.feedback-contact a:hover{text-decoration:underline}.feedback-type-label{font-size:var(--font-xs);font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;white-space:nowrap}.feedback-type-bug{background:var(--status-error-bg, #fef2f2);color:var(--color-error)}.feedback-type-suggestion{background:var(--status-info-bg, #eff6ff);color:var(--color-info, #3b82f6)}@media(max-width:640px){.feedback-page{padding:var(--spacing-md) var(--spacing-sm)}.feedback-page-header{flex-wrap:wrap;gap:var(--spacing-sm)}}.lm-page{padding:var(--spacing-lg);max-width:1100px}.lm-page h1{margin:0 0 var(--spacing-lg);font-size:var(--font-xl);font-weight:var(--font-bold)}.lm-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.lm-header h1{margin:0}.lm-filters{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-lg)}.lm-filters select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary)}.lm-count{font-size:var(--font-sm);color:var(--text-tertiary);margin-left:auto}.lm-empty{color:var(--text-tertiary);text-align:center;padding:var(--spacing-2xl)}.lm-name{font-weight:var(--font-medium)}.lm-desc-preview{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:2px}.lm-scope{font-size:11px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.lm-scope-generic{background:#f3f4f6;color:var(--text-tertiary)}.lm-scope-subject{background:#eff6ff;color:#3b82f6}.lm-scope-module{background:#fef3c7;color:#d97706}.lm-targeting{font-size:var(--font-sm);color:var(--text-secondary)}.lm-status{font-size:11px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm)}.lm-active{background:#dcfce7;color:#16a34a}.lm-inactive{background:#f3f4f6;color:var(--text-tertiary)}.lm-date{font-size:var(--font-sm);color:var(--text-tertiary);white-space:nowrap}.lm-back{display:inline-flex;background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;padding:0;margin-bottom:var(--spacing-md)}.lm-back:hover{text-decoration:underline}.lm-form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:700px}.lm-form-field{display:flex;flex-direction:column;gap:4px;flex:1}.lm-form-field label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-primary)}.lm-hint{font-weight:400;color:var(--text-tertiary);font-size:var(--font-xs)}.lm-form-field input,.lm-form-field textarea,.lm-form-field select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.lm-form-field textarea{resize:vertical}.lm-form-row{display:flex;gap:var(--spacing-md)}.lm-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.lm-form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.lm-form-actions .btn-secondary{padding:10px 20px;background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.lm-form-actions .btn-secondary:hover{background:var(--border-color)}.lm-error{color:var(--color-error);font-size:var(--font-sm);padding:var(--spacing-sm);background:#fef2f2;border-radius:var(--radius-md)}.wnt-page{padding:var(--spacing-lg);max-width:1100px}.wnt-page h1{margin:0 0 var(--spacing-lg);font-size:var(--font-xl);font-weight:var(--font-bold)}.wnt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.wnt-header h1{margin:0}.wnt-filters{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-lg)}.wnt-filters select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary)}.wnt-count{font-size:var(--font-sm);color:var(--text-tertiary);margin-left:auto}.wnt-empty{color:var(--text-tertiary);text-align:center;padding:var(--spacing-2xl)}.wnt-title{font-weight:var(--font-medium)}.wnt-body-preview{font-size:var(--font-xs);color:var(--text-tertiary);margin-top:2px}.wnt-target{font-size:11px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase}.wnt-target-all{background:#eff6ff;color:#3b82f6}.wnt-target-student{background:#f0fdf4;color:#16a34a}.wnt-target-teacher{background:#fef3c7;color:#d97706}.wnt-priority{font-size:var(--font-sm);text-align:center}.wnt-platforms{font-size:var(--font-sm);color:var(--text-secondary)}.wnt-status{font-size:11px;font-weight:var(--font-semibold);padding:2px 8px;border-radius:var(--radius-sm)}.wnt-active{background:#dcfce7;color:#16a34a}.wnt-inactive{background:#f3f4f6;color:var(--text-tertiary)}.wnt-date{font-size:var(--font-sm);color:var(--text-tertiary);white-space:nowrap}.wnt-back{display:inline-flex;background:none;border:none;color:var(--color-primary);font-size:var(--font-sm);font-weight:var(--font-medium);cursor:pointer;padding:0;margin-bottom:var(--spacing-md)}.wnt-back:hover{text-decoration:underline}.wnt-form{display:flex;flex-direction:column;gap:var(--spacing-md);max-width:700px}.wnt-form-field{display:flex;flex-direction:column;gap:4px;flex:1}.wnt-form-field label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-primary)}.wnt-hint{font-weight:400;color:var(--text-tertiary);font-size:var(--font-xs)}.wnt-form-field input,.wnt-form-field textarea,.wnt-form-field select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--font-sm);background:var(--bg-primary);color:var(--text-primary);font-family:inherit}.wnt-form-field textarea{resize:vertical}.wnt-form-row{display:flex;gap:var(--spacing-md)}.wnt-checkbox-group{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.wnt-form-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.wnt-form-actions .btn-secondary{padding:10px 20px;background:var(--bg-tertiary, #f3f4f6);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.wnt-form-actions .btn-secondary:hover{background:var(--border-color)}.wnt-error{color:var(--color-error);font-size:var(--font-sm);padding:var(--spacing-sm);background:#fef2f2;border-radius:var(--radius-md)}.wnt-type{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500}.wnt-type-tip{background:var(--status-info-bg);color:var(--status-info-text)}.wnt-type-whats-new{background:var(--status-success-bg);color:var(--status-success-text)}.wnt-fieldset{border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-md) 0}.wnt-fieldset legend{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--text-secondary);padding:0 var(--spacing-xs)}.wnt-form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--spacing-md)}.wnt-platform-override{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color)}.wnt-platform-override:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.wnt-platform-label{font-size:var(--font-sm);font-weight:var(--font-bold);color:var(--text-primary);margin-bottom:var(--spacing-xs)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh}.sidebar-layout-content>*:not(.split-layout){max-width:none}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary)}.filters-bar{display:flex;align-items:center;gap:8px;margin-bottom:12px}.filters-bar select,.filters-bar input[type=text],.filters-bar input[type=date],.filters-bar button{height:32px;padding:0 12px;border:1px solid var(--border-color-dark);border-radius:6px;background:var(--bg-primary);font-size:13px;color:var(--text-secondary);box-sizing:border-box;white-space:nowrap}.filters-bar select{cursor:pointer}.filters-bar input[type=text]::placeholder{color:var(--text-tertiary)}.filters-bar button{cursor:pointer;transition:all .2s}.filters-bar button:hover:not(:disabled){background:var(--bg-tertiary)}.filters-bar button:disabled{opacity:.5;cursor:not-allowed}.filters-bar .escalated-filter{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.filters-bar .escalated-filter input{cursor:pointer}.filters-bar .btn-danger{color:var(--status-error-text);border-color:var(--status-error-border)}.filters-bar .sui-pagination{margin-left:auto}
