:root{color-scheme:light;--plane: #f6f7f9;--surface: #ffffff;--surface-2: #f6f7f9;--surface-3: #eceef1;--ink: #0b0b0b;--ink-2: #52514e;--ink-muted: #6c6b66;--border: #e4e6ea;--border-strong: #d3d6dc;--grid: #eceef1;--axis: #d3d6dc;--ring: rgba(11, 11, 11, .08);--shadow-sm: 0 1px 2px rgba(11, 11, 11, .05);--shadow-md: 0 4px 14px rgba(11, 11, 11, .07);--shadow-lg: 0 12px 40px rgba(11, 11, 11, .14);--accent: #2a78d6;--accent-hover: #256abf;--accent-soft: #eaf2fd;--on-accent: #ffffff;--good: #0ca30c;--warning: #fab219;--serious: #ec835a;--critical: #d03b3b;--good-text: #006300;--critical-text: #b02f2f;--good-soft: #e8f6e8;--critical-soft: #fbeaea;--warning-soft: #fdf3e0;--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--seq-1: #cde2fb;--seq-2: #9ec5f4;--seq-3: #6da7ec;--seq-4: #3987e5;--seq-5: #256abf;--seq-6: #104281;--ord-1: #86b6ef;--ord-2: #5598e7;--ord-3: #2a78d6;--ord-4: #1c5cab;--ord-5: #104281;--radius: 10px;--radius-sm: 7px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])){color-scheme:dark;--plane: #0d0d0d;--surface: #1a1a19;--surface-2: #212120;--surface-3: #2c2c2a;--ink: #ffffff;--ink-2: #c3c2b7;--ink-muted: #898781;--border: #2c2c2a;--border-strong: #383835;--grid: #2c2c2a;--axis: #383835;--ring: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--accent: #3987e5;--accent-hover: #5598e7;--accent-soft: #16283f;--good-text: #0ca30c;--critical-text: #e66767;--good-soft: #122a12;--critical-soft: #2e1616;--warning-soft: #33280f;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--seq-1: #184f95;--seq-2: #256abf;--seq-3: #3987e5;--seq-4: #6da7ec;--seq-5: #9ec5f4;--seq-6: #cde2fb;--ord-1: #9ec5f4;--ord-2: #6da7ec;--ord-3: #3987e5;--ord-4: #256abf;--ord-5: #184f95}}:root[data-theme=dark]{color-scheme:dark;--plane: #0d0d0d;--surface: #1a1a19;--surface-2: #212120;--surface-3: #2c2c2a;--ink: #ffffff;--ink-2: #c3c2b7;--ink-muted: #898781;--border: #2c2c2a;--border-strong: #383835;--grid: #2c2c2a;--axis: #383835;--ring: rgba(255, 255, 255, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 14px rgba(0, 0, 0, .45);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .6);--accent: #3987e5;--accent-hover: #5598e7;--accent-soft: #16283f;--good-text: #0ca30c;--critical-text: #e66767;--good-soft: #122a12;--critical-soft: #2e1616;--warning-soft: #33280f;--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--seq-1: #184f95;--seq-2: #256abf;--seq-3: #3987e5;--seq-4: #6da7ec;--seq-5: #9ec5f4;--seq-6: #cde2fb;--ord-1: #9ec5f4;--ord-2: #6da7ec;--ord-3: #3987e5;--ord-4: #256abf;--ord-5: #184f95}*{box-sizing:border-box}body{margin:0;background:var(--plane);color:var(--ink);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}code.mono,.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.layout{display:flex;min-height:100vh}.sidebar{width:236px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:18px 12px;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{font-weight:650;font-size:17px;padding:6px 10px 20px;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}.brand-dot{width:8px;height:8px;border-radius:3px;background:var(--accent)}.nav-group{margin-bottom:16px}.nav-title{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-muted);padding:0 10px 6px;font-weight:600}.nav a{display:block;padding:7px 10px;border-radius:var(--radius-sm);color:var(--ink-2);font-size:13.5px;transition:background .12s,color .12s}.nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav a:hover:not(.active){background:var(--surface-2);color:var(--ink)}.main{flex:1;padding:20px 28px 72px;min-width:0;max-width:1560px}.topbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:18px}.user-chip{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:5px 12px 5px 6px}.avatar{width:22px;height:22px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;font-size:11px;font-weight:650}.icon-btn{background:var(--surface);border:1px solid var(--border);color:var(--ink-2);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:grid;place-items:center;font-size:14px}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}h1{font-size:21px;margin:0;letter-spacing:-.021em;font-weight:650}h2{font-size:14px;margin:0;font-weight:620;letter-spacing:-.01em}h3{font-size:11px;margin:0 0 10px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.07em;font-weight:650}.page-sub{color:var(--ink-2);margin:5px 0 0;font-size:13px;max-width:76ch}.section-title{margin:26px 0 12px;font-size:14px;font-weight:620}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(184px,1fr));gap:12px;margin-bottom:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:14px;box-shadow:var(--shadow-sm)}.cards .card{margin-bottom:0}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:14px;align-items:start}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0 14px}.kpi-card{display:flex;flex-direction:column;gap:3px;padding:15px 16px}.kpi-label{color:var(--ink-2);font-size:12.5px}.kpi{font-size:25px;font-weight:620;letter-spacing:-.025em;line-height:1.15}.kpi-foot{display:flex;gap:7px;align-items:center;margin-top:1px;min-height:17px}.kpi-hint{color:var(--ink-muted);font-size:12px}.hero{font-size:48px;font-weight:640;letter-spacing:-.03em;line-height:1.05}.delta{font-size:12px;display:inline-flex;align-items:center;gap:3px;font-weight:550}.delta.up{color:var(--good-text)}.delta.down{color:var(--critical-text)}.delta.flat{color:var(--ink-muted)}.tone-good .kpi{color:var(--good-text)}.tone-bad .kpi{color:var(--critical-text)}.table-wrap{overflow-x:auto;margin:0 -16px;padding:0 16px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--ink-muted);font-weight:600;white-space:nowrap;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--ink)}.sort-arrow{margin-left:4px;color:var(--accent)}td.right,th.right{text-align:right;font-variant-numeric:tabular-nums}td select{min-width:165px}.table-compact th,.table-compact td{padding:7px 8px}.table-compact td select{min-width:108px}.table-compact td input{padding:6px 8px}td input[type=number]{min-width:72px}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--surface-2)}tbody tr:last-child td{border-bottom:none}.pos{color:var(--good-text)}.neg{color:var(--critical-text)}.muted{color:var(--ink-muted)}.pager{display:flex;gap:10px;align-items:center;justify-content:center;padding-top:12px}.btn{background:var(--accent);color:var(--on-accent);border:1px solid transparent;padding:7px 13px;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-weight:550;font-family:inherit}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{background:var(--surface);border-color:var(--border-strong);color:var(--ink);box-shadow:var(--shadow-sm)}.btn.secondary:hover{background:var(--surface-2)}.btn.danger{background:var(--critical);border-color:transparent}.btn.danger.small{background:transparent;border-color:var(--border-strong);color:var(--critical-text)}.btn.danger.small:hover{background:var(--critical-soft);border-color:var(--critical)}.btn.small{padding:4px 9px;font-size:12px}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);color:var(--ink);padding:7px 10px;border-radius:var(--radius-sm);font-size:13px;width:100%;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field{margin-bottom:12px}.field label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:5px;font-weight:500}.row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.check{display:flex;align-items:center;gap:6px;color:var(--ink-2);font-size:13px;white-space:nowrap}.check input{width:auto}.filter-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 14px;margin-bottom:14px}.filter-bar input,.filter-bar select{width:auto;min-width:170px}.segmented{display:inline-flex;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;gap:2px}.segmented button{background:none;border:none;color:var(--ink-2);padding:5px 11px;border-radius:5px;cursor:pointer;font-size:12.5px;font-family:inherit}.segmented button.active{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow-sm)}.range-custom{display:flex;gap:6px}.range-custom input{width:auto}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin-bottom:18px}.tab{background:none;border:none;color:var(--ink-2);padding:9px 13px;cursor:pointer;font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:inherit}.tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.tab:hover:not(.active){color:var(--ink)}.empty{color:var(--ink-muted);text-align:center;padding:30px 16px;font-size:13px}.empty-title{color:var(--ink);font-weight:600;margin-bottom:4px;font-size:13.5px}.error{color:var(--critical-text);font-size:12.5px;margin-top:8px}.error-box{background:var(--critical-soft);border:1px solid var(--critical);color:var(--critical-text);padding:11px 13px;border-radius:var(--radius);margin-bottom:14px;font-size:13px}.notice{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--accent);color:var(--ink-2);padding:10px 13px;border-radius:var(--radius);margin-bottom:14px;font-size:12.8px;line-height:1.55}.notice code{background:var(--surface-2);padding:1px 5px;border-radius:4px;font-size:11.5px;color:var(--ink)}.refetching{opacity:.55;transition:opacity .15s}.badge{padding:2px 8px;border-radius:5px;font-size:11.5px;font-weight:550;background:var(--surface-2);color:var(--ink-2);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.badge.ok{color:var(--good-text);background:var(--good-soft)}.badge.bad{color:var(--critical-text);background:var(--critical-soft)}.badge.warn{color:#8a5d00;background:var(--warning-soft)}:root[data-theme=dark] .badge.warn{color:var(--warning)}@media (prefers-color-scheme: dark){:root:where(:not([data-theme=light])) .badge.warn{color:var(--warning)}}.badge.info{color:var(--accent);background:var(--accent-soft)}.tag{font-size:12px;color:var(--ink-muted)}.chart-card{padding:15px 16px 12px}.chart-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.chart-title-wrap{min-width:0}.chart-sub{color:var(--ink-muted);font-size:12px;margin-top:2px}.chart-wrap{position:relative}.chart{width:100%;height:auto;display:block;overflow:visible}.grid-line{stroke:var(--grid);stroke-width:1}.axis-line{stroke:var(--axis);stroke-width:1}.axis-text{fill:var(--ink-muted);font-size:11px;font-variant-numeric:tabular-nums}.line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.line-1{stroke:var(--series-1)}.line-2{stroke:var(--series-2)}.marker{stroke:var(--surface);stroke-width:2}.marker-1{fill:var(--series-1)}.marker-2{fill:var(--series-2)}.crosshair{stroke:var(--axis);stroke-width:1}.value-label{fill:var(--ink-2);font-size:11px;font-weight:550}.chart-tip{position:absolute;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:8px 10px;font-size:12px;pointer-events:none;white-space:nowrap;z-index:5;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:3px;min-width:120px}.tip-title{font-weight:620;color:var(--ink);margin-bottom:2px}.tip-row{display:flex;align-items:center;gap:6px;color:var(--ink-2)}.tip-val{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--ink);font-weight:550}.legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ink-2)}.swatch{width:9px;height:9px;border-radius:2px;display:inline-block;flex-shrink:0}.swatch-1{background:var(--series-1)}.swatch-2{background:var(--series-2)}.swatch-3{background:var(--series-3)}.swatch-4{background:var(--series-4)}.swatch-5{background:var(--series-5)}.swatch-6{background:var(--series-6)}.barlist{display:flex;flex-direction:column;gap:7px}.barlist-row{display:grid;grid-template-columns:160px 1fr 92px;gap:10px;align-items:center}.barlist-label{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist-track{height:18px;position:relative}.barlist-fill{background:var(--series-1);height:18px;min-width:3px;border-radius:0 4px 4px 0}.barlist-value{text-align:right;font-size:12.5px;font-variant-numeric:tabular-nums}.funnel{display:flex;flex-direction:column;gap:11px}.funnel-meta{display:flex;justify-content:space-between;font-size:12.5px}.funnel-label{color:var(--ink-2)}.funnel-value{font-weight:600;font-variant-numeric:tabular-nums}.funnel-track{height:20px;margin:3px 0 2px}.funnel-fill{height:20px;border-radius:0 4px 4px 0;min-width:3px}.funnel-1{background:var(--ord-1)}.funnel-2{background:var(--ord-2)}.funnel-3{background:var(--ord-3)}.funnel-4{background:var(--ord-4)}.funnel-5{background:var(--ord-5)}.funnel-hint{font-size:11.5px;color:var(--ink-muted)}.heatmap{display:flex;flex-direction:column;gap:2px;overflow-x:auto}.heatmap-hours,.heatmap-row{display:grid;grid-template-columns:32px repeat(24,minmax(14px,1fr));gap:2px;align-items:center}.heatmap-hour{font-size:9.5px;color:var(--ink-muted);text-align:center}.heatmap-day{font-size:11px;color:var(--ink-muted)}.heatmap-cell{height:16px;border-radius:3px;display:block}.heat-0{background:var(--surface-2)}.heat-1{background:var(--seq-1)}.heat-2{background:var(--seq-2)}.heat-3{background:var(--seq-3)}.heat-4{background:var(--seq-4)}.heat-5{background:var(--seq-5)}.heat-6{background:var(--seq-6)}.heat-scale{display:flex;align-items:center;gap:6px;margin-top:10px;font-size:11px;color:var(--ink-muted)}.heat-scale i{width:16px;height:10px;border-radius:2px;display:block}.donut-wrap{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.donut{width:152px;height:152px;flex-shrink:0}.donut-arc{stroke-linecap:butt}.donut-total{fill:var(--ink);font-size:19px;font-weight:640}.donut-cap{fill:var(--ink-muted);font-size:10px}.donut-legend{list-style:none;margin:0;padding:0;flex:1;min-width:190px;max-width:400px}.donut-legend li{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12.5px}.donut-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.donut-val{font-variant-numeric:tabular-nums;color:var(--ink)}.arc-1{stroke:var(--series-1)}.arc-swatch-1{background:var(--series-1)}.arc-2{stroke:var(--series-2)}.arc-swatch-2{background:var(--series-2)}.arc-3{stroke:var(--series-3)}.arc-swatch-3{background:var(--series-3)}.arc-4{stroke:var(--series-4)}.arc-swatch-4{background:var(--series-4)}.arc-5{stroke:var(--series-5)}.arc-swatch-5{background:var(--series-5)}.arc-6{stroke:var(--series-6)}.arc-swatch-6{background:var(--series-6)}.view-toggle{display:inline-flex;gap:2px}.chart-table td,.chart-table th{padding:6px 10px;font-size:12.5px}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b0b0b66;z-index:40}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(580px,100vw);background:var(--surface);border-left:1px solid var(--border);z-index:41;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border)}.drawer-body{overflow-y:auto;padding:18px 20px 40px}.detail-section{margin-bottom:24px}.detail-list{display:grid;grid-template-columns:175px 1fr;gap:7px 14px;margin:0;font-size:13px}.detail-list dt{color:var(--ink-muted)}.detail-list dd{margin:0;word-break:break-word}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:flex;gap:14px;padding:7px 0 7px 14px;border-left:2px solid var(--border);font-size:13px}.timeline-time{color:var(--ink-muted);min-width:118px;font-variant-numeric:tabular-nums}.account-card{display:flex;flex-direction:column;gap:7px}.account-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.account-actions{margin-top:8px}.login-wrap{display:grid;place-items:center;min-height:100vh;background:var(--plane)}.login-card{width:372px;padding:26px;box-shadow:var(--shadow-md)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}.lp-editor{display:grid;grid-template-columns:1fr 420px;gap:16px;align-items:start}@media (max-width: 1100px){.lp-editor{grid-template-columns:1fr}}.lp-blocks{min-width:0}.block-card{cursor:grab}.block-card:active{cursor:grabbing}.block-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}.grip{color:var(--ink-muted);font-size:16px;cursor:grab;-webkit-user-select:none;user-select:none}.block-actions{margin-left:auto;display:flex;gap:5px}.field-label{display:block;font-size:12.5px;color:var(--ink-2);margin-bottom:8px}.sub-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:11px 12px;margin-bottom:9px}.sub-item .field:last-of-type{margin-bottom:9px}.lp-preview{position:sticky;top:16px}.preview-frame{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.preview-bar{padding:7px 12px;font-size:11.5px;color:var(--ink-muted);border-bottom:1px solid var(--border);background:var(--surface-2)}.preview-frame iframe{width:100%;height:720px;border:none;display:block;background:#fff}
