:root{--bg: #efece7;--panel: #fbf9f5;--card: #ffffff;--muted-bg: #e6e1d9;--border: #cfcac2;--border-soft: #e3dfd8;--text: #2b2725;--muted: #7a746d;--accent: #7e1f2c;--accent-soft: color-mix(in srgb, var(--accent) 16%, var(--card));--accent-bg: color-mix(in srgb, var(--accent) 7%, var(--card));--radius-sm: 6px;--radius-md: 10px;--font: system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--text);background:var(--bg);font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer}.shell{display:flex;flex-direction:column;height:100%}.topbar{height:56px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:var(--panel);border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand .dot{width:26px;height:26px;border-radius:50%;background:var(--accent)}.brand .name{font-size:17px;font-weight:700;letter-spacing:.2px}.brand .sub{font-size:12px;color:var(--muted);margin-left:2px}.nav{display:flex;gap:6px;margin-left:24px}.chip{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font-size:13px}.chip.active{background:var(--text);color:var(--panel);border-color:var(--text)}.right{display:flex;align-items:center;gap:14px}.toggle{display:flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;font-size:12px}.toggle button{padding:5px 10px;border:0;background:transparent;color:var(--muted)}.toggle button.on{background:var(--text);color:var(--panel)}.holds-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--accent);color:var(--accent);font-size:13px;background:transparent}.holds-pill .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.avatar{width:32px;height:32px;border-radius:50%;background:var(--border);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;border:0}.body{flex:1;min-height:0;padding:14px 16px 16px}.triptych{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:100%}.conversation{display:grid;grid-template-columns:220px minmax(0,1fr) 440px;gap:16px;height:100%}@media(max-width:1100px){.triptych,.conversation{display:flex;flex-direction:column;height:auto}.conversation .rail{order:3}}.pane{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;min-height:0}.pane-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-soft);font-size:14px;font-weight:600}.pane-head .sub{font-weight:400;color:var(--muted);font-size:12px}.pane-body{flex:1;min-height:0;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:12px}.msg-user{align-self:flex-end;max-width:86%;padding:10px 12px;border-radius:var(--radius-md);background:var(--muted-bg);line-height:1.45;white-space:pre-wrap}.msg-ai{max-width:94%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--card);line-height:1.5;white-space:pre-wrap}.msg-ai .basis{margin-top:8px;font-size:11px;color:var(--muted)}.viewchips{display:flex;gap:6px;flex-wrap:wrap}.viewchip{padding:4px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;border:0}.quick{display:flex;gap:6px;flex-wrap:wrap}.quick button{padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:12px}.composer{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--card)}.composer input{flex:1;border:0;outline:0;font:inherit;background:transparent}.composer button{width:30px;height:30px;border-radius:var(--radius-sm);border:0;background:var(--accent);color:#fff}.composer button:disabled{opacity:.5;cursor:default}.ticker{font-size:11px;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.kpi{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border-soft);background:var(--card)}.kpi .l{font-size:11px;color:var(--muted)}.kpi .v{font-size:20px;font-weight:600}.kpi .d{font-size:11px;color:var(--muted)}.kpi .d.up{color:var(--accent)}.section-title{font-size:12px;color:var(--muted)}.bar-row{display:flex;align-items:center;gap:10px;font-size:12px}.bar-row .lbl{width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bar-row .track{flex:1;height:14px;background:var(--muted-bg);border-radius:3px}.bar-row .fill{height:14px;background:var(--muted);border-radius:3px}.bar-row .fill.top{background:var(--accent)}.bar-row .n{width:40px;text-align:right}.days{display:flex;align-items:flex-end;gap:6px;height:90px;border-bottom:1px solid var(--border);padding:0 2px}.days div{flex:1;background:var(--border);border-radius:3px 3px 0 0}.days div.peak{background:var(--accent)}.funnel{display:flex;gap:6px;font-size:12px}.funnel div{flex:1;padding:6px;background:var(--muted-bg);border-radius:4px;text-align:center}.dashed{padding:10px;border-radius:var(--radius-sm);border:1px dashed var(--border);display:flex;flex-direction:column;gap:6px}.holds{display:flex;flex-direction:column;gap:6px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent-bg);font-size:12px}.holds .t{display:flex;justify-content:space-between;font-weight:600;color:var(--accent)}.hold{display:flex;align-items:center;justify-content:space-between;gap:8px}.hold .desc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hold .actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.hold .when{color:var(--muted)}.hold button{padding:3px 8px;border-radius:4px;border:1px solid var(--accent);color:var(--accent);background:transparent;font-size:12px}.hold button.secondary{border-color:var(--border);color:var(--text)}.stages{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;font-size:11px;text-align:center}.stage{padding:8px 4px;border-radius:var(--radius-sm);background:var(--muted-bg)}.stage .v{font-size:16px;font-weight:600}.table{display:flex;flex-direction:column;border:1px solid var(--border-soft);border-radius:var(--radius-sm);overflow:hidden;font-size:12px}.row{display:grid;grid-template-columns:1.4fr 1.6fr .8fr 1fr;gap:8px;padding:8px 10px;border-top:1px solid var(--border-soft)}.row.head{background:color-mix(in srgb,var(--muted-bg) 55%,var(--panel));color:var(--muted);border-top:0}.row div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail{display:flex;flex-direction:column;gap:6px;padding:16px 12px;background:color-mix(in srgb,var(--muted-bg) 40%,var(--panel));border-right:1px solid var(--border);border-radius:var(--radius-md)}.rail .item{padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;border:0;background:transparent;text-align:left;color:var(--text)}.rail .item.on{background:var(--text);color:var(--panel)}.rail .spacer{flex:1}.rail .ticker{padding:10px;display:flex;flex-direction:column;gap:4px}.tabs{display:flex;gap:6px;font-size:12px}.tabs button{padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent}.tabs button.on{background:var(--text);color:var(--panel);border-color:var(--text)}.rightcol{display:flex;flex-direction:column;gap:12px;min-height:0}.empty{color:var(--muted);font-size:12px}.error{color:var(--accent);font-size:12px}.row.on{background:var(--accent-bg)}.composer button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.composer-opts{display:flex;align-items:center;gap:6px;font-size:12px}.composer-opts select,.tabs select,.tabs .search{font:inherit;font-size:12px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text)}.tabs .search{flex:1;min-width:80px}.toolchip{padding:4px 10px;border-radius:999px;background:var(--muted-bg);color:var(--muted);font-size:11px}.fb{border:0;background:transparent;font-size:12px;padding:2px 4px;opacity:.55}.fb.on,.fb:hover{opacity:1}.chip.accent,.quick button.accent{background:var(--accent);color:#fff;border-color:var(--accent)}.dashed.warn{border-color:var(--accent);background:var(--accent-bg)}.restart-pill{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;border:1px solid var(--accent);background:var(--accent);color:#fff;font-size:13px;cursor:pointer}.chip.danger,.quick button.danger{color:var(--accent);border-color:var(--accent)}.chip:disabled{opacity:.5;cursor:default}.files{margin-top:4px;font-size:11px;color:var(--muted)}.editor{display:flex;flex-direction:column;gap:10px}.editor-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor textarea,.pane-body>textarea{width:100%;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);resize:vertical}.field{display:flex;flex-direction:column;gap:4px;font-size:12px}.field>span{color:var(--muted)}.field>span em{font-style:normal;color:var(--muted)}.field input,.field select{font:inherit;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text)}.checks{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px}.checks label{display:inline-flex;align-items:center;gap:4px}code{font-size:12px;background:var(--muted-bg);padding:1px 4px;border-radius:3px}.filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}.filterbar select,.filterbar input[type=date]{font:inherit;font-size:12px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text)}.filterbar .check{display:inline-flex;align-items:center;gap:4px;color:var(--muted)}.tabs.wrap{flex-wrap:wrap}.kpi.on{border-color:var(--accent)}button.kpi{text-align:left;font:inherit;color:inherit;cursor:pointer}.kpi .d.down{color:var(--muted)}.chart{display:flex;flex-direction:column;gap:4px}.chart svg{width:100%;height:200px;display:block}.chart-readout{font-size:11px;color:var(--muted);min-height:14px}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.barlist{display:flex;flex-direction:column;gap:3px;font-size:12px}.barlist-head{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.barlist-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 6px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;border-radius:4px}.barlist-row.pick:hover{background:var(--accent-bg);cursor:pointer}.barlist-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.barlist-label em{display:block;font-style:normal;font-size:10px;color:var(--muted)}.barlist-track{height:12px;background:var(--muted-bg);border-radius:3px;overflow:hidden}.barlist-fill{display:block;height:12px;background:var(--muted);border-radius:3px}.barlist-fill.top{background:var(--accent)}.barlist-val{white-space:nowrap;font-variant-numeric:tabular-nums}.barlist-val em{font-style:normal;color:var(--muted);font-size:10px}.donut{display:flex;align-items:center;gap:12px}.donut-legend{display:flex;flex-direction:column;gap:3px;font-size:12px}.donut-legend button{border:0;background:transparent;color:var(--text);font:inherit;text-align:left;display:flex;align-items:center;gap:6px;padding:2px 4px;border-radius:4px}.donut-legend button:hover{background:var(--accent-bg)}.donut-legend .sw{width:10px;height:10px;border-radius:2px;display:inline-block}.donut-legend em{font-style:normal;color:var(--muted)}.heatmap{display:flex;flex-direction:column;gap:2px;font-size:10px;color:var(--muted)}.heatmap-row{display:grid;grid-template-columns:30px repeat(24,minmax(0,1fr));gap:2px;align-items:center}.heatmap-row .cell{height:14px;border-radius:2px;background:var(--accent)}.heatmap-row.head span{text-align:center}.bars{display:flex;align-items:flex-end;gap:3px;height:70px;border-bottom:1px solid var(--border);padding:0 2px}.bars div{flex:1;border-radius:2px 2px 0 0}.cohorts{display:flex;flex-direction:column;gap:2px;font-size:11px}.cohort-row{display:grid;grid-template-columns:80px 50px repeat(8,minmax(0,1fr));gap:2px;align-items:center}.cohort-row.head{color:var(--muted)}.cohort-row .cell{height:20px;border-radius:3px;display:flex;align-items:center;justify-content:center}.dates{display:inline-flex;align-items:center;gap:4px}.geomap{display:flex;flex-direction:column;gap:4px}.geomap svg{width:100%;height:auto;display:block;background:var(--panel);border-radius:var(--radius-sm)}.geomap path.geo{stroke:var(--border);stroke-width:.5;transition:fill .12s}.geomap path.geo.hit{stroke:var(--accent)}.geomap path.geo.pick{cursor:pointer}.geomap path.geo:hover{stroke:var(--text);stroke-width:1}:root[data-theme=dark]{color-scheme:dark;--bg: #1c1a19;--panel: #242120;--card: #2b2827;--muted-bg: #35312f;--border: #4a4441;--border-soft: #3a3532;--text: #ece7e1;--muted: #a29b93;--accent: #d97b86}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #1c1a19;--panel: #242120;--card: #2b2827;--muted-bg: #35312f;--border: #4a4441;--border-soft: #3a3532;--text: #ece7e1;--muted: #a29b93;--accent: #d97b86}}.slotnav{display:flex;align-items:center;gap:14px;margin-left:18px;flex-wrap:wrap}.slotgroup{display:flex;align-items:center;gap:6px}.slotlabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.segbtn{position:relative;padding:5px 10px;border:0;background:transparent;color:var(--text);font-size:12.5px;border-right:1px solid var(--border-soft);display:inline-flex;align-items:center;gap:5px}.segbtn:last-child{border-right:0}.segbtn.on{background:var(--text);color:var(--panel)}.segbtn.elsewhere{color:var(--muted);text-decoration:underline dotted}.segbtn .badge{font-style:normal;font-size:10px;padding:1px 5px;border-radius:999px;background:var(--muted-bg);color:var(--muted)}.segbtn.on .badge{background:var(--panel);color:var(--text)}.segbtn .badge.hot{background:var(--accent);color:#fff}.columns{display:grid;gap:12px;height:100%}.slot{position:relative;min-height:0;display:flex}.slot>.pane{flex:1}.slot-tools{position:absolute;top:9px;right:10px;display:flex;gap:4px;z-index:2}.slot-tools button{width:22px;height:22px;border-radius:4px;border:1px solid var(--border);background:var(--panel);color:var(--muted);font-size:12px;padding:0}.slot-tools button:hover{color:var(--text)}.slot.expanded{grid-column:1 / -1}.arranged{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--accent)}.wsbar{display:flex;align-items:center;gap:6px;font-size:12px}.wsbar select{font:inherit;font-size:12px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text)}.palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000040;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:50}.palette{width:min(720px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 20px 60px #00000040;overflow:hidden}.palette input{width:100%;border:0;outline:0;font:inherit;font-size:15px;padding:14px 16px;background:var(--card);color:var(--text);border-bottom:1px solid var(--border-soft)}.palette-list{max-height:50vh;overflow:auto;display:flex;flex-direction:column}.palette-item{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:10px;padding:9px 16px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left}.palette-item.on{background:var(--accent-bg)}.palette-item em{font-style:normal;color:var(--muted);font-size:11px}.palette-group{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}.palette-foot{padding:8px 16px;font-size:11px;color:var(--muted);border-top:1px solid var(--border-soft)}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:40;width:min(380px,92vw)}.toast{background:var(--panel);border:1px solid var(--accent);border-radius:var(--radius-md);padding:10px 12px;box-shadow:0 8px 30px #0003;display:flex;flex-direction:column;gap:6px}.toast-title{font-weight:600;font-size:13px}.toast-body{font-size:12px;color:var(--muted)}.toast-actions{display:flex;gap:6px}.rail .item.head{font-weight:600;color:var(--muted);cursor:default;font-size:11px;text-transform:uppercase;letter-spacing:.4px;padding-bottom:2px}.rail .item .badge{float:right;font-style:normal;font-size:10px;padding:1px 5px;border-radius:999px;background:var(--muted-bg);color:var(--muted)}.rail .item .badge.hot{background:var(--accent);color:#fff}.swatches{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.swatch{display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text);font:inherit;font-size:12px;text-align:left;cursor:pointer}.swatch.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.swatch .strip{display:flex;gap:3px;height:16px}.swatch .strip span{flex:1;border-radius:3px;border:1px solid rgba(0,0,0,.08)}.custom-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12px}.custom-row input[type=color]{width:40px;height:28px;padding:0;border:1px solid var(--border);border-radius:var(--radius-sm);background:transparent}.custom-row select{font:inherit;font-size:12px;padding:4px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card);color:var(--text)}
