/* =================================================================
   VisSync v2 — stylesheet
   This is the UX mockup's own <style> block (vissync-workspace-ux-
   mockup.html), ported WHOLESALE and verbatim except for two
   mechanical changes:
     1. Design-token names renamed to match the real app's app.css
        convention (--blue->--accent, --hover->--accent-2, --tint->
        --accent-soft, --deep->--teal, --yellow->--amber, --red->--rose,
        --bg->--bg-canvas) — same values, just one naming scheme across
        the whole redesign instead of two. --ink/--muted/--line already
        matched and are untouched.
     2. Nothing else. Every class, rule, and value below is the
        mockup's own — DO NOT hand-simplify or re-derive component
        styles from scratch; if a class is needed, copy it from the
        mockup, not from a guess at what it "should" look like. (An
        earlier version of this file did the latter for the Overview
        page and the result didn't match the mockup at all — see the
        redesign plan's Phase 2 notes.)

   The v2 HTML/JS uses the mockup's own (unprefixed) class names
   directly — .card, .kpi, .filters, .drawer, .select-trigger, etc. —
   so this stylesheet applies with zero class-name translation. Only
   element IDs are v2-prefixed (v2Page, v2Nav, ...), since JS needs
   unique hooks and IDs don't affect which CSS rules match.
================================================================= */

