@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;tab-size:4}html,body{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:var(--leading-normal, 1.5)}img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse;border-spacing:0}:focus{outline:none}:focus-visible{outline:2px solid var(--accent-1, currentColor);outline-offset:2px;border-radius:2px}*{scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:color-mix(in oklch,var(--fg-default) 18%,transparent);border-radius:var(--radius-round);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch,var(--fg-default) 32%,transparent);background-clip:padding-box;border:2px solid transparent}::selection{background:color-mix(in oklch,var(--accent-1) 30%,transparent);color:var(--fg-default)}[hidden]{display:none!important}:root{color-scheme:light dark;--primary-h: 260;--primary-c: .18;--primary-l: 55%;--primary-50: light-dark(oklch(97% .02 var(--primary-h)), oklch(28% .08 var(--primary-h)));--primary-100: light-dark(oklch(94% .04 var(--primary-h)), oklch(32% .1 var(--primary-h)));--primary-200: light-dark(oklch(88% .08 var(--primary-h)), oklch(38% .12 var(--primary-h)));--primary-300: light-dark(oklch(78% .12 var(--primary-h)), oklch(48% .14 var(--primary-h)));--primary-400: light-dark(oklch(66% .16 var(--primary-h)), oklch(58% .16 var(--primary-h)));--primary-500: oklch(var(--primary-l) var(--primary-c) var(--primary-h));--primary-600: light-dark(oklch(48% .18 var(--primary-h)), oklch(70% .16 var(--primary-h)));--primary-700: light-dark(oklch(40% .16 var(--primary-h)), oklch(80% .14 var(--primary-h)));--primary-800: light-dark(oklch(32% .12 var(--primary-h)), oklch(88% .1 var(--primary-h)));--primary-900: light-dark(oklch(24% .08 var(--primary-h)), oklch(94% .06 var(--primary-h)));--n-50: light-dark(oklch(98.5% .003 250), oklch(14% .006 250));--n-100: light-dark(oklch(97% .004 250), oklch(17% .007 250));--n-150: light-dark(oklch(95.5% .005 250), oklch(20% .008 250));--n-200: light-dark(oklch(93% .006 250), oklch(24% .009 250));--n-300: light-dark(oklch(88% .008 250), oklch(30% .01 250));--n-400: light-dark(oklch(74% .01 250), oklch(45% .012 250));--n-500: light-dark(oklch(60% .012 250), oklch(58% .012 250));--n-600: light-dark(oklch(48% .012 250), oklch(72% .01 250));--n-700: light-dark(oklch(38% .012 250), oklch(82% .008 250));--n-800: light-dark(oklch(28% .01 250), oklch(90% .006 250));--n-900: light-dark(oklch(20% .008 250), oklch(95% .005 250));--n-950: light-dark(oklch(14% .006 250), oklch(98% .004 250));--surface-bg: light-dark(oklch(98.8% .003 250), oklch(13% .008 250));--surface-card: light-dark(oklch(100% 0 0), oklch(17% .008 250));--surface-elevated: light-dark(oklch(100% 0 0), oklch(20% .009 250));--surface-overlay: light-dark(oklch(100% 0 0), oklch(22% .01 250));--surface-sunken: light-dark(oklch(96.5% .005 250), oklch(11% .006 250));--surface-hover: light-dark(oklch(96% .006 250), oklch(22% .01 250));--border-subtle: light-dark(oklch(94% .005 250), oklch(24% .01 250));--border-default: light-dark(oklch(89% .007 250), oklch(30% .012 250));--border-strong: light-dark(oklch(80% .01 250), oklch(42% .014 250));--text-primary: light-dark(oklch(20% .01 250), oklch(96% .005 250));--text-secondary: light-dark(oklch(40% .012 250), oklch(78% .01 250));--text-tertiary: light-dark(oklch(56% .012 250), oklch(60% .012 250));--text-disabled: light-dark(oklch(72% .01 250), oklch(42% .012 250));--text-on-primary: oklch(99% .005 var(--primary-h));--text-link: var(--primary-600);--success-50: light-dark(oklch(96% .04 150), oklch(20% .04 150));--success-500: oklch(58% .14 150);--success-600: oklch(48% .14 150);--success-text: light-dark(oklch(38% .14 150), oklch(78% .14 150));--warning-50: light-dark(oklch(96% .05 75), oklch(22% .05 75));--warning-500: oklch(72% .15 75);--warning-600: oklch(60% .15 75);--warning-text: light-dark(oklch(40% .14 60), oklch(82% .14 75));--danger-50: light-dark(oklch(96% .04 25), oklch(22% .05 25));--danger-500: oklch(58% .18 25);--danger-600: oklch(50% .18 25);--danger-text: light-dark(oklch(46% .18 25), oklch(78% .16 25));--info-50: light-dark(oklch(96% .04 230), oklch(22% .05 230));--info-500: oklch(60% .14 230);--info-text: light-dark(oklch(42% .14 230), oklch(80% .13 230));--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--r-xs: 4px;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-sm: 0 1px 2px oklch(0% 0 0 / .06), 0 1px 1px oklch(0% 0 0 / .04);--shadow-md: 0 4px 12px oklch(0% 0 0 / .08), 0 2px 4px oklch(0% 0 0 / .04);--shadow-lg: 0 12px 32px oklch(0% 0 0 / .12), 0 4px 8px oklch(0% 0 0 / .06);--shadow-focus: 0 0 0 3px oklch(var(--primary-l) var(--primary-c) var(--primary-h) / .25);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--fs-xs: 11px;--fs-sm: 12.5px;--fs-base: 13.5px;--fs-md: 14.5px;--fs-lg: 16px;--fs-xl: 19px;--fs-2xl: 24px;--fs-3xl: 30px;--fs-4xl: 38px;--lh-tight: 1.15;--lh-snug: 1.3;--lh-base: 1.5;--sidebar-w: 232px;--sidebar-w-collapsed: 56px;--topbar-h: 52px;--row-h: 40px}[data-density=compact]{--row-h: 32px;--fs-base: 12.5px}[data-density=cozy]{--row-h: 48px}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--text-primary);background:var(--surface-bg);font-feature-settings:"cv11","ss01","ss03";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.mono,[class*=kpi__value],[class*=col-num],[class*=col-mono]{font-variant-numeric:tabular-nums}body{min-height:100vh}button{font:inherit;color:inherit;cursor:pointer}::selection{background:oklch(var(--primary-l) var(--primary-c) var(--primary-h) / .2);color:var(--text-primary)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:999px;border:2px solid var(--surface-bg)}*::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}:root{--bg: var(--surface-bg);--canvas: var(--surface-card);--surface: var(--surface-card);--surface-1: var(--surface-bg);--surface-2: var(--surface-card);--surface-3: var(--surface-hover);--surface-2-legacy: var(--surface-elevated);--ink: var(--text-primary);--ink-2: var(--text-primary);--ink-3: var(--text-secondary);--ink-4: var(--text-tertiary);--fg: var(--text-primary);--fg-default: var(--text-primary);--fg-muted: var(--text-secondary);--fg-subtle: var(--text-tertiary);--fg-on-accent: var(--text-on-primary);--line: var(--border-subtle);--line-2: var(--border-default);--brand: var(--primary-500);--brand-2: var(--primary-600);--brand-deep: var(--primary-700);--brand-soft: var(--primary-50);--brand-softer: var(--primary-50);--accent: var(--primary-500);--accent-1: var(--primary-500);--accent-1-hover: var(--primary-600);--accent-1-soft: var(--primary-50);--accent-1-softer: var(--primary-50);--accent-1-strong: var(--primary-700);--accent-1-deep: var(--primary-700);--secondary: var(--success-500);--gold: var(--warning-500);--danger: var(--danger-500);--danger-bg: var(--danger-50);--warning: var(--warning-500);--warning-bg: var(--warning-50);--success: var(--success-500);--info: var(--info-500);--accent-2: var(--success-500);--accent-2-soft: var(--success-50);--accent-3: var(--warning-500);--accent-3-soft: var(--warning-50);--accent-4: var(--danger-500);--accent-4-soft: var(--danger-50);--accent-info: var(--info-500);--accent-info-soft: var(--info-50);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--r-sm: var(--r-xs);--r: var(--r-sm);--r-lg: var(--r-md);--r-xl: var(--r-lg);--radius-xs: var(--r-xs);--radius-sm: var(--r-sm);--radius-md: var(--r-md);--radius-lg: var(--r-lg);--radius-xl: var(--r-xl);--radius-round: var(--r-full);--text-xs: var(--fs-xs);--text-sm: var(--fs-sm);--text-base: var(--fs-base);--text-lg: var(--fs-lg);--text-xl: var(--fs-xl);--text-2xl: var(--fs-2xl);--text-3xl: var(--fs-3xl);--text-4xl: var(--fs-4xl);--leading-tight: var(--lh-tight);--leading-normal: var(--lh-base);--leading-relaxed: var(--lh-base);--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--shadow-1: var(--shadow-sm);--shadow-2: var(--shadow-sm);--shadow-3: var(--shadow-md);--shadow-4: var(--shadow-lg);--shadow-card: var(--shadow-sm);--shadow-float: var(--shadow-md);--glass-bg: var(--surface-overlay);--glass-border: var(--border-subtle);--glass-blur: 24px;--glass-shadow: var(--shadow-lg);--header-h: var(--topbar-h);--sidebar-w-expanded: var(--sidebar-w);--density-pad: 16px;--density-row: var(--row-h);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;--duration-slower: .5s;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--login-bg-1: var(--surface-sunken);--login-bg-2: var(--primary-50);--login-bg-3: var(--surface-bg)}[data-density=compact]{--density-pad: 10px;--density-row: 32px}[data-density=cozy],[data-density=comfy]{--density-pad: 20px;--density-row: 48px}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--fg-default);background:var(--surface-1);letter-spacing:-.005em}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--fg-default);letter-spacing:-.02em}h1{font-size:var(--text-4xl);font-weight:var(--weight-bold)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:var(--weight-medium)}p{font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--fg-default)}p+p{margin-top:var(--space-3)}small{font-size:var(--text-xs);color:var(--fg-muted)}strong,b{font-weight:var(--weight-semibold)}a:where(:not(.btn):not(.nav-item)){color:var(--accent-1);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:where(:not(.btn):not(.nav-item)):hover{color:var(--accent-1-hover);text-decoration:underline;text-underline-offset:3px}a:where(:not(.btn):not(.nav-item)):focus-visible{outline:2px solid var(--accent-1);outline-offset:3px;border-radius:2px}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.95em}code{background:var(--surface-3);padding:.1em .35em;border-radius:var(--radius-xs);border:1px solid var(--border-subtle)}kbd{background:var(--surface-2);border:1px solid var(--border-default);border-bottom-width:2px;border-radius:var(--radius-xs);padding:.1em .4em;font-size:.85em}hr{border:0;height:1px;background:var(--border-subtle);margin:var(--space-6) 0}label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--fg-default)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0) translate(0)}33%{transform:translateY(-12px) translate(6px)}66%{transform:translateY(8px) translate(-8px)}}.animate-fade-in{animation:fade-in var(--duration-base) var(--ease-out) both}.animate-slide-up{animation:slide-up var(--duration-base) var(--ease-out) both}.animate-slide-down{animation:slide-down var(--duration-base) var(--ease-out) both}.animate-scale-in{animation:scale-in var(--duration-base) var(--ease-spring) both}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-shimmer{background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:shimmer 1.4s linear 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}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:focus,.sr-only-focusable:focus-visible{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}.stack{display:flex;flex-direction:column;gap:var(--space-3)}.stack-sm{gap:var(--space-2)}.stack-lg{gap:var(--space-5)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.center{display:grid;place-items:center}.scroll-area{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--border-default) transparent}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:32px;padding:0 12px;border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-base);font-weight:500;white-space:nowrap;transition:background .12s,border-color .12s,color .12s,box-shadow .12s;-webkit-user-select:none;user-select:none}.btn:focus-visible{outline:none;box-shadow:var(--shadow-focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--primary-500);color:var(--text-on-primary)}.btn--primary:hover:not(:disabled){background:var(--primary-600)}.btn--secondary{background:var(--surface-card);color:var(--text-primary);border-color:var(--border-default)}.btn--secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.btn--ghost{background:transparent;color:var(--text-secondary)}.btn--ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.btn--danger{background:var(--danger-500);color:#fff}.btn--danger:hover:not(:disabled){background:var(--danger-600)}.btn--danger-ghost{background:transparent;color:var(--danger-text)}.btn--danger-ghost:hover:not(:disabled){background:var(--danger-50)}.btn--sm{height:26px;padding:0 9px;font-size:var(--fs-sm)}.btn--lg{height:38px;padding:0 16px;font-size:var(--fs-md)}.btn--icon{width:32px;padding:0}.btn--icon.btn--sm{width:26px}.input,.select,.textarea{width:100%;height:34px;padding:0 10px;background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--fs-base);font-family:inherit;transition:border-color .12s,box-shadow .12s}:is(.input,.select,.textarea)::placeholder{color:var(--text-tertiary)}:is(.input,.select,.textarea):hover{border-color:var(--border-strong)}:is(.input,.select,.textarea):focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus)}:is(.input,.select,.textarea):disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.textarea{height:auto;padding:8px 10px;line-height:1.45;resize:vertical;min-height:72px}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.input--mono{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:-.01em}.field{display:flex;flex-direction:column;gap:6px}.field>label{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary)}.field>label .req{color:var(--danger-text);margin-left:2px}.field .help{font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.4}.field .err{font-size:var(--fs-xs);color:var(--danger-text)}.switch{position:relative;display:inline-block;width:32px;height:18px}.switch input{opacity:0;width:0;height:0}.switch .track{position:absolute;inset:0;background:var(--n-300);border-radius:999px;transition:background .12s}.switch .track:before{content:"";position:absolute;width:14px;height:14px;left:2px;top:2px;background:#fff;border-radius:999px;transition:transform .14s;box-shadow:0 1px 2px #0003}.switch input:checked+.track{background:var(--primary-500)}.switch input:checked+.track:before{transform:translate(14px)}.checkbox,.radio{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;background:var(--surface-card);border:1.5px solid var(--border-strong);border-radius:4px;transition:all .12s;flex-shrink:0}:is(.checkbox,.radio).checked{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.radio{border-radius:999px}.radio.checked{background:var(--surface-card)}.radio.checked:after{content:"";width:8px;height:8px;background:var(--primary-500);border-radius:999px}.tag{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;font-size:var(--fs-xs);font-weight:500;letter-spacing:.01em;background:var(--n-100);color:var(--text-secondary);border-radius:var(--r-sm);border:1px solid var(--border-subtle);white-space:nowrap}.tag--mono{font-family:var(--font-mono)}.tag--primary{background:var(--primary-50);color:var(--primary-700);border-color:oklch(var(--primary-l) var(--primary-c) var(--primary-h) / .2)}.tag--success{background:var(--success-50);color:var(--success-text);border-color:#2a904b40}.tag--warning{background:var(--warning-50);color:var(--warning-text);border-color:#da950b4d}.tag--danger{background:var(--danger-50);color:var(--danger-text);border-color:#cf404040}.tag--info{background:var(--info-50);color:var(--info-text);border-color:#008cb940;border-color:oklch(60% .14 230 / .25)}.tag--solid{background:var(--text-primary);color:var(--surface-card);border-color:transparent}.dot{display:inline-block;width:6px;height:6px;border-radius:999px;flex-shrink:0}.dot--success{background:var(--success-500)}.dot--warning{background:var(--warning-500)}.dot--danger{background:var(--danger-500)}.dot--neutral{background:var(--n-400)}.dot--info{background:var(--info-500)}.avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--n-200);color:var(--text-primary);font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;flex-shrink:0;-webkit-user-select:none;user-select:none}.avatar--sm{width:22px;height:22px;font-size:9px}.avatar--lg{width:36px;height:36px;font-size:var(--fs-sm)}.avatar--xl{width:56px;height:56px;font-size:var(--fs-md)}.avatar--primary{background:var(--primary-500);color:#fff}.card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-lg);overflow:hidden}.card__header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border-subtle)}.card__title{font-size:var(--fs-md);font-weight:600;margin:0}.card__sub{font-size:var(--fs-sm);color:var(--text-tertiary);margin:2px 0 0}.card__body{padding:18px}.kpi{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.kpi__label{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);font-weight:500}.kpi__value{font-size:var(--fs-3xl);font-weight:600;letter-spacing:-.02em;line-height:1;font-feature-settings:"tnum"}.kpi__delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-xs);font-family:var(--font-mono)}.kpi__delta--up{color:var(--success-text)}.kpi__delta--down{color:var(--danger-text)}.table-wrap{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-lg);overflow:hidden}.card .table-wrap{border:none;border-radius:0;background:transparent}.table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}.table thead th{text-align:left;padding:8px 12px;font-size:var(--fs-xs);font-weight:500;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border-subtle);background:var(--surface-card);white-space:nowrap;-webkit-user-select:none;user-select:none;position:sticky;top:0;z-index:1}.table tbody td{padding:0 12px;height:var(--row-h);border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle}.table tbody tr{transition:background 80ms}.table tbody tr:hover{background:var(--surface-hover)}.table tbody tr:last-child td{border-bottom:none}.table .col-mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-secondary)}.table .col-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.table .row-actions{display:flex;gap:2px;justify-content:flex-end;opacity:0;transition:opacity .1s}.table tbody tr:hover .row-actions{opacity:1}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 24px;text-align:center;color:var(--text-tertiary)}.empty .empty__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:999px;background:var(--n-100);margin-bottom:8px}.empty .empty__title{font-size:var(--fs-md);font-weight:600;color:var(--text-primary);margin:0}.empty .empty__desc{font-size:var(--fs-sm);max-width:360px}.skel{background:linear-gradient(90deg,var(--n-100) 0%,var(--n-150) 50%,var(--n-100) 100%);background-size:200% 100%;animation:skel 1.4s ease-in-out infinite;border-radius:var(--r-sm)}@keyframes skel{to{background-position:-200% 0}}.modal-backdrop{position:fixed;inset:0;background:#0006;display:grid;place-items:center;z-index:100;animation:fadeIn .14s ease-out}.modal{background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;animation:modalIn .18s cubic-bezier(.2,.9,.3,1)}.modal__header{padding:16px 20px;border-bottom:1px solid var(--border-subtle)}.modal__body{padding:20px;overflow-y:auto}.modal__footer{padding:12px 20px;border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,92vw);background:var(--surface-elevated);border-left:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:100;animation:drawerIn .22s cubic-bezier(.2,.9,.3,1)}@keyframes drawerIn{0%{transform:translate(100%)}to{transform:none}}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-subtle)}.tab{padding:9px 12px;font-size:var(--fs-sm);font-weight:500;color:var(--text-secondary);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:6px}.tab:hover{color:var(--text-primary)}.tab.active{color:var(--primary-600);border-bottom-color:var(--primary-500)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border-subtle)}.page-header h1{font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.02em;margin:0;line-height:1.2}.page-header .sub{font-size:var(--fs-sm);color:var(--text-tertiary);margin-top:4px}.page-header .actions{display:flex;gap:8px}.crumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--text-tertiary);margin-bottom:8px}.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--text-primary)}.crumbs .sep{color:var(--n-400)}.crumbs .current{color:var(--text-primary)}.filterbar{display:flex;flex-wrap:wrap;gap:8px;padding:10px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-md);margin-bottom:14px;align-items:center;position:sticky;top:0;z-index:5}.bulk-bar{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--primary-50);border:1px solid oklch(var(--primary-l) var(--primary-c) var(--primary-h) / .2);border-radius:var(--r-md);margin-bottom:12px;font-size:12.5px}.bulk-bar>span:first-child{font-weight:500;color:var(--primary-700)}.toast{position:fixed;bottom:24px;right:24px;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);padding:10px 14px;box-shadow:var(--shadow-md);display:flex;align-items:center;gap:10px;font-size:var(--fs-sm);z-index:200;animation:toastIn .18s ease-out}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.tt{position:relative}.tt:after{content:attr(data-tt);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--n-900);color:var(--n-50);padding:4px 8px;border-radius:var(--r-sm);font-size:var(--fs-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;z-index:100}.tt:hover:after{opacity:1}.row{display:flex;align-items:center;gap:8px}.row--between{display:flex;align-items:center;justify-content:space-between;gap:8px}.col{display:flex;flex-direction:column;gap:8px}.muted{color:var(--text-tertiary)}.mono{font-family:var(--font-mono)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.divider{height:1px;background:var(--border-subtle);margin:16px 0}.ui-field{--uf-h: 34px;--uf-px: 10px;--uf-fs: var(--fs-base);--uf-radius: var(--r-md);--uf-ta-min: 72px;--uf-ta-py: 8px;display:flex;flex-direction:column;gap:6px;min-width:0}.ui-field[data-size=compact]{--uf-h: 30px;--uf-px: 8px;--uf-fs: var(--fs-sm);--uf-ta-min: 60px;--uf-ta-py: 6px}.ui-field[data-size=large]{--uf-h: 44px;--uf-px: 14px;--uf-fs: var(--fs-md, .9375rem);--uf-radius: var(--r-lg, 12px);--uf-ta-min: 88px;--uf-ta-py: 12px}.ui-field__label{font-size:var(--fs-sm);font-weight:500;color:var(--text-primary);line-height:var(--lh-snug);display:block}.ui-field[data-size=large] .ui-field__label{font-size:var(--fs-base)}.ui-field__label[data-required]:after{content:" *";color:var(--danger-text);font-weight:600}.ui-field__control{display:flex;align-items:stretch;gap:6px;min-width:0;width:100%}.ui-field__control>input,.ui-field__control>select{flex:1 1 auto;min-width:0;width:100%;height:var(--uf-h);padding:0 var(--uf-px);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--uf-radius);font:inherit;font-size:var(--uf-fs);transition:border-color .12s,box-shadow .12s}.ui-field__control>textarea{flex:1 1 auto;min-width:0;width:100%;min-height:var(--uf-ta-min);padding:var(--uf-ta-py) var(--uf-px);background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--uf-radius);font:inherit;font-size:var(--uf-fs);line-height:1.5;resize:vertical;transition:border-color .12s,box-shadow .12s}.ui-field__control>select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--uf-px) center;padding-right:calc(var(--uf-px) + 18px)}.ui-field__control>input::placeholder,.ui-field__control>textarea::placeholder{color:var(--text-tertiary)}.ui-field__control>input:hover,.ui-field__control>select:hover,.ui-field__control>textarea:hover{border-color:var(--border-strong)}.ui-field__control>input:focus,.ui-field__control>select:focus,.ui-field__control>textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:var(--shadow-focus)}.ui-field__control>input:disabled,.ui-field__control>select:disabled,.ui-field__control>textarea:disabled{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.ui-field__hint{font-size:var(--fs-xs);color:var(--text-tertiary);line-height:1.4}.ui-field__error{font-size:var(--fs-xs);color:var(--danger-text);font-weight:500;line-height:1.4}.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix]){gap:0;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--uf-radius);height:var(--uf-h);font-size:var(--uf-fs);transition:border-color .12s,box-shadow .12s;overflow:hidden}.ui-field__control:has(>textarea):has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix]){height:auto;min-height:var(--uf-ta-min)}.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>input,.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>select,.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>textarea{flex:1 1 auto;min-width:0;height:auto;align-self:stretch;border:none;background:transparent;padding:0 var(--uf-px);box-shadow:none;border-radius:0;font-size:inherit}.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>textarea{padding:var(--uf-ta-py) var(--uf-px);resize:vertical}.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>input:focus,.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>select:focus,.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>textarea:focus{box-shadow:none;outline:none}.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix]):hover{border-color:var(--border-strong)}.ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix]):focus-within{border-color:var(--primary-500);box-shadow:var(--shadow-focus)}.ui-field[data-invalid=true] .ui-field__control>input,.ui-field[data-invalid=true] .ui-field__control>select,.ui-field[data-invalid=true] .ui-field__control>textarea{border-color:var(--danger-500)}.ui-field[data-invalid=true] .ui-field__control>input:focus,.ui-field[data-invalid=true] .ui-field__control>select:focus,.ui-field[data-invalid=true] .ui-field__control>textarea:focus{border-color:var(--danger-500);box-shadow:0 0 0 3px var(--danger-50)}.ui-field[data-invalid=true] .ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix]){border-color:var(--danger-500)}.ui-field[data-invalid=true] .ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>input,.ui-field[data-invalid=true] .ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>select,.ui-field[data-invalid=true] .ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix])>textarea{border-color:transparent}.ui-field[data-invalid=true] .ui-field__control:has(field-prefix,field-suffix,[ui-field-prefix],[ui-field-suffix]):focus-within{box-shadow:0 0 0 3px var(--danger-50)}.ui-field__control>input:-webkit-autofill,.ui-field__control>input:-webkit-autofill:hover,.ui-field__control>input:-webkit-autofill:focus,.ui-field__control>input:-webkit-autofill:active{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--surface-card) inset;caret-color:var(--text-primary);transition:background-color 9999s ease-in-out 0s}.ui-field__control field-prefix,.ui-field__control field-suffix,.ui-field__control [ui-field-prefix],.ui-field__control [ui-field-suffix]{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-tertiary);padding:0 var(--uf-px);-webkit-user-select:none;user-select:none}.ui-field__control field-prefix{padding-right:4px}.ui-field__control field-suffix,.ui-field__control [ui-field-suffix]{padding-left:4px}.ui-field__control button[ui-field-suffix],.ui-field__control field-suffix button{background:transparent;border:none;cursor:pointer;color:var(--text-tertiary);display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 8px;transition:color .12s}.ui-field__control button[ui-field-suffix]:hover,.ui-field__control field-suffix button:hover{color:var(--text-primary)}.ui-field__control>input[type=color]{flex:0 0 auto;width:56px;height:var(--uf-h);padding:2px;cursor:pointer}.ui-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.ui-form-grid>.ui-form-grid__full{grid-column:1 / -1}form-section{display:block;width:100%}form>form-section+form-section{margin-top:16px}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:16px;margin-top:8px;border-top:1px solid var(--border-subtle)}.form-back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:transparent;color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--r-md);font-size:var(--fs-sm);cursor:pointer;transition:background .12s}.form-back:hover{background:var(--surface-hover)}.form-back__x{display:none;font-size:22px;line-height:1}.is-aux .form-back{position:fixed;top:18px;right:22px;width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:var(--r-sm);color:var(--text-secondary);z-index:110;display:grid;place-items:center}.is-aux .form-back:hover{background:var(--surface-hover);color:var(--text-primary)}.is-aux .form-back__text{display:none}.is-aux .form-back__x{display:inline}.is-aux .people-form__head,.is-aux .cand-form__head,.is-aux .user-form__head,.is-aux .group-form__head,.is-aux .filter-form__head{padding-right:48px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.form-drawer__body form,form.form-stack{display:flex;flex-direction:column;gap:14px}.field .muted-label{color:var(--text-tertiary);font-weight:400;margin-left:4px}.consent-card{padding:14px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--surface-card);margin-bottom:14px}.toggle-row{margin-bottom:8px}.wizard-steps{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:11px;flex-wrap:wrap}.wizard-step{display:inline-flex;align-items:center;gap:6px;cursor:pointer;color:var(--text-tertiary)}.wizard-step__num{width:18px;height:18px;border-radius:999px;background:var(--n-200);color:var(--text-tertiary);display:grid;place-items:center;font-size:10px;font-weight:600;transition:background .12s,color .12s}.wizard-step__label{font-weight:400}.wizard-step__sep{color:var(--border-default)}.wizard-step.done .wizard-step__num,.wizard-step.active .wizard-step__num{background:var(--primary-500);color:#fff}.wizard-step.active{color:var(--primary-700)}.wizard-step.active .wizard-step__label{font-weight:500}.hue-row{gap:12px;align-items:stretch}.hue-swatch{width:56px;height:56px;border-radius:var(--r-md);border:1px solid var(--border-default);flex-shrink:0}.hue-controls{flex:1;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}.hue-slider{width:100%;height:6px;-webkit-appearance:none;appearance:none;background:linear-gradient(to right,#be346d,#bb4536 8.33%,#ba4720 10.42%,#ba490d,#b74d00 12.5%,#ae5600,#a75c00 16.67%,#8b6d00,#687c00 33.33%,#5b8000 35.42%,#538200,#488400,#3b8614,#2e8725,#1c8831 40.62%,#0b8936,#00893d 41.67%,#00884a,#008754 43.75%,#008662 45.83%,#008474 50%,#008090,#0079b3 66.67%,#0076c0 68.75%,#0074c8,#1871cd 70.83%,#3b6dcc,#4f68cb 75%,#8451c9,#a24a9c,#be346d);background:linear-gradient(to right,#be346d,#bb4536 8.33%,#ba4720 10.42%,#ba490d,color(xyz 0.225 0.152 0.012) 12.5%,color(xyz 0.222 0.153 -0.004),color(xyz 0.219 0.154 -0.018) 16.67%,color(xyz 0.168 0.164 -0.014),color(xyz 0.122 0.175 -0.01) 33.33%,color(xyz 0.114 0.177 0.006) 35.42%,color(xyz 0.111 0.178 0.015),color(xyz 0.108 0.179 0.025),#3b8614,#2e8725,#1c8831 40.62%,#0b8936,color(xyz 0.096 0.182 0.072) 41.67%,color(xyz 0.094 0.183 0.085),color(xyz 0.091 0.184 0.099) 43.75%,color(xyz 0.088 0.185 0.13) 45.83%,color(xyz 0.083 0.187 0.202) 50%,color(xyz 0.114 0.18 0.376),color(xyz 0.156 0.169 0.609) 66.67%,color(xyz 0.165 0.167 0.604) 68.75%,color(xyz 0.169 0.166 0.601),#1871cd 70.83%,#3b6dcc,#4f68cb 75%,#8451c9,#a24a9c,#be346d);border-radius:999px;outline:none;cursor:pointer}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--surface-card);border:2px solid var(--text-primary);cursor:pointer}.hue-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--surface-card);border:2px solid var(--text-primary);cursor:pointer}.hue-value{font-size:11px;color:var(--text-tertiary)}.hue-presets{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.hue-preset{width:24px;height:24px;border-radius:999px;border:1px solid var(--border-default);cursor:pointer;padding:0;transition:transform .1s}.hue-preset:hover{transform:scale(1.1)}.hue-preset.active{border:2px solid var(--text-primary);box-shadow:0 0 0 2px var(--surface-card)}.logo-dropzone{padding:16px;border:1.5px dashed var(--border-default);border-radius:var(--r-md);text-align:center;color:var(--text-tertiary);font-size:12.5px;cursor:pointer;transition:border-color .12s,background .12s}.logo-dropzone:hover{border-color:var(--primary-500);background:var(--primary-50)}.logo-dropzone__title{margin-top:6px}.logo-dropzone__title a{color:var(--text-link);text-decoration:underline}.logo-dropzone__hint{font-size:11px;margin-top:4px}.input-group{display:flex;align-items:stretch;width:100%}.input-group__field{flex:1;border-top-right-radius:0!important;border-bottom-right-radius:0!important}.input-group__suffix{padding:0 12px;height:34px;display:grid;place-items:center;background:var(--surface-sunken);border:1px solid var(--border-default);border-left:none;border-radius:0 var(--r-md) var(--r-md) 0;font-size:12.5px;color:var(--text-tertiary)}.filter-radio-group{display:inline-flex;align-items:center;gap:12px;font-size:12px;color:var(--text-secondary)}.filter-radio-group label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.filter-radio-group input[type=radio]{margin:0}.msg__alert{padding:10px 14px;background:var(--danger-50);color:var(--danger-text);border:1px solid oklch(58% .18 25 / .25);border-radius:var(--r-md);font-size:var(--fs-sm);margin-bottom:12px}.btn--filled{background:var(--primary-500);color:var(--text-on-primary)}.btn--filled:hover:not(:disabled){background:var(--primary-600)}.btn--outlined{background:transparent;color:var(--primary-700);border-color:var(--primary-500)}.btn--outlined:hover:not(:disabled){background:var(--primary-50);border-color:var(--primary-600)}.btn--tonal{background:var(--primary-50);color:var(--primary-700);border-color:transparent}.btn--tonal:hover:not(:disabled){background:var(--primary-100)}.btn--text{background:transparent;color:var(--primary-700);border-color:transparent;padding:0 8px}.btn--text:hover:not(:disabled){background:var(--primary-50)}.btn--elevated{background:var(--surface-card);color:var(--primary-700);border-color:transparent;box-shadow:var(--shadow-sm)}.btn--elevated:hover:not(:disabled){background:var(--surface-hover);box-shadow:var(--shadow-md)}.btn--success{background:var(--success-500);color:#fff}.btn--success:hover:not(:disabled){background:var(--success-600)}.btn--xs{height:22px;padding:0 8px;font-size:var(--fs-xs);border-radius:var(--r-sm);gap:4px}.btn--xs.btn--icon{width:22px}.btn--icon.btn--lg{width:38px}.btn--fab{width:48px;height:48px;padding:0;border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.btn--fab:hover:not(:disabled){box-shadow:var(--shadow-lg)}.btn--fab-extended{height:48px;padding:0 20px;border-radius:var(--r-lg);box-shadow:var(--shadow-md);font-weight:500}.btn--fab-extended:hover:not(:disabled){box-shadow:var(--shadow-lg)}.input--sm,.select--sm{height:28px;padding:0 8px;font-size:var(--fs-sm);border-radius:var(--r-sm)}.input--lg,.select--lg{height:42px;padding:0 14px;font-size:var(--fs-md)}.select--sm{padding-right:26px;background-position:right 8px center}.select--lg{padding-right:32px;background-position:right 12px center}.input-wrap{position:relative;display:flex;align-items:stretch;width:100%;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--r-md);transition:border-color .12s,box-shadow .12s;overflow:hidden}.input-wrap:hover{border-color:var(--border-strong)}.input-wrap:focus-within{border-color:var(--primary-500);box-shadow:var(--shadow-focus)}.input-wrap.is-error{border-color:var(--danger-500)}.input-wrap.is-error:focus-within{box-shadow:0 0 0 3px #cf404033}.input-wrap.is-disabled{background:var(--surface-sunken);cursor:not-allowed}.input-wrap>input,.input-wrap>.input-wrap__input{flex:1;min-width:0;height:32px;border:none;background:transparent;padding:0 12px;font-size:var(--fs-base);font-family:inherit;color:var(--text-primary);outline:none}.input-wrap>input::placeholder{color:var(--text-tertiary)}.input-wrap--sm>input{height:26px;padding:0 10px;font-size:var(--fs-sm)}.input-wrap--md>input{height:32px}.input-wrap--lg>input{height:40px;padding:0 14px;font-size:var(--fs-md)}.input-wrap__affix{display:inline-flex;align-items:center;justify-content:center;padding:0 10px;color:var(--text-tertiary);font-size:var(--fs-sm);-webkit-user-select:none;user-select:none;white-space:nowrap;background:transparent}.input-wrap__affix--prefix{padding-right:0;padding-left:10px}.input-wrap__affix--suffix{padding-left:0;padding-right:10px}.input-wrap__affix--bg{background:var(--surface-sunken);border-right:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-mono);font-size:var(--fs-sm)}.input-wrap__affix--bg.input-wrap__affix--suffix{border-right:none;border-left:1px solid var(--border-subtle)}.input-wrap__btn{border:none;background:transparent;padding:0 10px;display:inline-flex;align-items:center;color:var(--text-tertiary);cursor:pointer;transition:color .1s}.input-wrap__btn:hover{color:var(--text-primary)}.range{-webkit-appearance:none;appearance:none;width:100%;height:4px;background:var(--n-200);border-radius:999px;outline:none;cursor:pointer;margin:0}.range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;background:#fff;border:2px solid var(--primary-500);border-radius:999px;cursor:grab;box-shadow:var(--shadow-sm);transition:transform .1s,box-shadow .1s}.range::-webkit-slider-thumb:hover{transform:scale(1.12);box-shadow:0 0 0 6px oklch(var(--primary-l) var(--primary-c) var(--primary-h) / .12)}.range::-moz-range-thumb{width:16px;height:16px;background:#fff;border:2px solid var(--primary-500);border-radius:999px;cursor:grab;box-shadow:var(--shadow-sm)}.range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px oklch(var(--primary-l) var(--primary-c) var(--primary-h) / .25)}.color-input{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--r-md);cursor:pointer;transition:border-color .12s;position:relative}.color-input:hover{border-color:var(--border-strong)}.color-input:focus-within{border-color:var(--primary-500);box-shadow:var(--shadow-focus)}.color-input__swatch{width:26px;height:26px;border-radius:var(--r-sm);border:1px solid oklch(0% 0 0 / .08);flex-shrink:0;display:inline-block}.color-input__hex{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-primary);text-transform:uppercase;letter-spacing:.02em}.color-input>input[type=color]{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.pager{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--r-md)}.pager__btn{min-width:28px;height:26px;padding:0 8px;border:none;background:transparent;border-radius:var(--r-sm);color:var(--text-secondary);font-size:var(--fs-sm);font-feature-settings:"tnum";cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background 80ms,color 80ms}.pager__btn:hover:not(:disabled):not(.is-active){background:var(--surface-hover);color:var(--text-primary)}.pager__btn:disabled{opacity:.4;cursor:not-allowed}.pager__btn.is-active{background:var(--primary-500);color:var(--text-on-primary);font-weight:500}.pager__ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:22px;color:var(--text-tertiary);font-size:var(--fs-sm)}.pager--lg .pager__btn{min-width:32px;height:30px;font-size:var(--fs-base)}.pager--sm .pager__btn{min-width:24px;height:22px;font-size:var(--fs-xs)}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border-default);border-radius:999px;background:var(--surface-card);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s,border-color .1s,color .1s}.chip:hover{background:var(--surface-hover);color:var(--text-primary)}.chip--active{background:var(--primary-50);border-color:var(--primary-500);color:var(--primary-700);font-weight:500}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:var(--topbar-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh;overflow:hidden;transition:grid-template-columns .22s cubic-bezier(.2,.9,.3,1)}.app[data-collapsed=true]{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{grid-area:sidebar;background:var(--surface-card);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow:hidden;z-index:10}.sidebar__brand{display:flex;align-items:center;gap:10px;padding:10px 14px;height:var(--topbar-h);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.sidebar__logo{width:32px;height:32px;border-radius:var(--r-sm);display:grid;place-items:center;flex-shrink:0;position:relative;overflow:hidden}.sidebar__logo svg{width:18px;height:18px}.sidebar__logo img{width:100%;height:100%;object-fit:contain}.sidebar__brand-text{display:flex;flex-direction:column;line-height:1.1;min-width:0}.sidebar__brand-text .name{font-size:var(--fs-sm);font-weight:600;letter-spacing:-.01em;white-space:nowrap}.sidebar__brand-text .tag{font-size:9.5px;font-family:var(--font-mono);color:var(--text-tertiary);background:none;border:none;padding:0;height:auto;text-transform:uppercase;letter-spacing:.08em;margin-top:1px}.sidebar__nav{flex:1;overflow-y:auto;padding:8px 8px 16px;display:flex;flex-direction:column;gap:1px}.sidebar__group-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);padding:14px 10px 6px;font-weight:500}.nav-item{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:background 80ms,color 80ms;position:relative}.nav-item:hover{background:var(--surface-hover);color:var(--text-primary)}.nav-item.active{background:var(--primary-50);color:var(--primary-700);font-weight:500}.nav-item.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:2px;background:var(--primary-500);border-radius:0 2px 2px 0}.nav-item__icon{width:18px;height:18px;display:grid;place-items:center;flex-shrink:0;color:currentColor}.nav-item__label{flex:1}.nav-item__caret{width:14px;height:14px;transition:transform .16s}.nav-item.expanded .nav-item__caret{transform:rotate(90deg)}.nav-item__count{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);background:var(--n-100);padding:1px 6px;border-radius:999px}.nav-sub{display:flex;flex-direction:column;gap:1px;padding-left:28px;margin:2px 0 4px}.nav-sub .nav-item{padding:5px 10px;font-size:var(--fs-sm)}.nav-sub .nav-item.active{background:transparent;color:var(--primary-700)}.nav-sub .nav-item.active:before{left:-22px;top:50%;bottom:auto;width:4px;height:4px;border-radius:999px;transform:translateY(-50%)}.app[data-collapsed=true] .sidebar__brand-text,.app[data-collapsed=true] .nav-item__label,.app[data-collapsed=true] .nav-item__caret,.app[data-collapsed=true] .nav-item__count,.app[data-collapsed=true] .sidebar__group-label,.app[data-collapsed=true] .nav-sub{display:none}.app[data-collapsed=true] .nav-item{justify-content:center;padding:7px}.sidebar__footer{padding:8px;border-top:1px solid var(--border-subtle);flex-shrink:0}.topbar{grid-area:topbar;background:var(--surface-card);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:12px;padding:0 16px;z-index:9;position:relative}.candidate-switcher{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 5px;border:1px solid var(--border-default);border-radius:var(--r-md);background:var(--surface-card);cursor:pointer;height:34px;transition:border-color .12s,background .12s;position:relative}.candidate-switcher:hover{border-color:var(--border-strong);background:var(--surface-hover)}.candidate-switcher__avatar{width:26px;height:26px;border-radius:var(--r-sm);display:grid;place-items:center;color:#fff;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}.candidate-switcher__text{display:flex;flex-direction:column;line-height:1.15}.candidate-switcher__name{font-size:var(--fs-sm);font-weight:500}.candidate-switcher__scope{font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em}.search{flex:1;max-width:480px;position:relative}.search input{width:100%;height:32px;padding:0 12px 0 32px;background:var(--surface-sunken);border:1px solid transparent;border-radius:var(--r-md);font-size:var(--fs-sm);color:var(--text-primary);transition:background .12s,border-color .12s}.search input::placeholder{color:var(--text-tertiary)}.search input:focus{outline:none;background:var(--surface-card);border-color:var(--primary-500);box-shadow:var(--shadow-focus)}.search .search__icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.search .search__kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);background:var(--surface-card);border:1px solid var(--border-default);padding:1px 5px;border-radius:3px}.topbar__actions{display:flex;align-items:center;gap:4px;margin-left:auto}.icon-btn{width:32px;height:32px;display:grid;place-items:center;border:none;background:transparent;border-radius:var(--r-sm);color:var(--text-secondary);position:relative}.icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.icon-btn .badge{position:absolute;top:5px;right:5px;width:7px;height:7px;background:var(--danger-500);border-radius:999px;border:1.5px solid var(--surface-card)}.dropdown{position:absolute;background:var(--surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--r-md);box-shadow:var(--shadow-lg);z-index:50;padding:4px;min-width:220px;animation:ddIn .14s ease-out}@keyframes ddIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dropdown__label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:8px 10px 4px;font-weight:500}.dropdown__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;color:var(--text-primary)}.dropdown__item:hover{background:var(--surface-hover)}.dropdown__divider{height:1px;background:var(--border-subtle);margin:4px 0}.main{grid-area:main;overflow-y:scroll;scrollbar-gutter:stable;background:var(--surface-bg)}.main__inner{max-width:1400px;margin:0 auto;padding:24px 32px 80px}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--surface-bg)}.auth__hero{background:var(--n-950);color:var(--n-50);padding:40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.auth__form-wrap{display:grid;place-items:center;padding:40px}.auth__form{width:min(380px,100%)}@media(max-width:880px){.auth{grid-template-columns:1fr}.auth__hero{display:none}.app{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.app .sidebar__brand-text,.app .nav-item__label,.app .nav-item__count,.app .nav-item__caret,.app .nav-sub{display:none}.app .nav-item{justify-content:center;padding:7px}}html,body,app-root{height:100%}app-root{display:block}
