:root{--primary-50: #eef2ff;--primary-100: #e0e7ff;--primary-200: #c7d2fe;--primary-300: #a5b4fc;--primary-400: #818cf8;--primary-500: #6366f1;--primary-600: #4f46e5;--primary-700: #4338ca;--primary-800: #3730a3;--primary-900: #312e81;--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--navy-dark: #0f172a;--navy-surface: #1e293b;--navy-border: #334155;--slate-bg: #f8fafc;--accent-cyan: #06b6d4;--accent-purple: #8b5cf6;--accent-pink: #ec4899;--accent-amber: #f59e0b;--accent-emerald: #10b981;--accent-rose: #f43f5e;--gradient-primary: linear-gradient(135deg, #4f46e5 0%, #14b8a6 100%);--gradient-hero: linear-gradient(135deg, #4f46e5 0%, #0d9488 60%, #f59e0b 100%);--gradient-card: linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .85) 100%);--gradient-glass: linear-gradient(135deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .04) 100%);--gradient-badge: linear-gradient(135deg, rgba(79, 70, 229, .12) 0%, rgba(20, 184, 166, .12) 100%);--gradient-subtle: linear-gradient(180deg, rgba(238, 242, 255, .5) 0%, #ffffff 100%);--success: #10b981;--success-bg: #d1fae5;--success-text: #065f46;--warning: #f59e0b;--warning-bg: #fef3c7;--warning-text: #92400e;--danger: #ef4444;--danger-bg: #fee2e2;--danger-text: #991b1b;--info: #3b82f6;--info-bg: #dbeafe;--info-text: #1e40af;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display: "Outfit", sans-serif;--font-mono: "JetBrains Mono", monospace;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-smooth: .35s cubic-bezier(.16, 1, .3, 1);--sidebar-width: 270px;--sidebar-collapsed-width: 80px;--topbar-height: 70px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-glow: 0 0 25px rgba(99, 102, 241, .25)}:root,[data-theme=light],[data-theme=dark]{--bg-page: #f8fafc;--bg-surface: #ffffff;--bg-surface-elevated: #ffffff;--bg-surface-subtle: #f1f5f9;--bg-hover: #f1f5f9;--bg-active: #e2e8f0;--text-main: #0f172a;--text-muted: #334155;--text-light: #475569;--text-accent: #4338ca;--text-inverse: #ffffff;--border-subtle: #e2e8f0;--border-strong: #cbd5e1;--border-focus: #4f46e5;--sidebar-bg: #ffffff;--sidebar-border: #e2e8f0;--topbar-bg: rgba(255, 255, 255, .95);--card-bg: #ffffff;--card-border: #e2e8f0;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(226, 232, 240, .8);--shadow-sm: 0 1px 2px 0 rgba(15, 23, 42, .05);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .07), 0 2px 4px -2px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .08), 0 4px 6px -4px rgba(15, 23, 42, .03);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .09), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-glow: 0 0 25px rgba(79, 70, 229, .15);--success: #059669;--success-bg: #ecfdf5;--success-text: #065f46;--warning: #d97706;--warning-bg: #fffbeb;--warning-text: #92400e;--danger: #dc2626;--danger-bg: #fef2f2;--danger-text: #991b1b;--info: #2563eb;--info-bg: #eff6ff;--info-text: #1e40af}[data-theme=dark]{--bg-page: #0b0f19;--bg-surface: #111827;--bg-surface-elevated: #1f2937;--bg-surface-subtle: #151d30;--bg-hover: #1e293b;--bg-active: #334155;--text-main: #f8fafc;--text-muted: #a3b1c6;--text-light: #8392a8;--text-accent: #a5b4fc;--text-inverse: #0f172a;--border-subtle: #1e293b;--border-strong: #334155;--border-focus: #818cf8;--sidebar-bg: #0d121f;--sidebar-border: #1e293b;--topbar-bg: rgba(13, 18, 31, .85);--card-bg: rgba(17, 24, 39, .85);--card-border: rgba(51, 65, 85, .5);--glass-bg: rgba(17, 24, 39, .65);--glass-border: rgba(255, 255, 255, .08);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -4px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .7), 0 8px 10px -6px rgba(0, 0, 0, .5);--shadow-glow: 0 0 35px rgba(99, 102, 241, .35);--success-bg: rgba(16, 185, 129, .15);--success-text: #34d399;--warning-bg: rgba(245, 158, 11, .15);--warning-text: #fbbf24;--danger-bg: rgba(239, 68, 68, .15);--danger-text: #f87171;--info-bg: rgba(59, 130, 246, .15);--info-text: #60a5fa}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-page);color:var(--text-main);line-height:1.5;min-height:100vh;transition:background-color var(--transition-base),color var(--transition-base);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;color:var(--text-main);line-height:1.25}h1{font-size:2.25rem;letter-spacing:-.025em}h2{font-size:1.75rem;letter-spacing:-.02em}h3{font-size:1.35rem;letter-spacing:-.015em}h4{font-size:1.15rem}h5{font-size:1rem}h6{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}p{color:var(--text-muted)}a{color:var(--text-accent);text-decoration:none;transition:color var(--transition-fast)}a:not(.btn):hover{color:var(--primary-600)}button,input,select,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border)}.gradient-text{background:var(--gradient-hero);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;border:1px solid transparent;transition:all var(--transition-fast);white-space:nowrap;outline:none}.btn:focus-visible{box-shadow:0 0 0 3px #6366f166}.btn:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 12px #4f46e54d}.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #4f46e566}.btn-secondary{background:var(--bg-surface-elevated);color:var(--text-main);border-color:var(--border-subtle)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-suspend{background:var(--danger, #ef4444);color:#fff;border:1px solid var(--danger, #ef4444);font-weight:600;box-shadow:0 2px 6px #ef444447;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:.35rem}.btn-suspend:hover:not(:disabled){background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 4px 12px #ef44446b;transform:translateY(-1px)}.btn-activate{background:var(--success, #10b981);color:#fff;border:1px solid var(--success, #10b981);font-weight:600;box-shadow:0 2px 6px #10b98147;transition:all .18s cubic-bezier(.16,1,.3,1);display:inline-flex;align-items:center;gap:.35rem}.btn-activate:hover:not(:disabled){background:#059669;border-color:#059669;color:#fff;box-shadow:0 4px 12px #10b9816b;transform:translateY(-1px)}.btn-success{background:var(--success);color:#fff}.btn-success:hover:not(:disabled){background:#059669}.btn-outline-primary{background:transparent;color:var(--text-accent);border-color:var(--text-accent)}.btn-outline-primary:hover:not(:disabled){background:var(--primary-50)}[data-theme=dark] .btn-outline-primary:hover:not(:disabled){background:#6366f126}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-main)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem;border-radius:var(--radius-sm)}.btn-lg{padding:.875rem 1.75rem;font-size:1.0625rem;border-radius:var(--radius-lg)}.btn-icon{padding:.5rem;border-radius:var(--radius-md)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:capitalize;letter-spacing:.02em}.badge-primary{background:#6366f126;color:var(--text-accent);border:1px solid rgba(99,102,241,.25)}.badge-success{background:var(--success-bg);color:var(--success-text);border:1px solid rgba(16,185,129,.2)}.badge-warning{background:var(--warning-bg);color:var(--warning-text);border:1px solid rgba(245,158,11,.2)}.badge-danger{background:var(--danger-bg);color:var(--danger-text);border:1px solid rgba(239,68,68,.2)}.badge-info{background:var(--info-bg);color:var(--info-text);border:1px solid rgba(59,130,246,.2)}.badge-neutral{background:var(--bg-surface-subtle);color:var(--text-muted);border:1px solid var(--border-subtle)}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--border-strong)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.card-title{font-size:1.125rem;font-weight:700;color:var(--text-main);display:flex;align-items:center;gap:var(--space-2)}.stat-card{position:relative;overflow:hidden;background:var(--card-bg, #ffffff);background-image:linear-gradient(165deg,#fffffffa,#f8fafcd1);border:1px solid var(--card-border, #e2e8f0);border-radius:18px;padding:1.25rem 1.25rem 1.15rem;box-shadow:0 1px 3px #0f172a0a,0 6px 18px -4px #0f172a0d;display:flex;flex-direction:column;justify-content:space-between;min-height:140px;transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s cubic-bezier(.16,1,.3,1),border-color .26s cubic-bezier(.16,1,.3,1);outline:none}.stat-card-accent-bar{position:absolute;top:0;left:0;right:0;height:3px;border-radius:18px 18px 0 0;transition:height .2s ease,opacity .2s ease;z-index:2}.stat-card.stat-color-primary .stat-card-accent-bar{background:linear-gradient(90deg,#4f46e5,#818cf8)}.stat-card.stat-color-info .stat-card-accent-bar{background:linear-gradient(90deg,#0284c7,#38bdf8)}.stat-card.stat-color-purple .stat-card-accent-bar{background:linear-gradient(90deg,#9333ea,#c084fc)}.stat-card.stat-color-success .stat-card-accent-bar{background:linear-gradient(90deg,#059669,#34d399)}.stat-card.stat-color-warning .stat-card-accent-bar,.stat-card.stat-color-amber .stat-card-accent-bar{background:linear-gradient(90deg,#d97706,#fbbf24)}.stat-card.stat-color-danger .stat-card-accent-bar{background:linear-gradient(90deg,#dc2626,#f87171)}.stat-card-ambient-glow{position:absolute;top:-40px;right:-40px;width:150px;height:150px;border-radius:50%;filter:blur(34px);opacity:.32;pointer-events:none;transition:opacity .26s ease,transform .26s ease;z-index:0}.stat-card.stat-color-primary .stat-card-ambient-glow{background:radial-gradient(circle,#6366f1 0%,transparent 70%)}.stat-card.stat-color-info .stat-card-ambient-glow{background:radial-gradient(circle,#0ea5e9 0%,transparent 70%)}.stat-card.stat-color-purple .stat-card-ambient-glow{background:radial-gradient(circle,#a855f7 0%,transparent 70%)}.stat-card.stat-color-success .stat-card-ambient-glow{background:radial-gradient(circle,#10b981 0%,transparent 70%)}.stat-card.stat-color-warning .stat-card-ambient-glow,.stat-card.stat-color-amber .stat-card-ambient-glow{background:radial-gradient(circle,#f59e0b 0%,transparent 70%)}.stat-card.stat-color-danger .stat-card-ambient-glow{background:radial-gradient(circle,#ef4444 0%,transparent 70%)}.stat-card:hover,.stat-card:focus-visible{transform:translateY(-4px);box-shadow:0 16px 32px -8px #0f172a1a,0 0 0 1px #6366f126;border-color:#cbd5e1e6}.stat-card:hover .stat-card-accent-bar,.stat-card:focus-visible .stat-card-accent-bar{height:4px}.stat-card:hover .stat-card-ambient-glow{opacity:.52;transform:scale(1.12)}.stat-card:hover .stat-card-icon{transform:scale(1.08) rotate(2deg)}.stat-card-header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;width:100%}.stat-card-meta{display:flex;flex-direction:column;min-width:0;flex:1}.stat-card-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem .5rem;min-width:0}.stat-card-title{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:var(--text-muted);line-height:1.25;margin:0}.stat-card-badge{font-size:.6875rem;font-weight:600;line-height:1;padding:.2rem .5rem;border-radius:var(--radius-full, 9999px);display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap;flex-shrink:0;letter-spacing:.01em}.stat-card-badge.stat-badge-neutral{background:var(--bg-surface-subtle, #f1f5f9);color:var(--text-muted, #475569);border:1px solid var(--border-subtle, #e2e8f0)}.stat-card-badge.stat-badge-warning{background:#fffbeb;color:#b45309;border:1px solid #fde68a}.stat-card-badge.stat-badge-success{background:#ecfdf5;color:#047857;border:1px solid #a7f3d0}.stat-badge-dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.stat-dot-warning{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b40;animation:stat-pulse 2s cubic-bezier(.4,0,.6,1) infinite}.stat-dot-success{background:#10b981;box-shadow:0 0 0 2px #10b98140}@keyframes stat-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}.stat-card-icon{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s ease;box-shadow:0 2px 6px -1px #0f172a0f}.stat-card-icon.color-primary{background:linear-gradient(135deg,#6366f124,#6366f10f);border:1px solid rgba(99,102,241,.22);color:#4f46e5}.stat-card-icon.color-info{background:linear-gradient(135deg,#0ea5e924,#0ea5e90f);border:1px solid rgba(14,165,233,.22);color:#0284c7}.stat-card-icon.color-purple{background:linear-gradient(135deg,#a855f724,#a855f70f);border:1px solid rgba(168,85,247,.22);color:#9333ea}.stat-card-icon.color-success{background:linear-gradient(135deg,#10b98124,#10b9810f);border:1px solid rgba(16,185,129,.22);color:#059669}.stat-card-icon.color-warning,.stat-card-icon.color-amber{background:linear-gradient(135deg,#f59e0b24,#f59e0b0f);border:1px solid rgba(245,158,11,.22);color:#d97706}.stat-card-icon.color-danger{background:linear-gradient(135deg,#ef444424,#ef44440f);border:1px solid rgba(239,68,68,.22);color:#dc2626}.stat-card-metric-row{position:relative;z-index:1;display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:.5rem .65rem;margin-top:.65rem;margin-bottom:.25rem}.stat-card-value{font-family:var(--font-display, "Outfit", -apple-system, sans-serif);font-size:2.125rem;font-weight:800;line-height:1.05;color:var(--text-main);letter-spacing:-.03em}.stat-card-trend{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;line-height:1;padding:.22rem .55rem;border-radius:var(--radius-full, 9999px);white-space:nowrap}.stat-card-trend.trend-positive{color:#059669;background:#10b9811f;border:1px solid rgba(16,185,129,.25)}.stat-card-trend.trend-negative{color:#dc2626;background:#ef44441f;border:1px solid rgba(239,68,68,.25)}.stat-card-trend.trend-neutral{color:var(--text-muted, #475569);background:var(--bg-surface-subtle, #f1f5f9);border:1px solid var(--border-subtle, #e2e8f0)}.stat-card-subtitle{position:relative;z-index:1;font-size:.8125rem;font-weight:500;color:var(--text-light);line-height:1.4;margin-top:.2rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}[data-theme=dark] .stat-card{background:linear-gradient(160deg,#131b2e,#0d1322);border-color:#ffffff14;box-shadow:0 4px 20px -2px #00000080}[data-theme=dark] .stat-card:hover,[data-theme=dark] .stat-card:focus-visible{box-shadow:0 16px 32px -4px #000000b3,0 0 0 1px #818cf84d;border-color:#ffffff26}[data-theme=dark] .stat-card-badge.stat-badge-neutral{background:#ffffff0f;color:#94a3b8;border-color:#ffffff1a}[data-theme=dark] .stat-card-badge.stat-badge-warning{background:#f59e0b26;color:#fbbf24;border-color:#f59e0b4d}[data-theme=dark] .stat-card-badge.stat-badge-success{background:#10b98126;color:#34d399;border-color:#10b9814d}[data-theme=dark] .stat-card-trend.trend-positive{color:#34d399;background:#10b9812e;border-color:#10b9814d}[data-theme=dark] .stat-card-trend.trend-neutral{color:#94a3b8;background:#ffffff0f;border-color:#ffffff1a}[data-theme=dark] .stat-card-icon.color-primary{color:#818cf8;border-color:#818cf84d}[data-theme=dark] .stat-card-icon.color-info{color:#38bdf8;border-color:#38bdf84d}[data-theme=dark] .stat-card-icon.color-purple{color:#c084fc;border-color:#c084fc4d}[data-theme=dark] .stat-card-icon.color-success{color:#34d399;border-color:#34d3994d}.form-group{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.form-label{font-size:.875rem;font-weight:600;color:var(--text-main);display:flex;align-items:center;justify-content:flex-start;gap:.25rem}.form-label .form-label-desc{margin-left:auto;font-size:.75rem;color:var(--text-muted);font-weight:400}.form-group:has(:is(input,select,textarea):required)>.form-label:after,.form-group:has(.csel-native:required)>.form-label:after,.form-group:has(:is(input,select,textarea):required)>label:not(.form-check):not(.btn):not(.exam-option):not(.mk-absent):after,.form-group:has(.csel-native:required)>label:not(.form-check):not(.btn):not(.exam-option):not(.mk-absent):after,div:has(>.form-label):has(:is(input,select,textarea):required)>.form-label:after,div:has(>.form-label):has(.csel-native:required)>.form-label:after,div:has(>label:not(.form-check):not(.btn):not(.exam-option):not(.mk-absent)):has(:is(input,select,textarea):required)>label:not(.form-check):not(.btn):not(.exam-option):not(.mk-absent):after,label:has(+:is(input,select,textarea):required):not(.form-check):not(.btn):not(.exam-option):not(.mk-absent):after,label:has(+* :is(input,select,textarea):required):not(.form-check):not(.btn):not(.exam-option):not(.mk-absent):after,.form-label.required:after,.form-label.is-required:after,label.required:after,label.is-required:after{content:"*";color:var(--danger, #ef4444);font-weight:700;margin-left:.2rem;line-height:1}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-main);font-size:.9375rem;transition:all var(--transition-fast);outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-light)}.form-error{font-size:.8125rem;color:var(--danger);font-weight:500;margin-top:.25rem}.checkbox-group{display:flex;align-items:center;gap:var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-custom{width:20px;height:20px;border-radius:var(--radius-sm);border:2px solid var(--border-strong);display:inline-flex;align-items:center;justify-content:center;transition:all var(--transition-fast);cursor:pointer}input[type=checkbox]:checked+.checkbox-custom{background:var(--primary-600);border-color:var(--primary-600);color:#fff}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--card-bg)}.table{width:100%;border-collapse:collapse;text-align:left;font-size:.875rem}.table th{background:var(--bg-surface-subtle);padding:.75rem 1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle)}.table td{padding:1rem;border-bottom:1px solid var(--border-subtle);color:var(--text-main);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg-hover)}.attendance-pills{display:inline-flex;background:var(--bg-surface-subtle);padding:3px;border-radius:var(--radius-full);gap:3px}.pill-btn{border:none;background:transparent;padding:4px 12px;border-radius:var(--radius-full);font-size:.8125rem;font-weight:700;cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted)}.pill-btn.active-present{background:var(--success);color:#fff;box-shadow:0 2px 6px #10b98166}.pill-btn.active-absent{background:var(--danger);color:#fff;box-shadow:0 2px 6px #ef444466}.pill-btn.active-late{background:var(--warning);color:#fff;box-shadow:0 2px 6px #f59e0b66}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;background:#0f172a85;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:99999;animation:fadeIn .2s cubic-bezier(.16,1,.3,1)}[data-theme=dark] .modal-overlay{background:#030712bf;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%)}.modal-content{background:var(--bg-surface, #ffffff);border:1px solid var(--border-subtle);border-radius:var(--radius-xl, 20px);width:100%;max-width:540px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #0f172a40,0 0 0 1px #0f172a0d;animation:scaleUpSpring .26s cubic-bezier(.16,1,.3,1);position:relative}[data-theme=dark] .modal-content{background:var(--bg-surface-elevated, #1e293b);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 60px -15px #000000b3,0 0 0 1px #ffffff0f}.modal-header{padding:1.25rem 1.75rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-subtle);background:linear-gradient(180deg,var(--bg-surface-subtle) 0%,transparent 100%);border-top-left-radius:var(--radius-xl, 20px);border-top-right-radius:var(--radius-xl, 20px)}.modal-header h3{font-size:1.15rem;font-weight:700;letter-spacing:-.015em;color:var(--text-main);margin:0}.modal-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-surface, #ffffff);color:var(--text-muted);cursor:pointer;transition:all .18s ease;flex-shrink:0}[data-theme=dark] .modal-close-btn{background:var(--bg-surface-elevated, #1e293b);border-color:#ffffff1a}.modal-close-btn:hover{background:var(--bg-hover);color:var(--text-main);transform:scale(1.06);border-color:var(--border-strong)}.modal-body{padding:1.5rem 1.75rem 1.75rem}.modal-footer{padding:1rem 1.75rem 1.25rem;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-surface-subtle);border-bottom-left-radius:var(--radius-xl, 20px);border-bottom-right-radius:var(--radius-xl, 20px)}.tab-list{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-6);overflow-x:auto}.tab-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:.75rem 1.25rem;border:none;background:transparent;color:var(--text-muted);font-weight:600;font-size:.9375rem;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);white-space:nowrap}.tab-btn:hover{color:var(--text-main)}.tab-btn.active{color:var(--primary-600);border-bottom-color:var(--primary-600)}[data-theme=dark] .tab-btn.active{color:var(--primary-400);border-bottom-color:var(--primary-400)}.alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:.875rem;position:relative;overflow:hidden}.alert-danger{background:var(--danger-bg);color:var(--danger-text);border:1px solid rgba(239,68,68,.2)}.alert-success{background:var(--success-bg);color:var(--success-text);border:1px solid rgba(16,185,129,.2)}.alert-info{background:var(--info-bg);color:var(--info-text);border:1px solid rgba(59,130,246,.2)}.alert-warning{background:var(--warning-bg);color:var(--warning-text);border:1px solid rgba(245,158,11,.2)}.alert-bottom-right{position:fixed;bottom:1.5rem;right:1.5rem;z-index:10000;max-width:420px;width:calc(100vw - 3rem);box-shadow:0 12px 28px -4px #0f172a33,0 4px 12px -2px #0f172a1a;border-radius:var(--radius-lg, 12px);margin-bottom:0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.alert-close-btn{background:transparent;border:none;cursor:pointer;color:inherit;opacity:.7;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-left:.5rem;transition:opacity .15s ease,background .15s ease;flex-shrink:0}.alert-close-btn:hover{opacity:1;background:#00000014}@media(max-width:640px){.alert-bottom-right{left:1rem;right:1rem;bottom:1rem;width:auto;max-width:none}}.alert-progress-bar{position:absolute;bottom:0;left:0;height:3px;animation-name:toastProgress;animation-timing-function:linear;animation-fill-mode:forwards;opacity:.85}.alert-danger .alert-progress-bar,.alert-error .alert-progress-bar{background:var(--danger, #ef4444)}.alert-success .alert-progress-bar{background:var(--success, #10b981)}.alert-info .alert-progress-bar{background:var(--primary-500, #3b82f6)}.alert-warning .alert-progress-bar{background:var(--warning, #f59e0b)}.glass-card{background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(226,232,240,.85)}[data-theme=dark] .glass-card{background:#1e293bd1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(51,65,85,.65)}.glass-dark{background:#0f172ae0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(51,65,85,.6)}.btn-teal{background:linear-gradient(135deg,#14b8a6,#0d9488);color:#fff;box-shadow:0 4px 12px #14b8a64d}.btn-teal:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px #14b8a666}.badge-teal{background:#14b8a61f;color:#0d9488;border:1px solid rgba(20,184,166,.25)}.badge-amber{background:#f59e0b1f;color:#d97706;border:1px solid rgba(245,158,11,.25)}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:9999;display:flex;flex-direction:column-reverse;gap:.75rem;pointer-events:none;max-width:420px;width:calc(100vw - 3rem)}.toast-card{position:relative;overflow:hidden;pointer-events:auto;background:var(--bg-surface-elevated, #ffffff);border-radius:var(--radius-lg, 12px);box-shadow:0 12px 28px -4px #0f172a29,0 4px 12px -2px #0f172a14;border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}.toast-card:hover{transform:translateY(-2px);box-shadow:0 16px 32px -4px #0f172a33}.toast-body{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem}.toast-icon-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px}.toast-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.toast-title{font-size:.875rem;font-weight:700;color:var(--text-main);line-height:1.25}.toast-message{font-size:.8125rem;color:var(--text-muted);line-height:1.4;word-break:break-word}.toast-close-btn{background:transparent;border:none;color:var(--text-light);cursor:pointer;border-radius:var(--radius-sm);padding:4px;display:flex;align-items:center;justify-content:center;transition:all .15s ease;margin-left:.25rem;flex-shrink:0}.toast-close-btn:hover{color:var(--text-main);background:var(--bg-hover)}.toast-progress-bar{position:absolute;bottom:0;left:0;height:3px;animation-name:toastProgress;animation-timing-function:linear;animation-fill-mode:forwards}.toast-success{border-left:4px solid var(--success)}.toast-success .toast-progress-bar{background:var(--success)}.toast-success .toast-icon-svg{color:var(--success)}.toast-error{border-left:4px solid var(--danger)}.toast-error .toast-progress-bar{background:var(--danger)}.toast-error .toast-icon-svg{color:var(--danger)}.toast-warning{border-left:4px solid var(--warning)}.toast-warning .toast-progress-bar{background:var(--warning)}.toast-warning .toast-icon-svg{color:var(--warning)}.toast-info{border-left:4px solid var(--primary-500)}.toast-info .toast-progress-bar{background:var(--primary-500)}.toast-info .toast-icon-svg{color:var(--primary-500)}@media(max-width:640px){.toast-container{left:1rem;right:1rem;bottom:1rem;width:auto;max-width:none}}.admin-hero-card{padding:1.75rem;background:linear-gradient(135deg,rgba(99,102,241,.08) 0%,rgba(147,51,234,.04) 50%,var(--card-bg) 100%);border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-xl, 18px);box-shadow:0 4px 20px -2px #6366f114;position:relative;overflow:hidden}[data-theme=dark] .admin-hero-card{background:linear-gradient(135deg,rgba(99,102,241,.12) 0%,rgba(147,51,234,.06) 50%,var(--card-bg) 100%);border-color:#6366f140;box-shadow:0 6px 24px -2px #0006}.admin-hero-card:after{content:"";position:absolute;top:-50%;right:-20%;width:320px;height:320px;background:radial-gradient(circle,rgba(99,102,241,.15) 0%,transparent 70%);pointer-events:none;filter:blur(40px)}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--success);display:inline-block;box-shadow:0 0 #10b981b3;animation:pulseDotLive 2s infinite}@keyframes pulseDotLive{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.btn-cta-attendance{background:linear-gradient(135deg,var(--primary-600) 0%,#4f46e5 100%);color:#fff;border:none;box-shadow:0 3px 12px #4f46e559;font-weight:600;transition:all .18s cubic-bezier(.16,1,.3,1)}.btn-cta-attendance:hover{background:linear-gradient(135deg,#4338ca,#3730a3);color:#fff;box-shadow:0 6px 18px #4f46e57a;transform:translateY(-1px)}.batch-row{transition:background-color .15s ease,transform .15s ease}.batch-row:hover{background-color:var(--bg-hover)!important}.nav-pill-group{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--bg-hover, #f1f5f9);border:1px solid var(--border-subtle, #e2e8f0);border-radius:var(--radius-lg, 12px);width:fit-content}.nav-pill-item{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border-radius:var(--radius-md, 8px);font-size:.875rem;font-weight:600;color:var(--text-muted, #64748b);background:transparent;border:none;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);white-space:nowrap}.nav-pill-item:hover{color:var(--text-main, #0f172a)}.nav-pill-item.active{background:var(--bg-surface, #ffffff);color:var(--primary-600, #4f46e5);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a}[data-theme=dark] .nav-pill-group{background:#ffffff0d;border-color:#ffffff14}[data-theme=dark] .nav-pill-item.active{background:var(--bg-surface, #1e293b);color:var(--primary-400, #818cf8);box-shadow:0 1px 4px #0006}.search-input-wrapper{position:relative;display:flex;align-items:center;flex:1;min-width:260px}.search-input-wrapper .search-icon-left{position:absolute;left:.875rem;color:var(--text-muted, #94a3b8);pointer-events:none;transition:color var(--transition-fast)}.search-input-wrapper:focus-within .search-icon-left{color:var(--primary-500, #6366f1)}.search-input-wrapper .form-input{width:100%;padding-left:2.5rem!important;padding-right:2.5rem!important}.search-clear-btn{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;background:var(--bg-hover, rgba(0, 0, 0, .06));color:var(--text-muted, #64748b);cursor:pointer;padding:0;transition:all var(--transition-fast)}.search-clear-btn:hover{background:#ef44441f;color:var(--danger, #ef4444)}[data-theme=dark] .search-clear-btn{background:#ffffff1a;color:var(--text-muted, #94a3b8)}[data-theme=dark] .search-clear-btn:hover{background:#ef444433;color:#f87171}.csc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.csc-wide{grid-column:1 / -1}.csc-field{min-width:0}.csc-control{position:relative}.csc-input{padding-right:2rem;text-overflow:ellipsis}.csc-caret{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none;font-size:.8rem}.csc-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;max-height:14rem;overflow-y:auto;margin:0;padding:.25rem;list-style:none;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:0 10px 24px #0f172a24}.csc-option{padding:.45rem .65rem;border-radius:6px;font-size:.9rem;color:var(--text-main);cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csc-option.is-active{background:var(--bg-hover)}.csc-option.is-selected{font-weight:600;color:var(--primary-500)}.csc-empty{padding:.5rem .65rem;color:var(--text-light);font-size:.875rem}@media(max-width:640px){.csc-grid{grid-template-columns:minmax(0,1fr)}}.bulk-bar{position:sticky;top:calc(var(--topbar-height, 64px) + .5rem);z-index:20;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1rem;margin:0 0 1rem;padding:.6rem .9rem;border:1px solid var(--primary-200, #c7d2fe);border-radius:var(--radius-md, 12px);background:var(--primary-50, #eef2ff);box-shadow:0 6px 18px #4f46e51f}.bulk-bar-all{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.9rem;color:var(--text-main);cursor:pointer}.bulk-bar-actions{display:flex;flex-wrap:wrap;gap:.5rem}.bulk-bar-actions .btn{white-space:nowrap}@media(max-width:640px){.bulk-bar{padding:.55rem .65rem;gap:.5rem;margin-bottom:.75rem;box-shadow:0 3px 10px #4f46e51a}.bulk-bar-all{font-size:.82rem;width:100%}.bulk-bar-actions{width:100%;flex-wrap:nowrap;gap:.4rem}.bulk-bar-actions .btn{flex:1 1 0;min-width:0;justify-content:center;padding:.4rem .5rem;font-size:.8rem;box-shadow:none}.bulk-bar-actions .btn-ghost{flex:0 0 auto}.bulk-bar-actions .btn-ghost span{display:none}}.row-check{width:1.05rem;height:1.05rem;accent-color:var(--primary-500, #6366f1);cursor:pointer;flex-shrink:0}.bc.is-picked,tr.is-picked>td{background:var(--primary-50, #eef2ff)}.bc.is-picked{outline:2px solid var(--primary-300, #a5b4fc)}.bc-head .row-check{margin-right:.15rem}.pick-tools{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-bottom:.75rem}.pick-search{position:relative;flex:1 1 14rem;min-width:0}.pick-search svg{position:absolute;left:.7rem;top:50%;transform:translateY(-50%);color:var(--text-light);pointer-events:none}.pick-search .form-input{padding-left:2.1rem}.pick-list{max-height:16rem;overflow-y:auto;display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem}.pick-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--bg-surface-subtle);border-radius:var(--radius-sm);cursor:pointer;min-width:0}.pick-row.is-picked{background:var(--primary-50)}.pick-row input[type=checkbox]{accent-color:var(--primary-500, #6366f1);flex-shrink:0}.pick-grow{flex:1;min-width:0;overflow-wrap:anywhere}.sess-row{display:flex;align-items:center;border-bottom:1px solid var(--border-subtle);padding-left:.9rem;gap:.25rem}.sess-row:last-child{border-bottom:none}.sess-row>.sess-card{flex:1;min-width:0;border-bottom:none}.sess-row:first-child:last-child{border-bottom:none}.sess-row.is-picked{background:var(--primary-50, #eef2ff)}.att-list>.sess-card:last-child,.att-list>.sess-row:last-child{border-bottom:none}.pick-empty{font-size:.85rem;color:var(--text-light);margin:.25rem 0}.pick-paste{margin-bottom:1rem}.pick-paste-body{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-top:.5rem}.pick-paste-body textarea{width:100%;resize:vertical}.pick-report{margin-top:.6rem;padding:.6rem .8rem;border-radius:var(--radius-sm);background:var(--bg-surface-subtle);font-size:.85rem;display:grid;gap:.25rem;overflow-wrap:anywhere}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleUpSpring{0%{opacity:0;transform:scale(.95)}70%{transform:scale(1.015)}to{opacity:1;transform:scale(1)}}@keyframes floatGentle{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulseGlow{0%,to{transform:scale(1);box-shadow:0 0 #4f46e559}50%{transform:scale(1.02);box-shadow:0 0 16px 4px #4f46e52e}}@keyframes pulseSubtle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}@keyframes shimmerWave{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes radarPing{0%{transform:scale(.95);opacity:1}75%,to{transform:scale(2.2);opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn .3s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-up{animation:slideUpFade .38s cubic-bezier(.16,1,.3,1) forwards}.animate-slide-down{animation:slideDownFade .32s cubic-bezier(.16,1,.3,1) forwards}.animate-scale-up{animation:scaleUpSpring .32s cubic-bezier(.16,1,.3,1) forwards}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulseSubtle 2s infinite ease-in-out}.animate-float-slow{animation:floatGentle 4.5s ease-in-out infinite}.animate-float-delay{animation:floatGentle 5s ease-in-out 1.2s infinite}.animate-ping{animation:radarPing 2s cubic-bezier(0,0,.2,1) infinite}.animate-glow{animation:pulseGlow 2.5s infinite ease-in-out}.stagger-1{animation-delay:60ms}.stagger-2{animation-delay:.12s}.stagger-3{animation-delay:.18s}.stagger-4{animation-delay:.24s}.stagger-5{animation-delay:.3s}button,.btn{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s cubic-bezier(.16,1,.3,1),background .18s ease,border-color .18s ease,color .18s ease}.btn:active:not(:disabled){transform:scale(.97)!important}.card-interactive{transition:transform .24s cubic-bezier(.16,1,.3,1),box-shadow .24s cubic-bezier(.16,1,.3,1),border-color .24s ease!important}.card-interactive:hover{transform:translateY(-4px);box-shadow:0 16px 32px -8px #0f172a1a,0 4px 12px -2px #0f172a0d!important;border-color:#cbd5e1!important}@keyframes slideInRight{0%{opacity:0;transform:translate(100%) scale(.95)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes toastProgress{0%{width:100%}to{width:0%}}.animate-slide-in-right{animation:slideInRight .35s cubic-bezier(.16,1,.3,1) forwards}.skeleton-shimmer{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmerWave 1.8s infinite}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-spin{animation-duration:2s!important;animation-iteration-count:infinite!important}}.landing-hero{position:relative;padding:5rem 1.5rem 6rem;background:linear-gradient(180deg,#eef2ffb3,#fff);text-align:center;overflow:hidden}.landing-hero-glow{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;max-width:1200px;height:420px;background:radial-gradient(ellipse at top,rgba(99,102,241,.22),rgba(20,184,166,.14),transparent 70%);pointer-events:none;z-index:0}.landing-hero-container{max-width:1100px;margin:0 auto;position:relative;z-index:1}.landing-trust-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.45rem 1.25rem;border-radius:9999px;background:#fff;border:1px solid #c7d2fe;box-shadow:0 2px 8px #4f46e51a;margin-bottom:1.75rem;font-size:.8125rem;font-weight:700;color:#4338ca;max-width:100%;text-align:left}.landing-hero-title{font-size:clamp(2rem,5vw,4.25rem);font-weight:800;line-height:1.15;color:#0f172a;letter-spacing:-.03em;margin-bottom:1.5rem;max-width:900px;margin-inline:auto}.landing-hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);color:#475569;line-height:1.65;max-width:740px;margin:0 auto 2.5rem;font-weight:400}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center;margin-bottom:3.5rem}.landing-hero-btn-primary{padding:.875rem 2.25rem;font-size:1rem;font-weight:700;border-radius:14px;box-shadow:0 10px 25px -4px #4f46e559;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.landing-hero-btn-secondary{padding:.875rem 2rem;font-size:1rem;font-weight:700;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;text-decoration:none}.landing-mockup-wrapper{position:relative;max-width:1060px;margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 25px 50px -12px #0f172a38;border:1px solid rgba(226,232,240,.9);background:#fff;text-align:left}.landing-mockup-topbar{background:#0f172a;padding:.85rem 1.25rem;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #1E293B;gap:.75rem}.landing-mockup-dots{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.landing-mockup-canvas{padding:1.75rem;background:#f8fafc}.landing-mockup-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.25rem}.landing-kpi-card{background:#fff;padding:1.15rem;border-radius:14px;border:1px solid #E2E8F0;box-shadow:0 1px 3px #0000000a;display:flex;flex-direction:column;transition:transform .15s ease,box-shadow .15s ease}.landing-mockup-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1rem}.landing-floating-pill-left{position:absolute;bottom:1.5rem;left:1.5rem;background:#fff;padding:.75rem 1.15rem;border-radius:14px;border:1px solid #E2E8F0;box-shadow:0 10px 25px -5px #0000001f;display:flex;align-items:center;gap:.75rem;z-index:10}.landing-floating-pill-right{position:absolute;top:3.5rem;right:1.5rem;background:#fff;padding:.75rem 1.15rem;border-radius:14px;border:1px solid #E2E8F0;box-shadow:0 10px 25px -5px #0000001f;display:flex;align-items:center;gap:.75rem;z-index:10}.landing-mobile-chips{display:none;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;text-align:left}.landing-trust-strip{margin-top:3.5rem;padding-top:2rem;border-top:1px solid rgba(226,232,240,.8);display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;font-size:.8125rem;font-weight:600;color:#475569}.landing-trust-strip-item{display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.35rem .5rem}.landing-section-badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.35rem .85rem;border-radius:9999px;margin-bottom:.75rem}.landing-section-title{font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:800;color:#0f172a;line-height:1.22;margin-bottom:1rem}.landing-section-desc{color:#475569;font-size:clamp(.95rem,1.8vw,1.05rem);line-height:1.6}.landing-video-section{padding:5rem 1.5rem;background:#fff;border-top:1px solid #E2E8F0}.landing-chapters-bar{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center;margin-bottom:2rem}.landing-chapter-btn{padding:.6rem 1.1rem;border-radius:12px;font-size:.8125rem;font-weight:700;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.landing-player-box{position:relative;border-radius:24px;overflow:hidden;background:#0f172a;border:1px solid #334155;box-shadow:0 25px 50px -12px #0f172a40}.landing-player-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:#1e293b;border-bottom:1px solid #334155;gap:.5rem}.landing-player-canvas{position:relative;min-height:360px;padding:2.5rem 1.5rem;background:linear-gradient(180deg,#1e293b,#0f172a);display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center}.landing-player-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:1.25rem;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);margin-top:1.5rem;text-align:center}.landing-player-footer{padding:.85rem 1.5rem;background:#0b0f19;border-top:1px solid #1E293B;display:flex;align-items:center;gap:1rem}.landing-stats-section{background:linear-gradient(135deg,#4338ca,#4f46e5,#0d9488);color:#fff;padding:3.5rem 1.5rem;border-top:1px solid #4338CA;border-bottom:1px solid #4338CA}.landing-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;text-align:center}.landing-stat-item{display:flex;flex-direction:column;align-items:center}.landing-stat-icon-wrapper{width:44px;height:44px;border-radius:12px;background:#ffffff29;display:flex;align-items:center;justify-content:center;margin-bottom:.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-stat-value{font-size:clamp(2rem,3.5vw,2.75rem);font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1.1}.landing-stat-label{font-size:.875rem;color:#c7d2fe;font-weight:600;margin-top:.35rem}.landing-about-section{padding:6rem 1.5rem;background:#fff}.landing-about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:3.5rem;align-items:center}.landing-about-card{border-radius:24px;padding:2.5rem;background:linear-gradient(135deg,#1e1b4b,#312e81,#0f172a);color:#fff;box-shadow:0 20px 40px -15px #0f172a4d;border:1px solid rgba(79,70,229,.3)}.landing-features-section{padding:6rem 1.5rem;background:#f8fafc;border-top:1px solid #E2E8F0}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1.75rem}.landing-feature-card{padding:2rem;border-radius:20px;background:#fff;border:1px solid #E2E8F0;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.landing-feature-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px -6px #0f172a14}.landing-demo-section{padding:6rem 1.5rem;background:#fff;border-top:1px solid #E2E8F0}.landing-persona-container{background:#f8fafc;border-radius:24px;border:1px solid #E2E8F0;padding:2.5rem;box-shadow:0 2px 8px #0000000a}.landing-persona-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2.5rem}.landing-persona-tab-btn{padding:.65rem 1.25rem;border-radius:12px;font-size:.875rem;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .15s ease;white-space:nowrap}.landing-persona-content-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:2.5rem;align-items:center}.landing-steps-section{padding:6rem 1.5rem;background:#f8fafc;border-top:1px solid #E2E8F0}.landing-steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2rem}.landing-step-card{padding:2rem;border-radius:20px;background:#fff;border:1px solid #E2E8F0;text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;transition:transform .2s ease,box-shadow .2s ease}.landing-step-card:hover{transform:translateY(-3px);box-shadow:0 10px 20px -4px #0000000f}.landing-security-section{padding:6rem 1.5rem;background:#0f172a;color:#fff}.landing-security-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2rem}.landing-security-card{background:#1e293b;padding:2rem;border-radius:18px;border:1px solid #334155;transition:transform .2s ease}.landing-security-card:hover{transform:translateY(-2px);border-color:#475569}.landing-register-section{padding:6rem 1.5rem;background:#fff;border-top:1px solid #E2E8F0}.landing-register-card{border-radius:24px;overflow:hidden;box-shadow:0 20px 40px -15px #00000014;border:1px solid #E2E8F0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.landing-register-left{background:linear-gradient(135deg,#3730a3,#4f46e5,#0d9488);color:#fff;padding:3rem 2.25rem;display:flex;flex-direction:column;justify-content:space-between}.landing-register-right{padding:3rem 2.25rem;display:flex;flex-direction:column;justify-content:center;background:#fff}.landing-faq-section{padding:6rem 1.5rem;background:#f8fafc;border-top:1px solid #E2E8F0}.landing-faq-item{background:#fff;border-radius:16px;box-shadow:0 1px 3px #00000008;overflow:hidden;transition:all .2s ease}.landing-faq-trigger{width:100%;padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;background:transparent;border:none;text-align:left;cursor:pointer}.landing-cta-section{padding:3rem 1.5rem 5rem;background:#f8fafc}.landing-cta-banner{max-width:1200px;margin:0 auto;padding:4.5rem 2.5rem;background:linear-gradient(135deg,#3730a3,#4f46e5,#0d9488);border-radius:24px;color:#fff;text-align:center;box-shadow:0 20px 40px -15px #4f46e54d}.landing-cta-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;align-items:center}@media(min-width:768px)and (max-width:1024px){.landing-hero{padding:4rem 1.5rem 5rem}.landing-mockup-kpis{grid-template-columns:repeat(3,1fr)}.landing-stats-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}.landing-features-grid,.landing-steps-grid,.landing-security-grid{grid-template-columns:repeat(2,1fr)}.landing-floating-pill-left{bottom:1rem;left:1rem;padding:.5rem .85rem}.landing-floating-pill-right{top:2.75rem;right:1rem;padding:.5rem .85rem}}@media(max-width:767px){.landing-hero{padding:3rem 1rem 3.5rem}.landing-trust-badge{padding:.35rem .95rem;font-size:.75rem;margin-bottom:1.25rem}.landing-hero-actions{flex-direction:column;width:100%;gap:.75rem;margin-bottom:2.5rem}.landing-hero-btn-primary,.landing-hero-btn-secondary{width:100%;padding:.85rem 1.5rem}.landing-mockup-wrapper{border-radius:18px}.landing-mockup-topbar{padding:.65rem .85rem}.landing-mockup-canvas{padding:1rem}.landing-mockup-kpis{grid-template-columns:1fr;gap:.75rem}.landing-mockup-split{grid-template-columns:1fr}.landing-floating-pill-left,.landing-floating-pill-right{display:none!important}.landing-mobile-chips{display:grid}.landing-trust-strip{grid-template-columns:1fr;gap:.85rem;margin-top:2.5rem;padding-top:1.5rem;text-align:center}.landing-chapters-bar{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem}.landing-chapter-btn{flex-shrink:0;padding:.5rem .85rem;font-size:.75rem}.landing-player-canvas{padding:1.75rem 1rem;min-height:300px}.landing-player-metrics{grid-template-columns:1fr;gap:.75rem;padding:1rem}.landing-player-footer{padding:.75rem 1rem;flex-wrap:wrap}.landing-player-footer>span:last-child{display:none}.landing-stats-section{padding:2.5rem 1rem}.landing-stats-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1rem}.landing-stat-value{font-size:1.85rem}.landing-stat-label{font-size:.75rem}.landing-about-section{padding:3.5rem 1rem}.landing-about-grid{gap:2rem}.landing-about-card{padding:1.5rem 1.25rem;border-radius:18px}.landing-features-section{padding:3.5rem 1rem}.landing-features-grid{grid-template-columns:1fr;gap:1.25rem}.landing-feature-card{padding:1.5rem 1.25rem}.landing-demo-section{padding:3.5rem 1rem}.landing-persona-container{padding:1.25rem 1rem;border-radius:18px}.landing-persona-tabs{display:flex;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:.5rem;margin-bottom:1.5rem}.landing-persona-tab-btn{flex-shrink:0;padding:.55rem .95rem;font-size:.8125rem}.landing-persona-content-grid{gap:1.5rem}.landing-steps-section{padding:3.5rem 1rem}.landing-steps-grid{grid-template-columns:1fr;gap:1.25rem}.landing-step-card{padding:1.5rem 1.25rem}.landing-security-section{padding:3.5rem 1rem}.landing-security-grid{grid-template-columns:1fr;gap:1.25rem}.landing-security-card{padding:1.5rem 1.25rem}.landing-register-section{padding:3.5rem 1rem}.landing-register-left,.landing-register-right{padding:2rem 1.25rem}.landing-faq-section{padding:3.5rem 1rem}.landing-faq-trigger{padding:1rem 1.15rem;font-size:.9375rem}.landing-cta-section{padding:2rem 1rem 3.5rem}.landing-cta-banner{padding:2.75rem 1.25rem;border-radius:18px}.landing-cta-actions{flex-direction:column;width:100%}.landing-cta-actions>*{width:100%}}@media(max-width:420px){.landing-stats-grid{grid-template-columns:1fr;gap:1.25rem}.landing-mobile-chips{grid-template-columns:1fr}.landing-mockup-topbar{flex-direction:column;align-items:flex-start;gap:.5rem}}.app-container{display:flex;min-height:100vh}.dashboard-layout{display:flex;min-height:100vh;width:100%}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);display:flex;flex-direction:column;position:fixed;top:0;bottom:0;left:0;z-index:100;transition:width var(--transition-base),transform var(--transition-base)}.sidebar-header{height:var(--topbar-height);padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--sidebar-border)}.sidebar-brand{font-family:var(--font-display);font-size:1.25rem;font-weight:800;color:var(--text-main);display:flex;align-items:center;gap:var(--space-2)}.sidebar-nav{flex:1;padding:var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);padding:var(--space-3) var(--space-3) var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:.625rem .875rem;border-radius:var(--radius-md);color:var(--text-muted);font-weight:500;font-size:.875rem;transition:all var(--transition-fast);text-decoration:none}.nav-item:hover{background:var(--bg-hover);color:var(--text-main)}.nav-item.active{background:var(--primary-50);color:var(--primary-600);font-weight:600}[data-theme=dark] .nav-item.active{background:#6366f126;color:var(--primary-400)}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--sidebar-border);display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-mobile-only{display:none!important}@media(max-width:768px){.sidebar-mobile-only{display:flex!important}}.main-wrapper{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;min-width:0;transition:margin-left var(--transition-base)}.topbar{height:var(--topbar-height);background:var(--topbar-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-8)}.topbar-left{display:flex;align-items:center;gap:var(--space-4)}.topbar-right{display:flex;align-items:center;gap:var(--space-3)}.content-area{flex:1;padding:var(--space-8);max-width:1400px;width:100%;margin:0 auto}.user-menu-pill{display:flex;align-items:center;gap:var(--space-3);padding:.35rem .65rem .35rem .35rem;border-radius:var(--radius-full);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-fast);max-width:220px}.user-menu-pill:hover{background:var(--bg-hover)}.user-menu-pill .user-info{display:flex;flex-direction:column;line-height:1.15;min-width:0;max-width:130px}.user-menu-pill .user-name{font-size:.8125rem;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.user-menu-pill .user-role{font-size:.7rem;color:var(--text-light);text-transform:capitalize;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8125rem}.grid-cols-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5, 1.25rem)}.grid-cols-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5, 1.25rem)}.grid-cols-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5, 1.25rem)}@media(max-width:1180px){.grid-cols-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(max-width:1024px){.grid-cols-3{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(max-width:768px){.grid-cols-4,.grid-cols-3,.grid-cols-2{gap:.85rem}}@media(max-width:560px){.grid-cols-4,.grid-cols-3,.grid-cols-2{grid-template-columns:1fr;gap:.75rem}.topbar{padding:0 var(--space-4)}.content-area{padding:var(--space-4)}}:root{--primary-500: #6366f1;--primary-600: #4f46e5;--gradient-primary: linear-gradient(135deg, #5b5bf0 0%, #4f46e5 45%, #0ea5a4 130%);--gradient-aurora: radial-gradient(60% 50% at 8% 0%, rgba(99, 102, 241, .1) 0%, transparent 60%), radial-gradient(45% 40% at 100% 8%, rgba(20, 184, 166, .09) 0%, transparent 60%);--ring: 0 0 0 4px rgba(99, 102, 241, .18);--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--ease-out: cubic-bezier(.22, 1, .36, 1);--sidebar-rail-width: 76px;--mobile-nav-height: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px)}:root,[data-theme=light]{--bg-page: #f6f7fb;--border-subtle: #e6e9f2;--card-border: #e8ebf3;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .04);--shadow-md: 0 1px 2px rgba(16, 24, 40, .04), 0 6px 16px -6px rgba(16, 24, 40, .08);--shadow-lg: 0 2px 4px rgba(16, 24, 40, .04), 0 16px 32px -12px rgba(16, 24, 40, .14);--shadow-xl: 0 4px 8px rgba(16, 24, 40, .04), 0 28px 48px -16px rgba(16, 24, 40, .2)}[data-theme=dark]{--bg-page: #0a0e1a;--gradient-aurora: radial-gradient(60% 50% at 8% 0%, rgba(99, 102, 241, .16) 0%, transparent 60%), radial-gradient(45% 40% at 100% 8%, rgba(20, 184, 166, .1) 0%, transparent 60%)}body{background-image:var(--gradient-aurora);background-attachment:fixed;font-feature-settings:"cv11","ss01";text-rendering:optimizeLegibility}::selection{background:#6366f138}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}h1{font-size:clamp(1.6rem,1.2rem + 1.6vw,2.25rem)}h2{font-size:clamp(1.35rem,1.1rem + 1vw,1.75rem)}.no-scrollbar{scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.btn{border-radius:var(--radius-md);letter-spacing:-.005em;transition:transform .16s var(--ease-out),box-shadow .2s ease,background .16s ease,border-color .16s ease,color .16s ease;-webkit-tap-highlight-color:transparent}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn:focus-visible{box-shadow:var(--ring)}.btn-primary{background:var(--gradient-primary);box-shadow:inset 0 1px #ffffff38,0 6px 16px -4px #4f46e573}.btn-primary:hover:not(:disabled){box-shadow:inset 0 1px #ffffff40,0 10px 24px -6px #4f46e58c;filter:saturate(1.08)}.btn-secondary{background:var(--bg-surface);border-color:var(--border-subtle);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{box-shadow:inset 0 1px #ffffff2e,0 6px 14px -4px #dc262666}.btn-success{box-shadow:inset 0 1px #ffffff2e,0 6px 14px -4px #05966966}.btn-sm{border-radius:10px}.btn-icon{width:40px;height:40px;padding:0}.btn-icon.btn-sm{width:34px;height:34px}.card{border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.card-hover:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.admin-hero-card{border-radius:var(--radius-xl)}.form-input,.form-select,.form-textarea{min-height:44px;border-radius:var(--radius-md);border-color:var(--border-subtle);background:var(--bg-surface);box-shadow:var(--shadow-sm)}.form-textarea{min-height:96px}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary-500);box-shadow:var(--ring)}.form-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:2.25rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center}.form-label{letter-spacing:-.005em}.badge{padding:.28rem .7rem;letter-spacing:.01em}.tab-list{scrollbar-width:none;border-bottom:none;gap:4px;padding:4px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:fit-content;max-width:100%}.tab-list::-webkit-scrollbar{display:none}.tab-btn{border:none;border-radius:12px;padding:.6rem 1.1rem;font-size:.9rem;border-bottom:none}.tab-btn.active,[data-theme=dark] .tab-btn.active{background:var(--bg-surface);color:var(--primary-600);border-bottom:none;box-shadow:var(--shadow-md)}[data-theme=dark] .tab-btn.active{color:var(--primary-400)}.table-container{border-radius:var(--radius-lg);-webkit-overflow-scrolling:touch}.table th{position:sticky;top:0;white-space:nowrap;font-size:.7rem;letter-spacing:.07em}.table td{padding:.9rem 1rem}.table tbody tr{transition:background .12s ease}.modal-overlay{align-items:center}.modal-content{border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overscroll-behavior:contain}.modal-header{position:sticky;top:0;z-index:2;background:var(--bg-surface);border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:1.1rem 1.5rem}[data-theme=dark] .modal-header{background:var(--bg-surface-elevated)}.modal-close-btn{width:36px;height:36px}.modal-body{padding:1.5rem}.modal-footer{position:sticky;bottom:0;padding:1rem 1.5rem calc(1rem + var(--safe-bottom));background:var(--bg-surface)}@keyframes sheetUp{0%{transform:translateY(100%);opacity:.6}to{transform:translateY(0);opacity:1}}@media(max-width:640px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{max-width:100%!important;width:100%;max-height:92dvh;border-radius:24px 24px 0 0;animation:sheetUp .32s var(--ease-out)}.modal-header{border-radius:24px 24px 0 0;padding-top:1.35rem}.modal-header:before{content:"";position:absolute;top:8px;left:50%;width:38px;height:4px;margin-left:-19px;border-radius:4px;background:var(--border-strong)}.modal-body{padding:1.25rem}.modal-footer{flex-direction:column-reverse;align-items:stretch;padding:1rem 1.25rem calc(1rem + var(--safe-bottom))}.modal-footer .btn{width:100%}.modal-content .grid-cols-2,.modal-content .grid-cols-3{grid-template-columns:1fr}}@media(max-width:768px){.toast-container,.alert-bottom-right{bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + .75rem)!important}}.sidebar{background:var(--sidebar-bg);box-shadow:1px 0 0 var(--sidebar-border);border-right:none}.sidebar-header{padding:0 1.25rem}.sidebar-brand{letter-spacing:-.02em}.sidebar-nav{padding:1rem .75rem;gap:3px}.nav-section-title{padding-left:.875rem}.nav-item{position:relative;padding:.7rem .9rem;border-radius:12px;font-weight:600;min-height:44px}.nav-item .nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-item.active,[data-theme=dark] .nav-item.active{background:linear-gradient(135deg,#6366f124,#14b8a614);color:var(--primary-600)}[data-theme=dark] .nav-item.active{color:var(--primary-400)}.nav-item.active:before{content:"";position:absolute;left:-.75rem;top:22%;bottom:22%;width:4px;border-radius:0 4px 4px 0;background:var(--gradient-primary)}.nav-item.active svg{filter:drop-shadow(0 2px 4px rgba(79,70,229,.3))}.sidebar-backdrop{display:none}.topbar{height:var(--topbar-height);box-shadow:0 1px 0 var(--border-subtle);border-bottom:none}.content-area{padding:clamp(1rem,.5rem + 2vw,2rem);padding-bottom:clamp(1.5rem,1rem + 2vw,2.5rem)}.mobile-nav{display:none}@media(min-width:769px)and (max-width:1024px){.sidebar{width:var(--sidebar-rail-width);transform:none}.main-wrapper{margin-left:var(--sidebar-rail-width)}.sidebar-header{justify-content:center;padding:0}.sidebar-brand-text,.nav-label,.nav-section-title{display:none}.sidebar-nav{align-items:center;padding:1rem .5rem}.nav-item{width:52px;height:48px;justify-content:center;padding:0}.nav-item.active:before{left:-.5rem}.content-area{max-width:100%}}@media(max-width:768px){.sidebar{width:min(84vw,300px);transform:translate(-102%);box-shadow:none;z-index:200}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-xl)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#0f172a73;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .2s ease}.main-wrapper{margin-left:0}.topbar{--topbar-height: 60px;height:60px;padding:0 .75rem}.topbar-left{gap:.5rem;min-width:0}.topbar-right{gap:.5rem}.content-area{padding-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 1.25rem)}.user-menu-pill{padding:3px;max-width:none;background:transparent;border-color:transparent}.user-menu-pill .user-info,.user-menu-pill svg:not(.keep){display:none}.hide-mobile{display:none!important}.mobile-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;left:.75rem;right:.75rem;bottom:calc(.6rem + var(--safe-bottom));height:var(--mobile-nav-height);z-index:120;padding:6px;border-radius:22px;background:var(--glass-bg);backdrop-filter:blur(18px) saturate(160%);-webkit-backdrop-filter:blur(18px) saturate(160%);border:1px solid var(--glass-border);box-shadow:0 12px 32px -8px #0f172a47,0 2px 6px #0f172a0f}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:16px;color:var(--text-light);font-size:.64rem;font-weight:700;letter-spacing:.01em;-webkit-tap-highlight-color:transparent;transition:color .16s ease,background .16s ease}.mobile-nav-icon{display:grid;place-items:center;width:40px;height:28px;border-radius:14px;transition:background .2s var(--ease-out),transform .2s var(--ease-out)}.mobile-nav-item.active{color:var(--primary-600)}[data-theme=dark] .mobile-nav-item.active{color:var(--primary-400)}.mobile-nav-item.active .mobile-nav-icon{background:linear-gradient(135deg,#6366f133,#14b8a624);transform:translateY(-1px)}.mobile-nav-item:active .mobile-nav-icon{transform:scale(.92)}}@media(max-width:380px){.mobile-nav-label{display:none}.mobile-nav-icon{height:36px}}@media(pointer:coarse){.btn{min-height:44px}.btn-sm{min-height:38px}.btn-icon{min-width:44px;min-height:44px}}.page-head{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}.page-head h1{margin-top:.4rem}.page-head p{margin-top:.25rem;max-width:60ch}@media(min-width:641px)and (max-width:1024px){.grid-cols-4,.grid-cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid-cols-3,.grid-cols-2{gap:.75rem}.card{padding:1.1rem}.stat-card{padding:1rem}.stat-card-value{font-size:1.65rem}.stat-card-title{font-size:.7rem}.stat-card-icon{width:38px;height:38px}.stat-card-icon svg{width:18px;height:18px}}.att-controls{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:1rem}.att-controls .form-group{margin:0}.att-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.att-stat{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm)}.att-stat-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex-shrink:0}.att-stat strong{display:block;font-family:var(--font-display);font-size:1.4rem;line-height:1;letter-spacing:-.02em}.att-stat span.att-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light)}.att-stat.t-present .att-stat-icon{background:var(--success-bg);color:var(--success)}.att-stat.t-absent .att-stat-icon{background:var(--danger-bg);color:var(--danger)}.att-stat.t-late .att-stat-icon{background:var(--warning-bg);color:var(--warning)}.att-stat.t-total .att-stat-icon{background:#6366f11f;color:var(--primary-500)}.att-progress{display:flex;height:8px;border-radius:8px;overflow:hidden;background:var(--bg-surface-subtle)}.att-progress>i{display:block;height:100%;transition:width .4s var(--ease-out)}.att-progress .p{background:var(--success)}.att-progress .a{background:var(--danger)}.att-progress .l{background:var(--warning)}.att-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.att-toolbar .search-input-wrapper{min-width:0;flex:1 1 220px}.att-list{display:flex;flex-direction:column}.att-row{display:grid;grid-template-columns:2.25rem 1fr auto;align-items:center;gap:.9rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--border-subtle);position:relative;transition:background .15s ease}.att-row:last-child{border-bottom:none}.att-row:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:4px;border-radius:0 4px 4px 0;background:transparent;transition:background .2s ease}.att-row.s-present:before{background:var(--success)}.att-row.s-absent:before{background:var(--danger)}.att-row.s-late:before{background:var(--warning)}.att-row.s-absent{background:linear-gradient(90deg,var(--danger-bg),transparent 55%)}.att-row.s-late{background:linear-gradient(90deg,var(--warning-bg),transparent 55%)}.att-avatar{width:2.25rem;height:2.25rem;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.85rem;color:#fff;background:var(--gradient-primary);flex-shrink:0}.att-who{min-width:0}.att-who .att-name{display:block;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-who .att-sub{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--text-light)}.att-remark-input{margin-top:.4rem;width:100%;min-height:36px!important;padding:.4rem .7rem!important;font-size:.8125rem!important;border-radius:10px!important}.att-seg{display:inline-flex;gap:4px;padding:4px;border-radius:14px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle)}.att-seg button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:44px;height:40px;padding:0 .85rem;border:none;border-radius:10px;background:transparent;color:var(--text-muted);font-weight:700;font-size:.8125rem;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .14s var(--ease-out),background .16s ease,color .16s ease,box-shadow .16s ease}.att-seg button:hover:not(:disabled):not(.on){background:var(--bg-hover);color:var(--text-main)}.att-seg button:active:not(:disabled){transform:scale(.92)}.att-seg button:disabled{cursor:not-allowed;opacity:.6}.att-seg button.on.p{background:var(--success);color:#fff;box-shadow:0 4px 10px -2px #05966980}.att-seg button.on.a{background:var(--danger);color:#fff;box-shadow:0 4px 10px -2px #dc262680}.att-seg button.on.l{background:var(--warning);color:#fff;box-shadow:0 4px 10px -2px #d9770680}.att-savebar{position:sticky;bottom:.75rem;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .75rem .7rem 1.1rem;border-radius:18px;background:var(--glass-bg);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border:1px solid var(--glass-border);box-shadow:var(--shadow-xl)}.att-savebar .att-save-meta{font-size:.8125rem;color:var(--text-muted);min-width:0}.att-savebar .att-save-meta strong{color:var(--text-main)}.att-savebar .att-save-actions{display:flex;gap:.5rem;align-items:center}.att-history-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.9rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border-subtle)}.att-history-card:last-child{border-bottom:none}.att-date-chip{width:3rem;text-align:center;padding:.35rem 0;border-radius:12px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);line-height:1.1}.att-date-chip b{display:block;font-family:var(--font-display);font-size:1.15rem}.att-date-chip small{font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}.att-empty{text-align:center;padding:3rem 1.5rem}.att-empty .att-empty-icon{width:64px;height:64px;margin:0 auto 1rem;display:grid;place-items:center;border-radius:20px;background:#6366f11a;color:var(--primary-500)}.att-label-short{display:none}@media(max-width:1024px){.att-controls{grid-template-columns:1fr 1fr}.att-controls>:first-child{grid-column:1 / -1}}@media(max-width:640px){.att-controls{grid-template-columns:1fr 1fr;gap:.75rem}.att-summary{grid-template-columns:repeat(2,1fr);gap:.5rem}.att-stat{padding:.65rem .8rem}.att-row{grid-template-columns:2.25rem 1fr;padding:.85rem .9rem .9rem 1rem;row-gap:.65rem}.att-row .att-seg{grid-column:1 / -1;display:grid;grid-template-columns:repeat(3,1fr)}.att-seg button{height:46px}.att-label-full{display:none}.att-label-short{display:inline}.att-row .att-who{grid-column:2}.att-savebar{bottom:calc(var(--mobile-nav-height) + var(--safe-bottom) + 1.1rem);padding:.6rem}.att-savebar .att-save-meta{display:none}.att-savebar .att-save-actions{width:100%}.att-savebar .att-save-actions .btn{flex:1}.att-savebar .att-save-actions .btn-secondary{flex:0 0 auto}.att-savebar .btn-text{display:inline}.att-history-card{grid-template-columns:auto 1fr}.att-history-card .att-history-badges{grid-column:1 / -1}.tab-list{width:100%}.tab-btn{flex:1;justify-content:center;padding:.6rem .5rem}}@media(prefers-reduced-motion:reduce){.att-seg button,.mobile-nav-icon,.btn{transition:none}}.tab-list{margin-bottom:0}@media(max-width:480px){.tab-btn:not(.active) span{display:none}.tab-btn:not(.active){flex:0 0 auto;padding:.6rem .9rem}.tab-btn.active{flex:1}}html,body{max-width:100%;overflow-x:clip}img,svg,video,canvas,iframe{max-width:100%}img,video{height:auto}.main-wrapper,.content-area,.card,.modal-content{min-width:0}.content-area{overflow-x:clip}pre,code,.card,.stat-card,td,th,h1,h2,h3,h4,p,label,.badge{overflow-wrap:anywhere}.badge{max-width:100%}.topbar [role=menu],.topbar [role=menu]+div{max-width:calc(100vw - 1.5rem)}@media(max-width:640px){[style*="grid-template-columns: 1.2fr"],[style*="grid-template-columns: repeat(auto-fit, minmax(2"],[style*="grid-template-columns: repeat(auto-fit, minmax(3"],[style*="grid-template-columns: 1fr 1fr"],[style*="grid-template-columns: repeat(2, 1fr)"]{grid-template-columns:1fr!important}[style*="grid-template-columns: repeat(auto-fit, minmax(90px"]{grid-template-columns:repeat(2,1fr)!important}.form-select[style*=width],.form-input[style*="width: 1"],.form-input[style*="width: 2"]{width:100%!important}[style*="min-width: 240px"],[style*="min-width: 220px"],[style*="min-width: 260px"]{min-width:0!important;flex:1 1 100%!important}.search-input-wrapper{min-width:0;width:100%;flex:1 1 100%}.btn[style*=min-width]{min-width:0!important}.table-container{overflow:visible;border:none;background:transparent;border-radius:0}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table thead{display:none}.table tr{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.35rem 1rem;margin-bottom:.75rem;box-shadow:var(--shadow-sm)}.table tbody tr:hover{background:var(--card-bg)}.table td{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem 0!important;border-bottom:1px dashed var(--border-subtle);text-align:right!important;min-width:0!important}.table tr td:last-child{border-bottom:none}.table td:before{content:attr(data-label);flex-shrink:0;max-width:42%;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);text-align:left}.table td[data-label=""]:before,.table td:not([data-label]):before{display:none}.table td[data-label=""]{justify-content:flex-end;flex-wrap:wrap}.table td[colspan]{justify-content:center;text-align:center!important}.table td>div{min-width:0}.table td .btn{min-width:0}.card>.table-container{margin:0}.page-head{flex-direction:column;align-items:stretch}.page-head>.btn,.page-head>div>.btn{width:100%}.tab-list,.nav-pill-group{max-width:100%;overflow-x:auto}.nav-pill-item{padding:8px 12px}[class*=pagination]{flex-wrap:wrap;justify-content:center;gap:.5rem}}.card,.stat-card,td,th,h1,h2,h3,h4,p,label,.badge{overflow-wrap:break-word;word-break:normal}.table td{-webkit-hyphens:manual;hyphens:manual}@media(max-width:640px){.table td>*{max-width:100%}.table td{flex-wrap:wrap}.table td:before{max-width:100%;flex-basis:100%}.table td:not([data-label=""]){align-items:flex-start;flex-direction:column;gap:.2rem;text-align:left!important}.table td[data-label=Status],.table td[data-label=Role],.table td[data-label=Date]{flex-direction:row;align-items:center;justify-content:space-between}.table td[data-label=Status]:before,.table td[data-label=Role]:before,.table td[data-label=Date]:before{flex-basis:auto}.tab-list,.nav-pill-group{scrollbar-width:none}.tab-list::-webkit-scrollbar,.nav-pill-group::-webkit-scrollbar{display:none}h1{font-size:1.55rem}}.landing-mockup-split>*,.landing-features-grid>*,.landing-steps-grid>*,.landing-security-grid>*,.landing-stats-grid>*,.landing-mockup-kpis>*{min-width:0}@media(max-width:767px){.landing-mockup-split{grid-template-columns:minmax(0,1fr)!important}.lm-tag{display:none!important}.landing-mockup-split h3{white-space:normal}}@media(max-width:480px){.btn{white-space:normal;text-align:center;max-width:100%}[style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:repeat(2,1fr)!important}.landing-mockup-wrapper,.landing-hero-container{max-width:100%}}@media(max-width:640px){form[style*="display: flex"]{flex-wrap:wrap;gap:.6rem!important}form[style*="display: flex"]>[style*="flex: 1"],form[style*="display: flex"]>[style*="flex: 2"]{flex:1 1 100%!important;min-width:0!important}form[style*="display: flex"]>.btn:not(.btn-ghost){flex:1}.modal-body form>div[style*="justify-content: flex-end"]{flex-direction:column-reverse}.modal-body form>div[style*="justify-content: flex-end"] .btn{width:100%}}.btn{min-height:44px;padding:0 1.2rem;font-size:.9rem;line-height:1;gap:.5rem}.btn-sm{min-height:36px;padding:0 .9rem;font-size:.8125rem;gap:.4rem;border-radius:10px}.btn-lg{min-height:52px;padding:0 1.75rem;font-size:1rem;border-radius:14px}.btn svg{flex-shrink:0}a.btn{text-decoration:none}.btn-icon{padding:0;min-width:40px}.btn-danger,.btn-suspend{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:transparent;box-shadow:inset 0 1px #fff3,0 6px 14px -4px #dc262673}.btn-danger:hover:not(:disabled),.btn-suspend:hover:not(:disabled){background:linear-gradient(135deg,#f05252,#d92d2d);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff40,0 10px 20px -6px #dc26268c}.btn-success,.btn-activate{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:transparent;box-shadow:inset 0 1px #fff3,0 6px 14px -4px #05966973}.btn-success:hover:not(:disabled),.btn-activate:hover:not(:disabled){background:linear-gradient(135deg,#14c28b,#059669);transform:translateY(-1px);box-shadow:inset 0 1px #ffffff40,0 10px 20px -6px #0596698c}.btn-outline-primary{border-width:1.5px;border-color:#6366f18c;color:var(--primary-600);background:transparent}.btn-outline-primary:hover:not(:disabled){background:#6366f114;border-color:var(--primary-500)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover)}.btn-cta-attendance{background:var(--gradient-primary)}.table td .btn-icon,.table td .btn-ghost.btn-sm,.table td button.btn-sm.btn-icon{width:36px;height:36px;min-width:36px;min-height:36px;padding:0;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-muted)}.table td .btn-icon:hover:not(:disabled),.table td .btn-ghost.btn-sm:hover:not(:disabled){background:var(--bg-hover);color:var(--primary-600);border-color:var(--border-strong);transform:translateY(-1px)}.table td .btn-suspend,.table td .btn-activate{min-height:34px;padding:0 .8rem;font-size:.8rem}.page-head{align-items:flex-end}@media(max-width:640px){.page-head{align-items:stretch}.page-head>div:first-child{min-width:0}}.page-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.page-actions>.btn,.page-actions>.switch-card{height:52px;min-height:52px}.page-actions>.btn{padding:0 1.4rem}@media(max-width:640px){.page-actions{width:100%}.page-actions>.switch-card{flex:1 1 100%}.page-actions>.btn{flex:1 1 auto}}.switch-card{display:flex;align-items:center;gap:.8rem;padding:0 .9rem 0 .75rem;border-radius:16px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.switch-card-icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border-radius:11px;background:var(--bg-surface-subtle);color:var(--text-light);transition:background .2s ease,color .2s ease}.switch-card-text{display:flex;flex-direction:column;line-height:1.2;min-width:0;margin-right:.35rem}.switch-card-text strong{font-size:.85rem;color:var(--text-main);white-space:nowrap}.switch-card-text small{font-size:.72rem;color:var(--text-muted)}.switch-card.is-on{background:linear-gradient(135deg,var(--warning-bg),var(--card-bg));border-color:#f59e0b8c;box-shadow:0 6px 18px -8px #f59e0b80}.switch-card.is-on .switch-card-icon{background:var(--warning);color:#fff}.switch-card.is-on .switch-card-text small{color:var(--warning-text);font-weight:600}.switch{position:relative;flex-shrink:0;width:48px;height:28px;border:none;border-radius:999px;background:var(--border-strong);cursor:pointer;transition:background .22s var(--ease-out),box-shadow .2s ease;-webkit-tap-highlight-color:transparent}.switch:focus-visible{box-shadow:var(--ring);outline:none}.switch:disabled{opacity:.6;cursor:wait}.switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #0f172a4d;transition:transform .24s var(--ease-out)}.switch[aria-checked=true]{background:var(--warning)}.switch[aria-checked=true] .switch-thumb{transform:translate(20px)}.modal-body>div>div[style*="justify-content: flex-end"]{padding-top:.25rem}@media(max-width:640px){.modal-body div[style*="justify-content: flex-end"]{flex-direction:column-reverse;align-items:stretch}.modal-body div[style*="justify-content: flex-end"] .btn{width:100%;min-width:0!important}}.card-header{border-bottom-color:var(--border-subtle)}.card-title{font-size:1.05rem;letter-spacing:-.01em}.card-title svg{color:var(--primary-500)}.att-hero{position:relative;display:flex;align-items:center;gap:1.5rem;padding:1.4rem;border-radius:var(--radius-xl);background:radial-gradient(70% 120% at 100% 0%,rgba(20,184,166,.14),transparent 60%),radial-gradient(60% 100% at 0% 0%,rgba(99,102,241,.16),transparent 60%),var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-md);overflow:hidden}.att-hero-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.att-hero-title h2{font-size:clamp(1.25rem,1rem + 1vw,1.7rem);letter-spacing:-.02em;margin-top:.25rem}.att-hero-eyebrow{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--primary-600)}.att-hero .att-controls{grid-template-columns:1.3fr 1.2fr 1fr}.att-date-stepper{display:flex;gap:.4rem;align-items:center}.att-date-stepper .form-input{text-align:center;min-width:0;flex:1}.att-date-stepper .btn-icon{width:44px;min-width:44px;padding:0;flex-shrink:0}.att-ring{position:relative;flex-shrink:0;width:112px;height:112px}.att-ring svg{display:block}.att-ring-track{fill:none;stroke:var(--bg-surface-subtle);stroke-width:11}.att-ring-bar{fill:none;stroke:var(--success);stroke-width:11;stroke-linecap:round;transition:stroke-dasharray .5s var(--ease-out)}.att-ring-label{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;text-align:center;line-height:1.05}.att-ring-label strong{font-family:var(--font-display);font-size:1.6rem;letter-spacing:-.03em}.att-ring-label small{font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light)}button.att-stat{font:inherit;text-align:left;cursor:pointer;color:inherit;transition:transform .16s var(--ease-out),box-shadow .2s ease,border-color .2s ease,background .2s ease;-webkit-tap-highlight-color:transparent}button.att-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}button.att-stat:active{transform:scale(.97)}button.att-stat.is-active{border-color:var(--primary-500);box-shadow:var(--ring);background:#6366f10d}button.att-stat.t-present.is-active{border-color:var(--success);box-shadow:0 0 0 4px #10b98129}button.att-stat.t-absent.is-active{border-color:var(--danger);box-shadow:0 0 0 4px #ef444429}button.att-stat.t-late.is-active{border-color:var(--warning);box-shadow:0 0 0 4px #f59e0b2e}.att-toolbar .btn-icon{width:36px;min-width:36px}@media(max-width:1024px){.att-hero .att-controls{grid-template-columns:1fr 1fr}.att-hero .att-controls>:first-child{grid-column:1 / -1}}@media(max-width:640px){.att-hero{flex-direction:column-reverse;align-items:stretch;padding:1rem;gap:.75rem}.att-ring{width:84px;height:84px;position:absolute;top:.85rem;right:.85rem}.att-ring svg{width:84px;height:84px}.att-ring-label strong{font-size:1.15rem}.att-ring-label small{display:none}.att-hero-title{padding-right:5.5rem;min-height:4rem}.att-hero .att-controls{grid-template-columns:1fr}.att-hide-sm{display:none}.att-toolbar .btn-sm{flex:1 1 auto}}.att-hero .att-controls{grid-template-columns:1fr 1fr}.att-hero .att-controls>:first-child{grid-column:1 / -1}@media(max-width:640px){.att-hero .att-controls{grid-template-columns:1fr}}.clamp-1,.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.clamp-1{-webkit-line-clamp:1;line-clamp:1}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}h1,h2,h3{overflow-wrap:anywhere}.card h3,.card h4,.card-title{min-width:0}.badge-xs{font-size:.68rem;padding:.15rem .5rem}.badge{white-space:nowrap}.badge:not(.badge-xs){max-width:100%;overflow:hidden;text-overflow:ellipsis}.cell-entity{display:flex;align-items:center;gap:.7rem;min-width:0}.cell-entity-text{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}.cell-entity-text strong{color:var(--text-main);line-height:1.25}.row-avatar{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#6366f124,#14b8a61f);color:var(--primary-600);border:1px solid rgba(99,102,241,.16)}.cell-sub{font-size:.78rem;color:var(--text-light)}.row-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:nowrap}.row-actions .row-btn{width:104px;min-width:104px;padding:0 .6rem;white-space:nowrap;justify-content:center}.table td .row-actions .row-btn{min-height:36px;font-size:.8125rem}.toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.toolbar-search{flex:1 1 280px;min-width:0}.toolbar-filters{display:flex;gap:.75rem;flex:0 1 auto;flex-wrap:wrap}.toolbar-filters .form-select{width:auto;min-width:170px}.toolbar-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.toolbar-btn{padding:0 1.1rem}.toolbar-refresh{width:44px;min-width:44px;padding:0}.toolbar-refresh:hover svg{transform:rotate(180deg)}.toolbar-refresh svg{transition:transform .35s var(--ease-out)}@media(max-width:640px){.toolbar{gap:.6rem}.toolbar-search,.toolbar-filters{flex:1 1 100%}.toolbar-filters .form-select{flex:1;width:100%}.toolbar-actions{width:100%;margin-left:0}.toolbar-btn{flex:1}}.btn-chip{min-height:38px;padding:0 .95rem;border-radius:999px;font-size:.82rem;gap:.4rem}.btn-chip.btn-chip-primary{background:var(--gradient-primary);color:#fff;border-color:transparent;box-shadow:inset 0 1px #ffffff38,0 6px 14px -5px #4f46e580}.btn-chip.btn-chip-primary:hover{color:#fff}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}@media(max-width:480px){.chip-row .btn-chip:not(.btn-chip-primary) .chip-label{display:none}.chip-row .btn-chip:not(.btn-chip-primary){width:44px;min-height:44px;padding:0;justify-content:center}}@media(min-width:641px)and (max-width:1280px){.table.has-actions,.table.has-actions tbody{display:block;width:100%}.table.has-actions thead{display:none}.table.has-actions tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.table.has-actions tr{display:block;background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:.4rem 1rem;box-shadow:var(--shadow-sm)}.table.has-actions tr:has(td[colspan]){grid-column:1 / -1}.table.has-actions td{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.6rem 0;border-bottom:1px dashed var(--border-subtle);text-align:right}.table.has-actions tr td:last-child{border-bottom:none}.table.has-actions td:before{content:attr(data-label);flex-shrink:0;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light);text-align:left}.table.has-actions td[data-label=""]:before{display:none}.table.has-actions td.col-actions{justify-content:flex-start}.table.has-actions td.col-actions:before{display:none}.table-container:has(.table.has-actions){overflow:visible;border:none;background:transparent}}@media(max-width:1280px){.table.has-actions td.col-actions{padding-top:.8rem}.table.has-actions .row-actions{width:100%}.table.has-actions .row-actions .row-btn{flex:1;width:auto}}@media(max-width:640px){.table td.col-actions{flex-direction:row!important;align-items:center!important}.table td.col-actions:before{display:none!important}.table td.col-actions .row-actions{width:100%}.table td.col-actions .row-actions .row-btn{flex:1;width:auto}.table td .cell-entity{width:100%}}.row-actions-end{justify-content:flex-end}.row-actions .row-btn-wide{width:132px;min-width:132px}.row-actions .btn-icon.btn-sm{width:36px;min-width:36px;padding:0}.list-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem}.list-row-main{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:.15rem}.list-row-actions{display:flex;gap:.5rem;flex-shrink:0}@media(max-width:640px){.list-row{flex-wrap:wrap;align-items:stretch}.list-row-main{flex-basis:100%}.list-row-actions{flex:1 1 100%}.list-row-actions .btn{flex:1}.list-row>.btn{flex:1 1 100%}}.cell-stack{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}@media(max-width:1280px){.table.has-actions td .cell-stack{align-items:flex-end;text-align:right}}@media(max-width:1024px){.table td .cell-stack{align-items:flex-end;text-align:right}}.tab-btn svg,.nav-pill-item svg,.btn svg{flex-shrink:0}.cell-meter{width:100%}@media(max-width:1024px){.table td .cell-meter{flex:1 1 auto;max-width:190px;margin-left:auto}.cell-meter>div:first-child{gap:.5rem}}.cell-email,.cell-code{overflow-wrap:anywhere;word-break:break-all;max-width:100%;min-width:0}.table td .cell-stack{max-width:100%}@media(max-width:1024px){.table td .cell-stack{flex:1 1 0}}.card h3,.card h4,.list-row-main strong,.table td strong,.table td .cell-stack>div{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere}.table td .cell-stack>div{-webkit-line-clamp:1;line-clamp:1}.table td .cell-email{-webkit-line-clamp:1;word-break:normal}@media(min-width:1025px){.table td:not(.col-actions){max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table td .cell-entity,.table td .cell-entity-text{max-width:100%}.table td .cell-entity-text strong{white-space:normal}}@media(min-width:641px)and (max-width:1024px){.table:not(.has-actions) td:not(.col-actions){max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.is-truncated{cursor:pointer}.text-popover{position:fixed;z-index:100000;max-width:min(360px,calc(100vw - 16px));max-height:50vh;overflow:auto;padding:.65rem .85rem;border-radius:12px;background:var(--bg-surface-elevated, #fff);color:var(--text-main);border:1px solid var(--border-strong);box-shadow:var(--shadow-xl);font-size:.85rem;font-weight:500;line-height:1.45;white-space:normal;overflow-wrap:anywhere;animation:popIn .14s var(--ease-out)}@keyframes popIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}#superadmin-center-switcher>span{max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .badge,.topbar-left button span{min-width:0}@media(max-width:640px){#superadmin-center-switcher>span{max-width:120px}}@media(min-width:1281px){.table.has-actions th,.table.has-actions td{padding-left:.7rem;padding-right:.7rem}.table.has-actions th{white-space:normal}}.registry-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem .9rem;padding:.8rem 1.1rem}.registry-title{display:flex;align-items:center;gap:.55rem;flex:1 1 auto;min-width:0;font-weight:700;font-size:.95rem;color:var(--text-main)}.registry-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.registry-bar .btn-icon{order:2}.check-chip{order:3;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;-webkit-user-select:none;user-select:none;padding:.4rem .8rem;border-radius:999px;font-size:.82rem;font-weight:600;color:var(--text-muted);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);transition:background .15s,border-color .15s,color .15s}.check-chip input{accent-color:var(--primary-600);width:16px;height:16px;margin:0}.check-chip:has(input:checked){background:#6366f11a;border-color:#6366f166;color:var(--primary-600)}@media(min-width:641px){.check-chip{order:1}.registry-bar{justify-content:space-between}.registry-title{flex:0 1 auto}.registry-bar .btn-icon{margin-left:auto}}@media(max-width:640px){.check-chip{flex:1 1 100%;justify-content:flex-start}}.card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.card-actions .btn{width:100%;min-width:0;height:40px;padding:0 .6rem;justify-content:center;gap:.4rem;white-space:nowrap;font-size:.82rem}.card-actions .btn>span{overflow:hidden;text-overflow:ellipsis}.card-actions .btn svg{flex-shrink:0}.card-actions .btn:last-child:nth-child(odd){grid-column:1 / -1}@media(max-width:640px){.card-actions .btn{height:44px}}@media(max-width:640px){.table td .cell-stack{align-items:flex-start!important;text-align:left!important;width:100%;flex:1 1 100%}}.att-tools{display:flex;flex-direction:column;gap:.75rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border-subtle)}.att-bulk{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.att-bulk .btn-icon{width:36px;min-width:36px;padding:0}@media(max-width:640px){.att-bulk .btn:not(.btn-icon){flex:1 1 auto}}@media(max-width:768px){.topbar-left{align-items:center;gap:.5rem}.topbar-left button,.topbar-left .topbar-center-badge,#parent-child-switcher{white-space:nowrap!important;flex-shrink:0}#parent-child-switcher span{white-space:nowrap!important;text-overflow:ellipsis;overflow:hidden}}.dashboard-note-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.1rem;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:border-color var(--transition-fast),background-color var(--transition-fast)}.dashboard-note-row:hover{border-color:var(--border-focus)}.dashboard-note-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.25rem}.dashboard-note-title-line{display:flex;align-items:center;gap:.5rem;min-width:0}.dashboard-note-title{font-size:.925rem;font-weight:700;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dashboard-note-sub-line{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-muted);min-width:0}.dashboard-note-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dashboard-note-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}@media(max-width:640px){.dashboard-note-row{flex-direction:column;align-items:stretch;gap:.75rem}.dashboard-note-actions{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.dashboard-note-actions .btn{width:100%;justify-content:center}.dashboard-note-actions a.btn{grid-column:1 / -1}}.teacher-batch-card{display:flex;align-items:center;justify-content:space-between;gap:1rem}.teacher-batch-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.teacher-batch-actions .btn{white-space:nowrap!important}@media(max-width:640px){.teacher-batch-card{flex-direction:column!important;align-items:stretch!important;gap:.85rem!important}.teacher-batch-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important;gap:.5rem!important}.teacher-batch-actions .btn{width:100%!important;justify-content:center!important;padding:.5rem .6rem!important;font-size:.8125rem!important;min-height:40px!important;border-radius:var(--radius-full)!important}}@media(max-width:360px){.teacher-batch-actions{grid-template-columns:1fr!important}}.hist-filters{display:flex;align-items:center;gap:.75rem 1rem;flex-wrap:wrap;padding:.9rem 1.1rem}.hist-batch{width:auto;min-width:220px;max-width:100%;flex:0 1 280px}.hist-refresh{margin-left:auto;width:44px;min-width:44px;padding:0}.chip-group{display:flex;gap:.4rem;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;gap:.35rem;min-height:36px;padding:0 .9rem;border-radius:999px;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer;white-space:nowrap;color:var(--text-muted);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);transition:background .15s,color .15s,border-color .15s,transform .14s var(--ease-out);-webkit-tap-highlight-color:transparent}.chip:hover{background:var(--bg-hover);color:var(--text-main)}.chip:active{transform:scale(.96)}.chip.is-active{background:var(--primary-50, rgba(79, 70, 229, .1));color:var(--primary-700, var(--primary-600));border-color:var(--primary-500);box-shadow:inset 0 0 0 1px var(--primary-500)}.chip.is-active:hover{background:var(--primary-100, rgba(79, 70, 229, .16))}.kpi-hint{display:block;font-size:.7rem;color:var(--text-light)}.rate-bar{display:flex;height:8px;border-radius:8px;overflow:hidden;background:var(--bg-surface-subtle);width:100%}.rate-bar>i{display:block;height:100%;transition:width .4s var(--ease-out)}.rate-bar .p{background:var(--success)}.rate-bar .l{background:var(--warning)}.rate-bar .a{background:var(--danger)}.rate-pill{display:inline-flex;align-items:center;justify-content:center;min-width:56px;padding:.3rem .65rem;border-radius:999px;font-family:var(--font-display);font-weight:800;font-size:.9rem;flex-shrink:0}.rate-pill.tone-good{background:var(--success-bg);color:var(--success-text)}.rate-pill.tone-mid{background:var(--warning-bg);color:var(--warning-text)}.rate-pill.tone-low{background:var(--danger-bg);color:var(--danger-text)}.sess-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem .4rem;font-size:.78rem;color:var(--text-light);margin-top:.15rem}.sess-meta svg{flex-shrink:0}.sess-counts{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.75rem;font-weight:700}.sess-counts span,.sess-meta .c-p,.sess-meta .c-a,.sess-meta .c-l{display:inline-flex;align-items:center;gap:.25rem}.c-p{color:var(--success)}.c-a{color:var(--danger)}.c-l{color:var(--warning)}.c-t{color:var(--text-light)}.sess-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:1rem 1.1rem;background:transparent;border:none;border-bottom:1px solid var(--border-subtle);transition:background .15s ease;-webkit-tap-highlight-color:transparent}.sess-card:last-child{border-bottom:none}.sess-card:hover{background:var(--bg-hover)}.sess-card:focus-visible{outline:2px solid var(--primary-500);outline-offset:-2px}.sess-card-main{display:flex;flex-direction:column;gap:.45rem;min-width:0}.sess-card-main strong{font-size:1rem;color:var(--text-main)}.sess-card-side{display:flex;align-items:center;gap:.5rem}.sess-chevron{color:var(--text-light);transition:transform .18s var(--ease-out)}.sess-card:hover .sess-chevron{transform:translate(3px);color:var(--primary-600)}.att-date-chip{flex-shrink:0}.att-date-chip.mini{width:2.6rem;padding:.25rem 0}.att-date-chip.mini b{font-size:1rem}.sess-detail{display:flex;flex-direction:column;gap:1rem}.sess-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.sess-notes{font-size:.85rem;font-style:italic;padding:.6rem .8rem;border-left:3px solid var(--primary-500);background:var(--bg-surface-subtle);border-radius:0 10px 10px 0}.stu-list{list-style:none;display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:14px;overflow:hidden;max-height:min(52vh,420px);overflow-y:auto}.stu-row{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.65rem .9rem;border-bottom:1px solid var(--border-subtle)}.stu-row:last-child{border-bottom:none}.stu-row.s-absent{background:linear-gradient(90deg,var(--danger-bg),transparent 60%)}.stu-row.s-late{background:linear-gradient(90deg,var(--warning-bg),transparent 60%)}.stu-row-main{display:flex;flex-direction:column;min-width:0}.stu-empty{padding:1.5rem;text-align:center;color:var(--text-light)}.stu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.85rem;padding:1rem}.stu-card{display:flex;flex-direction:column;gap:.7rem;text-align:left;font:inherit;color:inherit;cursor:pointer;padding:.95rem;border-radius:16px;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);transition:transform .16s var(--ease-out),box-shadow .2s ease,border-color .2s ease;-webkit-tap-highlight-color:transparent}.stu-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--border-strong)}.stu-card:active{transform:scale(.99)}.stu-card-top{display:flex;align-items:center;gap:.65rem;min-width:0}.stu-card-top strong{flex:1;min-width:0;color:var(--text-main)}.dot-timeline{display:flex;gap:3px;flex-wrap:nowrap;overflow:hidden}.dot-timeline i{width:12px;height:12px;border-radius:4px;flex-shrink:0;background:var(--border-strong)}.dot-timeline .d-present{background:var(--success)}.dot-timeline .d-absent{background:var(--danger)}.dot-timeline .d-late{background:var(--warning)}.month-head{position:sticky;top:0;z-index:1;padding:.55rem 1.1rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);background:var(--bg-surface-subtle);border-bottom:1px solid var(--border-subtle)}.att-history-card.s-absent{background:linear-gradient(90deg,var(--danger-bg),transparent 55%)}.att-history-card.s-late{background:linear-gradient(90deg,var(--warning-bg),transparent 55%)}@media(max-width:640px){.hist-filters{gap:.6rem;padding:.8rem}.hist-batch{flex:1 1 100%}.hist-filters .chip-group{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;flex:1 1 calc(100% - 56px)}.hist-filters .chip-group::-webkit-scrollbar{display:none}.sess-card{grid-template-columns:auto minmax(0,1fr);padding:.9rem;gap:.75rem}.sess-card-side{grid-column:1 / -1;justify-content:space-between}.sess-card-side .sess-chevron{margin-left:auto}.stu-grid{grid-template-columns:1fr;padding:.75rem}.att-tools .chip-group{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.att-tools .chip-group::-webkit-scrollbar{display:none}}@media(min-width:641px)and (max-width:1024px){.stu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.back-link{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;font-weight:700;color:var(--text-muted)}.back-link:hover{color:var(--primary-600)}.page-head .back-link+.badge{display:inline-flex}.topbar-menu{max-width:calc(100vw - 24px)}.form-select,select{max-width:100%;text-overflow:ellipsis}.back-link{display:flex;width:fit-content;margin-bottom:.7rem}.page-head .back-link+.badge{margin-top:0}button.back-link{background:none;border:0;padding:0;cursor:pointer;font-family:inherit}.csel-trigger{display:flex;align-items:center;width:100%;text-align:left;cursor:pointer;font:inherit;color:var(--text-main);line-height:1.3;min-width:0}.csel-trigger.form-select-sm{min-height:38px}.csel-trigger .csel-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-trigger.is-placeholder .csel-value{color:var(--text-light)}.csel-trigger.is-open{border-color:var(--primary-500);box-shadow:var(--ring)}.csel-trigger.is-open{background-position:right .8rem center}.csel-trigger.is-invalid{border-color:var(--danger);box-shadow:0 0 0 3px var(--danger-bg)}.csel-trigger.is-disabled{opacity:.6;cursor:not-allowed}.csel-native{position:absolute;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;pointer-events:none;overflow:hidden;clip:rect(0 0 0 0)}.csel-list{position:fixed;z-index:100000;margin:0;padding:6px;list-style:none;overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;max-width:calc(100vw - 20px);background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 18px 40px -12px #0f172a47,0 4px 10px #0f172a14;animation:cselIn .14s var(--ease-out)}@keyframes cselIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.csel-option{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-height:40px;padding:.5rem .7rem;border-radius:10px;cursor:pointer;font-size:.92rem;font-weight:500;color:var(--text-main);-webkit-tap-highlight-color:transparent}.csel-option>span{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.csel-option svg{flex-shrink:0;color:var(--primary-600)}.csel-option.is-active{background:var(--bg-hover)}.csel-option.is-selected{background:var(--primary-50, rgba(79, 70, 229, .08));color:var(--primary-700, var(--primary-600));font-weight:700}.csel-option.is-disabled{opacity:.45;cursor:not-allowed}@media(max-width:640px){.csel-option{min-height:44px;font-size:.95rem}}.att-ring.is-skeleton .att-ring-bar{stroke-dasharray:0 314!important}.att-ring.is-skeleton .att-ring-track{animation:skelPulse 1.2s ease-in-out infinite}.att-skeleton{display:flex;flex-direction:column}.att-skel-row{display:grid;grid-template-columns:2.25rem 1fr 7.5rem;align-items:center;gap:.8rem;padding:.95rem 1rem;border-bottom:1px solid var(--border-subtle)}.att-skel-row>span{display:flex;flex-direction:column;gap:.45rem}.skel{display:block;background:var(--bg-surface-subtle);border-radius:8px;animation:skelPulse 1.2s ease-in-out infinite}.skel-circle{width:2.25rem;height:2.25rem;border-radius:50%}.skel-line{height:.8rem;width:60%}.skel-line.short{width:32%;height:.65rem}.skel-pill{height:2.2rem;border-radius:12px}@keyframes skelPulse{0%,to{opacity:1}50%{opacity:.45}}@media(max-width:640px){.att-skel-row{grid-template-columns:2.25rem 1fr}.att-skel-row .skel-pill{grid-column:1 / -1;height:46px}}.att-phone{font-size:.72rem;color:var(--text-light);font-weight:600}.att-dup{font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .45rem;border-radius:999px;background:var(--warning-bg);color:var(--warning-text)}.att-sub{display:flex;align-items:center;flex-wrap:wrap;gap:.2rem .5rem}.pager{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1.25rem;padding:.85rem 1.1rem;border-top:1px solid var(--border-subtle);background:var(--bg-surface-subtle)}.pager-info{font-size:.84rem;color:var(--text-muted)}.pager-pages{display:flex;align-items:center;gap:.3rem}.pager-btn{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 .6rem;font:inherit;font-size:.86rem;font-weight:700;color:var(--text-muted);cursor:pointer;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;transition:background .15s,color .15s,border-color .15s,transform .14s var(--ease-out);-webkit-tap-highlight-color:transparent}.pager-btn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-main);border-color:var(--border-strong)}.pager-btn:active:not(:disabled){transform:scale(.95)}.pager-btn:disabled{opacity:.45;cursor:not-allowed}.pager-btn.is-current{background:var(--primary-50);color:var(--primary-700);border-color:var(--primary-500);box-shadow:inset 0 0 0 1px var(--primary-500)}.pager-gap{color:var(--text-light);padding:0 .1rem}.pager-compact{display:none;font-size:.84rem;font-weight:700;color:var(--text-main);padding:0 .5rem;white-space:nowrap}.pager-size{display:inline-flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.pager-size .csel-trigger{width:76px;min-height:38px;padding:0 2rem 0 .8rem;font-weight:700}@media(max-width:640px){.pager{flex-direction:column;align-items:stretch;gap:.7rem;padding:.85rem}.pager-info{text-align:center;order:2}.pager-pages{justify-content:center;order:1}.pager-num,.pager-gap{display:none}.pager-compact{display:inline}.pager-btn{min-width:44px;height:44px}.pager-size{order:3;justify-content:center}}.cred-box{display:flex;flex-direction:column;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-bottom:1rem;overflow:hidden}.cred-row{display:grid;grid-template-columns:9.5rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.8rem 1.1rem;border-bottom:1px solid var(--border-subtle)}.cred-row:last-child{border-bottom:none}.cred-label{font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-light)}.cred-value{min-width:0;font-weight:800;font-size:1rem;color:var(--text-main);overflow-wrap:anywhere}.cred-value code{font-family:var(--font-mono);font-weight:800;font-size:1rem;background:none;padding:0}.cred-name{font-family:var(--font-display);font-size:1.05rem}.alert strong{font-weight:800;color:inherit}@media(max-width:480px){.cred-row{grid-template-columns:1fr;gap:.15rem}}.import-format{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;padding:.85rem 1rem;margin-bottom:1.1rem;background:var(--bg-surface-subtle);border:1px dashed var(--border-strong);border-radius:var(--radius-md)}.import-format-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 200px}.import-format-text strong{font-size:.9rem;color:var(--text-main)}.import-format-text span{font-size:.78rem;color:var(--text-light)}.import-format-actions{display:flex;gap:.5rem}@media(max-width:640px){.import-format-actions{width:100%}.import-format-actions .btn{flex:1;height:44px}}.modal-content .grid-cols-2,.modal-content .grid-cols-3{row-gap:0}.csel-option>span{display:block}.csel-sub{display:block;font-size:.74rem;font-weight:500;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csel-option.is-selected .csel-sub{color:var(--text-muted)}.lp{overflow-x:clip;color:#0f172a}.lp-container{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.lp-narrow{max-width:820px}.lp h1,.lp h2,.lp h3{color:#0f172a;margin:0}.lp-section{padding:clamp(3rem,7vw,5.5rem) 0;background:#fff}.lp-section-alt{background:#f8fafc}.lp-head{text-align:center;max-width:680px;margin:0 auto clamp(1.75rem,4vw,3rem)}.lp-head h2{font-size:clamp(1.6rem,3.6vw,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.2;margin-top:.85rem}.lp-head p{color:#64748b;margin:.75rem 0 0;font-size:clamp(.92rem,1.6vw,1.05rem)}.lp-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .85rem;border-radius:999px;font-size:.78rem;font-weight:700;color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.lp-badge-dark{color:#2dd4bf;background:#14b8a626;border-color:#14b8a659}.lp-hero{position:relative;padding:clamp(2.5rem,6vw,5rem) 0 clamp(2.5rem,6vw,4.5rem);background:linear-gradient(180deg,#eef2ff,#fff)}.lp-hero-glow{position:absolute;inset:-20% 0 auto 0;height:420px;background:radial-gradient(60% 60% at 70% 20%,rgba(99,102,241,.18),transparent 70%);pointer-events:none}.lp-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem)}.lp-hero-copy h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:1rem 0}.lp-hero-copy p{font-size:clamp(.98rem,1.8vw,1.15rem);color:#475569;line-height:1.6;margin:0 0 1.5rem;max-width:34rem}.lp-actions{display:flex;flex-wrap:wrap;gap:.75rem}.lp-btn{height:52px;padding:0 1.4rem;font-weight:700;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.lp-hero-points{list-style:none;padding:0;margin:1.5rem 0 0;display:flex;flex-direction:column;gap:.5rem;color:#334155;font-size:.92rem;font-weight:600}.lp-hero-points li{display:flex;align-items:center;gap:.5rem}.lp-hero-points svg{color:#0d9488;flex-shrink:0}.lp-preview{background:#fff;border:1px solid #e2e8f0;border-radius:22px;padding:1.1rem;box-shadow:0 30px 60px -28px #1e293b59;display:flex;flex-direction:column;gap:.9rem;max-width:460px;width:100%;margin-inline:auto}.lp-preview-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.lp-preview-head strong{display:block;font-size:1.15rem;color:#0f172a}.lp-preview-eyebrow{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#4f46e5}.lp-preview-ring{width:64px;height:64px;border-radius:50%;display:grid;place-content:center;text-align:center;flex-shrink:0;background:conic-gradient(#10b981 0,#10b981 75%,#e2e8f0 75%,#e2e8f0);position:relative}.lp-preview-ring:before{content:"";position:absolute;top:7px;right:7px;bottom:7px;left:7px;border-radius:50%;background:#fff}.lp-preview-ring b,.lp-preview-ring small{position:relative;line-height:1}.lp-preview-ring b{font-size:.95rem;color:#0f172a}.lp-preview-ring small{font-size:.5rem;font-weight:800;text-transform:uppercase;color:#94a3b8;margin-top:2px}.lp-preview-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.lp-preview-tiles span{display:flex;flex-direction:column;align-items:center;padding:.5rem .2rem;border-radius:12px;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#f1f5f9;color:#64748b}.lp-preview-tiles b{font-size:1.1rem;color:#0f172a;letter-spacing:0}.lp-preview-tiles .t-present{background:#ecfdf5;color:#047857}.lp-preview-tiles .t-absent{background:#fef2f2;color:#b91c1c}.lp-preview-tiles .t-late{background:#fffbeb;color:#b45309}.lp-preview-list{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.lp-preview-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem .7rem;border-bottom:1px solid #f1f5f9}.lp-preview-row:last-child{border-bottom:none}.lp-preview-row.s-absent{background:linear-gradient(90deg,#fef2f2,transparent 65%)}.lp-preview-row.s-late{background:linear-gradient(90deg,#fffbeb,transparent 65%)}.lp-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800;color:#4338ca;background:#e0e7ff}.lp-who{display:flex;flex-direction:column;min-width:0;line-height:1.2}.lp-who b{font-size:.84rem;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lp-who small{font-size:.68rem;color:#94a3b8}.lp-seg{display:inline-flex;gap:3px;padding:3px;background:#f1f5f9;border-radius:10px}.lp-seg i{width:28px;height:26px;display:grid;place-items:center;font-style:normal;font-size:.72rem;font-weight:800;color:#94a3b8;border-radius:8px}.lp-seg i.on{color:#fff}.lp-seg i.p{background:#10b981}.lp-seg i.a{background:#ef4444}.lp-seg i.l{background:#f59e0b}.lp-preview-save{display:flex;align-items:center;justify-content:center;gap:.45rem;height:42px;border-radius:12px;color:#fff;font-size:.82rem;font-weight:700;background:linear-gradient(135deg,#4f46e5,#2563eb)}.lp-stats{background:#0f172a;padding:1.5rem 0}.lp-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;text-align:center}.lp-stat strong{display:block;font-size:clamp(1.4rem,3vw,2rem);color:#fff;font-weight:800}.lp-stat span{font-size:.8rem;color:#94a3b8;font-weight:600}.lp-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}.lp-feature{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:1.4rem;transition:transform .18s var(--ease-out),box-shadow .2s ease,border-color .2s ease}.lp-feature:hover{transform:translateY(-3px);box-shadow:0 18px 36px -22px #1e293b4d;border-color:#c7d2fe}.lp-feature-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;margin-bottom:1rem}.lp-feature h3{font-size:1.05rem;font-weight:800;margin-bottom:.45rem}.lp-feature p{margin:0;font-size:.9rem;color:#64748b;line-height:1.6}.lp-role-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.lp-role-tab{min-height:42px;padding:0 1.1rem;border-radius:999px;font:inherit;font-size:.88rem;font-weight:700;cursor:pointer;color:#475569;background:#fff;border:1px solid #e2e8f0;transition:all .15s ease}.lp-role-tab:hover{border-color:#a5b4fc;color:#3730a3}.lp-role-tab.is-active{color:#3730a3;background:#eef2ff;border-color:#4f46e5;box-shadow:inset 0 0 0 1px #4f46e5}.lp-role-panel{max-width:760px;margin:0 auto;background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:clamp(1.25rem,3vw,2rem);box-shadow:0 20px 40px -28px #1e293b4d}.lp-role-panel h3{font-size:1.35rem;font-weight:800;margin-bottom:1rem}.lp-role-panel ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}.lp-role-panel li{display:flex;align-items:flex-start;gap:.65rem;color:#334155;font-size:.95rem;line-height:1.5}.lp-role-panel li svg{color:#0d9488;flex-shrink:0;margin-top:2px}.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem}.lp-step{position:relative;background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:1.4rem 1.2rem}.lp-step-num{position:absolute;top:1rem;right:1rem;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;font-weight:800;color:#4338ca;background:#eef2ff}.lp-step-icon{color:#4f46e5;margin-bottom:.8rem}.lp-step h3{font-size:1rem;font-weight:800;margin-bottom:.4rem}.lp-step p{margin:0;font-size:.88rem;color:#64748b;line-height:1.55}.lp-dark{background:#0f172a}.lp-dark .lp-head h2{color:#fff}.lp-dark .lp-head p{color:#94a3b8}.lp-sec-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.lp-sec-card{background:#1e293b;border:1px solid #334155;border-radius:18px;padding:1.4rem;color:#818cf8}.lp-sec-card h3{color:#fff;font-size:1.05rem;font-weight:800;margin:.9rem 0 .4rem}.lp-sec-card p{margin:0;color:#94a3b8;font-size:.88rem;line-height:1.6}.lp-register{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:center;gap:2rem;padding:clamp(1.5rem,4vw,3rem);border-radius:26px;color:#fff;background:linear-gradient(135deg,#4f46e5,#3730a3 55%,#0d9488 130%)}.lp-register h2{color:#fff;font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:800;margin-bottom:.75rem}.lp-register p{color:#ffffffe6;line-height:1.6;margin:0 0 1rem}.lp-register ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;font-size:.92rem}.lp-register li{display:flex;align-items:center;gap:.5rem}.lp-register li svg{color:#5eead4;flex-shrink:0}.lp-register-actions{display:flex;flex-direction:column;align-items:stretch;gap:.9rem;text-align:center;font-size:.85rem;color:#ffffffd9}.lp-register-actions .btn{background:#fff;color:#3730a3;border:none}.lp-register-actions a:not(.btn){color:#fff;font-weight:700;text-decoration:underline}.lp-faq{display:flex;flex-direction:column;gap:.75rem}.lp-faq-item{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.lp-faq-item.is-open{border-color:#818cf8}.lp-faq-item button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;font:inherit;font-size:.98rem;font-weight:700;text-align:left;color:#0f172a;background:none;border:none;cursor:pointer}.lp-faq-item button svg{flex-shrink:0;color:#64748b;transition:transform .2s ease}.lp-faq-item.is-open button svg{transform:rotate(180deg)}.lp-faq-item p{margin:0;padding:.85rem 1.2rem 1.1rem;border-top:1px solid #f1f5f9;color:#475569;font-size:.92rem;line-height:1.65}@media(max-width:1024px){.lp-feature-grid,.lp-steps,.lp-sec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-hero-grid{grid-template-columns:1fr}.lp-hero-copy{text-align:center}.lp-hero-copy p{margin-inline:auto}.lp-actions,.lp-hero-points{justify-content:center;align-items:center}}@media(max-width:640px){.lp-feature-grid,.lp-steps,.lp-sec-grid,.lp-register{grid-template-columns:1fr}.lp-actions{flex-direction:column;align-items:stretch}.lp-btn{width:100%}.lp-role-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem}.lp-role-tabs::-webkit-scrollbar{display:none}.lp-role-tab{flex-shrink:0}.lp-hero-points{align-items:flex-start;max-width:20rem;margin-inline:auto}.lp-register-actions{text-align:left}}.site-footer{background:#0f172a;color:#94a3b8;border-top:1px solid #1e293b;font-size:.85rem;padding:clamp(2rem,5vw,3rem) 0 1.25rem}.site-footer-inner{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem)}.site-footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr);gap:2rem;padding-bottom:1.75rem;border-bottom:1px solid #1e293b}.site-footer-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;margin-bottom:.85rem}.site-footer-logo{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#4f46e5,#14b8a6)}.site-footer-name{font-size:1.25rem;font-weight:800;color:#fff;letter-spacing:-.02em}.site-footer-name span{color:#818cf8}.site-footer-about{margin:0 0 .9rem;line-height:1.6;max-width:22rem}.site-footer h4{color:#fff;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .85rem}.site-footer-links{display:flex;flex-direction:column;gap:.6rem}.site-footer-links a{color:#94a3b8;text-decoration:none;transition:color .15s ease}.site-footer-links a:hover{color:#fff}.site-footer-links a.is-accent{color:#818cf8;font-weight:700}.site-footer-status{display:inline-flex;align-items:center;gap:.45rem;padding:.3rem .75rem;border-radius:999px;font-size:.74rem;font-weight:700}.site-footer-status i{width:6px;height:6px;border-radius:50%;background:currentColor}.site-footer-status.ok{color:#34d399;background:#10b98126;border:1px solid rgba(16,185,129,.4)}.site-footer-status.warn{color:#f59e0b;background:#f59e0b26;border:1px solid rgba(245,158,11,.4)}.site-footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;padding-top:1.1rem;font-size:.78rem;color:#64748b}.site-footer-legal{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center}.site-footer-legal a{color:#94a3b8;text-decoration:none}.site-footer-legal a:hover{color:#fff}.site-footer-legal a.is-accent{color:#818cf8;font-weight:700}@media(max-width:860px){.site-footer-grid{grid-template-columns:1fr 1fr}.site-footer-grid>:first-child{grid-column:1 / -1}}@media(max-width:480px){.site-footer-grid{gap:1.5rem 1rem}.site-footer-bottom{flex-direction:column;align-items:flex-start}}.auth-foot{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #f1f5f9;display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center}.auth-foot-q{font-size:.85rem;color:#64748b;font-weight:600}.auth-foot-btn{width:100%;height:46px;font-weight:700;justify-content:center}.auth-foot-links{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem 1.5rem;flex-wrap:wrap;margin-top:.4rem}.auth-foot-links a,.auth-foot-links button{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:0 .6rem;font:inherit;font-size:.85rem;font-weight:600;color:#64748b;background:none;border:none;border-radius:10px;cursor:pointer;text-decoration:none;transition:color .15s ease,background .15s ease}.auth-foot-links a:hover,.auth-foot-links button:hover{color:#4338ca;background:#eef2ff}.demo-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:14px;overflow:hidden;background:#0f172a}.demo-frame iframe,.demo-frame video{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;background:#000}.demo-tour{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.demo-tour li{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.75rem;padding:.8rem .9rem;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface-subtle)}.demo-tour-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.78rem;font-weight:800;color:var(--primary-700);background:var(--primary-100)}.demo-tour-icon{color:var(--primary-600);display:grid}.demo-tour strong{display:block;font-size:.95rem;color:var(--text-main)}.demo-tour p{margin:.15rem 0 0;font-size:.84rem;color:var(--text-muted);line-height:1.5}.demo-actions{display:flex;justify-content:flex-end;gap:.6rem;flex-wrap:wrap;margin-top:1.1rem}@media(max-width:640px){.demo-actions{flex-direction:column-reverse}.demo-actions .btn{width:100%;height:46px;justify-content:center}.demo-tour li{grid-template-columns:auto minmax(0,1fr)}.demo-tour-icon{display:none}}.lp-demo{padding:clamp(1.5rem,4vw,2.5rem) 0;background:#fff}.lp-demo-card{width:100%;display:flex;align-items:center;gap:clamp(1rem,3vw,1.75rem);text-align:left;font:inherit;cursor:pointer;padding:clamp(1.25rem,3vw,2rem);border:none;border-radius:24px;color:#fff;background:linear-gradient(135deg,#1e1b4b,#3730a3 55%,#0d9488 140%);box-shadow:0 24px 48px -26px #3730a399;transition:transform .18s var(--ease-out),box-shadow .2s ease}.lp-demo-card:hover{transform:translateY(-2px);box-shadow:0 30px 56px -26px #3730a3bf}.lp-demo-play{width:72px;height:72px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;color:#3730a3;background:#fff;box-shadow:0 0 0 10px #ffffff26}.lp-demo-play svg{margin-left:4px}.lp-demo-text{display:flex;flex-direction:column;gap:.3rem;min-width:0}.lp-demo-text strong{font-size:clamp(1.2rem,2.6vw,1.7rem);font-weight:800}.lp-demo-text span{font-size:clamp(.88rem,1.5vw,1rem);color:#ffffffd9;line-height:1.5}@media(max-width:640px){.lp-demo-play{width:56px;height:56px;box-shadow:0 0 0 6px #ffffff26}}.demo-page{padding:clamp(1.5rem,4vw,3rem) 0 clamp(2.5rem,6vw,4.5rem);background:linear-gradient(180deg,#f8fafc,#fff);min-height:70vh;color:#0f172a}.demo-page .back-link{color:#64748b}.demo-page-head{text-align:center;max-width:640px;margin:1rem auto clamp(1.25rem,3vw,2rem)}.demo-page-head h1{font-size:clamp(1.8rem,4.5vw,2.8rem);font-weight:800;letter-spacing:-.02em;margin:.8rem 0 .5rem;color:#0f172a}.demo-page-head p{margin:0;color:#64748b;font-size:clamp(.95rem,1.8vw,1.1rem)}.demo-player{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:.75rem}.demo-player .demo-frame{box-shadow:0 30px 60px -30px #1e293b80;border-radius:20px}.demo-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem;text-align:center;color:#c7d2fe;background:linear-gradient(135deg,#1e1b4b,#3730a3)}.demo-empty strong{color:#fff;font-size:clamp(1.05rem,2.4vw,1.4rem)}.demo-empty span{font-size:.9rem;opacity:.85}.demo-yt-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:#4338ca;text-decoration:none;min-height:40px}.demo-yt-link:hover{text-decoration:underline}.demo-learn{max-width:960px;margin:clamp(2rem,5vw,3rem) auto 0}.demo-learn h2{font-size:1.35rem;font-weight:800;margin:0 0 1rem;color:#0f172a}.demo-learn .demo-tour{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.demo-learn .demo-tour li{background:#fff;border-color:#e2e8f0}.demo-learn .demo-tour strong{color:#0f172a}.demo-learn .demo-tour p{color:#64748b}.demo-page-actions{justify-content:center;margin-top:2rem}@media(max-width:640px){.demo-learn .demo-tour{grid-template-columns:1fr}.demo-page-actions .btn{width:100%}}.try-demo{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid #f1f5f9;text-align:left}.try-demo-head{display:flex;align-items:center;gap:.4rem;color:#4338ca;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.try-demo-note{margin:.35rem 0 .8rem;font-size:.8rem;color:#64748b;line-height:1.5}.try-demo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.45rem}.try-demo-btn{height:42px;justify-content:center;gap:.4rem;font-size:.82rem;font-weight:700}.try-demo-error{margin:.6rem 0 0;font-size:.82rem;color:var(--danger)}.try-demo:not(.is-compact){margin:0;padding:clamp(1.1rem,3vw,1.75rem);border:1px solid #e2e8f0;border-radius:20px;background:#fff}.try-demo:not(.is-compact) .try-demo-head{font-size:.95rem;text-transform:none;letter-spacing:0}.demo-try{max-width:960px;margin:clamp(1.5rem,4vw,2.25rem) auto 0}.demo-banner{display:flex;align-items:center;gap:.6rem .9rem;flex-wrap:wrap;padding:.55rem clamp(1rem,3vw,1.5rem);font-size:.82rem;color:#3730a3;background:#eef2ff;border-bottom:1px solid #c7d2fe}.demo-banner svg{flex-shrink:0}.demo-banner-text{flex:1 1 260px;min-width:0}.demo-banner-actions{display:inline-flex;align-items:center;gap:.9rem}.demo-banner-actions a,.demo-banner-actions button{font:inherit;font-weight:700;color:#3730a3;background:none;border:none;padding:0;cursor:pointer;text-decoration:underline}@media(max-width:640px){.demo-banner{font-size:.78rem}}@media(max-width:640px){.chip-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.chip-row .btn-chip,.chip-row .btn-chip:not(.btn-chip-primary){width:100%;min-height:46px;padding:0 .75rem;justify-content:center}.chip-row .btn-chip:not(.btn-chip-primary) .chip-label{display:inline}.chip-row .btn-chip-primary{grid-column:1 / -1;order:-1;min-height:50px;font-size:.92rem}.chip-row>.btn-icon{grid-column:1 / -1;width:100%;height:42px;border-radius:999px;background:var(--bg-surface-subtle)}.chip-row>.btn-icon:after{content:"Refresh data";margin-left:.45rem;font-size:.82rem;font-weight:600}.card-header{flex-wrap:wrap;gap:.75rem}.card-header>.btn{width:100%;justify-content:center;height:44px}}.demo-banner-actions a,.demo-banner-actions button{padding:.3rem .8rem;border:1px solid #a5b4fc;border-radius:999px;background:#fff;text-decoration:none;font-size:.78rem;line-height:1.2}.demo-banner-actions a:hover,.demo-banner-actions button:hover{background:#e0e7ff}@media(max-width:640px){.demo-banner{gap:.5rem}.demo-banner-text{flex-basis:calc(100% - 28px)}.demo-banner-actions{width:100%;gap:.5rem}.demo-banner-actions a,.demo-banner-actions button{flex:1;text-align:center;padding:.45rem .6rem}}.sess-edited{display:flex;align-items:center;gap:.4rem;margin:.5rem 0 0;font-size:.82rem;color:var(--warning-700,#b45309);background:var(--warning-50,#fffbeb);border:1px solid var(--warning-200,#fde68a);border-radius:8px;padding:.4rem .6rem}.sess-edit-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin:.6rem 0 0}.sess-edit-row small{color:var(--text-light)}.sess-edited-badge{margin-left:.45rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--warning-700,#b45309);background:var(--warning-50,#fffbeb);border:1px solid var(--warning-200,#fde68a);border-radius:999px;padding:.05rem .45rem;vertical-align:middle}.sess-history{margin-top:1rem;border-top:1px solid var(--border-subtle);padding-top:.75rem}.sess-history h4{margin:0 0 .5rem;font-size:.9rem}.sess-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;max-height:240px;overflow:auto}.sess-history-list li{border:1px solid var(--border-subtle);border-radius:8px;padding:.55rem .7rem;background:var(--bg-surface-subtle)}.sess-history-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}.sess-history-why{margin:.3rem 0 .2rem;font-size:.84rem;font-style:italic}.sess-history-list small{color:var(--text-light)}.modal-overlay{width:auto;height:auto;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));overflow:hidden}.modal-content{--modal-pad: 1.5rem;display:flex;flex-direction:column;width:100%;max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow:hidden}.modal-header{position:relative;flex:0 0 auto;gap:.75rem;min-width:0}.modal-header h3{min-width:0;overflow-wrap:anywhere}.modal-close-btn{flex:0 0 auto}.modal-body{flex:1 1 auto;min-height:0;padding:var(--modal-pad);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.modal-footer{position:relative;flex:0 0 auto}.modal-body>*,.modal-body form,.modal-body .form-group{min-width:0;max-width:100%}.modal-body .form-input,.modal-body .form-select,.modal-body .csel-trigger,.modal-body textarea{max-width:100%;min-width:0;box-sizing:border-box}.modal-body img,.modal-body video{max-width:100%}.modal-body pre,.modal-body code{white-space:pre-wrap;overflow-wrap:anywhere}.modal-body .table-container,.modal-body .table-wrap,.modal-body .table-responsive{max-width:100%;overflow-x:auto}.modal-content .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-content .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.modal-body [style*=grid-template-columns]>*{min-width:0}.modal-body form>div[style*="justify-content: flex-end"]:last-child,.modal-body>div>div[style*="justify-content: flex-end"]:last-child{position:sticky;bottom:0;z-index:3;margin-left:calc(var(--modal-pad) * -1);margin-right:calc(var(--modal-pad) * -1);margin-bottom:calc(var(--modal-pad) * -1);padding:.85rem var(--modal-pad) calc(.85rem + var(--safe-bottom, 0px));background:var(--bg-surface);border-top:1px solid var(--border-subtle);flex-wrap:wrap}[data-theme=dark] .modal-body form>div[style*="justify-content: flex-end"]:last-child,[data-theme=dark] .modal-body>div>div[style*="justify-content: flex-end"]:last-child{background:var(--bg-surface-elevated)}@media(max-width:640px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{--modal-pad: 1.1rem;max-width:100%!important;width:100%;max-height:92vh;max-height:92dvh;border-radius:22px 22px 0 0}.modal-header{padding:1.2rem var(--modal-pad) .8rem}.modal-header h3{font-size:1.05rem}.modal-body{padding-bottom:calc(var(--modal-pad) + var(--safe-bottom, 0px))}.modal-content .grid-cols-2,.modal-content .grid-cols-3,.modal-body [style*="grid-template-columns: repeat(2"],.modal-body [style*="grid-template-columns: 1.2fr"]{grid-template-columns:minmax(0,1fr)!important}.modal-body form>div[style*="justify-content: flex-end"]:last-child,.modal-body>div>div[style*="justify-content: flex-end"]:last-child{flex-direction:column-reverse;align-items:stretch;margin-bottom:calc((var(--modal-pad) + var(--safe-bottom, 0px)) * -1)}.modal-body form>div[style*="justify-content: flex-end"]:last-child .btn,.modal-body>div>div[style*="justify-content: flex-end"]:last-child .btn{width:100%}}.toolbar>*{min-width:0}.toolbar-refresh.is-spinning svg{animation:spin .9s linear infinite}.toolbar-refresh.is-spinning{pointer-events:none}@media(max-width:640px){.toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.6rem;width:100%}.toolbar-search{grid-column:1;grid-row:1;width:100%}.toolbar-search .form-input{width:100%;min-height:44px}.toolbar-actions{display:contents}.toolbar-actions .toolbar-btn{grid-column:2;grid-row:1;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;justify-content:center}.toolbar-actions .toolbar-btn span{display:none}.toolbar-actions .toolbar-refresh{grid-column:3;grid-row:1;width:44px;min-width:44px;height:44px;min-height:44px}.toolbar-filters{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:.6rem;width:100%}.toolbar-filters>*:not(.csel-native){flex:1 1 calc(50% - .3rem);min-width:130px;width:auto}.toolbar-filters>.csel-native{width:1px;min-width:0}.toolbar-filters .form-select,.toolbar-filters .form-input,.toolbar-filters .csel-trigger{width:auto;min-width:130px}}.alert-stack{position:fixed;right:1.5rem;bottom:1.5rem;z-index:10000;display:flex;flex-direction:column-reverse;gap:.6rem;width:min(420px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:hidden;pointer-events:none}.alert-stack>.alert{pointer-events:auto}.alert-stack>.alert-bottom-right{position:relative;inset:auto!important;z-index:auto;width:100%;max-width:none;margin:0;flex:0 0 auto}@media(max-width:768px){.alert-stack{left:1rem;right:1rem;width:auto;bottom:calc(var(--mobile-nav-height, 0px) + var(--safe-bottom, 0px) + .75rem)}}.att-progress{height:6px}.att-legend{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem 1.1rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-light);background:var(--bg-surface-subtle);border-bottom:1px solid var(--border-subtle)}.att-legend-keys{display:inline-flex;gap:.9rem}.att-legend-keys b{display:inline-flex;align-items:center;gap:.25rem;font-weight:800}.att-legend-keys .p{color:var(--success)}.att-legend-keys .a{color:var(--danger)}.att-legend-keys .l{color:var(--warning)}.att-row{grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;padding:.55rem 1.1rem}.att-avatar{width:2.1rem;height:2.1rem;font-size:.8rem}.att-remark{grid-column:2 / -1}.att-remark-input{margin-top:0}.att-seg{gap:2px;padding:3px;border-radius:11px}.att-seg button{height:30px;min-width:30px;padding:0 .6rem;gap:.3rem;border-radius:8px;font-size:.75rem}.att-seg button.p{color:var(--success)}.att-seg button.a{color:var(--danger)}.att-seg button.l{color:var(--warning)}.att-seg button:not(.on) svg{opacity:.55}.att-seg button.on.p,.att-seg button.on.a,.att-seg button.on.l{color:#fff;box-shadow:0 2px 6px -1px #0f172a4d}.att-seg button.on svg{opacity:1}.att-seg button:focus-visible{outline:2px solid var(--primary-500);outline-offset:1px}@media(max-width:640px){.att-hero .att-controls{grid-template-columns:minmax(0,1fr)}.att-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem}.att-stat,button.att-stat{flex-direction:column;justify-content:center;gap:.15rem;padding:.55rem .2rem;text-align:center}.att-stat-icon{display:none}.att-stat strong{font-size:1.2rem}.att-stat span.att-stat-label{font-size:.62rem;letter-spacing:.03em}.att-legend{padding:.45rem .9rem}.att-legend-keys{gap:.6rem}.att-row{grid-template-columns:auto minmax(0,1fr) auto;padding:.5rem .75rem .5rem .9rem;row-gap:.4rem;column-gap:.6rem}.att-row .att-seg{grid-column:auto;display:inline-flex}.att-row .att-who{grid-column:auto}.att-seg button{height:34px;min-width:34px;padding:0}.att-label-full{display:none}.att-who .att-sub{flex-wrap:nowrap;overflow:hidden}.att-who .att-sub code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-remark{grid-column:1 / -1}.att-bulk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:.5rem}.att-bulk #btn-mark-all-present{grid-column:1 / -1}.att-bulk #btn-mark-all-absent{grid-column:1 / 3}.att-bulk .att-hide-sm{display:inline}.att-bulk .btn:not(.btn-icon){min-width:0;justify-content:center}.att-bulk #btn-mark-all-present span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-skel-row{grid-template-columns:2.1rem minmax(0,1fr) 6rem}.att-skel-row .skel-pill{grid-column:auto;height:30px}}@media(max-width:400px){.att-legend{font-size:.64rem;letter-spacing:.02em}.att-legend-keys{gap:.45rem}}.att-phone{white-space:nowrap;flex-shrink:0}@media(max-width:640px){.empty-state,.att-empty{text-align:center;margin-left:auto;margin-right:auto}.card,.stat-card{max-width:100%}.tab-list{overflow-x:auto;scrollbar-width:none}.tab-list::-webkit-scrollbar{display:none}}:root{--mobile-nav-height: 0px}.mobile-nav{display:none!important}@media(max-width:640px){.page-actions{display:flex;flex-wrap:wrap;gap:.5rem;width:100%}.page-actions>.btn,.page-actions>a.btn{flex:1 1 calc(50% - .25rem);min-width:0;height:44px;min-height:44px;padding-left:.6rem;padding-right:.6rem;justify-content:center;white-space:nowrap}.page-actions>.btn-primary:first-child:last-child,.page-actions>.btn:only-child{flex-basis:100%}.page-actions>.btn-primary{order:-1;flex-basis:100%}}.dash{display:flex;flex-direction:column;gap:1.25rem}.dash-welcome h1{font-size:clamp(1.4rem,1.1rem + 1.2vw,1.9rem);font-weight:800;letter-spacing:-.02em;margin:0 0 .3rem}.dash-welcome p{margin:0;color:var(--text-muted);font-size:.975rem}.dash-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.dash-card{--tone: var(--primary-500);--tone-bg: rgba(99, 102, 241, .12);display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem;min-width:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.dash-card.tone-info{--tone: var(--info, #0284c7);--tone-bg: rgba(2, 132, 199, .12)}.dash-card.tone-purple{--tone: var(--accent-purple, #9333ea);--tone-bg: rgba(147, 51, 234, .12)}.dash-card.tone-success{--tone: var(--success);--tone-bg: rgba(16, 185, 129, .14)}.dash-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dash-card-label{font-size:.9rem;font-weight:700;color:var(--text-muted)}.dash-card-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:12px;background:var(--tone-bg);color:var(--tone)}.dash-card-value{font-family:var(--font-display);font-size:2.1rem;font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--text-main)}.dash-card-caption{font-size:.82rem;color:var(--text-muted);line-height:1.35}.dash-section{display:flex;flex-direction:column;gap:1rem}.dash-section-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.dash-section-title{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.1rem;font-weight:800}.dash-section-sub{margin:.2rem 0 0;font-size:.875rem;color:var(--text-muted)}.dash-progress{height:12px;border-radius:999px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);overflow:hidden}.dash-progress>div{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--success),#34d399);transition:width .6s ease}.dash-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.875rem;color:var(--text-muted)}.dash-legend span{display:inline-flex;align-items:center;gap:.45rem}.dash-legend i{width:10px;height:10px;border-radius:50%}.dash-legend b{color:var(--text-main)}.dash-timing{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.85rem;white-space:nowrap}.dash-fill{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-muted)}.dash-fill b{color:var(--text-main)}.dash-fill>div{height:6px;border-radius:999px;background:var(--bg-surface-subtle);overflow:hidden}.dash-fill>div>div{height:100%;border-radius:999px}.dash-empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2rem 1rem;text-align:center;color:var(--text-muted)}.dash-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.dash-steps>div{display:flex;flex-direction:column;gap:.3rem;padding:1rem;border-radius:var(--radius-md);background:var(--bg-surface-subtle)}.dash-steps p{margin:0;font-size:.85rem;color:var(--text-muted);line-height:1.45}.dash-step-no{display:grid;place-items:center;width:26px;height:26px;margin-bottom:.2rem;border-radius:50%;font-size:.8rem;font-weight:800;color:#fff;background:var(--primary-500)}@media(max-width:1024px){.dash-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.dash-steps{grid-template-columns:minmax(0,1fr)}}.dash-batches{list-style:none;margin:0;padding:0}.dash-batch{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) minmax(0,1.5fr) auto;align-items:center;gap:1rem;padding:.85rem .25rem;border-top:1px solid var(--border-subtle);font-size:.925rem}.dash-batch-head{padding-top:0;border-top:none;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light)}.dash-batch-main{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;min-width:0}.dash-batch-main strong{font-size:1rem;overflow-wrap:anywhere}.dash-batch-status{justify-self:end}@media(max-width:720px){.dash-batch-head{display:none}.dash-batch{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main status" "timing timing" "fill fill";gap:.6rem .75rem;padding:1rem 0;font-size:.95rem}.dash-batch-main{grid-area:main}.dash-batch-status{grid-area:status;align-self:start}.dash-batch>.dash-timing{grid-area:timing;font-size:.9rem}.dash-batch>.dash-fill{grid-area:fill;font-size:.9rem}}@media(max-width:640px){.dash{gap:1rem}.dash .card.dash-section{padding:1.1rem 1rem}.dash-welcome h1{font-size:1.5rem}.dash-welcome p{font-size:1rem}.dash-cards{gap:.75rem}.dash-card{padding:1rem .9rem;gap:.4rem}.dash-card-label{font-size:.95rem}.dash-card-value{font-size:2.2rem}.dash-card-caption{font-size:.85rem}.dash-section-title{font-size:1.2rem}.dash-section-sub,.dash-legend{font-size:.95rem}.dash-section-head>.btn{width:100%;justify-content:center;min-height:44px}.dash-steps>div p{font-size:.95rem}}.dash-section-head-row{flex-wrap:nowrap;align-items:flex-start}.dash-title-block{min-width:0;flex:1 1 auto}.dash-link{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;padding:.45rem .85rem;border-radius:999px;border:1px solid var(--border-subtle);background:var(--bg-surface-subtle);color:var(--primary-600);font-size:.875rem;font-weight:700;white-space:nowrap;text-decoration:none;transition:background .15s ease,border-color .15s ease}.dash-link:hover{background:var(--bg-hover);border-color:var(--primary-500)}@media(max-width:480px){.dash-section-head-row{flex-wrap:wrap}.dash-link{padding:.5rem .95rem}}.dash-section-head-row{flex-wrap:nowrap;align-items:center;justify-content:space-between}.dash-batches-sub{margin:-.5rem 0 0}.dash-batch{grid-template-columns:minmax(0,1.6fr) minmax(0,2fr) minmax(0,1.5fr) auto;grid-template-areas:none}.dash-batch-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .75rem;min-width:0}.dash-batch-name{font-size:1rem;overflow-wrap:anywhere}@media(max-width:720px){.dash-batch{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name status" "meta meta" "fill fill";gap:.45rem .6rem;padding:.8rem 0}.dash-batch>.dash-batch-name{grid-area:name;align-self:center}.dash-batch>.dash-batch-meta{grid-area:meta}.dash-batch>.dash-fill{grid-area:fill}.dash-batch>.dash-batch-status{grid-area:status;align-self:center}}@media(max-width:640px){.dash{gap:.75rem}.dash .card.dash-section{padding:.9rem .85rem;gap:.75rem}.dash-welcome h1{font-size:1.3rem;margin-bottom:.15rem}.dash-welcome p{font-size:.875rem}.dash-cards{gap:.6rem}.dash-card{padding:.75rem .8rem;gap:.25rem;border-radius:14px}.dash-card-label{font-size:.82rem}.dash-card-icon{width:30px;height:30px;flex-basis:30px;border-radius:9px}.dash-card-icon svg{width:16px;height:16px}.dash-card-value{font-size:1.7rem}.dash-card-caption{font-size:.74rem}.dash-section-title{font-size:1.02rem}.dash-section-sub{font-size:.82rem;margin-top:.1rem}.dash-legend{font-size:.85rem;gap:.4rem 1.1rem}.dash-progress{height:10px}.dash-section-head>.btn{min-height:38px;font-size:.85rem}.dash-link{padding:.35rem .7rem;font-size:.78rem;gap:.25rem}.dash-batch-name{font-size:.95rem}.dash-batch .badge{font-size:.72rem;padding:.2rem .55rem}.dash-batch>.dash-timing,.dash-batch-meta .dash-timing{font-size:.82rem}.dash-batch>.dash-fill{font-size:.82rem;gap:.25rem}.dash-fill>div{height:5px}.dash-steps{gap:.6rem}.dash-steps>div{padding:.75rem .85rem}.dash-steps strong{font-size:.92rem}.dash-steps>div p{font-size:.82rem}.dash-step-no{width:22px;height:22px;font-size:.72rem}}.dash-card-caption{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.dash-card{padding:.65rem .75rem;gap:.2rem}.dash-card-label{font-size:.78rem}.dash-card-icon{width:28px;height:28px;flex-basis:28px}.dash-card-icon svg{width:15px;height:15px}.dash-card-value{font-size:1.5rem}.dash-card-caption{font-size:.7rem}}.acad-page{display:flex;flex-direction:column;gap:1rem}.acad-head{align-items:center;gap:.75rem 1rem}.acad-head h1{margin:0}.acad-sub{margin:.25rem 0 0;color:var(--text-muted);font-size:.925rem}.acad-head .page-actions{gap:.5rem}.acad-head .page-actions>.btn{height:38px;min-height:38px;padding:0 1rem;font-size:.85rem;border-radius:10px}.acad-page .nav-pill-group{align-self:flex-start;max-width:100%}.acad-page .nav-pill-item{padding:.45rem .9rem;font-size:.875rem}.acad-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem}.acad-bar-title{display:flex;align-items:center;gap:.5rem;font-weight:700;font-size:1rem;min-width:0}.acad-count{margin-left:.6rem;padding:.15rem .6rem;border-radius:999px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);font-size:.75rem;font-weight:700;color:var(--text-muted)}.acad-bar-tools{display:flex;align-items:center;gap:.5rem}.acad-bar-tools .check-chip{min-height:34px;padding:0 .7rem;font-size:.8rem}.acad-bar-tools .btn-icon{width:34px;min-width:34px;height:34px;min-height:34px}.acad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,310px),1fr));gap:1rem}.acad-empty{grid-column:1 / -1;text-align:center;padding:2.5rem 1rem}.acad-card{display:flex;flex-direction:column;gap:.6rem;padding:1rem 1.1rem;min-width:0}.acad-card.is-archived{opacity:.8}.acad-card-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.acad-card-name{margin:0;font-size:1.1rem;line-height:1.25}.acad-card-meta{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.acad-card-meta span{display:flex;align-items:center;gap:.45rem;min-width:0}.acad-card-meta svg{flex-shrink:0}.acad-seat-bar{height:5px;border-radius:999px;background:var(--bg-surface-subtle);overflow:hidden}.acad-seat-bar>div{height:100%;border-radius:999px}.acad-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem;padding-top:.75rem;border-top:1px solid var(--border-subtle)}.acad-actions .btn{flex:1 1 auto;height:34px;min-height:34px;padding:0 .7rem;font-size:.8rem;gap:.35rem;white-space:nowrap;justify-content:center}.acad-actions .acad-archive{flex:0 0 auto;color:var(--text-muted)}.acad-actions .acad-archive:hover{color:var(--danger)}.acad-page .card-header .btn-icon{width:34px;min-width:34px;height:34px;min-height:34px}@media(max-width:640px){.acad-page{gap:.75rem}.acad-head h1{font-size:1.4rem}.acad-sub{font-size:.85rem}.acad-head .page-actions{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:.4rem;width:100%}.acad-head .page-actions>.btn{flex:none;height:36px;min-height:36px;padding:0 .4rem;font-size:.78rem;order:0;gap:.25rem}.acad-head .page-actions>.btn svg{width:14px;height:14px}.acad-page .nav-pill-group{align-self:stretch}.acad-page .nav-pill-item{flex:1 1 0;justify-content:center;padding:.45rem .4rem;font-size:.8rem}.acad-bar-title{font-size:.95rem}.acad-card{padding:.9rem}.acad-card-name{font-size:1.02rem}.acad-actions .btn:not(.acad-archive){flex:1 1 calc(50% - .2rem)}.acad-actions .acad-archive{flex:1 1 100%}}.acad-head .page-actions>.btn{height:38px;min-height:38px;padding:0 1.1rem;font-size:.875rem;border-radius:11px;box-shadow:0 6px 16px -6px #4f46e58c}.acad-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:1.1rem}.bc{--accent: #6366f1;--accent-2: #8b5cf6;--accent-soft: rgba(99, 102, 241, .1);position:relative;display:flex;flex-direction:column;gap:.85rem;padding:1.1rem 1.1rem 1rem;min-width:0;overflow:hidden;border-radius:18px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.bc:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.bc:nth-child(4n+2){--accent: #0ea5e9;--accent-2: #14b8a6;--accent-soft: rgba(14, 165, 233, .1)}.bc:nth-child(4n+3){--accent: #f59e0b;--accent-2: #f97316;--accent-soft: rgba(245, 158, 11, .12)}.bc:nth-child(4n+4){--accent: #10b981;--accent-2: #22c55e;--accent-soft: rgba(16, 185, 129, .1)}.bc:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--accent)}.bc.is-archived{opacity:.75;filter:grayscale(.4)}.bc-head{display:flex;align-items:flex-start;gap:.75rem;padding-top:.15rem}.bc-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:14px;font-family:var(--font-display);font-size:1.2rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2));box-shadow:0 6px 14px -6px var(--accent)}.bc-title{flex:1 1 auto;min-width:0}.bc-title h3{margin:0 0 .3rem;font-size:1.08rem;line-height:1.25}.bc-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.bc-tags .badge{max-width:100%}.bc-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;color:var(--success)}.bc-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.bc-status.off{color:var(--text-light)}.bc-icons{display:flex;gap:.25rem;flex:0 0 auto}.bc-icon{display:grid;place-items:center;width:30px;height:30px;border:none;border-radius:9px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.bc-icon:hover{background:var(--accent-soft);color:var(--accent)}.bc-icon-danger:hover{background:var(--danger-bg);color:var(--danger)}.bc-icon:disabled{opacity:.5;cursor:not-allowed}.bc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.bc-tile{display:flex;align-items:flex-start;gap:.55rem;min-width:0;padding:.65rem .75rem;border-radius:12px;background:var(--accent-soft)}.bc-tile>svg{flex-shrink:0;margin-top:.15rem;color:var(--accent)}.bc-tile small{display:block;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.bc-tile b{display:block;font-size:.85rem;font-weight:700;color:var(--text-main);line-height:1.3;overflow-wrap:anywhere}.bc-seats{display:flex;align-items:center;gap:.6rem;font-size:.75rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.bc-seat-bar{flex:1 1 auto;height:6px;border-radius:999px;background:var(--bg-surface-subtle);overflow:hidden}.bc-seat-bar>div{height:100%;border-radius:999px;transition:width .5s ease}.bc-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:auto}.bc-foot .btn{height:34px;min-height:34px;padding:0 .6rem;font-size:.8rem;border-radius:10px;gap:.35rem;white-space:nowrap;justify-content:center}.bc-foot .btn:only-child{grid-column:1 / -1}.bc-btn{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-main)}.bc-btn:hover{border-color:var(--accent);color:var(--accent)}.bc-btn-main{background:var(--accent-soft);border-color:transparent;color:var(--accent)}.bc-btn-main:hover{background:var(--accent);color:#fff}@media(max-width:640px){.acad-head{flex-wrap:nowrap;align-items:center}.acad-head h1{font-size:1.3rem}.acad-head .page-actions{display:flex;width:auto;flex:0 0 auto}.acad-head .page-actions>.btn{flex:0 0 auto;height:34px;min-height:34px;padding:0 .8rem;font-size:.8rem;border-radius:10px}.acad-sub{display:none}.acad-grid{grid-template-columns:minmax(0,1fr);gap:.8rem}.bc{padding:.9rem .9rem .85rem;gap:.7rem;border-radius:16px}.bc-avatar{flex-basis:38px;width:38px;height:38px;border-radius:12px;font-size:1.05rem}.bc-title h3{font-size:1rem}.bc-tile{padding:.55rem .65rem}.bc-tile b{font-size:.8rem}.bc-foot .btn{height:32px;min-height:32px;font-size:.76rem}}.acad-head{display:block;text-align:left}.acad-head h1{text-align:left}.acad-page .nav-pill-group{display:flex;align-self:stretch;width:100%;max-width:100%}.acad-page .nav-pill-item{flex:1 1 0;justify-content:center;min-width:0;white-space:nowrap}.acad-bar-tools .acad-new{height:34px;min-height:34px;padding:0 .9rem;font-size:.82rem;border-radius:10px;box-shadow:0 6px 14px -6px #4f46e58c}.acad-page .card-header .acad-new{height:34px;min-height:34px}.bc-info{display:flex;flex-direction:column;gap:.4rem;font-size:.875rem;color:var(--text-muted)}.bc-info span{display:flex;align-items:center;gap:.5rem;min-width:0}.bc-info svg{flex-shrink:0;color:var(--accent)}@media(max-width:640px){.acad-head h1{font-size:1.35rem}.acad-sub{display:block;font-size:.85rem}.acad-page .nav-pill-item{padding:.5rem .25rem;font-size:.78rem;gap:.3rem}.acad-page .nav-pill-item svg{width:14px;height:14px}.acad-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.acad-bar-tools{display:contents}.acad-bar-tools .acad-new{grid-column:2;grid-row:1}.acad-bar-tools .check-chip{grid-column:1;grid-row:2;justify-self:start}.acad-bar-tools>.btn-icon{grid-column:2;grid-row:2;justify-self:end}.acad-page .card-header .acad-bar-tools{display:flex}.acad-page .card-header .acad-new{padding:0 .7rem;font-size:.78rem}}.acad-bar-tools .check-chip{order:1}.acad-bar-tools>.btn-icon{order:2}@media(max-width:640px){.acad-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.acad-bar-title{flex:1 1 100%}.acad-bar-tools,.acad-page .card-header .acad-bar-tools{display:flex;flex:1 1 100%;align-items:center;gap:.5rem}.acad-bar-tools>.btn-icon{margin-left:auto;grid-column:auto;grid-row:auto}.acad-bar-tools .check-chip,.acad-bar-tools .acad-new{grid-column:auto;grid-row:auto;justify-self:auto}}.acad-bar-tools>.btn-icon{order:1}.acad-bar-tools .check-chip{order:2}.acad-bar-tools .acad-new{order:3}@media(max-width:640px){.acad-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.acad-bar-title{flex:1 1 100%}.acad-bar-tools,.acad-page .card-header .acad-bar-tools{display:flex;flex:1 1 100%;align-items:center;gap:.5rem}.acad-bar-tools .acad-new{grid-column:auto;grid-row:auto;margin-left:auto}.acad-bar-tools>.btn-icon,.acad-bar-tools .check-chip{grid-column:auto;grid-row:auto;justify-self:auto}}.bc-head{align-items:center}.bc-title h3{margin:0}.bc-classrow{display:flex;align-items:center;justify-content:space-between;gap:.6rem;min-width:0}.bc-classrow .badge{min-width:0;max-width:70%}.bc-classrow .bc-status{flex:0 0 auto;white-space:nowrap}.acad-bar-tools .check-chip{flex:0 0 auto;width:auto}.acad-bar-tools .acad-new{flex:0 0 auto;white-space:nowrap}.acad-bar-tools>.btn-icon{flex:0 0 auto}@media(max-width:640px){.acad-bar-tools,.acad-page .card-header .acad-bar-tools{flex-wrap:nowrap;gap:.4rem}.acad-bar-tools .check-chip{padding:0 .55rem;font-size:.75rem;min-height:32px}.acad-bar-tools>.btn-icon{width:32px;min-width:32px;height:32px;min-height:32px}.acad-bar-tools .acad-new{height:32px;min-height:32px;padding:0 .7rem;font-size:.78rem;margin-left:auto}.acad-bar-tools .acad-new svg{width:14px;height:14px}}.bc-head{gap:.6rem}.bc-avatar,.bc .bc-avatar{flex:0 0 30px;width:30px;height:30px;border-radius:9px;font-size:.95rem;box-shadow:0 4px 10px -5px var(--accent)}.bc-title h3{font-size:1.02rem}.bc-classrow .bc-status{margin-left:auto;text-align:right}@media(max-width:640px){.bc-avatar,.bc .bc-avatar{flex-basis:28px;width:28px;height:28px;font-size:.9rem}.bc-title h3{font-size:.98rem}}.bc-info .bc-line-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-info .bc-status{flex:0 0 auto;margin-left:auto}.acad-bar-tools>.btn-icon.is-spinning svg{animation:spin .9s linear infinite}.acad-bar-tools{align-items:center}.acad-bar-tools>.btn-icon,.acad-bar-tools .check-chip,.acad-bar-tools .acad-new{box-sizing:border-box;height:34px;min-height:34px;border-radius:10px}.acad-bar-tools>.btn-icon{width:34px;min-width:34px;padding:0;display:inline-flex;align-items:center;justify-content:center}.acad-bar-tools .check-chip{display:inline-flex;align-items:center;gap:.4rem;padding:0 .7rem;margin:0;line-height:1;white-space:nowrap;background:var(--bg-card, #fff);border:1px solid var(--border, #e2e8f0);box-shadow:none}.acad-bar-tools .check-chip input{margin:0;flex:0 0 auto}@media(max-width:640px){.acad-bar-tools{gap:.4rem}.acad-bar-tools>.btn-icon,.acad-bar-tools .check-chip,.acad-bar-tools .acad-new{height:34px;min-height:34px}.acad-bar-tools>.btn-icon{width:34px;min-width:34px}.acad-bar-tools .check-chip{font-size:.78rem;padding:0 .6rem}.acad-bar-tools .acad-new{padding:0 .8rem;font-size:.8rem;gap:.25rem}}@media(max-width:640px){.acad-bar-tools,.acad-page .card-header .acad-bar-tools{display:flex;flex-wrap:nowrap;justify-content:flex-start;width:100%}.acad-bar-tools>.btn-icon{margin-left:0}.acad-bar-tools .acad-new{margin-left:auto}}@media(max-width:640px){.acad-bar-tools .check-chip{order:1}.acad-bar-tools>.btn-icon{order:2}.acad-bar-tools .acad-new{order:3}}.timing-picker{display:flex;flex-direction:column;gap:.6rem;min-width:0}.timing-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.timing-times .form-group{margin:0}.timing-legacy{margin:0;font-size:.82rem;color:var(--text-muted)}.timing-days{display:flex;flex-direction:column;gap:.4rem}.timing-days-label{font-size:.78rem;font-weight:600;color:var(--text-muted)}.timing-chips{display:flex;flex-wrap:wrap;gap:.4rem}.timing-chip{min-height:30px;padding:0 .7rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid var(--border, #e2e8f0);background:var(--bg-card, #fff);color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.timing-chip.is-on{background:var(--accent);border-color:var(--accent);color:#fff}.timing-picker .timing-chip.is-on,.timing-picker .timing-chip.is-on:hover,.timing-picker .timing-chip.is-on:focus,.timing-picker .timing-chip.is-on:focus-visible,.timing-picker .timing-chip.is-on:active{background:var(--accent, #4f46e5);border-color:var(--accent, #4f46e5);color:#fff;box-shadow:0 4px 10px -5px var(--accent, #4f46e5)}.timing-picker .timing-chip:not(.is-on):hover{border-color:var(--accent, #4f46e5);color:var(--accent, #4f46e5)}.alert-stack,.toast-container{z-index:100010}.field-count{display:block;margin-top:.25rem;text-align:right;font-size:.75rem;color:var(--text-muted)}.form-group:has(>.field-count){position:relative}.form-group>.field-count{position:absolute;top:0;right:0;margin:0;line-height:1.2;pointer-events:none}.confirm-title{display:flex;align-items:center;gap:.65rem;min-width:0}.confirm-icon{width:34px;height:34px;border-radius:50%;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.confirm-icon.is-danger{background:var(--danger-bg, #fee2e2);color:var(--danger, #dc2626)}.confirm-icon.is-warning{background:var(--warning-bg, #fef3c7);color:var(--warning, #d97706)}.confirm-body{display:flex;flex-direction:column;gap:1.25rem}.confirm-message{margin:0;padding:.9rem 1rem;border-radius:12px;border:1px solid var(--border-subtle, #e2e8f0);background:var(--bg-surface-subtle, #f8fafc);font-size:.93rem;line-height:1.7;color:var(--text-main);overflow-wrap:anywhere}.confirm-message.is-danger{border-color:#ef444438;background:#ef44440d}.confirm-entity{display:inline;padding:.12rem .5rem;margin:0 .1rem;border-radius:7px;background:#0f172a12;font-weight:700;color:var(--text-main);box-decoration-break:clone;-webkit-box-decoration-break:clone}.confirm-actions{display:flex;justify-content:flex-end;gap:.6rem}.confirm-actions .btn{min-width:104px;font-weight:600}@media(max-width:480px){.confirm-actions .btn{flex:1 1 0;min-width:0}}.modal-body form>div[style*="justify-content: flex-end"]:last-child,.modal-body>div>div[style*="justify-content: flex-end"]:last-child{bottom:calc(var(--modal-pad) * -1)}@media(max-width:640px){.modal-body form>div[style*="justify-content: flex-end"]:last-child,.modal-body>div>div[style*="justify-content: flex-end"]:last-child{bottom:calc((var(--modal-pad) + var(--safe-bottom, 0px)) * -1)}}.bc-info .bc-line-text.bc-wrap{white-space:normal;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.bc-info:has(.bc-wrap)>span:first-child{align-items:flex-start}.bc-info:has(.bc-wrap)>span:first-child svg{margin-top:2px}.users-page{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.users-page .page-head{margin:0}.users-page .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem)}.users-page .tab-list{display:flex;width:100%;margin:0;overflow:visible}.users-page .tab-btn{flex:1 1 0;justify-content:center;min-width:0;padding:.55rem .5rem;font-size:.86rem}.users-list.is-loading{opacity:.6;transition:opacity .15s;pointer-events:none}.user-actions{display:flex;gap:.4rem}.user-actions .btn{width:32px;height:32px;min-height:32px;padding:0}.user-cards{display:none;list-style:none;margin:0;padding:0}@media(max-width:1280px){.users-table{display:none}.user-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.75rem;padding:.75rem}.user-cards-empty{grid-column:1 / -1;text-align:center;padding:2rem 1rem;color:var(--text-muted)}.user-card{display:flex;flex-direction:column;gap:.6rem;min-width:0;padding:.85rem;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface)}.user-card-top{display:flex;align-items:center;gap:.65rem;min-width:0}.user-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--primary-100);color:var(--primary-700);font-weight:700;font-size:.85rem}.user-card-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem}.user-card-name strong{font-size:.95rem}.user-card-name .cell-code{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-info{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.user-card-info>span{display:flex;align-items:center;gap:.45rem;min-width:0;max-width:100%}.user-card-info svg{flex-shrink:0;color:var(--primary-500)}.user-card-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card .user-actions{justify-content:flex-end;padding-top:.5rem;border-top:1px dashed var(--border-subtle)}}@media(max-width:640px){.users-page .page-head{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.users-page .page-actions{display:flex;flex-wrap:wrap;gap:.5rem}.users-page .page-actions .btn{flex:1 1 auto;justify-content:center}.users-page .tab-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.users-page .tab-btn{font-size:.8rem;padding:.5rem .25rem}}.users-page .page-actions .btn{height:32px;min-height:32px;padding:0 .7rem;font-size:.8rem;gap:.35rem;border-radius:9px}.users-page .page-actions .btn svg{width:15px;height:15px}.users-page .user-actions .btn{width:30px;height:30px;min-height:30px}.user-card-line{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.user-card-line strong{min-width:0}.user-card-line .badge{flex:0 0 auto}.user-card-role{text-transform:capitalize}.user-card-top{align-items:flex-start}.perm-box{margin-bottom:1.25rem;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface-subtle);overflow:hidden}.perm-head{display:flex;align-items:flex-start;gap:.6rem;padding:.8rem 1rem;border-bottom:1px solid var(--border-subtle)}.perm-head>svg{flex:0 0 auto;margin-top:2px;color:var(--primary-500)}.perm-head div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.perm-head strong{font-size:.9rem;color:var(--text-main)}.perm-head span{font-size:.78rem;color:var(--text-muted)}.perm-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,170px);align-items:center;gap:.75rem;padding:.55rem 1rem}.perm-row+.perm-row{border-top:1px dashed var(--border-subtle)}.perm-row label{font-size:.85rem;font-weight:600;color:var(--text-main);line-height:1.3}.perm-select{min-width:0}.perm-select .csel,.perm-select .form-select,.perm-select button{width:100%}.user-actions.is-locked{opacity:.4;cursor:not-allowed}.user-actions.is-locked .btn{pointer-events:none;display:inline-flex;align-items:center;justify-content:center}@media(max-width:1280px){.table.has-actions tr:last-child td:not(:last-child){border-bottom:1px dashed var(--border-subtle)}}@media(max-width:640px){.table tr:last-child td:not(:last-child){border-bottom:1px dashed var(--border-subtle)}}.dash-batch-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal}.dash-batch-meta .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(min-width:769px)and (max-width:1024px){.sidebar-brand-info,.sidebar-brand-city{display:none!important}.sidebar-header{justify-content:center;padding:0;overflow:hidden}.sidebar-brand{justify-content:center;width:100%;gap:0!important}}.bc-title{min-width:0;flex:1 1 auto}.bc-title h3{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;overflow-wrap:normal;-webkit-line-clamp:unset}.try-demo-btn{white-space:nowrap;padding:0 .6rem;min-width:0}.try-demo-btn svg{flex:0 0 auto}@media(max-width:640px){.try-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.try-demo-grid>.try-demo-btn:last-child:nth-child(odd){grid-column:1 / -1}.try-demo-btn{font-size:.8rem;gap:.35rem}}.att-page{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.att-page .page-head{margin:0}.att-page .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem)}.att-page .tab-list{display:flex;width:100%;margin:0;overflow:visible}.att-page .tab-btn{flex:1 1 0;justify-content:center;min-width:0;padding:.55rem .5rem;font-size:.86rem;text-decoration:none}@media(max-width:640px){.att-page{gap:.85rem}.att-page .tab-btn{font-size:.78rem;padding:.5rem .25rem;gap:.3rem}.att-page .tab-btn svg{width:14px;height:14px}}.toolbar-actions:empty{display:none}@media(max-width:640px){.att-page .tab-btn:not(.active) span{display:inline}.att-page .tab-btn:not(.active){flex:1 1 0;padding:.5rem .25rem}.att-page .tab-btn.active{flex:1 1 0}.att-page .page-head p{font-size:.85rem;margin-top:.2rem}.att-hero{padding:.85rem;gap:.75rem;border-radius:16px}.att-hero-main{gap:.6rem}.att-hero-title{min-width:0}.att-hero-eyebrow{font-size:.66rem;letter-spacing:.03em}.att-hero-title h2{font-size:1.05rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-hero .att-controls{gap:.55rem}.att-hero .form-group{margin:0}.att-hero .form-label{font-size:.72rem;margin-bottom:.2rem}.att-hero .form-input,.att-hero .csel-trigger{height:38px;min-height:38px;padding-top:0;padding-bottom:0;font-size:.85rem;border-radius:10px}.att-date-stepper{gap:.35rem}.att-date-stepper .btn-icon{width:38px;min-width:38px;height:38px;min-height:38px}.att-ring svg{width:62px;height:62px}.att-ring-label strong{font-size:.95rem}.att-ring-label small{font-size:.55rem}.att-summary{gap:.35rem}.att-stat,button.att-stat{padding:.4rem .15rem;border-radius:11px}.att-stat strong{font-size:1.05rem}.att-stat span.att-stat-label{font-size:.58rem}.att-tools{padding:.65rem;gap:.55rem}.att-tools .toolbar{display:block;padding:0;border:0;background:none;box-shadow:none}.att-tools .toolbar-search{width:100%}.att-tools .toolbar-search .form-input{height:38px;min-height:38px;font-size:.85rem}.att-bulk{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px;gap:.4rem}.att-bulk #btn-mark-all-present,.att-bulk #btn-mark-all-absent{grid-column:auto}.att-bulk .btn{height:34px;min-height:34px;padding:0 .5rem;font-size:.78rem;gap:.3rem;border-radius:9px}.att-bulk .btn.btn-icon{width:34px;min-width:34px;padding:0}.att-bulk .btn svg{width:15px;height:15px}.att-legend{font-size:.68rem}.att-savebar{padding:.6rem .75rem}.att-savebar .btn{height:40px;font-size:.88rem}}@media(max-width:400px){.att-page .tab-btn svg{display:none}.att-page .tab-btn{font-size:.74rem}}.att-letter{display:none}@media(max-width:640px){.att-ring{width:62px;height:62px}.att-seg button .att-icon{display:none}.att-seg button .att-letter{display:inline;font-size:.8rem;font-weight:800;letter-spacing:0;line-height:1}.att-seg button{height:32px;min-width:32px}.att-who .att-name{font-size:.88rem}.att-who .att-sub,.att-who .att-sub code{font-size:.68rem}.att-avatar{width:32px;height:32px;font-size:.8rem}.att-row{padding-top:.4rem;padding-bottom:.4rem}}@media(max-width:640px){.sess-card{grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:.5rem .75rem;padding:.75rem .85rem}.sess-card>.att-date-chip{grid-column:1;grid-row:1}.sess-card-side{grid-column:3;grid-row:1;justify-content:flex-end;gap:.25rem}.sess-card-main{grid-column:1 / -1;grid-row:2;gap:.35rem}.sess-card-main strong{font-size:.92rem}.sess-card .att-date-chip{width:40px;min-width:40px;height:40px;padding:0;border-radius:10px}.sess-card .att-date-chip b{font-size:.95rem;line-height:1}.sess-card .att-date-chip small{font-size:.55rem;line-height:1.1}.sess-card .sess-chevron{width:16px;height:16px}.sess-row{align-items:flex-start}.sess-row>.row-check{margin-top:calc(.75rem + 11px)}}.sess-card .att-date-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.sess-card .att-date-chip b,.sess-card .att-date-chip small{display:block;margin:0;line-height:1;text-align:center}@media(min-width:641px)and (max-width:1100px){.hist-filters .hist-batch{order:1;flex:1 1 0;min-width:0;width:auto}.hist-filters .hist-refresh{order:2;margin-left:0;flex:0 0 auto}.hist-filters .chip-group{order:3;flex:1 1 100%}}.att-page .back-link,.tests-page .back-link{font-size:.82rem;margin-bottom:.4rem}.stu-card .stu-card-top{align-items:center;gap:.6rem}.stu-card .att-avatar{flex:0 0 32px;width:32px;height:32px;font-size:.8rem}@media(max-width:640px){.bh-wrap{gap:.85rem!important}.stu-grid{gap:.6rem;padding:.65rem}.stu-card{padding:.7rem .8rem;gap:.5rem;border-radius:13px}.stu-card .stu-card-top strong{font-size:.9rem}.stu-card .sess-counts{font-size:.72rem}.att-tools .chip-group{gap:.35rem}.att-tools .chip{font-size:.75rem;padding:.3rem .65rem;white-space:nowrap}}@media(max-width:640px){.att-tools .toolbar{display:flex;align-items:center;gap:.5rem}.att-tools .toolbar-search{flex:1 1 auto;width:auto;min-width:0}.att-tools .toolbar-actions{flex:0 0 auto;display:flex;gap:.4rem}.att-tools .toolbar-actions .btn-icon{width:38px;min-width:38px;height:38px;min-height:38px;padding:0}}@media(max-width:640px){.att-tools form.toolbar{display:flex!important;flex-flow:row nowrap!important;align-items:center!important;gap:.5rem!important}.att-tools form.toolbar>.toolbar-search{flex:1 1 0!important;width:auto!important;min-width:0!important}.att-tools form.toolbar>.toolbar-actions{display:flex!important;flex:0 0 auto!important;width:auto!important}.att-tools form.toolbar .toolbar-refresh{grid-column:auto!important;grid-row:auto!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;margin:0!important}}.notes-page{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.notes-page .page-head{margin:0}.notes-page .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem)}.notes-page .page-actions .btn{height:34px;min-height:34px;padding:0 .8rem;font-size:.82rem;border-radius:10px}.nc-type{flex:0 0 30px;width:30px;height:30px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.nc-type.is-video{background:#0ea5e91f;color:#0284c7}.nc-desc{margin:0;font-size:.84rem;line-height:1.5;color:var(--text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.nc.is-trash{opacity:.9}@media(max-width:640px){.notes-page{gap:.85rem}.notes-page .page-head{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.notes-page .page-actions{display:flex;gap:.5rem}.notes-page .page-actions .btn{flex:1 1 auto;justify-content:center}}.settings-page{display:flex;flex-direction:column;gap:1.1rem;max-width:820px;min-width:0}.settings-page .page-head{margin:0}.settings-page .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem)}.settings-page .card{padding:1.1rem 1.25rem}.settings-page .card-header{padding:0 0 .85rem;margin-bottom:1rem;border-bottom:1px solid var(--border-subtle)}.settings-page .card-title{font-size:.98rem}.settings-page .form-group{position:relative}.settings-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.25rem 0 1.1rem;padding:.75rem .9rem;border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface-subtle)}.settings-info>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.settings-info span{font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-light)}.settings-info strong{font-size:.9rem;color:var(--text-main);overflow-wrap:anywhere}.settings-logo{display:flex;align-items:center;gap:1.1rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface-subtle)}.settings-page .btn-sm,.settings-page .btn{white-space:nowrap}@media(max-width:640px){.settings-page{gap:.85rem}.settings-page .card{padding:.9rem}.settings-page .grid-cols-2{grid-template-columns:minmax(0,1fr);gap:0}.settings-info{grid-template-columns:minmax(0,1fr);gap:.55rem}.settings-logo{flex-direction:column;align-items:flex-start;text-align:left;padding:.85rem;gap:.8rem}.settings-logo>div:first-child{width:72px!important;height:72px!important}.settings-logo-info{width:100%}.settings-logo-info>div:nth-child(3){display:flex;gap:.5rem}.settings-logo-info>div:nth-child(3) .btn{flex:1 1 0;justify-content:center}.settings-page form>div:last-child{justify-content:stretch!important}.settings-page form>div:last-child .btn{width:100%;justify-content:center}}.dash-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-empty.card{padding:1.75rem 1rem}.dash-switch{display:inline-flex;padding:3px;gap:2px;border-radius:11px;background:var(--bg-surface-subtle);border:1px solid var(--border-subtle)}.dash-switch-btn{min-height:30px;padding:0 .8rem;border:0;border-radius:8px;background:transparent;font-size:.8rem;font-weight:700;color:var(--text-muted);cursor:pointer;white-space:nowrap}.dash-switch-btn.is-on{background:var(--bg-surface);color:var(--primary-600);box-shadow:var(--shadow-sm)}.dash-notes{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column}.dash-note{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.7rem 0}.dash-note+.dash-note{border-top:1px dashed var(--border-subtle)}.dash-note-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.dash-note-text strong{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-note-text span{font-size:.78rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-note-actions{display:flex;gap:.4rem}.dash-note-actions .btn{height:32px;min-height:32px;padding:0 .65rem;font-size:.78rem;border-radius:9px}.dash-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.dash-section-title svg{vertical-align:-3px;margin-right:.3rem;color:var(--primary-500)}.dash-contact{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem;font-size:.9rem}.dash-contact li{display:flex;align-items:center;gap:.6rem}.dash-contact svg{flex:0 0 auto;color:var(--primary-500)}.dash-muted{color:var(--text-muted)}.dash-call{margin-top:1rem}@media(max-width:640px){.dash-note{grid-template-columns:auto minmax(0,1fr)}.dash-note-actions{grid-column:1 / -1;justify-content:flex-end}.dash-cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-section-head-row .dash-switch{flex:0 0 auto}.dash-call{width:100%;justify-content:center}}@media(max-width:640px){.acad-bar:not(:has(.check-chip,.acad-new)){flex-wrap:nowrap;align-items:center}.acad-bar:not(:has(.check-chip,.acad-new)) .acad-bar-title{flex:1 1 0;min-width:0}.acad-bar:not(:has(.check-chip,.acad-new)) .acad-bar-tools{flex:0 0 auto;width:auto;justify-content:flex-end}}@media(max-width:640px){.att-history-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:.5rem .75rem;padding:.75rem .85rem}.att-history-card>.att-date-chip{grid-column:1;grid-row:1}.att-history-card>.badge{grid-column:3;grid-row:1;justify-self:end}.att-history-card>div:not(.att-date-chip){grid-column:1 / -1;grid-row:2;min-width:0}.att-history-card>div:not(.att-date-chip) strong{font-size:.92rem}.att-history-card .att-date-chip{width:40px;min-width:40px;height:40px;padding:0;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.att-history-card .att-date-chip b{font-size:.95rem;line-height:1;margin:0}.att-history-card .att-date-chip small{font-size:.55rem;line-height:1;margin:0}}@media(max-width:640px){.att-hero.att-hero-log{padding:.85rem!important;gap:.75rem}.att-hero.att-hero-log .att-hero-eyebrow{font-size:.66rem}.att-hero.att-hero-log .att-hero-title h2{font-size:1.02rem;white-space:normal}.att-hero.att-hero-log .chip-group{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;width:100%}.att-hero.att-hero-log .chip{justify-content:center;padding:.35rem .2rem;font-size:.72rem;white-space:nowrap}}.sa-dash .page-head{margin:0}.sa-dash .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem)}.sa-dash .page-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}.sa-dash .page-actions .btn{height:34px;min-height:34px;padding:0 .85rem;font-size:.82rem;border-radius:10px}.dash-section-head-row .btn-icon.is-spinning svg{animation:spin .9s linear infinite}@media(max-width:640px){.sa-dash .page-head{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.sa-dash .page-actions{flex-direction:column;align-items:stretch}.sa-dash .page-actions .switch-card{width:100%}.sa-dash .page-actions>.btn{width:100%;justify-content:center}}.centers-page{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.centers-page .page-head{margin:0}.centers-page .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem)}.centers-page .page-head .btn{height:34px;min-height:34px;padding:0 .85rem;font-size:.82rem;border-radius:10px}.centers-page .nav-pill-group{display:flex;width:100%;max-width:100%}.centers-page .nav-pill-item{flex:1 1 0;justify-content:center;min-width:0;white-space:nowrap}@media(max-width:640px){.centers-page{gap:.85rem}.centers-page .page-head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem}.centers-page .page-head h1{font-size:1.3rem}.centers-page .page-head p{display:none}}@media(max-width:640px){.users-page .page-actions,.notes-page .page-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:.5rem;width:100%}.users-page .page-actions>.btn,.notes-page .page-actions>.btn{flex:1 1 0!important;width:auto!important;min-width:0;padding:0 .5rem;justify-content:center;white-space:nowrap}}@media(max-width:640px){.att-summary .att-stat span.att-stat-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}}.dash-perms{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column}.dash-perms li{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem 0}.dash-perms li+li{border-top:1px dashed var(--border-subtle)}.dash-perm-name{min-width:0;font-size:.9rem;font-weight:600;color:var(--text-main);overflow-wrap:anywhere}.dash-perms .badge{flex:0 0 auto}@media(min-width:641px)and (max-width:1100px){.sa-dash .page-head{display:flex;flex-direction:column;align-items:stretch;gap:.85rem}.sa-dash .page-actions{width:100%;flex-wrap:nowrap;justify-content:space-between}.sa-dash .page-actions>.btn{margin-left:auto}}.center-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:.75rem}.center-card .row-actions{display:flex;gap:.5rem;padding-top:.6rem;border-top:1px dashed var(--border-subtle)}.center-card .row-actions .btn{flex:1 1 0;height:34px;min-height:34px;padding:0 .5rem;font-size:.8rem;justify-content:center;white-space:nowrap}.center-card .user-card-top{align-items:flex-start}.dash-section-head-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:nowrap}.dash-section-head-row .dash-section-title{white-space:nowrap}.dash-section-head-row>.btn-icon{flex:0 0 auto;width:34px;min-width:34px;height:34px;min-height:34px;padding:0}@media(max-width:640px){.sa-dash .page-actions{flex-direction:row!important;align-items:center!important;flex-wrap:nowrap;gap:.5rem}.sa-dash .page-actions .switch-card{flex:1 1 auto;width:auto;min-width:0;padding:.4rem .6rem;gap:.5rem}.sa-dash .page-actions .switch-card-icon{display:none}.sa-dash .page-actions .switch-card-text strong{font-size:.78rem;white-space:nowrap}.sa-dash .page-actions .switch-card-text small{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.sa-dash .page-actions>.btn{flex:0 0 auto;width:auto;padding:0 .7rem;font-size:.78rem;white-space:nowrap}}.sa-dash .page-actions>.btn{margin-left:auto}.sa-dash .page-actions .switch-card{padding:.3rem .55rem;gap:.5rem;border-radius:11px}.sa-dash .page-actions .switch-card-text strong{font-size:.78rem}.sa-dash .page-actions .switch-card-text small{font-size:.66rem}.sa-dash .page-actions .switch{transform:scale(.82);transform-origin:right center}@media(max-width:640px){.sa-dash .page-actions .switch-card{flex:0 1 auto;width:auto}.sa-dash .page-actions>.btn{margin-left:auto}}.sa-dash .page-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:space-between!important;gap:.5rem!important;width:100%}.sa-dash .page-actions .switch-card{order:1!important;margin-right:auto}.sa-dash .page-actions>.btn{order:2!important;margin-left:auto!important;flex:0 0 auto!important;width:auto!important}@media(max-width:640px){.sa-dash .page-actions .switch-card{padding:.25rem .45rem!important;gap:.4rem!important;border-radius:10px}.sa-dash .page-actions .switch-card-text strong{font-size:.72rem!important}.sa-dash .page-actions .switch-card-text small{font-size:.6rem!important}.sa-dash .page-actions .switch{transform:scale(.72);transform-origin:right center;margin-left:-.3rem}.sa-dash .page-actions>.btn{height:32px!important;min-height:32px!important;padding:0 .6rem!important;font-size:.74rem!important}}.sa-dash .page-actions .switch-card{height:34px;min-height:34px;padding:0 .6rem!important;align-items:center}.sa-dash .page-actions .switch-card-text{display:flex;align-items:center}.sa-dash .page-actions .switch-card-text small{display:none!important}.sa-dash .page-actions .switch-card-text strong{font-size:.8rem!important;white-space:nowrap;line-height:1}.sa-dash .page-actions .switch{transform:scale(.75);transform-origin:right center;margin-left:-.2rem}@media(max-width:640px){.sa-dash .page-actions .switch-card{height:32px;min-height:32px;padding:0 .5rem!important}.sa-dash .page-actions .switch-card-text strong{font-size:.74rem!important}.sa-dash .page-actions .switch{transform:scale(.68)}}.topbar-menu[aria-label="Select active center scope"] [role=menuitemradio]:hover{background:var(--bg-hover)!important}@media(max-width:640px){.topbar-menu[aria-label="Select active center scope"]{width:min(236px,calc(100vw - 32px))!important;min-width:0!important;max-width:calc(100vw - 32px)!important;padding:.35rem!important;max-height:60dvh!important;overflow-y:auto!important}.topbar-menu[aria-label="Select active center scope"]>div:first-child{font-size:.66rem!important;padding:.3rem .5rem!important}.topbar-menu[aria-label="Select active center scope"] [role=menuitemradio]{padding:.4rem .6rem!important;font-size:.82rem!important;min-height:36px;gap:.4rem}.topbar-menu[aria-label="Select active center scope"] [role=menuitemradio]>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.centers-add-inline{display:none}@media(max-width:640px){.centers-page .page-head .btn{display:none}.centers-page .page-head{justify-content:flex-start}.centers-page .toolbar-filters{flex-wrap:nowrap;align-items:center;gap:.5rem}.centers-page .toolbar-filters>*:not(.csel-native):not(.centers-add-inline){flex:1 1 0;min-width:0}.centers-page .toolbar-filters .csel-trigger{min-width:0;width:100%;height:36px;min-height:36px;font-size:.82rem;padding-top:0;padding-bottom:0;border-radius:10px}.centers-page .centers-add-inline{display:inline-flex;flex:0 0 auto;height:36px;min-height:36px;padding:0 .85rem;font-size:.82rem;border-radius:10px;white-space:nowrap}}.center-avatar{flex:0 0 34px;width:34px;height:34px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-primary, linear-gradient(135deg, #6366f1, #8b5cf6));color:#fff;font-weight:800;font-size:.95rem}.center-badges{display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto}.center-current{display:inline-flex;align-items:center;height:22px;padding:0 .5rem;border-radius:999px;background:var(--primary-50, #eef2ff);color:var(--primary-700, #4338ca);border:1px solid var(--primary-200, #c7d2fe);font-size:.68rem;font-weight:700;white-space:nowrap}.center-card.is-current{border-color:var(--primary-300, #a5b4fc)}@media(max-width:420px){.center-card .user-card-line{flex-wrap:wrap;row-gap:.25rem}}.center-card{display:flex;flex-direction:column;gap:.6rem;min-width:0;padding:.85rem;border:1px solid var(--border-subtle);border-radius:14px;background:var(--bg-surface)}.center-card .user-card-top{display:flex;align-items:flex-start;gap:.65rem;min-width:0}.center-card .user-card-name{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.1rem}.center-card .user-card-line{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;min-width:0}.center-card .user-card-line strong{min-width:0;font-size:.95rem}.center-card .user-card-info{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;font-size:.85rem;color:var(--text-muted)}.center-card .user-card-info>span{display:flex;align-items:center;gap:.45rem;min-width:0;max-width:100%}.center-card .user-card-info svg{flex-shrink:0;color:var(--primary-500)}.center-cards{padding:.75rem}.user-cards-empty{grid-column:1 / -1;text-align:center;padding:2rem 1rem;color:var(--text-muted);list-style:none}.center-avatar{flex:0 0 28px;width:28px;height:28px;border-radius:8px;font-size:.82rem}.center-card .center-top{align-items:center;gap:.6rem}.center-card .center-name{flex:1 1 auto;min-width:0;font-size:.95rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-card .center-badges{display:flex;flex-wrap:wrap;gap:.35rem}.center-card{gap:.55rem}.center-cards{padding:0}.center-card .center-badges .badge,.center-card .center-badges .center-current{display:inline-flex;align-items:center;box-sizing:border-box;height:22px;padding:0 .55rem;font-size:.68rem;font-weight:700;line-height:1;border-radius:999px}.center-card .center-top,.center-card .center-badges{padding-bottom:.55rem;border-bottom:1px dashed var(--border-subtle)}.center-card .user-card-info{gap:0;width:100%}.center-card .user-card-info>span{width:100%;padding:.45rem 0}.center-card .user-card-info>span+span{border-top:1px dashed var(--border-subtle)}.center-card .row-actions{border-top:1px dashed var(--border-subtle);padding-top:.65rem}.user-card .user-card-top{padding-bottom:.55rem;border-bottom:1px dashed var(--border-subtle)}.user-card:not(.center-card) .user-card-info{gap:0;width:100%}.user-card:not(.center-card) .user-card-info>span{width:100%;padding:.4rem 0}.user-card:not(.center-card) .user-card-info>span+span{border-top:1px dashed var(--border-subtle)}.center-card{gap:0}.center-card .center-badges{padding:.45rem 0 .55rem;border-bottom:1px dashed var(--border-subtle)}.center-card .user-card-info>span{padding:.5rem 0}.center-card .user-card-info>span:first-child{padding-top:.5rem}.center-card .row-actions{margin-top:0;padding-top:.65rem}.center-card .center-badges{padding-left:calc(28px + .6rem)}.center-card .center-top .center-badges{flex:0 0 auto;margin-left:auto;padding:0;border:0;flex-wrap:nowrap}.center-card .center-top .center-name{flex:1 1 0}.center-card .center-name{cursor:pointer}.center-card .center-top:has(.center-name.is-open){align-items:flex-start}.center-more{flex:0 0 auto;width:24px;height:24px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-surface);color:var(--text-muted);cursor:pointer}.center-more svg{transition:transform .15s ease}.center-more.is-open svg{transform:rotate(180deg)}.center-card .center-top:has(.center-name.is-open) .center-more{margin-top:1px}.center-more{display:none!important}.center-card .center-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;overflow-wrap:anywhere}.center-card .center-name.is-open{display:block;-webkit-line-clamp:unset;overflow:visible}.center-card .center-top{padding-bottom:0;border-bottom:0}.center-card .center-badges{display:flex;flex-wrap:nowrap;justify-content:flex-end;margin:0;padding:.45rem 0 .55rem;border-bottom:1px dashed var(--border-subtle)}.center-card .center-badges{display:flex;flex-wrap:nowrap;justify-content:flex-end;margin:0;padding:0 0 .5rem;border-bottom:0}.center-card .center-top{padding-bottom:.55rem;border-bottom:1px dashed var(--border-subtle)}.center-card .center-top{padding-bottom:.55rem;border-bottom:1px dashed var(--border-subtle);align-items:center}.center-card .center-top .center-badges{flex:0 0 auto;margin-left:auto;padding:0;border:0;flex-wrap:nowrap;justify-content:flex-end}.center-card .center-name{display:block;flex:1 1 0;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-line-clamp:unset}.center-card .center-name.is-open{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.center-card .center-top{align-items:center}.center-card .center-top{align-items:center;padding-bottom:0;border-bottom:0}.center-card .center-name,.center-card .center-name.is-open{display:block;flex:1 1 0;min-width:0;white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset;overflow-wrap:anywhere;cursor:default}.center-card .center-badges{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:.35rem;margin:0;padding:.45rem 0 .55rem calc(28px + .6rem);border-bottom:1px dashed var(--border-subtle)}.center-card .center-top{display:flex;align-items:center;gap:.7rem;padding-bottom:.6rem;border-bottom:1px dashed var(--border-subtle)}.center-card .center-avatar{flex:0 0 52px;width:52px;height:52px;border-radius:14px;font-size:1.35rem}.center-card .center-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.35rem}.center-card .center-main .center-name{flex:none;width:100%}.center-card .center-main .center-badges{padding:0;border:0;margin:0;display:flex;flex-wrap:wrap;gap:.35rem}.center-card .center-avatar{flex:0 0 42px;width:42px;height:42px;border-radius:12px;font-size:1.1rem}.center-card .center-top .center-main .center-badges{justify-content:flex-start!important;margin:0!important;padding:0!important;flex:0 0 auto}.req-empty{padding:2rem 1rem}@media(max-width:640px){.centers-page .toolbar:not(:has(.toolbar-search)){display:flex;align-items:center;gap:.5rem}.centers-page .toolbar:not(:has(.toolbar-search)) .toolbar-filters{order:1;flex:1 1 0;min-width:0;width:auto;display:block}.centers-page .toolbar:not(:has(.toolbar-search)) .toolbar-filters>*:not(.csel-native){width:100%;min-width:0}.centers-page .toolbar:not(:has(.toolbar-search)) .toolbar-filters .csel-trigger{width:100%;min-width:0;height:36px;min-height:36px;font-size:.82rem;border-radius:10px}.centers-page .toolbar:not(:has(.toolbar-search)) .toolbar-actions{order:2;display:flex;flex:0 0 auto}.centers-page .toolbar:not(:has(.toolbar-search)) .toolbar-actions .toolbar-refresh{width:36px;min-width:36px;height:36px;min-height:36px;padding:0;grid-column:auto;grid-row:auto}}form.toolbar.toolbar-nosearch{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-rows:auto!important;align-items:center!important;gap:.5rem!important}form.toolbar.toolbar-nosearch>.toolbar-filters{grid-column:1!important;grid-row:1!important;display:block!important;width:100%!important;min-width:0!important}form.toolbar.toolbar-nosearch>.toolbar-filters>*:not(.csel-native){width:100%!important;min-width:0!important;flex:none!important}form.toolbar.toolbar-nosearch .toolbar-filters .csel-trigger{width:100%!important;min-width:0!important;height:38px;min-height:38px;font-size:.85rem}form.toolbar.toolbar-nosearch>.toolbar-actions{grid-column:2!important;grid-row:1!important;display:flex!important;width:auto!important}form.toolbar.toolbar-nosearch .toolbar-actions .toolbar-refresh{grid-column:auto!important;grid-row:auto!important;width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;padding:0!important;margin:0!important}@media(min-width:641px){form.toolbar.toolbar-nosearch{grid-template-columns:minmax(0,220px) auto!important;justify-content:start!important}form.toolbar.toolbar-nosearch>.toolbar-filters{width:100%!important}}@media(min-width:641px){form.toolbar.toolbar-nosearch{grid-template-columns:minmax(0,220px) minmax(0,1fr)!important;justify-content:stretch!important}form.toolbar.toolbar-nosearch>.toolbar-actions{justify-self:end!important}}.sa-dash .page-actions .switch-card-icon{width:22px!important;height:22px!important;min-width:22px;border-radius:7px!important;display:inline-flex!important;align-items:center;justify-content:center}.sa-dash .page-actions .switch-card-icon svg{width:13px!important;height:13px!important}@media(max-width:640px){.users-page .page-actions{flex-wrap:wrap!important}.users-page .page-actions>.btn{flex:1 1 calc(50% - .25rem)!important;min-width:0;overflow:hidden;text-overflow:ellipsis}.users-page .page-actions:has(>.btn:nth-child(3))>#btn-create-user{order:-1;flex:1 1 100%!important}}.users-page .page-head{flex-wrap:wrap;gap:.75rem 1rem}.users-page .page-head>div:first-child{flex:1 1 260px;min-width:0}.users-page .page-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;flex:0 1 auto}.users-page .page-actions>.btn{flex:0 0 auto;white-space:nowrap}@media(min-width:641px)and (max-width:1100px){.users-page .page-head{flex-direction:column;align-items:stretch}.users-page .page-actions{justify-content:flex-start;width:100%}}@media(max-width:1100px){.users-page .page-head>div:first-child{flex:0 0 auto}}.sa-dash .page-actions .switch-card{gap:.5rem!important}.sa-dash .page-actions .switch-card-icon{flex:0 0 22px;margin-right:.15rem}.sa-dash .page-actions .switch-card-text{padding-left:.1rem}a.dash-switch-btn{display:inline-flex;align-items:center;text-decoration:none}a.dash-switch-btn:hover{color:var(--primary-600)}.modal-content:focus{outline:none}@media(max-width:640px){.modal-overlay{top:var(--vv-top, 0px);bottom:auto;height:var(--vv-h, 100dvh);min-height:0;width:100%;padding:0}.modal-content{max-height:min(92dvh,calc(var(--vv-h, 100dvh) - .5rem))}.modal-body{scroll-padding-bottom:5rem;padding-bottom:calc(var(--modal-pad) + max(var(--safe-bottom, 0px),.35rem))}.modal-body input:not([type=checkbox]):not([type=radio]),.modal-body textarea,.modal-body select,.modal-body .csel-trigger{font-size:16px}.csel-list{max-width:calc(100vw - 20px);padding:4px;border-radius:12px}.csel-option{min-height:40px;font-size:.9rem;padding:.45rem .7rem}}@media(max-width:900px){.att-page:has(input:focus,textarea:focus) .att-savebar{position:static;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.att-page input,.att-page textarea{scroll-margin-bottom:6rem}}.user-cards{gap:.85rem}.uc{min-width:0;gap:0}.uc .bc-head{padding-bottom:.6rem;border-bottom:1px dashed var(--border-subtle)}.uc .bc-info{gap:0}.uc .bc-info>span{padding:.5rem 0}.uc .bc-info>span+span{border-top:1px dashed var(--border-subtle)}.uc .uc-role{text-transform:capitalize}.uc .bc-foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:0;padding-top:.75rem;border-top:1px dashed var(--border-subtle)}.uc .bc-foot .btn,.uc .bc-foot .btn:last-child{grid-column:auto!important;height:34px;min-height:34px;font-size:.78rem;font-weight:600;letter-spacing:-.01em;padding:0 .45rem;border-radius:9px;gap:.35rem;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 1px 2px #0000000a;transition:all .18s ease;min-width:0}.uc .bc-foot .btn svg{flex-shrink:0;width:13.5px;height:13.5px}.uc .bc-foot .btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uc .bc-btn-main{background:var(--accent-soft, rgba(99, 102, 241, .09));border:1px solid rgba(99,102,241,.22);color:var(--accent, #6366f1)}.uc .bc-btn-main:hover:not(:disabled){background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff;box-shadow:0 3px 8px -2px #6366f166}.uc .bc-btn-reset,.uc .bc-btn:not(.bc-btn-main):not(.bc-btn-danger):not(.bc-btn-ok){background:var(--bg-surface, #fff);border:1px solid var(--border-subtle, #e2e8f0);color:var(--text-main, #334155)}.uc .bc-btn-reset:hover:not(:disabled),.uc .bc-btn:not(.bc-btn-main):not(.bc-btn-danger):not(.bc-btn-ok):hover:not(:disabled){background:var(--bg-hover, #f8fafc);border-color:var(--border-focus, #cbd5e1);color:var(--text-main, #0f172a);box-shadow:0 2px 6px -1px #0000000f}.uc .bc-btn-danger{background:#ef444414;border:1px solid rgba(239,68,68,.22);color:var(--danger, #dc2626)}.uc .bc-btn-danger:hover:not(:disabled){background:var(--danger, #dc2626);border-color:var(--danger, #dc2626);color:#fff;box-shadow:0 3px 8px -2px #ef444459}.uc .bc-btn-ok{background:#10b98114;border:1px solid rgba(16,185,129,.24);color:var(--success, #16a34a)}.uc .bc-btn-ok:hover:not(:disabled){background:var(--success, #16a34a);border-color:var(--success, #16a34a);color:#fff;box-shadow:0 3px 8px -2px #10b98159}.uc-foot.is-locked{opacity:.45;cursor:not-allowed}.uc-foot.is-locked .btn{pointer-events:none;background:var(--bg-subtle, #f1f5f9);border-color:var(--border-subtle, #e2e8f0);color:var(--text-muted, #94a3b8);box-shadow:none}@media(max-width:768px){.uc .bc-foot{gap:.4rem}.uc .bc-foot .btn{height:33px;min-height:33px;font-size:.76rem;padding:0 .38rem;gap:.3rem}}@media(max-width:640px){.uc .bc-foot{gap:.35rem;padding-top:.65rem}.uc .bc-foot .btn{height:32px;min-height:32px;font-size:.74rem;padding:0 .35rem;gap:.25rem;border-radius:8px}.uc .bc-foot .btn svg{width:12.5px;height:12.5px}}@media(max-width:360px){.uc .bc-foot{gap:.25rem}.uc .bc-foot .btn{font-size:.7rem;padding:0 .2rem;letter-spacing:-.02em}}[data-theme=dark] .uc .bc-btn-reset,[data-theme=dark] .uc .bc-btn:not(.bc-btn-main):not(.bc-btn-danger):not(.bc-btn-ok){background:#ffffff0a;border-color:#ffffff1f;color:var(--text-main, #e2e8f0)}[data-theme=dark] .uc .bc-btn-reset:hover:not(:disabled),[data-theme=dark] .uc .bc-btn:not(.bc-btn-main):not(.bc-btn-danger):not(.bc-btn-ok):hover:not(:disabled){background:#ffffff14;border-color:#ffffff38;color:#fff}[data-theme=dark] .uc .bc-btn-main{border-color:#6366f152}[data-theme=dark] .uc .bc-btn-danger{border-color:#ef444452}[data-theme=dark] .uc .bc-btn-ok{border-color:#10b98152}[data-theme=dark] .uc-foot.is-locked .btn{background:#ffffff08;border-color:#ffffff14;color:#ffffff4d}@media(max-width:1280px){.users-page .users-list{padding:0;background:transparent;border:0;box-shadow:none}.users-page .user-cards{padding:0 0 .85rem}.users-page .users-list>div:last-child{border-radius:14px}}@media(min-width:901px)and (max-width:1280px){.users-page .user-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}}.uc .uc-empty{color:var(--text-light);font-style:italic}.lbl-short{display:none}@media(max-width:640px){.lbl-full{display:none}.lbl-short{display:inline}.users-page .page-actions>.btn{gap:.4rem;padding:0 .6rem}}.att-hero-time{display:inline-flex;align-items:center;gap:.35rem;margin-top:.3rem;font-size:.85rem;color:var(--text-muted)}.att-hero-time svg{color:var(--primary-500)}.att-edit-note{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.att-edit-note>span{flex:1 1 220px;min-width:0}.att-edit-note .btn{flex:0 0 auto}@media(max-width:640px){.acad-bar-tools .acad-new{order:1!important;margin-left:0!important;margin-right:auto!important}.acad-bar-tools .check-chip{order:2!important}.acad-bar-tools>.btn-icon{order:3!important}.acad-bar-tools{justify-content:flex-start}}@media(hover:none)and (pointer:coarse)and (min-width:700px){.auth-card{zoom:1.55}}@media(min-width:721px){.dash-batch,.dash-batch-head{grid-template-columns:minmax(0,1.5fr) minmax(0,1.6fr) minmax(0,1.4fr) 104px}.dash-batch-meta{flex-direction:column;align-items:flex-start;gap:.4rem}.dash-batch-head>span{text-align:left}.dash-batch-head>span:last-child{text-align:right}}.assigned-box{border:1px solid var(--border-subtle);border-radius:12px;background:var(--bg-surface-subtle);padding:.75rem .9rem}.assigned-title{margin:0 0 .5rem;font-size:.82rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}.assigned-empty{margin:0;font-size:.88rem;color:var(--text-muted)}.assigned-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.assigned-list li{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) auto;align-items:center;gap:.6rem;padding:.5rem 0}.assigned-list li+li{border-top:1px dashed var(--border-subtle)}.assigned-subject{font-size:.88rem;font-weight:700;color:var(--text-main);overflow-wrap:anywhere}.assigned-teacher{font-size:.88rem;color:var(--text-muted);overflow-wrap:anywhere}.assigned-remove{width:28px;height:28px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--danger);cursor:pointer}.assigned-remove:hover:not(:disabled){background:var(--danger);border-color:var(--danger);color:#fff}.assigned-remove:disabled{opacity:.5;cursor:wait}.center-card .req-note{font-size:.8rem;color:var(--text-muted);background:var(--bg-surface-subtle);padding:.4rem .6rem;border-radius:var(--radius-md, 8px);white-space:pre-wrap;overflow-wrap:anywhere}.tests-page{--accent: #6366f1;--accent-2: #8b5cf6;--accent-soft: rgba(99, 102, 241, .12);display:flex;flex-direction:column;gap:1.1rem;min-width:0}.tests-page .page-head{margin:0}.tests-page .page-head h1{font-size:clamp(1.4rem,3.2vw,1.9rem);overflow-wrap:anywhere}.page-head-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tests-page .page-head-actions .btn{height:34px;min-height:34px;padding:0 .85rem;font-size:.82rem;border-radius:10px;gap:.4rem}.exam-title-cell{display:flex;flex-direction:column;gap:.2rem;min-width:0}.exam-title-cell strong{overflow-wrap:anywhere}.exam-sub{font-size:.8rem;color:var(--text-light)}.exam-chips{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.exam-card-head{display:flex;align-items:center;gap:.7rem;min-width:0}.exam-tile{display:inline-flex;width:38px;height:38px;border-radius:10px;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-surface-subtle);color:var(--text-muted)}.exam-tile.tile-practice{background:#0ea5e924;color:#0284c7}.exam-tile.tile-final{background:color-mix(in srgb,var(--primary-500, #6366f1) 15%,transparent);color:var(--primary-600, #4f46e5)}.exam-tile.tile-offline{background:#94a3b833;color:var(--text-muted)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 1rem}.form-grid>.form-group{min-width:0}.form-hint{display:block;margin-top:.25rem;font-size:.78rem;color:var(--text-light)}.form-check{display:flex;align-items:center;gap:.5rem;padding:.35rem 0}.form-check input{width:18px;height:18px}.tests-page input[type=datetime-local],.tests-page input[type=date],.tests-page input[type=time]{display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box}.opt-row{display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.opt-row input[type=text]{flex:1;min-width:0}.opt-row.is-correct .form-input{border-color:#22c55e99}.import-panel{display:block}.import-errors{max-height:220px;overflow:auto;margin-bottom:1rem}.import-summary{display:flex;gap:1rem;flex-wrap:wrap;margin:.75rem 0;font-size:.9rem}.ai-prompt{width:100%;min-height:150px;font-family:var(--font-mono);font-size:.8rem}.tests-page .bc-btn{height:34px;min-height:34px;padding:0 .75rem;font-size:.8rem;border-radius:10px;gap:.35rem;white-space:nowrap;justify-content:center;text-decoration:none}.tests-page .bc-btn-danger{background:var(--danger-bg, rgba(239, 68, 68, .1));border-color:transparent;color:var(--danger, #dc2626)}.tests-page .bc-btn-danger:hover{background:var(--danger, #dc2626);color:#fff;border-color:transparent}.tests-page .bc-btn:disabled{opacity:.55;cursor:not-allowed}.tests-page .bc-btn.row-more{width:34px;min-width:34px;padding:0}.row-menu-list{padding:6px;list-style:none;min-width:190px}.row-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:.65rem;width:100%;border:0;background:transparent;text-align:left;font:inherit;font-size:.9rem;color:inherit;cursor:pointer;border-radius:10px;padding:.55rem .7rem}.row-menu-item span{flex:0 1 auto;text-align:left}.row-menu-item svg{color:var(--text-light);flex-shrink:0}.row-menu-item:hover{background:var(--bg-surface-subtle)}.row-menu-item:disabled{opacity:.5;cursor:not-allowed}.row-menu-item.is-danger,.row-menu-item.is-danger svg{color:var(--danger, #dc2626)}.row-menu-item.is-danger:hover{background:var(--danger-bg, rgba(239, 68, 68, .1))}.tests-page .tab-list{display:flex;width:100%;margin:0;overflow:visible}.tests-page .tab-btn{flex:1 1 0;justify-content:center;min-width:0;padding:.55rem .5rem;font-size:.86rem}.tests-page .tab-btn span{overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.tests-page .tab-btn:not(.active) span{display:inline}.tests-page .tab-btn:not(.active),.tests-page .tab-btn.active{flex:1 1 0;padding:.5rem .2rem}.tests-page .tab-btn{font-size:.76rem;gap:.25rem}.tests-page .tab-btn svg{width:14px;height:14px}}.tests-filters .toolbar-search{flex:1 1 220px}.tests-filters .toolbar-filters .form-select{min-width:190px}.tests-pager:empty{display:none}@media(max-width:640px){.tests-filters .toolbar-filters .form-select{min-width:0}}.exam-table,.rs-table,.q-table{width:100%;table-layout:fixed}.exam-table td,.rs-table td,.q-table td{vertical-align:middle;overflow-wrap:anywhere}.exam-table th,.rs-table th,.q-table th{white-space:nowrap}.exam-col-actions{text-align:right}.exam-actions{display:flex;align-items:center;justify-content:flex-end;gap:.4rem;flex-wrap:nowrap}.exam-window div{white-space:normal}.bc.tc.is-final{--accent: #6366f1;--accent-2: #8b5cf6;--accent-soft: rgba(99, 102, 241, .12)}.bc.tc.is-practice{--accent: #0ea5e9;--accent-2: #14b8a6;--accent-soft: rgba(14, 165, 233, .12)}.bc.tc.is-offline{--accent: #64748b;--accent-2: #94a3b8;--accent-soft: rgba(100, 116, 139, .14)}.bc.tc.state-in_progress{--accent: #f59e0b;--accent-2: #f97316;--accent-soft: rgba(245, 158, 11, .14)}.bc.tc.state-available{--accent: #10b981;--accent-2: #22c55e;--accent-soft: rgba(16, 185, 129, .12)}.bc.tc.state-upcoming{--accent: #0ea5e9;--accent-2: #38bdf8;--accent-soft: rgba(14, 165, 233, .12)}.bc.tc.state-done,.bc.tc.state-waiting{--accent: #8b5cf6;--accent-2: #a855f7;--accent-soft: rgba(139, 92, 246, .12)}.bc.tc.state-closed{--accent: #ef4444;--accent-2: #f97316;--accent-soft: rgba(239, 68, 68, .12)}.bc .bc-avatar svg{color:#fff}.exam-section-title{font-size:1.05rem;margin:.4rem 0 .7rem}.bc .exam-score-line{align-items:center}.tc .bc-foot .btn:last-child:nth-child(odd):not(:only-child){grid-column:1 / -1}.rs .rs-score,.tc .rs-score{font-size:1.2rem;font-weight:800;color:var(--accent);flex-shrink:0}.rs.is-flagged{--accent: #ef4444;--accent-2: #f97316;--accent-soft: rgba(239, 68, 68, .12)}.rs .bc-avatar{font-size:1.05rem}.rs-analysis{padding:1rem 1.25rem}.rs-analysis>summary{cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem;list-style:none}.rs-analysis>summary::-webkit-details-marker{display:none}.q-picks{margin-left:auto;white-space:nowrap}.tst-form{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.tst-fieldset{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:1.1rem}.tst-section{padding:1.25rem;min-width:0}.tst-section>h3{margin:0 0 .9rem;font-size:1.05rem}.tst-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.tst-section-head h3{margin:0;font-size:1.05rem}.tst-section-head p{margin:.15rem 0 0}.tst-section-title{display:flex;gap:.75rem;align-items:center;min-width:0}.tst-section-icon{display:inline-flex;width:38px;height:38px;border-radius:10px;align-items:center;justify-content:center;flex-shrink:0;background:var(--accent-soft);color:var(--accent)}.tst-checks{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.tst-savebar{position:sticky;bottom:.75rem;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:.75rem 1rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:0 6px 24px #0f172a1f}.tst-actions{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:.5rem}.tst-toolbar{padding:.9rem 1.1rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.tst-toolbar-info{display:flex;flex-direction:column;gap:.1rem}.tst-toolbar-actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tst-banner{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding:1rem 1.15rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface)}.tst-banner.is-archived{border-color:#ef444459;background:linear-gradient(90deg,rgba(239,68,68,.09),transparent 70%),var(--bg-surface)}.tst-banner-icon{display:inline-flex;width:42px;height:42px;border-radius:12px;align-items:center;justify-content:center;flex-shrink:0;background:#ef444424;color:#dc2626}.tst-banner-text{display:flex;flex-direction:column;gap:.1rem;flex:1 1 220px;min-width:0}.tst-banner-text span{font-size:.86rem;color:var(--text-muted)}.q-num{display:inline-flex;min-width:28px;height:28px;padding:0 6px;border-radius:999px;align-items:center;justify-content:center;background:var(--bg-surface-subtle);font-weight:700;font-size:.8rem;color:var(--text-muted);flex-shrink:0}.q-table tr.is-cancelled td{opacity:.6}.q-toggle{display:inline-flex;align-items:flex-start;gap:.4rem;background:none;border:0;padding:0;text-align:left;font:inherit;font-weight:600;color:inherit;cursor:pointer;max-width:100%}.q-toggle:hover{color:var(--accent)}.q-toggle svg{margin-top:3px;flex-shrink:0;transition:transform .15s ease}.q-toggle svg.is-open{transform:rotate(180deg)}.q-expand td{background:var(--bg-surface-subtle)}.q-answer{display:flex;align-items:flex-start;gap:.6rem;min-width:0}.q-letter{display:inline-flex;width:24px;height:24px;border-radius:7px;align-items:center;justify-content:center;flex-shrink:0;background:#22c55e;color:#fff;font-size:.78rem}.q-actions{display:flex;gap:.4rem;flex-wrap:nowrap;align-items:center}.q-table .q-actions{justify-content:flex-end}.q-table td:last-child,.q-table th:last-child{text-align:right}.q-move{display:inline-flex;gap:.3rem;flex:0 0 auto}.tests-page .q-move .bc-btn{width:34px;min-width:34px;padding:0}.q-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:1rem}.q-card{display:flex;flex-direction:column;gap:.75rem;padding:1rem;border:1px solid var(--border-subtle);border-radius:16px;background:var(--bg-surface);box-shadow:var(--shadow-sm, 0 1px 2px rgba(15, 23, 42, .04));min-width:0}.q-card.is-cancelled{opacity:.65}.q-card-top{display:flex;align-items:flex-start;gap:.7rem}.q-card-top .q-text{flex:1 1 auto;min-width:0;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.q-card-top .badge{flex-shrink:0}.q-options{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.q-option{display:flex;gap:.6rem;align-items:center;padding:.45rem .65rem;border:1px solid var(--border-subtle);border-radius:10px;overflow-wrap:anywhere}.q-option b{display:inline-flex;width:22px;height:22px;min-width:22px;border-radius:6px;align-items:center;justify-content:center;background:var(--bg-surface-subtle);font-size:.75rem}.q-option span{flex:1;min-width:0}.q-option.is-correct{border-color:#22c55e8c;background:#22c55e14;font-weight:600}.q-option.is-correct b{background:#22c55e;color:#fff}.q-option.is-wrong{border-color:#ef44448c;background:#ef444417}.q-option.is-wrong b{background:#ef4444;color:#fff}.q-tick{color:#16a34a;flex-shrink:0}.q-yours{display:inline-flex;flex:0 0 auto!important;align-items:center;gap:.25rem;font-size:.75rem;color:var(--text-light);white-space:nowrap}.q-explain{padding:.55rem .7rem;border-radius:10px;background:var(--bg-surface-subtle);font-size:.82rem;color:var(--text-muted);overflow-wrap:anywhere}.q-card .q-actions{margin-top:auto;padding-top:.75rem;border-top:1px dashed var(--border-subtle)}.q-card .q-actions .bc-btn:not(.q-move .bc-btn){flex:1 1 0;min-width:0}.qf{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:1.1rem;align-items:start}.qf-main{padding:1.25rem}.qf-preview{padding:1.25rem;position:sticky;top:1rem;display:flex;flex-direction:column;gap:.75rem}.qf-preview-tag{align-self:flex-start;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-light)}.qf-preview-q{margin:0;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere}.qf-preview-opts{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}.qf-preview-opts li{display:flex;align-items:center;gap:.6rem;padding:.55rem .7rem;border:1px solid var(--border-subtle);border-radius:10px;overflow-wrap:anywhere}.qf-preview-opts li b{color:var(--text-light);min-width:1.2rem}.qf-preview-opts li span{flex:1}.qf-preview-opts li.is-correct{border-color:#22c55e99;background:#22c55e1a}.qf-preview-opts li.is-correct svg{color:#16a34a}.mk-panel{display:flex;flex-direction:column;gap:1.1rem;min-width:0}.mk-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:.9rem}.mk-card{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.75rem}.mk-card.is-absent{opacity:.8}.mk-who{display:flex;align-items:center;gap:.7rem;min-width:0}.mk-entry{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.marks-input{width:110px}.mk-out{white-space:nowrap}.mk-absent{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem;border:1px solid var(--border-subtle);border-radius:10px;cursor:pointer;font-size:.85rem;background:var(--bg-surface)}.mk-absent input{width:16px;height:16px}.mk-absent.is-on{background:var(--danger-bg, rgba(239, 68, 68, .1));border-color:transparent;color:var(--danger, #dc2626)}.mk-card .mk-absent{margin-left:auto}.marks-grid td{vertical-align:middle}.lb-avatar{display:inline-flex;width:34px;height:34px;border-radius:11px;align-items:center;justify-content:center;flex-shrink:0;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.lb-avatar-lg{width:52px;height:52px;border-radius:16px;font-size:1.3rem}.lb-rank{display:inline-flex;width:30px;height:30px;border-radius:50%;align-items:center;justify-content:center;background:var(--bg-surface-subtle);font-weight:700;font-size:.85rem;flex-shrink:0}.lb-rank.top{background:#fde68a;color:#78350f}.lb-mini{display:block;height:6px;border-radius:3px;background:var(--bg-surface-subtle);margin-top:6px;overflow:hidden}.lb-mini i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.lb-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;align-items:stretch}.lb-pod{padding:1.1rem .9rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;border-radius:18px}.lb-pod.r1{border-color:#f5c542;background:linear-gradient(180deg,rgba(245,197,66,.14),transparent 60%),var(--bg-surface)}.lb-pod.r2{border-color:#b8c0cc}.lb-pod.r3{border-color:#d8a06a}.lb-medal{font-size:1.8rem;line-height:1}.lb-pod-who{display:flex;flex-direction:column;gap:.15rem;min-width:0;max-width:100%}.lb-pod-who strong{overflow-wrap:anywhere;line-height:1.25}.lb-score{font-size:1.5rem;font-weight:800;color:var(--accent)}.lb-me{border-width:2px;border-color:var(--accent)}.lb-table tr.is-me td{background:var(--accent-soft)}.lb-table td,.lb-table th{vertical-align:middle}.lb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:.9rem}.lb-card{padding:.95rem 1rem;display:flex;flex-direction:column;gap:.7rem;min-width:0}.lb-card.is-me{border-color:var(--accent);background:var(--accent-soft)}.lb-card-top{display:flex;align-items:center;gap:.65rem;min-width:0}.lb-card-who{display:flex;flex-direction:column;min-width:0;flex:1 1 auto}.lb-card-who strong{overflow-wrap:anywhere}.lb-card-avg{font-size:1.25rem;font-weight:800;color:var(--accent);flex-shrink:0}.lb-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0}.lb-stats>div{background:var(--bg-surface-subtle);border-radius:10px;padding:.45rem .4rem;text-align:center;min-width:0}.lb-stats dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-light)}.lb-stats dd{margin:.1rem 0 0;font-weight:700;font-size:.95rem}.rs-hero{display:flex;gap:1.75rem;align-items:center;padding:1.4rem;flex-wrap:wrap}.rs-hero-facts{display:flex;flex-direction:column;gap:.9rem;flex:1 1 280px;min-width:0}.rs-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.rs-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem .85rem;border-radius:14px;border:1px solid transparent;min-width:0}.rs-tile strong{font-size:1.6rem;line-height:1.1}.rs-tile span{font-size:.78rem;color:var(--text-muted)}.rs-tile.is-ok{background:#22c55e1f;color:#15803d}.rs-tile.is-bad{background:#ef44441f;color:#b91c1c}.rs-tile.is-skip{background:var(--bg-surface-subtle);color:var(--text-muted)}.rs-review-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin:.4rem 0 .8rem}.rs-review-head h2{margin:0;font-size:1.15rem}.rc-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.1rem}.rc-practice li strong{margin-left:auto}@media(max-width:900px){.qf{grid-template-columns:1fr}.qf-preview{position:static;order:-1}}@media(max-width:700px){.lb-podium{grid-template-columns:1fr;gap:.6rem}.lb-pod{flex-direction:row;text-align:left;align-items:center;padding:.75rem .9rem}.lb-pod .lb-medal{font-size:1.5rem}.lb-pod .lb-avatar-lg{width:42px;height:42px;font-size:1.1rem;border-radius:13px}.lb-pod-who{flex:1 1 auto}.lb-score{font-size:1.25rem}}@media(max-width:640px){.tests-page{gap:.9rem}.tests-page .page-head{display:flex;flex-direction:column;align-items:stretch;gap:.75rem}.page-head-actions{width:100%}.page-head-actions .btn{flex:1 1 auto;justify-content:center}.tst-section{padding:1rem}.tst-savebar{bottom:.5rem}.tst-savebar .btn{flex:1 1 auto}.tst-toolbar-actions{width:100%}.tst-toolbar-actions .btn{flex:1 1 auto;justify-content:center}.tst-actions .btn{flex:1 1 auto}.tst-banner .btn{width:100%;justify-content:center}.rs-hero{padding:1rem;justify-content:center}.rs-tile{padding:.6rem .65rem}.rs-tile strong{font-size:1.3rem}.opt-row{flex-wrap:wrap}.lb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.acad-grid{grid-template-columns:minmax(0,1fr)}.mk-entry .marks-input{flex:1 1 100px;width:auto}}@media(max-width:420px){.q-card .q-actions .bc-btn:not(.q-move .bc-btn){font-size:.76rem;padding-inline:.4rem}.rs-tiles{gap:.5rem}.rs-tile span{font-size:.7rem}}.tc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.tc-tags .badge{white-space:nowrap}.bc.tc .bc-title h3{margin:0}.bc.tc.is-archived{opacity:1;filter:none;--accent: #f43f5e;--accent-2: #f97316;--accent-soft: rgba(244, 63, 94, .12)}.bc.tc.is-archived .bc-avatar{background:linear-gradient(135deg,#f43f5e,#f97316)}.dt-field{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;gap:.5rem;align-items:center}.dt-field .form-input{min-width:0;width:100%}.dt-field .dt-clear{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--bg-surface);color:var(--text-muted);cursor:pointer}.dt-field .dt-clear:hover{color:var(--danger, #dc2626);border-color:var(--danger, #dc2626)}.dt-field:not(:has(.dt-clear)){grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.rc-table{width:100%;table-layout:fixed}.rc-table td{vertical-align:middle;overflow-wrap:anywhere}.rc-table th{white-space:nowrap}.tests-page .back-link,.tst-back{font-size:.82rem;margin-bottom:.4rem;width:fit-content}.rs-table thead th{background:var(--bg-surface-subtle)}.rs-table tbody tr{transition:background .12s ease}.rs-table tbody tr:hover{background:var(--accent-soft)}.rs-table tbody tr.is-flagged td:first-child{box-shadow:inset 3px 0 #ef4444}.rs-table td{padding-top:.85rem;padding-bottom:.85rem}.rs-scorecell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.rs-scoreline{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.rs-pct{color:var(--accent)}.rs-chips{display:flex;flex-wrap:wrap;gap:.35rem}.rs-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:700}.rs-chip.is-ok{background:#22c55e24;color:#15803d}.rs-chip.is-bad{background:#ef444424;color:#b91c1c}.rs-chip.is-skip{background:var(--bg-surface-subtle);color:var(--text-muted)}.rs-table .exam-actions .bc-btn{padding:0 .6rem}.tests-page .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.tests-page .tc-tags,.tests-page .exam-chips,.tests-page .bc-tags{min-width:0;max-width:100%}.tests-page .tc-tags .badge{flex:0 1 auto}.tests-page .bc-title h3,.tests-page .bc-line-text,.tests-page .q-text,.tests-page .exam-title-cell strong{overflow-wrap:anywhere;word-break:break-word}.tests-page .bc-title{min-width:0}.tests-page .bc-title h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tests-page .bc-info span{min-width:0}.exam-section-title{font-size:1.05rem;margin:.5rem 0}.exam-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem;padding:0}.exam-score-line{font-size:.95rem}.exam-intro{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:1.5rem 1rem}.exam-intro-card{width:100%;max-width:640px;padding:1.5rem;display:flex;flex-direction:column;gap:.9rem}.exam-intro-card h1{margin:0}.exam-rules{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.exam-rules li{display:flex;gap:.6rem;align-items:flex-start}.exam-rules svg{flex-shrink:0;margin-top:3px;color:var(--primary-500)}.exam-run{min-height:100vh;padding:.75rem 1rem 2rem;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;gap:.75rem;user-select:none;-webkit-user-select:none}.exam-run-bar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.6rem .9rem;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.exam-run-title{display:flex;flex-direction:column;gap:2px;min-width:0}.exam-run-title strong{overflow-wrap:anywhere}.exam-save{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;color:var(--text-light)}.exam-save-offline{color:var(--danger)}.exam-timer{display:inline-flex;align-items:center;gap:6px;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;padding:.3rem .7rem;border-radius:999px;background:var(--bg-surface-subtle)}.exam-timer.is-low{color:#fff;background:var(--danger);animation:exam-pulse 1s ease-in-out infinite}@keyframes exam-pulse{50%{opacity:.7}}.exam-run-body{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:1rem;align-items:start}.exam-question{padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}.exam-q-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.exam-q-text{font-size:1.08rem;font-weight:600;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.exam-options{display:grid;gap:.6rem}.exam-option{display:flex;align-items:center;gap:.7rem;padding:.8rem .9rem;border:2px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;overflow-wrap:anywhere;min-height:48px}.exam-option:hover{border-color:var(--primary-300, #a5b4fc)}.exam-option.is-chosen{border-color:var(--primary-500);background:#6366f117}.exam-option input{width:20px;height:20px;flex-shrink:0}.exam-nav{display:flex;justify-content:space-between;gap:.75rem;margin-top:.5rem}.exam-palette{padding:1rem;position:sticky;top:74px}.exam-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}.exam-pal{height:38px;border-radius:8px;border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;font-weight:600}.exam-pal.is-done{background:var(--success);color:#fff;border-color:var(--success)}.exam-pal.is-current{outline:3px solid var(--primary-500);outline-offset:1px}.exam-result-card{display:flex;gap:2rem;align-items:center;padding:1.5rem;flex-wrap:wrap}.exam-result-facts{display:flex;flex-direction:column;gap:.6rem}.exam-counts{list-style:none;margin:0;padding:0;display:flex;gap:1.25rem;flex-wrap:wrap}.exam-events{margin:0;padding-left:1.1rem;font-size:.85rem}.q-option.is-wrong{background:#ef44441f}@media(max-width:860px){.exam-run-body{grid-template-columns:1fr}.exam-palette{position:static;order:-1}.exam-palette-grid{grid-template-columns:repeat(auto-fill,minmax(34px,1fr))}}.rc-bars{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.rc-bar-label{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:4px}.rc-bar{height:10px;border-radius:999px;background:var(--bg-surface-subtle);overflow:hidden;margin:6px 0}.rc-bar i{display:block;height:100%;border-radius:999px;background:var(--primary-500)}.rc-bars .rc-bar{margin:0 0 3px}.rc-trend{display:flex;align-items:flex-end;gap:8px;height:160px;padding-top:18px;overflow-x:auto}.rc-trend-col{position:relative;flex:1 0 28px;max-width:64px;height:100%;display:flex;align-items:flex-end;justify-content:center}.rc-trend-col i{display:block;width:100%;border-radius:6px 6px 0 0;background:var(--primary-500)}.rc-trend-value{position:absolute;top:-16px;font-size:.72rem;color:var(--text-light)}.rc-practice{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.rc-practice li{display:flex;gap:.4rem;align-items:baseline;flex-wrap:wrap;border-bottom:1px dashed var(--border-subtle);padding-bottom:.4rem}@media print{.sidebar,.topbar,.sidebar-backdrop,.demo-banner,.no-print{display:none!important}.main-wrapper{margin-left:0!important}.content-area{padding:0!important}body{background:#fff!important}.report-card .card,.report-card .dash-card{box-shadow:none!important;break-inside:avoid}.rc-bar i,.rc-trend-col i,.badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