:root{--accent:#0058B0;--accent-2:#1878D8;--accent-soft:#E6F0FA;--teal:#0B4F94;--amber:#F8C800;--rose:#EF4565;--ink:#11131A;--muted:#6B7280;--bg-canvas:#EEF1F6;--line:#E9EBF1}*{box-sizing:border-box}body{margin:0;background:var(--bg-canvas);color:var(--ink);font:13px Prompt,sans-serif}button,input,select{font:inherit}button,a,select{cursor:pointer}button{border:1px solid var(--line);border-radius:9px;background:white;color:inherit;padding:9px 13px}button:hover{border-color:var(--accent-2);color:var(--accent)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #1878D866;outline-offset:3px}.primary{background:var(--accent);border-color:var(--accent);color:white}.primary:hover{background:var(--accent-2);color:white}.mono,strong.metric{font-family:'Prompt',monospace}.muted,small{color:var(--muted)}small{font-size:11px}h1,h2,h3,p{margin:0}h1{font-size:26px;font-weight:600;letter-spacing:-.6px}h2{font-size:16px;font-weight:500}h3{font-size:14px;font-weight:500}p{line-height:1.8}aside{width:224px;background:white;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;border-right:1px solid var(--line);z-index:20;padding:28px 15px 14px}.logo-crop{position:relative;display:block;width:154px;aspect-ratio:940/190;overflow:hidden;margin:0 14px 25px}.logo-crop img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.nav{overflow:auto;flex:1}.nav small{display:block;padding:18px 13px 6px;font-size:10px;letter-spacing:1.2px}.nav button{display:flex;width:100%;gap:11px;align-items:center;text-align:left;border:0;background:none;padding:10px 12px;margin:2px 0;color:#596170;font-size:12px}.nav button.active{background:var(--accent-soft);color:var(--accent);font-weight:500}.nav i{font-style:normal;font-size:17px;width:20px;text-align:center}.profile{display:flex;gap:10px;border-top:1px solid var(--line);padding:16px 8px 0}.avatar{background:var(--accent-soft);color:var(--accent);border-radius:50%;width:34px;height:34px;display:grid;place-items:center}main{margin-left:224px}.topbar{height:66px;background:#ffffffdc;border-bottom:1px solid var(--line);padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:12px}.demo{font-size:10px;border:1px solid #d4e5f8;background:#f6faff;color:var(--accent);padding:4px 9px;border-radius:5px;white-space:nowrap}.content{padding:30px 32px;max-width:1600px;margin:auto}.heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:1.8px;margin-bottom:5px}.heading p{color:var(--muted);margin-top:5px;font-size:12px}.filters{display:flex;gap:10px;align-items:center;padding:12px 14px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:22px;flex-wrap:wrap}.filters label{font-size:10px;color:var(--muted)}select,input{background:white;border:1px solid var(--line);border-radius:7px;padding:8px 10px;color:var(--ink);min-width:0}label select{display:block;margin-top:3px}.filters .scope{margin-left:auto;max-width:265px;font-size:10px;color:var(--muted)}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.card{background:white;border:1px solid var(--line);border-radius:14px;padding:21px}.kpi{position:relative;overflow:hidden}.kpi:first-child{border-top:3px solid var(--accent);padding-top:19px}.kpi .metric{font-size:27px;display:block;margin:11px 0 7px;font-weight:500;letter-spacing:-1px}.up{color:var(--accent)}.down{color:#bc2948}.pill{font-size:10px;border-radius:5px;padding:4px 7px;background:var(--accent-soft);color:var(--teal);display:inline-block}.pill.warn{background:#fff7d0;color:#796200}.pill.bad{background:#ffedf1;color:#bc2948}.grid{display:grid;grid-template-columns:1.8fr 1fr;gap:18px;margin-bottom:20px}.equal{grid-template-columns:1fr 1fr}.cardhead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.chart{width:100%;height:205px;display:block}.legend{display:flex;gap:16px;font-size:10px;color:var(--muted)}.legend span:before{content:'';display:inline-block;background:var(--accent);width:7px;height:7px;border-radius:50%;margin-right:5px}.legend span:nth-child(2):before{background:#afc9e5}.action{padding:13px 0;border-bottom:1px solid var(--line)}.action:last-child{border:0;padding-bottom:0}.action p{font-size:11px;color:var(--muted);margin-top:5px}.link{border:0;background:none;padding:0;color:var(--accent);font-size:11px}.bar{height:6px;background:#edf1f7;border-radius:20px;overflow:hidden;margin:10px 0}.bar b{height:100%;background:var(--accent);display:block;border-radius:20px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;white-space:nowrap;font-size:12px}th{text-align:left;color:var(--muted);font-size:10px;font-weight:400;background:#f8fafc;padding:12px}td{padding:15px 12px;border-bottom:1px solid var(--line)}td small{display:block;margin-top:3px}th.num,td.num{text-align:right}tr:last-child td{border:0}.search{width:225px}.tabs{display:flex;gap:4px;margin-bottom:19px;flex-wrap:wrap}.tabs button{border:0;background:transparent;color:var(--muted)}.tabs button.active{color:var(--accent);background:var(--accent-soft)}.note{font-size:11px;color:var(--muted);padding-top:13px}.score{display:flex;gap:25px;align-items:center}.ring{height:126px;width:126px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--accent) 0 76%,var(--accent-soft) 76%);display:grid;place-items:center}.ring>div{background:white;border-radius:50%;width:105px;height:105px;display:grid;place-content:center;text-align:center}.ring strong{font-size:32px;color:var(--accent)}.creativegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.creative{padding:0;overflow:hidden}.art{height:190px;background:linear-gradient(135deg,#e8eff9,#bcd6ee);position:relative;display:grid;place-items:center;overflow:hidden}.art.two{background:linear-gradient(135deg,#fff6ca,#f9dda6)}.art.three{background:linear-gradient(135deg,#e5e9f5,#ced1ed)}.bottle{width:65px;height:100px;border-radius:18px 18px 23px 23px;background:white;box-shadow:12px 18px 35px #0058b02b;transform:rotate(-12deg);display:grid;place-content:center;text-align:center;font-size:11px;color:var(--teal)}.bottle:before{content:'';position:absolute;width:30px;height:15px;background:var(--teal);top:-12px;left:18px;border-radius:5px 5px 0 0}.art>small{position:absolute;bottom:10px;left:12px;font-size:9px;color:#42576e}.play{position:absolute;right:13px;top:13px;background:#ffffffda;border-radius:50%;height:28px;width:28px;display:grid;place-items:center;color:var(--accent)}.creativebody{padding:17px}.creativebody .row{margin-top:14px}.row{display:flex;justify-content:space-between;gap:15px;align-items:center}.statlist .row{padding:13px 0;border-bottom:1px solid var(--line)}.big{font:500 36px 'Prompt';letter-spacing:-1.5px;color:var(--accent)}.callout{background:var(--accent-soft);border:1px solid #d7e6f5;border-radius:10px;padding:15px;color:var(--teal);font-size:12px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:6px;margin:18px 0}.field input,.field select{width:100%}.field small{line-height:1.6}input[type=range]{width:100%;accent-color:var(--accent)}.steps{display:flex;gap:12px;margin-bottom:25px}.steps span{flex:1;padding:12px;border-bottom:3px solid var(--line);color:var(--muted)}.steps span.active{border-color:var(--accent);color:var(--accent)}.empty{text-align:center;padding:45px 15px}.overlay{position:fixed;inset:0;background:#11131a66;z-index:110;display:none}.overlay.open{display:block}.drawer{position:absolute;right:0;top:0;height:100%;width:470px;max-width:100%;background:white;padding:27px;overflow:auto;box-shadow:-20px 0 80px #11131a14}.drawer footer{display:flex;justify-content:flex-end;gap:10px;margin-top:28px;border-top:1px solid var(--line);padding-top:20px}.drawer .card{padding:15px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--teal);color:white;padding:12px 20px;border-radius:9px;z-index:50;display:none}.mobile{display:none}.pagefoot{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:25px}.page{animation:enter .25s ease}@keyframes enter{from{opacity:.4;transform:translateY(5px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(min-width:1500px){.content{padding:35px 48px}.kpi .metric{font-size:32px}}@media(max-width:1100px){aside{width:204px}main{margin-left:204px}.content{padding:25px 22px}.grid{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,1fr)}.creativegrid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){aside{transform:translateX(-100%);width:235px;box-shadow:20px 0 90px #11131a26}aside.show{transform:translateX(0)}main{margin:0}.mobile{display:inline-block}.topbar{padding:0 17px}.content{padding:22px 16px}.heading{align-items:flex-start}h1{font-size:23px}.heading .primary{font-size:11px}.filters .scope{margin-left:0;max-width:none;width:100%}.card{padding:17px}.kpi .metric{font-size:24px}.creativegrid,.equal{grid-template-columns:1fr}.cardhead{flex-wrap:wrap}.search{width:100%}.split{grid-template-columns:1fr}.pagefoot{gap:10px}.topbar .muted{display:none}}
select[data-styled]{display:none!important}.select-trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:40px;min-width:155px;width:100%;padding:9px 12px;background:#fff;border:1px solid #dce4ee;border-radius:10px;text-align:left;color:var(--ink);font-size:12px;font-weight:400}.select-trigger:hover,.select-trigger[aria-expanded=true]{border-color:var(--accent-2);box-shadow:0 0 0 3px #0058b009}.filters label .select-trigger{margin-top:4px}.select-options{position:fixed;z-index:120;background:white;border:1px solid #dce4ee;border-radius:12px;padding:5px;box-shadow:0 12px 35px #14344f26;max-height:280px;overflow:auto}.select-options button{display:block;width:100%;text-align:left;border:0;font-size:12px;padding:10px;border-radius:7px}.select-options button.selected,.select-options button:hover{background:var(--accent-soft);color:var(--accent)}.date-field>span{font-size:10px;color:var(--muted);display:block;margin-bottom:4px}.date-overlay{position:fixed;inset:0;background:#11223866;z-index:80;display:grid;place-items:center;padding:18px}.date-dialog{width:640px;max-width:100%;max-height:95dvh;overflow:auto;background:white;border-radius:20px;box-shadow:0 25px 100px #102d4144}.date-dialog header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.date-dialog header button{border:0;font-size:18px}.date-body{display:grid;grid-template-columns:178px 1fr}.date-presets{background:#f7f9fc;border-right:1px solid var(--line);padding:18px 12px;display:flex;flex-direction:column;gap:9px}.date-presets button{background:#edf1f6;border:0;text-align:left;padding:15px;font-size:13px}.date-presets button:hover{background:var(--accent-soft);color:var(--accent)}.date-presets small{padding:12px;line-height:1.8}.calendar{padding:18px}.calendar #calendarHead{display:flex;gap:7px;margin-bottom:15px;align-items:center}.calendar #calendarHead>button:not(.select-trigger){padding:6px 11px;font-size:22px}.calendar .select-trigger{min-width:0;flex:1;padding:9px;gap:8px}.calendar .select-trigger:nth-last-child(2){flex:0 0 82px}.weekday,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.weekday{color:var(--muted);font-size:12px;margin-bottom:8px}.calendar-days button{border:0;border-radius:8px;padding:0;height:41px;font-size:14px;background:white}.calendar-days button.in-range{background:var(--accent-soft);border-radius:0;color:var(--teal)}.calendar-days button.edge{background:var(--accent);color:white}.calendar-days button:hover:not(:disabled){box-shadow:inset 0 0 0 2px var(--accent-2)}button:disabled{opacity:.35;cursor:not-allowed}.range-inputs{display:flex;gap:10px;margin-top:18px}.range-inputs label{font-size:10px;color:var(--muted);width:50%}.range-inputs input{display:block;width:100%;font-size:11px;margin-top:5px}.date-hint{font-size:10px;color:var(--accent);margin-top:12px;min-height:32px}.date-dialog footer{padding:17px 22px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center}.date-dialog footer>span{font-size:11px;color:var(--muted)}.date-dialog footer>div{display:flex;gap:8px;margin-left:auto}@media(max-width:560px){.date-overlay{padding:8px}.date-body{grid-template-columns:1fr}.date-presets{flex-direction:row;overflow:auto;border-right:0;border-bottom:1px solid var(--line);padding:10px;gap:6px}.date-presets button{white-space:nowrap;font-size:11px;padding:10px}.date-presets small{display:none}.calendar{padding:14px}.date-dialog header{padding:12px 18px}.calendar-days button{height:38px}.date-dialog footer{padding:13px 18px}.date-dialog{border-radius:15px}}
/* Compact anchored date dropdown: approximately one-quarter of the former panel area. */
.date-overlay{inset:auto;display:block;padding:0;background:transparent;width:320px;max-width:calc(100vw - 20px);z-index:80}
.date-dialog{width:320px;max-width:100%;max-height:calc(100dvh - 20px);border:1px solid #dce4ee;border-radius:12px;box-shadow:0 12px 36px #14344f26;overflow:auto}
.date-dialog header{padding:8px 11px}.date-dialog header h2{font-size:12px}.date-dialog header button{padding:0 4px;font-size:14px}
.date-body{display:block}.date-presets{display:flex;flex-direction:row;flex-wrap:wrap;gap:4px;padding:7px 9px;border-right:0;border-bottom:1px solid var(--line);overflow:visible}
.date-presets button{font-size:10px;padding:4px 7px;border-radius:5px;white-space:nowrap}.date-presets small{display:none}
.calendar{padding:8px 10px}.calendar #calendarHead{gap:5px;margin-bottom:7px}.calendar #calendarHead>button:not(.select-trigger){font-size:17px;padding:0 8px;height:28px}
.calendar .select-trigger{min-height:28px;padding:4px 7px;font-size:10px;border-radius:7px}.calendar .select-trigger:nth-last-child(2){flex:0 0 70px}
.weekday{font-size:10px;margin-bottom:3px}.calendar-days button{height:25px;font-size:11px;border-radius:5px}
.range-inputs{margin-top:6px;gap:7px}.range-inputs label{font-size:9px}.range-inputs input{font-size:10px;padding:3px 5px;margin-top:2px}
.date-hint{font-size:9px;line-height:1.4;margin-top:5px;min-height:13px}
.date-dialog footer{padding:7px 10px;gap:6px}.date-dialog footer>span{font-size:9px;width:100%}.date-dialog footer>div{gap:6px}.date-dialog footer button{padding:5px 9px;font-size:10px;border-radius:6px}
.account-panel{position:fixed;z-index:85;width:410px;max-width:calc(100vw - 20px);background:white;border:1px solid #dce4ee;border-radius:13px;box-shadow:0 12px 36px #14344f26;display:flex;flex-direction:column;overflow:auto}.account-panel header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px;border-bottom:1px solid var(--line)}.account-panel header button{border:0;padding:3px 7px}.account-search{padding:12px 14px 7px}.account-search input{width:100%;font-size:12px;background:#f8fafc}.account-tools{display:flex;align-items:center;gap:10px;padding:3px 15px 12px}.account-tools button{padding:0;border:0;font-size:11px;color:var(--accent)}.account-tools small{margin-left:auto;font-size:9px}.account-groups{overflow:auto;max-height:310px;padding:0 10px;flex-shrink:1;min-height:80px}.account-group{border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:10px}.business-choice,.ad-choice{display:flex;gap:10px;align-items:center;padding:11px;cursor:pointer}.business-choice{background:#f5f8fc}.business-choice strong{font-size:12px;font-weight:500}.business-choice small,.ad-choice small{display:block;font-size:9px;margin-top:3px}.business-choice .pill{margin-left:auto;font-size:9px;white-space:nowrap}.account-panel input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);margin:0;flex-shrink:0}.ad-choice{padding-left:23px;font-size:11px;border-top:1px solid var(--line)}.ad-choice:hover{background:#f8fbff}.platform-mark{width:26px;height:26px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:600;border-radius:7px}.account-panel footer{padding:12px 15px;border-top:1px solid var(--line);font-size:12px}.account-panel footer small{font-size:10px}.account-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:10px}.account-actions button{font-size:11px;padding:7px 11px}
.overview-section{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:23px 0 13px}.overview-section .note{padding-top:4px}.platform-scores{display:grid;grid-template-columns:1fr 1fr;gap:16px}.platform-score .cardhead h2{display:flex;align-items:center;gap:8px}.score-content{display:flex;align-items:center;gap:17px}.mini-ring{width:88px;height:88px;flex-shrink:0;border-radius:50%;background:conic-gradient(var(--accent) var(--score),var(--accent-soft) 0);display:grid;place-items:center}.mini-ring>div{width:73px;height:73px;border-radius:50%;background:white;display:grid;place-content:center;text-align:center}.mini-ring strong{font-size:26px;color:var(--accent)}.mini-ring small{font-size:9px}.score-content h3{font-size:12px}.score-content .note{font-size:10px;padding:6px 0}.score-dimensions{border-top:1px solid var(--line);margin-top:16px;padding-top:11px;font-size:9px;color:var(--muted)}.highlight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.highlight-card{padding:17px}.highlight-icon{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:20px;margin-bottom:13px}.highlight-icon.warn{background:#fff7df;color:#967000}.highlight-card h3{font-size:12px}.highlight-card .row{gap:6px}.highlight-card .link{white-space:nowrap}.highlight-status{font-size:10px;color:var(--accent);margin:13px 0 7px;line-height:1.7}.highlight-status.warn{color:#946600}.highlight-item{font-size:12px;font-weight:500;display:block}.highlight-card p{font-size:10px;color:var(--muted);margin-top:5px}@media(max-width:1250px){.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1000px){.platform-scores{grid-template-columns:1fr}}@media(max-width:500px){.highlight-grid{grid-template-columns:1fr}.overview-section{align-items:flex-start}.overview-section>.pill{font-size:9px;flex-shrink:0}.score-content{gap:12px}}

.highlight-tabs{display:flex;gap:5px;border-bottom:1px solid #dce4ee;margin-bottom:16px;padding-bottom:9px}.highlight-tabs button{display:flex;align-items:center;gap:8px;background:transparent;border:0;font-size:12px;color:var(--muted)}.highlight-tabs button.active{background:var(--accent-soft);color:var(--accent)}.highlight-tabs button span{font:500 10px 'Prompt';padding:2px 6px;background:#fff;border-radius:5px}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.highlight-platform{font-size:10px;color:var(--accent);font-weight:500}.highlight-platform.tiktok{color:var(--ink)}.highlight-bottom{border-top:1px solid var(--line);padding-top:12px;margin-top:15px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between}.highlight-bottom small{font-size:9px}@media(max-width:1250px){.highlight-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:500px){.highlight-grid{grid-template-columns:1fr}}

.chart.chart-wide{height:280px;width:100%}.chart-wide polyline,.chart-wide line{vector-effect:non-scaling-stroke}@media(min-width:1500px){.chart.chart-wide{height:320px}}@media(max-width:760px){.chart.chart-wide{height:220px}}

.kpi-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px}.kpi-tools button{font-size:11px;color:var(--accent)}.personalized-kpis{grid-template-columns:repeat(var(--kpi-count),minmax(0,1fr))}.interactive-kpi{transition:box-shadow .18s,transform .18s}.interactive-kpi:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0058b011}.kpi-info{padding:0;border:0;background:transparent;color:var(--muted);font-size:14px}.kpi-accent{height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-soft));margin-top:15px;border-radius:4px;opacity:.35}.kpi-option{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.kpi-option label{display:flex;align-items:flex-start;gap:10px;flex:1;cursor:pointer}.kpi-option input{accent-color:var(--accent);margin-top:5px}.kpi-option small{display:block;font-size:10px;line-height:1.7;margin-top:4px}.kpi-order{display:flex;gap:4px}.kpi-order button{padding:4px 8px}#kpiEditor{margin:12px 0 22px}@media(max-width:1100px){.personalized-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:420px){.personalized-kpis{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.interactive-kpi{transition:none}.interactive-kpi:hover{transform:none}}

.health-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-3px 0 17px}.health-filters button{font-size:11px;background:white}.health-filters button span{margin-left:5px;font-family:'Prompt';font-size:10px}.health-filters button.selected{box-shadow:0 0 0 2px currentColor;border-color:transparent}.health-badge{font-size:10px;padding:4px 7px;border-radius:6px;white-space:nowrap}.health-good{color:#16704c!important;background:#eaf7f0!important}.health-bad{color:#bb2949!important;background:#ffedf1!important}.health-watch{color:#866600!important;background:#fff7d0!important}.health-all{color:var(--accent)!important}.health-card-good{border-top:3px solid #229b6a}.health-card-bad{border-top:3px solid var(--rose)}.health-card-watch{border-top:3px solid var(--amber)}.health-metric{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:10px;font-size:11px;color:var(--muted)}.health-metric strong{font-size:23px;color:var(--ink)}.health-trend{font-size:12px;font-weight:500;margin-top:12px}.health-trend small{display:block;font-size:9px;color:var(--muted);font-weight:400;margin-top:3px}.health-trend.positive{color:#16704c}.health-trend.negative{color:#bb2949}.health-trend.neutral{color:var(--muted)}.highlight-card p.health-advice{margin-top:12px;padding:9px;background:#f8fafc;border-radius:7px;color:#465568}

.trend-controls{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.trend-controls>label{font-size:10px;color:var(--muted)}.trend-controls .select-trigger{margin-top:4px;min-width:190px}.compare-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.compare-toggle input{accent-color:var(--accent);width:16px;height:16px}.trend-total{font-size:18px;margin-bottom:13px;color:var(--teal)}.trend-legend{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:10px;color:var(--muted);margin-bottom:8px}.trend-legend span{display:flex;align-items:center;gap:6px}.trend-legend i{display:inline-block;width:20px;border-top:2px solid}.trend-controls .compare-toggle{font-size:11px}

.mono,strong.metric,.big,.kpi .metric,.trend-total{font-family:Prompt,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:0}.trend-totals{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:17px}.trend-value{border:1px solid color-mix(in srgb,var(--series) 30%,white);border-left:3px solid var(--series);background:color-mix(in srgb,var(--series) 5%,white);padding:12px 18px;border-radius:10px;min-width:180px;color:var(--series)}.trend-value span{font-size:11px;display:block;margin-bottom:5px}.trend-value strong{font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.chart-tooltip{position:fixed;z-index:150;pointer-events:none;background:white;border:1px solid #dce4ee;border-radius:11px;padding:13px 15px;box-shadow:0 8px 28px #14344f26;font-size:11px;min-width:215px;max-width:calc(100vw - 20px)}.chart-tooltip strong{display:block;margin-bottom:8px;font-size:12px}.chart-tooltip .tip-row{display:flex;justify-content:space-between;gap:18px;margin-top:5px}.chart-tooltip small{display:block;margin-top:8px;font-size:9px}.trend-interactive{cursor:crosshair}

.table-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;flex-wrap:wrap}.table-heading h2{flex:1;min-width:230px}.table-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.table-toolbar>button{white-space:nowrap;font-size:11px;height:40px}.table-search{display:flex;align-items:center;gap:8px;border:1px solid #dce4ee;border-radius:9px;background:#f8fafc;padding:0 11px;height:40px}.table-search>span{color:var(--muted);font-size:20px}.table-search .search{width:210px;border:0;background:transparent;padding:0;font-size:11px;outline:none}.table-search:focus-within{outline:2px solid #1878d855;border-color:var(--accent)}.column-choice{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.column-choice input{accent-color:var(--accent)}.column-choice small{margin-left:auto}#columnEditor{margin:14px 0}#results [hidden]{display:none!important}@media(max-width:650px){.table-toolbar{width:100%;flex-wrap:wrap;margin:0}.table-search{width:100%}.table-search .search{width:100%}.table-toolbar>button{flex:1}.table-heading{gap:12px}}

#detailTrend>.card{padding:15px}#detailTrend .cardhead{display:block}#detailTrend .trend-controls{margin-top:12px;gap:10px}#detailTrend .trend-controls>label:first-child{width:100%}#detailTrend .trend-totals{gap:8px}#detailTrend .trend-value{min-width:0;flex:1;padding:9px 11px}#detailTrend .trend-value strong{font-size:18px}#detailTrend .chart-wide{height:215px}

.vscore-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.vscore-platform{display:flex;flex-direction:column;gap:18px}.vscore-platform .cardhead{margin:0}.vscore-platform .cardhead h2{display:flex;align-items:center;gap:8px}.vscore-platform .score{gap:18px}.vscore-platform .ring{height:110px;width:110px}.vscore-platform .ring>div{height:91px;width:91px}.vscore-platform .score-dimensions{margin-top:0;font-size:12px}.dimension-track{flex:1;min-width:30px}.vscore-platform .statlist .row>span{min-width:95px}.score-next{padding:16px;background:#f6f9fd;border-radius:10px;margin-top:auto}.score-next h3{margin-top:5px}.score-next button{margin-top:14px;font-size:11px}.vscore-platform details{font-size:11px}.motion-score{background:conic-gradient(var(--accent) var(--progress,76%),var(--accent-soft) 0)}@media(max-width:1100px){.vscore-pair{grid-template-columns:1fr}}@media(max-width:400px){.vscore-platform .score{flex-direction:column;align-items:flex-start}}

.quota-card{background:linear-gradient(115deg,#f3f8fe,white)}.quota-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.quota-item{background:white;border:1px solid var(--line);padding:17px;border-radius:10px}.quota-number{display:flex;gap:7px;align-items:baseline;margin:12px 0}.quota-number strong{font-size:30px;font-weight:500;color:var(--accent)}.quota-number span{font-size:15px;color:var(--muted)}.connection-status{display:flex;gap:22px;flex-wrap:wrap;margin:18px 0 24px;font-size:12px;color:var(--muted)}.connection-status b{color:var(--ink);margin-left:6px}@media(max-width:1000px){.quota-grid{grid-template-columns:1fr;gap:12px}.quota-number{margin:5px 0}}
.page-full{margin-top:16px;padding:15px;border:1px solid #eddfa9;background:#fffaf0;border-radius:10px}.page-full button{margin-top:12px}.already-linked{background:#f6f9fc;border-radius:8px;padding-left:10px;padding-right:10px}.column-choice .pill{font-size:9px;white-space:nowrap}
.connection-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-left:auto}.connection-actions button{white-space:nowrap}@media(max-width:600px){.connection-actions{width:100%;justify-content:flex-start;margin-left:0}}

.connection-identity{display:flex;align-items:center;gap:12px;margin:8px 0 18px}.connection-identity h2{font-size:16px}.connection-health{padding:14px;background:var(--accent-soft);border-radius:10px;color:var(--teal)}.connection-health p{font-size:11px;margin-top:6px}.connection-health.error{background:#ffedf1;color:#bb2949}.connection-health.warning{background:#fff7d0;color:#866600}.connection-facts{margin:16px 0}.connection-facts>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px}.connection-facts dt{color:var(--muted)}.connection-facts dd{margin:0;overflow-wrap:anywhere}.permission-list{padding:12px 0;font-size:12px}.permission-list small{display:block;margin-top:8px}.connection-detail-actions{display:flex;gap:8px;margin-top:12px}.connection-detail-actions button{font-size:11px}.connection-danger{margin-top:26px;border-top:1px solid var(--line);padding-top:20px}.connection-danger h3{color:#bb2949}.connection-danger button{color:#bb2949;margin-top:12px;font-size:11px}@media(max-width:420px){.connection-facts>div{grid-template-columns:110px 1fr}}

.user-intro{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:18px}.user-status-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px}.user-status-card{text-align:left;background:white;padding:16px}.user-status-card strong{display:block;font-size:26px;font-weight:500}.user-status-card span{font-size:11px;color:var(--muted)}.user-status-card.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.user-filters{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:20px}.user-filters>input{flex:1;min-width:190px;height:40px}.user-filters label{font-size:10px;color:var(--muted)}.user-filters .select-trigger{min-width:130px;margin-top:4px}.user-bulk{display:flex;align-items:center;gap:14px;margin-bottom:15px}.plan-ref{border:1px solid var(--line);border-radius:10px;padding:15px;margin-top:12px}@media(max-width:1100px){.user-status-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:500px){.user-status-grid{grid-template-columns:repeat(2,1fr)}.user-intro{align-items:flex-start}.user-filters>input{width:100%;flex-basis:100%}}

.user-plan-history{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.plan-history-entry{position:relative;border-left:2px solid var(--accent-soft);margin:16px 0 0 6px;padding:0 0 16px 18px}.history-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);left:-6px;top:5px}.plan-history-entry strong{font-size:13px;font-weight:500}.plan-history-entry p{font-size:11px;margin:7px 0}.plan-history-entry small{font-size:10px}
.profile[role=button]{cursor:pointer;border-radius:8px}.profile[role=button]:hover{background:var(--accent-soft)}.profile[role=button]:focus-visible{outline:2px solid var(--accent)}
.profile-actions{display:grid;gap:9px;margin:16px 0 22px}.profile-actions button{display:flex;justify-content:space-between;align-items:center;text-align:left;padding:13px 15px;border:1px solid #c8dcef;background:#f3f8fd;color:var(--accent);font-weight:500;box-shadow:0 2px 4px #0058b006}.profile-actions button:hover{background:var(--accent-soft);border-color:var(--accent)}.profile-back{color:var(--accent);background:#f3f8fd;margin:0 0 18px;border-color:#d5e4f4;font-size:12px}.password-input{display:flex;align-items:center;gap:8px}.password-input input{flex:1;min-width:0}.password-input button{flex-shrink:0;font-size:11px}

.password-input button{width:38px;height:38px;display:grid;place-items:center;padding:0;color:var(--muted)}.password-input input[aria-invalid=true]{border-color:#EF4565}

/* Shared file picker styling, including dynamically rendered forms. */
input[type="file"]{display:block;width:100%;min-width:0;padding:6px;background:#f8fbff;border:1px solid #d5e4f4;border-radius:10px;color:var(--muted);font:400 12px Prompt,sans-serif;line-height:1.6;cursor:pointer;transition:border-color .18s,box-shadow .18s}
input[type="file"]::file-selector-button{font:500 12px Prompt,sans-serif;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:7px;padding:9px 14px;margin-inline-end:12px;cursor:pointer;transition:background .18s,border-color .18s}
input[type="file"]::-webkit-file-upload-button{font:500 12px Prompt,sans-serif;color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:7px;padding:9px 14px;margin-inline-end:12px;cursor:pointer}
input[type="file"]:hover{border-color:var(--accent-2)}
input[type="file"]:hover::file-selector-button{background:var(--accent-2);border-color:var(--accent-2)}
input[type="file"]:hover::-webkit-file-upload-button{background:var(--accent-2);border-color:var(--accent-2)}
input[type="file"]:focus-visible{outline:3px solid #1878D844;outline-offset:3px}
input[type="file"]:disabled{opacity:.5;cursor:not-allowed}
input[type="file"]:disabled::file-selector-button{cursor:not-allowed;background:var(--muted);border-color:var(--muted)}
@media(prefers-reduced-motion:reduce){input[type="file"],input[type="file"]::file-selector-button{transition:none}}

/* Compact file picker. */
input[type="file"]{padding:4px;min-height:0;font-size:11px;line-height:1.4}
input[type="file"]::file-selector-button{font-size:11px;line-height:1.4;padding:5px 10px;margin-inline-end:9px;border-radius:6px}
input[type="file"]::-webkit-file-upload-button{font-size:11px;line-height:1.4;padding:5px 10px;margin-inline-end:9px;border-radius:6px}

/* Tier identity: decorative geometry stays behind the readable content. */
.plan-tier{--tier-ink:#174782;--tier-line:#b9d2f0;--tier-light:#e9f2ff;--tier-end:#c5dcfb;position:relative;isolation:isolate;overflow:hidden;border:1px solid var(--tier-line);background:linear-gradient(120deg,#fff 0%,var(--tier-light) 47%,var(--tier-end) 100%);color:var(--tier-ink);box-shadow:0 5px 18px #12345709}
.plan-tier::before{content:'';position:absolute;z-index:-1;pointer-events:none;width:270px;height:270px;right:-105px;top:-125px;border:36px solid var(--tier-line);border-radius:45px;transform:rotate(35deg);opacity:.45}
.plan-tier::after{content:'';position:absolute;z-index:-1;pointer-events:none;inset:0;background:repeating-linear-gradient(135deg,transparent 0 26px,var(--tier-line) 27px 28px,transparent 29px 52px);opacity:.16;mask-image:linear-gradient(90deg,transparent 20%,black)}
.plan-tier .tier-caption{font-size:9px;font-weight:600;letter-spacing:1.8px;color:var(--tier-ink);margin-bottom:10px}.plan-tier .big{color:var(--tier-ink)}.plan-tier .note,.plan-tier small{color:var(--tier-ink)}.plan-tier .primary{background:var(--tier-ink);border-color:var(--tier-ink);color:white}.plan-tier .primary:hover{filter:brightness(1.12)}
.tier-trial{--tier-ink:#475569;--tier-line:#cbd2da;--tier-light:#f1f3f5;--tier-end:#e0e5eb}
.tier-starter{--tier-ink:#075985;--tier-line:#afd7ed;--tier-light:#edf8ff;--tier-end:#d3edfa}
.tier-growth{--tier-ink:#174782;--tier-line:#adc9f0;--tier-light:#eaf2ff;--tier-end:#c5dafa}
.tier-agency,.tier-enterprise{--tier-ink:#623798;--tier-line:#d0b6ed;--tier-light:#f4edff;--tier-end:#e1cff7}
.plan-tier .pill.warn{color:#796200;background:#fff7d0}

.nav button{transition:background-color .16s,color .16s;min-height:40px}.nav button:hover{background:#dbe6f2;color:var(--teal)}.nav button.active:hover{background:#c7ddf3;color:var(--teal)}.nav .nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px;width:20px;height:22px}.nav .nav-icon svg{display:block;overflow:visible}.nav button:focus-visible{background:#dbe6f2;outline:2px solid var(--accent-2);outline-offset:-2px}@media(prefers-reduced-motion:reduce){.nav button{transition:none}}

.ui-icon{display:inline-block;vertical-align:-3px;flex-shrink:0}.platform-logo{object-fit:contain;display:inline-block;vertical-align:middle;flex-shrink:0}.icon-normalized{display:inline}.platform-mark{background:transparent}.platform-mark .platform-logo{width:21px;height:21px}.highlight-platform .platform-logo{width:17px;height:17px}.nav .icon-normalized{display:contents}

/* Platform names remain plain text within all tables. */
table .platform-logo{display:none!important}

.platform-logo,.platform-mark .platform-logo,.highlight-platform .platform-logo{width:20px;height:20px;min-width:20px;object-fit:contain;vertical-align:middle}
.highlight-platform{display:inline-flex;align-items:center;gap:6px;line-height:20px}
.highlight-tabs .platform-logo,table .platform-logo{display:none!important}

.topbar-actions{display:flex;align-items:center;gap:14px}.notification-bell{position:relative;display:grid;place-items:center;width:38px;height:38px;padding:7px}.notification-bell>span{position:absolute;right:-5px;top:-6px;background:var(--rose);color:white;font-size:10px;border-radius:12px;min-width:18px;height:18px;display:grid;place-items:center;border:2px solid white}.notification-bell>span[hidden]{display:none}.notice-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.notice-list{margin-top:15px}.notice-item{border:1px solid var(--line);border-radius:11px;padding:15px;margin-bottom:12px}.notice-item.unread{border-left:3px solid var(--accent);background:#f4f9ff}.notice-item h3{margin:12px 0 5px}.notice-item p{font-size:11px;color:var(--muted);margin-bottom:13px}.push-preview{position:fixed;right:20px;bottom:20px;width:340px;max-width:calc(100vw - 40px);background:white;border:1px solid #d5e4f4;border-radius:14px;box-shadow:0 12px 50px #12345033;padding:18px;z-index:170}.push-preview h3{margin-top:12px}.push-preview p{font-size:12px;margin:7px 0 12px}.push-preview .row>button{border:0;padding:2px}

.announcement-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:22px}.field textarea{font:inherit;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:8px;min-height:110px}#announceError{font-size:12px;margin-top:12px}

.global-refresh-wrap{display:flex;align-items:center;gap:9px}.global-refresh-wrap>button{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:36px;color:var(--accent);font-size:11px;white-space:nowrap}.global-refresh-wrap>small{font-size:9px;white-space:nowrap}.refreshing .refresh-icon{animation:refreshSpin 1s linear infinite}@keyframes refreshSpin{to{transform:rotate(360deg)}}@media(max-width:1100px){.global-refresh-wrap>small{display:none}}@media(max-width:760px){.topbar>.demo{display:none}.topbar-actions{gap:9px}.global-refresh-wrap>button{font-size:10px;padding:7px 9px}}@media(prefers-reduced-motion:reduce){.refreshing .refresh-icon{animation:none}}

.filter-refresh{flex:0 0 38px;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px;margin-left:auto;color:var(--accent);border:1px solid #d5e4f4;border-radius:9px;background:#f5f9ff}.filter-refresh:hover{background:#dbeaf9;border-color:var(--accent-2)}.filters>.scope+.filter-refresh{margin-left:4px}.highlight-tabs>.filter-refresh{margin-left:auto;border:1px solid #d5e4f4;background:#f5f9ff;color:var(--accent)}@media(max-width:760px){.filters .scope{width:auto;flex:1;min-width:170px}.filters>.filter-refresh{margin-left:auto}}

.campaign-kpi-grid{display:grid;grid-template-columns:repeat(var(--campaign-cols),minmax(0,1fr));gap:12px;margin-bottom:12px}.campaign-kpi-grid .card{padding:16px}.campaign-kpi-grid .metric{font-size:24px;overflow-wrap:anywhere}.campaign-kpi-grid .row{align-items:flex-start;gap:7px}.campaign-kpi-grid .row>.muted{font-size:11px}.campaign-kpi-grid .kpi-info{flex-shrink:0}@media(max-width:1100px){.campaign-kpi-grid{overflow-x:auto;grid-template-columns:repeat(var(--campaign-cols),minmax(155px,1fr));padding-bottom:8px}}@media(max-width:600px){.campaign-kpi-grid{grid-template-columns:repeat(var(--campaign-cols),minmax(145px,1fr))}}

.kpi:first-child{border-top:1px solid var(--line);padding-top:21px}.campaign-kpi-grid .kpi:first-child{padding-top:16px}.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--accent);opacity:0;transition:opacity .16s}.kpi:hover::before,.kpi:focus-within::before{opacity:1}.campaign-change{font-size:10px;margin:9px 0 4px}.campaign-change.better{color:#16704c}.campaign-change.worse{color:#bb2949}.campaign-change.steady{color:#8a6900}.campaign-chart-section{margin-top:25px}.campaign-chart-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.campaign-bar-item{margin:20px 0;font-size:11px}.scatter-chart{width:100%;height:270px}.campaign-funnel{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px}.funnel-stage{background:#f6f9fe;border:1px solid var(--line);border-radius:10px;padding:14px}.funnel-stage h3{font-size:12px;margin:8px 0}.funnel-stage>strong{font-size:24px;color:var(--accent)}@media(max-width:1100px){.campaign-chart-pair{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.kpi::before{transition:none}}

.scatter-chart circle{cursor:pointer;pointer-events:all}.scatter-chart circle:hover,.scatter-chart circle:focus{fill-opacity:1;stroke:var(--teal);stroke-width:2;outline:none}.kpi-comparison{display:block;line-height:1.7;font-size:9px}.kpi-comparison strong{font-size:11px;font-weight:500;color:#596170}

.campaign-kpi-grid{padding-bottom:8px}.kpi-comparison{white-space:normal;overflow-wrap:anywhere;font-size:9px;line-height:1.6}.kpi-comparison strong{font-size:inherit;font-weight:500}

.fb-context{padding:15px;background:white;border:1px solid var(--line);border-radius:12px;margin-bottom:18px}.fb-context strong{font-size:12px}.fb-context small{font-size:10px}.fb-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;font-size:11px}.fb-chips button{padding:6px 9px;font-size:10px;background:var(--accent-soft);color:var(--accent)}.fb-selectable{cursor:pointer}.fb-selectable:hover{background:#f3f8ff}.fb-selectable.selected{background:#e6f0fa}.fb-selectable input{accent-color:var(--accent)}
.fb-compare-summary,.fb-compare-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fb-compare-summary>span{font-size:12px;color:var(--muted)}.fb-compare-summary>button{display:inline-flex;align-items:center;gap:7px;font-size:12px}.fb-compare-actions{margin-top:18px}
.fb-compare-trigger{align-self:flex-end;min-height:42px;color:var(--accent);background:var(--accent-soft);white-space:nowrap}.fb-chips{margin-bottom:14px}

.campaign-trend-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px;min-width:230px}
.campaign-trend-controls>label:first-child{width:100%}
.campaign-trend-controls .select-trigger{width:100%;min-width:0}
.campaign-trend-controls .compare-toggle{justify-content:flex-end;gap:9px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#F7F9FC;color:var(--muted);line-height:1.5}
.campaign-trend-controls .compare-toggle input{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 30px;width:30px;height:18px;margin:0;border:0;border-radius:20px;background:#CBD5E1;cursor:pointer;transition:background .18s}
.campaign-trend-controls .compare-toggle input::before{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .18s}
.campaign-trend-controls .compare-toggle input:checked{background:var(--accent)}
.campaign-trend-controls .compare-toggle input:checked::before{transform:translateX(12px)}
.campaign-trend-controls .compare-toggle input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.campaign-trend-controls{width:100%;min-width:0}.campaign-trend-controls .compare-toggle{justify-content:flex-start}}

.campaign-trend-controls{flex-direction:row;align-items:flex-end;gap:12px;min-width:0}
.campaign-trend-controls>label:first-child{width:210px}
.campaign-trend-controls .compare-toggle{width:auto;min-height:42px;box-sizing:border-box;padding:10px 12px;white-space:nowrap;justify-content:center}
.comparison-kpi-group{margin:0 0 18px;padding-top:4px}
.comparison-kpi-heading{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-size:11px;color:var(--muted);margin-bottom:10px}
.comparison-kpi-heading strong{color:var(--teal);font-weight:500}
.comparison-value{border-style:dashed;background:color-mix(in srgb,var(--series) 3%,white)}
.comparison-kpi-group .trend-totals{margin-bottom:0}
@media(max-width:600px){.campaign-trend-controls{flex-wrap:wrap;width:100%}.campaign-trend-controls>label:first-child{flex:1;min-width:170px}.campaign-trend-controls .compare-toggle{width:auto}}

.paired-trend-kpis{display:flex;gap:14px;margin-bottom:20px;flex-wrap:wrap}.paired-trend-card{flex:1;min-width:290px;border:1px solid color-mix(in srgb,var(--series) 25%,white);border-left:3px solid var(--series);border-radius:12px;padding:16px;background:color-mix(in srgb,var(--series) 3%,white)}.paired-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.paired-heading>strong{color:var(--series);font-size:12px;font-weight:500}.trend-change{font-size:10px;border-radius:6px;padding:4px 8px;font-variant-numeric:tabular-nums}.trend-change.better{color:#237447;background:#E8F5EC}.trend-change.worse{color:#BA304C;background:#FCECF0}.trend-change.steady{color:#856A0C;background:#FFF6CD}.trend-change.neutral{color:#6B7280;background:#EEF1F6}.paired-values{display:grid;grid-template-columns:1fr 1fr;gap:16px}.paired-values>div{display:flex;flex-direction:column;gap:5px;min-width:0}.paired-values span,.paired-values small{font-size:10px;color:var(--muted)}.paired-values strong{font-size:24px;font-weight:500;color:var(--series);font-variant-numeric:tabular-nums}.paired-previous{border-left:1px dashed color-mix(in srgb,var(--series) 35%,white);padding-left:16px}.paired-previous strong{font-size:22px}.paired-values small{font-size:9px}@media(max-width:480px){.paired-trend-card{min-width:0;flex-basis:100%}.paired-values{gap:10px}.paired-values strong{font-size:20px}}
.column-customize{display:inline-flex;align-items:center;gap:7px}.column-customize small{color:var(--muted)}
.fb-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:18px;font-size:11px}.fb-pagination label{display:flex;align-items:center;gap:8px}.fb-pagination .select-trigger{min-width:70px}#fbTableTotal{background:#E6F0FA;font-weight:600}#results th,#results td{white-space:nowrap}
.fb-pagination label{white-space:nowrap;flex-shrink:0}.fb-pagination label .select-trigger{width:80px;min-width:80px;flex-shrink:0}

.campaign-funnel{display:flex;gap:30px;overflow-x:auto;padding:3px 2px 10px}.campaign-funnel .funnel-stage{flex:1 0 145px;position:relative;min-width:0}.campaign-funnel .funnel-stage:not(:last-child)::after{content:'';position:absolute;right:-22px;top:50%;width:9px;height:9px;border-top:2px solid var(--accent);border-right:2px solid var(--accent);transform:translateY(-50%) rotate(45deg)}
#sharedTableTotal{background:#E6F0FA;font-weight:600}
#v2CampaignTableTotal,#v2ResultsTotal{background:#E6F0FA;font-weight:600}
.budget-treemap{position:relative;height:330px;margin:12px 0;border-radius:12px;overflow:hidden}.budget-tile{position:absolute;border:2px solid white;border-radius:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:9px;overflow:hidden;min-width:0;box-sizing:border-box;text-align:center}.budget-tile strong{font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.budget-tile span{font-size:18px;font-weight:500}.budget-tile small{font-size:9px}.budget-tile:hover{filter:brightness(1.08);z-index:1}.budget-tile:focus-visible{outline:3px solid #F8C800;outline-offset:-5px;z-index:2}.treemap-key{display:flex;align-items:center;justify-content:flex-end;gap:8px;font-size:10px;color:var(--muted)}.treemap-key i{height:8px;width:100px;border-radius:5px;background:linear-gradient(90deg,hsl(209 65% 83%),hsl(209 65% 34%))}@media(max-width:600px){.budget-treemap{height:300px}.budget-tile span{font-size:14px}}
.campaign-treemap-full{margin:18px 0}.campaign-treemap-full .budget-treemap{height:420px}.treemap-metric-label{font-size:11px;color:var(--muted);min-width:220px}.treemap-metric-label .select-trigger{margin-top:5px}@media(max-width:600px){.campaign-treemap-full .budget-treemap{height:340px}.treemap-metric-label{min-width:0;width:100%}}
.budget-tile strong,.budget-tile span,.budget-tile small{color:inherit;opacity:1}.budget-tile small{font-size:11px;font-weight:500;line-height:1.5}
.creative-retention{display:grid;grid-template-columns:90px 1fr 65px 90px;align-items:center;gap:14px;padding:14px 0;font-size:12px}.creative-retention .bar{margin:0}.creative-retention strong{text-align:right}.creative-retention:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:600px){.creative-retention{grid-template-columns:75px 1fr 50px;gap:8px}.creative-retention small{grid-column:2/4}}
.creative-name-cell{display:flex;gap:12px;align-items:center}.creative-thumb{position:relative;flex:0 0 64px;width:64px;height:76px;padding:0;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.creative-poster{width:100%;height:100%;background:#E6F0FA;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.poster-1{background:#f5e1db}.poster-2{background:#e1efdf}.poster-bottle{background:#fffdf5;border-radius:9px 9px 12px 12px;padding:22px 6px 12px;text-align:center;color:#174B42;font-size:9px;box-shadow:4px 7px 12px #25495422}.poster-bottle small{font-size:5px}.poster-caption{position:absolute;bottom:8%;font-size:12px;color:#174B42}.creative-thumb .poster-caption{display:none}.thumb-action{position:absolute;bottom:3px;right:3px;background:#102a43d9;color:white;border-radius:5px;padding:2px 5px;font-size:11px}.creative-thumb:hover{outline:2px solid var(--accent)}.creative-media-stage{height:430px;max-height:60vh;border-radius:14px;overflow:hidden;margin-top:18px}.creative-media-stage .poster-bottle{font-size:25px;padding:85px 22px 50px;border-radius:22px}.creative-media-stage .poster-bottle small{font-size:10px}.creative-media-controls{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}.creative-media-controls input{width:100%;accent-color:var(--accent)}.creative-media-controls span{font-size:12px}
.creative-analysis-preview{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:white;width:fit-content;max-width:100%;box-sizing:border-box}.creative-analysis-preview>.creative-thumb{width:80px;height:96px;flex-basis:80px}.creative-analysis-preview>div{min-width:0}.creative-analysis-preview strong{display:block;font-size:13px;overflow-wrap:anywhere}.creative-analysis-preview small{display:block;margin:4px 0 8px;font-size:11px}
.creative-preview-group{margin-bottom:18px}.creative-preview-strip{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;align-items:stretch}.creative-preview-strip .creative-analysis-preview{flex:0 0 170px;width:170px;flex-direction:column;align-items:stretch;padding:10px;margin:0}.creative-preview-strip .creative-thumb{width:100%;height:104px;flex:0 0 104px}.creative-preview-strip .creative-analysis-preview strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.creative-preview-strip .creative-analysis-preview small{font-size:10px}.creative-preview-more{flex:0 0 110px;white-space:normal;color:var(--accent);background:var(--accent-soft);border-style:dashed}.creative-preview-list .creative-analysis-preview{width:100%}
.creative-analysis-preview{position:relative;padding-top:35px}.creative-preview-strip .creative-analysis-preview{padding-top:35px}.creative-preview-check{position:absolute;top:8px;left:10px;display:flex;align-items:center;gap:6px;font-size:10px;color:var(--accent);cursor:pointer}.creative-preview-check input{width:16px;height:16px;accent-color:var(--accent);margin:0}
.creative-preview-more{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:110px}.creative-preview-more small{color:inherit;font-size:10px}
/* Fixed media slots: intrinsic media dimensions never resize the thumbnail. */
.creative-thumb,.creative-media-stage{background:#EEF1F6;min-width:0}
.creative-thumb .creative-poster,.creative-media-stage .creative-poster{position:absolute;inset:0;width:100%;height:100%;background:#EEF1F6}
.creative-media-stage{position:relative}
.creative-thumb img,.creative-thumb video,.creative-media-stage img,.creative-media-stage video,.creative-media-fit{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.creative-media-fit .poster-bottle{padding:0;box-shadow:none;transform-box:fill-box;transform-origin:center}
.creative-thumb img,.creative-thumb video,.creative-thumb .creative-media-fit{object-fit:cover;object-position:center}.creative-thumb,.creative-thumb .creative-poster{background:transparent}
.aud-rank{margin:18px 0;font-size:12px}.aud-share{display:flex;gap:12px;align-items:center;font-size:11px}.aud-share .bar{flex:1}.aud-share span{min-width:45px;text-align:right}.aud-heatmap{display:grid;grid-template-columns:90px repeat(3,minmax(90px,1fr));gap:8px;overflow-x:auto;align-items:center;text-align:center;font-size:12px}.aud-heat-cell{padding:20px 8px;border-radius:8px;color:#123D64}.aud-heat-cell:focus-visible,.aud-rank:focus-visible{outline:2px solid var(--accent)}

.facebook-creative-grid .creative{display:flex;flex-direction:column}
.facebook-creative-grid .creative>.art{flex-shrink:0}
.facebook-creative-grid .creativebody{display:flex;flex-direction:column;flex:1}
.facebook-creative-grid .creativebody>button:last-child{margin-top:auto!important}
.facebook-creative-grid .creativebody>.row:last-of-type{margin-bottom:14px}

.facebook-creative-grid .creativebody>.row:last-of-type{margin-top:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;padding-top:14px;margin-bottom:14px}
.facebook-creative-grid .creativebody>.row:last-of-type>span:nth-child(2){text-align:center}
.facebook-creative-grid .creativebody>.row:last-of-type>span:last-child{text-align:right}
.facebook-creative-grid .creativebody>button:last-child{margin-top:0!important}
#detailTrend .campaign-trend-controls>label:first-child{width:auto;flex:1;min-width:155px}#detailTrend .campaign-trend-controls{align-items:flex-end;gap:8px}#detailTrend .paired-trend-card{min-width:0;flex-basis:100%}#detailTrend .paired-values strong{font-size:20px}#detailTrend .chart-wide{height:245px}
.aud-simple-select{font-size:11px;color:var(--muted);max-width:210px}.aud-simple-select .select-trigger{margin-top:5px}.aud-simple-ranking{margin:12px 0}.aud-simple-rank{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.aud-simple-rank:last-child{border-bottom:0}.aud-rank-number{background:var(--accent-soft);color:var(--accent);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:11px}.aud-simple-rank .row>b{font-size:18px;color:var(--accent)}.aud-simple-rank .bar{height:8px;margin-top:10px}.aud-share-table{width:100%;font-size:12px}.aud-share-table th,.aud-share-table td{padding:15px 9px}.aud-share-table td:nth-child(2),.aud-share-table td:nth-child(3){min-width:85px}.aud-share-table .bar{height:5px;margin:8px 0 0}.aud-gap{display:inline-block;border-radius:6px;background:#F0F4F9;color:#294661;padding:5px 8px;font-size:11px}.aud-demographic-table{width:100%;min-width:380px;table-layout:fixed}.aud-demographic-table td,.aud-demographic-table th{text-align:center;padding:6px;border:0}.aud-demographic-table th:first-child{width:85px}.aud-demographic-table td>div{padding:20px 8px;border-radius:8px;color:#123D64;font-size:17px}.aud-demographic-table thead th{padding-bottom:16px}.aud-heat-key{display:flex;justify-content:flex-end;gap:8px;align-items:center;font-size:10px;color:var(--muted);margin:15px 0}.aud-heat-key i{display:block;width:100px;height:8px;border-radius:5px;background:linear-gradient(90deg,#F4F8FC,#C6D9ED)}
.aud-redesign-chart{display:block;width:100%;height:auto;min-height:200px}.aud-demographic-bars{display:block;width:100%;height:auto;max-height:500px}@media(max-width:600px){.aud-demographic-bars{min-height:310px}.aud-redesign-chart{min-height:240px}}
.fb-scope-banner{background:#E6F0FA;border:1px solid #BDD5EF;border-radius:14px;padding:16px 20px;margin:0 0 16px;color:#0B4F94}.fb-scope-banner .fb-scope-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fb-scope-banner .fb-chips{margin:10px 0 0}.fb-scope-banner summary{cursor:pointer;font-weight:600}.fb-scope-banner button{white-space:normal;text-align:left}.fb-scope-banner .note{margin:8px 0 0}.fb-scope-top>.link{margin-left:auto}
.contribution-row{display:grid;grid-template-columns:minmax(160px,1fr) 2fr minmax(90px,.5fr);gap:16px;align-items:center;margin:18px 0;font-size:14px}.contribution-track{height:24px;position:relative;background:linear-gradient(to right,transparent 49.8%,#aab7c8 49.8%,#aab7c8 50.2%,transparent 50.2%)}.contribution-track i{position:absolute;height:16px;top:4px;border-radius:3px}@media(max-width:650px){.contribution-row{grid-template-columns:1fr 1fr}.contribution-row>strong:first-child{grid-column:1/-1}}
.contribution-summary{display:grid;grid-template-columns:1fr 1fr;border:1px solid #D5E2F1;border-radius:16px;background:#F5F9FD;margin:20px 0;overflow:hidden}.contribution-summary>section{padding:24px;min-width:0}.contribution-summary-main{border-right:1px solid #D5E2F1}.contribution-summary-value{display:block;font-size:36px;line-height:1.3;margin:10px 0 4px;color:#11131A}.contribution-summary-change{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:18px 0}.contribution-summary-change .campaign-change{margin:0}.contribution-summary-before,.contribution-summary-rest{border-top:1px solid #D5E2F1;padding-top:14px;margin-top:18px}.contribution-summary small{display:block;color:#6B7280;margin-top:5px}.contribution-summary-driver h3{margin:16px 0;color:#11131A;overflow-wrap:anywhere}.contribution-summary-driver-delta strong{font-size:24px;display:inline-block;margin-left:6px}@media(max-width:700px){.contribution-summary{grid-template-columns:1fr}.contribution-summary-main{border-right:0;border-bottom:1px solid #D5E2F1}}

.contribution-legend{display:flex;align-items:center;flex-wrap:wrap;gap:18px;margin:24px 0 12px;color:#6B7280;font-size:13px}.contribution-legend span{display:inline-flex;align-items:center;gap:7px}.contribution-legend i{width:10px;height:10px;border-radius:3px}.contribution-legend small{margin-left:auto}.contribution-row{grid-template-columns:minmax(180px,1.1fr) minmax(180px,2fr) minmax(105px,.45fr);gap:20px;margin:0;padding:18px 16px;border-bottom:1px solid #E9EBF1;border-radius:8px;transition:background .15s}.contribution-row:hover{background:#F3F7FC}.contribution-name{font-weight:500;color:#344054;font-size:14px;line-height:1.6}.contribution-value{text-align:right;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:#243B5A;white-space:nowrap}.contribution-track{height:32px;border-radius:6px;background:linear-gradient(to right,#F5F8FC 49.85%,#AABBD0 49.85%,#AABBD0 50.15%,#F5F8FC 50.15%)}.contribution-track i{height:14px;top:9px;border-radius:4px;min-width:1px;max-width:50%}@media(max-width:650px){.contribution-row{grid-template-columns:minmax(0,1fr) 100px;gap:8px;padding:14px 8px}.contribution-name{grid-column:1/-1}.contribution-legend small{margin-left:0;width:100%}}
.workspace-tabs{display:flex;gap:8px;background:#E2EAF5;border:1px solid #CDDBED;padding:8px;border-radius:16px;margin:20px 0 24px;flex-wrap:wrap}.workspace-tabs button{flex:1;min-width:150px;padding:16px 18px;background:transparent;border:0;border-radius:11px;font-weight:600;color:#4E6380}.workspace-tabs button.active{background:#285BAA;color:white;box-shadow:0 4px 10px #285baa25}.workspace-tabs button:hover:not(.active){background:#D2DFF0;color:#174F98}.ab-sides{display:grid;grid-template-columns:1fr 1fr;gap:20px}.ab-side{background:#F7F9FD;border:1px solid #D5E2F1;border-radius:14px;padding:20px;min-width:0}.ab-side h3 span{display:inline-grid;place-items:center;background:#285BAA;color:white;width:32px;height:32px;border-radius:8px;margin-right:8px}.ab-side input{min-width:0;width:100%}@media(max-width:700px){.ab-sides{grid-template-columns:1fr}.workspace-tabs button{min-width:40%}}

.ab-result-context{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:20px 0 24px}.ab-context-card{padding:20px;border:1px solid;border-radius:14px;min-width:0}.ab-context-a{background:#F1F6FD;border-color:#CDDEF5;--ab-color:#285BAA}.ab-context-b{background:#F7F3FD;border-color:#E0D4F4;--ab-color:#7350A6}.ab-context-heading{display:flex;align-items:center;gap:10px;color:var(--ab-color);font-size:13px;font-weight:500}.ab-letter{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--ab-color);color:white;font-weight:600}.ab-context-card h3{margin:14px 0 12px;font-size:16px;line-height:1.6;color:#243044;overflow-wrap:anywhere}.ab-context-date{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:13px;color:#59677B}.ab-day-count{background:white;border:1px solid #E2E7EF;border-radius:6px;padding:3px 9px;white-space:nowrap}.ab-table-label{display:inline-block;padding:5px 10px;border-radius:6px;white-space:nowrap}.ab-label-a{color:#285BAA;background:#E6EFFB}.ab-label-b{color:#7350A6;background:#EEE6F8}@media(max-width:700px){.ab-result-context{grid-template-columns:1fr}}
.ab-side-a{background:#F1F6FD;border-color:#CDDEF5}.ab-side-b{background:#F7F3FD;border-color:#E0D4F4}.ab-side-b h3{color:#7350A6}.ab-side-b h3 span{background:#7350A6}.ab-side-b .callout{background:#EEE6F8;border-color:#E0D4F4;color:#7350A6}.ab-side-a h3{color:#285BAA}
.date-dialog header{position:sticky;top:0;background:#fff;z-index:2}.date-dialog footer{position:sticky;bottom:0;background:#fff;z-index:2}.date-dialog{overscroll-behavior:contain}
.chat-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.chat-metrics .metric{display:block;margin-top:12px;font-size:28px}.chat-history{max-height:330px;overflow:auto;background:#F3F6FA;padding:16px;border-radius:12px;margin:16px 0}.chat-bubble{max-width:88%;padding:12px 14px;border-radius:12px;background:white;border:1px solid #E4EAF2;margin:10px 0}.chat-bubble.outgoing{margin-left:auto;background:#E6F0FA}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0}.chat-keyword-row{display:grid;grid-template-columns:1fr 2fr 85px;gap:12px;padding:14px 0;border-bottom:1px solid #E9EBF1}.chat-keyword-row input{width:100%;min-width:0}.chat-keyword-row label{font-size:12px}#intentTest{width:100%}@media(max-width:650px){.chat-keyword-row{grid-template-columns:1fr}.chat-metrics{grid-template-columns:1fr 1fr}}
.chat-filter-bar .scope{margin-left:auto;text-align:right;flex:0 1 auto}.chat-filter-bar{justify-content:flex-start;gap:14px}.chat-page-logo{width:28px;height:28px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:9px;flex-shrink:0}.chat-filter-bar .select-trigger>span:first-child{display:flex;align-items:center}.chat-filter-bar>button{margin-left:0}
.chat-intent-funnel .intent-stage-0{background:#EDF4FC;border:1px solid #CBDEF4;color:#254D7D}.chat-intent-funnel .intent-stage-1{background:#C9DFF7;border:1px solid #95BBE5;color:#183F70}.chat-intent-funnel .intent-stage-2{background:#285BAA;border:1px solid #285BAA;color:#fff}.chat-intent-funnel .funnel-stage h3,.chat-intent-funnel .funnel-stage small,.chat-intent-funnel .funnel-stage strong,.chat-intent-funnel .funnel-stage p{color:inherit}.chat-intent-funnel .intent-stage-0 .bar{background:#DCE8F6}.chat-intent-funnel .intent-stage-1 .bar{background:#ACCBEF}.chat-intent-funnel .intent-stage-2 .bar{background:#ffffff30}.chat-intent-funnel .intent-stage-2 .bar b{background:#fff}
.chat-support{margin-top:24px}.chat-support-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:18px 0}.chat-support-item{border:1px solid #E2E7F0;border-left:4px solid var(--support-color);border-radius:14px;padding:20px;display:flex;flex-direction:column;align-items:flex-start}.chat-support-item h3{color:var(--support-color);font-size:14px;margin:0 0 10px}.chat-support-item>strong{font-size:19px;line-height:1.5}.chat-support-item>p{font-size:13px;line-height:1.8}.chat-support-item button{margin-top:auto;color:#285BAA}.support-urgent{--support-color:#C3344E}.support-warning{--support-color:#97731A}.support-intent{--support-color:#7350A6}.support-good{--support-color:#347657}
.chat-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0}.chat-tag{display:inline-flex;align-items:center;padding:5px 9px;border-radius:7px;font-size:11px;font-weight:500;line-height:1.5;white-space:nowrap}.chat-tag-0{background:#FFF3CD;color:#806114}.chat-tag-1,.chat-source-ads{background:#E6EFFB;color:#285BAA}.chat-tag-2,.chat-source-organic{background:#E5F4EC;color:#286849}.chat-tag-3{background:#FCE9EE;color:#AD2C47}.chat-tag-4{background:#EFE8FA;color:#7350A6}.chat-tag-5{background:#E1F3F5;color:#246B76}.chat-tag-neutral{background:#EEF1F6;color:#59677B}
.chat-sort{border:0;background:transparent;padding:0;color:inherit;font-size:inherit;text-align:left;display:inline-flex;gap:7px;align-items:center}.chat-sort span{color:#285BAA}.chat-source-comparison{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.chat-source-panel{border:1px solid #D6E2F0;border-top:4px solid #285BAA;border-radius:14px;padding:22px}.chat-source-panel.source-organic{border-top-color:#347657}.source-funnel-step{margin:16px 0}.source-funnel-step .bar{margin-top:8px}.source-organic .bar b{background:#347657}@media(max-width:700px){.chat-source-comparison{grid-template-columns:1fr}}
/* Ported from app.css (Chat Quality Recommendations + chart empty-state — real production classes, not present in the mockup's own CSS since this is a real-app-only decision-support feature) */
.campaign-rec-badge{display:inline-flex;padding:5px 10px;border-radius:99px;background:var(--accent-soft);color:var(--accent);font-size:10.5px;font-weight:700;white-space:nowrap;}
.campaign-account-insight{padding:12px 14px;border:1px solid #C9DDF7;background:#F3F7FD;border-radius:12px;color:#35506F;font-size:12px;line-height:1.65;margin-bottom:12px;}
.campaign-rec-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.campaign-rec-card{display:flex;gap:11px;min-width:0;padding:14px;border:1px solid var(--line);border-left:4px solid var(--rec-color,#2563EB);border-radius:13px;background:#fff;}
.campaign-rec-card.scale{--rec-color:#0E9F6E}.campaign-rec-card.duplicate{--rec-color:#2563EB}.campaign-rec-card.reduce{--rec-color:#F59E0B}.campaign-rec-card.pause{--rec-color:#EF4565}.campaign-rec-card.creative{--rec-color:#8B5CF6}
.campaign-rec-icon{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;flex:0 0 30px;background:color-mix(in srgb,var(--rec-color) 12%,white);color:var(--rec-color);font-weight:800;}
.campaign-rec-copy{min-width:0;}.campaign-rec-action{font-size:10.5px;font-weight:700;color:var(--rec-color);text-transform:uppercase;letter-spacing:.35px;}.campaign-rec-title{font-size:13px;font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.campaign-rec-account{font-size:10.5px;color:var(--muted);margin-top:1px;}.campaign-rec-detail{font-size:11.5px;color:var(--ink);line-height:1.55;margin-top:8px;}.campaign-rec-suggestion{font-size:11px;color:var(--muted);line-height:1.55;margin-top:5px;}.campaign-rec-footnote{font-size:10.5px;color:var(--muted);line-height:1.55;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);}.campaign-rec-empty{padding:18px;text-align:center;color:var(--muted);font-size:12px;background:var(--bg-canvas);border-radius:12px;}
@media(max-width:1100px){.campaign-rec-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:680px){.campaign-rec-grid{grid-template-columns:1fr;}}
.chart-wrap{position:relative;height:280px;}
.chart-empty-state{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:20px;color:var(--muted);}
.chart-empty-state svg{opacity:.55;}
.chart-empty-state .cet{font-size:13px;font-weight:600;color:var(--ink);}
.chart-empty-state .ces{font-size:11.5px;max-width:320px;line-height:1.5;}
.chat-compact-summary{padding:6px 22px}.chat-summary-group{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:center;padding:18px 0}.chat-summary-group+.chat-summary-group{border-top:1px solid #E9EBF1}.chat-summary-group h2{font-size:14px;margin:0;color:#344054}.chat-summary-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.chat-summary-stat{min-width:0;border-left:2px solid #E6EFFB;padding-left:14px}.chat-summary-stat>span{display:block;font-size:12px;line-height:1.6}.chat-summary-stat>strong{display:block;font-size:23px;line-height:1.4;margin-top:5px;font-variant-numeric:tabular-nums;color:#11131A}@media(max-width:950px){.chat-summary-group{grid-template-columns:1fr;gap:12px}.chat-summary-values{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:450px){.chat-compact-summary{padding:4px 14px}.chat-summary-stat>strong{font-size:20px}}
.chat-summary-panels{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1fr);gap:16px;margin:18px 0 24px;align-items:stretch}.chat-summary-panel.card{padding:20px;min-width:0}.chat-summary-panel header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.chat-summary-panel h2{font-size:15px;margin:0;line-height:1.5}.chat-summary-marker{display:grid;place-items:center;width:26px;height:26px;flex-shrink:0;border-radius:8px;background:#E6F0FA;color:#285BAA;font-size:12px;font-weight:600}.chat-summary-panel dl{margin:0}.chat-summary-line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid #EEF1F6}.chat-summary-line:last-child{border-bottom:0}.chat-summary-line dt{font-size:12px;line-height:1.6;color:#6B7280;min-width:0}.chat-summary-line dd{margin:0;flex-shrink:0;font-size:20px;font-weight:600;color:#11131A;line-height:1.4;white-space:nowrap;font-variant-numeric:tabular-nums}@media(max-width:1050px){.chat-summary-panels{grid-template-columns:1fr}.chat-summary-panel.card{padding:16px 20px}}
.chat-page-actions{display:flex;gap:8px;margin-left:auto;align-items:center}td small.chat-waiting{display:inline-block;background:#FCE9EE;color:#AD2C47;border-radius:6px;padding:4px 7px;margin-top:6px;font-weight:500}.chat-answered{color:#347657}.chat-messenger{border:1px solid #DDE5F0;border-radius:14px;overflow:hidden;margin-top:16px}.chat-messenger .chat-history{height:320px;max-height:45vh;margin:0;border-radius:0;overscroll-behavior:contain}.chat-composer{display:flex;gap:8px;align-items:flex-end;padding:10px;background:white;border-top:1px solid #E2E8F0}.chat-composer textarea{flex:1;min-width:0;min-height:40px;max-height:100px;border-radius:20px;padding:10px 14px;background:#F3F6FA;resize:vertical}.chat-composer button{width:40px;height:40px;padding:10px;border-radius:50%;flex-shrink:0;display:grid;place-items:center}.chat-tag-options{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.chat-tag-options button{border-radius:20px;font-size:12px;padding:7px 12px}.chat-tag-options button.selected{background:#E6F0FA;border-color:#285BAA;color:#285BAA}.chat-new-tag{display:flex;gap:8px;margin-bottom:14px}.chat-new-tag input{min-width:0;flex:1}#drawer .chat-tag-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px}#drawer .chat-tag-list .chat-tag{display:inline-flex;width:auto;margin:0}
.chat-tag-save-status{display:block;color:#347657;font-size:12px;margin:8px 0 14px}.chat-composer{padding:12px;gap:10px;align-items:center;background:#fff}.chat-composer textarea{border:1px solid #D7E3F1;background:#F5F8FC;border-radius:14px;min-height:44px;padding:11px 14px;font-family:inherit;font-size:13px;line-height:1.6;box-sizing:border-box;outline:none;transition:border-color .15s,box-shadow .15s}.chat-composer textarea:focus{background:#fff;border-color:#285BAA;box-shadow:0 0 0 3px #285baa15}.chat-composer textarea::placeholder{color:#8995A6}.chat-composer button.primary{width:42px;height:42px;border-radius:12px;background:#285BAA;border:1px solid #285BAA;color:white;box-shadow:0 3px 8px #285baa20}.chat-composer button.primary:hover{background:#184C97}.chat-composer button.primary:focus-visible{outline:3px solid #AFCDF0;outline-offset:2px}
.chat-table-tags{width:230px;max-width:230px}.chat-table-tag-list{display:flex;align-items:center;flex-wrap:wrap;gap:6px;max-width:230px}.chat-table-tag{display:inline-flex;min-width:0;max-width:105px}.chat-table-tag .chat-tag{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-more-tags{font-size:11px;padding:5px 8px;border:1px solid #D5E2F1;background:#F2F6FC;color:#285BAA;border-radius:7px;white-space:nowrap}.chat-more-tags:hover{background:#E6EFFB}.chat-more-tags:focus-visible{outline:2px solid #285BAA;outline-offset:2px}
.intent-test-card h2{margin-bottom:16px}.intent-test-card #intentTest{display:block;width:100%;box-sizing:border-box;min-height:110px;max-height:300px;padding:14px 16px;border:1px solid #D5E2F1;border-radius:12px;background:#F5F8FC;color:#243044;font-family:inherit;font-size:14px;line-height:1.7;resize:vertical;outline:none;transition:border-color .15s,box-shadow .15s}.intent-test-card #intentTest::placeholder{color:#8895A7}.intent-test-card #intentTest:focus{background:#fff;border-color:#285BAA;box-shadow:0 0 0 3px #285baa15}.intent-test-button{border-radius:10px;padding:11px 18px}.intent-test-card #intentTestResult:empty{display:none}.intent-test-card #intentTestResult:not(:empty){padding:14px 16px;background:#E6F0FA;border:1px solid #CDDEF5;border-radius:12px;color:#254D7D;font-size:14px;line-height:1.8;margin:16px 0 0;overflow-wrap:anywhere}
/* Ad Preview (v2AdPreview*) — ports the already-Meta-reviewed ad-format
   preview + caption/signals panels (05-content.js openAdPreview()) into
   v2's own visual language. Purple tone reuses the same palette already
   established for the A/B compare panel's "B" side (.ab-side-b), not a
   new color invented for this — the intent (a permission-gated, visually
   distinct data source) matches how that existing purple is already used. */
.v2-ad-preview-body{min-height:260px;max-height:55vh;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--bg-canvas);border-radius:12px;margin-top:14px}
.v2-ad-preview-body iframe{border:0;max-width:100%}
.v2-caption-panel{background:#EEE6F8;border:1px solid #E0D4F4;border-radius:10px;padding:14px 16px;margin-top:14px}
.v2-caption-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.v2-caption-head h4{font-size:12px;font-weight:700;color:#7350A6;margin:0}
.v2-permission-badge{font-size:9px;color:#7350A6;background:#E0D4F4;padding:3px 8px;border-radius:99px;white-space:nowrap;font-family:'IBM Plex Mono',monospace}
.v2-caption-text{font-size:12px;line-height:1.7;color:#4A2B72;white-space:pre-wrap}
.v2-signals-panel{background:var(--bg-canvas);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin-top:10px}
.v2-signals-panel h4{font-size:12px;font-weight:700;color:var(--ink);margin:0 0 8px}
.v2-signal-chip{display:inline-flex;align-items:center;font-size:11px;font-weight:600;padding:5px 10px;border-radius:99px;margin:0 6px 6px 0}
.v2-signal-chip.good{color:#0E7A4F;background:#E7F8F1}
.v2-signal-chip.warn{color:#8B6500;background:#FFF3D6}
.v2-signal-chip.info{color:#3A5DA8;background:#E9F0FC}
/* .pill only ships default/.warn/.bad tones (base CSS) — .good/.muted added
   here for status badges with 4 real tones (e.g. TikTok GMV Max creative
   delivery status), reusing the same green/gray already established for
   Overview's .health-good/.health-watch badges elsewhere in this file. */
.pill.good{background:#eaf7f0;color:#16704c}
.pill.muted{background:var(--bg-canvas);color:var(--muted)}
/* Generic single-checkbox toggle, styled as a switch inside a bordered
   box — same visual language as .campaign-trend-controls .compare-toggle
   (the "เทียบช่วงก่อนหน้า" controls) but usable anywhere without needing
   that specific ancestor wrapper. Added for the Users page's "ไม่มีการ
   ชำระเงิน" checkbox (2026-10-02 — plain <input type=checkbox> read poorly
   there with no styling at all). */
.v2-toggle-field{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#F7F9FC;color:var(--ink);cursor:pointer;font-size:12px;line-height:1.5}
.v2-toggle-field input{appearance:none;-webkit-appearance:none;position:relative;flex:0 0 30px;width:30px;height:18px;margin:0;border:0;border-radius:20px;background:#CBD5E1;cursor:pointer;transition:background .18s}
.v2-toggle-field input::before{content:"";position:absolute;left:3px;top:3px;width:12px;height:12px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .18s}
.v2-toggle-field input:checked{background:var(--accent)}
.v2-toggle-field input:checked::before{transform:translateX(12px)}
.v2-toggle-field input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

/* app.css sets a global table{table-layout:fixed} that the v2 shell inherits
   once spliced into index.html (both stylesheets load on the same page). Fixed
   layout ignores content width, so long names spilled into the next column.
   Restore the auto layout v2 was designed and tested with, scoped to the shell. */
#v2SpliceRoot table{table-layout:auto}
.score-next-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* ===== Audience keyword rules drawer (v2-12b) ===== */
textarea{font:inherit;font-size:13px;width:100%;min-height:110px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);resize:vertical;line-height:1.6}
textarea::placeholder{color:#9aa3b2}
textarea:focus{outline:none;border-color:var(--accent-2);box-shadow:0 0 0 3px #1878D822}
.v2-aud-scope-list{display:flex;flex-direction:column;gap:2px;max-height:230px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:11px;background:#fff}
.field .v2-aud-scope-item{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:12px;padding:9px 10px;margin:0;border-radius:9px;cursor:pointer;font-size:13px;font-weight:400;color:var(--ink);text-align:left}
.field .v2-aud-scope-item:hover{background:#f6f9fc}
.field .v2-aud-scope-item input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--accent);cursor:pointer}
.field .v2-aud-scope-item span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}
.field .v2-aud-scope-all{border-bottom:1px solid var(--line);border-radius:0;margin-bottom:4px;padding-bottom:11px;font-weight:500}
/* list view */
.v2-aud-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}
.v2-aud-toolbar .count{font-size:12.5px;color:var(--muted);white-space:nowrap}
.v2-aud-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto}
.v2-aud-actions button{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 14px;cursor:pointer}
.v2-aud-actions button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.v2-aud-actions button.primary:hover{background:var(--accent-2)}
.v2-aud-type{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;overflow:hidden}
.v2-aud-type-head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#f8fafd;border:0;cursor:pointer;font:inherit;text-align:left}
.v2-aud-type-head .name{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14px;color:var(--ink)}
.v2-aud-type-head .right{display:flex;align-items:center;gap:10px}
.v2-aud-type-head .dot{width:10px;height:10px;border-radius:50%;flex:none}
.v2-aud-pill{font-size:11.5px;color:var(--muted);background:#fff;border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.v2-aud-type-head .chev{color:var(--muted);transition:transform .2s;font-size:12px}
.v2-aud-type.collapsed .chev{transform:rotate(-90deg)}
.v2-aud-type.collapsed .v2-aud-type-body{display:none}
.v2-aud-rule{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 14px;border-top:1px solid var(--line)}
.v2-aud-rule:hover{background:#fbfdff}
.v2-aud-rule input[type=checkbox]{margin:0;width:16px;height:16px;accent-color:var(--accent);cursor:pointer}
.v2-aud-rule-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.v2-aud-kw{font-weight:600;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.v2-aud-kw .arrow{color:var(--muted);font-weight:400;margin:0 6px}
.v2-aud-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.v2-aud-tag{font-size:11px;padding:2px 8px;border-radius:6px;background:#f1f5fb;color:var(--muted);border:1px solid var(--line)}
.v2-aud-tag.scope{background:var(--accent-soft);color:var(--accent);border-color:#cfe2f5}
.v2-aud-tag.note{background:#fff}
.v2-aud-edit-btn{display:inline-flex;align-items:center;gap:6px;flex:none;font:inherit;font-size:12px;font-weight:500;color:var(--accent);background:#fff;border:1px solid #cfe2f5;border-radius:999px;padding:5px 12px 5px 10px;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;white-space:nowrap}
.v2-aud-edit-btn::before{content:"";width:12px;height:12px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") center/contain no-repeat}
.v2-aud-edit-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}
.v2-aud-edit-btn:focus-visible{outline:none;box-shadow:0 0 0 3px #1878D833}
.v2-aud-empty{padding:14px;font-size:12.5px;color:var(--muted)}
.v2-aud-delbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;font-size:13px}
.v2-aud-delbar .v2-aud-sel-count{font-size:12px;color:var(--muted)}
.v2-aud-danger-btn{margin-left:auto;font:inherit;font-size:12.5px;color:var(--rose);background:#fff;border:1px solid #f7c9d2;border-radius:9px;padding:7px 12px;cursor:pointer}
.v2-aud-danger-btn:disabled{opacity:.5;cursor:not-allowed}
.v2-aud-unmatched{border:1px solid var(--line);border-radius:11px;padding:10px 12px;font-size:12.5px}
.v2-aud-unmatched summary{cursor:pointer;color:var(--muted)}
.v2-aud-unmatched ul{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:180px;overflow:auto}
/* form / bulk views */
.v2-aud-link{border:0;background:none;color:var(--accent);font:inherit;font-size:13px;cursor:pointer;padding:0}
.v2-aud-sub{margin:4px 0 16px;font-size:12.5px;color:var(--muted)}
.v2-aud-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.field .v2-aud-chip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;border:1px solid var(--line);border-radius:12px;padding:14px 10px;cursor:pointer;background:#fff;font-size:13px;font-weight:500;color:var(--ink);margin:0;transition:border-color .15s,background .15s}
.field .v2-aud-chip:hover{border-color:color-mix(in srgb,var(--t) 45%,#fff)}
.field .v2-aud-chip input{width:16px;height:16px;margin:0;flex:none;accent-color:var(--t,var(--accent));cursor:pointer}
.field .v2-aud-chip span{display:block;width:100%}
.field .v2-aud-chip.on{border-color:var(--t,var(--accent));background:color-mix(in srgb,var(--t,#0058B0) 10%,#fff);box-shadow:inset 0 0 0 1px var(--t,#0058B0)}
.v2-aud-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding-top:14px;border-top:1px solid var(--line)}
.v2-aud-foot button{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:9px 16px;cursor:pointer}
.v2-aud-foot button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.v2-aud-foot button.primary:hover{background:var(--accent-2)}
.v2-aud-foot button:disabled{opacity:.5;cursor:not-allowed}
.v2-aud-hint{display:block;margin-top:6px;font-size:11.5px;color:var(--muted)}
.v2-aud-preview-title{margin:16px 0 8px;font-size:12.5px;font-weight:500}
.v2-aud-preview{display:flex;flex-direction:column;gap:6px;max-height:220px;overflow:auto}
.v2-aud-preview-row{display:flex;align-items:center;gap:8px;font-size:12.5px;padding:8px 10px;border-radius:9px;background:#f6f9fc;border:1px solid var(--line)}
.v2-aud-preview-row span{color:var(--good,#0E9F6E);font-weight:700}
.v2-aud-preview-row.bad{background:#fff5f7;border-color:#f7c9d2}
.v2-aud-preview-row.bad span{color:var(--rose)}
.v2-aud-preview-row em{margin-left:auto;font-style:normal;font-size:11px;color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:2px 7px;white-space:nowrap}
/* ===== Audience keyword charts (v2-12b) ===== */
.v2-aud-kw-charts{margin-bottom:18px}
.v2-aud-kw-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.v2-aud-kw-status{font-size:12.5px;color:var(--muted)}
.v2-aud-kw-bar button{font:inherit;font-size:13px;font-weight:500;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:10px;padding:8px 14px;cursor:pointer}
.v2-aud-kw-bar button:hover{background:var(--accent-2)}
.v2-aud-kw-bar button:disabled{opacity:.5;cursor:not-allowed}
.v2-aud-kw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.v2-aud-kw-chart{min-width:0;display:flex;flex-direction:column;gap:10px}
.v2-aud-kw-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v2-aud-kw-head h3{margin:0;font-size:14px;font-weight:600;color:var(--ink)}
.v2-aud-kw-head select{min-width:190px}
.v2-aud-kw-canvas{position:relative;height:260px}
.v2-aud-kw-scroll{height:260px;overflow-y:auto;overflow-x:hidden}
.v2-aud-kw-note{margin:0;font-size:12px;color:var(--muted)}
.v2-aud-kw-canvas-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:13px;color:var(--muted);background:#fff}
.v2-aud-kw-canvas-status.loading{color:var(--accent);font-weight:500}
.v2-aud-kw-canvas-status:empty{display:none}
@media (max-width:820px){ .v2-aud-kw-grid{grid-template-columns:1fr} }
/* Generic version of the overlay above, for any other chart whose data
   loads async with no visible cue in the meantime (reported 2026-10-13,
   re: "แนวโน้มผลลัพธ์" on Overview/Campaign/TikTok Campaign — the trend
   card's title+controls+canvas render immediately as part of the page
   shell, but the canvas area itself had nothing telling the user it was
   still loading while the KPI grid right above it already said so). */
.v2-chart-loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:13px;color:var(--muted);background:#fff}
.v2-chart-loading-overlay.loading{color:var(--accent);font-weight:500}
.v2-chart-loading-overlay:empty{display:none}
.v2-aud-type-badge{display:inline-block;margin-left:8px;font-size:11px;font-weight:600;color:var(--t,var(--accent));background:color-mix(in srgb,var(--t,#0058B0) 12%,#fff);border:1px solid color-mix(in srgb,var(--t,#0058B0) 35%,#fff);border-radius:999px;padding:1px 8px;white-space:nowrap;vertical-align:middle}
.v2-aud-type-badge.none{--t:#6B7280;color:#4B5563;background:#F1F3F7;border-color:#D9DEE7}
.v2-aud-kw-unmatched{margin-top:14px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.v2-aud-kw-unmatched summary{cursor:pointer;font-weight:600;font-size:13px;color:var(--ink)}
.v2-aud-kw-unmatched-list{display:flex;flex-direction:column;margin-top:10px;max-height:240px;overflow:auto}
.v2-aud-kw-unmatched-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto;gap:12px;align-items:center;padding:8px 4px;border-top:1px solid var(--line);font-size:12.5px}
.v2-aud-kw-unmatched-row .name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.v2-aud-kw-unmatched-row .acc{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}
.v2-aud-kw-unmatched-row .spend{font-variant-numeric:tabular-nums;color:var(--ink)}
.v2-aud-kw-unmatched-empty{margin-top:14px;font-size:12.5px;color:var(--muted)}
/* ===== End Audience keyword charts ===== */

/* ===== End Audience keyword rules drawer ===== */
