.fx-app{--fx-bg:#f4f5f7;--fx-surface:#fff;--fx-surface-2:#fafbfc;--fx-sunken:#eaecef;--fx-border:#e1e4e9;--fx-border-strong:#c5cad2;--fx-ink:#15181d;--fx-ink-2:#454c57;--fx-muted:#78828f;--fx-faint:#a3abb6;--fx-accent:#8a6a20;--fx-accent-strong:#6d5316;--fx-accent-soft:#f7f0dd;--fx-accent-line:#e3d5ae;--fx-accent-ink:#fff;--fx-up:#0f7a4f;--fx-up-soft:#e3f3ea;--fx-down:#bf3128;--fx-down-soft:#fbeceb;--fx-flat:#8b95a3;--fx-fresh:#0f7a4f;--fx-fresh-soft:#e3f3ea;--fx-stale:#a35c07;--fx-stale-soft:#fcf0dd;--fx-missing:#bf3128;--fx-missing-soft:#fbeceb;--fx-shadow:15,24,29;--fx-radius:12px;--fx-radius-sm:8px;--fx-mono:"SFMono-Regular","SF Mono",ui-monospace,Menlo,Consolas,"Liberation Mono",monospace;accent-color:#8a6a20;accent-color:var(--fx-accent);background:#f4f5f7;background:var(--fx-bg);color:#15181d;color:var(--fx-ink);font-feature-settings:"tnum" 1;min-height:100vh}html[data-fx-theme=dark] .fx-app{--fx-bg:#101216;--fx-surface:#191c22;--fx-surface-2:#1e222a;--fx-sunken:#14171c;--fx-border:#2a2f38;--fx-border-strong:#3c434f;--fx-ink:#eef1f5;--fx-ink-2:#c0c7d1;--fx-muted:#8b95a3;--fx-faint:#6b7684;--fx-accent:#d3ac52;--fx-accent-strong:#e8c877;--fx-accent-soft:#2b2415;--fx-accent-line:#4a3d1e;--fx-accent-ink:#191c22;--fx-up:#43c08a;--fx-up-soft:#14291f;--fx-down:#ef6a5f;--fx-down-soft:#2c1917;--fx-flat:#7b8593;--fx-fresh:#43c08a;--fx-fresh-soft:#14291f;--fx-stale:#e0a24a;--fx-stale-soft:#2b2113;--fx-missing:#ef6a5f;--fx-missing-soft:#2c1917;--fx-shadow:0,0,0}.fx-shell-top{background:var(--fx-surface);border-bottom:1px solid var(--fx-border);gap:18px;height:56px;padding:0 18px;position:sticky;top:0;z-index:40}.fx-brand,.fx-shell-top{align-items:center;display:flex}.fx-brand{color:inherit;flex:none;gap:10px;text-decoration:none}.fx-brand-mark{background:var(--fx-ink);border-radius:var(--fx-radius-sm);color:var(--fx-surface);display:grid;font-size:13px;height:30px;place-items:center;width:30px}.fx-brand-name{display:block;font-size:14px;font-weight:800;letter-spacing:-.01em;line-height:1.1}.fx-brand-sub{color:var(--fx-muted);display:block;font-family:var(--fx-mono);font-size:11px;line-height:1.3}.fx-shell-actions{align-items:center;display:flex;flex:none;gap:8px;margin-left:auto}.fx-icon-btn{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius-sm);color:var(--fx-ink-2);cursor:pointer;display:grid;font-size:13px;height:32px;place-items:center;text-decoration:none;transition:background-color .14s ease,color .14s ease,border-color .14s ease;width:32px}.fx-icon-btn:hover{background:var(--fx-sunken);color:var(--fx-ink)}.fx-shell-nav{background:var(--fx-surface);border-bottom:1px solid var(--fx-border);display:flex;gap:2px;overflow-x:auto;padding:0 18px;scrollbar-width:none}.fx-shell-nav::-webkit-scrollbar{display:none}.fx-shell-link{align-items:center;border-bottom:2px solid transparent;color:var(--fx-muted);display:inline-flex;font-size:12.5px;font-weight:700;gap:7px;padding:11px 14px 10px;text-decoration:none;transition:color .14s ease,border-color .14s ease;white-space:nowrap}.fx-shell-link:hover{color:var(--fx-ink)}.fx-shell-link.is-active,.fx-shell-link.router-link-active{border-bottom-color:var(--fx-accent);color:var(--fx-ink)}.fx-shell-link i{font-size:12px;opacity:.8}.fx-shell-body{margin:0 auto;max-width:1560px;padding:20px}.fx-stack{align-content:start;display:grid;gap:16px}.fx-row{align-items:center;display:flex;gap:10px}.fx-wrap{flex-wrap:wrap}.fx-spread{justify-content:space-between}.fx-grow{flex:1;min-width:0}.fx-panel{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);overflow:hidden}.fx-panel-pad{padding:18px}.fx-panel-head{align-items:center;background:var(--fx-surface-2);border-bottom:1px solid var(--fx-border);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:13px 18px}.fx-panel-title{font-size:13px;font-weight:800;letter-spacing:-.01em;margin:0}.fx-panel-sub{color:var(--fx-muted);font-size:11.5px;margin:2px 0 0}.fx-page-title{font-size:19px;font-weight:800;letter-spacing:-.02em;margin:0}.fx-page-sub{color:var(--fx-muted);font-size:12.5px;line-height:1.55;margin:3px 0 0;max-width:78ch}.fx-figure,.fx-num,.fx-table td.fx-num,.fx-table th.fx-num{font-family:var(--fx-mono);font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}.fx-figure{font-size:22px;font-weight:700;letter-spacing:-.02em;line-height:1.15}.fx-figure-lg{font-size:30px}.fx-figure-sm{font-size:15px;font-weight:700}.fx-up{color:var(--fx-up)}.fx-down{color:var(--fx-down)}.fx-flat{color:var(--fx-flat)}.fx-policy-ink{color:var(--fx-accent)}.fx-label{font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.fx-label,.fx-muted{color:var(--fx-muted)}.fx-faint{color:var(--fx-faint)}.fx-small{font-size:11.5px}.fx-badge{align-items:center;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:999px;color:var(--fx-ink-2);cursor:default;display:inline-flex;font-size:11px;font-weight:700;gap:6px;padding:3px 9px;white-space:nowrap}button.fx-badge{cursor:pointer}.fx-badge.is-ok{background:var(--fx-fresh-soft);border-color:transparent;color:var(--fx-fresh)}.fx-badge.is-warn{background:var(--fx-stale-soft);border-color:transparent;color:var(--fx-stale)}.fx-badge.is-critical{background:var(--fx-missing-soft);border-color:transparent;color:var(--fx-missing)}.fx-badge.is-policy{background:var(--fx-accent-soft);border-color:var(--fx-accent-line);color:var(--fx-accent-strong)}.fx-dot{background:currentColor;border-radius:50%;flex:none;height:6px;width:6px}.fx-dot.is-pulse{animation:fx-pulse 1.6s ease-in-out infinite}@keyframes fx-pulse{0%,to{opacity:1}50%{opacity:.35}}.fx-btn{align-items:center;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius-sm);color:var(--fx-ink);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:700;gap:7px;justify-content:center;padding:7px 13px;text-decoration:none;transition:background-color .14s ease,border-color .14s ease,opacity .14s ease;white-space:nowrap}.fx-btn:hover:not(:disabled){background:var(--fx-sunken)}.fx-btn:disabled{cursor:not-allowed;opacity:.45}.fx-btn.is-primary{background:var(--fx-ink);border-color:var(--fx-ink);color:var(--fx-surface)}.fx-btn.is-primary:hover:not(:disabled){background:var(--fx-ink);opacity:.88}.fx-btn.is-policy{background:var(--fx-accent);border-color:var(--fx-accent);color:var(--fx-accent-ink)}.fx-btn.is-policy:hover:not(:disabled){background:var(--fx-accent-strong)}.fx-btn.is-ghost{background:transparent;border-color:transparent;color:var(--fx-muted)}.fx-btn.is-ghost:hover:not(:disabled){background:var(--fx-sunken);color:var(--fx-ink)}.fx-btn.is-sm{font-size:11.5px;padding:5px 10px}.fx-btn.is-danger:hover:not(:disabled){background:var(--fx-down-soft);color:var(--fx-down)}.fx-input,.fx-select{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius-sm);color:var(--fx-ink);font-size:12.5px;font-weight:600;min-width:0;padding:7px 10px;transition:border-color .14s ease;width:100%}.fx-input:focus,.fx-select:focus{border-color:var(--fx-border-strong);outline:none}.fx-input.fx-num{font-family:var(--fx-mono)}.fx-input::-moz-placeholder{color:var(--fx-faint);font-weight:500}.fx-input::placeholder{color:var(--fx-faint);font-weight:500}.fx-field{display:grid;gap:5px}.fx-field>.fx-label{margin-bottom:1px}.fx-help{line-height:1.5}.fx-check,.fx-help{color:var(--fx-muted);font-size:11.5px}.fx-check{align-items:center;cursor:pointer;display:inline-flex;font-weight:700;gap:7px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fx-check input{accent-color:var(--fx-accent);height:14px;width:14px}.fx-switch-row{align-items:flex-start;background:var(--fx-surface-2);border:1px solid var(--fx-border);border-radius:var(--fx-radius-sm);display:flex;gap:16px;justify-content:space-between;padding:13px 14px}.fx-switch-row.is-armed{background:var(--fx-accent-soft);border-color:var(--fx-accent-line)}.fx-switch-row strong{display:block;font-size:12.5px;font-weight:800}.fx-switch-row .fx-help{margin-top:3px}.fx-switch-row input{accent-color:var(--fx-accent);flex:none;height:17px;margin-top:2px;width:17px}.fx-table-scroll{overflow-x:auto}.fx-table{border-collapse:collapse;font-size:12.5px;width:100%}.fx-table thead th{background:var(--fx-surface-2);color:var(--fx-muted);font-size:10px;font-weight:800;letter-spacing:.06em;padding:9px 14px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:1}.fx-table td,.fx-table thead th{border-bottom:1px solid var(--fx-border)}.fx-table td{color:var(--fx-ink-2);padding:10px 14px;vertical-align:middle}.fx-table tbody tr:last-child td{border-bottom:none}.fx-table tbody tr:hover td{background:var(--fx-surface-2)}.fx-table td.fx-num,.fx-table th.fx-num{text-align:right}.fx-table td.fx-mid,.fx-table th.fx-mid{text-align:center}.fx-table .fx-code{color:var(--fx-ink);font-weight:800}.fx-table tr.is-base td,.fx-table tr.is-base:hover td{background:var(--fx-accent-soft)}.fx-cell-input{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:6px;color:var(--fx-ink);font-family:var(--fx-mono);font-size:12px;padding:5px 8px;text-align:right;width:108px}.fx-cell-input:focus{border-color:var(--fx-accent);outline:none}.fx-cell-input.is-set{background:var(--fx-accent-soft);border-color:var(--fx-accent-line);font-weight:700}.fx-empty{color:var(--fx-muted);display:grid;gap:8px;justify-items:center;padding:52px 24px;text-align:center}.fx-empty i{color:var(--fx-faint);font-size:22px}.fx-empty strong{color:var(--fx-ink);font-size:13.5px;font-weight:800}.fx-empty p{font-size:12.5px;line-height:1.6;margin:0;max-width:52ch}.fx-board{border:1px solid var(--fx-border);border-radius:var(--fx-radius);gap:1px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));overflow:hidden}.fx-board,.fx-tile{background:var(--fx-surface);display:grid}.fx-tile{border:none;box-shadow:0 0 0 1px var(--fx-border);cursor:pointer;gap:3px;padding:13px 14px;text-align:left;transition:background-color .14s ease}.fx-tile:hover{background:var(--fx-surface-2)}.fx-tile.is-active{background:var(--fx-accent-soft)}.fx-tile-pair{align-items:center;color:var(--fx-muted);display:flex;font-size:11px;font-weight:800;gap:5px;letter-spacing:.04em}.fx-tile-rate{color:var(--fx-ink);font-family:var(--fx-mono);font-size:18px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em}.fx-tile-foot{align-items:center;color:var(--fx-muted);display:flex;font-family:var(--fx-mono);font-size:10.5px;gap:5px}.fx-tile-flag{color:var(--fx-accent);font-size:9px}.fx-command{align-items:center;background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:var(--fx-radius);display:flex;flex-wrap:wrap;gap:10px;padding:14px 18px}.fx-command-amount{font-family:var(--fx-mono);font-size:16px;font-weight:700;text-align:right;width:118px}.fx-command-cur{font-family:var(--fx-mono);font-weight:800;width:96px}.fx-command-arrow{color:var(--fx-faint);font-size:12px}.fx-command-out{align-items:baseline;display:flex;gap:8px;margin-left:auto;padding-left:16px}.fx-command-out .fx-figure{color:var(--fx-ink)}.fx-swap{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:50%;color:var(--fx-muted);cursor:pointer;flex:none;height:30px;width:30px}.fx-swap:hover{background:var(--fx-sunken);color:var(--fx-ink)}.fx-resolve{align-items:center;background:var(--fx-surface-2);border-top:1px dashed var(--fx-border);display:flex;flex-wrap:wrap;gap:0;margin:12px -18px -14px;padding:11px 18px}.fx-resolve.is-loading{opacity:.5}.fx-resolve-cell{border-left:1px solid var(--fx-border);display:grid;gap:2px;padding:0 18px}.fx-resolve-cell:first-child{border-left:none;padding-left:0}.fx-chart-body{height:240px}.fx-chart-empty{color:var(--fx-muted);display:grid;font-size:12.5px;height:100%;padding:0 32px;place-items:center;text-align:center}.fx-range{background:var(--fx-sunken);border-radius:999px;display:inline-flex;gap:1px;padding:3px}.fx-range button{background:transparent;border:none;border-radius:999px;color:var(--fx-muted);cursor:pointer;font-family:var(--fx-mono);font-size:10.5px;font-weight:800;padding:5px 11px}.fx-range button.is-active{background:var(--fx-surface);box-shadow:0 1px 3px rgba(var(--fx-shadow),.12);color:var(--fx-ink)}.fx-stats{border:1px solid var(--fx-border);border-radius:var(--fx-radius);gap:1px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));overflow:hidden}.fx-stat,.fx-stats{background:var(--fx-surface);display:grid}.fx-stat{box-shadow:0 0 0 1px var(--fx-border);gap:3px;padding:14px 16px}.fx-note{background:var(--fx-surface-2);border:1px solid var(--fx-border);border-left:3px solid var(--fx-border-strong);border-radius:var(--fx-radius-sm);color:var(--fx-ink-2);font-size:12.5px;line-height:1.65;padding:13px 15px}.fx-note.is-policy{background:var(--fx-accent-soft);border-left-color:var(--fx-accent)}.fx-note.is-warn{background:var(--fx-stale-soft);border-left-color:var(--fx-stale)}.fx-note strong{color:var(--fx-ink);font-weight:800}.fx-note code{background:var(--fx-surface);border:1px solid var(--fx-border);border-radius:5px;font-family:var(--fx-mono);font-size:11.5px;padding:1px 5px}.fx-scroll{overflow:auto;scrollbar-width:thin}@media(max-width:860px){.fx-shell-body{padding:14px}.fx-command-out{margin-left:0;padding-left:0;width:100%}.fx-resolve-cell{padding:0 12px}}
