:root{--bg: #080a0d;--bg-2: #0e1116;--panel: #111722;--panel-solid: #111722;--panel-hover: #162030;--panel-active: rgba(194, 104, 67, .14);--line: rgba(255, 255, 255, .11);--line-focus: rgba(224, 122, 95, .35);--text: #f3f4f6;--muted: #9ca3af;--muted-dark: #6b7280;--accent: #c96f43;--accent-rgb: 201, 111, 67;--accent-2: #7fb4b6;--accent-2-rgb: 127, 180, 182;--good: #52b788;--good-rgb: 82, 183, 136;--warn: #f7b267;--warn-rgb: 247, 178, 103;--bad: #f25c54;--bad-rgb: 242, 92, 84;--radius-sm: 2px;--radius: 3px;--radius-lg: 4px;--shadow: none;--shadow-glow: none;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,sans-serif;color-scheme:dark}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.1) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}::-webkit-scrollbar-thumb:hover{background:#ffffff40}body{margin:0;background-color:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.2px}button,input,select{font-family:inherit;color:inherit}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh;transition:grid-template-columns .16s ease}.app.sidebar-collapsed{grid-template-columns:64px 1fr}.sidebar{background:#0c1017;border-right:1px solid var(--line);padding:24px 20px 18px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;z-index:100;transition:padding .16s ease}.sidebar-toggle{position:absolute;top:22px;right:-13px;width:26px;height:26px;display:grid;place-items:center;background:#101722;border:1px solid var(--line);border-radius:2px;color:var(--muted);cursor:pointer;z-index:2}.sidebar-toggle:hover{color:var(--text);border-color:rgba(var(--accent-rgb),.5)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px;min-height:36px}.brand .mark{width:36px;height:36px;border-radius:2px;background:#b95e36;display:grid;place-items:center;font-weight:800;font-size:18px;color:#fff;box-shadow:none;border:1px solid rgba(255,255,255,.1);text-shadow:0 1px 2px rgba(0,0,0,.2)}.brand h1{font-size:18px;font-weight:700;color:var(--text)}.brand small{color:var(--muted);font-size:11px;letter-spacing:1px;text-transform:uppercase}.brand-text,.nav-label,.sidebar-footer,.logout-btn span{transition:opacity .12s ease}.nav{display:flex;flex-direction:column;gap:6px;margin-top:10px}.nav button{all:unset;cursor:pointer;padding:10px 14px;border-radius:2px;color:var(--muted);font-size:14px;font-weight:500;display:flex;gap:12px;align-items:center;min-height:38px;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent}.nav button:hover{background:var(--panel-hover);color:var(--text)}.nav button.active{background:var(--panel-active);color:var(--accent);border-color:#e2876c26;box-shadow:inset 3px 0 0 var(--accent);font-weight:600}.sidebar .footnote{color:var(--muted-dark);font-size:10px;line-height:1.4;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.user-card{border:1px solid var(--line);background:#ffffff08;padding:10px 12px;border-radius:2px;display:grid;gap:3px}.user-card span{color:var(--text);font-size:12px;font-weight:700}.user-card b{color:var(--accent);font-size:10px;text-transform:uppercase;letter-spacing:.8px}.app.sidebar-collapsed .sidebar{padding-left:12px;padding-right:12px}.app.sidebar-collapsed .brand{justify-content:center}.app.sidebar-collapsed .brand-text,.app.sidebar-collapsed .nav-label,.app.sidebar-collapsed .sidebar-footer{opacity:0;pointer-events:none;width:0;height:0;overflow:hidden}.app.sidebar-collapsed .nav{align-items:center}.app.sidebar-collapsed .nav button{width:40px;height:40px;padding:0;justify-content:center;gap:0}.app.sidebar-collapsed .nav button.active{box-shadow:inset 3px 0 0 var(--accent)}.lang-switcher{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;background:#0000004d;padding:4px;border-radius:2px;border:1px solid var(--line);margin-top:12px}.lang-btn{background:transparent;border:none;color:var(--muted);font-size:10px;font-weight:600;padding:6px 0;cursor:pointer;border-radius:1px;transition:all .15s ease;text-align:center}.lang-btn:hover{color:var(--text);background:#ffffff0d}.lang-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 6px #e2876c4d}.main{padding:30px 40px 60px;max-width:1440px;margin:0 auto;width:100%}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line)}.page-head h2{font-size:24px;font-weight:700;color:var(--text);margin-bottom:4px}.page-head .sub{color:var(--muted);font-size:13px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:28px;min-height:44px}.status-cluster{display:flex;align-items:center;gap:12px;min-width:0}.status-pill{display:inline-flex;align-items:center;gap:8px;height:34px;font-size:12px;font-weight:700;color:var(--muted);background:#ffffff08;border:1px solid var(--line);border-radius:2px;padding:0 14px;white-space:nowrap}.pulse-dot{width:7px;height:7px;border-radius:1px;background-color:var(--good);box-shadow:0 0 #52b788b3;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #52b788b3}70%{transform:scale(1);box-shadow:0 0 0 6px #52b78800}to{transform:scale(.95);box-shadow:0 0 #52b78800}}.demo-badge{font-size:11px;font-weight:700;color:var(--accent);background:#e2876c1a;border:1px solid rgba(226,135,108,.2);border-radius:2px;padding:4px 12px;letter-spacing:.5px;text-transform:uppercase}.toolbar-filters{display:flex;gap:16px;align-items:center;background:#0d111766;border:1px solid var(--line);padding:8px 12px;border-radius:2px;margin:0}.filter-control{display:flex;align-items:center;gap:8px}.toolbar-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.toolbar-select{background:#ffffff0a;border:1px solid var(--line);color:var(--text);height:30px;min-width:150px;font-size:13px;font-weight:600;padding:0 10px;border-radius:2px;cursor:pointer;outline:none;transition:all .15s ease}.toolbar-select:hover{background:#ffffff14;border-color:#ffffff26}.toolbar-select:focus{border-color:var(--accent)}.grid{display:grid;gap:20px}.cols-4{grid-template-columns:repeat(4,1fr)}.cols-3{grid-template-columns:repeat(3,1fr)}.cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 1200px){.cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 800px){.cols-4,.cols-3,.cols-2{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:relative;overflow:hidden}.card:before{display:none}.card:hover{border-color:rgba(var(--accent-rgb),.28)}.card h3{font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.8px;margin-bottom:18px;display:flex;align-items:center;justify-content:space-between}.kpi{display:flex;flex-direction:column;justify-content:space-between;min-height:120px}.kpi .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px;font-weight:600}.kpi .value{font-size:28px;font-weight:700;margin-top:10px;letter-spacing:-.6px;color:var(--text)}.kpi .delta{font-size:12px;margin-top:10px;font-weight:600;display:inline-flex;align-items:center;gap:4px}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.delta.flat{color:var(--muted)}.table-container{overflow-x:auto;width:100%}table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}th{text-align:left;color:var(--muted);font-weight:600;padding:12px 14px;border-bottom:2px solid var(--line);font-size:11px;text-transform:uppercase;letter-spacing:.5px;background:#0000001a}td{padding:14px;border-bottom:1px solid var(--line);transition:background .15s ease;vertical-align:middle}tr:hover td{background:#ffffff05}tr:last-child td{border-bottom:none}.tag{font-size:10px;font-weight:700;padding:3px 8px;border-radius:2px;text-transform:uppercase;letter-spacing:.5px;display:inline-block;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--muted)}.tag.won,.tag.ok{background:#52b7881f;border-color:#52b78840;color:var(--good)}.tag.pipeline,.tag.running{background:#f7b2671f;border-color:#f7b26740;color:var(--warn)}.tag.lost,.tag.error{background:#f25c541f;border-color:#f25c5440;color:var(--bad)}.heat{display:grid;gap:4px;font-size:11px;overflow-x:auto;padding:10px 0}.heat .cell{padding:10px 8px;border-radius:1px;text-align:center;color:#05070a;font-weight:700;transition:transform .15s ease,filter .15s ease;cursor:help;box-shadow:inset 0 1px #ffffff26}.heat .cell:hover{filter:brightness(1.15)}.heat .rowlabel{font-weight:600;color:var(--text);display:flex;align-items:center;font-size:12px}.heat .collabel{color:var(--muted);display:flex;align-items:flex-end;justify-content:center;font-weight:600;padding-bottom:8px;text-align:center;min-height:48px;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.chip{font-size:11px;font-weight:500;padding:6px 12px;border-radius:2px;background:#ffffff08;border:1px solid var(--line);display:inline-flex;align-items:center;gap:6px;transition:all .2s ease}.chip:hover{border-color:#ffffff26;background:#ffffff0f}.muted{color:var(--muted)}.loading{color:var(--muted);padding:48px;text-align:center;font-weight:500;display:flex;align-items:center;justify-content:center;gap:10px}.barlabel{display:flex;justify-content:space-between;font-size:12px;font-weight:500;margin-bottom:6px}.bar{height:8px;border-radius:1px;background:#0000004d;border:1px solid var(--line);overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent);border-radius:1px;transition:width .8s cubic-bezier(.4,0,.2,1)}.spinner{width:16px;height:16px;border:2px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:1px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.filter-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#07090e99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);animation:fade-in .2s ease}.login-page{min-height:100vh;display:grid;grid-template-columns:minmax(360px,460px) 1fr;background:var(--bg)}.login-panel{border-right:1px solid var(--line);background:#0c1017;padding:56px;display:flex;flex-direction:column;justify-content:center}.login-brand{margin-bottom:36px}.login-panel h2{font-size:26px;margin-bottom:8px}.login-panel p{color:var(--muted);margin:0 0 28px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form label{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:700}.login-form input{height:42px;background:#090c12;border:1px solid var(--line);border-radius:2px;padding:0 12px;font-size:14px;outline:none}.login-form input:focus{border-color:var(--accent)}.login-form button,.logout-btn{height:38px;border:1px solid rgba(var(--accent-rgb),.45);border-radius:2px;background:var(--accent);color:#fff;font-weight:800;cursor:pointer}.login-form button:disabled{opacity:.6;cursor:wait}.login-error{border:1px solid rgba(var(--bad-rgb),.45);color:var(--bad);background:rgba(var(--bad-rgb),.08);padding:9px 10px;font-size:12px;border-radius:2px}.login-footer{margin-top:18px;color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:12px;align-items:center}.login-lang{min-width:96px;margin-top:0}.login-proof{padding:56px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(255,255,255,.03)}.login-proof .eyebrow{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:1px}.login-proof h3{font-size:32px;max-width:720px;margin-top:10px}.login-proof ul{margin-top:28px;padding-left:0;list-style:none;display:grid;gap:10px;color:var(--muted)}.login-proof li{border-left:2px solid var(--accent);padding-left:12px}.logout-btn{margin-top:12px;width:100%;background:transparent;color:var(--muted);border-color:var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px}.logout-btn:hover{color:var(--text);border-color:rgba(var(--accent-rgb),.45)}.source-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.source-strip span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:#0d121a;color:var(--muted);padding:6px 9px;border-radius:2px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.metric-card{border:1px solid var(--line);background:var(--panel);padding:12px;border-radius:2px;display:grid;gap:4px}.metric-card span,.metric-card small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.metric-card strong{font-size:24px;line-height:1}.metric-card.good strong{color:var(--good)}.metric-card.warn strong{color:var(--warn)}.metric-card.bad strong{color:var(--bad)}.metric-card.neutral strong{color:var(--accent-2)}.status-square{width:8px;height:8px;display:inline-block;margin-right:6px;border-radius:1px}.chips.compact{margin-top:8px;gap:4px}.coverage-grid{display:grid;gap:10px}.coverage-row{display:grid;grid-template-columns:1fr 44px;gap:8px 12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.coverage-row:last-child{border-bottom:0;padding-bottom:0}.coverage-row div:first-child{display:grid;gap:2px}.coverage-row b{font-size:11px;color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.coverage-row span{color:var(--text);font-size:13px}.coverage-row strong{text-align:right;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.bar.thin{grid-column:1 / -1;height:5px}.action-list{display:grid;gap:10px}.action-row{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:start;border-bottom:1px solid var(--line);padding-bottom:10px}.action-row:last-child{border-bottom:0;padding-bottom:0}.action-row div{display:grid;gap:3px}.action-row small{color:var(--muted);line-height:1.4}.ai-suggest-btn{display:flex;align-items:center;gap:6px}@media (max-width: 960px){.app,.login-page{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar-toggle{display:none}.topbar{align-items:stretch;flex-direction:column}.status-cluster,.toolbar-filters{width:100%;flex-wrap:wrap}.metric-strip{grid-template-columns:repeat(2,1fr)}.main{padding:20px}}
