:root{--accent:#4f7cff;--accent-strong:#3a63e0;--accent-soft:#4f7cff24;--status-success:#22c55e;--status-success-soft:#22c55e24;--status-warn:#f59e0b;--status-warn-soft:#f59e0b29;--status-danger:#ef4444;--status-danger-soft:#ef444424;--status-neutral:#8b95a5;--status-neutral-soft:#8b95a529;--status-info:#06b6d4;--status-info-soft:#06b6d424;--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "SFMono-Regular", Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-pill:999px;--ease:cubic-bezier(.2, .8, .2, 1);--t-fast:.12s;--t-med:.22s;font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--bg-elev:#0f1216;--surface:#14181d;--surface-2:#181d23;--surface-3:#1c2229;--surface-hover:#1f262e;--border:#232a33;--border-strong:#303843;--text:#e7ebf0;--text-strong:#f6f8fb;--text-muted:#9aa4b2;--text-faint:#6b7585;--shadow-sm:0 1px 0 #ffffff08 inset;--gradient-hero:radial-gradient(80% 120% at 0% 0%, #4f7cff1f, transparent 60%), radial-gradient(60% 100% at 100% 0%, #22c55e14, transparent 60%)}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-elev:#fff;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f4f8;--surface-hover:#eff2f6;--border:#e3e7ec;--border-strong:#cbd2db;--text:#1a1f26;--text-strong:#0c1117;--text-muted:#5b6573;--text-faint:#8a93a1;--shadow-sm:0 1px 2px #0f172a0a;--gradient-hero:radial-gradient(80% 120% at 0% 0%, #4f7cff14, transparent 60%), radial-gradient(60% 100% at 100% 0%, #22c55e0f, transparent 60%);--accent-soft:#4f7cff1a;--status-success-soft:#22c55e1f;--status-warn-soft:#f59e0b24;--status-danger-soft:#ef44441a;--status-neutral-soft:#8b95a51f}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-width:320px;min-height:100vh;color:var(--text);transition:background var(--t-med) var(--ease), color var(--t-med) var(--ease);font-size:14px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:var(--radius-md);letter-spacing:.01em;min-height:36px;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);padding:0 14px;font-weight:600}button:hover{background:var(--accent-strong);border-color:var(--accent-strong)}button:active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.ghost{background:var(--surface);border-color:var(--border);color:var(--text)}button.ghost:hover{background:var(--surface-hover);border-color:var(--border-strong)}button.icon-btn{justify-content:center;align-items:center;width:36px;padding:0;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.6}button.is-loading{transform:none}.button-content,.inline-status{justify-content:center;align-items:center;gap:8px;display:inline-flex}.inline-status{color:var(--text-muted);font-size:12.5px;font-weight:600}.inline-status.centered{width:100%}.spinner{border:2px solid;border-right-color:#0000;border-radius:999px;flex:none;width:14px;height:14px;animation:.75s linear infinite spin}input,select{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:var(--radius-md);min-height:36px;transition:border-color var(--t-fast) var(--ease);padding:0 12px}input::placeholder{color:var(--text-faint)}input:hover,select:hover{border-color:var(--border-strong)}code,.mono{font-family:var(--font-mono);word-break:break-all;font-size:12.5px}a{color:var(--accent)}.app-shell{gap:18px;width:min(1480px,100vw - 32px);margin:0 auto;padding:16px 0 64px;display:grid}.app-shell.centered{align-content:center;justify-items:center;min-height:100vh}.topbar{background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius-lg);background-image:var(--gradient-hero);grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:16px;padding:14px 18px;display:grid}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:linear-gradient(135deg, var(--accent), #6f54ff);color:#fff;letter-spacing:-.02em;border-radius:10px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:15px;font-weight:700;display:grid}.brand-text{min-width:0}.brand-text h1{letter-spacing:-.01em;color:var(--text-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:18px;font-weight:650;overflow:hidden}.brand-text .subtitle{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0 0;font-size:12.5px;display:flex}.topbar-nav{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);align-items:center;gap:4px;padding:3px;display:inline-flex}.topbar-nav button{min-height:32px;color:var(--text-muted);white-space:nowrap;background:0 0;border-color:#0000;padding:0 10px}.topbar-nav button:hover,.topbar-nav button.active{background:var(--surface-hover);border-color:var(--border);color:var(--text-strong)}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.section{gap:10px;display:grid}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.section-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:12.5px;font-weight:700}.section-head p{color:var(--text-faint);margin:0;font-size:12.5px}.panel{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:18px}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.panel-header h2,.panel-header h3{letter-spacing:-.005em;color:var(--text-strong);margin:0;font-size:15px;font-weight:650}.panel-header .panel-sub,.panel-header>span{color:var(--text-muted);margin:0;font-size:12.5px}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input{min-width:220px}.hero{border:1px solid var(--border);background:var(--bg-elev);background-image:var(--gradient-hero);border-radius:var(--radius-lg);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center;gap:24px;padding:22px 24px;display:grid;position:relative}.hero-headline{gap:8px;display:grid}.hero-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:11.5px;font-weight:700;display:inline-flex}.hero-headline h2{letter-spacing:-.015em;color:var(--text-strong);margin:0;font-size:26px;font-weight:650;line-height:1.18}.hero-headline .accent-num{font-variant-numeric:tabular-nums}.hero-sub{color:var(--text-muted);margin:0;font-size:13.5px}.hero-stats{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hero-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px}.hero-stat-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11.5px;font-weight:600}.hero-stat-value{letter-spacing:-.01em;color:var(--text-strong);font-variant-numeric:tabular-nums;margin-top:4px;font-size:20px;font-weight:650}.pill{border-radius:var(--radius-pill);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:6px;height:22px;padding:0 10px;font-size:11.5px;font-weight:650;display:inline-flex}.pill-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.pill-success{color:var(--status-success);background:var(--status-success-soft)}.pill-warn{color:var(--status-warn);background:var(--status-warn-soft)}.pill-danger{color:var(--status-danger);background:var(--status-danger-soft)}.pill-neutral{color:var(--text-muted);background:var(--status-neutral-soft)}.pill-accent{color:var(--accent);background:var(--accent-soft)}.pill-info{color:var(--status-info);background:var(--status-info-soft)}.flow-pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;height:22px;padding:0 10px;font-size:11.5px;font-weight:650;display:inline-flex}.flow-pill:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.flow-pill.flow-success{color:var(--status-success);background:var(--status-success-soft)}.flow-pill.flow-fallback{color:var(--status-warn);background:var(--status-warn-soft)}.flow-pill.flow-error{color:var(--status-danger);background:var(--status-danger-soft)}.flow-pill.flow-incomplete{color:var(--text-muted);background:var(--status-neutral-soft)}.outcome-chain{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.outcome-chain.compact{max-width:220px}.outcome-chain.compact .flow-pill{text-overflow:ellipsis;max-width:150px;overflow:hidden}.outcome-chain-arrow{color:var(--text-faint);font-size:11px;font-weight:700}.status-pill{border-radius:var(--radius-pill);height:22px;color:var(--accent);background:var(--accent-soft);align-items:center;gap:6px;padding:0 10px;font-size:11.5px;font-weight:650;display:inline-flex}.filter-group{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:4px;padding:4px;display:inline-flex}.filter-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 8px 0 10px;font-size:11.5px;font-weight:600}.chip{border-radius:var(--radius-pill);height:28px;color:var(--text-muted);cursor:pointer;min-height:0;transition:background var(--t-fast) var(--ease), color var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;display:inline-flex}.chip:hover{background:var(--surface-hover);color:var(--text)}.chip.active{background:var(--bg-elev);color:var(--text-strong);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.chip-removable{background:var(--accent-soft);color:var(--accent);border:1px solid #0000;height:26px;padding:0 4px 0 10px}.chip-removable button{all:unset;cursor:pointer;width:18px;height:18px;color:var(--accent);opacity:.7;border-radius:50%;place-items:center;margin-left:4px;font-weight:700;display:grid}.chip-removable button:hover{opacity:1;background:#4f7cff29}.date-input{flex-direction:column;gap:3px;display:inline-flex}.date-input span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10.5px;font-weight:600}.date-input input{min-height:30px;padding:0 8px;font-size:12.5px}.filter-panel{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:0;overflow:hidden}.filter-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.filter-panel-head .left{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:0;display:flex}.filter-panel-head .right{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.active-filters{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.filter-panel-body{border-top:1px solid var(--border);background:var(--surface-2);gap:16px;padding:16px;display:grid}.filter-group-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:11px;font-weight:700}.filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px;display:grid}.filter-grid label{flex-direction:column;gap:4px;min-width:0;font-size:12px;display:flex}.filter-grid label span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.filter-actions{align-items:center;gap:8px;display:flex}@media (width<=1080px){.filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.filter-grid{grid-template-columns:1fr}}.baseline-section{gap:12px}.baseline-volume{color:var(--text-muted);align-items:baseline;gap:6px;font-size:12px;display:inline-flex}.baseline-volume strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:18px}.baseline-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.baseline-card{gap:5px;padding:14px 16px;display:grid}.baseline-card span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11.5px;font-weight:700}.baseline-card strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:24px;font-weight:650;line-height:1}.baseline-card small{color:var(--text-muted);font-size:12px}.baseline-card.success{border-color:color-mix(in srgb, var(--status-success) 45%, var(--border))}.baseline-card.success strong{color:var(--status-success)}.baseline-card.danger{border-color:color-mix(in srgb, var(--status-danger) 45%, var(--border))}.baseline-card.danger strong{color:var(--status-danger)}.baseline-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.baseline-list-panel{gap:12px;display:grid}.baseline-list{gap:8px;display:grid}.baseline-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:34px;padding:8px 10px;display:grid}.baseline-row span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-size:13px;overflow:hidden}.baseline-row strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:13px}.baseline-row small{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}@media (width<=1080px){.baseline-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.baseline-grid,.baseline-detail-grid{grid-template-columns:1fr}}.kpi-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.kpi{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);gap:4px;padding:14px 16px;display:grid;position:relative;overflow:hidden}.kpi.clickable{cursor:pointer}.kpi.clickable:hover{background:var(--surface-hover);border-color:var(--border-strong)}.kpi.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.kpi-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11.5px;font-weight:600}.kpi-value{letter-spacing:-.02em;color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:24px;font-weight:650;line-height:1.05}.kpi-meta{color:var(--text-muted);font-size:11.5px}.kpi-success .kpi-value{color:var(--status-success)}.kpi-warn .kpi-value{color:var(--status-warn)}.kpi-danger .kpi-value{color:var(--status-danger)}@media (width<=1080px){.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.analytics-section{gap:12px}.chart-window-label{color:var(--text-muted);font-size:12px;font-weight:600}.analytics-grid{grid-template-columns:minmax(0,1.8fr) minmax(320px,.85fr);align-items:stretch;gap:12px;display:grid}.chart-panel{align-content:start;gap:14px;min-width:0;display:grid}.chart-card-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.chart-card-head.compact{margin-bottom:-2px}.chart-card-head h3{color:var(--text-strong);margin:0;font-size:15px;font-weight:650}.chart-card-head p{color:var(--text-muted);margin:3px 0 0;font-size:12.5px}.chart-card-head>span{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:650}.chart-wrap{gap:10px;min-width:0;display:grid}.trend-chart{width:100%;height:auto;min-height:260px;display:block}.chart-axis,.chart-gridline{stroke:var(--border-strong);stroke-width:1px}.chart-gridline{opacity:.55}.chart-axis-label,.chart-x-label{fill:var(--text-muted);font-size:11px;font-weight:600}.chart-axis-label{text-anchor:end}.trend-bar{transition:opacity var(--t-fast) var(--ease), filter var(--t-fast) var(--ease)}.trend-bar:hover{filter:brightness(1.12)}.trend-bar.flow-success,.donut-segment.flow-success{fill:var(--status-success)}.trend-bar.flow-fallback,.donut-segment.flow-fallback{fill:var(--status-warn)}.trend-bar.flow-error,.donut-segment.flow-error{fill:var(--status-danger)}.trend-bar.flow-incomplete,.donut-segment.flow-incomplete{fill:var(--status-neutral)}.success-rate-line{fill:none;stroke:var(--text-strong);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.chart-legend{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.legend-item{color:var(--text-muted);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.legend-item>span{background:var(--text-muted);border-radius:999px;width:9px;height:9px}.legend-item.flow-success>span{background:var(--status-success)}.legend-item.flow-fallback>span{background:var(--status-warn)}.legend-item.flow-error>span{background:var(--status-danger)}.legend-item.flow-incomplete>span{background:var(--status-neutral)}.legend-item.success-line>span{border-radius:var(--radius-pill);background:var(--text-strong);width:18px;height:3px}.donut-layout{grid-template-columns:150px minmax(0,1fr);align-items:center;gap:14px;display:grid}.donut-chart{width:150px;height:150px}.donut-empty{fill:none;stroke:var(--surface-3);stroke-width:20px}.donut-total{fill:var(--text-strong);font-size:18px;font-weight:700}.donut-label{fill:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:650}.donut-legend,.breakdown-chart{gap:7px;display:grid}.donut-row,.breakdown-row{min-height:0;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:left;padding:8px 10px}.donut-row{grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.donut-row:hover,.breakdown-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.donut-row.active,.breakdown-row.active{border-color:var(--accent);background:var(--accent-soft)}.donut-row span,.breakdown-label{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.donut-row:before{content:"";background:var(--text-muted);border-radius:999px;width:8px;height:8px}.donut-row.flow-success:before{background:var(--status-success)}.donut-row.flow-fallback:before{background:var(--status-warn)}.donut-row.flow-error:before{background:var(--status-danger)}.donut-row.flow-incomplete:before{background:var(--status-neutral)}.donut-row strong,.breakdown-row strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.donut-row small{color:var(--text-muted);font-size:11.5px}.breakdown-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;display:grid}.breakdown-track{border-radius:var(--radius-pill);background:var(--surface-3);grid-column:1/-1;height:7px;overflow:hidden}.breakdown-track span{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--status-info));height:100%;display:block}.empty-chart{border:1px dashed var(--border);border-radius:var(--radius-md);min-height:240px;color:var(--text-muted);place-items:center;font-size:13px;display:grid}.empty-chart.compact{min-height:150px}.button-analytics-section{gap:12px}.loading-status.compact{width:fit-content;margin-top:-4px}.button-analytics-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.button-analytics-grid{grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);align-items:start;gap:12px;display:grid}.button-heatmap-panel{min-width:0}.amount-grid-heatmap{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.amount-grid-cell{text-align:left;min-height:94px;color:var(--text);background:linear-gradient(135deg, rgba(79, 124, 255, calc(var(--heat,.1) * .48)), rgba(6, 182, 212, calc(var(--heat,.1) * .32))), var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);align-content:space-between;gap:8px;padding:12px;display:grid}.amount-grid-cell:hover{background:linear-gradient(135deg, rgba(79, 124, 255, calc(var(--heat,.1) * .62)), rgba(6, 182, 212, calc(var(--heat,.1) * .42))), var(--surface-hover);border-color:var(--border-strong)}.amount-grid-cell[aria-disabled=true]{cursor:default}.amount-grid-cell.is-mixed strong{font-size:18px}.grid-cell-position{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.amount-grid-cell strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.amount-grid-cell small{color:var(--text-muted);font-size:12px}.grid-cell-breakdown{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.35;overflow:hidden}.amount-ranking-list{gap:8px;margin-top:10px;display:grid}.amount-ranking-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;min-height:62px;padding:9px 0;display:grid}.amount-ranking-row:first-child{border-top:0}.amount-ranking-row>span:first-child{gap:2px;min-width:0;display:grid}.amount-ranking-row strong,.amount-ranking-row b{color:var(--text-strong);font-variant-numeric:tabular-nums}.amount-ranking-row small{color:var(--text-muted);font-size:11.5px}.amount-ranking-row .mini-track{grid-column:1/-1;height:6px}.dimension-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-table{max-height:360px}.truncate-cell{text-overflow:ellipsis;white-space:nowrap;max-width:260px;overflow:hidden}@media (width<=1180px){.button-analytics-grid{grid-template-columns:1fr}.button-analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=720px){.button-analytics-kpis,.amount-grid-heatmap,.dimension-grid.compact{grid-template-columns:1fr}}@media (width<=1180px){.analytics-grid{grid-template-columns:1fr}}@media (width<=620px){.donut-layout{grid-template-columns:1fr;justify-items:center}.donut-legend{width:100%}}.revenue-section{gap:12px}.revenue-coverage{color:var(--text-muted);align-items:baseline;gap:6px;font-size:12px;display:inline-flex}.revenue-coverage strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:18px}.revenue-empty{color:var(--text-muted);font-size:13px}.revenue-shell{gap:12px;display:grid}.revenue-currency-strip{gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.revenue-currency{text-align:left;background:var(--surface);min-width:160px;min-height:70px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);gap:2px;padding:10px 12px;display:grid}.revenue-currency:hover{background:var(--surface-hover);border-color:var(--border-strong)}.revenue-currency.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.revenue-currency span{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);font-size:11px;font-weight:700}.revenue-currency strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.revenue-currency small,.revenue-footnote{color:var(--text-muted);font-size:12px}.revenue-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);align-items:start;gap:12px;display:grid}.revenue-main{gap:12px;display:grid}.revenue-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.revenue-kpi{text-align:left;background:var(--surface);min-height:118px;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-content:start;gap:6px;padding:12px;display:grid}.revenue-kpi:hover{background:var(--surface-hover);border-color:var(--border-strong)}.revenue-kpi.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.revenue-kpi span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:700}.revenue-kpi strong{color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:20px;font-weight:650;line-height:1.1}.revenue-kpi.flow-success strong{color:var(--status-success)}.revenue-kpi.flow-fallback strong{color:var(--status-warn)}.revenue-kpi.flow-error strong{color:var(--status-danger)}.revenue-kpi small{color:var(--text-muted);font-size:11.5px}.revenue-chart,.revenue-breakdown{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:14px}.revenue-chart-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.revenue-chart-head h3,.revenue-breakdown h3{color:var(--text-strong);margin:0;font-size:14px;font-weight:650}.revenue-chart-head span{color:var(--text-muted);font-size:12px}.revenue-bars{gap:12px;display:grid}.revenue-bar-row{gap:5px;display:grid}.revenue-bar-label{justify-content:space-between;gap:12px;font-size:12.5px;display:flex}.revenue-bar-label strong{color:var(--text)}.revenue-bar-label span{color:var(--text-strong);font-variant-numeric:tabular-nums;font-weight:650}.revenue-bar-track,.mini-track{border-radius:var(--radius-pill);background:var(--surface-3);width:100%;height:8px;overflow:hidden}.revenue-bar-fill,.mini-track span{border-radius:inherit;background:var(--accent);height:100%;display:block}.revenue-bar-fill.flow-success{background:var(--status-success)}.revenue-bar-fill.flow-fallback{background:var(--status-warn)}.revenue-bar-fill.flow-error{background:var(--status-danger)}.revenue-bar-fill.flow-incomplete{background:var(--status-neutral)}.revenue-bar-row small{color:var(--text-muted);font-size:11.5px}.revenue-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.revenue-breakdown{min-width:0}.revenue-breakdown-list{gap:8px;margin-top:10px;display:grid}.revenue-dimension-row{min-height:58px;color:var(--text);text-align:left;border:0;border-top:1px solid var(--border);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;gap:3px 10px;padding:8px 0;display:grid}.revenue-dimension-row:first-child{border-top:0}.revenue-dimension-row:hover{color:var(--text-strong);background:0 0}.revenue-dimension-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);font-weight:600;overflow:hidden}.revenue-dimension-row strong{color:var(--text-strong);font-variant-numeric:tabular-nums}.revenue-dimension-row small{color:var(--text-muted);font-size:11.5px}.revenue-dimension-row .mini-track{grid-column:1/-1;height:5px}@media (width<=1180px){.revenue-layout{grid-template-columns:1fr}}@media (width<=780px){.revenue-kpis,.revenue-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.revenue-kpis,.revenue-breakdown-grid{grid-template-columns:1fr}}.funnel{align-items:stretch;gap:0;padding-bottom:4px;display:flex;overflow-x:auto}.funnel-step{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex:1 1 0;gap:8px;min-width:140px;padding:14px 14px 12px;display:grid;position:relative}.funnel-step.dropped{background:linear-gradient(180deg, var(--status-danger-soft), var(--surface-2) 60%);border-color:#ef444447}.funnel-step.healthy{border-color:#22c55e38}.funnel-step-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.funnel-step-num{background:var(--accent-soft);width:22px;height:22px;color:var(--accent);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.funnel-step-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:right;flex:1;font-size:11px;font-weight:600}.funnel-step-value{letter-spacing:-.015em;color:var(--text-strong);font-variant-numeric:tabular-nums;font-size:22px;font-weight:650}.funnel-step-meta{color:var(--text-muted);font-size:11.5px}.funnel-bar{border-radius:var(--radius-pill);background:var(--border);height:4px;overflow:hidden}.funnel-bar-fill{background:linear-gradient(90deg, var(--accent), #6f54ff);height:100%}.funnel-arrow{color:var(--text-faint);flex:0 0 36px;align-self:center;place-items:center;display:grid;position:relative}.funnel-arrow svg{display:block}.funnel-arrow .delta{color:var(--text-muted);white-space:nowrap;font-size:11px;font-weight:650;position:absolute;bottom:calc(50% + 14px);left:50%;transform:translate(-50%)}.funnel-arrow.warn .delta{color:var(--status-warn)}.funnel-arrow.danger .delta{color:var(--status-danger)}.split{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px;display:grid}@media (width<=1080px){.split{grid-template-columns:1fr}}.flow-list{gap:8px;display:grid}.flow-row{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;cursor:pointer;width:100%;color:inherit;min-height:0;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 14px;font-weight:500;display:grid}.flow-row:hover{background:var(--surface-hover);border-color:var(--border-strong)}.flow-row.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.flow-row>span{gap:4px;min-width:0;display:grid}.flow-row strong{color:var(--text-strong);font-size:13.5px;font-weight:650;display:block}.flow-row small{color:var(--text-muted);font-size:12px;font-weight:400;display:block}.flow-row b{font-variant-numeric:tabular-nums;letter-spacing:-.015em;font-size:22px;font-weight:650}.flow-row.flow-success b{color:var(--status-success)}.flow-row.flow-fallback b{color:var(--status-warn)}.flow-row.flow-error b{color:var(--status-danger)}.flow-row.flow-incomplete b{color:var(--text-muted)}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dimension-card{gap:8px;display:grid}.dimension-card h3{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0;font-size:11px;font-weight:700}.count-list{gap:4px;display:grid}.count-row,.count-button{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);text-align:left;cursor:pointer;min-height:0;transition:background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;font-weight:500;display:grid}.count-button:hover{background:var(--surface-hover);border-color:var(--border-strong)}.count-button.active{border-color:var(--accent);background:var(--accent-soft)}.count-row span,.count-button span{text-overflow:ellipsis;white-space:nowrap;color:var(--text);overflow:hidden}.count-row strong,.count-button strong{font-variant-numeric:tabular-nums;color:var(--text-strong);font-weight:650}.empty-mini{border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-muted);text-align:center;padding:10px;font-size:12px}.trace-workbench-panel{gap:14px;display:grid}.trace-table-section{gap:8px;display:grid}.trace-table-summary{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:12.5px;display:flex}.table-wrap{border-radius:var(--radius-md);position:relative;overflow-x:auto}.fixed-table-wrap{border:1px solid var(--border);background:var(--surface);max-height:520px;overflow:auto}.table-wrap.is-busy{box-shadow:inset 0 0 0 1px var(--accent-soft)}.table-wrap.is-busy:before{content:"";z-index:5;border-radius:var(--radius-pill);background:linear-gradient(90deg, transparent, var(--accent), transparent);background-repeat:no-repeat;background-size:50% 100%;height:2px;animation:1.2s linear infinite loading;display:block;position:sticky;top:0}.trace-table-wrap{max-height:min(56vh,560px)}.hosting-table-wrap{max-height:min(48vh,480px)}.trace-table-wrap .ops-table{min-width:1120px}.hosting-table-wrap .ops-table{min-width:1560px}table{border-collapse:collapse;width:100%;font-size:13px}.ops-table th,.ops-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 12px}.ops-table th{z-index:2;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);font-size:11px;font-weight:600;position:sticky;top:0}.ops-table tbody tr:last-child td{border-bottom:none}.ops-table tbody tr{transition:background var(--t-fast) var(--ease)}.ops-table tbody tr:hover{background:var(--surface-2)}.ops-table .clickable-row{cursor:pointer}.ops-table .clickable-row[aria-disabled=true]{cursor:wait}.ops-table .selected-row,.ops-table .selected-row:hover{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.ops-table code{background:var(--surface-2);border-radius:var(--radius-sm);padding:2px 6px;font-size:12px}.ops-table small{color:var(--text-muted);margin-top:2px;font-size:11px;display:block}.ops-table .truncate{text-overflow:ellipsis;white-space:nowrap;max-width:240px;overflow:hidden}.ops-table.hosting-table small{font-size:11px}.ops-table.hosting-table details{margin-top:4px;font-size:11.5px}.ops-table.hosting-table details summary{cursor:pointer;color:var(--text-muted);font-weight:600}.ops-table.hosting-table details summary:hover{color:var(--text)}.trace-detail-boundary{border-top:1px solid var(--border);gap:14px;margin-top:10px;padding-top:18px;display:grid}.trace-detail-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.trace-detail-status{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:inline-flex}.trace-detail-head h4{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:11px;font-weight:700}.trace-detail-head p{color:var(--text-faint);margin:3px 0 0;font-size:12.5px}.trace-detail{gap:16px;display:grid}.metadata-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.meta-item{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;min-width:0;padding:10px 12px;display:grid}.meta-item.wide{grid-column:span 2}.meta-item>span,.meta-header span{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:11px;font-weight:600}.meta-item strong{color:var(--text-strong);letter-spacing:-.005em;font-size:13px;font-weight:650}.meta-item .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta-item .mono{font-family:var(--font-mono);font-size:12px}.meta-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.hash-meta .hash-value.revealed{white-space:normal;word-break:break-all}.linked-hosting{border-top:1px solid var(--border);gap:10px;padding:12px 0 4px;display:grid}.linked-hosting-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.linked-hosting-head h4{color:var(--text-strong);margin:0 0 4px;font-size:14px}.linked-hosting-head p{max-width:680px;color:var(--text-muted);margin:0;font-size:12.5px}.linked-hosting-head button{white-space:nowrap;min-height:34px}.linked-hosting-list{gap:8px;display:grid}.linked-hosting-item{border-top:1px solid var(--border);gap:8px;padding:10px 0;display:grid}.linked-hosting-row,.linked-hosting-meta{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.linked-hosting-row strong{color:var(--text-strong)}.linked-hosting-path,.linked-hosting-meta{color:var(--text-muted);font-size:12.5px}.linked-hosting-path,.linked-hosting-meta span{overflow-wrap:anywhere}.hosting-linked-row{background:var(--accent-soft)}@media (width<=1080px){.metadata-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.trace-detail-head{align-items:flex-start;display:grid}.metadata-grid{grid-template-columns:1fr}.meta-item.wide{grid-column:auto}.linked-hosting-head{display:grid}}.timeline{gap:0;display:grid;position:relative}.timeline-empty{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;padding:24px}.tl-step{grid-template-columns:36px minmax(0,1fr);gap:14px;padding:0;display:grid;position:relative}.tl-step+.tl-step{margin-top:6px}.tl-rail{justify-items:center;display:grid;position:relative}.tl-num{background:var(--surface);border:1px solid var(--border-strong);width:28px;height:28px;color:var(--text);font-variant-numeric:tabular-nums;z-index:1;border-radius:50%;place-items:center;margin-top:4px;font-size:12px;font-weight:700;display:grid}.tl-step.donui .tl-num{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tl-step.frapi .tl-num{border-color:var(--status-success);color:var(--status-success);background:var(--status-success-soft)}.tl-step.hosting .tl-num{border-color:var(--status-neutral);color:var(--text);background:var(--status-neutral-soft)}.tl-step.error .tl-num{border-color:var(--status-danger);color:var(--status-danger);background:var(--status-danger-soft)}.tl-line{background:var(--border);z-index:0;width:2px;position:absolute;top:32px;bottom:-10px}.tl-step:last-child .tl-line{display:none}.tl-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);gap:6px;padding:12px 14px;display:grid}.tl-step.donui .tl-card{border-left:3px solid var(--accent)}.tl-step.frapi .tl-card{border-left:3px solid var(--status-success)}.tl-step.hosting .tl-card{border-left:3px solid var(--status-neutral)}.tl-step.error .tl-card{border-left:3px solid var(--status-danger)}.tl-row1{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tl-stage{font-family:var(--font-mono);color:var(--text-strong);letter-spacing:-.005em;font-size:13px;font-weight:650}.tl-row2{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:14px;font-size:12.5px;display:flex}.tl-meta{align-items:center;gap:4px;display:inline-flex}.tl-meta strong{color:var(--text);font-variant-numeric:tabular-nums;font-weight:600}.tl-metadata{font-family:var(--font-mono);color:var(--text-muted);word-break:break-all;margin:4px 0 0;font-size:11.5px}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);width:26px;height:26px;min-height:0;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{border-color:var(--border-strong);background:var(--surface-hover);color:var(--text)}.icon-button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.icon-button:disabled{cursor:not-allowed;opacity:.5}.eye-shape{background:currentColor;border-radius:50%/60%;width:14px;height:9px;display:inline-block;position:relative}.eye-shape:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:25% 35%}.icon-button.active .eye-shape:before{content:"";background:currentColor;height:2px;position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-25deg)}.url-reveal{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.url-reveal .full-url{word-break:break-all;flex:1;min-width:0;font-size:11.5px}.url-eye{flex-shrink:0}.login-panel,.config-panel{width:min(440px,100%)}.login-panel h1,.config-panel h1{letter-spacing:-.015em;color:var(--text-strong);margin:0 0 8px;font-size:22px;font-weight:650}.login-panel p,.config-panel p{color:var(--text-muted);margin:0 0 16px;line-height:1.55}.login-actions{gap:10px;display:grid}.login-note{color:var(--text-faint);margin:14px 0 0;font-size:12.5px}.empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);text-align:center;padding:28px 16px;font-size:13px}.error-banner,.notice-banner{border-radius:var(--radius-md);align-items:center;gap:10px;padding:12px 14px;font-size:13px;display:flex}.error-banner{background:var(--status-danger-soft);color:var(--status-danger);border:1px solid #ef444447}.notice-banner{border:1px solid var(--border);background:var(--surface);color:var(--text-muted)}.error-banner.compact,.notice-banner.compact{padding:10px 12px}.loading-status{border:1px solid var(--accent-soft);border-radius:var(--radius-pill);background:var(--surface);width:fit-content;max-width:100%;color:var(--text-muted);align-items:center;gap:8px;padding:8px 11px;font-size:12.5px;font-weight:650;display:inline-flex}.loading-line{border-radius:var(--radius-pill);background:linear-gradient(90deg, transparent, var(--accent), transparent);background-repeat:no-repeat;background-size:50% 100%;height:2px;animation:1.2s linear infinite loading}@keyframes loading{0%{background-position:-50% 0}to{background-position:150% 0}}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1080px){.hero{grid-template-columns:1fr}}@media (width<=640px){.topbar{grid-template-columns:1fr}.topbar-nav{justify-self:start;max-width:100%;overflow-x:auto}.topbar-actions{justify-content:flex-start}.hero{padding:18px}.hero-headline h2{font-size:22px}}
