:root{--font-sans: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Space Grotesk", "Hanken Grotesk", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--brand-rgb: 78, 113, 255;--brand: #4E71FF;--brand-strong: #5409DA;--brand-soft: rgba(var(--brand-rgb), .1);--brand-grad: linear-gradient(135deg, #5409DA 0%, #4E71FF 100%);--brand-fill: linear-gradient(135deg, #5409DA 0%, #4E71FF 100%);--success: #16a34a;--warning: #d97706;--danger: #dc2626;--info: #0284c7;--success-soft: rgba(22, 163, 74, .12);--warning-soft: rgba(217, 119, 6, .12);--danger-soft: rgba(220, 38, 38, .12);--info-soft: rgba(2, 132, 199, .12);--bg-base: #f3f5fb;--bg: var(--bg-base);--bg-wash: radial-gradient(1100px 520px at 100% -10%, rgba(var(--brand-rgb), .1), transparent 60%), radial-gradient(900px 480px at -10% 0%, rgba(84, 9, 218, .06), transparent 55%);--surface: #ffffff;--surface-2: #f4f6fc;--surface-opaque: #ffffff;--glass-border: #e6e9f3;--glass-shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 4px 14px -4px rgba(16, 24, 40, .08);--hover-shadow: 0 2px 6px rgba(16, 24, 40, .06), 0 14px 32px -10px rgba(var(--brand-rgb), .28);--header-glass-bg: linear-gradient(100deg, #0b1430 0%, #111d4a 52%, rgba(var(--brand-rgb), .55) 135%), #0b1430;--header-glass-border: rgba(255, 255, 255, .08);--header-text: #f1f5f9;--side-glass-bg: #ffffff;--side-glass-border: #e3e7f0;--side-text: #374151;--side-text-muted: #6b7280;--side-active: rgba(var(--brand-rgb), .1);--side-active-text: #5409DA;--border: #e3e7f0;--text: #111827;--text-muted: #4b5563;--text-faint: #5f6b81;--radius: 14px;--radius-sm: 10px;--radius-xs: 7px;--shadow-sm: 0 1px 2px rgba(16,24,40,.05), 0 2px 6px -2px rgba(16,24,40,.06);--shadow: 0 2px 4px rgba(16,24,40,.05), 0 8px 20px -6px rgba(16,24,40,.1);--shadow-lg: 0 24px 48px -12px rgba(16,24,40,.22), 0 4px 12px rgba(16,24,40,.06);--shadow-brand: 0 6px 18px -4px rgba(var(--brand-rgb), .45);--ring: 0 0 0 4px rgba(var(--brand-rgb), .18);--input-bg: #fbfcff;--blur-glass: none;--blur-sidebar: none;--blur-header: blur(24px) saturate(200%)}[data-theme=dark]{--brand-rgb: 114, 149, 255;--brand: #7295ff;--brand-strong: #a07cff;--brand-soft: rgba(var(--brand-rgb), .14);--brand-grad: linear-gradient(135deg, #5409DA 0%, #4E71FF 100%);--success-soft: rgba(22,163,74,.15);--warning-soft: rgba(217,119,6,.15);--danger-soft: rgba(220,38,38,.15);--info-soft: rgba(2,132,199,.15);--bg-base: #080b17;--bg: var(--bg-base);--bg-wash: radial-gradient(1100px 520px at 100% -10%, rgba(var(--brand-rgb), .12), transparent 60%), radial-gradient(900px 480px at -10% 0%, rgba(160, 124, 255, .07), transparent 55%);--surface: #131a2f;--surface-2: #0f1527;--surface-opaque: #131a2f;--glass-border: #232c47;--glass-shadow: 0 1px 2px rgba(0,0,0,.4), 0 6px 18px -6px rgba(0,0,0,.45);--hover-shadow: 0 2px 6px rgba(0,0,0,.4), 0 14px 32px -10px rgba(var(--brand-rgb), .35);--header-glass-bg: linear-gradient(100deg, #070b1d 0%, #0d1638 55%, rgba(var(--brand-rgb), .4) 135%), #070b1d;--header-glass-border: rgba(255, 255, 255, .07);--header-text: #f1f5f9;--side-glass-bg: #0d1120;--side-glass-border: #242c44;--side-text: rgba(241, 245, 249, .88);--side-text-muted: rgba(148, 163, 184, .65);--side-active: rgba(var(--brand-rgb), .2);--side-active-text: #7295ff;--border: #242c44;--text: #f1f5f9;--text-muted: #94a3b8;--text-faint: #8b96ab;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 2px 4px rgba(0,0,0,.4), 0 8px 20px -6px rgba(0,0,0,.5);--shadow-lg: 0 24px 48px -12px rgba(0,0,0,.7);--input-bg: #0f1527}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--brand: #7295ff;--brand-strong: #a07cff;--brand-soft: rgba(114, 149, 255, .14);--brand-grad: linear-gradient(135deg, #5409DA 0%, #4E71FF 100%);--success-soft: rgba(22,163,74,.15);--warning-soft: rgba(217,119,6,.15);--danger-soft: rgba(220,38,38,.15);--info-soft: rgba(2,132,199,.15);--bg-base: #080b17;--bg: var(--bg-base);--bg-wash: radial-gradient(1100px 520px at 100% -10%, rgba(114, 149, 255, .12), transparent 60%), radial-gradient(900px 480px at -10% 0%, rgba(160, 124, 255, .07), transparent 55%);--surface: #131a2f;--surface-2: #0f1527;--surface-opaque: #131a2f;--glass-border: #232c47;--glass-shadow: 0 1px 2px rgba(0,0,0,.4), 0 6px 18px -6px rgba(0,0,0,.45);--hover-shadow: 0 2px 6px rgba(0,0,0,.4), 0 14px 32px -10px rgba(114, 149, 255, .35);--header-glass-bg: linear-gradient(100deg, #070b1d 0%, #0d1638 55%, rgba(var(--brand-rgb), .4) 135%), #070b1d;--header-glass-border: rgba(255, 255, 255, .07);--header-text: #f1f5f9;--side-glass-bg: #0d1120;--side-glass-border: #242c44;--side-text: rgba(241, 245, 249, .88);--side-text-muted: rgba(148, 163, 184, .65);--side-active: rgba(var(--brand-rgb), .2);--side-active-text: #7295ff;--border: #242c44;--text: #f1f5f9;--text-muted: #94a3b8;--text-faint: #8b96ab;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow: 0 2px 4px rgba(0,0,0,.4), 0 8px 20px -6px rgba(0,0,0,.5);--shadow-lg: 0 24px 48px -12px rgba(0,0,0,.7);--input-bg: #0f1527}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}html,body{overflow-x:hidden}body{margin:0;font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-size:14px;background-color:var(--bg-base);background-image:var(--bg-wash);background-attachment:fixed}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.2;margin:0}p{margin:0}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}::selection{background:rgba(var(--brand-rgb),.2)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#7882a038;border-radius:999px}::-webkit-scrollbar-thumb:hover{background:#7882a066}.skip-link:focus{top:8px!important}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:var(--ring);border-color:var(--brand)!important}button{transition:transform .08s ease,filter .14s ease,background .14s ease,box-shadow .14s ease,opacity .14s ease}button:not(:disabled):hover{filter:brightness(1.06)}button:not(:disabled):active{transform:translateY(1px) scale(.99)}.btn-primary:not(:disabled):hover{box-shadow:0 10px 24px -6px rgba(var(--brand-rgb),.55)!important;transform:translateY(-1px)}.btn-secondary:not(:disabled):hover{border-color:rgba(var(--brand-rgb),.35)!important;color:var(--brand-strong)!important}button:disabled{opacity:.45;cursor:not-allowed!important}tbody tr{transition:background .12s ease}tbody tr:hover{background:rgba(var(--brand-rgb),.04)}tbody tr:last-child td{border-bottom:none!important}.glass{background:var(--surface);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}@media (max-width: 640px){.global-search{position:fixed!important;top:64px!important;left:12px!important;right:12px!important;width:auto!important}}.search-hit:hover,.search-hit:focus-visible{background:rgba(var(--brand-rgb),.07);outline:none}td .btn:not(.btn-sm){padding:6px 11px!important;font-size:12px!important;border-radius:8px!important}td{vertical-align:middle}.hero-banner .btn-secondary{background:#ffffff29!important;color:#fff!important;border-color:#ffffff4d!important;box-shadow:none!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hero-banner .btn-secondary:not(:disabled):hover{background:#ffffff42!important;color:#fff!important}.hero-banner .btn-primary{background:#fff!important;color:var(--brand-strong)!important;box-shadow:0 8px 20px -8px #00000059!important}@media (prefers-reduced-motion: reduce){.hero-banner *{animation:none!important}}.lift{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.lift:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow);border-color:rgba(var(--brand-rgb),.22)}.kpi-tile{animation:rise-in .35s cubic-bezier(.2,.7,.2,1) both}.kpi-tile:nth-child(2){animation-delay:.04s}.kpi-tile:nth-child(3){animation-delay:.08s}.kpi-tile:nth-child(4){animation-delay:.12s}.kpi-tile:nth-child(5){animation-delay:.16s}.kpi-tile:nth-child(6){animation-delay:.2s}@media (prefers-reduced-motion: reduce){.kpi-tile,.lift{animation:none;transition:none}.lift:hover{transform:none}}.nav-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;margin:2px 10px;text-decoration:none;font-size:13.5px;font-weight:500;line-height:1.4;color:var(--side-text);background:transparent;border:1px solid transparent;transition:background .13s ease,color .13s ease,box-shadow .13s ease,border-color .13s ease;position:relative}.nav-row:hover{background:rgba(var(--brand-rgb),.08);border-color:rgba(var(--brand-rgb),.12);color:var(--side-active-text);text-decoration:none}.nav-row.active{background:var(--brand-fill);border-color:transparent;color:#fff;font-weight:600;box-shadow:var(--shadow-brand)}.nav-row.active:hover{color:#fff;filter:brightness(1.05)}.nav-row.active .nav-count{background:#ffffffeb!important;color:var(--brand-strong)!important}[data-theme=dark] .nav-row:hover{background:#ffffff0f;border-color:#ffffff14;color:#fff}[data-theme=dark] .nav-row.active{background:var(--brand-fill);color:#fff}.nav-row-collapsed{padding:8px;margin:1px 6px;justify-content:center}.board-card{transition:transform .12s ease,box-shadow .12s ease;cursor:pointer}.board-card:hover{transform:translateY(-2px);box-shadow:var(--hover-shadow)!important}.row-actions{opacity:0;transition:opacity .12s ease}tbody tr:hover .row-actions{opacity:1}@media (max-width: 900px){.login-aside{display:none!important}.login-mobile-logo{display:inline-flex!important}}.mobile-menu-btn{display:none!important}@media (max-width: 768px){.sidebar-desktop{display:none!important}.sidebar-mobile{display:flex!important}.mobile-menu-btn{display:grid!important}.brand-label,.user-name{display:none}}@media (min-width: 769px){.sidebar-mobile{display:none!important}}@keyframes pop-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:none}}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes float-blob{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-14px,10px) scale(1.06)}}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}
