:root{--bg:var(--hub-ground,#101318);--bg-raised:var(--hub-panel,#191e26);--bg-hover:var(--hub-panel-2,#212834);--border:var(--hub-line,#303a48);--text:var(--hub-ink,#edf0f5);--text-muted:var(--hub-ink-2,#b7bfcc);--accent:var(--hub-ui,#c9a961);--accent-hover:#d9bd82;--ok:var(--hub-ok,#2e9e63);--warn:var(--hub-warn,#c08a1e);--err:var(--hub-crit,#d6455f);--radius:10px;--sidebar-w:232px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}h1{font-family:Barlow Semi Condensed,IBM Plex Sans,sans-serif;font-size:23px;font-weight:700;letter-spacing:.01em}h2{font-size:15px;margin-bottom:10px}h2,h3{font-weight:600}h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.muted,h3{color:var(--text-muted)}.nowrap{white-space:nowrap}.shell{display:flex;min-height:100vh}.main{flex:1 1;min-width:0;margin-left:var(--sidebar-w)}.page{padding:28px 32px 64px;max-width:1680px}.page-head{margin-bottom:22px}.page-head p{margin-top:2px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);background:var(--bg-raised);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 12px}.sidebar-brand{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;color:var(--text);padding:4px 10px 16px}.sidebar-logo{font-size:20px}.sidebar-nav{display:flex;flex-direction:column;gap:2px;flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--hub-line) transparent}.nav-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--text-muted);font-weight:500}.nav-item.active,.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-icon{width:20px;text-align:center}.sidebar-foot{border-top:1px solid var(--border);padding-top:12px;display:flex;flex-direction:column;gap:8px}.sidebar-user-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-roles{color:var(--text-muted);font-size:12px}.card{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:18px}.card,.card-grid{margin-bottom:18px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.card-grid .card{margin-bottom:0}.module-card{color:var(--text);transition:border-color .15s}.module-card:hover{border-color:var(--accent)}.module-card-icon{font-size:24px;margin-bottom:8px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:13px}.table th{text-align:left;color:var(--text-muted);font-weight:600;white-space:nowrap}.table td,.table th{padding:7px 10px;border-bottom:1px solid var(--border)}.table td{vertical-align:top}.table tr:last-child td{border-bottom:none}.table .num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.badge.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent)}.badge.warn{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.badge.err{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,transparent)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text);font-size:13px;font-weight:550;cursor:pointer}.btn.primary,.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--bg);font-weight:600}.btn.primary:hover{background:var(--accent-hover)}.btn.small{padding:4px 10px;font-size:12px}.btn.ghost{background:transparent}.btn:disabled{opacity:.5;cursor:default}.notice{padding:10px 14px;border-radius:8px;font-size:13px;margin-top:12px;border:1px solid var(--border)}.notice.ok{border-color:color-mix(in srgb,var(--ok) 40%,transparent);color:var(--ok)}.notice.err{border-color:color-mix(in srgb,var(--err) 40%,transparent);color:var(--err)}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:360px;background:var(--bg-raised);border:1px solid var(--border);border-radius:14px;padding:34px 30px;text-align:center}.login-brand{font-size:34px;margin-bottom:8px}.login-card h1{margin-bottom:2px}.login-form{display:flex;flex-direction:column;gap:10px;margin-top:20px}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;padding:9px 12px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:14px;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:12px;gap:12px;margin-bottom:18px}.stat{background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.stat .stat-value{font-family:Barlow Semi Condensed,IBM Plex Sans,sans-serif;font-size:22px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .stat-label{color:var(--text-muted);font-size:12px}.chat-dock-btn{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--accent);color:var(--bg);font-size:20px;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.4);z-index:40}.chat-panel{position:fixed;right:0;top:0;bottom:0;width:min(420px,100vw);background:var(--bg-raised);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:50;box-shadow:-8px 0 30px rgba(0,0,0,.45)}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600}.chat-close{background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer}.chat-body{flex:1 1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.chat-msg{max-width:85%;padding:9px 13px;border-radius:12px;white-space:pre-wrap;word-wrap:break-word;font-size:13.5px}.chat-msg.user{align-self:flex-end;background:var(--accent);color:var(--bg);border-bottom-right-radius:4px}.chat-msg.bot{align-self:flex-start;background:var(--bg-hover);border:1px solid var(--border);border-bottom-left-radius:4px}.chat-msg.pending{color:var(--text-muted);font-style:italic}.chat-input{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}.chat-input textarea{resize:none;height:44px}.chat-page .chat-panel-inline{display:flex;flex-direction:column;height:calc(100vh - 180px);background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.inline-form{display:inline}.chip-row{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:2px 10px;font-size:12px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-muted);cursor:pointer}.chip.on{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.admin-invite{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:10px;gap:10px;align-items:start}@media (max-width:900px){.sidebar{display:none}.main{margin-left:0}.admin-invite{grid-template-columns:1fr}}.bidchat-log{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;max-height:320px;overflow-y:auto}.bidchat-msg{padding:8px 12px;border-radius:10px;font-size:13px;max-width:90%}.bidchat-msg.you{align-self:flex-end;background:var(--bg-hover)}.bidchat-msg.agent{align-self:flex-start}.bidchat-msg.agent,.progress-bar{background:var(--bg-raised);border:1px solid var(--border)}.progress-bar{height:8px;border-radius:999px;overflow:hidden;margin:4px 0 16px}.progress-fill{height:100%;background:var(--ok)}.cube-list{display:flex;flex-direction:column;gap:8px}.cube-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised)}.cube-head{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;flex-wrap:wrap}.cube-head:hover{background:var(--bg-hover)}.cube-rank{color:var(--text-muted);font-size:12px;min-width:34px}.cube-title{flex:1 1;min-width:200px}.cube-body{padding:0 14px 12px 58px;color:var(--text-muted)}.bid-paper{background:#ffffff;color:#1a1a1a;max-width:820px;margin:0 auto;padding:48px 56px;border-radius:4px;box-shadow:0 4px 24px rgba(0,0,0,.35);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.55}.bid-paper .muted{color:#777}.bid-paper p{margin:0 0 10px}.bid-paper ul{padding-left:20px}.bid-paper li{margin-bottom:3px}.bid-h2{color:#1f3864;font-size:15px;letter-spacing:.04em;text-transform:uppercase;border-bottom:2px solid #f4b400;padding-bottom:4px;margin:26px 0 10px}.bid-meta{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:24px;gap:24px}.bid-meta-head{font-weight:700;color:#1f3864;letter-spacing:.06em;font-size:12px;margin-bottom:4px}.bid-sign{display:grid;grid-template-columns:2fr 1fr;grid-gap:40px;gap:40px;margin-top:32px}.bid-sign-line{border-bottom:1px solid #1a1a1a;height:28px;margin-bottom:4px}@media print{.chat-dock,.no-print,.sidebar{display:none!important}.main{margin-left:0!important}.bid-preview-page{padding:0!important}.bid-paper{box-shadow:none;padding:0;max-width:none}}.nav-group-head{width:100%;background:none;border:none;font:inherit;color:inherit;cursor:pointer;text-align:left;display:flex;align-items:center}.nav-caret{margin-left:auto;font-size:11px;opacity:.6}.nav-group-children{margin-left:14px;border-left:1px solid var(--border);padding-left:6px}.nav-group-children .nav-item{padding-top:6px;padding-bottom:6px;font-size:13px}.dt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.dt-search{min-width:180px}.dt-control{display:inline-flex;align-items:center;gap:6px;font-size:13px}.dt-control select{max-width:180px}.dt-count{margin-left:auto;font-size:12px}.dt-th{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.dt-th:hover{color:var(--accent)}.dt-row-click{cursor:pointer}.dt-row-click:hover td{background:var(--bg-hover)}.bid-intake h2{margin:18px 0 8px;font-size:15px}.bid-intake input,.bid-intake select,.bid-intake textarea{width:100%;max-width:520px}.bid-intake label{display:block;margin:4px 0}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:8px;gap:8px;max-width:640px}.timeline{list-style:none;padding:0;margin:0}.timeline li{padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.row-link{color:var(--text);border-bottom:1px dashed var(--border)}.row-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.kv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));grid-gap:4px 24px;gap:4px 24px}.kv-row{display:grid;grid-template-columns:150px 1fr;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.kv-key{color:var(--text-muted)}.kv-val{word-break:break-word}.json-block{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:12px;font-size:12px;overflow-x:auto;white-space:pre-wrap}.pager{display:flex;align-items:center;gap:14px;margin-top:14px}.admin-user-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.perm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:6px;gap:6px}.perm-item{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:13px;cursor:pointer}.perm-item:hover{border-color:var(--accent)}.perm-item.on{color:var(--text)}.perm-box{width:18px;height:18px;border-radius:5px;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;color:var(--ok)}.perm-item.on .perm-box{border-color:color-mix(in srgb,var(--ok) 55%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}.tr-link{cursor:pointer}.tr-link:hover td{background:var(--bg-hover)}.page-wide{max-width:1400px}.two-col{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-bottom:18px}.two-col .card{margin-bottom:0}@media (max-width:1100px){.two-col{grid-template-columns:1fr}}.chart-legend{display:flex;gap:16px;margin-bottom:8px;font-size:12px;color:var(--text-secondary,var(--text-muted))}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{width:10px;height:10px;border-radius:3px;display:inline-block}.bar:hover path{opacity:.8}.delta{display:block;font-size:12px;margin-top:2px}.delta.up{color:var(--ok)}.delta.down{color:var(--err)}.delta.flat{color:var(--text-muted)}.mini-row{padding:5px 0;border-bottom:1px solid var(--border);font-size:13px}.mini-row:last-child{border-bottom:none}.goal-row{padding:8px 0;border-bottom:1px solid var(--border)}.goal-row:last-child{border-bottom:none}.goal-head{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:6px}.meter{height:6px;background:color-mix(in srgb,var(--accent) 18%,transparent);overflow:hidden}.meter,.meter-fill{border-radius:999px}.meter-fill{height:100%;background:var(--accent)}.role-pick-list{display:grid;grid-gap:8px;gap:8px}.role-pick{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);cursor:pointer;font-size:13px}.role-pick:hover{border-color:var(--accent)}.role-pick input{margin-top:3px}.role-pick-perms{display:block;color:var(--text-muted);font-size:12px;margin-top:2px}.po-map-row{display:grid;grid-template-columns:1fr 160px 140px auto;grid-gap:8px;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.po-map-row:last-of-type{border-bottom:none}.rate-add-row{display:grid;grid-template-columns:1fr 1.4fr 100px 110px 1fr auto;grid-gap:8px;gap:8px;margin-top:12px}@media (max-width:900px){.po-map-row,.rate-add-row{grid-template-columns:1fr}}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:6px;gap:6px}.cal-dow{font-size:12px;text-align:center;padding:2px 0}.cal-day{border:1px solid var(--border);border-radius:8px;padding:4px 6px;min-height:92px;overflow:hidden}.cal-day-blank{border-style:dashed;opacity:.35}.cal-day-today{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cal-daynum{font-size:12px;margin-bottom:3px}.cal-evt{display:block;font-size:11px;line-height:1.3;padding:1px 5px;margin-bottom:2px;border-radius:5px;border:1px solid var(--border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text);text-decoration:none}.cal-evt-job{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.cal-evt-money{border-color:color-mix(in srgb,var(--warn) 45%,transparent);background:color-mix(in srgb,var(--warn) 12%,transparent)}.cal-evt-sales{border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 12%,transparent)}.cal-evt-people{border-color:color-mix(in srgb,#a78bfa 55%,transparent);background:color-mix(in srgb,#a78bfa 14%,transparent)}.cal-evt-flag{border-color:color-mix(in srgb,var(--err) 50%,transparent);background:color-mix(in srgb,var(--err) 12%,transparent)}.cal-flag-form{display:grid;grid-template-columns:2fr 1fr 1fr 2fr auto;grid-gap:6px;gap:6px;margin-bottom:12px}@media (max-width:900px){.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.cal-day{min-height:56px;padding:2px 3px}.cal-evt{font-size:9px;padding:0 2px}.cal-flag-form{grid-template-columns:1fr}}:root{--motion:140ms ease}.card,.panel{background:var(--hub-panel);border:1px solid var(--hub-line-soft);border-radius:10px;box-shadow:none;transition:border-color var(--motion)}.card:hover{border-color:var(--hub-line)}.card>h2,.panel>h2{font-family:Barlow Semi Condensed,IBM Plex Sans,sans-serif;font-weight:600;font-size:15px;letter-spacing:.02em;display:flex;align-items:center;gap:8px}.card>h2:before,.panel>h2:before{content:"";display:inline-block;width:3px;height:14px;border-radius:2px;background:var(--hub-ui);flex:none}.stat{background:var(--hub-panel-2);border:1px solid var(--hub-line-soft);border-radius:8px;padding:10px 12px;transition:border-color var(--motion)}.stat:hover{border-color:var(--hub-line)}.stat .stat-value{font-size:24px;color:var(--hub-ink)}.stat .stat-label,.table th{color:var(--hub-ink-3);font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}.table th{border-bottom:1px solid var(--hub-line)}.table td{border-bottom:1px solid var(--hub-line-soft)}.table tbody tr{transition:background var(--motion)}.table tbody tr:hover{background:var(--hub-panel-2)}.mono,.table .num,.table td.num{font-family:IBM Plex Mono,ui-monospace,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:13px}.btn{transition:border-color var(--motion),background var(--motion),color var(--motion);border-radius:8px}.btn:hover{border-color:var(--hub-ui)}.chip{transition:border-color var(--motion),background var(--motion);border-radius:999px}.chip.on{border-color:var(--hub-ui);background:color-mix(in srgb,var(--hub-ui) 16%,transparent)}.badge{border-radius:5px;font-size:11px;letter-spacing:.03em}.sidebar{background:var(--hub-ground);border-right:1px solid var(--hub-line-soft)}.sidebar a{border-left:2px solid transparent;transition:background var(--motion),border-color var(--motion),color var(--motion)}.sidebar a:hover{background:var(--hub-panel)}.sidebar a.active,.sidebar a[aria-current=page]{background:var(--hub-panel);border-left-color:var(--hub-ui)}input:focus,select:focus,textarea:focus{border-color:var(--hub-ui);box-shadow:0 0 0 2px color-mix(in srgb,var(--hub-ui) 25%,transparent)}.age,.hub-mono,.muted time,.stamp{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:12px}@import url("https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--hub-ground:#101318;--hub-panel:#191E26;--hub-panel-2:#212834;--hub-line:#303A48;--hub-line-soft:#29323E;--hub-ink:#EDF0F5;--hub-ink-2:#B7BFCC;--hub-ink-3:#7E8899;--hub-s1:#4E8FD1;--hub-s2:#BE8B1F;--hub-ok:#2E9E63;--hub-warn:#CE6A29;--hub-crit:#D6455F;--hub-ui:#C9A961}[data-hub]{background:var(--hub-ground);color:var(--hub-ink);font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px}[data-hub].hub-page{padding:24px 32px 64px;max-width:none;min-height:100vh}[data-hub] .hub-dash-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--hub-line)}[data-hub] .hub-dash-header-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}[data-hub] .hub-dash-title{font-family:Barlow Semi Condensed,sans-serif;font-weight:700;font-size:26px;color:var(--hub-ink);margin:0 0 4px;letter-spacing:.01em}[data-hub] .hub-dash-meta{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--hub-ink-3)}[data-hub] .hub-meta-sep{color:var(--hub-line)}[data-hub] .hub-meta-muted{color:var(--hub-ink-3)}[data-hub] .hub-age-ok{color:var(--hub-ink-2)}[data-hub] .hub-stalled{color:var(--hub-warn);font-weight:500}[data-hub] .hub-dash-header-right{display:flex;align-items:center;gap:10px}[data-hub] .hub-dash-counts{display:flex;gap:6px}[data-hub] .hub-count-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:500}[data-hub] .hub-count-total{background:var(--hub-panel-2);color:var(--hub-ink-2);border:1px solid var(--hub-line)}[data-hub] .hub-count-warn{background:color-mix(in srgb,var(--hub-warn) 15%,transparent);color:var(--hub-warn);border:1px solid color-mix(in srgb,var(--hub-warn) 35%,transparent)}[data-hub] .hub-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:7px;border:1px solid var(--hub-line);background:var(--hub-panel);color:var(--hub-ink-2);font-family:IBM Plex Sans,sans-serif;font-size:12px;font-weight:500;cursor:pointer;transition:border-color .12s,color .12s}[data-hub] .hub-btn:hover:not(:disabled){border-color:var(--hub-ui);color:var(--hub-ink)}[data-hub] .hub-btn:disabled{opacity:.5;cursor:default}[data-hub] .hub-btn-refresh{font-family:IBM Plex Mono,monospace;font-size:11px}[data-hub] .hub-period-picker{display:flex;gap:4px}[data-hub] .hub-period-btn{padding:5px 10px;font-size:12px}[data-hub] .hub-period-active{background:var(--hub-panel-2);border-color:var(--hub-s1);color:var(--hub-ink)}[data-hub] .hub-sections{display:flex;flex-direction:column;gap:32px}[data-hub] .hub-section{display:flex;flex-direction:column;gap:14px}[data-hub] .hub-section-title{font-family:Barlow Semi Condensed,sans-serif;font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--hub-ink-3);margin:0}[data-hub] .hub-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px}[data-hub] .hub-tile{border-radius:10px;padding:16px;position:relative}[data-hub] .hub-stat-tile{display:flex;flex-direction:column;gap:6px}[data-hub] .hub-tile-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--hub-ink-3);display:flex;align-items:center;gap:5px}[data-hub] .hub-tile-value{font-family:Barlow Semi Condensed,sans-serif;font-weight:700;font-size:28px;color:var(--hub-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}[data-hub] .hub-tile-target{font-size:11px;color:var(--hub-ink-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-tile-ok{border-color:color-mix(in srgb,var(--hub-ok) 40%,transparent)}[data-hub] .hub-tile-ok .hub-tile-value{color:var(--hub-ok)}[data-hub] .hub-tile-crit{border-color:color-mix(in srgb,var(--hub-crit) 40%,transparent)}[data-hub] .hub-tile-crit .hub-tile-value{color:var(--hub-crit)}[data-hub] .hub-tile-not-wired{opacity:.55}[data-hub] .hub-not-wired-msg{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--hub-ink-3)}[data-hub] .hub-partial-dot{color:var(--hub-warn);font-size:8px;line-height:1}[data-hub] .hub-delta{font-family:IBM Plex Mono,monospace;font-size:12px;font-weight:400;margin-left:6px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-delta-ok{color:var(--hub-ok)}[data-hub] .hub-delta-crit{color:var(--hub-crit)}[data-hub] .hub-age-stamp{font-family:IBM Plex Mono,monospace;font-size:11px;color:var(--hub-warn);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-build-ref{font-family:IBM Plex Mono,monospace;color:var(--hub-ui);font-size:11px;text-decoration:underline}[data-hub] .hub-tile-link{text-decoration:none;color:inherit;display:contents}[data-hub] .hub-tile-link .hub-tile:hover{border-color:var(--hub-ui)}[data-hub] .hub-table-tile{background:var(--hub-panel);border:1px solid var(--hub-line-soft);border-radius:10px;overflow:hidden}[data-hub] .hub-table-tile-wrap{display:flex;flex-direction:column;gap:0}[data-hub] .hub-table-tile-wrap>.hub-tile-label{padding:12px 14px 6px;background:var(--hub-panel);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--hub-ink-3);border-bottom:1px solid var(--hub-line-soft)}[data-hub] .hub-table-tile-full{grid-column:1/-1}[data-hub] .hub-table-meta{padding:8px 14px;font-size:11px;color:var(--hub-ink-3);border-bottom:1px solid var(--hub-line-soft)}[data-hub] .hub-table-wrap{overflow-x:auto}[data-hub] .hub-table{width:100%;border-collapse:collapse;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-table th{text-align:left;padding:8px 12px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--hub-ink-3);border-bottom:1px solid var(--hub-line);white-space:nowrap}[data-hub] .hub-table .hub-td-num,[data-hub] .hub-table th.hub-th-right{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-table td{padding:7px 12px;border-bottom:1px solid var(--hub-line-soft);color:var(--hub-ink);vertical-align:top}[data-hub] .hub-table tr:last-child td{border-bottom:none}[data-hub] .hub-table tr:hover td{background:var(--hub-panel-2)}[data-hub] .hub-table-empty{padding:16px;color:var(--hub-ink-3);font-size:13px}[data-hub] .hub-row-top td{background:color-mix(in srgb,var(--hub-s1) 8%,transparent)}[data-hub] .hub-rep-name{font-weight:500;color:var(--hub-ink)}[data-hub] .hub-points{font-weight:600;color:var(--hub-s1)}[data-hub] .hub-mono{font-family:IBM Plex Mono,monospace;font-size:12px}[data-hub] .hub-loading{color:var(--hub-ink-3);padding:20px;font-size:13px}[data-hub] .hub-error{color:var(--hub-crit);padding:16px;font-size:13px;border:1px solid color-mix(in srgb,var(--hub-crit) 30%,transparent);border-radius:8px;background:color-mix(in srgb,var(--hub-crit) 8%,transparent)}[data-hub] .hub-empty{color:var(--hub-ink-3);padding:20px;font-size:13px}[data-hub] .hub-tool-tile-wrap{display:flex;flex-direction:column;gap:0;background:var(--hub-panel);border:1px solid var(--hub-line-soft);border-radius:10px;overflow:hidden}[data-hub] .hub-tool-tile-wrap>.hub-tile-label{padding:12px 14px 6px;background:var(--hub-panel);font-size:11px;font-weight:600;letter-spacing:.07em;color:var(--hub-ink-3);border-bottom:1px solid var(--hub-line-soft)}[data-hub] .hub-tool-tile{border-radius:10px}[data-hub] .hub-tile-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}[data-hub] .hub-tile{background:var(--hub-panel);border:1px solid var(--hub-line-soft);transition:border-color .14s ease,transform .14s ease}[data-hub] .hub-tile:hover{border-color:var(--hub-line)}[data-hub] .hub-section-title{display:flex;align-items:center;gap:8px}[data-hub] .hub-section-title:before{content:"";width:3px;height:14px;border-radius:2px;background:var(--hub-ui)}[data-hub] .hub-section-title:after{content:"";flex:1 1;height:1px;background:var(--hub-line-soft)}[data-hub] .hub-spark{display:block;margin-top:6px;width:100%;height:32px}[data-hub] .hub-ring-wrap{position:relative;width:64px;height:64px}[data-hub] .hub-ring-value{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Barlow Semi Condensed,sans-serif;font-weight:700;font-size:14px;color:var(--hub-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-tile-value-ring{display:flex;align-items:center;gap:10px}[data-hub] .hub-chart-panel{position:relative;background:var(--hub-panel);border:1px solid var(--hub-line-soft);border-radius:10px;padding:14px 16px 10px;transition:border-color .14s ease}[data-hub] .hub-chart-panel:hover{border-color:var(--hub-line)}[data-hub] .hub-chart-panel:after,[data-hub] .hub-chart-panel:before{content:"";position:absolute;width:14px;height:14px;border:2px solid color-mix(in srgb,var(--hub-ui) 55%,transparent);pointer-events:none}[data-hub] .hub-chart-panel:before{top:-1px;left:-1px;border-right:none;border-bottom:none;border-top-left-radius:10px}[data-hub] .hub-chart-panel:after{bottom:-1px;right:-1px;border-left:none;border-top:none;border-bottom-right-radius:10px}[data-hub] .hub-chart-wrap{position:relative;margin-top:8px}[data-hub] .hub-area-chart{display:block;width:100%;height:auto}[data-hub] .hub-chart-empty{padding:34px 0;text-align:center;color:var(--hub-ink-3);font-family:IBM Plex Mono,monospace;font-size:12px}[data-hub] .hub-chart-loading{animation:hub-fade 1.1s ease-in-out infinite alternate}@keyframes hub-fade{0%{opacity:.35}to{opacity:.9}}[data-hub] .hub-gridline{stroke:var(--hub-line-soft);stroke-width:1}[data-hub] .hub-axis-text{fill:var(--hub-ink-3);font-family:IBM Plex Mono,monospace;font-size:9.5px}[data-hub] .hub-series-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}[data-hub] .hub-line-s1{stroke:var(--hub-s1)}[data-hub] .hub-line-s2{stroke:var(--hub-s2)}[data-hub] .hub-crosshair{stroke:var(--hub-ink-3);stroke-width:1;stroke-dasharray:none;opacity:.65}[data-hub] .hub-dot-ring{fill:var(--hub-panel)}[data-hub] .hub-bar{fill:var(--hub-s1);transition:opacity .14s ease}[data-hub] .hub-bar-open{fill:var(--hub-warn)}[data-hub] .hub-bar-hot .hub-bar{opacity:.82}[data-hub] .hub-chart-legend{display:flex;gap:14px;font-size:11px;color:var(--hub-ink-2)}[data-hub] .hub-key{display:inline-flex;align-items:center;gap:6px}[data-hub] .hub-key-line{width:14px;height:2px;border-radius:1px;display:inline-block}[data-hub] .hub-key-rect{width:10px;height:8px;border-radius:2px;display:inline-block}[data-hub] .hub-key-s1{background:var(--hub-s1)}[data-hub] .hub-key-s2{background:var(--hub-s2)}[data-hub] .hub-key-warn{background:var(--hub-warn)}[data-hub] .hub-key-dot{width:8px;height:8px;border-radius:50%;background:var(--hub-s2);display:inline-block}[data-hub] .hub-tooltip{position:absolute;top:8px;transform:translateX(-50%);background:color-mix(in srgb,var(--hub-ground) 88%,transparent);border:1px solid var(--hub-line);border-radius:8px;padding:8px 11px;pointer-events:none;z-index:5;min-width:130px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-hub] .hub-tooltip-title{font-family:IBM Plex Mono,monospace;font-size:10.5px;color:var(--hub-ink-3);margin-bottom:4px}[data-hub] .hub-tooltip-row{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--hub-ink-2)}[data-hub] .hub-tooltip-row strong{color:var(--hub-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-rank{display:flex;flex-direction:column;gap:9px;margin-top:10px}[data-hub] .hub-rank-row{display:grid;grid-template-columns:minmax(90px,38%) 1fr auto;align-items:center;grid-gap:10px;gap:10px}[data-hub] .hub-rank-label{font-size:12px;color:var(--hub-ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-hub] .hub-rank-track{height:8px;border-radius:4px;background:var(--hub-panel-2);overflow:hidden}[data-hub] .hub-rank-fill{height:100%;border-radius:4px;background:linear-gradient(90deg,var(--hub-s1),color-mix(in srgb,var(--hub-s1) 62%,white));transition:width .4s ease}[data-hub] .hub-rank-value{font-family:IBM Plex Mono,monospace;font-size:12px;color:var(--hub-ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}[data-hub] .hub-map-wrap{position:relative;display:flex;flex-direction:column;align-items:center}[data-hub] .hub-map{width:100%;max-width:460px;height:auto}[data-hub] .hub-map-land{fill:var(--hub-panel-2);stroke:color-mix(in srgb,var(--hub-ui) 45%,transparent);stroke-width:1.2;stroke-linejoin:round}[data-hub] .hub-map-dot{fill:var(--hub-s2);stroke:var(--hub-ground);stroke-width:1.5}[data-hub] .hub-map-pulse{fill:none;stroke:var(--hub-s2);stroke-width:1.5;animation:hub-pulse 2.2s ease-out infinite;transform-origin:center;transform-box:fill-box}@keyframes hub-pulse{0%{opacity:.9;transform:scale(.7)}70%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}[data-hub] .hub-map-foot{margin-top:6px;font-size:11px;color:var(--hub-ink-3)}[data-hub] .hub-map-tooltip{top:12px;left:50%}@media (prefers-reduced-motion:reduce){[data-hub] .hub-chart-loading,[data-hub] .hub-map-pulse{animation:none}}[data-hub] .hub-meter{height:6px;border-radius:3px;background:var(--hub-panel-2);border:1px solid var(--hub-line-soft);overflow:hidden;margin:4px 0 5px}[data-hub] .hub-meter-fill{height:100%;border-radius:3px;background:var(--hub-s1);transition:width .4s ease}[data-hub] .hub-meter-ok{background:var(--hub-ok)}[data-hub] .hub-meter-crit{background:var(--hub-crit)}[data-hub] .hub-delta{padding:2px 7px;border-radius:999px;font-size:11px}[data-hub] .hub-delta-ok{background:color-mix(in srgb,var(--hub-ok) 16%,transparent)}[data-hub] .hub-delta-crit{background:color-mix(in srgb,var(--hub-crit) 14%,transparent)}