:root,:root[data-theme=light]{--bg: #f8fafc;--surface: #ffffff;--surface-alt: #f1f5f9;--text: #0f172a;--text-muted: #64748b;--border: #e2e8f0;--accent: #1e293b;--accent-hover: #0f172a;--accent-soft: #f1f5f9;--accent-contrast: #ffffff;--primary: #2563eb;--primary-hover: #1d4ed8;--primary-soft: #eff6ff;--primary-contrast: #ffffff;--danger-bg: #fef2f2;--danger-border: #fecaca;--danger-text: #dc2626;--warning-bg: #fffbeb;--warning-border: #fde68a;--warning-text: #d97706;--express-bg: #fff7ed;--express-border: #ffedd5;--express-text: #ea580c;--success-bg: #f0fdf4;--success-border: #bbf7d0;--success-text: #16a34a;--info-bg: #eff6ff;--info-border: #bfdbfe;--info-text: #2563eb;--purple-bg: #faf5ff;--purple-border: #e9d5ff;--purple-text: #9333ea;--shadow-card: 0 1px 3px 0 rgba(15, 23, 42, .04), 0 2px 6px -1px rgba(15, 23, 42, .04);--shadow-pop: 0 10px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-hover: 0 12px 24px -4px rgba(15, 23, 42, .08), 0 4px 6px -2px rgba(15, 23, 42, .04);--shadow-nav: 0 -4px 20px rgba(15, 23, 42, .05)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--font-xs: .75rem;--font-sm: .875rem;--font-md: .95rem;--font-lg: 1.125rem;--font-xl: 1.5rem;--font-num: 1.75rem;--touch-min: 44px;--font-family: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=dark]{--bg: #121212;--surface: #1c1c1e;--surface-alt: #2c2c2e;--text: #f5f5f7;--text-muted: #8e8e93;--border: #3a3a3c;--accent: #d1d1d6;--accent-hover: #ffffff;--accent-soft: #2c2c2e;--accent-contrast: #1c1c1e;--primary: #3b82f6;--primary-hover: #60a5fa;--primary-soft: #2c2c2e;--primary-contrast: #ffffff;--danger-bg: #2a1515;--danger-border: #5c2b2b;--danger-text: #ff8a80;--warning-bg: #2a2415;--warning-border: #5c4d28;--warning-text: #ffd666;--express-bg: #2a1f12;--express-border: #5c4228;--express-text: #ffa940;--success-bg: #14241a;--success-border: #2f5040;--success-text: #73d13d;--info-bg: #1c222b;--info-border: #2c3645;--info-text: #69b1ff;--purple-bg: #1f1528;--purple-border: #4a3560;--purple-text: #b37feb;--shadow-card: 0 1px 2px rgba(0, 0, 0, .35);--shadow-pop: 0 8px 28px rgba(0, 0, 0, .45);--shadow-hover: 0 10px 24px rgba(0, 0, 0, .5);--shadow-nav: 0 -4px 20px rgba(0, 0, 0, .35)}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}html,body,#root{min-height:100%}body{font-family:var(--font-family);background:var(--bg);color:var(--text);transition:background .15s,color .15s;line-height:1.45}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.ui-page{max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.ui-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-5)}.ui-page-heading{min-width:0;flex:1 1 240px}.ui-page-title{font-size:var(--font-xl);font-weight:800;letter-spacing:-.02em;margin:0;color:var(--text)}.ui-page-sub{margin:var(--space-2) 0 0;font-size:var(--font-sm);color:var(--text-muted);max-width:780px;line-height:1.5}.ui-page-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:center}.ui-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.ui-card.clickable:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:color-mix(in srgb,var(--primary) 30%,var(--border))}.ui-card-title{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-lg);font-weight:600;padding-bottom:var(--space-2);margin-bottom:var(--space-3);border-bottom:1px solid var(--border)}.ui-card-hint{font-size:var(--font-xs);font-weight:400;color:var(--text-muted)}.ui-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--font-md);min-height:28px}.ui-row>span:first-child{color:var(--text-muted)}.ui-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-4)}.ui-muted{color:var(--text-muted)}.ui-xs{font-size:var(--font-xs)}.ui-sm{font-size:var(--font-sm)}.ui-truncate{max-width:320px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ui-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-pill);font-size:var(--font-sm);font-weight:500;white-space:nowrap}.ui-badge.neutral{background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border)}.ui-badge.success{background:var(--success-bg);color:var(--success-text)}.ui-badge.warning{background:var(--warning-bg);color:var(--warning-text)}.ui-badge.danger{background:var(--danger-bg);color:var(--danger-text)}.ui-badge.info{background:var(--info-bg);color:var(--info-text)}.ui-notice{border-radius:var(--radius-md);padding:var(--space-4);border:1px solid var(--border);background:var(--surface-alt)}.ui-notice.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.ui-notice.warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}.ui-notice.success{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}.ui-notice.info{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}.ui-notice.neutral{background:var(--surface-alt);border-color:var(--border);color:var(--text)}.ui-empty{color:var(--text-muted);font-size:var(--font-md);padding:var(--space-3) 0}.ui-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.ui-panel-header{padding:var(--space-3) var(--space-4);font-size:var(--font-lg);font-weight:600;border-bottom:1px solid var(--border);background:var(--surface-alt)}.ui-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:700px){.ui-table-scroll,.p-table-wrap{box-shadow:inset -14px 0 12px -12px #1c1c1e2e}:root[data-theme=dark] .ui-table-scroll,:root[data-theme=dark] .p-table-wrap{box-shadow:inset -14px 0 12px -12px #0000008c}}.ui-table{width:100%;border-collapse:collapse;text-align:left}.ui-table th{padding:var(--space-3) var(--space-4);font-size:var(--font-xs);font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:2;background:var(--surface)}.ui-table td{padding:var(--space-3) var(--space-4);font-size:var(--font-sm);border-bottom:1px solid var(--border)}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr:hover td{background:var(--surface-alt)}.ui-table.compact td,.ui-table.compact th,.table-compact td,.table-compact th{padding:6px 12px;font-size:13px}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);font-size:var(--font-md);font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s,transform .1s}.ui-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ui-btn:active:not(:disabled){transform:scale(.98)}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-contrast)}.ui-btn.primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);color:var(--primary-contrast);filter:none}.ui-btn.ghost{background:transparent;border-color:var(--border);color:var(--text-muted)}.ui-btn.ghost:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ui-btn.danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger-text)}.ui-btn.danger:hover:not(:disabled){border-color:var(--danger-text);background:var(--danger-bg);color:var(--danger-text)}.ui-btn.success{background:var(--success-text);border-color:var(--success-text);color:var(--surface)}.ui-btn.success:hover:not(:disabled){filter:brightness(.92);background:var(--success-text);border-color:var(--success-text);color:var(--surface)}.ui-input{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--font-sm);font-family:inherit;outline:none;min-height:40px}.ui-input:focus{border-color:var(--accent)}.ui-select{padding:8px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:var(--font-sm);font-family:inherit;outline:none;min-height:40px;cursor:pointer}.ui-select:focus{border-color:var(--accent)}.ui-field{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-sm);font-weight:500;color:var(--text-muted)}.ui-field.row{flex-direction:row;align-items:center;gap:var(--space-2);cursor:pointer;font-weight:400}.ui-field-label{white-space:nowrap}.ui-toolbar{display:flex;gap:var(--space-2);align-items:flex-end;flex-wrap:wrap;margin-bottom:var(--space-4)}.ui-stat-row{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4)}.ui-stat-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 14px;min-width:110px;box-shadow:var(--shadow-card)}.ui-stat-label{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em}.ui-stat-value{font-size:var(--font-num);font-weight:800;margin-top:2px;color:var(--text);line-height:1.2}.ui-stat-chip.success .ui-stat-value{color:var(--success-text)}.ui-stat-chip.warning .ui-stat-value{color:var(--warning-text)}.ui-stat-chip.danger .ui-stat-value{color:var(--danger-text)}.ui-stat-chip.info .ui-stat-value{color:var(--info-text)}.ui-filter-chip{padding:6px 12px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:var(--font-sm);font-family:inherit;min-height:32px;transition:background .12s,border-color .12s,color .12s}.ui-filter-chip:hover{border-color:var(--accent);color:var(--accent)}.ui-filter-chip.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:700}.ui-table td.num,.ui-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ui-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;margin-left:4px;vertical-align:middle;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:.55;flex-shrink:0;transition:opacity .12s,background .12s,color .12s}.ui-copy-btn:hover{opacity:1;background:var(--surface-alt);color:var(--text)}.ui-copy-btn.done{opacity:1;color:var(--success-text)}@media(pointer:coarse){.ui-copy-btn{opacity:.8;width:32px;height:32px}}.ui-order-bar,.ui-toolbar.ui-order-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-card)}.ui-notice+.ui-notice,.ui-notice+.ui-stat-row,.ui-notice+.ui-toolbar,.ui-notice+.ui-panel{margin-top:var(--space-3)}.ui-notice{margin-bottom:var(--space-3)}.ui-page-loader{display:flex;align-items:flex-start;justify-content:center;padding:var(--space-5) var(--space-4);min-height:200px}.ui-page-loader-inner{width:100%;max-width:520px}.ui-page-loader-label{display:block;margin-top:var(--space-4);font-size:var(--font-sm);color:var(--text-muted);text-align:center}.ui-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.ui-panel+.ui-panel,.ui-stat-row+.ui-panel,.ui-toolbar+.ui-panel{margin-top:var(--space-4)}.ui-tab{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface);color:var(--text-muted);font-size:var(--font-sm);font-weight:600;cursor:pointer;transition:background .12s,color .12s,border-color .12s}.ui-tab:hover{border-color:var(--accent);color:var(--text)}.ui-tab.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.ui-tab-badge{min-width:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--primary);color:var(--primary-contrast);font-size:11px;font-weight:700;line-height:18px;text-align:center}.ui-split-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ui-stack-gap{display:flex;flex-direction:column;gap:var(--space-4)}.ui-formula-hint{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--font-sm);color:var(--text-muted);line-height:1.65}.ui-rate-display{font-size:var(--font-num);font-weight:800;color:var(--primary);line-height:1.1}.ui-rate-meta{font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--space-1)}.insights-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--space-1);-webkit-overflow-scrolling:touch}.insights-sum-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-3);margin:var(--space-2) 0}.insights-sum-card{padding:var(--space-3) var(--space-4);min-width:0;overflow:hidden}.insights-sum-label{font-size:var(--font-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.insights-sum-value{font-size:1.5rem;font-weight:800;line-height:1.05;letter-spacing:-.01em}.insights-sum-sub{font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--space-1)}.insights-section-title{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin:var(--space-4) 0 var(--space-2)}.insights-adv-row{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0 var(--space-3);flex-wrap:wrap}.insights-table-inner{border:none!important;border-radius:0!important;box-shadow:none!important}.insights-legend{margin:var(--space-2) 0 0;line-height:1.5}.insights-digest-box{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);font-size:var(--font-sm);line-height:1.65}.insights-chart-card{margin:var(--space-3) 0}.insights-band-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:var(--space-2) 0 var(--space-3)}.insights-matrix-cell{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;border:1px solid var(--border);transition:opacity .12s;color:var(--text)}.insights-matrix-cell--ax{background:var(--success-bg)}.insights-matrix-cell--ay{background:color-mix(in srgb,var(--success-bg) 70%,var(--warning-bg))}.insights-matrix-cell--az{background:var(--warning-bg)}.insights-matrix-cell--bx{background:color-mix(in srgb,var(--success-bg) 50%,var(--surface-alt))}.insights-matrix-cell--by{background:color-mix(in srgb,var(--warning-bg) 80%,var(--surface-alt))}.insights-matrix-cell--bz{background:color-mix(in srgb,var(--warning-bg) 60%,var(--surface-alt))}.insights-matrix-cell--cx{background:var(--surface-alt)}.insights-matrix-cell--cy{background:color-mix(in srgb,var(--warning-bg) 40%,var(--surface-alt))}.insights-matrix-cell--cz{background:var(--danger-bg)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg)}.login-card{width:100%;max-width:360px;padding:var(--space-6) var(--space-5);text-align:center}.login-mark{width:56px;height:56px;margin:0 auto var(--space-3);border-radius:var(--radius-lg);background:var(--accent);color:var(--accent-contrast);font-weight:800;font-size:1.25rem;line-height:56px}.login-logo{font-size:1.5rem;font-weight:800;color:var(--text)}.login-sub{font-size:var(--font-sm);color:var(--text-muted);margin:var(--space-1) 0 var(--space-4)}.login-form{display:flex;flex-direction:column;gap:var(--space-3);text-align:left}.assistant-page{max-width:800px;height:calc(100vh - 64px);display:flex;flex-direction:column;gap:0}.assistant-quick{display:flex;flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) 0;flex-shrink:0}.assistant-feed{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) 0}.assistant-msg-row{display:flex;align-items:flex-end;gap:var(--space-2)}.assistant-msg-row.user{justify-content:flex-end}.assistant-msg-row.bot{justify-content:flex-start}.assistant-msg-body{max-width:75%}.assistant-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--accent-contrast);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}.assistant-avatar.user{background:var(--border);color:var(--text-muted);font-size:10px}.assistant-bubble{padding:var(--space-2) var(--space-3);border-radius:16px;font-size:var(--font-sm);line-height:1.55;white-space:pre-wrap;word-break:break-word}.assistant-bubble.user{background:var(--accent);color:var(--accent-contrast);border-bottom-right-radius:4px}.assistant-bubble.bot{background:var(--surface);color:var(--text);border:1px solid var(--border);border-bottom-left-radius:4px}.assistant-bubble.typing{display:flex;gap:4px;padding:10px 16px}.assistant-typing-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:assistant-blink 1.4s infinite}.assistant-typing-dot:nth-child(2){animation-delay:.2s}.assistant-typing-dot:nth-child(3){animation-delay:.4s}@keyframes assistant-blink{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.assistant-tools-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.assistant-tool-badge{font-size:11px;padding:2px 8px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-weight:600}.assistant-time{font-size:11px;color:var(--text-muted);margin-top:3px;padding-left:2px}.assistant-time.user{text-align:right}.assistant-input-row{display:flex;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--border);flex-shrink:0}.assistant-textarea{flex:1;resize:none;min-height:44px}.assistant-send{width:44px;height:44px;border-radius:50%;padding:0;flex-shrink:0;align-self:flex-end}.assembly-page{margin:0 auto;padding:var(--space-2) var(--space-1)}.an-channels-row{display:flex;gap:var(--space-2);flex-wrap:wrap}.ui-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#00000073;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.ui-modal{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);padding:var(--space-5);width:min(600px,100%);max-height:min(90vh,880px);overflow-y:auto}.ui-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.ui-modal-title{margin:0;font-size:var(--font-lg);font-weight:800;letter-spacing:-.02em}.ui-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-xs);color:var(--text-muted)}.ui-subline{font-size:var(--font-xs);color:var(--text-muted);margin-top:2px}@media(max-width:700px){.ui-grid{grid-template-columns:1fr;gap:var(--space-3)}.ui-split-2{grid-template-columns:1fr}.ui-page-title{font-size:1.25rem}.ui-btn{min-height:var(--touch-min)}.ui-page-actions{width:100%}.ui-page-actions .ui-btn{flex:1 1 auto}.ui-btn.ui-btn-block{width:100%}.ui-toolbar{gap:var(--space-2)}.ui-table th,.ui-table td{padding:var(--space-2) var(--space-3)}.ui-truncate{max-width:180px}.ui-stat-value{font-size:1.4rem}}.dash-page{max-width:1280px}.dash-meta{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;font-size:var(--font-sm);color:var(--text-muted);margin:calc(-1 * var(--space-3)) 0 var(--space-3)}.dash-section{margin-top:var(--space-4)}.dash-section-title,.dash-panel-title{font-size:var(--font-xs);font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:var(--space-2)}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow .15s,transform .15s,border-color .15s}.dash-card.clickable{cursor:pointer}.dash-card.clickable:hover{box-shadow:var(--shadow-pop);transform:translateY(-1px);border-color:var(--accent)}:root[data-theme=dark] .dash-card.clickable:hover{box-shadow:0 6px 20px #00000073}.dash-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3)}.dash-kpi-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.dash-mid-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:var(--space-3);margin-top:var(--space-3)}.dash-ops-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3);margin-top:var(--space-3)}.dash-muted{font-size:var(--font-sm);color:var(--text-muted);padding:var(--space-2) 0}.dash-ops-nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2);text-align:center}.dash-ops-nums-sm{margin-top:var(--space-2)}.dash-ops-val{font-size:1.25rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}.dash-ops-lbl{font-size:11px;color:var(--text-muted);margin-top:2px;text-transform:uppercase;letter-spacing:.04em}.dash-health-pill{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:2px 10px;border-radius:var(--radius-pill);width:fit-content}.dash-health-pill.ok{color:var(--success-text);background:var(--success-bg)}.dash-health-pill.warn{color:var(--warning-text);background:var(--warning-bg)}.dash-health-pill.bad{color:var(--danger-text);background:var(--danger-bg)}.dash-health-pill.mute{color:var(--text-muted);background:var(--surface-2, var(--border))}.dash-health-issues{margin-top:var(--space-2);font-size:11px;color:var(--warning-text);display:flex;flex-direction:column;gap:2px}.dash-struct{display:flex;flex-direction:column;gap:4px}.dash-struct-row{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}.dash-struct-row b{color:var(--text);font-variant-numeric:tabular-nums}.dash-struct-row.accent b{color:var(--success-text)}.dash-struct-foot{margin-top:6px;padding-top:6px;border-top:1px solid var(--border);font-size:10px;color:var(--text-muted)}.dash-packer-list{display:flex;flex-direction:column;gap:2px}.dash-packer-head,.dash-packer-row{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(5,minmax(36px,.55fr));gap:4px;align-items:center;font-size:12px}.dash-packer-head{font-size:10px;color:var(--text-muted);text-transform:lowercase;margin-bottom:2px;text-align:right}.dash-packer-name{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-packer-stat{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.dash-packer-stat.muted{color:var(--text-muted);font-weight:500}.dash-top-list{display:flex;flex-direction:column;gap:8px}.dash-top-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:8px;align-items:center}.dash-top-rank{font-size:11px;font-weight:700;color:var(--text-muted);text-align:center}.dash-top-name{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-top-bar{height:3px;background:var(--border);border-radius:2px;margin-top:4px;overflow:hidden}.dash-top-bar>div{height:100%;background:var(--accent);border-radius:2px}.dash-top-meta{text-align:right;font-size:11px;line-height:1.25}.dash-top-meta b{display:block;font-variant-numeric:tabular-nums}.dash-top-meta span{color:var(--text-muted);font-size:10px}.dash-chart-wrap{margin-top:var(--space-3)}.dash-kpi{padding:var(--space-3) var(--space-3) var(--space-2);display:flex;flex-direction:column;min-width:0;overflow:hidden;border-left:3px solid var(--accent)}.dash-kpi-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.dash-kpi-value{font-size:1.35rem;font-weight:800;line-height:1.05;letter-spacing:-.01em}.dash-kpi-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:4px;flex-wrap:wrap;min-height:18px}.dash-kpi-sub{font-size:11px;color:var(--text-muted)}.dash-kpi-spark{margin-top:var(--space-2);margin-left:calc(-1 * var(--space-3));margin-right:calc(-1 * var(--space-3));margin-bottom:calc(-1 * var(--space-2))}.dash-delta{font-size:10px;font-weight:700;padding:1px 6px;border-radius:var(--radius-pill);white-space:nowrap}.dash-delta.flat{font-weight:600;color:var(--text-muted);padding:0}.dash-panel{padding:var(--space-3)}.dash-funnel-row{display:flex;align-items:center;gap:var(--space-1)}.dash-funnel-arrow{font-size:22px;color:var(--text-muted);flex-shrink:0;line-height:1;opacity:.5}.dash-funnel-stage{flex:1;text-align:center;min-width:0;padding:0 2px}.dash-funnel-value{font-size:1.5rem;font-weight:800;line-height:1}.dash-funnel-label{font-size:var(--font-sm);font-weight:600;color:var(--text);margin-top:2px}.dash-funnel-sub{font-size:10px;color:var(--text-muted);margin-top:1px}.dash-chip-row{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.dash-chip{display:flex;align-items:baseline;gap:6px}.dash-chip-value{font-size:var(--font-md);font-weight:800}.dash-chip-label{font-size:10px;color:var(--text-muted)}.dash-split-bar{display:flex;height:12px;border-radius:var(--radius-pill);overflow:hidden;background:var(--surface-alt);gap:2px}.dash-legend{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-3)}.dash-legend-compact{gap:var(--space-3) var(--space-4)}.dash-legend-item{display:flex;align-items:center;gap:var(--space-2)}.dash-legend-dot{width:8px;height:8px;border-radius:2px;flex-shrink:0;display:inline-block}.dash-legend-name{font-size:var(--font-sm);font-weight:600;color:var(--text)}.dash-legend-pct{font-size:10px;color:var(--text-muted);font-weight:500}.dash-legend-value{font-size:12px;color:var(--text-muted)}.dash-legend-extra{color:var(--text-muted);opacity:.85}.dash-chart-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:2px}.dash-panel-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-2)}.dash-top-list.is-loading{opacity:.55}.dash-period{display:flex;gap:4px}.dash-period-btn{border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;cursor:pointer}.dash-period-btn.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.dash-legend-mini{display:flex;gap:var(--space-3);flex-wrap:wrap}.dash-legend-mini-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted)}.dash-chart-band{position:relative;display:flex;align-items:flex-end;gap:3px;height:180px}.dash-chart-col{flex:1;display:flex;align-items:flex-end;justify-content:center;min-width:0;height:100%;cursor:crosshair;border-radius:4px 4px 0 0}.dash-chart-col.active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.dash-chart-bar{width:78%;min-height:2px;border-radius:4px 4px 0 0;overflow:hidden;display:flex;flex-direction:column-reverse;transition:height .25s,filter .12s;pointer-events:none}.dash-label-row{display:flex;gap:3px;margin-top:4px}.dash-chart-label{flex:1;text-align:center;font-size:10px;white-space:nowrap;min-width:0}.dash-avg-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed var(--text-muted);opacity:.55;z-index:2;pointer-events:none}.dash-avg-tag{position:absolute;right:0;top:-13px;font-size:9px;color:var(--text-muted);background:var(--surface);padding:0 4px}.dash-orders-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none}.dash-chart-footer{display:flex;flex-wrap:wrap;gap:var(--space-3) var(--space-5);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.dash-foot-stat{display:flex;flex-direction:column;gap:1px;font-size:13px;color:var(--text)}.dash-foot-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.dash-banner{display:flex;align-items:center;gap:var(--space-3);background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap}.dash-banner-items{display:flex;gap:var(--space-4);flex-wrap:wrap}.dash-banner-link{font-size:var(--font-sm);font-weight:600;color:var(--warning-text);cursor:pointer}.dash-bar{transition:height .25s,filter .12s}.dash-chart-col:hover .dash-bar,.dash-chart-col.active .dash-bar{filter:brightness(1.1)}.dash-tip{position:fixed;z-index:1000;width:260px;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #0000002e;padding:10px 12px;transform:translateY(-100%)}:root[data-theme=dark] .dash-tip{box-shadow:0 12px 32px #0000008c}.dash-tip-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:4px}.dash-tip-head b{font-size:13px;color:var(--text);text-transform:capitalize}.dash-tip-date{font-size:10px;color:var(--text-muted);font-variant-numeric:tabular-nums}.dash-tip-big{font-size:1.25rem;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.15}.dash-tip-row{display:flex;gap:10px;font-size:12px;color:var(--text-muted);margin-top:2px}.dash-tip-deltas{display:flex;flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border);font-size:11px;font-weight:600}.dash-tip-channels{margin-top:8px;display:flex;flex-direction:column;gap:4px}.dash-tip-ch{display:grid;grid-template-columns:10px 1fr auto auto;gap:6px;align-items:center;font-size:11px}.dash-tip-ch-name{color:var(--text);font-weight:600}.dash-tip-ch-val{color:var(--text);font-variant-numeric:tabular-nums}.dash-tip-ch-ord{color:var(--text-muted);min-width:52px;text-align:right}.dash-tip-foot{margin-top:8px;padding-top:6px;border-top:1px solid var(--border);font-size:11px;color:var(--text-muted)}.dash-daterange-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 12px 32px #0000003d;padding:12px;width:290px;display:flex;flex-direction:column;gap:10px}.dash-daterange-inputs{display:flex;flex-direction:column;gap:6px}.dash-daterange-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-muted)}.dash-daterange-field input[type=date]{background:var(--surface-alt);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:12px;color:var(--text);outline:none}.dash-daterange-presets{display:flex;flex-wrap:wrap;gap:4px}.dash-daterange-preset-btn{background:var(--surface-alt);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:10px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all .15s ease}.dash-daterange-preset-btn:hover{background:var(--border);color:var(--text)}.dash-daterange-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.dash-period-active-tag{display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--accent) 15%,transparent);border:1px solid var(--accent);color:var(--text);border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600}.dash-period-active-tag button{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:0;font-size:12px;line-height:1}.dash-period-active-tag button:hover{color:var(--danger-text)}.dash-cal-nav{display:flex;align-items:center;gap:6px;background:var(--surface-alt);border:1px solid var(--border);border-radius:var(--radius-md);padding:2px 6px}.dash-cal-nav-btn{background:transparent;border:none;color:var(--text);cursor:pointer;padding:2px 6px;border-radius:4px;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:background .12s}.dash-cal-nav-btn:hover:not(:disabled){background:var(--border)}.dash-cal-nav-btn:disabled{opacity:.35;cursor:not-allowed}.dash-cal-title{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;min-width:120px;text-align:center}.dash-cal-today-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);border-radius:4px;padding:1px 6px;font-size:10px;cursor:pointer;margin-left:2px}.dash-cal-today-btn:hover{color:var(--text);border-color:var(--accent)}@media(max-width:1200px){.dash-kpi-grid-6{grid-template-columns:repeat(3,minmax(0,1fr))}.dash-ops-grid{grid-template-columns:1fr 1fr}}@media(max-width:1100px){.dash-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:768px){.dash-kpi-grid,.dash-kpi-grid-6{grid-template-columns:1fr 1fr;gap:var(--space-2)}.dash-mid-grid,.dash-ops-grid{grid-template-columns:1fr}.dash-kpi-value,.dash-funnel-value{font-size:1.25rem}.dash-funnel-row{flex-direction:column;gap:var(--space-2)}.dash-funnel-arrow{transform:rotate(90deg)}.dash-tip{width:min(280px,calc(100vw - 24px))}}.health-verdict{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--border);margin-bottom:var(--space-5);background:var(--surface);box-shadow:var(--shadow-card)}.health-verdict.success{border-left:4px solid var(--success-text);background:var(--success-bg)}.health-verdict.warning{border-left:4px solid var(--warning-text);background:var(--warning-bg)}.health-verdict.danger{border-left:4px solid var(--danger-text);background:var(--danger-bg)}.health-verdict-title{font-size:var(--font-xl);font-weight:800;letter-spacing:-.02em;color:var(--text)}.health-verdict-sub{font-size:var(--font-sm);color:var(--text-muted);margin-top:var(--space-1)}@media(max-width:768px){.dash-kpi-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.dash-kpi-value,.dash-funnel-value{font-size:1.35rem}.dash-funnel-row{flex-direction:column;gap:var(--space-3)}.dash-funnel-arrow{transform:rotate(90deg)}}.p-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface)}.p-table{width:100%;border-collapse:collapse;font-size:var(--font-sm);color:var(--text)}.p-table th{padding:8px 12px;background:var(--surface-alt);font-weight:700;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em;position:sticky;top:0;z-index:2}.p-table td{padding:7px 12px;border-bottom:1px solid var(--border)}.p-table tbody tr:last-child td{border-bottom:none}.p-table tbody tr:hover td{background:var(--surface-alt)}.p-table td.num,.p-table th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.p-error{background:var(--danger-bg);border:1px solid var(--danger-border);border-radius:var(--radius-sm);padding:10px 14px;color:var(--danger-text);margin:8px 0;font-size:var(--font-sm)}.p-empty{padding:48px 0;text-align:center;color:var(--text-muted);font-size:var(--font-sm)}.p-empty-cell{padding:32px 0;text-align:center;color:var(--text-muted);font-size:var(--font-sm)}.p-strip{display:flex;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border)}.p-strip-item{display:flex;flex-direction:column;padding:8px 16px;border-right:1px solid var(--border);min-width:100px;flex:1 1 90px}.p-strip-label{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1px}.p-strip-value{font-size:var(--font-sm);font-weight:700;line-height:1.3}.p-stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:13px 16px;display:flex;flex-direction:column;gap:3px}.p-stat-label{font-size:11px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.p-stat-value{font-size:1.4rem;font-weight:800;color:var(--text);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}.p-stat-sub{font-size:var(--font-xs);color:var(--text-muted);font-weight:600}.p-prod-link{color:var(--accent);text-decoration:none;cursor:pointer}.p-prod-link:hover{text-decoration:underline}.p-skeleton,.ui-skeleton{background:linear-gradient(90deg,var(--surface-alt) 0%,color-mix(in srgb,var(--surface-alt) 65%,var(--surface)) 50%,var(--surface-alt) 100%);background-size:200% 100%;border-radius:var(--radius-sm);animation:skeleton-shimmer 1.6s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.hub-shell-desktop{display:flex;min-height:100vh;height:100vh;background:var(--bg);overflow:hidden}.hub-main-col{flex:1;display:flex;flex-direction:column;min-width:0;height:100vh;overflow:hidden}.hub-main-col>main{flex:1;padding:24px 32px;overflow-y:auto;min-width:0}.hub-mobile-body{flex:1;display:flex;flex-direction:column;min-width:0}.hub-shell-mobile{display:flex;flex-direction:column;min-height:100dvh;background:var(--bg)}.hub-shell-mobile>main{flex:1;padding:16px 14px;overflow-y:auto;padding-bottom:calc(var(--hub-bottom-height, 64px) + 16px)}.hub-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:800;font-size:13px;letter-spacing:-.02em;box-shadow:0 2px 8px #2563eb59;cursor:pointer;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease}.hub-logo-mark:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2563eb73}:root[data-theme=dark] .hub-logo-mark{background:var(--surface-alt);color:var(--text);border:1px solid var(--border);box-shadow:none}:root[data-theme=dark] .hub-logo-mark:hover{background:var(--border);box-shadow:none}.hub-topbar{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;z-index:50;gap:16px}.hub-topbar-left{display:flex;align-items:center;gap:14px;min-width:0}.hub-topbar-crumb{display:flex;align-items:center;gap:8px;font-size:13.5px;white-space:nowrap}.hub-topbar-group{color:var(--text-muted);font-weight:500}.hub-topbar-slash{color:var(--border);font-size:12px}.hub-topbar-current{display:inline-flex;align-items:center;gap:6px;color:var(--text);font-weight:700}.hub-status-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--success-bg);border:1px solid var(--success-border);font-size:11.5px;color:var(--success-text);font-weight:600;white-space:nowrap}.hub-pulse-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 #22c55eb3;animation:hub-pulse 2s infinite;flex-shrink:0}@keyframes hub-pulse{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.hub-topbar-center{flex:1;max-width:440px;margin:0 16px}.hub-topbar-search{width:100%;display:flex;align-items:center;gap:10px;padding:7px 14px;border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all .15s ease}.hub-topbar-search:hover{border-color:var(--primary);background:var(--surface);color:var(--text);box-shadow:0 0 0 3px var(--primary-soft)}.hub-search-label{flex:1;text-align:left;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-search-kbd{padding:2px 6px;border-radius:6px;border:1px solid var(--border);background:var(--surface);font-size:10.5px;font-weight:700;color:var(--text-muted);line-height:1.2}.hub-topbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.hub-urgent-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-pill);background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);font-size:12px;font-weight:600;cursor:pointer;transition:transform .12s,box-shadow .12s}.hub-urgent-chip:hover{transform:translateY(-1px);box-shadow:0 2px 6px #d9770633}.hub-theme-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);cursor:pointer;transition:all .18s ease}.hub-theme-btn:hover{background:var(--surface);color:var(--text);border-color:var(--accent);transform:rotate(15deg)}.hub-role-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:var(--radius-pill);background:var(--surface-alt);border:1px solid var(--border);font-size:11.5px;font-weight:600;color:var(--text)}.hub-role-dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}.hub-toast-container{position:fixed;top:20px;right:20px;z-index:99999;display:flex;flex-direction:column;gap:10px;pointer-events:none;max-width:380px;width:calc(100vw - 40px)}.hub-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-pop);animation:toast-in .22s cubic-bezier(.16,1,.3,1);transition:all .2s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes toast-in{0%{opacity:0;transform:translate(24px) scale(.96)}to{opacity:1;transform:translate(0) scale(1)}}.hub-toast-icon{flex-shrink:0;margin-top:1px}.hub-toast-content{flex:1;min-width:0}.hub-toast-title{font-size:13px;font-weight:700;color:var(--text);line-height:1.35}.hub-toast-desc{font-size:12px;color:var(--text-muted);margin-top:2px;line-height:1.4}.hub-toast-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:2px;margin-top:-2px;margin-right:-4px;opacity:.7;transition:opacity .12s;flex-shrink:0}.hub-toast-close:hover{opacity:1;color:var(--text)}.hub-toast-success{border-left:4px solid var(--success-text)}.hub-toast-success .hub-toast-icon{color:var(--success-text)}.hub-toast-danger{border-left:4px solid var(--danger-text)}.hub-toast-danger .hub-toast-icon{color:var(--danger-text)}.hub-toast-warning{border-left:4px solid var(--warning-text)}.hub-toast-warning .hub-toast-icon{color:var(--warning-text)}.hub-toast-info{border-left:4px solid var(--primary)}.hub-toast-info .hub-toast-icon{color:var(--primary)}@media(max-width:700px){.hub-toast-container{top:auto;bottom:calc(var(--hub-bottom-height, 64px) + 16px);right:16px;left:16px;width:auto}}.hub-logo-text{font-size:17px;font-weight:800;letter-spacing:-.03em;color:var(--text);white-space:nowrap}.hub-badge{font-size:10.5px;font-weight:700;background:var(--primary);color:#fff;border-radius:var(--radius-pill);padding:0 6px;min-width:19px;text-align:center;line-height:19px;margin-left:auto;box-shadow:0 1px 3px #2563eb4d}:root{--hub-bottom-content: 56px;--hub-bottom-height: calc(var(--hub-bottom-content) + env(safe-area-inset-bottom, 0px))}.hub-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:auto;min-height:var(--hub-bottom-content);padding-top:6px;padding-bottom:calc(6px + env(safe-area-inset-bottom,0px));padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);background:var(--surface);border-top:1px solid var(--border);box-shadow:var(--shadow-nav);display:flex;align-items:stretch;z-index:200}.hub-bottom-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none;font-size:11px;font-weight:600;color:var(--text-muted);position:relative;transition:color .15s;padding:0 4px;line-height:1.15;text-align:center}.hub-bottom-item>span:last-child{max-width:100%;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}.hub-bottom-item.active{color:var(--text)}.hub-bottom-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:28px;height:3px;border-radius:0 0 3px 3px;background:var(--text)}.hub-bottom-btn{border:none;background:transparent;font:inherit;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent}.hub-menu-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#00000073;display:flex;align-items:flex-end}.hub-menu-sheet{width:100%;max-height:min(78vh,640px);background:var(--surface);border-radius:16px 16px 0 0;box-shadow:0 -8px 32px #0000002e;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}.hub-menu-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:10px auto 4px;flex-shrink:0}.hub-menu-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 0 8px;flex:1}.hub-menu-section{padding:4px 0 8px}.hub-menu-section-title{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:10px 18px 6px}.hub-menu-link{display:flex;align-items:center;gap:12px;padding:12px 18px;text-decoration:none;color:var(--text);font-size:15px;font-weight:500;border:none;background:transparent}.hub-menu-link.active{background:var(--surface-alt);font-weight:600}.hub-menu-close{display:block;width:100%;border:none;border-top:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:15px;font-weight:600;padding:14px 16px;cursor:pointer;flex-shrink:0}.hub-m-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;padding-top:calc(12px + env(safe-area-inset-top,0px));background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;color:var(--text)}.hub-role-chip{font-size:11px;font-weight:600;background:var(--surface-alt);color:var(--text-muted);padding:4px 10px;border-radius:var(--radius-pill);border:1px solid var(--border)}.hub-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--border);border-radius:10px;cursor:pointer;color:var(--text-muted);transition:background .15s,color .15s,border-color .15s}.hub-icon-btn:hover{background:var(--surface-alt);color:var(--text);border-color:var(--text-muted)}.hub-sidebar{width:248px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh;position:sticky;top:0;flex-shrink:0;transition:width .2s ease;z-index:100}.hub-sidebar.collapsed{width:72px}.hub-sidebar-head{display:flex;align-items:center;gap:10px;padding:16px 14px 12px;border-bottom:1px solid var(--border);min-height:64px;background:var(--surface)}.hub-sidebar.collapsed .hub-sidebar-head{flex-direction:column;gap:8px;justify-content:center;padding:14px 8px 12px}.hub-sidebar-scroll{flex:1;overflow-y:auto;padding:10px 10px 16px}.hub-sidebar.collapsed .hub-sidebar-scroll{padding:10px 8px 16px}.hub-nav-section{margin-bottom:14px}.hub-nav-section-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:4px 10px 8px}.hub-sidebar.collapsed .hub-nav-section-title{display:none}.hub-nav-link{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;text-decoration:none;font-size:13.5px;font-weight:500;color:var(--text-muted);margin-bottom:1px;transition:background .12s,color .12s;min-height:40px}.hub-sidebar.collapsed .hub-nav-link{justify-content:center;padding:10px}.hub-sidebar.collapsed .hub-nav-link span.label,.hub-sidebar.collapsed .hub-badge{display:none}.hub-nav-link:hover{background:var(--surface-alt);color:var(--text)}.hub-nav-link.active{background:var(--primary-soft);color:var(--primary);font-weight:600;position:relative}.hub-nav-link.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3.5px;border-radius:0 4px 4px 0;background:var(--primary)}:root[data-theme=dark] .hub-nav-link.active{background:var(--surface-alt);color:var(--text)}:root[data-theme=dark] .hub-nav-link.active:before{background:var(--accent)}:root[data-theme=dark] .hub-badge{background:var(--accent);color:var(--accent-contrast);box-shadow:none}.hub-sidebar-foot{display:flex;align-items:center;gap:8px;padding:12px;border-top:1px solid var(--border)}.hub-sidebar.collapsed .hub-sidebar-foot{flex-direction:column;padding:12px 8px}.hub-sidebar.collapsed .hub-role-chip{display:none}.hub-sidebar.editing{width:280px}.hub-nav-edit-actions{margin-left:auto}.hub-nav-edit-done{border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-size:12px;font-weight:600;padding:6px 10px;border-radius:8px;cursor:pointer}.hub-nav-edit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;padding:0 2px}.hub-nav-edit-toolbar-title{font-size:12px;font-weight:700;color:var(--text)}.hub-nav-edit-link{border:none;background:none;color:var(--text-muted);font-size:12px;cursor:pointer;text-decoration:underline;padding:0}.hub-nav-editor-hint{font-size:11.5px;line-height:1.45;color:var(--text-muted);margin:0 0 12px}.hub-nav-edit-group{border:1px solid var(--border);border-radius:12px;background:var(--surface-alt);margin-bottom:10px;overflow:hidden}.hub-nav-edit-group-head.drag-over,.hub-nav-edit-items.drag-over{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-soft)}.hub-nav-edit-group-head{display:flex;align-items:center;gap:6px;padding:8px 8px 6px;border-bottom:1px solid var(--border);border-radius:12px 12px 0 0}.hub-nav-edit-title{flex:1;min-width:0;border:1px solid transparent;background:transparent;color:var(--text);font-size:12px;font-weight:700;padding:4px 6px;border-radius:6px}.hub-nav-edit-title:focus{outline:none;border-color:var(--border);background:var(--surface)}.hub-nav-edit-items{padding:6px;min-height:36px;border-radius:0 0 12px 12px}.hub-nav-edit-item{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:8px;background:var(--surface);border:1px solid var(--border);margin-bottom:4px;font-size:13px;color:var(--text);cursor:grab}.hub-nav-edit-item:last-child{margin-bottom:0}.hub-nav-edit-item.drag-over{border-color:var(--accent);background:var(--accent-soft)}.hub-nav-edit-item.muted{opacity:.85}.hub-nav-edit-item-label{flex:1;min-width:0}.hub-nav-edit-item[draggable=true]{cursor:grab}.hub-nav-edit-item[draggable=true]:active{cursor:grabbing;opacity:.85}.hub-drag-handle{cursor:grab;color:var(--text-muted);font-size:11px;letter-spacing:-2px;-webkit-user-select:none;user-select:none;padding:0 2px;touch-action:none}.hub-nav-edit-icon-btn{border:none;background:none;color:var(--text-muted);width:22px;height:22px;border-radius:6px;cursor:pointer;font-size:16px;line-height:1;flex-shrink:0}.hub-nav-edit-icon-btn:hover{background:var(--surface-alt);color:var(--text)}.hub-nav-edit-icon-btn.danger:hover{color:var(--danger-text)}.hub-nav-edit-empty{font-size:11.5px;color:var(--text-muted);padding:8px 6px;text-align:center}.hub-nav-edit-add-group{width:100%;border:1px dashed var(--border);background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:600;padding:9px 10px;border-radius:10px;cursor:pointer;margin-bottom:10px}.hub-nav-edit-add-group:hover{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.hub-nav-edit-pool{border:1px dashed var(--border);border-radius:12px;padding:8px;background:var(--bg)}.hub-nav-edit-pool.drag-over{border-color:var(--accent);background:var(--accent-soft)}.hub-nav-edit-pool-title{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:2px 6px 8px}.hub-nav-editor.compact .hub-nav-edit-group-head{padding-top:6px}.assembly-express-badge{display:inline-flex;align-items:center;gap:4px;background:var(--express-bg);color:var(--express-text);border:1px solid var(--express-border);font-size:11px;font-weight:800;padding:3px 10px;border-radius:999px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;animation:assembly-express-pulse 2s ease-in-out infinite}.assembly-delivery-badge{display:inline-flex;align-items:center;gap:4px;background:var(--surface-alt);color:var(--text-muted);border:1px solid var(--border);font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;white-space:nowrap}.assembly-express-badge.lg{font-size:13px;padding:5px 12px}.assembly-express-card{background:var(--express-bg)!important;border-color:var(--express-border)!important;border-left:5px solid var(--express-text)!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--express-text) 18%,transparent),var(--shadow-card)}.assembly-express-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:10px;background:var(--express-bg);border:1px solid var(--express-border);color:var(--express-text);font-size:14px;font-weight:700}.assembly-express-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--express-bg);border:1px solid var(--express-border)}@keyframes assembly-express-pulse{0%,to{opacity:1}50%{opacity:.82}}.assembly-weigh-badge{display:inline-flex;align-items:center;gap:4px;background:var(--warning-bg);color:var(--warning-text);border:1px solid var(--warning-border);font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.02em;white-space:nowrap}.assembly-weigh-badge.lg{font-size:13px;padding:5px 12px}.assembly-weigh-banner{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;margin-bottom:12px;border-radius:10px;background:var(--warning-bg);border:1px solid var(--warning-border);color:var(--warning-text);font-size:13px;line-height:1.4}.dash-edit-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;background:var(--primary-soft);border:1px solid var(--primary);border-radius:var(--radius-lg);margin-bottom:var(--space-4);flex-wrap:wrap;animation:toast-in .2s ease}:root[data-theme=dark] .dash-edit-banner{background:var(--surface-alt);border-color:var(--border)}:root[data-theme=dark] .dash-block-wrap.drag-over{border-color:var(--accent);background:var(--surface-alt)}.dash-edit-banner-info{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--text);line-height:1.45}.dash-edit-banner-actions{display:flex;gap:8px;align-items:center}.dash-blocks-container{display:flex;flex-direction:column;gap:var(--space-4)}.dash-block-wrap{position:relative;transition:transform .15s ease,border-color .15s ease}.dash-block-wrap.editing{border:1.5px dashed var(--border);border-radius:var(--radius-lg);padding:12px;background:color-mix(in srgb,var(--surface) 65%,transparent)}.dash-block-wrap.editing:hover{border-color:var(--accent)}.dash-block-wrap.drag-over{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-2px);box-shadow:var(--shadow-pop)}.dash-block-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;margin-bottom:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);-webkit-user-select:none;user-select:none}.dash-drag-handle{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text);cursor:grab}.dash-drag-handle:active{cursor:grabbing}.dash-block-actions{display:flex;align-items:center;gap:6px}.dash-block-btn{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface-alt);color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .12s ease}.dash-block-btn:hover:not(:disabled){background:var(--surface);color:var(--text);border-color:var(--accent)}.dash-block-btn:disabled{opacity:.35;cursor:not-allowed}.dash-block-btn.active{color:var(--warning-text);border-color:var(--warning-border);background:var(--warning-bg)}.dash-hidden-placeholder{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--surface-alt);border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);font-size:13px}.ui-page.margin-page{width:fit-content;min-width:100%}.margin-sticky-header{position:sticky;top:-24px;margin-top:-24px;padding-top:24px;background:var(--bg);z-index:25;box-shadow:0 4px 14px #0000000d;width:100%;min-width:100%}@media(max-width:768px){.margin-sticky-header{top:-16px;margin-top:-16px;padding-top:16px}}.margin-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-top:none;border-radius:0 0 var(--radius-lg) var(--radius-lg);font-size:13px;color:var(--text)}.margin-pagination-info{color:var(--text-muted);font-size:13px;font-weight:500}.margin-pagination-info strong{color:var(--text);font-weight:600}.margin-pagination-nav{display:flex;align-items:center;gap:4px}.margin-pagination-btn{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.margin-pagination-btn:hover:not(:disabled):not(.active){background:var(--surface-alt);border-color:var(--accent);color:var(--text)}.margin-pagination-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.margin-pagination-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);font-weight:700;box-shadow:0 1px 3px #00000026}.margin-pagination-dots{display:inline-flex;align-items:center;justify-content:center;width:24px;height:32px;color:var(--text-muted);font-size:13px;-webkit-user-select:none;user-select:none}.margin-pagination-jump{display:inline-flex;align-items:center;gap:6px;margin-left:8px;font-size:12px;color:var(--text-muted)}.margin-pagination-jump-input{width:44px;height:28px;padding:0 4px;text-align:center;border:1px solid var(--border);border-radius:5px;background:var(--surface-alt);color:var(--text);font-size:12px;font-weight:600;outline:none}.margin-pagination-jump-input:focus{border-color:var(--accent);background:var(--surface)}.margin-pagination-size{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted)}.margin-pagination-size-select{padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--surface-alt);color:var(--text);font-size:13px;font-weight:500;outline:none;cursor:pointer}.margin-pagination-size-select:focus{border-color:var(--accent)}.margin-compact-pager{display:inline-flex;align-items:center;gap:3px;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1px 4px;font-size:12px;font-weight:600;color:var(--text);margin-left:2px}.margin-compact-pager-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--text);font-size:14px;cursor:pointer;border-radius:4px;line-height:1}.margin-compact-pager-btn:hover:not(:disabled){background:var(--surface-alt)}.margin-compact-pager-btn:disabled{opacity:.3;cursor:not-allowed}.margin-compact-pager-text{padding:0 4px;white-space:nowrap;color:var(--text-muted);font-size:11px}
