:root{--bg-0: #050505;--bg-1: #0a0a0a;--bg-2: #111111;--bg-3: #1a1a1a;--bg-hover: #141414;--border-1: #1a1a1a;--border-2: #262626;--border-3: #333333;--text-1: #fafafa;--text-2: #a3a3a3;--text-3: #737373;--text-4: #525252;--text-5: #333333;--accent: #fafafa;--accent-hover: #e5e5e5;--green: #10b981;--green-bright: #34d399;--green-bg: rgba(16, 185, 129, .08);--green-border: rgba(16, 185, 129, .2);--amber: #f59e0b;--amber-bright: #fbbf24;--amber-bg: rgba(245, 158, 11, .08);--amber-border: rgba(245, 158, 11, .2);--red: #ef4444;--red-bright: #f87171;--red-bg: rgba(239, 68, 68, .08);--red-border: rgba(239, 68, 68, .25);--blue: #3b82f6;--blue-bright: #60a5fa;--blue-bg: rgba(59, 130, 246, .08);--blue-border: rgba(59, 130, 246, .2);--purple: #8b5cf6;--purple-bright: #a78bfa;--purple-bg: rgba(139, 92, 246, .08);--purple-border: rgba(139, 92, 246, .2);--r-sm: 4px;--r-md: 6px;--r-lg: 8px;--r-xl: 10px;--r-2xl: 14px;--font-sans: "Satoshi", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "SF Mono", Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);letter-spacing:-.011em;background:var(--bg-0);color:var(--text-1);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-3)}.mono{font-family:var(--font-mono);font-feature-settings:"ss01","tnum";letter-spacing:-.02em}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;background:#0a0a0ab3;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-right:1px solid var(--border-1);padding:20px 14px;flex-shrink:0;display:flex;flex-direction:column;position:relative;z-index:10}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:4px 8px 20px;border-bottom:1px solid var(--border-1);margin-bottom:16px}.sidebar-logo-mark{width:28px;height:28px;background:var(--text-1);border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--bg-0);font-size:14px;letter-spacing:-.03em}.sidebar-logo-name{font-size:14px;font-weight:700;letter-spacing:-.02em}.sidebar-section-label{font-size:10px;color:var(--text-4);letter-spacing:.08em;text-transform:uppercase;padding:12px 10px 8px;font-weight:500}.sidebar-nav{display:flex;flex-direction:column;gap:1px}.sidebar-nav a{display:flex;align-items:center;gap:10px;padding:7px 10px;color:var(--text-2);text-decoration:none;font-size:13px;border-radius:var(--r-md);transition:background .15s,color .15s;font-weight:500}.sidebar-nav a:hover,.sidebar-nav a.active{background:var(--bg-3);color:var(--text-1)}.sidebar-nav svg{width:15px;height:15px;flex-shrink:0;opacity:.8}.sidebar-footer{margin-top:auto;padding:12px 8px;border-top:1px solid var(--border-1);font-size:11px;color:var(--text-4)}.main{flex:1;overflow-y:auto;background:var(--bg-0)}.page{max-width:1600px;margin:0 auto;padding:28px 32px 64px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-1)}.page-title{font-size:22px;font-weight:700;letter-spacing:-.025em;margin:0}.page-subtitle{font-size:12px;color:var(--text-3);margin-top:3px}.page-actions{display:flex;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;font-family:var(--font-sans);background:var(--bg-1);color:var(--text-2);border:1px solid var(--border-2);border-radius:var(--r-md);cursor:pointer;transition:all .15s;letter-spacing:-.005em}.btn:hover{background:var(--bg-3);color:var(--text-1);border-color:var(--border-3)}.btn:active{transform:translateY(.5px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn svg{width:13px;height:13px}.btn-primary{background:var(--text-1);color:var(--bg-0);border-color:var(--text-1)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--bg-0)}.btn-danger{color:var(--red-bright);border-color:var(--red-border)}.btn-danger:hover{background:var(--red-bg);color:var(--red-bright)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--bg-3)}.btn-sm{padding:4px 8px;font-size:11px}.input,.select,.textarea{padding:7px 10px;font-size:12px;font-family:var(--font-sans);background:var(--bg-1);color:var(--text-1);border:1px solid var(--border-2);border-radius:var(--r-md);transition:border-color .15s;width:100%;outline:none}.input:focus,.select:focus,.textarea:focus{border-color:var(--border-3);background:var(--bg-2)}.input::placeholder{color:var(--text-4)}.textarea{font-family:inherit;line-height:1.5;resize:vertical}.field-label{display:block;font-size:11px;color:var(--text-3);margin-bottom:5px;font-weight:500;letter-spacing:-.005em}.surface{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl)}.surface-header{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border-1)}.surface-title{font-size:13px;font-weight:600;letter-spacing:-.01em}.badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;padding:2px 7px;border-radius:var(--r-sm);letter-spacing:-.005em;border:1px solid transparent}.badge-green{background:var(--green-bg);color:var(--green-bright);border-color:var(--green-border)}.badge-amber{background:var(--amber-bg);color:var(--amber-bright);border-color:var(--amber-border)}.badge-red{background:var(--red-bg);color:var(--red-bright);border-color:var(--red-border)}.badge-blue{background:var(--blue-bg);color:var(--blue-bright);border-color:var(--blue-border)}.badge-purple{background:var(--purple-bg);color:var(--purple-bright);border-color:var(--purple-border)}.badge-gray{background:var(--bg-3);color:var(--text-2);border-color:var(--border-2)}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;flex-shrink:0}.dot-green{background:var(--green);box-shadow:0 0 8px #10b98199}.dot-amber{background:var(--amber);box-shadow:0 0 8px #f59e0b80}.dot-red{background:var(--red);box-shadow:0 0 10px #ef4444b3}.dot-gray{background:var(--text-4)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}@media(max-width:1000px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.kpi-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);padding:16px 18px;position:relative;overflow:hidden}.kpi-label{font-size:11px;color:var(--text-3);margin-bottom:6px;font-weight:500;letter-spacing:-.005em}.kpi-value{font-size:28px;font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--text-1);font-feature-settings:"tnum"}.kpi-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;margin-top:6px;font-weight:500}.kpi-trend-up{color:var(--green-bright)}.kpi-trend-down{color:var(--red-bright)}.kpi-trend-flat{color:var(--text-3)}.bm-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-lg);padding:12px 14px;cursor:pointer;transition:all .18s ease;position:relative;overflow:hidden}.bm-card:hover{border-color:var(--border-3);transform:translateY(-1px)}.bm-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-line, var(--text-4)),transparent);opacity:0;transition:opacity .2s}.bm-card.status-green{--accent-line: var(--green)}.bm-card.status-amber{--accent-line: var(--amber)}.bm-card.status-red{--accent-line: var(--red)}.bm-card:hover:before{opacity:.5}.bm-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.bm-card-client{font-size:13px;font-weight:500;letter-spacing:-.015em}.bm-card-bmid{color:var(--text-4);font-size:10px;margin-top:2px}.bm-card-tier-row{display:flex;align-items:baseline;gap:8px;margin-bottom:8px}.bm-card-tier{font-size:24px;font-weight:700;letter-spacing:-.04em;line-height:1;font-family:var(--font-mono);font-feature-settings:"tnum"}.bm-card-tier-trend{font-size:10px;display:flex;align-items:center;gap:2px;font-weight:500}.bm-card-spark{margin-bottom:10px}.bm-card-tags{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:10px}.bm-card-meta{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border-1);font-size:10px;color:var(--text-3)}.bm-card-meta-sep{color:var(--text-5)}.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:16px;min-height:calc(100vh - 180px)}.board-column{min-width:280px;max-width:280px;background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);padding:12px;display:flex;flex-direction:column;gap:8px;flex-shrink:0}.board-column.drop-target{border-color:var(--border-3);background:var(--bg-2)}.board-column-header{display:flex;justify-content:space-between;align-items:center;padding:4px 6px 10px;border-bottom:1px solid var(--border-1);margin-bottom:4px}.board-column-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600}.board-column-dot{width:8px;height:8px;border-radius:50%}.board-column-count{background:var(--bg-3);color:var(--text-2);padding:1px 7px;border-radius:10px;font-size:10px;font-weight:500;font-family:var(--font-mono)}.board-column-autorule{font-size:9px;color:var(--text-4);background:var(--bg-3);padding:3px 7px;border-radius:var(--r-sm);font-family:var(--font-mono);margin-bottom:6px;display:flex;align-items:center;gap:4px}.board-column-cards{display:flex;flex-direction:column;gap:8px;min-height:50px}.board-column-empty{color:var(--text-5);font-size:11px;text-align:center;padding:20px 0;font-style:italic}.table-wrapper{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);overflow:hidden}.table{width:100%;border-collapse:collapse;font-size:12px}.table thead{background:var(--bg-2);border-bottom:1px solid var(--border-1)}.table th{text-align:left;padding:10px 14px;font-size:10px;color:var(--text-3);font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}.table th:hover{color:var(--text-2)}.table td{padding:10px 14px;border-top:1px solid var(--border-1);color:var(--text-2);vertical-align:middle}.table tbody tr{transition:background .1s;cursor:pointer}.table tbody tr:hover{background:var(--bg-hover)}.table tbody tr.selected{background:var(--bg-3)}.table-filters{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border-1);background:var(--bg-1);align-items:center;flex-wrap:wrap}.table-filter-input{width:220px}.table-filter-count{margin-left:auto;font-size:11px;color:var(--text-3)}.chart-row{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:24px}@media(max-width:1000px){.chart-row{grid-template-columns:1fr}}.chart-card{background:var(--bg-1);border:1px solid var(--border-1);border-radius:var(--r-xl);padding:16px}.chart-card-title{font-size:12px;color:var(--text-2);margin-bottom:12px;font-weight:600}.timeline{display:flex;flex-direction:column}.timeline-row{display:grid;grid-template-columns:70px 1fr 2fr 120px;gap:10px;padding:10px 0;border-bottom:1px solid var(--border-1);font-size:12px;align-items:center}.timeline-row:last-child{border-bottom:none}.timeline-type{font-size:9px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;font-weight:600}.timeline-entity{color:var(--text-1);font-weight:500}.timeline-change{color:var(--text-2)}.timeline-change b{color:var(--text-1);font-weight:500}.timeline-time{color:var(--text-4);font-size:10px;text-align:right;font-family:var(--font-mono)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--r-2xl);padding:24px;width:460px;max-width:92vw;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080;animation:slideUp .2s ease-out}@keyframes slideUp{0%{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{font-size:16px;font-weight:700;letter-spacing:-.02em;margin:0 0 20px}.modal-field{margin-bottom:14px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border-1)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:90;animation:fadeIn .15s}.drawer{position:fixed;top:0;right:0;bottom:0;width:560px;max-width:92vw;background:#0a0a0af2;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-left:1px solid var(--border-2);z-index:91;overflow-y:auto;animation:slideIn .25s cubic-bezier(.16,1,.3,1)}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header{padding:20px 24px 16px;border-bottom:1px solid var(--border-1);position:sticky;top:0;background:#0a0a0af2;-webkit-backdrop-filter:blur(40px);backdrop-filter:blur(40px);z-index:2}.drawer-body{padding:20px 24px}.drawer-section{margin-bottom:24px}.drawer-section-title{font-size:10px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;font-weight:600;margin-bottom:10px}.login-screen{height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,rgba(59,130,246,.08),transparent 60%),radial-gradient(ellipse at bottom,rgba(139,92,246,.06),transparent 60%),var(--bg-0)}.login-card{background:var(--bg-1);border:1px solid var(--border-2);border-radius:var(--r-2xl);padding:32px;width:380px;box-shadow:0 20px 60px #00000080}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-1);margin-bottom:20px}.tab{padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-3);cursor:pointer;font-size:12px;font-weight:500;font-family:var(--font-sans);letter-spacing:-.005em;transition:color .15s,border-color .15s;margin-bottom:-1px}.tab:hover{color:var(--text-2)}.tab.active{color:var(--text-1);border-bottom-color:var(--text-1)}.hstack{display:flex;align-items:center;gap:8px}.vstack{display:flex;flex-direction:column;gap:8px}.spacer{flex:1}.text-xs{font-size:11px}.text-sm{font-size:12px}.text-muted{color:var(--text-3)}.text-dim{color:var(--text-4)}.pulse-sync{animation:pulseSync 1.5s ease-in-out infinite}@keyframes pulseSync{0%,to{opacity:1}50%{opacity:.6}}.empty-state{padding:60px 20px;text-align:center;color:var(--text-4);font-size:13px}.code-inline{font-family:var(--font-mono);font-size:11px;background:var(--bg-3);color:var(--text-2);padding:1px 6px;border-radius:3px}.recharts-default-tooltip{background:var(--bg-2)!important;border:1px solid var(--border-2)!important;border-radius:var(--r-md)!important;color:var(--text-1)!important}.recharts-tooltip-label{color:var(--text-2)!important}.recharts-cartesian-axis-tick-value{fill:var(--text-4)!important;font-size:10px!important}.switch{position:relative;display:inline-block;width:36px;height:20px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--bg-3);border:1px solid var(--border-2);border-radius:20px;transition:.2s}.switch-slider:before{content:"";position:absolute;height:14px;width:14px;left:2px;top:2px;background:var(--text-3);border-radius:50%;transition:.2s}.switch input:checked+.switch-slider{background:var(--green);border-color:var(--green)}.switch input:checked+.switch-slider:before{transform:translate(16px);background:#fff}
