:root{--bg-main: #0e0d0b;--bg-panel: #161412;--bg-panel-soft: #1c1916;--bg-elevated: #24201b;--text-main: #ebe5d8;--text-muted: #9c9280;--text-dim: #675f51;--border-soft: rgba(226, 210, 175, .09);--border-strong: rgba(226, 210, 175, .18);--accent-brand: #c8a24a;--brand-rgb: 200, 162, 74;--on-brand: #191510;--accent-blue: #5f9edb;--blue-rgb: 95, 158, 219;--accent-green: #58b26b;--green-rgb: 88, 178, 107;--accent-red: #cf4f52;--red-rgb: 207, 79, 82;--accent-amber: #d9a03f;--amber-rgb: 217, 160, 63;--accent-purple: #9b82d0;--purple-rgb: 155, 130, 208;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--transition-fast: .14s ease;--transition-med: .22s ease;--sidebar-w: 232px;--sidebar-w-collapsed: 64px;--topbar-h: 52px;--content-max-w: 1480px;--bottom-nav-h: 46px;--bottom-nav-inset: min(env(safe-area-inset-bottom, 0px), 10px);--bottom-nav-total: calc(var(--bottom-nav-h) + var(--bottom-nav-inset));--tap-min: 44px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--z-topbar: 20;--z-sidebar: 30;--z-drawer-scrim: 25;--z-sticky-th: 5;--z-banner: 10;--z-bottom-nav: 22;--z-toast: 40;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-display: Georgia, "Times New Roman", serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-main);color:var(--text-main);font:14px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-weight:650;line-height:1.2}a{color:var(--accent-brand);text-decoration:none}a:hover{text-decoration:underline}.muted{color:var(--text-muted)}.dim{color:var(--text-dim)}.error{color:var(--accent-red)}.num{font-variant-numeric:tabular-nums}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-sm);border:2px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}@keyframes criticalPulse{0%,to{box-shadow:0 0 rgba(var(--red-rgb),0)}50%{box-shadow:0 0 36px rgba(var(--red-rgb),.45)}}.is-critical{animation:criticalPulse 1.6s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media (max-width: 880px){body{overflow-x:hidden}input,select,textarea{font-size:16px}*{-webkit-tap-highlight-color:transparent}}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100vh;transition:grid-template-columns var(--transition-med)}.app-shell.is-collapsed{grid-template-columns:var(--sidebar-w-collapsed) 1fr}.sidebar{position:sticky;top:0;align-self:start;height:100vh;z-index:var(--z-sidebar);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-panel);border-right:1px solid var(--border-soft);overflow:hidden}.sidebar-brand{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-4);min-height:var(--topbar-h)}.sidebar-brand .brand-mark{flex:0 0 auto;width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-brand);color:var(--on-brand);font-family:var(--font-display);font-weight:700}.sidebar-brand .brand-name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:.03em;white-space:nowrap}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:var(--space-3);padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.nav-item .nav-icon{flex:0 0 auto;width:20px;height:20px;display:grid;place-items:center}.nav-item .nav-label{flex:1 1 auto;overflow:hidden}.nav-item:hover{background:var(--bg-panel-soft);color:var(--text-main)}.nav-item.is-active{background:rgba(var(--brand-rgb),.1);color:var(--text-main);box-shadow:inset 2px 0 0 var(--accent-brand)}.nav-item.is-disabled{opacity:.45;cursor:default;pointer-events:none}.nav-item .nav-soon{margin-left:auto;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:1px 6px}.sidebar-foot{margin-top:auto}.sidebar-collapse{all:unset;display:flex;align-items:center;gap:var(--space-3);width:100%;box-sizing:border-box;padding:10px var(--space-3);border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer}.sidebar-collapse:hover{background:var(--bg-panel-soft);color:var(--text-main)}.sidebar-collapse .nav-icon{transition:transform var(--transition-med)}.app-shell.is-collapsed .sidebar-collapse .nav-icon{transform:rotate(180deg)}.app-shell.is-collapsed .brand-name,.app-shell.is-collapsed .nav-label,.app-shell.is-collapsed .nav-soon,.app-shell.is-collapsed .sidebar-collapse .nav-label{opacity:0;width:0}.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .sidebar-collapse,.app-shell.is-collapsed .sidebar-brand{justify-content:center;gap:0}.app-main{display:flex;flex-direction:column;min-width:0}.topbar{position:sticky;top:0;z-index:var(--z-topbar);display:flex;align-items:center;gap:var(--space-3);height:var(--topbar-h);padding:0 var(--space-5);background:var(--bg-main);border-bottom:1px solid var(--border-soft)}.topbar-title{font-size:15px;font-weight:650}.topbar-status{margin-left:auto;display:flex;align-items:center;gap:var(--space-4)}.content{flex:1 1 auto;min-width:0;padding:var(--space-5);max-width:var(--content-max-w);width:100%;margin-inline:auto}.app-scrim{display:none}@media (max-width: 880px){.app-shell,.app-shell.is-collapsed{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-w);transform:translate(-100%);transition:transform var(--transition-med);box-shadow:0 0 60px #0009;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}.app-shell.is-drawer-open .sidebar{transform:none}.app-shell.is-collapsed .brand-name,.app-shell.is-collapsed .nav-label,.app-shell.is-collapsed .nav-soon{opacity:1;width:auto}.app-shell.is-collapsed .nav-item,.app-shell.is-collapsed .sidebar-brand{justify-content:flex-start;gap:var(--space-3)}.sidebar-foot{display:none}.nav-item{min-height:var(--tap-min)}.app-shell.is-drawer-open .app-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-drawer-scrim);background:#0000008c}.topbar{padding:0 var(--space-4);gap:var(--space-2)}.topbar-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.topbar-status{gap:var(--space-3)}.content{padding:var(--space-4);padding-bottom:calc(var(--bottom-nav-total) + var(--space-5))}}.bottom-nav{display:none}@media (max-width: 880px){.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-bottom-nav);display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--bg-panel);border-top:1px solid var(--border-soft);padding-bottom:var(--bottom-nav-inset)}.bottom-tab{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--bottom-nav-h);color:var(--text-dim);cursor:pointer;text-decoration:none;transition:color var(--transition-fast)}.bottom-tab:hover{text-decoration:none}.bottom-tab-icon{display:grid;place-items:center;width:19px;height:19px}.bottom-tab-icon svg{width:19px;height:19px}.bottom-tab-label{font-size:10px;line-height:1;letter-spacing:.02em}.bottom-tab.is-active,.bottom-tab.is-active .bottom-tab-icon{color:var(--accent-brand)}}.panel{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius-lg)}.panel.is-flush{overflow:visible}.panel-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-soft)}.panel-title{font-size:14px;font-weight:650}.panel-subtitle{color:var(--text-muted);font-size:12px}.panel-header .panel-actions{margin-left:auto;display:flex;align-items:center;gap:var(--space-2)}.panel-body{padding:var(--space-5)}.collapsible-header{border-bottom:none}.collapsible:has(.collapsible-body) .collapsible-header{border-bottom:1px solid var(--border-soft)}.collapsible-toggle{all:unset;display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;cursor:pointer;color:var(--text-muted)}.collapsible-toggle:hover{color:var(--text-main)}.collapsible-toggle:focus-visible{outline:2px solid var(--accent-brand);outline-offset:2px;border-radius:2px}.collapsible-toggle .panel-title{color:var(--text-main)}.collapsible-chevron{font-size:10px;width:10px}.collapsible-meta{font-size:12px}.collapsible-body{padding:var(--space-5)}.collapsible-note{margin:0}.page-stack{display:flex;flex-direction:column;gap:var(--space-5)}@media (max-width: 880px){.panel-header{padding:var(--space-3) var(--space-4);flex-wrap:wrap}.panel-body,.collapsible-body{padding:var(--space-4)}.panel-header .panel-actions{margin-left:0}.collapsible-toggle{min-height:var(--tap-min)}.page-stack{gap:var(--space-4)}}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data-table thead th{position:sticky;top:var(--topbar-h);z-index:var(--z-sticky-th);text-align:left;padding:var(--space-2) 14px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);background:var(--bg-panel-soft);border-bottom:1px solid var(--border-soft)}.data-table tbody td{padding:var(--space-2) 14px;border-bottom:1px solid var(--border-soft);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius:var(--radius-lg)}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius:var(--radius-lg)}.player-link{color:var(--accent-brand);text-decoration:none;font-weight:600}.player-link:hover{text-decoration:underline}.data-table th .sort{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit}.data-table th .sort:hover{color:var(--text-main)}.data-table th .arrow{font-size:9px}.member-row{transition:background var(--transition-fast)}.member-row:hover{background:rgba(var(--brand-rgb),.06);box-shadow:inset 2px 0 rgba(var(--brand-rgb),.8)}.member-row.is-actionable{background:rgba(var(--green-rgb),.08);box-shadow:inset 2px 0 0 var(--accent-green)}.member-row.is-danger{background:rgba(var(--red-rgb),.1);box-shadow:inset 2px 0 0 var(--accent-red)}.members .name{font-weight:600;color:var(--text-main)}.members .timer{font-variant-numeric:tabular-nums;color:var(--text-main)}.members .eta{color:var(--text-muted);font-variant-numeric:tabular-nums}.members .desc{color:var(--text-muted)}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:var(--text-dim);vertical-align:middle}.dot.online{background:var(--accent-green)}.dot.idle{background:var(--accent-amber)}.dot.offline{background:var(--text-dim)}.loc-home{color:var(--text-muted)}.loc-abroad{color:var(--text-main)}.loc-travel{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.loc-travel .loc-country{color:var(--text-main);font-weight:500}.loc-arrow{display:inline-flex;align-items:center}.loc-arrow svg{width:18px;height:18px}.loc-arrow.leaving{color:var(--accent-red)}.loc-arrow.returning{color:var(--accent-green)}.loc-arrow.returning svg{transform:scaleX(-1)}.data-table th.eta-col,.data-table td.eta-col{width:104px;min-width:104px;text-align:right;white-space:nowrap;text-align:left}.eta-val{font-variant-numeric:tabular-nums;color:var(--text-main)}.eta-est{color:var(--text-muted)}.eta-empty{color:var(--text-dim)}@keyframes fx-flash-online{0%{background:rgba(var(--green-rgb),.35)}to{background:transparent}}.member-row.fx-flash td{animation:fx-flash-online 4s ease-out}.member-row.fx-hosp-soon td{background:rgba(var(--red-rgb),calc(var(--hosp-glow, 0) * .28))}.medout-tag{color:var(--accent-amber);margin-right:5px;cursor:help}.table-empty{padding:var(--space-6);text-align:center}.table-scroll{overflow:auto;max-height:var(--table-box-h, 70vh);overscroll-behavior:contain}.table-scroll .data-table{width:max-content;min-width:100%}.table-scroll .data-table thead th{top:0}.table-scroll .data-table th:last-child,.table-scroll .data-table td:last-child{padding-right:var(--space-5)}.data-table td.sticky-lead{position:sticky;left:0;z-index:1;background:var(--bg-panel)}.data-table th.sticky-lead{left:0;z-index:calc(var(--z-sticky-th) + 1)}.data-table .sticky-lead.after-expand{left:28px}.data-table .sticky-lead-edge{box-shadow:inset -1px 0 0 var(--border-soft)}.sort-th{display:inline-flex;align-items:center;gap:4px;background:none;border:0;padding:0;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.sort-th-arrow{font-size:9px;color:var(--text-muted);opacity:.5}.sort-th.is-on .sort-th-arrow{opacity:1;color:inherit}@media (max-width: 880px){.panel.is-flush:has(.data-table){overflow:auto;max-height:calc(100dvh - var(--topbar-h) - var(--bottom-nav-total) - var(--space-6));overscroll-behavior:contain}.panel.is-flush:has(.data-table) .data-table{width:max-content;min-width:100%}.panel.is-flush:has(.data-table) .data-table thead th{top:0}.panel.is-flush:has(.data-table) .data-table th:last-child,.panel.is-flush:has(.data-table) .data-table td:last-child{padding-right:var(--space-4)}.data-table{font-size:12px}.data-table thead th,.data-table tbody td{padding:var(--space-2) var(--space-2)}.data-table th .sort{min-height:var(--tap-min)}}.mcards{display:flex;flex-direction:column}.mcard-sortbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-soft)}.mcard-sortlabel{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.mcard-sortselect{flex:1 1 auto;min-width:0;min-height:var(--tap-min);padding:0 var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--bg-panel-soft);color:var(--text-main);font-size:16px}.mcard-sortdir{all:unset;flex:0 0 auto;display:grid;place-items:center;width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--bg-panel-soft);color:var(--text-muted);cursor:pointer}.mcard-sortdir:active{background:var(--bg-elevated);color:var(--text-main)}.mcard-list{list-style:none;margin:0;padding:0}.mcard{display:flex;flex-direction:column;gap:2px;padding:2px var(--space-4) var(--space-2);border-bottom:1px solid var(--border-soft)}.mcard:last-child{border-bottom:none}.mcard-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.mcard-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.mcard-name .player-link{display:inline-flex;align-items:center;min-height:var(--tap-min);font-size:15px}.mcard-vitals{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.mcard-eta{font-size:14px;font-variant-numeric:tabular-nums;color:var(--text-main)}.mcard-eta .eta-empty{color:var(--text-dim)}.mcard-meta{display:flex;flex-wrap:wrap;gap:2px var(--space-3);margin:0;font-size:12px;line-height:1.35}.mcard-meta.is-more{padding-top:var(--space-2);border-top:1px dashed var(--border-soft)}.mcard-pair{display:flex;align-items:baseline;gap:5px;min-width:0}.mcard-pair dt{color:var(--text-dim);text-transform:uppercase;font-size:10px;letter-spacing:.05em}.mcard-pair dd{margin:0;color:var(--text-muted)}.mcard-more{all:unset;align-self:flex-start;min-height:var(--tap-min);display:flex;align-items:center;color:var(--text-dim);font-size:12px;cursor:pointer}.mcard-more:active{color:var(--text-main)}.mcard.fx-flash{animation:fx-flash-online 4s ease-out}.mcard.fx-hosp-soon{background:rgba(var(--red-rgb),calc(var(--hosp-glow, 0) * .28))}.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:7px 14px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-panel-soft);color:var(--text-main);font:inherit;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),opacity var(--transition-fast)}.btn:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-brand);border-color:transparent;color:var(--on-brand)}.btn-primary:hover{background:#d6b25e}.btn-ghost{background:transparent;color:var(--text-muted)}.btn-ghost:hover{background:var(--bg-panel-soft);color:var(--text-main)}.input,.login input{width:100%;background:var(--bg-main);border:1px solid var(--border-soft);color:var(--text-main);padding:10px 12px;border-radius:var(--radius-md);font:inherit;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.login input:focus{outline:none;border-color:var(--accent-brand);box-shadow:0 0 0 3px rgba(var(--brand-rgb),.15)}.badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-sm);font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.badge.state-okay{color:var(--accent-green);background:rgba(var(--green-rgb),.1);border-color:rgba(var(--green-rgb),.3)}.badge.state-hospital{color:var(--accent-red);background:rgba(var(--red-rgb),.1);border-color:rgba(var(--red-rgb),.3)}.badge.state-jail{color:var(--accent-amber);background:rgba(var(--amber-rgb),.1);border-color:rgba(var(--amber-rgb),.3)}.badge.state-traveling{color:var(--accent-blue);background:rgba(var(--blue-rgb),.1);border-color:rgba(var(--blue-rgb),.3)}.badge.state-abroad{color:var(--accent-purple);background:rgba(var(--purple-rgb),.1);border-color:rgba(var(--purple-rgb),.3)}.badge.state-fallen{color:var(--text-dim);background:#ffffff0a;border-color:var(--border-soft)}.status-with-tag{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.hosp-tag{display:inline-flex;align-items:center;padding:1px 5px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;letter-spacing:.06em;border:1px solid transparent;cursor:help}.hosp-tag.hosp-fac{color:var(--accent-amber);background:rgba(var(--amber-rgb),.12);border-color:rgba(var(--amber-rgb),.35)}.hosp-tag.hosp-self{color:var(--accent-purple);background:rgba(var(--purple-rgb),.12);border-color:rgba(var(--purple-rgb),.35)}.hosp-tag.hosp-od{color:var(--accent-blue);background:rgba(var(--blue-rgb),.12);border-color:rgba(var(--blue-rgb),.35)}.hosp-tag.hosp-other{color:var(--text-muted);background:#ffffff0d;border-color:var(--border-soft)}.state-dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--text-dim)}.state-dot.state-okay{background:var(--accent-green)}.state-dot.state-hospital{background:var(--accent-red)}.state-dot.state-jail{background:var(--accent-amber)}.state-dot.state-traveling{background:var(--accent-blue)}.state-dot.state-abroad{background:var(--accent-purple)}.state-dot.state-fallen{background:var(--text-dim)}.live{font-size:12px;font-weight:600;display:inline-flex;align-items:center}.live.open{color:var(--accent-green)}.live.connecting{color:var(--accent-amber)}.live.error{color:var(--accent-red)}.auth{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.auth-card{width:100%;max-width:360px;padding:var(--space-6)}.auth-brand{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-5)}.auth-brand .brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:var(--radius-sm);background:var(--accent-brand);color:var(--on-brand);font-family:var(--font-display);font-weight:700;font-size:20px}.auth-brand h1{font-family:var(--font-display);font-size:22px;letter-spacing:.03em}.login{display:flex;flex-direction:column;gap:var(--space-3)}.login label{color:var(--text-muted);font-size:12px}.login .btn{justify-content:center;margin-top:var(--space-1)}.login .hint{color:var(--text-dim);font-size:12px;margin:var(--space-1) 0 0}@media (max-width: 880px){.btn{min-height:var(--tap-min)}.bell{min-width:var(--tap-min);min-height:var(--tap-min)}.input,.login input{min-height:var(--tap-min);font-size:16px}.auth-wrap{padding:var(--space-4)}.auth-card{padding:var(--space-5)}}.filter-bar{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5)}.filter-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.filter-label{flex:0 0 auto;min-width:64px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.filter-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-chip{all:unset;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--bg-panel-soft);color:var(--text-muted);font-size:13px;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.filter-chip:hover{border-color:var(--border-strong);color:var(--text-main)}.filter-chip.is-on{border-color:rgba(var(--brand-rgb),.6);background:rgba(var(--brand-rgb),.1);color:var(--text-main)}.filter-meta{margin-left:auto;display:flex;align-items:center;gap:var(--space-3);color:var(--text-muted);font-size:12px}.filter-clear{all:unset;cursor:pointer;color:var(--text-muted)}.filter-clear:hover{color:var(--text-main)}.filter-stats{display:flex;align-items:center;gap:var(--space-2)}.stats-input{width:110px;padding:3px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--bg-panel-soft);color:var(--text-main);font-size:13px;font-variant-numeric:tabular-nums}.stats-input:focus{outline:none;border-color:var(--accent-brand)}.stats-input::placeholder{color:var(--text-dim)}.filter-toggle-row{display:flex;align-items:center;gap:var(--space-3)}.filter-toggle{all:unset;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--bg-panel-soft);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer}.filter-toggle.is-active{border-color:rgba(var(--brand-rgb),.6);color:var(--text-main)}.filter-count{display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent-brand);color:var(--on-brand);font-size:11px;font-weight:700}.filter-toggle-row .filter-clear{margin-left:auto;min-height:var(--tap-min);display:flex;align-items:center}@media (max-width: 880px){.filter-bar{padding:var(--space-3) var(--space-4)}.filter-row{align-items:flex-start;flex-direction:column;gap:var(--space-2)}.filter-chip{min-height:34px;padding-inline:var(--space-3)}.filter-meta{margin-left:0}.filter-stats{width:100%}.stats-input{flex:1 1 0;width:auto;min-width:0;min-height:var(--tap-min);font-size:16px}}.market-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(140px,200px) auto;align-items:end;gap:var(--space-4);padding:var(--space-4)}.market-field{display:flex;flex-direction:column;gap:var(--space-2)}.market-field label{color:var(--text-muted);font-size:12px;font-weight:600}.market-select{cursor:pointer}.market-segments{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-main)}.segment{all:unset;box-sizing:border-box;min-height:32px;padding:7px 11px;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;font-size:13px;font-weight:600;white-space:nowrap}.segment:hover{color:var(--text-main);background:var(--bg-panel-soft)}.segment.is-active{color:var(--text-main);background:rgba(var(--brand-rgb),.14)}.market-catalog-scroll,.market-listings-scroll{overflow-y:auto}.market-catalog-scroll{max-height:38vh}.market-listings-scroll{max-height:42vh}.market-catalog-scroll thead th,.market-listings-scroll thead th{position:sticky;top:0;z-index:1;background:var(--bg-panel)}.data-row{transition:background var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.data-row:hover{background:rgba(var(--brand-rgb),.06);box-shadow:inset 2px 0 rgba(var(--brand-rgb),.8)}.data-row.is-selected{background:rgba(var(--green-rgb),.08);box-shadow:inset 2px 0 0 var(--accent-green)}.market-item-button{all:unset;display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;min-width:180px}.market-item-button img{width:42px;height:42px;object-fit:contain}.market-item-button strong{display:block;color:var(--text-main)}.market-item-button small{color:var(--text-dim);font-size:12px}.market-effect-cell{max-width:360px;color:var(--text-muted)}.market-result{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:var(--space-4);align-items:start}.market-detail{padding:var(--space-5);margin-top:58px}.market-detail-head{display:flex;align-items:center;gap:var(--space-4)}.market-detail-img{width:72px;height:72px;object-fit:contain;border-radius:var(--radius-md);background:var(--bg-main);border:1px solid var(--border-soft)}.market-detail-kicker{color:var(--accent-brand);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.market-detail h2{margin-top:var(--space-1);font-size:20px}.market-effect{margin-top:var(--space-3);color:var(--text-main);font-weight:600}.market-description{margin-top:var(--space-2);color:var(--text-muted);line-height:1.45;font-size:13px}.market-stats{margin-top:var(--space-4);display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.market-stats div{padding:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-main)}.market-stats dt{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.market-stats dd{margin-top:var(--space-1);color:var(--text-main);font-variant-numeric:tabular-nums;font-weight:700}.market-note{padding:var(--space-4) var(--space-5)}.market-listings .panel-header{align-items:center}.market-stale{margin-left:var(--space-2);color:var(--accent-amber);background:rgba(var(--amber-rgb),.1);border-color:rgba(var(--amber-rgb),.35)}.market-below{color:var(--accent-green)}.market-anon{color:var(--text-dim)}.market-seller{color:var(--accent-brand);text-decoration:none;font-weight:600}.market-seller:hover{text-decoration:underline}.market-checked{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.market-result-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:var(--space-4);min-width:0;align-items:start}.market-result-switch{grid-column:1 / -1;display:flex;justify-content:flex-end}@media (max-width: 1100px){.market-toolbar{grid-template-columns:1fr 1fr}.market-result{grid-template-columns:1fr}}@media (max-width: 720px){.market-toolbar{grid-template-columns:1fr}.market-segments{overflow-x:auto}.market-stats{grid-template-columns:1fr 1fr}.market-items th:nth-child(2),.market-items td:nth-child(2){display:none}}.war-scoreboard{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-5)}.war-side{display:flex;flex-direction:column;gap:var(--space-1)}.war-side.war-enemy{text-align:right}.war-side-name{font-weight:600}.war-us .war-side-name{color:var(--accent-blue)}.war-enemy .war-side-name{color:var(--accent-red)}.war-side-score{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums}.war-side-hits{color:var(--text-muted);font-size:12px}.war-target{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);min-width:160px}.war-lead{font-weight:700;font-variant-numeric:tabular-nums}.war-target-label{color:var(--text-dim);font-size:12px}.war-bar{width:100%;height:6px;border-radius:999px;background:var(--bg-main);border:1px solid var(--border-soft);overflow:hidden}.war-bar-fill{height:100%;transition:width var(--transition-med)}.war-bar-fill.is-us{background:var(--accent-blue)}.war-bar-fill.is-enemy{background:var(--accent-red)}.war-view{display:flex;gap:var(--space-2)}.war-columns-btn{margin-left:auto}.war-roster-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:var(--space-3) var(--space-5) 0}.scouting-badge{margin-left:var(--space-2);padding:1px 6px;border-radius:999px;border:1px solid rgba(var(--amber-rgb),.4);color:var(--accent-amber);font-size:10px;letter-spacing:.08em}.war-empty{padding:var(--space-5)}.topbar-chains{position:relative;display:flex;align-items:center;gap:var(--space-2);margin-left:var(--space-3)}.chain-card{position:static}.chain-toggle{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border-soft);color:var(--text-muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.chain-toggle:hover{color:var(--text-main);background:var(--bg-panel-soft)}.chain-card.is-own .chain-toggle{color:var(--accent-blue);border-color:rgba(var(--blue-rgb),.35)}.chain-card.is-enemy .chain-toggle{color:var(--accent-red);border-color:rgba(var(--red-rgb),.35)}.chain-card.is-own.is-active .chain-toggle{background:rgba(var(--blue-rgb),.1)}.chain-card.is-enemy.is-active .chain-toggle{background:rgba(var(--red-rgb),.1)}.chain-card.is-cooldown .chain-toggle{background:#ffffff0a}.chain-body{position:absolute;top:calc(100% + 6px);width:210px;box-sizing:border-box;padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:var(--space-2);background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:0 14px 36px #00000080;font-size:12px}.chain-card.is-own .chain-body{left:0;border-color:rgba(var(--blue-rgb),.35)}.chain-card.is-enemy .chain-body{left:222px;border-color:rgba(var(--red-rgb),.35)}.chain-name{font-weight:700;font-size:13px}.chain-card.is-own .chain-name{color:var(--accent-blue)}.chain-card.is-enemy .chain-name{color:var(--accent-red)}.chain-row{display:flex;justify-content:space-between;gap:var(--space-4);font-variant-numeric:tabular-nums}.chain-key{color:var(--text-muted)}.chain-none{color:var(--text-dim)}.dev-panel{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-style:dashed}.dev-panel-label{color:var(--text-dim);font-size:11px;text-transform:uppercase;letter-spacing:.06em;margin-right:var(--space-2)}.war-outcome{display:inline-block;padding:1px 6px;border-radius:2px;font-size:11px;font-weight:700;letter-spacing:.05em}.war-outcome.is-won{background:rgba(var(--green-rgb),.15);color:var(--accent-green)}.war-outcome.is-lost{background:rgba(var(--red-rgb),.15);color:var(--accent-red)}.war-outcome.is-ongoing{background:rgba(var(--brand-rgb),.15);color:var(--accent-brand)}.war-outcome.is-undecided{color:var(--text-muted)}.war-report-head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.war-report-head h2{margin:0;font-size:16px;display:flex;align-items:center;gap:var(--space-2)}.war-report-head .btn:last-child{margin-left:auto}.war-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3) var(--space-5)}.war-mini-title{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-2)}.war-mini-list{list-style:none;margin:0;padding:0;counter-reset:mini}.war-mini-list li{display:flex;align-items:baseline;gap:var(--space-2);font-size:13px;padding:2px 0}.war-mini-list li:before{counter-increment:mini;content:counter(mini) ".";color:var(--text-dim);font-size:11px;min-width:14px;text-align:right}.war-mini-list .war-mini-val{margin-left:auto}.war-slackers{display:flex;flex-wrap:wrap;gap:var(--space-2)}.war-slacker{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:12px;background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:2px;padding:2px 8px}button.war-h2h{cursor:pointer;color:inherit}button.war-h2h:hover{border-color:var(--accent-brand)}.war-breakdown{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2)}.war-fineprint{font-size:11px}.war-burn-rate .collapsible-body{padding:0}.war-payout-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.war-payout-cut{width:72px}.war-orders{border-left:3px solid var(--border-strong)}.war-orders.is-push{border-left-color:var(--accent-red)}.war-orders.is-turtle{border-left-color:var(--accent-blue)}.war-orders-line{display:flex;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.war-orders-line .war-mini-title{margin-bottom:0}.war-orders-label{font-size:14px}.war-orders-controls{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.war-ai-preview{margin:var(--space-3) 0 0;padding:var(--space-3);background:var(--bg-elevated);border:1px solid var(--border-soft);border-radius:var(--radius-sm);font-size:11px;line-height:1.5;max-height:420px;overflow:auto;white-space:pre-wrap}.chain-ready-toggle{margin-left:var(--space-3);font-weight:400}.chain-ready-line{padding:0 var(--space-5) var(--space-4);margin:0}.chain-ready-warning{padding:var(--space-2) var(--space-5);margin:0 0 var(--space-2);font-weight:600}.data-table td.is-ready{color:var(--accent-green);font-weight:600}.data-table tr.is-stale td{color:var(--text-dim)}.chain-ready-effects{display:flex;flex-wrap:wrap;gap:var(--space-1)}.effect-chip{border:1px solid var(--border-soft);border-radius:999px;padding:0 var(--space-2);font-size:12px;color:var(--text-muted);white-space:nowrap}.chain-banner{position:sticky;top:var(--topbar-h);z-index:var(--z-banner);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--accent-red);border-radius:var(--radius-lg);background:rgba(var(--red-rgb),.16);color:var(--text-main);font-weight:600}.chain-banner-text .num{font-variant-numeric:tabular-nums}.chain-banner-link{flex:none;color:var(--accent-red);white-space:nowrap}@media (max-width: 880px){.war-scoreboard{grid-template-columns:1fr 1fr;grid-template-areas:"us enemy" "target target";gap:var(--space-3);padding:var(--space-4)}.war-us{grid-area:us}.war-enemy{grid-area:enemy}.war-target{grid-area:target;min-width:0}.war-side-score{font-size:20px}.war-roster-title{padding:var(--space-3) var(--space-4) 0}.war-view{flex-wrap:wrap}.war-view .filter-chip{min-height:var(--tap-min);padding-inline:var(--space-3)}.war-columns-btn{margin-left:0}.topbar-chains{margin-left:var(--space-2)}.chain-card.is-own .chain-body,.chain-card.is-enemy .chain-body{position:fixed;top:calc(var(--topbar-h) + 6px);left:var(--space-3);right:var(--space-3);width:auto}.chain-ready-line{padding:0 var(--space-4) var(--space-4)}.chain-ready-warning{padding:var(--space-2) var(--space-4)}.war-report-head{padding:var(--space-3)}.chain-banner{flex-wrap:wrap}}.drug-timeline{list-style:none;margin:0 0 var(--space-2);padding:0}.drug-timeline li{display:flex;align-items:center;gap:var(--space-2);padding:3px 0;font-size:12px;border-top:1px solid var(--border-soft)}.drug-when{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.drug-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drug-tag{padding:1px 5px;border-radius:var(--radius-sm);font-size:10px;font-weight:700;letter-spacing:.06em;border:1px solid transparent;white-space:nowrap}.drug-tag.is-armory{color:var(--accent-amber);background:rgba(var(--amber-rgb),.12);border-color:rgba(var(--amber-rgb),.35)}.drug-tag.is-own{color:var(--text-muted);background:#ffffff0d;border-color:var(--border-soft)}.drug-tag.is-od{color:var(--accent-red);background:rgba(var(--red-rgb),.12);border-color:rgba(var(--red-rgb),.35)}.drug-energy{color:var(--accent-green);font-variant-numeric:tabular-nums;white-space:nowrap}.drug-energy.is-loss{color:var(--accent-red)}.drug-timeline-phase{font-size:11px;margin:var(--space-2) 0 2px}.faction-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.faction-freshness{font-size:12px;white-space:nowrap}.oc-col{position:relative}.oc-cell{position:relative;display:inline-block}.oc-badge{display:inline-block;padding:1px 8px;border-radius:var(--radius-sm);font-variant-numeric:tabular-nums;font-size:12px;border:1px solid var(--border-soft);cursor:default}.oc-badge.ok{color:var(--accent-green);border-color:rgba(var(--green-rgb),.35)}.oc-badge.low{color:var(--accent-red);border-color:rgba(var(--red-rgb),.4)}.oc-badge.warn{color:var(--accent-amber);border-color:rgba(var(--amber-rgb),.4)}.oc-card{display:none;position:absolute;right:0;top:calc(100% + 4px);z-index:15;min-width:240px;max-width:320px;padding:var(--space-3);border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-strong);box-shadow:0 12px 28px #00000073;text-align:left;white-space:normal;font-size:12px;line-height:1.5}.oc-cell:hover .oc-card,.oc-cell:focus-within .oc-card{display:block}.oc-card-title{display:block;font-weight:600;color:var(--text-main);margin-bottom:var(--space-1)}.oc-card-sub{margin-left:var(--space-2);font-weight:400;color:var(--text-muted);text-transform:none}.oc-card-row{display:block;color:var(--text-muted)}.oc-card-warn{color:var(--accent-amber)}.armory-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3) var(--space-3) 0}.armory-title{margin:0;font-size:13px;font-weight:600}.armory-stock .armory-row{cursor:pointer}.armory-stock .armory-row.is-selected td{background:rgba(var(--brand-rgb),.08)}.rule-chip{margin-left:var(--space-2);padding:0 6px;border:1px solid rgba(var(--brand-rgb),.35);border-radius:var(--radius-sm);font-size:11px;color:var(--accent-brand);white-space:nowrap}.qty-low{color:var(--accent-red);font-weight:600}.armory-item-tools{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.armory-rule-form{display:flex;align-items:center;gap:var(--space-2)}.armory-rule-form input{width:72px}.armory-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:12px}.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.bell:hover{color:var(--text-main)}.bell[aria-expanded=true]{background:var(--bg-panel-soft);color:var(--text-main)}.bell svg{width:18px;height:18px}.bell-count{position:absolute;top:-2px;right:-4px;min-width:16px;padding:0 4px;border-radius:8px;background:var(--accent-red);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;font-variant-numeric:tabular-nums}.bell-wrap{position:relative;display:inline-flex}.bell-pop{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:var(--z-toast);width:min(360px,calc(100vw - 2 * var(--space-3)));padding:var(--space-2) var(--space-3);box-shadow:0 8px 24px #00000073;animation:toast-in var(--transition-fast)}.bell-pop-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding-bottom:var(--space-2)}.bell-pop-title{font-weight:600}.bell-pop-empty,.bell-pop .alerts-item{padding:var(--space-2) 0}.bell-pop-all{display:block;padding:var(--space-2) 0 var(--space-1);border-top:1px solid var(--border-soft);color:var(--accent-brand);font-size:13px;text-align:center}.alerts-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.alerts-days{display:flex;align-items:center;gap:var(--space-3)}.alerts-days input{width:90px}.alerts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.alerts-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-2);border-top:1px solid var(--border-soft);opacity:.65}.alerts-item.is-unread{opacity:1}.alerts-item:first-child{border-top:none}.alerts-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.alerts-dot.info{background:var(--accent-blue)}.alerts-dot.warning{background:var(--accent-amber)}.alerts-dot.error{background:var(--accent-red)}.alerts-text{display:flex;flex-direction:column;min-width:0;flex:1}.alerts-title{font-weight:600}.alerts-body{font-size:12px}.alerts-when{flex:none;font-size:12px;white-space:nowrap}.alerts-actions{flex:none;display:inline-flex;gap:var(--space-1)}.toast-host{position:fixed;right:var(--space-4);bottom:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);width:min(360px,calc(100vw - 2 * var(--space-4)))}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:0 8px 24px #00000073;animation:toast-in var(--transition-med)}.toast .alerts-dot{margin-top:6px}.toast-link{margin-top:var(--space-1);font-size:12px;color:var(--accent-brand)}.toast-close{flex:none;padding:0 var(--space-2);font-size:16px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.settings-section{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);max-width:560px}.settings-title{font-size:14px;font-weight:650}.settings-row{display:flex;align-items:center;gap:var(--space-3)}.settings-row input{flex:1 1 auto}.settings-stack{display:flex;flex-direction:column;gap:var(--space-3)}.settings-field{display:flex;flex-direction:column;gap:var(--space-2);color:var(--text-muted);font-size:12px}.settings-field input{width:100%}.search-select{position:relative}.search-select-trigger{all:unset;box-sizing:border-box;width:100%;min-height:38px;padding:9px 11px;border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-panel-soft);color:var(--text-main);cursor:pointer}.search-select-menu{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-panel)}.search-select-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto}.search-select-option{all:unset;box-sizing:border-box;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.search-select-option:hover,.search-select-option.is-selected{background:var(--bg-panel-soft);color:var(--text-main)}.search-select-option.is-selected{box-shadow:inset 2px 0 0 var(--accent-brand)}.badge-ok{color:var(--accent-green);background:rgba(var(--green-rgb),.12);border-color:rgba(var(--green-rgb),.3)}.key-upgrade{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2)}.key-upgrade .hint{font-size:11px}.personal-header-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.personal-name{font-size:16px;font-weight:600;display:block}.personal-subline{display:block;font-size:12px;margin-top:2px}.personal-header-status{font-size:12px}.personal-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.panel-body.personal-tiles{display:grid}.personal-tile{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.personal-tile-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.personal-tile-value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.personal-tile-sub{font-size:11px;color:var(--text-muted)}.personal-tile-sub.is-up{color:rgb(var(--green-rgb))}.personal-tile-sub.is-down{color:rgb(var(--red-rgb))}.personal-chart-svg{width:100%;height:auto;display:block}.personal-chart-legend{margin-bottom:var(--space-3);align-items:center}.personal-chart-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px}.personal-chart-span{font-size:11px;margin-left:auto}.personal-chart-grid{stroke:var(--border-soft);stroke-width:1}.personal-chart-tick{fill:var(--text-muted);font-size:10px}.personal-chart-endlabel{fill:var(--text-main);font-size:10px}.personal-chart-crosshair{stroke:var(--text-muted);stroke-width:1;stroke-dasharray:3 3}.personal-chart-readout{font-size:11px;margin-top:var(--space-2);font-variant-numeric:tabular-nums}.personal-chart-empty{font-size:12px}.personal-award-toolbar{gap:var(--space-3);flex-wrap:wrap}.personal-award-search{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-main);font-size:12px;padding:3px var(--space-2);min-width:160px}.personal-award-desc{max-width:46ch}.personal-award-categories{margin-bottom:var(--space-3)}.personal-uniques{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.personal-unique-card{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);min-height:150px}.personal-unique-card.is-found{border-color:rgba(var(--green-rgb),.38);background:linear-gradient(180deg,rgba(var(--green-rgb),.1),var(--bg-panel-soft))}.personal-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.personal-outcome-id{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.personal-card-requirement{margin:0;color:var(--text-main);font-size:13px;line-height:1.35}.personal-status-pill{border:1px solid rgba(var(--red-rgb),.35);border-radius:999px;color:rgb(var(--red-rgb));background:rgba(var(--red-rgb),.08);font-size:11px;line-height:1;padding:4px 8px;white-space:nowrap}.personal-status-pill.is-done{border-color:rgba(var(--green-rgb),.42);color:rgb(var(--green-rgb));background:rgba(var(--green-rgb),.1)}.personal-unique{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--border-soft);border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px}.personal-unique.is-found{border-style:solid;border-color:rgba(var(--green-rgb),.5);background:rgba(var(--green-rgb),.12);color:rgb(var(--green-rgb))}.personal-unique-card{min-height:130px}.personal-crime-notes{font-size:11px}.personal-award-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:4px}.personal-progress-track{flex:0 1 160px;height:4px;border-radius:2px;background:var(--bg-elevated);overflow:hidden}.personal-progress-fill{display:block;height:100%;background:var(--accent-brand)}.personal-progress-num{font-size:11px;color:var(--text-muted);white-space:nowrap}.personal-stat-label{text-transform:capitalize}.personal-stat-cat td{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;background:var(--bg-panel-soft)}.personal-car-stats{max-width:420px}.personal-effect{font-variant-numeric:tabular-nums}.personal-effect.is-up{color:rgb(var(--green-rgb))}.personal-effect.is-down{color:rgb(var(--red-rgb))}.personal-parts{display:flex;flex-direction:column;gap:var(--space-2)}.personal-parts-group{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.personal-parts-category{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;min-width:120px}.personal-car-toggle{display:inline-flex;align-items:baseline;gap:var(--space-2);background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer;text-align:left}.personal-car-chevron{color:var(--text-muted);font-size:12px}.personal-car-img{height:26px;width:auto;align-self:center;border-radius:2px}.personal-plan-summary{margin:0;color:var(--text-muted)}.personal-plan-summary strong{color:var(--text-main)}.data-table tr.is-planned td{background:rgba(var(--brand-rgb),.08)}.btn-ghost.is-on{color:rgb(var(--brand-rgb))}.report-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap}.report-header-main{display:flex;flex-direction:column;gap:2px}.report-title{font-size:14px;font-weight:600}.report-generated{font-size:11px;color:var(--text-dim)}.report-sync{display:flex;align-items:center;gap:var(--space-3)}.report-sync-state{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.report-sync-state.is-error{color:rgb(var(--red-rgb))}.report-sync-progress{display:inline-block;width:72px;height:4px;margin-left:var(--space-2);vertical-align:middle;border-radius:2px;background:var(--bg-elevated);overflow:hidden;position:relative}.report-sync-progress-fill{position:absolute;top:0;bottom:0;width:30%;border-radius:2px;background:var(--accent-brand);animation:report-sync-slide 1.2s linear infinite}@keyframes report-sync-slide{0%{left:-30%}to{left:100%}}.record-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.record-card{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:2px}.record-card-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.record-card-value{font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.record-card-sub{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums}.breakdown{display:flex;flex-direction:column}.breakdown-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(160px,2fr) auto;align-items:center;gap:var(--space-3);padding:6px 14px;border-bottom:1px solid var(--border-soft);font-size:13px}.breakdown-row:last-child{border-bottom:none}.breakdown-row.is-dim .breakdown-label,.breakdown-row.is-dim .breakdown-col{color:var(--text-dim)}.breakdown-row.is-child .breakdown-label{padding-left:var(--space-4)}.breakdown-label{display:inline-flex;align-items:center;gap:var(--space-2);min-width:0}.breakdown-toggle{background:none;border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-muted);width:16px;height:16px;line-height:1;font-size:11px;padding:0;cursor:pointer}.breakdown-toggle:hover{color:var(--text-main)}.breakdown-meter{display:flex;align-items:center;gap:var(--space-2)}.breakdown-track{flex:1;height:6px;border-radius:2px;background:var(--bg-elevated);overflow:hidden}.breakdown-fill{display:block;height:100%}.breakdown-pct{font-size:11px;color:var(--text-muted);font-variant-numeric:tabular-nums;width:48px;text-align:right}.breakdown-cols{display:flex;gap:var(--space-4)}.breakdown-col{font-size:12px;font-variant-numeric:tabular-nums;text-align:right;min-width:72px}.report-table th.is-num .sort-th{width:100%;justify-content:flex-end}.report-table td.is-num{text-align:right;font-variant-numeric:tabular-nums}.report-expand-col{width:28px;min-width:28px}.report-expand-btn{background:none;border:0;color:var(--text-muted);cursor:pointer;font-size:11px;padding:0}.report-expand-btn:hover{color:var(--text-main)}.report-expanded td{background:var(--bg-panel-soft)}.report-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:12px}.report-pagesize{background:var(--bg-panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-sm);color:var(--text-muted);font-size:11px;padding:3px var(--space-2)}.admin-panel-head{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-4) var(--space-5) 0}.admin-panel-head h2{font-size:15px;margin-right:var(--space-2)}.admin-note{padding:var(--space-1) var(--space-5);font-size:12px}.admin-log-search{min-width:260px;flex:1}.admin-log-list{list-style:none;margin:var(--space-3) var(--space-5) var(--space-5);padding:var(--space-3);max-height:420px;overflow-y:auto;background:var(--bg-main);border:1px solid var(--border-soft);border-radius:var(--radius-md);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;line-height:1.6}.admin-log-line{display:flex;gap:var(--space-3)}.admin-log-ts{color:var(--text-dim);flex:none;font-variant-numeric:tabular-nums}.admin-log-msg{white-space:pre-wrap;word-break:break-word}.admin-log-line.is-warn .admin-log-msg{color:var(--accent-amber)}.admin-log-line.is-error .admin-log-msg{color:var(--accent-red)}.admin-ro-badge{padding:1px 8px;border-radius:999px;border:1px solid rgba(var(--blue-rgb),.4);color:var(--accent-blue);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.admin-canned{padding:var(--space-3) var(--space-5) 0}.admin-sql-input{display:block;width:calc(100% - 2 * var(--space-5));margin:var(--space-3) var(--space-5) 0;font-family:var(--font-mono, ui-monospace, monospace);font-size:12.5px;resize:vertical}.admin-sql-actions{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5)}.admin-sql-error{margin:0 var(--space-5) var(--space-4);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;white-space:pre-wrap}.admin-sql-results{overflow-x:auto;padding:0 var(--space-5) var(--space-5)}.admin-sql-cell{font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
