:root{--bg: #0a0b0d;--surface: #12141a;--surface-2: #191c22;--surface-3: #22262e;--border: #262b34;--border-strong: #30353f;--text: #eceef2;--muted: #a6aebb;--faint: #757f8d;--accent: #e8912f;--accent-hover: #f0a44e;--accent-ink: #141414;--accent-text: #e8912f;--accent-tint: rgba(232, 145, 47, .12);--accent-ring: rgba(232, 145, 47, .3);--ok: #3ecf8e;--info: #58a6ff;--warn: #ffd60a;--danger: #f47067;--danger-tint: rgba(244, 112, 103, .12);--danger-text: #f6a5a2;--print: #52a5be;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display: "Saira Condensed", var(--font-body);--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--radius: 10px;--transition: .15s cubic-bezier(.4, 0, .2, 1);color-scheme:dark}@font-face{font-family:Saira Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/saira-condensed-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/saira-condensed-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Saira Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/saira-condensed-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Saira Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/saira-condensed-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}a{color:var(--accent-text);text-decoration:none}h1,h2,h3,.signage{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.mono,.figure{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.app-header h1{font-size:18px;margin:0;letter-spacing:.3px}.app-header .brand{display:flex;align-items:center;gap:10px}.app-header .brand .mark{color:var(--accent);flex:0 0 auto}.container{width:100%;margin:0;padding:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px}.row{display:flex;gap:10px;align-items:center}.row.between{justify-content:space-between}.stack{display:flex;flex-direction:column;gap:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.muted{color:var(--muted)}.error{color:var(--danger)}.spacer{flex:1}button,.btn{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text);padding:9px 14px;border-radius:8px;min-height:40px;transition:border-color var(--transition),background var(--transition),color var(--transition)}button:hover:not(:disabled),.btn:hover:not(:disabled){border-color:var(--accent-hover)}button:focus-visible,.btn:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.primary:disabled{opacity:1;background:var(--surface-2);border-color:var(--border);color:var(--faint)}button.danger{background:transparent;color:var(--danger);border-color:#f4706780}button.danger:hover:not(:disabled){border-color:var(--danger)}button.ghost{background:transparent;border-color:transparent;color:var(--muted)}button.ghost:hover:not(:disabled){background:var(--surface-2);border-color:transparent;color:var(--text)}button.small{padding:5px 9px;min-height:32px;font-size:13px}@media (pointer: coarse){button,.btn,input,select{min-height:44px}button.small{min-height:36px}}label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}input,select,textarea{font:inherit;width:100%;background:var(--surface-2);color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:9px 11px;min-height:40px;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-ring)}input::placeholder,textarea::placeholder{color:var(--faint)}input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--accent)}input[type=checkbox],input[type=radio]{width:auto;min-height:auto}select{-moz-appearance:none;appearance:none;-webkit-appearance:none;height:40px;padding-right:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237b8593' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 11px center}.field{margin-bottom:12px}.field .err{color:var(--danger);font-size:12px;margin-top:4px}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.stat-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);font-size:14px}th{color:var(--muted);font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.empty{color:var(--muted);padding:24px;text-align:center}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600}.banner{padding:10px 14px;border-radius:8px;margin:12px 0}.banner.error{background:var(--danger-tint);border:1px solid var(--danger);color:var(--danger-text)}.center-screen{display:grid;place-items:center;height:100%;text-align:center;padding:24px}.shell{display:flex;align-items:flex-start}.shell-sidebar-fixed{flex:0 0 232px;position:sticky;top:0;align-self:stretch;border-right:1px solid var(--border);background:var(--surface);min-height:calc(100vh - 57px)}.shell-sidebar{padding:12px}.shell-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.shell-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:12px 6px;min-height:76px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer}.shell-tile:hover{border-color:var(--muted)}.shell-tile .shell-tile-icon{color:var(--muted)}.shell-tile-caption{font-size:12px;line-height:1.2}.shell-tile.selected{border-color:var(--accent);background:var(--accent-tint)}.shell-tile.selected .shell-tile-icon{color:var(--accent)}.shell-tile.selected .shell-tile-caption{color:var(--text);font-weight:600}.shell-detail{flex:1 1 auto;min-width:0;padding:18px}.shell-menu-btn{display:none;padding:6px 8px;min-height:34px}.shell-active-label{font-size:13px;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-drawer-backdrop{display:none}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;margin-bottom:4px}.breadcrumb-sep{color:var(--muted)}.breadcrumb-link{color:var(--accent)}.breadcrumb-link:hover{text-decoration:underline}.breadcrumb-current{color:var(--text);font-weight:600}.link-btn{background:none;border:none;color:var(--accent);padding:0;min-height:auto;font:inherit;cursor:pointer;text-align:left}.link-btn:hover{text-decoration:underline}.menu{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:6px;box-shadow:0 8px 24px #00000059}.menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:6px;padding:8px 10px;min-height:36px}.menu-item:hover:not(:disabled){background:var(--surface-2)}.menu-item.danger{color:var(--danger)}.menu-sep{height:1px;background:var(--border);margin:6px 4px}@media (max-width: 640px){.grid2{grid-template-columns:1fr}}.sim-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,1fr));gap:6px 10px}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}@media (max-width: 899px){.shell-sidebar-fixed{display:none}.shell-menu-btn{display:inline-flex;align-items:center}.shell-detail{max-width:100%}.shell-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;background:#00000080}.shell-drawer{width:264px;max-width:80vw;height:100%;background:var(--surface);border-right:1px solid var(--border);overflow-y:auto}}
