:root{--bg:#0f1115;--bg-raised:#171a21;--bg-hover:#1e222b;--bg-input:#10131a;--border:#262b36;--border-strong:#364052;--text:#e6e9ef;--text-dim:#9aa3b2;--text-faint:#6b7280;--accent:#7c9cf5;--accent-dim:#2d3a5c;--success:#4ade80;--success-bg:#12281c;--warning:#fbbf24;--warning-bg:#2b2110;--error:#f87171;--error-bg:#2c1516;--muted:#8b93a1;--muted-bg:#1c2027;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius:6px;--sidebar-width:208px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:600}h1{font-size:20px}h2{font-size:15px}h3{font-size:13px}.app{grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg-raised);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{border-bottom:1px solid var(--border);padding:18px 18px 14px}.sidebar-brand strong{letter-spacing:.02em;font-size:14px;display:block}.sidebar-brand span{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:11px;display:block}.sidebar-nav{flex:1;padding:10px 8px;overflow-y:auto}.nav-link{border-radius:var(--radius);color:var(--text-dim);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-size:13px;display:flex}.nav-link:hover{background:var(--bg-hover);color:var(--text);text-decoration:none}.nav-link.active{background:var(--accent-dim);color:var(--text)}.nav-count{font-family:var(--mono);color:var(--text-faint);font-size:11px}.nav-count.alert{color:var(--error)}.sidebar-foot{border-top:1px solid var(--border);color:var(--text-faint);padding:12px;font-size:12px}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--bg);z-index:5;justify-content:space-between;align-items:center;gap:16px;padding:14px 22px;display:flex;position:sticky;top:0}.topbar-right{color:var(--text-faint);align-items:center;gap:12px;font-size:12px;display:flex}.content{width:100%;max-width:1400px;padding:22px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-head p{color:var(--text-dim);max-width:70ch;margin:4px 0 0;font-size:13px}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius)}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.card-body{padding:14px}.card-body.flush{padding:0}.grid{gap:14px;display:grid}.grid.cols-2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:11px}.stat-value{font-family:var(--mono);margin-top:4px;font-size:24px;line-height:1.2}.stat-value.success{color:var(--success)}.stat-value.warning{color:var(--warning)}.stat-value.error{color:var(--error)}.stat-note{color:var(--text-faint);margin-top:2px;font-size:11px}a.stat:hover{border-color:var(--border-strong);text-decoration:none}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 7px;font-size:11px;font-weight:500;display:inline-flex}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.error{background:var(--error-bg);color:var(--error)}.badge.muted{background:var(--muted-bg);color:var(--muted)}.badge.accent{background:var(--accent-dim);color:var(--accent)}.dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot.success{background:var(--success)}.dot.warning{background:var(--warning)}.dot.error{background:var(--error)}.dot.muted{background:var(--muted)}.dot.live{background:var(--success);animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:9px 14px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:top;padding:9px 14px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:var(--bg-hover)}td.num,th.num{font-family:var(--mono);text-align:right}td.nowrap{white-space:nowrap}.table-scroll{overflow-x:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;max-width:42ch;display:block;overflow:hidden}.event-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:12px;padding:10px 14px;display:grid}.event-row:last-child{border-bottom:none}.event-row:hover{background:var(--bg-hover)}.event-main{min-width:0}.event-title{align-items:center;gap:7px;font-size:13px;display:flex}.event-summary{color:var(--text-dim);overflow-wrap:anywhere;margin-top:2px;font-size:12px}.event-meta{text-align:right;color:var(--text-faint);white-space:nowrap;font-size:11px;font-family:var(--mono)}input[type=text],input[type=search],input[type=email],input[type=password],select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:6px 9px;font-family:inherit;font-size:13px}input:focus,select:focus{border-color:var(--accent);outline:none}label.field{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);flex-direction:column;gap:4px;font-size:11px;display:flex}.filters{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:14px;display:flex}button{background:var(--bg-hover);border:1px solid var(--border);color:var(--text);border-radius:var(--radius);cursor:pointer;padding:6px 12px;font-family:inherit;font-size:13px}button:hover:not(:disabled){border-color:var(--border-strong)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:#0d1017;font-weight:600}button.ghost{background:0 0}button.small{padding:3px 8px;font-size:12px}button.danger{background:var(--error-bg);border-color:var(--error);color:var(--error);font-weight:600}.switch-confirm{z-index:20;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--bg-raised);flex-direction:column;gap:10px;width:340px;padding:14px;display:flex;position:absolute;top:46px;right:22px;box-shadow:0 12px 32px #0000008c}.switch-confirm-head{flex-direction:column;gap:5px;display:flex}.switch-confirm-head .small{line-height:1.45}.switch-reason{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);padding:6px 9px;font-family:inherit;font-size:13px}.switch-reason:focus{border-color:var(--accent);outline:none}.switch-confirm-actions{justify-content:flex-end;gap:8px;display:flex}.switch-note{font-size:12px}.switch-note.error{color:var(--error)}.banner{border:1px solid var(--border);border-radius:var(--radius);border-left-width:3px;margin-bottom:14px;padding:10px 14px;font-size:13px}.banner strong{margin-bottom:2px;display:block}.banner.warning{border-left-color:var(--warning);background:var(--warning-bg)}.banner.error{border-left-color:var(--error);background:var(--error-bg)}.banner.info{border-left-color:var(--accent);background:var(--muted-bg)}.banner p{color:var(--text-dim);margin:0}.empty{text-align:center;color:var(--text-faint);padding:28px 14px;font-size:13px}.skeleton{background:linear-gradient(90deg, var(--bg-hover) 25%, var(--border) 50%, var(--bg-hover) 75%);background-size:200% 100%;border-radius:3px;height:13px;animation:1.4s infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mono{font-family:var(--mono)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.small{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spread{justify-content:space-between;align-items:center;gap:12px;display:flex}.stack{flex-direction:column;gap:14px;display:flex}pre.json{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);font-family:var(--mono);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:11.5px;overflow-x:auto}.kv{grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 16px;font-size:13px;display:grid}.kv dt{color:var(--text-faint);font-size:12px}.kv dd{overflow-wrap:anywhere;margin:0}.chart{align-items:flex-end;gap:3px;height:110px;display:flex}.chart-col{flex-direction:column;flex:1;justify-content:flex-end;gap:1px;min-width:0;display:flex;position:relative}.chart-bar{border-radius:1px;min-height:1px}.chart-bar.pushed{background:var(--accent)}.chart-bar.media{background:#5b7fd4}.chart-bar.inventory{background:#3b5a9a}.chart-bar.sold{background:var(--success)}.chart-bar.failed{background:var(--error)}.chart-axis{gap:3px;margin-top:6px;display:flex}.chart-axis span{text-align:center;color:var(--text-faint);white-space:nowrap;flex:1;font-size:9px;overflow:hidden}.legend{color:var(--text-faint);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:2px;width:8px;height:8px;display:inline-block}.pagination{border-top:1px solid var(--border);color:var(--text-faint);justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:12px;display:flex}.login-wrap{place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;width:100%;max-width:340px;padding:26px}.login-card h1{margin-bottom:4px;font-size:17px}.login-card form{flex-direction:column;gap:12px;margin-top:20px;display:flex}.login-card input{padding:9px 11px}@media (width<=760px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:static}.sidebar-nav{padding:8px;display:flex;overflow-x:auto}.nav-link{white-space:nowrap}.content{padding:14px}}
