:root{color-scheme:light;--bg: #f4f5f7;--surface: #ffffff;--surface-2: #f0f1f4;--surface-3: #eaecf0;--line: #e1e3e8;--ink: #1c1f26;--ink-2: #4a4f5a;--muted: #646b78;--accent: #2b2f38;--accent-bg: #e8e9ed;--accent-ring: #6b7280;--on-accent: #ffffff;--ok: #2b2f38;--ok-bg: #dfe1e6;--ok-outline: transparent;--ok-outline-style: solid;--ok-dash: none;--info: #4a4f5a;--info-bg: #ececef;--info-outline: transparent;--info-outline-style: solid;--info-dash: none;--warn: #1c1f26;--warn-bg: #ffffff;--warn-outline: #4a4f5a;--warn-outline-style: solid;--warn-dash: none;--bad: #ffffff;--bad-bg: #1c1f26;--bad-outline: transparent;--bad-outline-style: solid;--bad-dash: none;--neutral: #6b7280;--neutral-bg: #ffffff;--neutral-bg-strong: #c9cdd6;--neutral-outline: #6b7280;--neutral-outline-style: dashed;--neutral-dash: 3 2;--code: #2b2f38;--brand-mark: #e5484d;--finding-ink: #1c1f26;--finding-edge: #4a4f5a;--finding-pad: 8px;--chart-kpi: #1c1f26;--tier-sonnet: #878d9d;--tier-opus: #6a7180;--tier-fable: #4b5163;--link: #1c1f26;--link-weight: 600;--selection-bg: #e8e9ed;--selection-ink: #1c1f26;--control-accent: #2b2f38;--backdrop: rgba(28, 31, 38, .28);--shadow-panel: -12px 0 35px rgba(28, 31, 38, .12);--radius-card: 12px;--radius-control: 8px;--radius-pill: 999px;--topbar-h: 66px;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #0b0e15;--surface: #12151f;--surface-2: #181c28;--surface-3: #1e2331;--line: #232838;--ink: #e9ebf3;--ink-2: #b7bdcc;--muted: #8b93a7;--accent: #8b7dff;--accent-bg: #1f1d3b;--accent-ring: #6d63ff;--on-accent: #0b0e15;--ok: #5fd39a;--ok-bg: #13261d;--ok-outline: transparent;--ok-outline-style: solid;--ok-dash: none;--info: #6ea0ff;--info-bg: #16213a;--info-outline: transparent;--info-outline-style: solid;--info-dash: none;--warn: #e0b04a;--warn-bg: #2a2210;--warn-outline: #2a2210;--warn-outline-style: solid;--warn-dash: none;--bad: #ef6b7a;--bad-bg: #301a1f;--bad-outline: transparent;--bad-outline-style: solid;--bad-dash: none;--neutral: #a3aabd;--neutral-bg: #1b1f2b;--neutral-bg-strong: #3a4150;--neutral-outline: transparent;--neutral-outline-style: solid;--neutral-dash: none;--code: #c9c4ff;--brand-mark: #e5484d;--finding-ink: #ef6b7a;--finding-edge: transparent;--finding-pad: 0px;--chart-kpi: #8b7dff;--tier-sonnet: #5a6580;--tier-opus: #7a7fa8;--tier-fable: #a9a4f0;--link: LinkText;--link-weight: inherit;--selection-bg: Highlight;--selection-ink: HighlightText;--control-accent: auto;--backdrop: rgba(0, 0, 0, .55);--shadow-panel: none}}@media screen{:root[data-theme=dark]{color-scheme:dark;--bg: #0b0e15;--surface: #12151f;--surface-2: #181c28;--surface-3: #1e2331;--line: #232838;--ink: #e9ebf3;--ink-2: #b7bdcc;--muted: #8b93a7;--accent: #8b7dff;--accent-bg: #1f1d3b;--accent-ring: #6d63ff;--on-accent: #0b0e15;--ok: #5fd39a;--ok-bg: #13261d;--ok-outline: transparent;--ok-outline-style: solid;--ok-dash: none;--info: #6ea0ff;--info-bg: #16213a;--info-outline: transparent;--info-outline-style: solid;--info-dash: none;--warn: #e0b04a;--warn-bg: #2a2210;--warn-outline: #2a2210;--warn-outline-style: solid;--warn-dash: none;--bad: #ef6b7a;--bad-bg: #301a1f;--bad-outline: transparent;--bad-outline-style: solid;--bad-dash: none;--neutral: #a3aabd;--neutral-bg: #1b1f2b;--neutral-bg-strong: #3a4150;--neutral-outline: transparent;--neutral-outline-style: solid;--neutral-dash: none;--code: #c9c4ff;--brand-mark: #e5484d;--finding-ink: #ef6b7a;--finding-edge: transparent;--finding-pad: 0px;--chart-kpi: #8b7dff;--tier-sonnet: #5a6580;--tier-opus: #7a7fa8;--tier-fable: #a9a4f0;--link: LinkText;--link-weight: inherit;--selection-bg: Highlight;--selection-ink: HighlightText;--control-accent: auto;--backdrop: rgba(0, 0, 0, .55);--shadow-panel: none}}:root{color:var(--ink);background:var(--bg);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent-ring);outline-offset:2px}a{color:var(--link);font-weight:var(--link-weight);text-decoration:underline}a.button,.app-header nav a,.recommendation-cell,.status-link,.brand{color:inherit;font-weight:inherit;text-decoration:none}.brand{font-weight:650}::selection{background:var(--selection-bg);color:var(--selection-ink)}input,select{accent-color:var(--control-accent)}.app-shell{min-height:100vh;background:var(--surface)}.app-header{position:sticky;top:0;z-index:20;min-height:var(--topbar-h);display:flex;align-items:center;gap:32px;padding:0 28px;background:var(--surface);border-bottom:1px solid var(--line)}.header-right{margin-left:auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:.9rem}.app-header nav{flex-wrap:wrap}.header-user{max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand{color:var(--ink);font-weight:650;text-decoration:none;white-space:nowrap}.brand .mark{color:var(--brand-mark)}.app-header nav{display:flex;gap:6px}.app-header nav a{color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:var(--radius-control)}.app-header nav a.active{color:var(--accent);background:var(--accent-bg)}.button.link,.button.ghost,.run-summary>summary,.analysis-details>summary{font-weight:inherit}.environment{margin-left:auto;color:var(--muted);font-size:.875rem}.page{padding:30px;max-width:1500px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}h1,h2,h3{color:var(--ink);font-weight:650}h1{margin:0;font-size:1.65rem}h2{margin:0;font-size:1.3rem}h3{font-size:1rem;margin:28px 0 10px}p{line-height:1.55}.page-heading p,.eyebrow,small,.result-count{color:var(--muted)}small{display:block;margin-top:4px}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:25px 0 18px}.input{border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:var(--radius-control);padding:9px 11px;min-height:40px}.toolbar input{min-width:min(320px,100%)}.result-count{margin-left:auto}.table-scroll{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{color:var(--muted);background:var(--surface-2);font-weight:600;white-space:nowrap}.data-table th,.data-table td{padding:14px 13px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table.compact th,.data-table.compact td{padding:10px}.empty-state,.loading{color:var(--muted);padding:36px!important;text-align:center}.button{cursor:pointer;border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:var(--radius-control);padding:8px 12px;white-space:nowrap}.button:hover{background:var(--surface-2)}.button.primary{color:var(--on-accent);background:var(--accent);border-color:var(--accent)}.button.link,.button.ghost{color:var(--accent);border-color:transparent;background:transparent}.button:disabled{opacity:.55;cursor:default}.button.sm{padding:5px 10px;font-size:.84rem}.status{display:inline-block;padding:5px 8px;border-radius:var(--radius-pill);background:var(--neutral-bg);color:var(--neutral);font-size:.84rem;white-space:nowrap;text-transform:lowercase;outline:1px var(--neutral-outline-style) var(--neutral-outline);outline-offset:-1px}.status.ok,.status.done,.status.accepted,.status.applied{color:var(--ok);background:var(--ok-bg);outline:1px var(--ok-outline-style) var(--ok-outline)}.status.info,.status.new,.status.ready,.status.running,.status.planning{color:var(--info);background:var(--info-bg);outline:1px var(--info-outline-style) var(--info-outline)}.status.warn,.status.waiting_for_data,.status.needs_reconnect{color:var(--warn);background:var(--warn-bg);outline:1px var(--warn-outline-style) var(--warn-outline)}.status.bad,.status.failed,.status.plan_failed,.status.refused{color:var(--bad);background:var(--bad-bg);outline:1px var(--bad-outline-style) var(--bad-outline)}.status.neutral,.status.ok,.status.warn,.status.info{text-transform:none}.alert{margin:16px 0;padding:12px 14px;border-radius:var(--radius-card);color:var(--ink-2);background:var(--surface-2)}.alert.error{color:var(--bad);background:var(--bad-bg);outline:1px var(--bad-outline-style) var(--bad-outline);outline-offset:-1px}.alert.warn{color:var(--warn);background:var(--warn-bg);outline:1px var(--warn-outline-style) var(--warn-outline);outline-offset:-1px}.alert-sub{display:block;margin-top:4px;font-size:.84rem;font-weight:400}.overlay-backdrop{position:fixed;z-index:50;top:0;right:0;bottom:0;left:0;background:var(--backdrop);display:flex;justify-content:flex-end}.overlay-panel{width:min(620px,100%);height:100%;overflow-y:auto;background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-panel);display:flex;flex-direction:column}.overlay-panel.narrow{width:min(460px,100%)}.overlay-panel.narrow .overlay-header,.overlay-panel.narrow .overlay-footer{padding:16px 20px}.overlay-panel.narrow .overlay-content{padding:20px}.icon-button{cursor:pointer;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--muted);font-size:16px;line-height:1}.icon-button:hover{background:var(--surface-2);color:var(--ink)}.footer-spread{flex:1;display:flex;justify-content:space-between;align-items:center;gap:12px}.overlay-footer .alert{width:100%;margin:0}.overlay-header,.overlay-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}.overlay-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;flex-wrap:wrap}.overlay-content{padding:22px;flex:1}.meta-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.meta-grid{padding:16px 0;border-block:1px solid var(--line)}.meta-grid dt{color:var(--muted);font-size:.82rem}.meta-grid dd{margin:5px 0 0}.form-grid{margin:24px 0}.form-grid label{display:flex;flex-direction:column;gap:7px}.switch-row,.checkbox-row{display:flex;align-items:center;justify-content:space-between;gap:18px}.switch-row{padding-bottom:18px;border-bottom:1px solid var(--line)}.switch-row input,.checkbox-row input{width:20px;height:20px}.plan-steps,.evidence-list{line-height:1.6;padding-left:22px}.app-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:15px 28px;border-top:1px solid var(--line);color:var(--muted);font-size:.875rem}.theme-control{display:inline-flex;align-items:center;gap:10px;margin:0;padding:0;border:0}.theme-control legend{float:left;padding:0;margin-right:4px}.theme-control label{display:inline-flex;align-items:center;gap:4px}@media(max-width:680px){.app-header{padding:12px 16px;gap:10px;flex-wrap:wrap}.environment{display:none}.page{padding:20px 14px}.result-count{width:100%;margin-left:0}.meta-grid,.form-grid{grid-template-columns:1fr}.overlay-panel{width:100%}}.run-group{margin:22px 0 30px}.run-group-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;padding:10px 0;border-bottom:1px solid var(--line)}.run-group-header h2{margin:0;font-size:1.05rem}.run-group-meta{display:flex;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:.875rem}.coverage-line{width:100%;color:var(--ink-2);font-size:.875rem}.run-summary{width:100%;margin:4px 0 0}.run-summary>summary,.analysis-details>summary{cursor:pointer;color:var(--accent);font-size:.9rem}.campaign-name{display:block;max-width:28ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lever-cue{display:inline-block;margin:4px 6px 0 0;padding:2px 6px;border:1px solid var(--line);border-radius:var(--radius-control);color:var(--ink-2);font-size:.78rem}.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.detail-section{margin:0 0 22px}.detail-section h3{margin:22px 0 10px;font-size:1rem}.reliability-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0;padding:12px 0;border-block:1px solid var(--line)}.reliability-row dt{color:var(--muted);font-size:.82rem}.reliability-row dd{margin:4px 0 0;font-variant-numeric:tabular-nums}.caveats{margin:12px 0;padding:10px 12px;border:1px var(--warn-outline-style) var(--warn-outline);border-radius:var(--radius-card);background:var(--warn-bg);color:var(--warn)}.caveats ul{margin:6px 0 0;padding-left:20px}.finding,.finding-row td{color:var(--finding-ink);font-size:.85rem}.finding{border-left:3px solid var(--finding-edge);padding-left:var(--finding-pad)}.finding.application{border-left-style:dashed}.evidence-group{margin:14px 0}.evidence-group h4{margin:0 0 6px;font-size:.92rem;color:var(--ink-2)}.evidence-group dl{display:grid;grid-template-columns:minmax(140px,max-content) 1fr;gap:4px 14px;margin:0}.evidence-group dt{color:var(--muted);font-size:.85rem}.evidence-group dd{margin:0}.sub-row td{padding-left:28px;color:var(--ink-2)}.actions td,.actions th{vertical-align:top}.page{overflow-x:clip}.overlay-content{overflow-x:hidden}.ident{font-family:var(--font-mono);color:var(--code)}@media(max-width:680px){.run-group-header,.toolbar,.run-group-meta{flex-direction:column;align-items:stretch}.campaign-name{max-width:100%;white-space:normal}.reliability-row,.evidence-group dl{grid-template-columns:1fr}.data-table td,.data-table th{padding:10px 8px}}.scope-words{margin:6px 0 10px;font-weight:600}.analyst-steps{color:var(--ink-2)}.request-date{display:block;margin-top:4px;color:var(--muted);font-size:.78rem}.scope-form{display:flex;flex-direction:column;gap:16px}.scope-section{display:flex;flex-direction:column;gap:8px}.scope-identity{flex-direction:row;align-items:baseline;gap:10px;flex-wrap:wrap}.scope-unit{color:var(--ink);font-weight:600}.scope-identity .codename{display:inline;font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--muted)}.field .input{color:var(--ink);font-size:1rem}.field-label{font-size:.85rem;color:var(--muted)}.input.mono{font-family:var(--font-mono);font-size:13px}.scope-cards{display:flex;flex-direction:column;gap:8px}.scope-card{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);cursor:pointer}.scope-card input{margin:3px 0 0;flex:none;accent-color:var(--control-accent)}.scope-card-body{display:flex;flex-direction:column;gap:3px}.scope-card-body strong{color:var(--ink);font-weight:600}.scope-card-body small{display:block;margin:0;color:var(--muted)}.scope-card.checked{border-color:var(--accent);background:var(--accent-bg)}.scope-card.disabled{cursor:default;opacity:.6}.scope-card:focus-within{outline:2px solid var(--accent-ring);outline-offset:2px}.scope-count{margin:0}.date-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.date-row .input,.scope-form .input,.scope-form textarea{width:100%;min-width:0;box-sizing:border-box}.help{margin:0;color:var(--muted);font-size:.8rem;line-height:1.45}.scope-note{margin-top:4px}.requested-period dt{color:var(--muted);font-size:.82rem}.requested-period dd{margin:4px 0 0}.team-name{color:var(--muted);font-size:.9rem;white-space:nowrap}.prereq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 18px}.prereq-card{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);display:flex;flex-direction:column;gap:8px}.prereq-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.prereq-title{margin:0;font-size:1rem;font-weight:600}.prereq-title .dot{margin-right:8px;vertical-align:2px}.prereq-title .state{color:var(--muted);font-weight:500}.prereq-card p{margin:0;font-size:.9rem}.prereq-card .button.link{padding:0}.paused-line{color:var(--warn);font-weight:600}.switch{position:relative;width:40px;height:22px;flex-shrink:0;padding:0;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-3);cursor:pointer}.switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:var(--radius-pill);background:var(--surface);box-shadow:0 1px 2px var(--backdrop);transition:left .15s ease}.switch[aria-checked=true]{background:var(--accent);border-color:var(--accent)}.switch[aria-checked=true] .switch-knob{left:20px;background:var(--on-accent)}.switch:disabled{opacity:.55;cursor:default}.codename,.owner-marks,.status-hint,.status-reason{display:block;color:var(--muted);font-size:.78rem}.codename{font-family:var(--font-mono)}.owner-marks .dot{margin-right:4px}.units-sheet .sheet-table th.col-unit{width:30%}.units-sheet .sheet-table th.col-owner{width:16%}.units-sheet .sheet-table th.col-lastrun{width:22%}.units-sheet .sheet-table th.col-count{width:100px}.units-sheet .sheet-table th.col-action{width:180px}.units-sheet .col-count,.units-sheet .col-action{text-align:right}.row-actions{display:inline-flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.row-actions .button.sm{padding-left:6px;padding-right:6px}.units-sheet .unit-name{display:block;font-weight:600}.units-sheet .status-reason{margin-top:3px}.lastrun-cell{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.lastrun-cell small{display:inline;margin:0;font-size:.78rem}.units-sheet a{color:var(--ink)}.units-sheet a.status{text-decoration:none}.button.quiet{color:var(--muted)}.button.quiet:hover{color:var(--ink)}.evidence-strip{position:relative;display:inline-flex;flex-direction:column;gap:2px;vertical-align:middle;outline-offset:2px}.evidence-caption{color:var(--muted);font-size:.78rem;white-space:nowrap}.evidence-strip .tip{display:none;position:absolute;z-index:5;top:100%;left:0;margin-top:4px;padding:6px 8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);font-size:.78rem;white-space:nowrap}.evidence-strip:hover .tip,.evidence-strip:focus-within .tip{display:block}.cell-spend{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.cell-spend .spend-bars{align-self:flex-start}.spend-bars{position:relative;display:inline-block;line-height:0}.spend-bars .tip{display:none;position:absolute;z-index:5;top:100%;left:0;margin-top:4px;padding:6px 8px;line-height:1.3;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);font-size:.78rem;white-space:nowrap}.spend-bars:hover .tip,.spend-bars:focus-within .tip{display:block}@media(max-width:480px){.spend-bars{display:none}}.evidence-narrow{display:none}.evidence-drawer{margin:8px 0 0}@media(max-width:680px){.evidence-col{display:none}.evidence-narrow{display:block}}.spinner{display:inline-block;width:12px;height:12px;margin-right:6px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:var(--radius-pill);vertical-align:-2px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.quiet{color:var(--muted);font-weight:inherit;text-decoration:none}.quiet:hover{text-decoration:underline}.page-heading h1 .count{margin-left:10px;color:var(--muted);font-size:1rem;font-weight:500}.page-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end;font-size:.875rem}.toolbar .legend{margin-left:auto;color:var(--muted);font-size:.82rem}.toolbar .legend summary{cursor:pointer;list-style:none}.toolbar .legend summary::-webkit-details-marker{display:none}.toolbar .legend p{margin:8px 0 0;max-width:72ch}.sheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);overflow:clip}.sheet-table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;text-align:left}.sheet-table th.col-status{width:92px}.sheet-table th.col-budget{width:96px}.sheet-table th.col-goal{width:150px}.sheet-table th.col-spend{width:96px}.sheet-table th.col-installs{width:104px}.sheet-table th.col-cpi{width:84px}.sheet-table th.col-roas{width:128px}.sheet-table th.col-rec{width:200px}.sheet-table th.col-actions{width:215px}.sheet-table th{position:sticky;top:var(--topbar-h);z-index:5;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:bottom;white-space:nowrap}.sheet-table th small{display:block;margin-top:1px;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0}.sheet-table td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.sheet-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.sheet-table .col-actions{text-align:right;white-space:nowrap}.sheet-table td{overflow-wrap:anywhere}.sheet-table tr.campaign-row:hover td{background:var(--surface-2)}.sheet-table tr.group-row td{padding:0;background:var(--surface-3)}.group-band{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;font-size:.85rem;color:var(--muted)}.group-band .unit-name{color:var(--ink);font-weight:650;font-size:.95rem}.group-band .codename{display:inline;font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}.group-band .group-meta{white-space:nowrap}.group-band .quiet{margin-left:auto}.camp{display:flex;flex-direction:column;gap:1px}.camp-name{display:block;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--ink)}.camp{min-width:0}.camp-sub{margin:0;color:var(--muted);font-size:.78rem}.camp-collapsed{display:none;margin:0;color:var(--muted);font-size:.78rem}.dot{display:inline-block;width:7px;height:7px;border-radius:var(--radius-pill);margin-right:6px;vertical-align:1px;background:var(--muted)}.dot.ok{background:var(--ok);outline:1px var(--ok-outline-style) var(--ok-outline)}.dot.warn{background:var(--warn-bg);outline:1px solid var(--warn)}.chip{display:inline-block;margin-left:4px;padding:1px 6px;border:1px solid var(--line);border-radius:var(--radius-control);font-size:.78rem}.recommendation-cell{display:inline-flex;flex-direction:column;gap:2px}.recommendation-cell small{display:block;margin:0;color:var(--muted)}.rec-link{color:var(--ink);font-weight:inherit;text-decoration:underline}@media(max-width:680px){.prereq-grid{grid-template-columns:1fr}.signin-main{padding:20px 14px;align-items:start;min-height:0}.signin-card{padding:22px 18px 18px}.page-heading h1 .count{display:block;margin:4px 0 0}.units-sheet .sheet-table th{width:auto;min-width:140px}.units-sheet .sheet-table th.col-unit,.units-sheet .sheet-table td.col-unit{min-width:200px}.sheet-table .col-goal,.sheet-table .col-installs,.sheet-table .col-cpi{display:none}.camp-collapsed{display:block}.camp-name{max-width:52vw}.sheet{overflow-x:auto}.sheet-table{table-layout:auto}.sheet-table th{position:static;width:auto}.sheet-table th.col-campaign,.sheet-table td.col-campaign{min-width:200px}.sheet-table th.col-rec,.sheet-table td.col-rec{min-width:170px}.sheet-table td{overflow-wrap:normal}.sheet-table td.col-actions,.sheet-table th.col-actions{position:sticky;right:0;background:var(--surface);box-shadow:-6px 0 8px -6px var(--backdrop)}.sheet-table th.col-actions,.sheet-table tr.campaign-row:hover td.col-actions{background:var(--surface-2)}.toolbar .legend{margin-left:0}.header-user{display:none}.header-right{width:100%;margin-left:0}.page-heading{flex-wrap:wrap}.page-actions{width:100%;justify-content:flex-start}}.signin-main{display:grid;place-items:center;min-height:calc(100vh - var(--topbar-h) - 60px);padding:40px 16px}.signin-card{width:min(420px,100%);padding:28px 28px 24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.signin-card h1{margin:14px 0 8px;font-size:1.35rem}.signin-body p{margin:0 0 12px;color:var(--ink-2)}.signin-body .alert{margin:0 0 12px}.signin-actions{margin:18px 0 14px}.app-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-control);background:var(--accent-bg);color:var(--accent);font-size:22px}.button.block{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;font-weight:600}.button.block .spinner{margin-right:0}.okta-glyph{flex-shrink:0}.fine-print{margin:0;color:var(--muted);font-size:.8rem;line-height:1.5}.fine-print a{color:var(--muted)}.fine-print .button.link{padding:0;color:var(--muted);text-decoration:underline}.signin-card code.ident{font-size:.9em}.analysis-cell{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.analysis-cell small{margin:0;font-size:.78rem;white-space:normal}.analysis-link{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;color:var(--ink);font-weight:inherit;text-decoration:none;white-space:normal;text-align:right}.analysis-link .status{white-space:nowrap}.analysis-link:hover span:last-child{text-decoration:underline}.request-page{display:flex;flex-direction:column;min-height:calc(100vh - var(--topbar-h) - 60px)}.request-body{flex:1;display:flex;flex-direction:column;gap:20px;padding-bottom:20px}.request-body>p{margin:0}.crumbs{margin:0 0 14px;color:var(--muted);font-size:.88rem}.crumbs a{color:var(--muted);font-weight:inherit;text-decoration:none}.crumbs a:hover{text-decoration:underline}.request-head{padding-bottom:20px}.request-head-row{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.eyebrow{margin:0 0 4px;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}.request-title{margin:0;font-size:1.15rem;font-weight:600;overflow-wrap:anywhere}.request-facts{margin:6px 0 0;font-size:.88rem}.request-state{flex-shrink:0;max-width:46%;text-align:right}.request-state p{margin:0}.request-state p.muted{font-size:.88rem;margin-top:4px}.request-state .stall-hint{font-style:italic}.poll-notice{margin:0 0 10px;font-size:.84rem}.state-title{display:inline-flex;align-items:center;gap:8px;font-weight:600}.progress-bar{height:3px;margin-top:16px;background:var(--surface-3);border-radius:var(--radius-pill);overflow:hidden}.progress-bar>span{display:block;height:100%;background:var(--accent);transition:width .4s ease}.plan-card{padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card)}.plan-card-head{display:flex;justify-content:space-between;gap:16px;align-items:baseline;flex-wrap:wrap}.plan-card-head h2{font-size:1rem}.plan-card-head .muted{font-size:.84rem}.plan-summary{margin:10px 0 0;color:var(--ink-2)}.stepper{list-style:none;margin:14px 0 0;padding:0}.step{display:grid;grid-template-columns:24px 1fr auto;gap:4px 12px;align-items:start;padding:9px 0;border-top:1px solid var(--line)}.step-mark{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:.78rem}.step.done .step-mark{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-outline)}.step.current .step-mark{color:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg)}.step.current .step-label{font-weight:600}.step.failed .step-mark{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-outline)}.step.pending .step-label{color:var(--ink-2)}.step-body{display:flex;flex-direction:column;gap:2px;min-width:0}.step-tables{font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.step-est{font-size:.84rem;white-space:nowrap}.step-model{display:inline-block;margin-left:8px;padding:0 5px;border:1px solid var(--line);border-radius:var(--radius-control);font-family:var(--font-mono);font-size:.72rem;line-height:1.5;color:var(--muted);vertical-align:1px;white-space:nowrap}.provenance-models{color:var(--muted)}.preflight-mark{display:inline-block;width:1.1em;margin-right:4px;text-align:center;font-family:var(--font-mono)}.preflight-mark.bad,.preflight-mark.warn{font-weight:700}.preflight-mark.muted{color:var(--muted)}.preflight-warning{font-size:.84rem;margin:6px 0 0}.failure-block{padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-2)}.failure-block h2{font-size:1rem;margin:0 0 8px}.failure-lines{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.failure-lines dt{color:var(--muted);font-size:.84rem}.failure-lines dd{margin:0}.failure-details summary{cursor:pointer;font-size:.84rem;color:var(--muted)}.failure-details-text{margin:6px 0 0;padding:8px 10px;font-size:.78rem;white-space:pre-wrap;-webkit-user-select:all;user-select:all;border:1px solid var(--line);border-radius:var(--radius-control);background:var(--surface)}.step.highlight{outline:2px solid var(--ink);outline-offset:4px;border-radius:var(--radius-control);transition:outline-color .6s ease}@media(max-width:560px){.failure-lines{grid-template-columns:1fr;gap:2px}.failure-lines dt{margin-top:8px}}.step-est.slow{font-style:italic}.step.skipped .step-label,.step.skipped .step-mark{color:var(--muted)}.step-reason{font-size:.8rem;color:var(--muted)}.action-reason{font-size:.84rem;align-self:center;max-width:36ch}.footnote{font-size:.84rem}.results{display:flex;flex-direction:column;gap:8px}.action-bar{position:sticky;bottom:0;z-index:10;margin:0 -30px;padding:12px 30px;background:var(--surface);border-top:1px solid var(--line)}.action-bar-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.action-facts{display:inline-flex;align-items:center;gap:10px;min-width:0}.action-facts .muted{font-size:.88rem}.action-buttons{display:flex;gap:8px;align-items:center;flex-shrink:0}.action-error{margin:10px 0 0;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.action-error .button.link{padding:0;color:inherit;text-decoration:underline}@media(max-width:680px){.request-head-row{flex-direction:column;gap:14px}.request-state{text-align:left;max-width:none}.action-bar{margin:0 -14px;padding:10px 14px}.action-bar-row{flex-direction:column;align-items:stretch;gap:10px}.action-buttons{justify-content:stretch}.action-buttons .button{flex:1;text-align:center}.step{grid-template-columns:24px 1fr}.step-est{grid-column:2}}.live-run{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:20px;align-items:start}.live-run .card{padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);min-width:0}.live-run .card h2{margin:0 0 10px;font-size:.95rem;font-weight:650;display:flex;justify-content:space-between;align-items:baseline;gap:12px}.live-run .card h2 small{color:var(--muted);font-weight:400;font-size:.8rem;text-align:right}.timeline-wrap{position:relative}.gantt{display:block;width:100%;height:auto}.gantt .tl{fill:var(--muted);font-size:9px}.gantt .tl2{fill:var(--ink-2);font-size:9.5px}.gantt .tk{stroke:var(--line);stroke-width:1}.gantt .tkl{fill:var(--muted);font-size:9px}.gantt .bd{opacity:.9}.gantt .bp{opacity:.28}.gantt .br{opacity:1}.gantt .retry{fill:var(--ink-2);font-size:9px}.gantt .now{stroke:var(--accent);stroke-width:1.2;stroke-dasharray:3 2}.gantt .nowl{fill:var(--accent);font-size:9px;font-weight:600}.gantt .tl-row:focus{outline:none}.gantt .tl-row:focus rect{stroke:var(--accent-ring);stroke-width:1}.timeline-wrap .tip{display:block;position:absolute;z-index:5;left:150px;top:8px;padding:6px 8px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-control);font-size:.78rem;white-space:nowrap;pointer-events:none}.legend{display:flex;gap:14px;color:var(--muted);font-size:.78rem;margin-top:6px;flex-wrap:wrap}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.nowc{display:grid;gap:10px;align-content:start}.nowc .ring{display:flex;gap:14px;align-items:center}.spin{width:34px;height:34px;border-radius:var(--radius-pill);border:3px solid var(--line);border-top-color:var(--accent);animation:spin 1.2s linear infinite;flex:none}@media(prefers-reduced-motion:reduce){.spin{animation:none}}.nowc b{display:block;font-weight:600}.nowc small{color:var(--muted);display:block}.nowc .meter{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden;margin-bottom:4px}.nowc .meter div{height:100%}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.84rem;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;font-variant-numeric:tabular-nums}.kv dd.stall.warn{color:var(--warn);font-weight:600}.kv dd.stall.bad{color:var(--bad);font-weight:600}.evl{list-style:none;margin:0;padding:0;max-height:420px;overflow:auto;display:block}.ev{display:grid;grid-template-columns:42px 44px 1fr;gap:0 10px;height:42px;box-sizing:border-box;padding:6px 0 0;border-top:1px solid var(--line);font-size:.84rem;align-items:baseline;overflow:hidden}.ev time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.78rem}.ev .k{font-size:.68rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.ev .w{font-family:var(--font-mono);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev small{grid-column:3;color:var(--muted);font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev.model .k{color:var(--tier-fable)}.ev.sql .k,.ev.tool .k,.ev.ref .k{color:var(--ink-2)}.ev.step .k{color:var(--accent)}.ev-spacer{display:block}.run-log summary{cursor:pointer;font-size:.9rem;font-weight:600}.run-log[open] summary{margin-bottom:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{background:var(--surface-2);border-radius:var(--radius-control);padding:10px 12px;min-width:0}.stat b{display:block;font-size:1.05rem;font-weight:650;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);display:block;font-size:.76rem;line-height:1.3}.tiers{display:flex;height:8px;border-radius:4px;overflow:hidden;margin-top:8px;background:var(--surface-2)}.tiers i{display:block;height:100%}.totals>small{display:block;margin-top:6px}@media(max-width:960px){.stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.live-run{grid-template-columns:minmax(0,1fr)}.live-run .nowc{order:-2}.live-run .totals{order:-1}.live-run .events{order:1}.live-run.record .totals{order:0}}.segmented{display:flex;border:1px solid var(--line);border-radius:var(--radius-control);overflow:hidden;background:var(--surface)}.segment{flex:1;display:flex;align-items:center;justify-content:center;padding:8px 10px;font-size:.9rem;color:var(--ink-2);cursor:pointer;border-left:1px solid var(--line)}.segment:first-child{border-left:0}.segment input{position:absolute;opacity:0;width:0;height:0}.segment.checked{background:var(--accent-bg);color:var(--ink);font-weight:600}.segment:focus-within{outline:2px solid var(--accent-ring);outline-offset:-2px}
