:root{--bg:#f5f6f8;--panel:#fff;--text:#17191c;--muted:#6f7480;--line:#e6e8ec;--ink:#131416;--accent:#6c5ce7;--accent-soft:#eeebff;--green:#15803d;--green-soft:#eaf8ef;--orange:#b45309;--orange-soft:#fff4e5;--red:#b42318;--red-soft:#fff0ee;--blue:#175cd3;--blue-soft:#eef4ff;--shadow:0 8px 30px rgba(16,24,40,.06)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{background:#111214;color:white;padding:26px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:32px}.brand-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(145deg,#8b7cf6,#5548d9);display:grid;place-items:center;font-weight:800}.brand strong{display:block;font-size:15px}.brand span{display:block;color:#9297a3;font-size:12px;margin-top:2px}nav{display:grid;gap:6px}.nav-btn{border:0;background:transparent;color:#a8adb7;text-align:left;padding:11px 12px;border-radius:9px;cursor:pointer}.nav-btn:hover,.nav-btn.active{background:#24262a;color:white}.sidebar-footer{margin-top:auto;color:#8f949f;font-size:12px;line-height:1.45}.tiny-label{font-size:10px;letter-spacing:.12em;font-weight:800;color:#6f7480}.channel-badges{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.channel-badges span{background:#26282d;color:#d8dbe2;border-radius:999px;padding:4px 8px;font-size:11px}.main{padding:26px 30px 50px;min-width:0}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.topbar h1{font-size:26px;margin:0 0 5px;letter-spacing:-.03em}.topbar p{margin:0;color:var(--muted);font-size:13px}.top-actions{display:flex;gap:9px;align-items:center}.top-actions select,.filters select,.filters input{border:1px solid var(--line);background:white;border-radius:9px;padding:9px 11px;color:#3c4048}.primary,.secondary{border-radius:9px;padding:9px 13px;font-weight:700;cursor:pointer}.primary{border:1px solid #2a2469;background:#19154d;color:white}.secondary{border:1px solid var(--line);background:white;color:#2b2f36}.tab{display:none}.tab.active{display:block}.hero-grid{display:grid;grid-template-columns:1.05fr 1.6fr;gap:16px;margin-bottom:16px}.goal-card,.panel,.kpi{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.goal-card{padding:21px}.goal-header{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:13px}.pill{padding:5px 8px;border-radius:999px;background:var(--accent-soft);color:#5146b6;font-weight:700;font-size:11px}.goal-number{display:flex;align-items:flex-end;gap:10px;margin:22px 0 15px}.goal-number span{font-size:52px;line-height:.9;font-weight:800;letter-spacing:-.06em}.goal-number small{color:var(--muted);margin-bottom:4px}.progress{height:9px;background:#eeeef3;border-radius:99px;overflow:hidden}.progress div{height:100%;width:0;background:linear-gradient(90deg,#6c5ce7,#8f83f8);border-radius:99px}.goal-foot{display:flex;justify-content:space-between;margin-top:10px;color:var(--muted);font-size:11px}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.kpi{padding:18px 19px}.kpi span{display:block;color:var(--muted);font-size:12px}.kpi strong{display:block;font-size:28px;letter-spacing:-.04em;margin:7px 0 4px}.kpi small{color:#858a94;font-size:11px}.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.panel{padding:19px}.panel.full{width:100%}.panel-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:15px}.panel-head h2,.section-intro h2{margin:0 0 5px;font-size:16px;letter-spacing:-.02em}.panel-head p,.section-intro p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.bar-list{display:grid;gap:12px}.bar-row{display:grid;grid-template-columns:170px 1fr 75px;gap:10px;align-items:center;font-size:12px}.bar-row b{font-weight:700}.bar-track{height:9px;background:#f0f1f4;border-radius:99px;overflow:hidden}.bar-track span{display:block;height:100%;background:#6c5ce7;border-radius:99px}.bar-value{text-align:right;color:var(--muted)}.pulse-list{display:grid;gap:8px}.pulse-item{padding:11px;border:1px solid var(--line);border-radius:10px;display:grid;grid-template-columns:1fr auto;gap:8px}.pulse-item strong{font-size:12px}.pulse-item span{font-size:11px;color:var(--muted)}.status-dot{display:inline-flex;align-items:center;gap:5px}.status-dot:before{content:"";width:7px;height:7px;border-radius:99px;background:#a6aab2}.status-dot.mature:before{background:#16a34a}.status-dot.maturing:before{background:#f59e0b}.tracker-head{align-items:center}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters input{min-width:230px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;font-size:11.5px;white-space:nowrap}th{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#7a7f89;background:#f8f9fa;text-align:left;padding:10px;border-bottom:1px solid var(--line);position:sticky;top:0}td{padding:10px;border-bottom:1px solid #eff0f2;vertical-align:middle}tbody tr:hover{background:#fafaff}.num{text-align:right}.metric-good{color:var(--green);font-weight:700}.metric-muted{color:#989da6}.data-pill{font-size:10px;padding:4px 7px;border-radius:999px;font-weight:700}.data-pill.live{background:var(--green-soft);color:var(--green)}.data-pill.snapshot{background:var(--blue-soft);color:var(--blue)}.data-pill.pending{background:#f2f3f5;color:#787d87}.section-intro{margin-bottom:17px}.input-grid,.health-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.input-card,.health-card{background:white;border:1px solid var(--line);border-radius:12px;padding:16px}.input-card span,.health-card span{display:block;color:var(--muted);font-size:11px}.input-card strong,.health-card strong{display:block;font-size:24px;margin-top:7px;letter-spacing:-.04em}.health-card.ok{border-left:4px solid #16a34a}.health-card.warn{border-left:4px solid #f59e0b}.health-card.blocked{border-left:4px solid #e11d48}.output-layout{grid-template-columns:1.5fr .7fr}.chart{height:330px;width:100%;position:relative}.chart svg{width:100%;height:100%;overflow:visible}.chart-label{font-size:10px;fill:#858a94}.gap-box{display:grid;gap:12px}.gap-box>div{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line)}.gap-box span{color:var(--muted);font-size:12px}.gap-box strong{font-size:21px}.gap-highlight strong{color:#7c3aed}.footnote{font-size:10.5px;color:#8b909a;line-height:1.5;margin-top:14px}.architecture{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px 0}.arch-node{min-width:190px;padding:15px;border:1px solid var(--line);border-radius:11px;background:#fafbfc}.arch-node b,.arch-node span{display:block}.arch-node b{font-size:12px}.arch-node span{font-size:10.5px;color:var(--muted);margin-top:5px;line-height:1.4}.arch-stack{display:grid;gap:8px}.active-node{background:var(--green-soft);border-color:#bde7ca}.future-node{background:#fbfbfc;border-style:dashed}.arch-arrow{font-size:25px;color:#b1b5bd}dialog{border:0;border-radius:16px;padding:20px;width:min(760px,92vw);box-shadow:0 24px 70px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(13,15,18,.48)}.dialog-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:18px}.dialog-head h2{margin:0;font-size:19px}.dialog-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.icon-btn{border:0;background:transparent;font-size:25px;cursor:pointer}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.form-grid label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#535862}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid #dfe1e6;border-radius:8px;padding:9px;background:white}.span-2{grid-column:1/-1}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.upload-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.upload-card{border:1px dashed #cfd2da;border-radius:11px;padding:15px;display:grid;gap:5px;cursor:pointer}.upload-card:hover{background:#fafaff;border-color:#8f83f8}.upload-card b{font-size:12px}.upload-card span{font-size:10.5px;color:var(--muted);line-height:1.4}.upload-card input{margin-top:7px;font-size:11px}.upload-status{font-size:11px;color:var(--muted);margin-top:12px}.empty{padding:24px;color:var(--muted);text-align:center}.nowrap{white-space:nowrap}
@media(max-width:1000px){.shell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(5,1fr)}.sidebar-footer{display:none}.hero-grid,.two-col{grid-template-columns:1fr}.input-grid,.health-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.main{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.top-actions{flex-wrap:wrap}.kpi-grid,.input-grid,.health-grid,.form-grid,.upload-grid{grid-template-columns:1fr}.sidebar nav{grid-template-columns:1fr 1fr}.bar-row{grid-template-columns:120px 1fr 60px}}

.danger{border:1px solid #ffd3ce;background:#fff4f2;color:#b42318;border-radius:9px;padding:9px 13px;font-weight:700;cursor:pointer}.hidden{display:none!important}.dialog-spacer{flex:1}.row-action{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px;font-size:10px;cursor:pointer}.row-action:hover{border-color:#8f83f8;background:#fafaff}
.status-dot.upcoming:before{background:#6c5ce7}.input-card small{display:block;color:#8b909a;font-size:10.5px;line-height:1.45;margin-top:5px}.channel-badge.live{outline:1px solid #4ade80;color:#dcfce7}.health-grid{grid-template-columns:repeat(3,1fr)}

.export-link{text-decoration:none;display:inline-flex;align-items:center}.metric-preview{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:-4px 0 16px}.metric-preview>div{background:#f8f9fa;border:1px solid var(--line);border-radius:9px;padding:9px}.metric-preview span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.05em;color:#8a8f99}.metric-preview strong{display:block;margin-top:4px;font-size:15px}.form-grid textarea{resize:vertical}@media(max-width:700px){.metric-preview{grid-template-columns:repeat(2,1fr)}}
.campaign-cohort-attach{display:flex;justify-content:space-between;gap:16px;align-items:center;border:1px solid #dddaf8;background:#faf9ff;border-radius:10px;padding:11px 12px;margin:-4px 0 16px}.campaign-cohort-attach b,.campaign-cohort-attach span{display:block}.campaign-cohort-attach b{font-size:11px}.campaign-cohort-attach span{font-size:10.5px;color:var(--muted);margin-top:3px}.file-button{display:inline-flex;align-items:center;white-space:nowrap}.file-button input{display:none}
.status-dot.planned:before{background:#94a3b8}.status-dot.cancelled:before{background:#ef4444}
.maturity-pair{font-size:10px;line-height:1.45;color:#60656f;white-space:nowrap}

.channel-attribution{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px}
.channel-contrib{border:1px solid #e7e8ef;border-radius:12px;padding:11px 12px;background:#fafafe;display:flex;flex-direction:column;gap:2px}
.channel-contrib span{font-size:12px;color:#6b7280;font-weight:700}
.channel-contrib strong{font-size:18px;color:#19154d}
.channel-contrib small{font-size:12px;color:#7b8190}

.explainer{display:flex;gap:12px;align-items:flex-start;border:1px solid #dddaf8;background:#faf9ff;border-radius:11px;padding:12px 14px;margin:-2px 0 14px;color:#5f6470}.explainer b{font-size:11px;color:#302b78;white-space:nowrap}.explainer span{font-size:11px;line-height:1.5}
.admin-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-action{width:100%;padding:12px 14px}.admin-source-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.admin-source-grid>div{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfbfc}.admin-source-grid b,.admin-source-grid span{display:block}.admin-source-grid b{font-size:12px;margin-bottom:4px}.admin-source-grid span{font-size:10px;color:var(--muted)}@media(max-width:900px){.admin-action-grid{grid-template-columns:1fr}.admin-source-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.admin-source-grid{grid-template-columns:1fr}}
.tracker-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:0 0 14px}.tracker-summary-card{border:1px solid var(--line);background:#fbfbfc;border-radius:11px;padding:12px}.tracker-summary-card span,.tracker-summary-card small{display:block;color:var(--muted);font-size:10.5px}.tracker-summary-card strong{display:block;font-size:20px;margin:5px 0 3px;letter-spacing:-.03em}.creative-link{display:inline-flex;align-items:center;text-decoration:none;color:#5146b6;font-weight:700;border:1px solid #dddaf8;background:#faf9ff;border-radius:7px;padding:5px 8px}.creative-link:hover{background:#f1efff}.period-panel{margin-bottom:0}.period-contribution{display:grid;gap:12px}.period-headline{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.period-headline>div{border:1px solid var(--line);background:#fbfbfc;border-radius:10px;padding:12px}.period-headline span,.period-headline small{display:block;font-size:10.5px;color:var(--muted)}.period-headline strong{display:block;font-size:16px;margin:4px 0}.panel-head>select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;color:#3c4048}@media(max-width:700px){.period-headline{grid-template-columns:1fr}.tracker-summary{grid-template-columns:repeat(2,1fr)}}

/* v4.3: dual output north-stars + attributed-series chart */
.hero-grid.hero-grid-dual{grid-template-columns:1fr 1fr 1.45fr}
.hero-grid-dual .goal-number span{font-size:44px}
.chart-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:10.5px;color:var(--muted)}
.chart-legend span{display:flex;gap:6px;align-items:center;white-space:nowrap}
.legend-line{width:18px;height:3px;background:#19154d;border-radius:99px;display:inline-block}
.legend-bar{width:10px;height:10px;background:#8b7cf6;border-radius:2px;display:inline-block}
.attribution-first{grid-template-columns:.78fr 1.22fr}
@media(max-width:1200px){.hero-grid.hero-grid-dual{grid-template-columns:1fr 1fr}.hero-grid-dual .kpi-grid{grid-column:1/-1}}
@media(max-width:1000px){.hero-grid.hero-grid-dual,.attribution-first{grid-template-columns:1fr}.hero-grid-dual .kpi-grid{grid-column:auto}}
.output-hero .chart{min-height:360px}
.chart-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.chart-controls select{min-width:92px}
.attr-bar{fill:#8b7cf6;opacity:.78;cursor:help}
.total-point{fill:#19154d;cursor:help}
.attribution-detail-scroll{max-height:520px;overflow:auto}
.compact-scroll{max-height:360px;overflow:auto}
.attribution-detail-scroll thead,.compact-scroll thead{position:sticky;top:0;background:#fff;z-index:2}
.attribution-detail-scroll code{font-size:12px;white-space:nowrap}
@media (max-width: 900px){.chart-controls{align-items:flex-start}.output-hero .chart{min-height:300px}}

/* v5 dashboard cleanup */
.compact-hero{grid-template-columns:1fr 1fr 1fr}
.summary-kpis{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.summary-kpis .kpi{padding:18px}
.toggle-group{display:flex;border:1px solid var(--line);background:#fafbfc;border-radius:9px;padding:2px;gap:2px}
.seg-btn{border:0;background:transparent;padding:7px 12px;border-radius:7px;color:#6f7480;font-weight:800;cursor:pointer}.seg-btn.active{background:#19154d;color:white}
.button-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 14px;padding-bottom:4px}.filter-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-group>span{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#838893;font-weight:800;margin-right:2px}.filter-pill{border:1px solid var(--line);background:#fff;color:#525762;border-radius:999px;padding:7px 10px;font-size:11px;cursor:pointer}.filter-pill.active{background:#19154d;color:#fff;border-color:#19154d}.filter-search{margin-left:auto}.filter-search input,.search-input{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 11px;min-width:220px}
.link-metric{border:0;background:transparent;color:#5146b6;font-weight:800;text-decoration:underline;cursor:pointer;padding:0}.plain-link{border:0;background:transparent;color:#19154d;cursor:pointer;padding:0;text-align:left}.plain-link:hover{text-decoration:underline}
.logic-footer{margin:14px 2px 0;color:#737985;font-size:10.5px;line-height:1.55}.logic-footer b{color:#464a54}.day-table-wrap,.books-detail-wrap{max-height:560px;overflow:auto}.day-table-wrap thead,.books-detail-wrap thead{position:sticky;top:0;z-index:2;background:#fff}
.chart-tall{min-height:410px}.chart-topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:8px}.chart-topline .chart-legend{max-height:46px;overflow:auto;padding-right:8px}.legend-swatch{width:10px;height:10px;border-radius:2px;display:inline-block}.chart-legend{display:flex;gap:10px;flex-wrap:wrap}.chart-legend span{display:flex;align-items:center;gap:5px;font-size:10px;color:#656a74}.campaign-info{display:grid;gap:14px}.campaign-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.campaign-info-grid>div,.campaign-copy{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fbfbfc}.campaign-info-grid span,.campaign-copy>span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#8b909a;font-weight:800;margin-bottom:6px}.campaign-copy p{margin:0;white-space:pre-wrap;line-height:1.55;font-size:12px}.popup-table-wrap{max-height:55vh;overflow:auto}.popup-table-wrap thead{position:sticky;top:0;z-index:2;background:#fff}.metric-muted{font-size:10px;color:#8b909a}
@media(max-width:1100px){.compact-hero{grid-template-columns:1fr 1fr}.summary-kpis{grid-column:1/-1}.filter-search{margin-left:0}.campaign-info-grid{grid-template-columns:1fr}}
@media(max-width:700px){.compact-hero{grid-template-columns:1fr}.summary-kpis{grid-template-columns:1fr 1fr}.top-actions{width:100%}.top-actions select{flex:1}.main{padding:18px}.sidebar{padding-bottom:18px}.sidebar nav{grid-template-columns:1fr 1fr 1fr}.sidebar-footer{display:none}}
.total-row{background:#faf9ff;font-weight:700}.dialog-head-actions{display:flex;align-items:center;gap:8px}

/* v6 executive dashboard design */
:root{--bg:#f7f8fb;--panel:#fff;--text:#16181d;--muted:#707784;--line:#e5e7eb;--accent:#5448d8;--accent-soft:#efedff;--navy:#211b5d;--teal:#14a67c;--shadow:0 10px 28px rgba(18,24,40,.05)}
body{font-size:13px;background:var(--bg);color:var(--text)}
.sidebar{width:248px;background:#11131a;padding:24px 18px}.brand strong{font-size:15px}.nav-btn{padding:12px 13px;border-radius:10px;font-size:13px}.nav-btn.active{background:#272937}.main{padding:28px 34px 56px}.topbar{margin-bottom:26px}.topbar h1{font-size:29px}.topbar p{font-size:12.5px}
.goal-card{border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(18,24,40,.05)}.goal-number span{font-size:54px}.panel{border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(18,24,40,.04)}.panel-head h2{font-size:17px}.panel-head p{font-size:11.5px}
th{background:#f7f8fa;font-size:9.5px;letter-spacing:.07em}td{font-size:11.5px;padding:11px 10px}.total-row{background:#f8f7ff}
.logic-footer{padding:12px 2px 2px;color:#6f7480}.logic-footer b{color:#2f2a79}.partial-tag{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;background:#fff4e5;color:#a65d00;font-size:8.5px;font-weight:800}
.book-chart-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.book-chart-controls select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:8px 10px;color:#343942;min-width:132px}.seg-tabs{display:flex;gap:2px;padding:2px;border:1px solid var(--line);background:#f8f9fb;border-radius:10px}.mini-seg{border:0;background:transparent;color:#6b7280;padding:7px 10px;border-radius:7px;font-size:11px;font-weight:800;cursor:pointer}.mini-seg.active{background:#211b5d;color:#fff}
.chart-executive{height:420px}.chart-wrap{position:relative;height:100%;width:100%}.chart-wrap svg{width:100%;height:100%}.chart-grid{stroke:#ebedf1;stroke-width:1}.legend-line-swatch{width:16px;height:3px;border-radius:999px;display:inline-block}.chart-hit{cursor:crosshair}.chart-tooltip{position:absolute;pointer-events:none;min-width:150px;background:#151720;color:#fff;border-radius:10px;padding:9px 10px;box-shadow:0 12px 30px rgba(0,0,0,.18);transform:translate(-50%,-100%);opacity:0;transition:opacity .12s ease}.chart-tooltip.show{opacity:1}.tt-date{font-size:10px;color:#bfc5d0;margin-bottom:6px}.tt-row{display:flex;justify-content:space-between;gap:10px;font-size:11px}.tt-row span{display:flex;align-items:center;gap:6px}.tt-dot{width:7px;height:7px;border-radius:50%;display:inline-block}
.period-table-wrap{max-height:480px;overflow:auto}.split-cell{min-width:120px}.split-total{font-weight:800;font-size:13px}.split-break{display:flex;gap:5px;justify-content:flex-end;margin-top:3px}.split-break span{font-size:9px;font-weight:800;padding:2px 5px;border-radius:999px}.split-pn{color:#087860;background:#e9fbf6}.split-wa{color:#4f46b8;background:#efedff}.channel-split{display:flex;gap:5px;justify-content:flex-end}.chip{font-size:9px;font-weight:800;padding:3px 6px;border-radius:999px}.chip.pn{background:#e9fbf6;color:#087860}.chip.wa{background:#efedff;color:#4f46b8}.partial-row{background:#fffaf2}
.campaign-info-grid{grid-template-columns:repeat(2,1fr)}.campaign-info-grid>div strong{font-size:12px}.link-metric{color:#5146b6;text-decoration:none;border-bottom:1px dotted #8c85d8}.link-metric:hover{color:#2f2a79;border-bottom-color:#2f2a79}.creative-link{background:#f7f5ff;border-color:#ddd8ff}
@media(max-width:1100px){.main{padding:24px}.sidebar{width:auto}.chart-executive{height:360px}}@media(max-width:800px){.book-chart-controls{align-items:flex-start}.main{padding:18px}.topbar{flex-direction:column;align-items:flex-start}.campaign-info-grid{grid-template-columns:1fr}}

/* v7 graph and readability */
.chart-end-label{font-size:12px;font-weight:700;pointer-events:none;}.chart-break{stroke:#8f94a0;stroke-width:2;fill:none}.chart-label{font-size:10.5px}.chart-executive{height:440px}.chart-wrap{overflow:visible}.chart-tooltip{min-width:185px}.period-table-wrap table{font-size:12px}.period-table-wrap td{padding:12px 10px}.logic-footer{background:#f8f9fb;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-size:11px;line-height:1.65}.logic-footer b{font-size:11px}.day-table-wrap{max-height:500px}.filter-group{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.filter-group>span{font-size:10px;font-weight:800;color:#7a7f89;text-transform:uppercase;letter-spacing:.06em;margin-right:3px}

.day-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.day-activity-grid .panel{margin-top:0!important}.day-activity-grid .table-wrap{max-width:100%;overflow:auto}.day-activity-grid table{min-width:640px}.day-activity-grid .panel-head h2{font-size:17px}.day-activity-grid .panel-head p{font-size:11px}@media(max-width:1100px){.day-activity-grid{grid-template-columns:1fr}}


/* v7.2: prominent top-of-tab logic */
.logic-top{margin:0 0 18px;padding:16px 18px;background:#f5f4ff;border:1px solid #dcd9ff;border-left:4px solid #5448d8;border-radius:12px;color:#30323a}.logic-top h3{margin:0 0 8px;font-size:15px;line-height:1.25;color:#28245f}.logic-top ul{margin:0;padding-left:20px;display:grid;gap:5px}.logic-top li{font-size:13px;line-height:1.55;color:#4b4f59}.logic-top b{color:#28245f}@media(max-width:700px){.logic-top{padding:14px}.logic-top h3{font-size:14px}.logic-top li{font-size:12.5px}}


/* v8 KPI trendline cards */
.trend-card{display:flex;flex-direction:column;gap:12px;min-height:210px}.kpi-trend{border:1px solid #e7e8f2;background:linear-gradient(180deg,#ffffff 0%,#fafaff 100%);border-radius:14px;padding:12px 12px 10px;min-height:132px}.trend-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.trend-top span{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7b8190;font-weight:900}.trend-top strong{font-size:24px;line-height:1;color:#171922}.sparkline{width:100%;height:78px;display:block;overflow:visible}.spark-area{fill:#efedff;opacity:.85}.spark-line{fill:none;stroke:#5448d8;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}.sparkline circle{fill:#fff;stroke:#5448d8;stroke-width:2.3}.trend-foot{display:flex;justify-content:space-between;font-size:10px;color:#7d8492;margin-top:4px}.trend-empty{height:116px;display:grid;place-items:center;color:#8a909c;font-weight:700;font-size:12px}

/* v8.2 interactive trend cards and executive chart polish */
.summary-trend-kpis{gap:14px}
.mini-trend-card{display:flex;flex-direction:column;gap:10px;min-height:210px;overflow:hidden}
.mini-kpi-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.mini-kpi-head small{padding-top:3px;text-align:right;line-height:1.35}
.mini-kpi-trend{border:1px solid #e7e8f2;background:linear-gradient(180deg,#fff 0%,#fbfbff 100%);border-radius:13px;padding:10px;min-height:118px;position:relative}
.kpi-trend{position:relative;overflow:visible}.spark-wrap{position:relative}.sparkline{height:86px}.spark-line{stroke:var(--spark-color,#5448d8)}.spark-dot{fill:#fff;stroke:var(--spark-color,#5448d8);stroke-width:2.5;pointer-events:none}.spark-hit{fill:transparent;stroke:transparent;pointer-events:all}.spark-hit:hover + .spark-dot{r:5}.spark-tooltip{position:absolute;pointer-events:none;min-width:150px;background:#171922;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:9px 10px;box-shadow:0 14px 30px rgba(20,24,40,.22);transform:translate(-50%,-100%);opacity:0;transition:opacity .12s ease, transform .12s ease;z-index:6}.spark-tooltip.show{opacity:1;transform:translate(-50%,-108%)}.spark-tooltip .tt-date{font-size:10px;color:#c6cad4;margin-bottom:6px}.spark-tooltip .tt-row{display:flex;justify-content:space-between;gap:14px;font-size:11px}.spark-tooltip .tt-hint{margin-top:6px;color:#b9bfcb;font-size:9.5px}.mini-kpi-trend .trend-top strong{font-size:20px}.mini-kpi-trend .trend-top span{font-size:9px}.mini-kpi-trend .trend-foot{font-size:9.5px}.wide-dialog{width:min(1040px,94vw)}
.chart-panel{background:linear-gradient(180deg,#fff 0%,#fcfcff 100%)}.executive-legend{margin-bottom:10px}.chart-line{filter:drop-shadow(0 2px 2px rgba(35,35,80,.08))}.chart-dot{pointer-events:none}.chart-band{fill:transparent;cursor:crosshair}.chart-band:hover{fill:rgba(84,72,216,.035)}.chart-break-label{font-size:9px;fill:#9aa0ab}.chart-tooltip{border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(8px);transition:opacity .14s ease, left .12s ease, top .12s ease}.tt-row b{font-variant-numeric:tabular-nums}.chart-legend-item{font-weight:700}.legend-line-swatch{box-shadow:0 1px 2px rgba(0,0,0,.08)}
@media(max-width:1100px){.summary-trend-kpis{grid-template-columns:1fr 1fr}.mini-trend-card{min-height:190px}}
@media(max-width:700px){.summary-trend-kpis{grid-template-columns:1fr}.mini-kpi-head{flex-direction:column}.mini-kpi-head small{text-align:left}}

/* v8.3 summary layout, daily FCP, full-table modal, and chart filters */
.compact-hero{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:18px}.compact-hero>.goal-card,.compact-hero>.mini-trend-card{min-height:240px}.compact-hero .mini-trend-card{padding:22px}.compact-hero .mini-kpi-trend{min-height:144px}.compact-hero .mini-kpi-head strong{font-size:34px}.summary-trend-kpis{display:contents}.day-panel{overflow:hidden}.day-activity-grid{gap:18px;align-items:start}.day-activity-grid .panel{border-radius:16px}.day-activity-grid .table-wrap{border-radius:12px;overflow:auto;cursor:zoom-in}.day-activity-grid table{min-width:760px}.day-activity-grid td,.day-activity-grid th{padding:10px 12px}.tiny-action{padding:7px 10px;font-size:11px;white-space:nowrap}.clickable-table:hover{box-shadow:inset 0 0 0 1px rgba(84,72,216,.22)}.full-table-wrap{max-height:70vh;overflow:auto}.full-table-wrap table{min-width:900px}.book-chart-controls{justify-content:flex-end;max-width:1000px}.chart-filter-tabs{height:38px}.chart-filter-tabs .mini-seg{white-space:nowrap}.chart-executive{height:460px}.chart-tooltip{min-width:220px}.chart-band:hover{fill:rgba(84,72,216,.05)}
@media(max-width:1180px){.compact-hero{grid-template-columns:1fr 1fr}.compact-hero>.goal-card,.compact-hero>.mini-trend-card{min-height:220px}.book-chart-controls{justify-content:flex-start}.chart-filter-tabs{height:auto;flex-wrap:wrap}}
@media(max-width:760px){.compact-hero{grid-template-columns:1fr}.day-activity-grid{grid-template-columns:1fr}.compact-hero .mini-kpi-head strong{font-size:30px}}

/* v8.4 requested refinements: 2x2 topline, channel switches, CSV downloads, expanded trends */
.hero-grid.hero-grid-dual.compact-hero{grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch}
.hero-grid.hero-grid-dual.compact-hero>.goal-card,.hero-grid.hero-grid-dual.compact-hero>.mini-trend-card{min-width:0;min-height:248px}
.hero-grid.hero-grid-dual.compact-hero>.mini-trend-card{display:flex;flex-direction:column}
.hero-grid.hero-grid-dual.compact-hero .mini-kpi-trend{flex:1;min-height:150px}
.table-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.table-actions .toggle-group{display:flex;gap:2px}
.panel-head .table-actions{margin-left:auto}
.clickable-trend{cursor:zoom-in;transition:box-shadow .15s ease, transform .12s ease}
.clickable-trend:hover{box-shadow:inset 0 0 0 1px rgba(84,72,216,.2)}
.trend-dialog{width:min(1120px,94vw)}
.trend-dialog .dialog-head-actions{display:flex;align-items:center;gap:10px}
.trend-dialog select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:8px 10px;color:#343942;font-weight:700}
.large-trend-chart{height:430px}
.large-trend-wrap{height:100%;width:100%;position:relative}
.large-trend-line{fill:none;stroke:var(--spark-color,#5448d8);stroke-width:3.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(35,35,80,.08))}
.large-trend-dot{fill:#fff;stroke:var(--spark-color,#5448d8);stroke-width:3;pointer-events:none}
.large-trend-hit{fill:transparent;stroke:transparent;cursor:pointer;pointer-events:all}
.large-trend-hit:hover + .large-trend-dot{r:7}
.chart-filter-tabs[aria-label="Channel"] .mini-seg{min-width:46px;text-align:center}
@media(max-width:1000px){.hero-grid.hero-grid-dual.compact-hero{grid-template-columns:1fr!important}.table-actions{justify-content:flex-start}.large-trend-chart{height:360px}}

/* v8.5 polish: wider trend cards, circular datapoints, cleaner tables */
.hero-grid.hero-grid-dual.compact-hero{grid-template-columns:repeat(2,minmax(460px,1fr))!important;gap:22px;align-items:stretch}
.hero-grid.hero-grid-dual.compact-hero>.goal-card,.hero-grid.hero-grid-dual.compact-hero>.mini-trend-card{min-height:300px;padding:24px 28px;border-radius:18px}
.kpi-trend,.mini-kpi-trend{min-height:188px;border-radius:16px;padding:16px 18px 12px;overflow:visible}
.sparkline{height:132px;width:100%;overflow:visible}.trend-top strong{font-size:28px}.mini-kpi-trend .trend-top strong{font-size:28px}.trend-foot{font-size:12px}.goal-foot{font-size:13px}.spark-wrap{min-height:136px}.spark-dot-outer{fill:#fff;stroke:var(--spark-color,#5448d8);stroke-width:2.6px;pointer-events:none}.spark-dot{fill:var(--spark-color,#5448d8);stroke:#fff;stroke-width:1.2px;pointer-events:none}.spark-hit:hover + .spark-dot-outer{r:8.2}.trend-expand{position:absolute;right:4px;top:-2px;border:1px solid #dedff0;background:#fff;color:#5146b6;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.02em;box-shadow:0 3px 10px rgba(30,25,95,.08);cursor:pointer;z-index:3}.trend-expand:hover{background:#f5f3ff;border-color:#bdb7ff}.clickable-trend,.clickable-table{cursor:default}.clickable-trend:hover{box-shadow:none}
.table-wrap th:not(:first-child),.table-wrap td:not(:first-child){text-align:center}.table-wrap .num{text-align:center}.table-wrap th:first-child,.table-wrap td:first-child{text-align:left}.day-activity-grid th:first-child,.day-activity-grid td:first-child{width:118px;min-width:118px}.day-activity-grid table{min-width:820px}.day-activity-grid .panel-head h2{font-size:16px}.day-activity-grid .panel-head{align-items:flex-start}.day-activity-grid .table-actions{min-width:160px}.panel{border-radius:18px}.panel.full{overflow:hidden}.table-wrap{border-radius:13px}.frequency-head{align-items:center}.frequency-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.frequency-controls label{display:flex;align-items:center;gap:6px;font-size:11px;color:#727886;font-weight:800}.frequency-controls input{border:1px solid var(--line);border-radius:9px;padding:7px 9px;color:#30343b;background:#fff}.metric-grid-popup{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:4px 0 14px}.metric-grid-popup>div{border:1px solid var(--line);background:#fafaff;border-radius:12px;padding:12px}.metric-grid-popup span{display:block;color:#747a87;font-size:11px}.metric-grid-popup strong{display:block;margin-top:5px;font-size:22px;letter-spacing:-.04em}.chart-dot-outer{pointer-events:none}.chart-dot{pointer-events:none}.chart-band{cursor:pointer}.large-trend-dot-outer{fill:#fff;stroke:var(--spark-color,#5448d8);stroke-width:3px;pointer-events:none}.large-trend-dot{fill:var(--spark-color,#5448d8);stroke:#fff;stroke-width:1.4px;pointer-events:none}.large-trend-hit:hover + .large-trend-dot-outer{r:10}.large-trend-chart{height:500px}.large-trend-wrap svg{width:100%;height:100%}.chart-wrap svg{width:100%;height:100%}
@media(max-width:1300px){.hero-grid.hero-grid-dual.compact-hero{grid-template-columns:1fr!important}.hero-grid.hero-grid-dual.compact-hero>.goal-card,.hero-grid.hero-grid-dual.compact-hero>.mini-trend-card{min-height:280px}}
@media(max-width:760px){.metric-grid-popup{grid-template-columns:1fr 1fr}.frequency-controls{justify-content:flex-start}.hero-grid.hero-grid-dual.compact-hero>.goal-card,.hero-grid.hero-grid-dual.compact-hero>.mini-trend-card{padding:20px}.sparkline{height:110px}}

/* v8.6 refinements */
.goal-foot:empty{display:none}.goal-foot span:empty{display:none}.trend-card .goal-foot{min-height:0;margin-top:2px}.mini-kpi-head small{display:none}.mini-kpi-head strong{font-size:26px!important;white-space:nowrap}.trend-total-label{position:absolute;right:24px;top:18px;font-size:22px;font-weight:900;color:#171922;letter-spacing:-.03em}.kpi-trend,.mini-kpi-trend{min-height:226px!important;padding:18px 18px 10px!important}.sparkline{height:158px!important}.spark-wrap{min-height:160px!important}.trend-top strong{display:none}.trend-top{margin-bottom:0}.trend-foot{margin-top:-4px}.spark-value-label{font-size:10.5px;font-weight:900;fill:#292d38;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.spark-dot-outer,.spark-dot,.large-trend-dot-outer,.large-trend-dot,.chart-dot-outer,.chart-dot{vector-effect:non-scaling-stroke}.trend-expand{right:8px!important;top:8px!important}.large-value-label{font-size:11px;font-weight:900;fill:#292d38;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.large-trend-chart{height:540px!important}.filter-date-range,.date-actions,.filters label{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;color:#727886;font-weight:800}.filter-date-range input,.date-actions input,.filters label input{border:1px solid var(--line);border-radius:9px;padding:8px 9px;background:#fff;color:#30343b}.button-filters{align-items:center}.table-wrap th:not(:first-child),.table-wrap td:not(:first-child){text-align:center}.period-table-wrap .split-cell{text-align:center!important}.period-table-wrap .split-total,.period-table-wrap .split-break{justify-content:center;text-align:center}.split-cell{min-width:180px}.book-chart-controls{display:grid!important;grid-template-columns:220px 220px minmax(300px,1fr);align-items:center;width:100%;max-width:none!important;gap:12px}.book-chart-controls .seg-tabs{width:100%}.book-chart-controls select{width:100%;min-width:0}.campaigns .table-wrap table,#campaigns .table-wrap table{min-width:1300px}.books-detail-wrap table{min-width:1050px}.filters{align-items:center}.filters label{white-space:nowrap}.filters label input{width:140px}.hero-grid.hero-grid-dual.compact-hero{grid-template-columns:repeat(2,minmax(520px,1fr))!important}.hero-grid.hero-grid-dual.compact-hero>.goal-card,.hero-grid.hero-grid-dual.compact-hero>.mini-trend-card{min-height:330px!important}.hero-grid.hero-grid-dual.compact-hero .goal-header,.hero-grid.hero-grid-dual.compact-hero .mini-kpi-head{min-height:30px}.hero-grid.hero-grid-dual.compact-hero .goal-header span:first-child,.mini-kpi-head span{font-size:14px}.hero-grid.hero-grid-dual.compact-hero .spark-area{opacity:.72}.mini-kpi-trend .spark-line,.kpi-trend .spark-line{stroke-width:3.4}@media(max-width:1350px){.hero-grid.hero-grid-dual.compact-hero{grid-template-columns:1fr!important}.book-chart-controls{grid-template-columns:1fr;}}

/* v8.7 refinements */
.trend-card .goal-foot{display:none!important}
.hero-grid.hero-grid-dual.compact-hero .goal-header span:first-child,
.hero-grid.hero-grid-dual.compact-hero .mini-kpi-head span{font-size:16px!important;font-weight:800;color:#5f6674;letter-spacing:-.01em}
.kpi-trend,.mini-kpi-trend{min-height:238px!important;padding:18px 20px 12px!important}
.sparkline{height:164px!important}
.spark-wrap{min-height:168px!important}
.trend-top{align-items:center!important;margin-bottom:2px!important}
.trend-title-row{display:flex;align-items:center;gap:12px;min-width:0}
.trend-title-row span{font-size:11px!important;text-transform:uppercase;letter-spacing:.14em;color:#747b89;font-weight:900;white-space:nowrap}
.trend-expand-inline{border:1px solid #dedff0;background:#fff;color:#5146b6;border-radius:999px;padding:5px 10px;font-size:10px;font-weight:850;letter-spacing:.02em;box-shadow:0 3px 10px rgba(30,25,95,.08);cursor:pointer;white-space:nowrap}
.trend-expand-inline:hover{background:#f5f3ff;border-color:#bdb7ff}.trend-expand{display:none!important}
.spark-value-label{font-size:9.2px!important;font-weight:900;fill:#20242e;paint-order:stroke;stroke:#fff;stroke-width:5px;stroke-linejoin:round}
.spark-dot-outer{fill:#fff;stroke:var(--spark-color,#5448d8);stroke-width:2.8px!important;pointer-events:none}
.spark-dot{fill:var(--spark-color,#5448d8);stroke:#fff;stroke-width:1.1px!important;pointer-events:none}
.spark-hit:hover + .spark-dot-outer{r:6.8!important}.large-trend-hit:hover + .large-trend-dot-outer{r:8.8!important}
.spark-area{opacity:.66!important}
.mini-kpi-head strong{display:flex!important;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px!important}
.kpi-chip{display:inline-flex!important;align-items:center;gap:8px;border:1px solid #e4e5f3;background:#fbfbff;border-radius:12px;padding:8px 11px;line-height:1;color:#171922!important;box-shadow:0 5px 14px rgba(30,25,95,.05)}
.kpi-chip em{font-style:normal;font-size:10px;color:#747b89;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.kpi-chip b{font-size:21px;letter-spacing:-.04em;color:#171922}.mini-kpi-head{margin-bottom:8px}
.book-chart-controls{grid-template-columns:auto auto minmax(260px,420px)!important;justify-content:end!important;gap:10px!important}.book-chart-controls .seg-tabs{width:auto!important;display:inline-flex!important;min-width:0}.book-chart-controls .mini-seg{min-width:64px;padding:9px 15px}.book-chart-controls select{height:42px;border:1px solid #e1e3eb!important;background:#fff!important;border-radius:12px!important;padding:0 42px 0 14px!important;font-weight:700;color:#323843;box-shadow:0 4px 12px rgba(18,24,40,.04);appearance:auto}.book-chart-controls select:focus{outline:2px solid rgba(84,72,216,.2);border-color:#b9b3ff!important}
.period-table-wrap .split-cell{vertical-align:middle}.period-table-wrap .split-total{display:block;text-align:center;font-weight:900}.period-table-wrap .split-break{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin-top:5px}.split-cell .split-pn,.split-cell .split-wa{display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1350px){.book-chart-controls{grid-template-columns:1fr!important;justify-content:stretch!important}.book-chart-controls .seg-tabs,.book-chart-controls select{width:100%!important}}

/* v8.8 L2 Output tab */
.l2-filter-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.l2-filter-actions label{display:flex;align-items:center;gap:7px;font-size:11px;color:#727886;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.l2-filter-actions input,.l2-filter-actions select{border:1px solid var(--line);border-radius:10px;background:#fff;color:#30343b;padding:9px 10px;font-weight:750;min-height:38px}
.l2-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:16px}
.l2-kpi{border:1px solid #e6e7f1;background:linear-gradient(180deg,#fff 0%,#fbfbff 100%);border-radius:14px;padding:16px 18px;box-shadow:0 8px 24px rgba(20,24,40,.035)}
.l2-kpi span{display:block;color:#747b89;font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;margin-bottom:8px}.l2-kpi b{display:block;font-size:34px;letter-spacing:-.05em;color:#171922;line-height:1}
.l2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.l2-matrix-wrap table{min-width:1100px}.heat-cell{border-radius:0;font-weight:850;color:#171922}.l2-matrix-wrap th,.l2-matrix-wrap td{white-space:nowrap}
@media(max-width:1100px){.l2-grid,.l2-kpi-grid{grid-template-columns:1fr 1fr}.l2-filter-actions{justify-content:flex-start}}
@media(max-width:700px){.l2-grid,.l2-kpi-grid{grid-template-columns:1fr}.l2-filter-actions{display:grid;grid-template-columns:1fr}.l2-filter-actions label,.l2-filter-actions input,.l2-filter-actions select{width:100%}}


/* v8.9 L2 output refinements */
.l2-scroll-panel{min-height:560px;display:flex;flex-direction:column}.l2-scroll-panel .table-wrap{flex:1}.l2-scroll-table{max-height:430px;overflow:auto}.l2-scroll-table thead th{position:sticky;top:0;background:#f6f7fb;z-index:2}.l2-matrix-wrap{max-height:520px}.l2-matrix-wrap tfoot td{position:sticky;bottom:0;background:#f4f2ff!important;border-top:2px solid #d8d5ff;z-index:3}.l2-matrix-wrap table{min-width:1120px}.l2-matrix-wrap th:first-child,.l2-matrix-wrap td:first-child{position:sticky;left:0;background:#fff;z-index:1}.l2-matrix-wrap thead th:first-child{z-index:4;background:#f6f7fb}.l2-matrix-wrap tfoot td:first-child{z-index:5;background:#f4f2ff!important}.bubble-chart{height:460px;position:relative;border:1px solid #e6e7f1;border-radius:18px;background:radial-gradient(circle at 35% 20%,rgba(84,72,216,.08),transparent 30%),linear-gradient(180deg,#fff,#fbfbff);overflow:hidden}.bubble-chart svg{width:100%;height:100%;display:block}.bubble-node{cursor:default;transition:filter .15s ease}.bubble-node:hover{filter:drop-shadow(0 10px 18px rgba(30,25,95,.16))}.bubble-tip{position:absolute;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .12s ease,transform .12s ease}.bubble-tip.show{opacity:1;transform:translateY(0)}.full-table-wrap{max-height:70vh;overflow:auto}.full-table-wrap thead th{position:sticky;top:0;background:#f6f7fb;z-index:2}.full-table-wrap tfoot td{position:sticky;bottom:0;background:#f4f2ff;z-index:2;font-weight:900}@media(max-width:1100px){.l2-scroll-panel{min-height:auto}.l2-scroll-table{max-height:360px}.bubble-chart{height:380px}}

/* v9.0 L2 bubble chart refinements */
.l2-bubble-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px;align-items:stretch}.bubble-panel{min-width:0}.bubble-chart{height:520px;background:radial-gradient(circle at 45% 36%,rgba(84,72,216,.07),transparent 34%),linear-gradient(180deg,#fff,#fbfbff);overflow:hidden}.bubble-node{cursor:pointer;transition:filter .18s ease,transform .18s ease}.bubble-node circle{transition:fill-opacity .16s ease,filter .16s ease,stroke-width .16s ease}.bubble-node:hover{filter:drop-shadow(0 14px 22px rgba(30,25,95,.20))}.bubble-node:hover circle{fill-opacity:1;stroke-width:4}.bubble-node text{pointer-events:none;paint-order:stroke;stroke:rgba(255,255,255,.72);stroke-width:3px;stroke-linejoin:round}.bubble-tip span{opacity:.75;font-size:12px}@media(max-width:1200px){.l2-bubble-grid{grid-template-columns:1fr}.bubble-chart{height:440px}}

/* v9.0 Cyberpunk executive theme */
:root{--bg:#070914;--panel:#0d1020;--text:#eef2ff;--muted:#a5abc1;--line:rgba(122,255,244,.18);--accent:#7c3aed;--accent-soft:rgba(124,58,237,.16);--navy:#121642;--teal:#00f5d4;--green:#2cffb7;--green-soft:rgba(44,255,183,.12);--orange:#ffb020;--orange-soft:rgba(255,176,32,.14);--red:#ff4d6d;--red-soft:rgba(255,77,109,.14);--blue:#00c2ff;--blue-soft:rgba(0,194,255,.14);--shadow:0 18px 45px rgba(0,0,0,.28),0 0 36px rgba(0,245,212,.04)}
body{background:radial-gradient(circle at 15% 4%,rgba(124,58,237,.24),transparent 30%),radial-gradient(circle at 90% 8%,rgba(0,245,212,.16),transparent 28%),linear-gradient(180deg,#070914 0%,#0a0d18 55%,#070914 100%);color:var(--text)}
.sidebar{background:linear-gradient(180deg,#050712,#0a0e1e);border-right:1px solid rgba(0,245,212,.20);box-shadow:8px 0 36px rgba(0,0,0,.30)}.brand-mark{background:linear-gradient(145deg,#00f5d4,#7c3aed);box-shadow:0 0 22px rgba(0,245,212,.45)}.brand span,.sidebar-footer,.topbar p,.panel-head p,.logic-top li,.trend-foot,.goal-foot,.mini-kpi-head small{color:#a8afc7}.nav-btn{color:#9ea6c2}.nav-btn:hover,.nav-btn.active{background:rgba(124,58,237,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(0,245,212,.26),0 0 18px rgba(124,58,237,.12)}
.goal-card,.panel,.kpi,.input-card,.health-card,.mini-trend-card,.l2-kpi{background:linear-gradient(180deg,rgba(18,22,43,.92),rgba(12,15,31,.94));border:1px solid rgba(122,255,244,.18);box-shadow:0 16px 50px rgba(0,0,0,.28),0 0 28px rgba(0,245,212,.035);backdrop-filter:blur(10px)}.logic-top{background:linear-gradient(135deg,rgba(124,58,237,.18),rgba(0,245,212,.08));border-color:rgba(0,245,212,.25);border-left-color:#00f5d4}.logic-top h3,.logic-top b{color:#f7f8ff}.pill{background:rgba(124,58,237,.23);color:#dbd4ff;border:1px solid rgba(124,58,237,.34)}
button,.secondary,.primary,.filter-pill,.seg-btn,.mini-seg,.tiny-action{border-color:rgba(122,255,244,.22)!important}.secondary,.filter-pill,.top-actions select,.filters select,.filters input,.book-chart-controls select,.search-input,input,select,textarea{background:rgba(10,13,28,.82)!important;color:#eef2ff!important;border:1px solid rgba(122,255,244,.22)!important}.primary,.seg-btn.active,.mini-seg.active,.filter-pill.active{background:linear-gradient(135deg,#24146b,#0f766e)!important;color:#fff!important;box-shadow:0 0 22px rgba(0,245,212,.18)}
.table-wrap{border-color:rgba(122,255,244,.18);background:rgba(7,9,20,.45)}table{color:#eef2ff}th{background:rgba(16,20,40,.96);color:#b9c1dc;border-bottom:1px solid rgba(122,255,244,.18)}td{border-bottom:1px solid rgba(122,255,244,.08)}tbody tr:hover{background:rgba(124,58,237,.10)}.total-row{background:rgba(124,58,237,.12)}.link-metric,.plain-link{color:#7df9ff}.creative-link{background:rgba(124,58,237,.16);border-color:rgba(124,58,237,.35);color:#e5ddff}.split-pn,.chip.pn{background:rgba(0,245,212,.15);color:#5fffea}.split-wa,.chip.wa{background:rgba(124,58,237,.20);color:#d5caff}
.kpi-trend,.mini-kpi-trend,.bubble-chart{background:radial-gradient(circle at 35% 22%,rgba(0,245,212,.10),transparent 32%),linear-gradient(180deg,rgba(12,15,31,.98),rgba(8,11,24,.96));border-color:rgba(122,255,244,.18)}.spark-area{fill:rgba(124,58,237,.20)}.spark-line{stroke:#8b5cf6;filter:drop-shadow(0 0 6px rgba(139,92,246,.42))}.sparkline circle{stroke:#00f5d4;fill:#08101c}.chart-grid{stroke:rgba(190,210,255,.10)}.chart-label{fill:#a7b0ce}.chart-tooltip{background:#070914;border:1px solid rgba(0,245,212,.32);box-shadow:0 18px 45px rgba(0,0,0,.48),0 0 24px rgba(0,245,212,.12)}
.bubble-node circle{filter:drop-shadow(0 0 8px rgba(0,245,212,.08))}.bubble-node:hover{filter:drop-shadow(0 0 20px rgba(0,245,212,.35))}.bubble-node text{fill:#f8fbff;stroke:rgba(7,9,20,.76)}dialog{background:#0d1020;color:#eef2ff;border:1px solid rgba(122,255,244,.25);box-shadow:0 26px 80px rgba(0,0,0,.62),0 0 45px rgba(0,245,212,.10)}dialog::backdrop{background:rgba(3,5,12,.74)}.empty{color:#9ea6c2}.partial-tag{background:rgba(255,176,32,.15);color:#ffd085}.bubble-chart{box-shadow:inset 0 0 42px rgba(0,245,212,.04)}


/* v9.1 cyberpunk polish fixes */
body{background:radial-gradient(circle at 15% 0%,rgba(0,245,212,.10),transparent 26%),radial-gradient(circle at 92% 12%,rgba(124,58,237,.16),transparent 26%),#070914!important;color:#edf3ff!important}
.main{background:transparent!important}.topbar h1,.panel-head h2,.section-intro h2{color:#f7fbff!important;text-shadow:0 0 14px rgba(0,245,212,.08)}
.panel-head p,.section-intro p{color:#aab5d6!important}
.primary,.secondary,.tiny-action,.seg-btn,.mini-seg,.filter-pill,.nav-btn,.icon-btn{transition:box-shadow .16s ease,border-color .16s ease,background .16s ease,transform .16s ease;color:inherit}
.primary:hover,.secondary:hover,.tiny-action:hover,.seg-btn:hover,.mini-seg:hover,.filter-pill:hover,.nav-btn:hover,.icon-btn:hover{box-shadow:0 0 18px rgba(0,245,212,.22),0 0 34px rgba(124,58,237,.14)!important;border-color:rgba(0,245,212,.55)!important;transform:translateY(-1px)}
.icon-btn{color:#dce8ff!important;text-shadow:0 0 12px rgba(0,245,212,.45)!important}.icon-btn:hover{color:#7df9ff!important}
dialog .icon-btn{color:#e9f2ff!important}.close-dialog,.close-upload,[data-close-book-popup],[data-close-campaign-info],[data-close-campaign-day],[data-close-output-day],[data-close-full-table],[data-close-trend-popup],[data-close-chart-day]{color:#e8f6ff!important;text-shadow:0 0 14px rgba(0,245,212,.45)}

/* Cyberpunk table readability */
.table-wrap, .l2-scroll-table, .l2-matrix-wrap, .full-table-wrap{background:rgba(7,10,24,.70)!important;border-color:rgba(0,245,212,.22)!important}
table,td,tbody tr,tbody td{color:#eaf0ff!important}th,.full-table-wrap th,.l2-scroll-table thead th,.l2-matrix-wrap thead th{background:linear-gradient(180deg,rgba(21,27,55,.98),rgba(15,19,42,.98))!important;color:#c9d4ff!important;border-bottom:1px solid rgba(0,245,212,.28)!important}
tbody tr:hover{background:rgba(0,245,212,.06)!important}td:first-child,th:first-child{color:#f7fbff!important}.heat-cell{color:#edf3ff!important;text-shadow:0 0 8px rgba(0,0,0,.35)}
.l2-matrix-wrap th:first-child,.l2-matrix-wrap td:first-child{background:linear-gradient(180deg,rgba(15,19,42,.98),rgba(9,13,29,.98))!important;color:#eff6ff!important;z-index:2}.l2-matrix-wrap thead th:first-child{z-index:5}.l2-matrix-wrap tfoot td,.full-table-wrap tfoot td{background:linear-gradient(180deg,rgba(28,22,70,.98),rgba(16,21,44,.98))!important;color:#f6fbff!important;border-top:1px solid rgba(0,245,212,.38)!important}.l2-matrix-wrap tfoot td:first-child{background:linear-gradient(180deg,rgba(28,22,70,.98),rgba(16,21,44,.98))!important;color:#f6fbff!important}
.l2-kpi{background:linear-gradient(180deg,rgba(18,23,48,.96),rgba(10,14,31,.98))!important;border-color:rgba(0,245,212,.24)!important}.l2-kpi span{color:#9faad0!important}.l2-kpi b{color:#f1f6ff!important;text-shadow:0 0 18px rgba(124,58,237,.18)}

/* White campaign detail cards should use dark text on white */
dialog .campaign-info-grid>div,dialog .campaign-copy{background:#ffffff!important;color:#111827!important;border-color:#dfe7f2!important}dialog .campaign-info-grid strong,dialog .campaign-copy p,dialog .campaign-copy a,dialog .campaign-info-grid a{color:#111827!important}dialog .campaign-info-grid span,dialog .campaign-copy>span{color:#6b7280!important}.campaign-info-grid .creative-link{background:#f2edff!important;color:#4f46e5!important;border-color:#c7bfff!important}

/* L2 bubble charts - tighter, richer, no focus square */
.l2-bubble-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.bubble-panel{overflow:hidden}.bubble-chart{height:390px!important;background:radial-gradient(circle at 45% 50%,rgba(0,245,212,.14),transparent 32%),radial-gradient(circle at 55% 45%,rgba(124,58,237,.18),transparent 46%),linear-gradient(180deg,rgba(8,13,29,.98),rgba(5,8,20,.98))!important;border:1px solid rgba(0,245,212,.25)!important;border-radius:18px!important;box-shadow:inset 0 0 46px rgba(0,245,212,.055),0 0 28px rgba(0,0,0,.18)!important}.bubble-node{outline:none!important;cursor:pointer}.bubble-node:focus,.bubble-node:focus-visible{outline:none!important}.bubble-node circle{fill-opacity:.46!important;filter:drop-shadow(0 0 10px rgba(0,245,212,.12));transition:fill-opacity .16s ease,filter .16s ease,stroke-width .16s ease}.bubble-node:hover circle{fill-opacity:.86!important;stroke-width:4.5!important;filter:drop-shadow(0 0 18px rgba(0,245,212,.48)) drop-shadow(0 0 26px rgba(124,58,237,.20))}.bubble-node text{fill:#f8fbff!important;stroke:#050814!important;stroke-width:3.6px!important;paint-order:stroke;letter-spacing:-.02em}.bubble-tip{z-index:20;border-color:rgba(0,245,212,.45)!important;box-shadow:0 18px 48px rgba(0,0,0,.55),0 0 28px rgba(0,245,212,.18)!important}
.chart-hit:hover,.chart-point:hover,.spark-point:hover,circle:hover{filter:drop-shadow(0 0 14px rgba(0,245,212,.42))!important}

/* readable inputs/selects on dark theme */
input,select,textarea{background:#0c1228!important;color:#f4f7ff!important;border-color:rgba(0,245,212,.25)!important}select option{background:#141727!important;color:#f4f7ff!important}.filters input,.filters select,.l2-filter-actions input,.l2-filter-actions select,.book-chart-controls select{background:#0c1228!important;color:#f4f7ff!important;border-color:rgba(0,245,212,.25)!important}

/* v9.2 final cyberpunk polish */
/* Close buttons: glow on glyph only, no square chrome */
.icon-btn,
.close-dialog,.close-upload,[data-close-book-popup],[data-close-campaign-info],[data-close-campaign-day],[data-close-output-day],[data-close-full-table],[data-close-trend-popup],[data-close-chart-day]{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  outline:none!important;
  color:#bffcff!important;
  text-shadow:0 0 10px rgba(0,245,212,.85),0 0 22px rgba(124,58,237,.38)!important;
}
.icon-btn:hover,
.close-dialog:hover,.close-upload:hover,[data-close-book-popup]:hover,[data-close-campaign-info]:hover,[data-close-campaign-day]:hover,[data-close-output-day]:hover,[data-close-full-table]:hover,[data-close-trend-popup]:hover,[data-close-chart-day]:hover{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#ffffff!important;
  text-shadow:0 0 8px rgba(255,255,255,.95),0 0 24px rgba(0,245,212,.95),0 0 42px rgba(124,58,237,.45)!important;
  transform:scale(1.06)!important;
}
.dialog-head .icon-btn{font-size:30px;line-height:1;padding:4px 6px;border-radius:0!important}

/* Campaign detail / edit: consistent cyberpunk cards and readable text */
#campaignDialog{background:linear-gradient(180deg,#101529 0%,#090d1e 100%)!important;color:#eef5ff!important;border:1px solid rgba(0,245,212,.28)!important;box-shadow:0 28px 90px rgba(0,0,0,.65),0 0 44px rgba(0,245,212,.12)!important}
#campaignDialog h2,#campaignDialog .dialog-head p{color:#f3f8ff!important}
#campaignDialog label{color:#aeb9d6!important;font-weight:800;letter-spacing:.02em}
#campaignDialog input,#campaignDialog select,#campaignDialog textarea{background:#0b1227!important;color:#f4f8ff!important;border:1px solid rgba(0,245,212,.28)!important;box-shadow:inset 0 0 0 1px rgba(124,58,237,.08)!important}
#campaignDialog input:focus,#campaignDialog select:focus,#campaignDialog textarea:focus{border-color:rgba(0,245,212,.72)!important;box-shadow:0 0 0 3px rgba(0,245,212,.12),0 0 24px rgba(0,245,212,.12)!important;outline:none!important}
#campaignMetricPreview>div,#campaignDialog .campaign-cohort-attach{background:linear-gradient(180deg,rgba(21,27,55,.98),rgba(11,16,34,.98))!important;border:1px solid rgba(0,245,212,.28)!important;color:#eef5ff!important;box-shadow:inset 0 0 22px rgba(0,245,212,.025)!important}
#campaignMetricPreview span,#campaignDialog .campaign-cohort-attach b{color:#9faad0!important}
#campaignMetricPreview strong,#campaignDialog .campaign-cohort-attach span{color:#f6fbff!important;text-shadow:0 0 14px rgba(124,58,237,.16)!important}
#campaignDialog .file-button{background:linear-gradient(135deg,rgba(0,245,212,.18),rgba(124,58,237,.22))!important;color:#f7fbff!important;border:1px solid rgba(0,245,212,.35)!important}
#campaignDialog .secondary,#campaignDialog .primary{border-color:rgba(0,245,212,.38)!important}

/* Campaign info popup can remain white cards but ensure all text is readable */
#campaignInfoPopup .campaign-info-grid>div,#campaignInfoPopup .campaign-copy{background:#ffffff!important;color:#111827!important;border-color:#dfe7f2!important}
#campaignInfoPopup .campaign-info-grid strong,#campaignInfoPopup .campaign-copy p,#campaignInfoPopup .campaign-copy a,#campaignInfoPopup .campaign-info-grid a{color:#111827!important;text-shadow:none!important}
#campaignInfoPopup .campaign-info-grid span,#campaignInfoPopup .campaign-copy>span{color:#6b7280!important;text-shadow:none!important}

/* Bright cyber heatmap: readable values on dark theme */
.l2-matrix-wrap .heat-cell{color:#f8fbff!important;text-shadow:0 1px 2px rgba(0,0,0,.75),0 0 10px rgba(0,245,212,.22)!important;font-weight:900!important}
.l2-matrix-wrap tbody td.heat-cell[data-empty="1"]{color:#8792ad!important;text-shadow:none!important;background:rgba(15,20,46,.72)!important}
.l2-matrix-wrap tbody td.heat-cell:not([data-empty="1"]){border-left:1px solid rgba(255,255,255,.035)!important;border-right:1px solid rgba(255,255,255,.035)!important}
.l2-matrix-wrap tbody tr:hover td.heat-cell:not([data-empty="1"]){filter:brightness(1.12) saturate(1.08)}
.l2-matrix-wrap tbody td:first-child,.l2-matrix-wrap thead th,.l2-matrix-wrap tfoot td{color:#eef7ff!important;text-shadow:none!important}

/* Popup metric cards readable on dark cyberpunk */
.metric-grid-popup>div{background:linear-gradient(180deg,rgba(21,27,55,.98),rgba(10,15,33,.98))!important;border:1px solid rgba(0,245,212,.28)!important;color:#f4f8ff!important}
.metric-grid-popup span{color:#aeb8d8!important}.metric-grid-popup strong{color:#f6fbff!important;text-shadow:0 0 14px rgba(0,245,212,.14)!important}

/* Graph datapoint hover glow */
.chart-band:hover + .chart-dot-outer,.chart-band:hover ~ .chart-dot-outer,.spark-hit:hover + .spark-dot-outer,.large-trend-hit:hover + .large-trend-dot-outer{filter:drop-shadow(0 0 10px rgba(0,245,212,.82)) drop-shadow(0 0 18px rgba(124,58,237,.42))!important}

/* v9.3 final trend graph polish: smoother datapoints + hover column halo */
.spark-wrap,.large-trend-wrap{overflow:visible!important}
.spark-column-halo,.large-column-halo{
  fill:url(#trendColumnGlow);
  opacity:0;
  pointer-events:all;
  transition:opacity .18s ease, filter .18s ease;
}
.spark-point:hover .spark-column-halo,
.large-trend-point:hover .large-column-halo{
  opacity:.72;
  filter:drop-shadow(0 0 18px rgba(0,245,212,.28)) drop-shadow(0 0 28px rgba(124,58,237,.18));
}
.spark-dot-halo,.large-trend-dot-halo{
  fill:rgba(0,245,212,.08)!important;
  stroke:rgba(0,245,212,.42)!important;
  stroke-width:1.2px!important;
  opacity:.95;
  pointer-events:none;
  transition:opacity .16s ease, r .16s ease, stroke-width .16s ease, filter .16s ease;
}
.spark-dot-outer,.large-trend-dot-outer{
  fill:#06101f!important;
  stroke:#00f5d4!important;
  stroke-width:2.35px!important;
  filter:drop-shadow(0 0 7px rgba(0,245,212,.55)) drop-shadow(0 0 16px rgba(124,58,237,.20))!important;
  transition:r .16s ease, stroke-width .16s ease, filter .16s ease;
}
.spark-dot,.large-trend-dot{
  fill:#e9ffff!important;
  stroke:#00f5d4!important;
  stroke-width:1.25px!important;
  filter:drop-shadow(0 0 7px rgba(0,245,212,.82))!important;
  transition:r .16s ease, filter .16s ease;
}
.spark-point:hover .spark-dot-halo{r:11.8;opacity:1;stroke-width:1.8px!important;filter:drop-shadow(0 0 16px rgba(0,245,212,.68))!important}
.spark-point:hover .spark-dot-outer{r:6.4;stroke-width:2.8px!important;filter:drop-shadow(0 0 12px rgba(0,245,212,.95)) drop-shadow(0 0 24px rgba(124,58,237,.38))!important}
.spark-point:hover .spark-dot{r:2.9;filter:drop-shadow(0 0 12px rgba(255,255,255,.85))!important}
.large-trend-point:hover .large-trend-dot-halo{r:15.5;opacity:1;stroke-width:1.8px!important;filter:drop-shadow(0 0 18px rgba(0,245,212,.68))!important}
.large-trend-point:hover .large-trend-dot-outer{r:8.8;stroke-width:2.9px!important;filter:drop-shadow(0 0 14px rgba(0,245,212,.95)) drop-shadow(0 0 26px rgba(124,58,237,.42))!important}
.large-trend-point:hover .large-trend-dot{r:4.0;filter:drop-shadow(0 0 12px rgba(255,255,255,.9))!important}
.spark-hit,.large-trend-hit{fill:transparent!important;stroke:transparent!important;cursor:pointer;pointer-events:all}
.spark-line,.large-trend-line{
  filter:drop-shadow(0 0 7px rgba(0,245,212,.18)) drop-shadow(0 0 16px rgba(124,58,237,.22))!important;
}
.spark-area{
  fill:rgba(124,58,237,.16)!important;
}
.spark-value-label,.large-value-label{
  fill:#f9feff!important;
  stroke:#071023!important;
  stroke-width:4.5px!important;
  paint-order:stroke;
  font-weight:950!important;
  filter:drop-shadow(0 0 8px rgba(0,245,212,.34));
}
.kpi-trend,.mini-kpi-trend{
  background:radial-gradient(circle at 52% 45%,rgba(0,245,212,.13),transparent 38%),linear-gradient(180deg,rgba(8,13,29,.90),rgba(5,8,20,.96))!important;
}
.trend-expand-inline:hover{
  box-shadow:0 0 14px rgba(0,245,212,.45),0 0 26px rgba(124,58,237,.28)!important;
}

/* v9.4 cyberpunk contrast pass + favicon polish */
/* Ensure every control has readable contrast on the dark cyberpunk theme */
.seg-tabs,.toggle-group,.chart-filter-tabs{
  background:rgba(8,13,29,.92)!important;
  border:1px solid rgba(0,245,212,.30)!important;
  box-shadow:inset 0 0 0 1px rgba(124,58,237,.10),0 0 18px rgba(0,245,212,.04)!important;
}
.seg-btn,.mini-seg,.toggle-group button,.chart-filter-tabs button{
  color:#b9c7ea!important;
  background:transparent!important;
  text-shadow:none!important;
  opacity:1!important;
}
.seg-btn:not(.active):hover,.mini-seg:not(.active):hover,.toggle-group button:not(.active):hover,.chart-filter-tabs button:not(.active):hover{
  color:#ffffff!important;
  background:rgba(0,245,212,.10)!important;
  box-shadow:0 0 16px rgba(0,245,212,.20)!important;
}
.seg-btn.active,.mini-seg.active,.toggle-group button.active,.chart-filter-tabs button.active{
  color:#ffffff!important;
  background:linear-gradient(135deg,#28146f 0%,#0b7971 100%)!important;
  box-shadow:0 0 18px rgba(0,245,212,.26),inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
.seg-btn:disabled,.mini-seg:disabled,.toggle-group button:disabled,.chart-filter-tabs button:disabled{
  color:#6f7b99!important;
  background:rgba(255,255,255,.04)!important;
  opacity:1!important;
  cursor:not-allowed!important;
}
.book-chart-controls .seg-tabs,
.book-chart-controls .chart-filter-tabs{
  min-height:44px!important;
  align-items:center!important;
}
.book-chart-controls .mini-seg{font-size:13px!important;font-weight:900!important;}
.book-chart-controls select{
  background:rgba(8,13,29,.96)!important;
  color:#f6fbff!important;
  border:1px solid rgba(0,245,212,.35)!important;
  box-shadow:0 0 18px rgba(0,245,212,.06)!important;
}
.book-chart-controls select option{background:#0b1022!important;color:#f6fbff!important;}

/* Legends and muted labels: keep readable against dark panels */
.chart-legend-item,.executive-legend,.chart-legend-item span,.legend-line-swatch + span,
.spark-tooltip,.chart-tooltip,.tt-row,.tt-date,.tt-hint{
  color:#d7e2ff!important;
}
.chart-legend-item{opacity:1!important;font-weight:850!important;}
.panel-head p,.logic-top li,.topbar p,.section-intro p,.muted,.subtitle,.goal-foot,.trend-foot{
  color:#aeb9dc!important;
}
.goal-header span:first-child,.mini-kpi-head span,.trend-top span,.tiny-label{
  color:#d6e0ff!important;
  opacity:1!important;
}
.kpi b,.l2-kpi b,.metric-grid-popup strong,.mini-kpi-head strong{
  color:#ffffff!important;
}

/* SVG chart text and labels */
.chart-label,.axis-label,.chart-break-label{fill:#b8c5e8!important;}
.spark-value-label,.large-value-label{fill:#ffffff!important;stroke:#050914!important;}

/* Dialog close buttons: no square background, visible glyph only */
.icon-btn,.dialog-head .icon-btn,
.close-dialog,.close-upload,[data-close-book-popup],[data-close-campaign-info],[data-close-campaign-day],
[data-close-output-day],[data-close-full-table],[data-close-trend-popup],[data-close-chart-day]{
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  color:#bffcff!important;
  box-shadow:none!important;
  text-shadow:0 0 12px rgba(0,245,212,.85),0 0 24px rgba(124,58,237,.42)!important;
}
.icon-btn:hover,.dialog-head .icon-btn:hover,
.close-dialog:hover,.close-upload:hover,[data-close-book-popup]:hover,[data-close-campaign-info]:hover,[data-close-campaign-day]:hover,
[data-close-output-day]:hover,[data-close-full-table]:hover,[data-close-trend-popup]:hover,[data-close-chart-day]:hover{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  color:#ffffff!important;
  text-shadow:0 0 10px rgba(255,255,255,.95),0 0 28px rgba(0,245,212,.95),0 0 48px rgba(124,58,237,.50)!important;
}

/* Campaign detail / edit readability */
#campaignDialog .dialog-head h2,#campaignDialog .dialog-head p{color:#f6fbff!important;}
#campaignDialog label,#campaignDialog .form-grid label,#campaignDialog .campaign-cohort-attach b{color:#c7d4f4!important;}
#campaignDialog input,#campaignDialog select,#campaignDialog textarea{
  background:#090f22!important;
  color:#f6fbff!important;
  border-color:rgba(0,245,212,.36)!important;
}
#campaignDialog input::placeholder,#campaignDialog textarea::placeholder{color:#7683a4!important;}
#campaignMetricPreview>div,#campaignDialog .campaign-cohort-attach{
  background:linear-gradient(180deg,rgba(18,25,52,.98),rgba(8,13,29,.98))!important;
  color:#f4f8ff!important;
}
#campaignMetricPreview span{color:#aeb9dc!important;}
#campaignMetricPreview strong{color:#ffffff!important;}

/* Clickable elements glow, but keep text contrast */
button:hover,a:hover,.link-metric:hover,.plain-link:hover,.creative-link:hover{
  color:#ffffff!important;
  text-shadow:0 0 10px rgba(0,245,212,.35)!important;
}
.link-metric,.plain-link,.creative-link{color:#7df9ff!important;}

/* Browser tab / favicon asset support does not alter UI */


/* v9.5 data-fix polish: static deploy fallback + campaign-attributed controls alignment */
.book-chart-controls{
  display:grid!important;
  grid-template-columns:max-content max-content minmax(360px,1fr)!important;
  align-items:center!important;
  justify-content:stretch!important;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
}
.book-chart-controls .seg-tabs,
.book-chart-controls .chart-filter-tabs{
  width:max-content!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  height:46px!important;
  padding:4px!important;
  gap:4px!important;
  border-radius:14px!important;
  background:rgba(6,10,27,.88)!important;
  border:1px solid rgba(0,245,212,.34)!important;
  box-shadow:0 0 0 1px rgba(139,92,246,.12),0 0 22px rgba(0,245,212,.08)!important;
}
.book-chart-controls .mini-seg{
  min-width:72px!important;
  height:38px!important;
  padding:0 18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  color:#dbe6ff!important;
  opacity:1!important;
  text-shadow:none!important;
}
.book-chart-controls .mini-seg.active{
  color:#ffffff!important;
  background:linear-gradient(135deg,#25116f 0%,#0b807a 100%)!important;
  box-shadow:0 0 18px rgba(0,245,212,.20), inset 0 0 0 1px rgba(255,255,255,.10)!important;
}
.book-chart-controls select{
  height:46px!important;
  border-radius:14px!important;
  align-self:center!important;
  min-width:360px!important;
}
@media(max-width:1100px){
  .book-chart-controls{grid-template-columns:1fr!important;justify-content:stretch!important;}
  .book-chart-controls .seg-tabs,.book-chart-controls .chart-filter-tabs,.book-chart-controls select{width:100%!important;min-width:0!important;}
}


/* v9.6 contrast + alignment fixes */
.book-chart-controls{display:grid!important;grid-template-columns:220px 220px minmax(360px,1fr)!important;align-items:center!important;gap:16px!important;justify-content:end!important;}
.book-chart-controls .seg-tabs{height:54px;align-items:center;display:flex!important;}
.book-chart-controls .mini-seg{height:44px;display:flex;align-items:center;justify-content:center;min-width:86px;color:#cfd7ff!important;}
.book-chart-controls .mini-seg.active{color:#ffffff!important;text-shadow:0 0 12px rgba(255,255,255,.35);}
.book-chart-controls select{height:54px!important;font-weight:900!important;color:#eef2ff!important;}
.chart-legend-item{color:#dbe6ff!important;text-shadow:0 0 10px rgba(0,245,212,.12)}
.chart-line[stroke="#ff4fd8"]{filter:drop-shadow(0 0 7px rgba(255,79,216,.58)) drop-shadow(0 0 14px rgba(255,79,216,.22));}
.chart-dot-outer[stroke="#ff4fd8"]{filter:drop-shadow(0 0 6px rgba(255,79,216,.75));}
.legend-line-swatch[style*="255,79,216"], .legend-line-swatch[style*="#ff4fd8"]{box-shadow:0 0 10px rgba(255,79,216,.65)!important;}

/* v9.7 combined topline + L2 refinements */
.summary-combo-panel{padding:24px 28px 26px;}
.summary-combo-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:8px 0 18px;}
.summary-stat-chip{border:1px solid rgba(0,245,212,.28);border-radius:18px;padding:14px 16px;background:linear-gradient(145deg,rgba(17,24,58,.86),rgba(5,9,26,.92));box-shadow:inset 0 0 24px rgba(0,245,212,.04),0 12px 30px rgba(0,0,0,.22)}
.summary-stat-chip span{display:block;color:#c9d4ff;font-weight:900;font-size:13px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.summary-stat-chip b{display:block;font-size:30px;line-height:1;color:#f4f7ff;text-shadow:0 0 16px rgba(0,245,212,.28)}
.summary-stat-chip em{display:block;font-style:normal;color:#8f9dbc;font-weight:800;margin-top:6px;font-size:12px}
.summary-combo-chart{border:1px solid rgba(0,245,212,.24);border-radius:22px;background:radial-gradient(circle at 50% 42%, rgba(0,245,212,.11), transparent 28%),linear-gradient(180deg,rgba(4,8,26,.92),rgba(6,9,28,.82));padding:14px 18px 10px;min-height:380px;}
.summary-combo-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px;position:sticky;top:0;z-index:2}
.summary-series-btn{border:1px solid color-mix(in srgb,var(--series),transparent 50%);background:rgba(7,10,28,.78);color:#f4f7ff;border-radius:999px;padding:9px 13px;font-weight:900;box-shadow:0 0 0 transparent;cursor:pointer;transition:.16s ease}
.summary-series-btn.active{background:linear-gradient(135deg,color-mix(in srgb,var(--series),#1b1b5f 35%),rgba(5,10,28,.82));box-shadow:0 0 18px color-mix(in srgb,var(--series),transparent 60%)}
.summary-series-btn:hover{transform:translateY(-1px);box-shadow:0 0 22px color-mix(in srgb,var(--series),transparent 45%)}
.summary-combo-canvas svg{width:100%;height:360px;overflow:visible}
.combo-grid{stroke:rgba(180,202,255,.12);stroke-width:1}
.combo-line{fill:none;stroke:var(--series);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--series),transparent 35%))}
.combo-point{cursor:pointer}.combo-point:hover .combo-halo{opacity:1}.combo-point:hover .combo-dot-outer{filter:drop-shadow(0 0 16px var(--series));}
.combo-halo{fill:url(#trendColumnGlow);opacity:0;transition:.18s ease}.combo-value{font-size:14px;font-weight:950;fill:#f8fbff;paint-order:stroke;stroke:#050818;stroke-width:4px}.combo-dot-outer{fill:#061024;stroke:var(--series);stroke-width:5}.combo-dot-inner{fill:#fff;stroke:#00f5d4;stroke-width:1}.combo-date,.axis-break-label{fill:#aeb8d6;font-weight:800}.axis-break{fill:#95a2bd;font-size:34px;font-weight:900}
.l2-inline-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.l2-inline-filters select[multiple]{min-width:145px;max-width:190px;height:38px;border-radius:12px;border:1px solid rgba(0,245,212,.32);background:#070b1d;color:#f4f7ff;font-weight:800;padding:6px}.l2-inline-filters select[multiple] option{background:#070b1d;color:#f4f7ff}.l2-scroll-table tfoot{position:sticky;bottom:0;background:#16123a;color:#f4f7ff;z-index:4;box-shadow:0 -1px 0 rgba(0,245,212,.25)}
.l2-bubble-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.bubble-chart{height:330px}.bubble-chart svg{height:330px}.daily-mode-toggle{display:flex;gap:6px}
@media(max-width:1200px){.summary-combo-stats{grid-template-columns:repeat(2,1fr)}.l2-bubble-grid{grid-template-columns:1fr}}
/* v9.9 refinements */
.campaign-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.compact-summary-wrap{max-height:280px;overflow:auto}
@media(max-width:1100px){.campaign-summary-grid{grid-template-columns:1fr}}
.book-chart-controls{align-items:center;gap:14px}.chart-filter-tabs{height:54px;display:inline-flex;align-items:center}.mini-seg{height:44px;min-width:92px}.book-chart-controls select{height:54px}
.cyberpunk .chart-path.attr-line{stroke:#ff4fd8!important;filter:drop-shadow(0 0 8px rgba(255,79,216,.85));}
.cyberpunk .chart-dot.attr-dot{fill:#0b1026;stroke:#ff4fd8!important;filter:drop-shadow(0 0 8px rgba(255,79,216,.9));}


/* v10.0 layout/data visibility fixes */
.campaign-summary-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;margin-bottom:18px!important;max-width:100%!important;overflow:hidden!important}
.campaign-summary-grid .panel{width:100%!important;max-width:100%!important;overflow:hidden!important}
.compact-summary-wrap{max-height:360px!important;max-width:100%!important;overflow:auto!important}
.campaign-summary-grid table{min-width:920px!important}
.summary-combo-panel{padding:24px 28px 30px!important}
.summary-combo-stats{grid-template-columns:repeat(4,minmax(170px,1fr))!important;gap:16px!important;margin-bottom:20px!important}
.summary-stat-chip{padding:16px 18px!important;border-radius:18px!important;min-height:104px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.summary-stat-chip span{font-size:12px!important;letter-spacing:.12em!important;color:#b9c7ff!important}
.summary-stat-chip b{font-size:38px!important;line-height:1.03!important;color:#f7fbff!important}
.summary-stat-chip em{font-size:13px!important;color:#a9b4d6!important}
.summary-combo-chart{min-height:500px!important;padding:22px 26px 14px!important}
.summary-combo-canvas svg{height:440px!important}
.summary-combo-controls{gap:12px!important;margin-bottom:14px!important;position:relative!important;z-index:5!important}
.summary-series-btn{font-size:14px!important;padding:10px 16px!important;line-height:1.15!important}
.combo-value{font-size:13px!important;stroke-width:4.5px!important}.combo-line{stroke-width:4!important}.combo-dot-outer{stroke-width:4!important}
input[type="date"]{background:#0b1228!important;color:#f5f8ff!important;color-scheme:dark;border:1px solid rgba(0,245,212,.35)!important;border-radius:12px!important;min-height:38px!important}
input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(1.6) drop-shadow(0 0 4px rgba(0,245,212,.45));opacity:.9}
.day-table-wrap{min-height:280px!important;max-height:560px!important}.day-table-wrap table{min-width:980px!important}.period-actions{gap:10px!important;align-items:center!important;flex-wrap:wrap!important}.period-actions .toggle-group{height:44px!important}.period-actions .seg-btn{min-width:58px!important;height:36px!important}
.l2-inline-filters{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.l2-inline-filters select[multiple]{height:42px!important;min-width:170px!important;max-width:230px!important;color:#f7fbff!important;background:#0b1228!important;border-color:rgba(0,245,212,.35)!important;border-radius:12px!important;padding:8px 10px!important;box-shadow:inset 0 0 18px rgba(0,245,212,.03)!important}
.l2-inline-filters select[multiple] option{background:#0b1228!important;color:#f7fbff!important;padding:8px!important}
.l2-bubble-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}.l2-bubble-grid .bubble-panel:nth-child(3){grid-column:1/-1!important}.bubble-chart{height:470px!important}.bubble-chart svg{height:470px!important;width:100%!important}.bubble-chart-large{height:70vh!important;min-height:560px!important}.bubble-chart-large svg{height:70vh!important;min-height:560px!important}
.bubble-panel .panel-head{align-items:flex-start!important}.bubble-node text{font-size:inherit}.bubble-node:hover circle{fill-opacity:.92!important;filter:drop-shadow(0 0 18px rgba(0,245,212,.50)) drop-shadow(0 0 28px rgba(124,58,237,.24))!important}
.l2-scroll-table{max-height:460px!important;overflow:auto!important}.l2-scroll-table table{min-width:980px!important}
#bookPopup .dialog-head .secondary,#campaignDayPopup .dialog-head .secondary,#chartDayPopup .dialog-head .secondary{display:inline-flex}
@media(max-width:1300px){.summary-combo-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.l2-bubble-grid{grid-template-columns:1fr!important}.l2-bubble-grid .bubble-panel:nth-child(3){grid-column:auto!important}}


/* === v10.1 visual correction patch === */
.campaign-summary-grid{grid-template-columns:1fr!important;gap:18px!important}.campaign-summary-grid .panel{width:100%!important;overflow:hidden}.compact-summary-wrap table{min-width:980px}.summary-combo-panel{padding:22px 26px 28px!important}.summary-combo-stats{grid-template-columns:repeat(4,minmax(150px,1fr))!important;gap:14px!important}.summary-stat-chip.compact{border-color:color-mix(in srgb,var(--series) 50%,rgba(0,245,212,.22))!important;box-shadow:inset 0 0 22px color-mix(in srgb,var(--series) 12%,transparent),0 0 18px rgba(0,0,0,.18)!important}.summary-stat-chip.compact span{font-size:10px!important;letter-spacing:.12em!important;color:#cbd6ff!important}.summary-stat-chip.compact b{font-size:31px!important;line-height:1!important;color:#f7fbff!important}.summary-stat-chip.compact em{font-size:12px!important;color:#aeb8d6!important}.summary-combo-chart{min-height:410px!important;padding:18px 22px 12px!important;border-radius:22px!important}.summary-combo-controls{gap:10px!important;margin-bottom:8px!important}.summary-series-btn{height:42px!important;padding:0 18px!important;border-radius:18px!important;font-size:13px!important;font-weight:900!important;letter-spacing:-.01em!important}.summary-combo-canvas svg{height:340px!important}.combo-grid{stroke:rgba(174,184,214,.18);stroke-width:1}.combo-line{fill:none;stroke:var(--series);stroke-width:3.2!important;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 9px color-mix(in srgb,var(--series) 50%,transparent))}.combo-halo{fill:rgba(0,245,212,.12);opacity:0;transition:opacity .18s ease}.combo-point:hover .combo-halo{opacity:1}.combo-value{font-size:10.5px!important;font-weight:900!important;fill:#f8fbff!important;stroke:#050814!important;stroke-width:3.2px!important;paint-order:stroke}.combo-dot-ring{fill:#061024;stroke:var(--series);stroke-width:4!important;filter:drop-shadow(0 0 9px var(--series))}.combo-dot-core{fill:#00f5d4;stroke:#f8fbff;stroke-width:1.2}.combo-date,.axis-break-label{fill:#aeb8d6!important;font-weight:850!important;font-size:12px!important}.axis-break{fill:#91a3c4!important;font-size:26px!important}.day-panel .table-wrap{min-height:260px}.day-panel table{min-width:980px}.frequency-controls input[type="date"],.l2-filter-actions input[type="date"],#bookPeriodStart,#bookPeriodEnd,#bookStart,#bookEnd,input[type="date"]{background:#0b1228!important;color:#f7fbff!important;border:1px solid rgba(0,245,212,.34)!important;border-radius:14px!important;font-size:14px!important;font-weight:850!important;min-height:44px!important}.l2-filter-actions select,.book-chart-controls select,select{font-size:14px!important;font-weight:850!important}.l2-inline-filters{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}.l2-inline-filters select[multiple],select.multi-filter-select{appearance:auto!important;-webkit-appearance:menulist!important;height:44px!important;min-width:176px!important;max-width:236px!important;border-radius:14px!important;padding:0 12px!important;background:#0b1228!important;color:#f7fbff!important;border:1px solid rgba(0,245,212,.42)!important;box-shadow:inset 0 0 18px rgba(0,245,212,.05)!important;font-size:13px!important;font-weight:850!important}.l2-inline-filters select[multiple]:hover,select.multi-filter-select:hover{box-shadow:0 0 22px rgba(0,245,212,.16),inset 0 0 20px rgba(0,245,212,.08)!important}.l2-inline-filters select[multiple] option,select.multi-filter-select option{background:#11172d!important;color:#f7fbff!important;font-size:13px!important}.l2-bubble-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}.bubble-chart{height:430px!important}.bubble-node text{paint-order:stroke!important;stroke:#050814!important;stroke-width:3px!important;letter-spacing:-.03em!important}.bubble-node:hover text{stroke-width:3.2px!important}.bubble-panel .panel-head h2{font-size:17px!important}.bubble-panel .panel-head p{font-size:12.5px!important;line-height:1.45!important}@media(max-width:1400px){.summary-combo-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}.l2-bubble-grid{grid-template-columns:1fr!important}.summary-combo-canvas svg{height:320px!important}}@media(max-width:900px){.summary-combo-stats{grid-template-columns:1fr!important}.summary-series-btn{width:100%!important}.summary-combo-controls{display:grid!important;grid-template-columns:1fr 1fr!important}}


/* v10.2 L2 filter visibility + readable dropdown controls */
.l2-inline-filters select,
select.multi-filter-select,
#l2GenreFilter,
#l2LocaleFilter,
#l2ChannelFilter {
  min-width: 190px;
  max-width: 260px;
  height: 46px;
  padding: 0 42px 0 16px;
  border-radius: 14px;
  border: 1px solid rgba(0,245,212,.45);
  background: linear-gradient(135deg, rgba(9,14,34,.96), rgba(16,22,52,.92));
  color: #f3f7ff;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .01em;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.035), 0 0 18px rgba(0,245,212,.08);
}
.l2-inline-filters select:focus,
select.multi-filter-select:focus,
#l2GenreFilter:focus,
#l2LocaleFilter:focus,
#l2ChannelFilter:focus {
  outline: none;
  border-color: rgba(0,245,212,.9);
  box-shadow: 0 0 0 3px rgba(0,245,212,.14), 0 0 24px rgba(0,245,212,.18);
}
.l2-inline-filters select option,
select.multi-filter-select option,
#l2GenreFilter option,
#l2LocaleFilter option,
#l2ChannelFilter option {
  color: #0b1023;
  background: #f8fbff;
  font-weight: 750;
}
.l2-inline-filters select.filter-populated:not(:focus) {
  color: #f3f7ff;
}
.l2-inline-filters {
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.panel-head .l2-inline-filters:empty::after { content: none; }


/* === v10.3 final Cloudflare polish === */
.summary-combo-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:10px}
.topline-date-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.topline-date-controls label{display:flex;align-items:center;gap:7px;color:#aeb8d6;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.topline-date-controls input[type="date"]{height:40px!important;min-height:40px!important;width:150px!important;font-size:13px!important;border-radius:12px!important}
.summary-combo-chart{min-height:430px!important;padding:16px 22px 14px!important}
.summary-combo-canvas svg{height:380px!important}
.summary-combo-controls{margin:0!important;gap:10px!important}
.summary-series-btn{height:38px!important;padding:0 15px!important;font-size:12.5px!important;border-radius:16px!important;box-shadow:0 0 14px color-mix(in srgb,var(--series) 14%,transparent)!important}
.summary-stat-chip.v103{min-height:92px!important;padding:18px 20px!important}
.summary-stat-chip.v103 span{font-size:10.5px!important;letter-spacing:.14em!important;color:#cbd6ff!important}
.summary-stat-chip.v103 b{font-size:32px!important;line-height:1.05!important;color:#f7fbff!important}
.summary-stat-chip.v103 em{font-size:12px!important;color:#aeb8d6!important}
.combo-point.v103{cursor:pointer}.combo-point.v103:hover .combo-halo{opacity:1}.combo-value{font-size:10.5px!important;stroke-width:3.4px!important}.combo-dot-ring{stroke-width:3.5!important;filter:drop-shadow(0 0 8px var(--series))}.combo-dot-core{fill:#00f5d4!important;stroke:#f8fbff!important;stroke-width:1!important}.campaign-summary-mode-toggle{margin-right:8px}.campaign-summary-grid .panel-head{align-items:flex-start}.campaign-summary-grid .table-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.l2-bubble-grid{gap:14px!important;margin-top:12px!important;align-items:start!important}.l2-bubble-grid .panel{padding:20px 22px!important}.l2-bubble-grid .panel-head{align-items:flex-start!important;gap:12px!important}.l2-bubble-grid .panel-head p{max-width:360px!important}.l2-bubble-grid .bubble-chart{height:410px!important}.l2-bubble-grid .bubble-chart svg{height:410px!important}.l2-bubble-grid .bubble-panel:nth-child(3){margin-top:0!important}.bubble-panel{min-height:0!important}@media(max-width:1400px){.summary-combo-toolbar{align-items:flex-start}.topline-date-controls{width:100%;justify-content:flex-start}.summary-combo-canvas svg{height:360px!important}.l2-bubble-grid{grid-template-columns:1fr!important}.l2-bubble-grid .bubble-panel:nth-child(3){grid-column:auto!important}}


/* === v10.4 final polish: campaign calendar, compact L2 filters, bubbles, date inputs === */
.campaign-summary-mode-toggle .seg-btn.active,
.toggle-group .seg-btn.active{background:linear-gradient(135deg,#292261,#088b91)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(0,245,212,.28),0 0 18px rgba(0,245,212,.22)!important}
.campaign-summary-grid{grid-template-columns:1fr!important;gap:18px!important}.campaign-summary-grid .panel{max-width:100%!important}.compact-summary-wrap table{min-width:920px!important}
.campaign-calendar-panel{margin:18px 0!important}.calendar-head{align-items:flex-start!important}.calendar-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.campaign-calendar-body{margin-top:14px}.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-day-card{min-height:178px;border:1px solid rgba(0,245,212,.22);border-radius:18px;background:linear-gradient(180deg,rgba(12,17,39,.88),rgba(5,8,20,.92));padding:12px;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.calendar-day-card.has-campaigns{cursor:pointer}.calendar-day-card.has-campaigns:hover{border-color:rgba(0,245,212,.55);box-shadow:0 0 28px rgba(0,245,212,.12);transform:translateY(-1px)}.calendar-date-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.calendar-date-head span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#96a3c5;font-weight:900}.calendar-date-head b{font-size:12px;color:#f7fbff}.calendar-events{display:flex;flex-direction:column;gap:7px}.calendar-event,.calendar-campaign-row{border:1px solid rgba(122,255,244,.18);border-radius:10px;background:rgba(255,255,255,.035);color:#f6f8ff;padding:7px 8px;text-align:left;font-size:11px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .14s ease,box-shadow .14s ease,border-color .14s ease}.calendar-event:hover,.calendar-campaign-row:hover{background:rgba(0,245,212,.10);border-color:rgba(0,245,212,.5);box-shadow:0 0 18px rgba(0,245,212,.14)}.calendar-event span,.event-channel{display:inline-flex;margin-right:6px;padding:2px 5px;border-radius:999px;background:rgba(0,245,212,.14);color:#7afff4;font-size:9px;font-weight:950}.calendar-event.WA .event-channel,.calendar-event.WA span{background:rgba(139,92,246,.16);color:#bba7ff}.calendar-event.PN .event-channel,.calendar-event.PN span{background:rgba(0,245,212,.16);color:#7afff4}.calendar-event.BB .event-channel,.calendar-event.BB span{background:rgba(255,209,102,.16);color:#ffd166}.calendar-empty{font-size:12px;color:#6f7b99}.calendar-more{border:0;background:transparent;color:#7afff4;font-size:11px;font-weight:900;text-align:left;cursor:pointer}.calendar-day-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.calendar-day-title b{font-size:22px}.calendar-day-title span{color:#aeb8d6;font-weight:850}.calendar-day-list{display:grid;gap:10px}.calendar-campaign-row{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px;white-space:normal}.calendar-campaign-row b{font-size:14px}.calendar-campaign-row em{grid-column:2;color:#aeb8d6;font-style:normal;font-size:12px}
@media(max-width:1250px){.calendar-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.calendar-week-grid{grid-template-columns:1fr}}

/* Replace hard-to-use native multi-selects with compact popover controls */
select.native-multi-hidden{display:none!important}.l2-inline-filters{display:grid!important;grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) auto auto!important;gap:10px!important;align-items:center!important}.multi-shell{position:relative;min-width:0}.multi-btn{width:100%;min-height:42px;border:1px solid rgba(0,245,212,.44);border-radius:14px;background:#0b1228;color:#f7fbff;font-size:13px;font-weight:850;padding:0 36px 0 14px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:inset 0 0 18px rgba(0,245,212,.04);cursor:pointer}.multi-btn:after{content:'⌄';position:absolute;right:14px;top:10px;color:#9efcf6;font-weight:900}.multi-shell.open .multi-btn{border-color:rgba(0,245,212,.8);box-shadow:0 0 24px rgba(0,245,212,.18),inset 0 0 20px rgba(0,245,212,.08)}.multi-menu{display:none;position:absolute;z-index:1000;top:calc(100% + 8px);left:0;width:min(360px,88vw);max-height:320px;overflow:auto;border:1px solid rgba(0,245,212,.38);border-radius:16px;background:#0c1228;box-shadow:0 24px 70px rgba(0,0,0,.62),0 0 28px rgba(0,245,212,.12);padding:10px}.multi-shell.open .multi-menu{display:block}.multi-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 8px;border-bottom:1px solid rgba(122,255,244,.12);margin-bottom:8px}.multi-menu-head b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#b9c6ff}.multi-menu-head button{background:rgba(255,255,255,.06);border:1px solid rgba(122,255,244,.2);border-radius:999px;color:#7afff4;font-size:11px;font-weight:900;padding:5px 10px;cursor:pointer}.multi-options{display:grid;gap:4px}.multi-options label{display:flex;align-items:center;gap:9px;padding:8px;border-radius:10px;color:#f7fbff;font-size:13px;font-weight:780;cursor:pointer}.multi-options label:hover{background:rgba(0,245,212,.08)}.multi-options input{accent-color:#00f5d4}.multi-options span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.l2-scroll-panel .panel-head{align-items:flex-start!important}.l2-scroll-panel .panel-head h2{line-height:1.08}.l2-inline-filters .tiny-action{min-height:42px!important;white-space:nowrap!important}.l2-inline-filters button[onclick*="openL2FullTable"]{order:3}.l2-inline-filters button[onclick*="downloadTableCsv"]{order:4}@media(max-width:1150px){.l2-inline-filters{grid-template-columns:1fr!important}.multi-menu{position:fixed;left:18px;right:18px;top:20vh;width:auto}}

/* Bubble charts should occupy the card, not leave unused space on the right/bottom */
.l2-bubble-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;align-items:stretch!important}.l2-bubble-grid .bubble-panel:nth-child(3){grid-column:1/-1!important}.bubble-panel{padding:18px 20px!important}.bubble-panel .panel-head{align-items:flex-start!important}.bubble-panel .panel-head p{max-width:420px!important}.l2-bubble-grid .bubble-chart{height:340px!important;min-height:340px!important}.l2-bubble-grid .bubble-chart svg{height:340px!important}.bubble-chart-large{height:72vh!important}.bubble-chart-large svg{height:72vh!important}@media(max-width:1300px){.l2-bubble-grid{grid-template-columns:1fr!important}.l2-bubble-grid .bubble-panel:nth-child(3){grid-column:auto!important}}

/* Topline date controls: readable, aligned, compact */
.topline-date-controls{display:flex;gap:12px;align-items:center;justify-content:flex-start;flex-wrap:wrap}.topline-date-controls label{display:flex;align-items:center;gap:8px;color:#98a3c4;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.12em}.topline-date-controls input[type="date"],#summaryTrendStart,#summaryTrendEnd{height:38px!important;min-height:38px!important;width:150px!important;padding:0 34px 0 12px!important;font-size:13px!important;font-weight:800!important;text-align:left!important;color:#f7fbff!important;background:#0b1228!important;border:1px solid rgba(0,245,212,.42)!important;border-radius:12px!important;box-shadow:0 0 16px rgba(0,245,212,.08),inset 0 0 14px rgba(0,245,212,.035)!important}input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(95%) sepia(76%) saturate(564%) hue-rotate(112deg) brightness(105%) contrast(106%)!important;opacity:.9!important;cursor:pointer}
.summary-combo-toolbar{gap:14px!important}.summary-combo-controls{max-width:100%!important}.summary-combo-chart{padding-top:18px!important}.summary-series-btn{font-size:12.5px!important}

/* === v10.5 final polish: L2 filters, independent toggles, date inputs === */
#l2 .l2-scroll-panel .panel-head,
#l2 .panel.full .panel-head:has(.l2-inline-filters){
  display:grid !important;
  grid-template-columns: minmax(240px, 330px) 1fr !important;
  gap:18px 24px !important;
  align-items:start !important;
}
#l2 .l2-scroll-panel .panel-head > div:first-child,
#l2 .panel.full .panel-head:has(.l2-inline-filters) > div:first-child{
  min-width:0 !important;
  max-width:330px !important;
}
#l2 .l2-scroll-panel .panel-head h2,
#l2 .panel.full .panel-head:has(.l2-inline-filters) h2{
  font-size:22px !important;
  line-height:1.12 !important;
  letter-spacing:-.02em !important;
  margin:0 0 8px !important;
  max-width:none !important;
}
#l2 .l2-scroll-panel .panel-head p,
#l2 .panel.full .panel-head:has(.l2-inline-filters) p{
  font-size:13.5px !important;
  line-height:1.45 !important;
  max-width:300px !important;
  word-break:normal !important;
}
#l2 .l2-inline-filters{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(220px, 1fr)) !important;
  gap:10px 12px !important;
  align-items:center !important;
  width:100% !important;
  min-width:0 !important;
}
#l2 .l2-inline-filters .multi-shell,
#l2 .l2-inline-filters .multi-btn,
#l2 .l2-inline-filters .tiny-action{
  min-width:0 !important;
  width:100% !important;
}
#l2 .l2-inline-filters .tiny-action{
  justify-content:center !important;
  text-align:center !important;
  min-height:44px !important;
  padding-inline:14px !important;
}
#l2 .l2-inline-filters button[onclick*="openL2FullTable"]{ order:3 !important; }
#l2 .l2-inline-filters button[onclick*="downloadTableCsv"]{ order:4 !important; }
#l2 .multi-btn{
  font-size:13.5px !important;
  font-weight:850 !important;
  color:#f7fbff !important;
  background:linear-gradient(135deg,rgba(13,22,48,.98),rgba(9,15,35,.98)) !important;
}
#l2 .multi-menu{
  width:min(420px,90vw) !important;
  max-height:280px !important;
}
#l2 .multi-options label{
  font-size:12.5px !important;
  line-height:1.25 !important;
}
#l2 .multi-options span{ white-space:normal !important; }
@media(max-width:1350px){
  #l2 .l2-scroll-panel .panel-head,
  #l2 .panel.full .panel-head:has(.l2-inline-filters){ grid-template-columns:1fr !important; }
  #l2 .l2-scroll-panel .panel-head > div:first-child,
  #l2 .panel.full .panel-head:has(.l2-inline-filters) > div:first-child{max-width:none !important;}
  #l2 .l2-inline-filters{grid-template-columns:repeat(2,minmax(180px,1fr)) !important;}
}
@media(max-width:760px){#l2 .l2-inline-filters{grid-template-columns:1fr !important;}}

/* Restore clear date affordance in topline trend */
.topline-date-controls input[type="date"],
#summaryTrendStart,#summaryTrendEnd{
  color-scheme:dark !important;
  position:relative !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  padding-left:16px !important;
  padding-right:38px !important;
}
.topline-date-controls input[type="date"]::-webkit-calendar-picker-indicator,
#summaryTrendStart::-webkit-calendar-picker-indicator,
#summaryTrendEnd::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  width:18px !important;
  height:18px !important;
  margin-right:2px !important;
  cursor:pointer !important;
  filter: invert(86%) sepia(91%) saturate(660%) hue-rotate(119deg) brightness(107%) contrast(104%) drop-shadow(0 0 5px rgba(0,245,212,.75)) !important;
}
.topline-date-controls label{ min-width:auto !important; }

/* Independent campaign summary toggles */
.campaign-summary-grid .panel-head .table-actions{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.campaign-summary-mode-toggle .seg-btn.active{
  background:linear-gradient(135deg,rgba(55,66,180,.95),rgba(0,145,145,.82)) !important;
  color:#fff !important;
  box-shadow:0 0 18px rgba(0,245,212,.18) !important;
}

/* Use remaining L2 width more cleanly without forcing empty right gutter */
#l2 .l2-bubble-grid{
  grid-template-columns:repeat(2,minmax(420px,1fr)) !important;
  gap:18px !important;
  width:100% !important;
}
#l2 .bubble-panel{width:100% !important;}
@media(max-width:1100px){#l2 .l2-bubble-grid{grid-template-columns:1fr !important;}}

/* === v10.6 final corrections: L2 filter layout + date icon spacing === */
#l2 .l2-scroll-panel .panel-head,
#l2 .panel.full .panel-head:has(.l2-inline-filters){
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
  align-items:start !important;
}
#l2 .l2-scroll-panel .panel-head > div:first-child,
#l2 .panel.full .panel-head:has(.l2-inline-filters) > div:first-child{
  max-width:none !important;
  width:100% !important;
}
#l2 .l2-scroll-panel .panel-head h2,
#l2 .panel.full .panel-head:has(.l2-inline-filters) h2{
  font-size:20px !important;
  line-height:1.16 !important;
  margin-bottom:6px !important;
  max-width:100% !important;
  white-space:normal !important;
}
#l2 .l2-scroll-panel .panel-head p,
#l2 .panel.full .panel-head:has(.l2-inline-filters) p{
  font-size:13px !important;
  line-height:1.4 !important;
  max-width:560px !important;
  margin-bottom:2px !important;
}
#l2 .l2-inline-filters{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
}
#l2 .l2-inline-filters .multi-shell,
#l2 .l2-inline-filters .tiny-action{
  width:100% !important;
  max-width:none !important;
}
#l2 .l2-inline-filters .multi-btn,
#l2 .l2-inline-filters .tiny-action{
  min-height:40px !important;
  height:40px !important;
  padding:0 38px 0 13px !important;
  font-size:12.5px !important;
  line-height:1 !important;
  border-radius:12px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
#l2 .l2-inline-filters .tiny-action{
  padding:0 12px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
#l2 .multi-btn:after{
  top:8px !important;
  right:12px !important;
  font-size:13px !important;
}
#l2 .multi-menu{
  width:min(360px,92vw) !important;
  max-height:300px !important;
}
@media(max-width:760px){
  #l2 .l2-inline-filters{grid-template-columns:1fr !important;}
}

/* Give top-line date inputs enough room so the native calendar icon never covers the date */
.topline-date-controls input[type="date"],
#summaryTrendStart,#summaryTrendEnd{
  width:178px !important;
  min-width:178px !important;
  padding-left:18px !important;
  padding-right:48px !important;
  font-size:12.5px !important;
  font-weight:780 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
  box-sizing:border-box !important;
}
.topline-date-controls input[type="date"]::-webkit-calendar-picker-indicator,
#summaryTrendStart::-webkit-calendar-picker-indicator,
#summaryTrendEnd::-webkit-calendar-picker-indicator{
  width:18px !important;
  height:18px !important;
  margin-left:14px !important;
  margin-right:2px !important;
  padding:2px !important;
}


/* === v10.7 UI patch === */
.split-bb{background:rgba(255,209,102,.16);color:#ffd166;border:1px solid rgba(255,209,102,.26)}
.book-chart-controls [data-book-chart-channel="Billboard"].active{background:linear-gradient(135deg,#7a5b10,#ffd166);color:#07111f;box-shadow:0 0 18px rgba(255,209,102,.38)}
.l2-scroll-panel .panel-head{display:grid;grid-template-columns:minmax(260px,0.82fr) minmax(420px,1.18fr);align-items:start;gap:18px;}
.l2-scroll-panel .panel-head h2{line-height:1.08;max-width:300px;}
.l2-scroll-panel .panel-head p{max-width:360px;line-height:1.35;}
.l2-inline-filters{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch;width:100%;max-width:680px;}
.l2-inline-filters .native-multi-hidden{display:none!important;}
.l2-inline-filters .multi-shell,.l2-inline-filters .secondary{width:100%;min-width:0;height:48px;}
.l2-inline-filters .multi-btn{height:48px;min-width:0;width:100%;font-size:14px!important;padding:0 40px 0 16px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.l2-inline-filters .multi-btn::after{right:14px;}
.l2-inline-filters .multi-menu{width:min(380px,calc(100vw - 80px));max-height:340px;overflow:auto;}
.full-table-filter-slot{display:flex;gap:12px;align-items:center;padding:0 24px 14px 24px;}
.popup-filter-proxy{min-width:180px;}
.split-cell .split-break{justify-content:center;gap:6px;flex-wrap:wrap;}
#campaignBooksChart .chart-legend-item:has(.legend-line-swatch[style*="ffd166"]){color:#ffd166;}
@media (max-width:1200px){.l2-scroll-panel .panel-head{grid-template-columns:1fr}.l2-inline-filters{max-width:none}}
.full-table-filter-slot.functional{position:relative;z-index:3;padding:0 24px 16px 24px;display:flex;gap:12px;flex-wrap:wrap}.popup-multi-shell{position:relative;min-width:220px}.popup-multi-shell .multi-btn{width:100%;height:44px}.popup-multi-shell .multi-menu{position:absolute;top:calc(100% + 8px);left:0;width:min(360px,calc(100vw - 80px));max-height:340px;overflow:auto;display:none;z-index:50}.popup-multi-shell.open .multi-menu{display:block}

/* === v10.8 final corrections: date input icon, section spacing, L2 filter readability === */
.summary-combo-panel,
#summary .panel.full:has(#summaryChannelTable) {
  margin-top: 24px !important;
}
.topline-date-controls input[type="date"],
#summaryTrendStart,
#summaryTrendEnd{
  width: 214px !important;
  min-width: 214px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding-left: 18px !important;
  padding-right: 64px !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  letter-spacing: 0 !important;
  line-height: 42px !important;
  text-align: left !important;
  overflow: visible !important;
}
.topline-date-controls input[type="date"]::-webkit-calendar-picker-indicator,
#summaryTrendStart::-webkit-calendar-picker-indicator,
#summaryTrendEnd::-webkit-calendar-picker-indicator{
  width: 20px !important;
  height: 20px !important;
  margin-left: 22px !important;
  margin-right: 6px !important;
  padding: 2px !important;
  opacity: .96 !important;
  filter: invert(86%) sepia(91%) saturate(660%) hue-rotate(119deg) brightness(107%) contrast(106%) drop-shadow(0 0 6px rgba(0,245,212,.75)) !important;
}

/* L2 funnel cards: give title/subtitle normal space and make filters compact/readable */
#l2 .l2-scroll-panel .panel-head,
#l2 .panel.full .panel-head:has(.l2-inline-filters){
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  align-items: start !important;
}
#l2 .l2-scroll-panel .panel-head > div:first-child,
#l2 .panel.full .panel-head:has(.l2-inline-filters) > div:first-child{
  width: 100% !important;
  max-width: none !important;
}
#l2 .l2-scroll-panel .panel-head h2,
#l2 .panel.full .panel-head:has(.l2-inline-filters) h2{
  max-width: none !important;
  white-space: normal !important;
  font-size: 20px !important;
  line-height: 1.18 !important;
  margin: 0 0 6px !important;
}
#l2 .l2-scroll-panel .panel-head p,
#l2 .panel.full .panel-head:has(.l2-inline-filters) p{
  max-width: 560px !important;
  white-space: normal !important;
  font-size: 13px !important;
  line-height: 1.42 !important;
  margin: 0 !important;
}
#l2 .l2-inline-filters{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(180px, 240px)) !important;
  gap: 10px 12px !important;
  justify-content: start !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 520px !important;
  margin: 0 !important;
}
#l2 .l2-inline-filters .multi-shell,
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{
  width: 100% !important;
  min-width: 0 !important;
  max-width: 240px !important;
  height: 40px !important;
}
#l2 .l2-inline-filters .multi-btn,
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 34px 0 12px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 860 !important;
  line-height: 40px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{
  padding: 0 12px !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
}
#l2 .l2-inline-filters .multi-btn::after{
  right: 11px !important;
  top: 9px !important;
  font-size: 12px !important;
}
#l2 .multi-menu{
  width: min(340px, calc(100vw - 80px)) !important;
  max-height: 310px !important;
}
#l2 .l2-bubble-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
#l2 .l2-bubble-grid .bubble-panel:nth-child(3){
  grid-column: 1 / -1 !important;
}
@media(max-width: 1200px){
  #l2 .l2-inline-filters{ grid-template-columns: repeat(2, minmax(160px, 1fr)) !important; max-width: none !important; }
  #l2 .l2-inline-filters .multi-shell,
  #l2 .l2-inline-filters .tiny-action,
  #l2 .l2-inline-filters .secondary{ max-width: none !important; }
  #l2 .l2-bubble-grid{ grid-template-columns: 1fr !important; }
}
@media(max-width: 760px){
  #l2 .l2-inline-filters{ grid-template-columns: 1fr !important; }
}


/* === v10.9 leadership UI guardrails === */
/* Stable spacing between major summary cards */
#summary .summary-combo-panel{margin-bottom:26px!important;}
#summary .panel.full:has(#summaryChannelTable){margin-top:26px!important;}

/* Date input icon should never cover the actual date */
.topline-date-controls input[type="date"],
#summaryTrendStart,#summaryTrendEnd{
  width:236px!important;
  min-width:236px!important;
  height:42px!important;
  min-height:42px!important;
  padding-left:20px!important;
  padding-right:72px!important;
  font-size:13px!important;
  font-weight:780!important;
  letter-spacing:0!important;
  color:#f7fbff!important;
  box-sizing:border-box!important;
  text-align:left!important;
}
#summaryTrendStart::-webkit-datetime-edit,
#summaryTrendEnd::-webkit-datetime-edit,
.topline-date-controls input[type="date"]::-webkit-datetime-edit{padding-right:18px!important;}
#summaryTrendStart::-webkit-calendar-picker-indicator,
#summaryTrendEnd::-webkit-calendar-picker-indicator,
.topline-date-controls input[type="date"]::-webkit-calendar-picker-indicator{
  width:19px!important;height:19px!important;margin-left:20px!important;margin-right:8px!important;padding:2px!important;
  filter:invert(90%) sepia(96%) saturate(510%) hue-rotate(112deg) brightness(108%) contrast(105%) drop-shadow(0 0 6px rgba(0,245,212,.72))!important;
}

/* L2 filter cards: title area left, compact controls right; no giant/overflowing buttons */
#l2 .l2-scroll-panel .panel-head,
#l2 .panel.full .panel-head:has(.l2-inline-filters){
  display:grid!important;
  grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr)!important;
  align-items:start!important;
  gap:18px!important;
}
#l2 .l2-scroll-panel .panel-head > div:first-child,
#l2 .panel.full .panel-head:has(.l2-inline-filters) > div:first-child{min-width:0!important;max-width:none!important;}
#l2 .l2-scroll-panel .panel-head h2,
#l2 .panel.full .panel-head:has(.l2-inline-filters) h2{
  font-size:20px!important;line-height:1.15!important;margin:0 0 7px!important;white-space:normal!important;max-width:360px!important;
}
#l2 .l2-scroll-panel .panel-head p,
#l2 .panel.full .panel-head:has(.l2-inline-filters) p{
  font-size:13px!important;line-height:1.42!important;margin:0!important;max-width:390px!important;white-space:normal!important;
}
#l2 .l2-inline-filters{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(170px,220px))!important;
  gap:10px 12px!important;
  width:100%!important;
  max-width:470px!important;
  justify-self:end!important;
  align-items:stretch!important;
  margin:0!important;
}
#l2 .l2-inline-filters .multi-shell,
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{width:100%!important;min-width:0!important;max-width:220px!important;height:38px!important;}
#l2 .l2-inline-filters .multi-btn,
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{
  height:38px!important;min-height:38px!important;border-radius:12px!important;font-size:12px!important;font-weight:850!important;
  line-height:38px!important;padding:0 34px 0 12px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{padding:0 12px!important;display:flex!important;align-items:center!important;justify-content:center!important;}
#l2 .l2-inline-filters .multi-btn::after{right:11px!important;top:8px!important;font-size:12px!important;}
#l2 .multi-menu{width:min(340px,calc(100vw - 80px))!important;max-height:300px!important;}
#l2 .multi-options label{font-size:12.5px!important;line-height:1.25!important;}
#l2 .multi-options span{white-space:normal!important;}
@media(max-width:1250px){
  #l2 .l2-scroll-panel .panel-head,
  #l2 .panel.full .panel-head:has(.l2-inline-filters){grid-template-columns:1fr!important;}
  #l2 .l2-inline-filters{justify-self:start!important;max-width:none!important;grid-template-columns:repeat(2,minmax(160px,1fr))!important;}
  #l2 .l2-inline-filters .multi-shell,#l2 .l2-inline-filters .tiny-action,#l2 .l2-inline-filters .secondary{max-width:none!important;}
}
@media(max-width:760px){#l2 .l2-inline-filters{grid-template-columns:1fr!important;}}

/* Leadership-safe N/A/dash cells */
td .na, .na-cell{color:#8e99b8!important;font-weight:800!important;}

/* v11.0 final data correctness polish */
.book-chart-controls .chart-filter-tabs{min-width:unset;}
.metric-muted{color:var(--muted);font-size:12px;font-weight:700;}
.topline-date-controls input[type="date"]{min-width:168px;padding-right:42px!important;text-align:left;}
.panel.full + .panel.full{margin-top:22px;}


/* v11.1 data source guardrail */
.data-guardrail-banner{
  margin:16px 0 24px;
  padding:16px 18px;
  border:1px solid rgba(45,245,214,.32);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(11,245,216,.08),rgba(123,92,246,.08));
  box-shadow:0 0 0 1px rgba(45,245,214,.08),0 18px 42px rgba(0,0,0,.22);
}
.data-guardrail-banner.guardrail-warning{border-color:rgba(255,209,102,.55);background:linear-gradient(135deg,rgba(255,209,102,.12),rgba(255,79,216,.07));}
.guardrail-title{display:flex;align-items:center;gap:10px;color:#f4f7ff;font-size:15px;margin-bottom:12px;}
.guardrail-title span:last-child{margin-left:auto;color:#9ffbed;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;}
.guardrail-warning .guardrail-title span:last-child{color:#ffd166;}
.guard-dot{width:10px;height:10px;border-radius:50%;display:inline-block;box-shadow:0 0 18px currentColor;}
.guard-dot.ok{background:#00f5d4;color:#00f5d4;}.guard-dot.warn{background:#ffd166;color:#ffd166;}
.guardrail-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.guardrail-grid span{display:flex;flex-direction:column;gap:5px;padding:10px 12px;border:1px solid rgba(148,163,184,.18);border-radius:13px;background:rgba(6,10,28,.42);min-width:0;}
.guardrail-grid b{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.14em;color:#9ca8c6;}
.guardrail-grid em{font-style:normal;font-size:14px;font-weight:900;color:#f7fbff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.guardrail-notes{margin-top:12px;color:#ffd166;font-size:13px;line-height:1.5;}.guardrail-notes p{margin:3px 0;}
@media (max-width:1200px){.guardrail-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.guardrail-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}


/* v12 rebuild polish */
.table-toolbar select, .filter-select, select, input[type="date"]{min-width:180px;max-width:100%;font-size:15px!important;padding-right:42px!important;background-position:right 14px center!important;}
.l2-card .card-head{display:grid;grid-template-columns:minmax(210px,1fr) minmax(360px,1.35fr);gap:16px;align-items:start;}
.l2-card .card-head .table-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;justify-items:stretch;}
.l2-card .table-actions select,.l2-card .table-actions button{width:100%;min-width:0;height:48px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#bookChartCampaign{min-width:300px;max-width:480px;}
.chart-toggle-row{gap:14px!important;align-items:center!important;}
.metric-card, .panel, .card{overflow:hidden;}
@media (max-width:1200px){.l2-card .card-head{grid-template-columns:1fr}.l2-card .card-head .table-actions{grid-template-columns:1fr 1fr}}


/* === v12.1 L2 + Writer Funnel polish === */
.nav-btn[data-tab="writer"]{position:relative}
.writer-overview-panel .panel-head{align-items:flex-start}
.writer-filter-actions{gap:14px;align-items:center;flex-wrap:wrap}
.writer-filter-actions label{display:flex;align-items:center;gap:8px;color:var(--muted);font-weight:850;letter-spacing:.08em;text-transform:uppercase;font-size:12px}
.writer-filter-actions input[type="date"]{min-width:170px}
.writer-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.writer-funnel-panel{margin-top:16px}
.writer-table-wrap{max-height:520px;overflow:auto}
.writer-table-wrap table{min-width:980px}
.writer-table-wrap th:first-child,.writer-table-wrap td:first-child{min-width:190px}
.writer-table-wrap th:nth-child(2),.writer-table-wrap td:nth-child(2){min-width:240px}
.l2-filter-actions select,.l2-filter-actions input[type="date"],.writer-filter-actions input[type="date"]{height:42px;font-size:14px;font-weight:850;padding:0 42px 0 14px;border-radius:12px;background:rgba(7,12,30,.92);color:#f4f7ff;border:1px solid rgba(0,245,212,.35);box-shadow:0 0 0 1px rgba(0,245,212,.05), inset 0 0 18px rgba(0,245,212,.04)}
.l2-inline-filters{display:grid!important;grid-template-columns:repeat(2,minmax(180px,1fr));gap:10px;min-width:440px;max-width:620px}
.l2-inline-filters .secondary{height:40px;justify-content:center}
.l2-scroll-panel .panel-head{display:grid;grid-template-columns:minmax(230px,1fr) minmax(440px,620px);gap:20px;align-items:start}
.l2-scroll-panel .panel-head h2,.l2-scroll-panel .panel-head p{max-width:320px}
.l2-scroll-table{overflow:auto;max-height:420px}
.multi-shell{min-width:0!important;width:100%!important}
.multi-btn{width:100%;height:42px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 14px;text-align:left}
.multi-menu{max-width:min(520px,90vw);min-width:260px;max-height:340px;overflow:auto;z-index:80}
@media (max-width:1180px){.writer-kpi-grid{grid-template-columns:repeat(2,1fr)}.l2-scroll-panel .panel-head{grid-template-columns:1fr}.l2-inline-filters{min-width:0;max-width:none}}
@media (max-width:760px){.writer-kpi-grid{grid-template-columns:1fr}.writer-filter-actions{width:100%}.writer-filter-actions label,.writer-filter-actions input[type="date"]{width:100%}.l2-inline-filters{grid-template-columns:1fr}}


/* === v12.2 Writer Funnel attribution + L2/Writer layout cleanup === */
#writer .writer-overview-panel .panel-head,
#l2 .l2-metrics-panel .panel-head{
  display:grid!important; grid-template-columns: minmax(320px,1fr) auto!important; gap:18px!important; align-items:start!important;
}
.writer-filter-actions,.l2-filter-actions{justify-self:end!important;display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap!important;}
.writer-filter-actions label,.l2-filter-actions label{font-size:11px!important;letter-spacing:.12em!important;text-transform:uppercase!important;color:#98a3c4!important;font-weight:950!important;display:flex!important;align-items:center!important;gap:8px!important;}
#writer input[type="date"],#l2 input[type="date"]{width:160px!important;height:42px!important;min-height:42px!important;padding:0 42px 0 14px!important;font-size:13px!important;font-weight:850!important;text-align:left!important;color:#f7fbff!important;background:#0b1228!important;border:1px solid rgba(0,245,212,.42)!important;border-radius:14px!important;}
#writer input[type="date"]::-webkit-calendar-picker-indicator,#l2 input[type="date"]::-webkit-calendar-picker-indicator{filter:invert(95%) sepia(76%) saturate(564%) hue-rotate(112deg) brightness(105%) contrast(106%) drop-shadow(0 0 4px rgba(0,245,212,.45))!important;opacity:.95!important;cursor:pointer!important;}
.writer-kpi-grid,.l2-kpi-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;}
.writer-kpi-grid .l2-kpi,.l2-kpi-grid .l2-kpi{min-height:112px!important;height:112px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
#writer .writer-funnel-panel .panel-head{display:grid!important;grid-template-columns:minmax(360px,1fr) auto!important;align-items:start!important;gap:16px!important;}
#writer .writer-table-wrap table{min-width:1180px!important;}
#writer .split-cell{min-width:170px!important;text-align:center!important;}
#writer .split-total{font-size:17px!important;font-weight:950!important;color:#f7fbff!important;line-height:1.05!important;}
#writer .split-break{display:flex!important;gap:7px!important;justify-content:center!important;flex-wrap:wrap!important;margin-top:4px!important;}
#writer .split-pn,#writer .split-wa{font-size:10.5px!important;border-radius:999px!important;padding:3px 8px!important;font-weight:950!important;white-space:nowrap!important;}
#writer .split-pn{background:rgba(0,245,212,.14)!important;color:#7afff4!important;border:1px solid rgba(0,245,212,.18)!important;}
#writer .split-wa{background:rgba(132,93,255,.18)!important;color:#d7ccff!important;border:1px solid rgba(132,93,255,.22)!important;}
#writer .table-wrap td:not(:first-child),#writer .table-wrap th:not(:first-child){text-align:center!important;}
#l2 .panel.full .panel-head:has(.l2-inline-filters){grid-template-columns:minmax(360px,1fr) minmax(440px,680px)!important;gap:22px!important;align-items:start!important;}
#l2 .panel.full .panel-head:has(.l2-inline-filters)>div:first-child{max-width:440px!important;padding-right:8px!important;}
#l2 .panel.full .panel-head:has(.l2-inline-filters) h2{font-size:20px!important;line-height:1.15!important;}
#l2 .panel.full .panel-head:has(.l2-inline-filters) p{font-size:13px!important;line-height:1.35!important;max-width:360px!important;}
#l2 .l2-inline-filters{justify-self:end!important;display:grid!important;grid-template-columns:repeat(2,minmax(180px,1fr))!important;gap:10px!important;align-items:stretch!important;width:100%!important;max-width:680px!important;}
#l2 .l2-inline-filters .multi-shell,#l2 .l2-inline-filters .tiny-action,#l2 .l2-inline-filters .secondary{width:100%!important;min-width:0!important;max-width:none!important;height:42px!important;}
#l2 .l2-inline-filters .multi-btn,#l2 .l2-inline-filters .tiny-action,#l2 .l2-inline-filters .secondary{height:42px!important;font-size:12.5px!important;font-weight:900!important;padding:0 14px!important;}
#l2 .l2-inline-filters .multi-btn{padding-right:36px!important;}
#l2 .l2-inline-filters .multi-btn::after{right:12px!important;top:9px!important;color:#9efff6!important;}
#l2 .l2-inline-filters button[onclick*="openL2FullTable"]{order:3!important;}
#l2 .l2-inline-filters button[onclick*="downloadTableCsv"]{order:4!important;}
#l2 .multi-menu{width:min(360px,calc(100vw - 80px))!important;max-height:300px!important;}
#l2 .multi-options label{font-size:12.5px!important;}
@media(max-width:1200px){#writer .writer-overview-panel .panel-head,#l2 .l2-metrics-panel .panel-head,#l2 .panel.full .panel-head:has(.l2-inline-filters),#writer .writer-funnel-panel .panel-head{grid-template-columns:1fr!important}.writer-filter-actions,.l2-filter-actions,#l2 .l2-inline-filters{justify-self:start!important;max-width:none!important}.writer-kpi-grid,.l2-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){.writer-kpi-grid,.l2-kpi-grid,#l2 .l2-inline-filters{grid-template-columns:1fr!important}}

/* === v12.3 UI cleanup: writer attribution headers, L2 card controls, book chart filters === */
/* 1) Writer Funnel long attribution columns: wrap headers and keep cells compact */
#writer .writer-table-wrap table{
  min-width: 1080px !important;
  table-layout: fixed !important;
}
#writer .writer-table-wrap th{
  white-space: normal !important;
  line-height: 1.16 !important;
  vertical-align: middle !important;
}
#writer .writer-table-wrap th:nth-child(4),
#writer .writer-table-wrap th:nth-child(5),
#writer .writer-table-wrap .long-attr-head{
  font-size: 11px !important;
  letter-spacing: .09em !important;
  max-width: 150px !important;
}
#writer .writer-table-wrap td:nth-child(4),
#writer .writer-table-wrap td:nth-child(5){
  max-width: 150px !important;
  width: 150px !important;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
#writer .split-cell{min-width:0 !important; width:150px !important;}
#writer .split-total{font-size:15px !important; line-height:1 !important;}
#writer .split-break{gap:5px !important; margin-top:3px !important;}
#writer .split-pn,#writer .split-wa{font-size:9.5px !important; padding:2px 7px !important;}
#writer .writer-table-wrap th:first-child,#writer .writer-table-wrap td:first-child{width:185px !important; min-width:185px !important;}
#writer .writer-table-wrap th:nth-child(2),#writer .writer-table-wrap td:nth-child(2){width:190px !important; min-width:190px !important;}

/* 2) L2 Output cards: controls stay inside card; title/subtitle retain reading space */
#l2 .l2-scroll-panel,
#l2 .panel.full:has(.l2-inline-filters){
  overflow: hidden !important;
}
#l2 .l2-scroll-panel .panel-head,
#l2 .panel.full .panel-head:has(.l2-inline-filters){
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  align-items: start !important;
}
#l2 .l2-scroll-panel .panel-head > div:first-child,
#l2 .panel.full .panel-head:has(.l2-inline-filters) > div:first-child{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-right: 0 !important;
}
#l2 .l2-scroll-panel .panel-head h2,
#l2 .panel.full .panel-head:has(.l2-inline-filters) h2{
  max-width: none !important;
  font-size: 20px !important;
  line-height: 1.15 !important;
  margin: 0 0 6px !important;
}
#l2 .l2-scroll-panel .panel-head p,
#l2 .panel.full .panel-head:has(.l2-inline-filters) p{
  max-width: 620px !important;
  font-size: 13px !important;
  line-height: 1.38 !important;
  margin: 0 !important;
}
#l2 .l2-inline-filters{
  justify-self: stretch !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px 12px !important;
}
#l2 .l2-inline-filters .multi-shell,
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 40px !important;
}
#l2 .l2-inline-filters .multi-btn,
#l2 .l2-inline-filters .tiny-action,
#l2 .l2-inline-filters .secondary{
  height: 40px !important;
  min-height: 40px !important;
  line-height: 40px !important;
  font-size: 12px !important;
  border-radius: 12px !important;
  padding: 0 12px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
#l2 .l2-inline-filters .multi-btn{padding-right:34px !important;}
#l2 .l2-inline-filters .multi-btn::after{right:11px !important; top:8px !important;}
@media(max-width: 760px){#l2 .l2-inline-filters{grid-template-columns:1fr !important;}}

/* 3) Books Created chart controls: never overlap channel tabs and campaign dropdown */
#books .chart-panel .tracker-head{
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 14px !important;
  align-items: start !important;
}
#books .book-chart-controls{
  display: grid !important;
  grid-template-columns: max-content max-content minmax(220px, 360px) !important;
  gap: 12px 16px !important;
  align-items: center !important;
  justify-content: start !important;
  width: 100% !important;
  max-width: 100% !important;
}
#books .book-chart-controls .chart-filter-tabs{
  height: 46px !important;
  min-width: 0 !important;
  width: auto !important;
  padding: 4px !important;
  flex: 0 0 auto !important;
}
#books .book-chart-controls .mini-seg{
  min-width: 70px !important;
  height: 36px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}
#books .book-chart-controls .chart-filter-tabs:first-child .mini-seg{
  min-width: 112px !important;
}
#books #bookChartCampaign{
  width: 100% !important;
  min-width: 220px !important;
  max-width: 360px !important;
  height: 46px !important;
  font-size: 13px !important;
  padding-left: 14px !important;
  padding-right: 36px !important;
}
@media(max-width: 1350px){
  #books .book-chart-controls{grid-template-columns: max-content max-content !important;}
  #books #bookChartCampaign{grid-column:1 / -1 !important; max-width: 520px !important;}
}
@media(max-width: 850px){
  #books .book-chart-controls{grid-template-columns: 1fr !important;}
  #books .book-chart-controls .chart-filter-tabs,
  #books #bookChartCampaign{width:100% !important; max-width:none !important;}
  #books .book-chart-controls .chart-filter-tabs{justify-content:space-between !important;}
  #books .book-chart-controls .mini-seg{flex:1 1 auto !important; min-width:0 !important;}
}

/* === v12.4 Writer Funnel simplified tables and independent #/% toggles === */
#writer .writer-table-head{
  display:grid!important;
  grid-template-columns:minmax(340px,1fr) auto!important;
  gap:16px!important;
  align-items:start!important;
}
#writer .writer-table-actions{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  justify-content:flex-end!important;
}
#writer .writer-mode-toggle{
  min-width:100px!important;
  height:42px!important;
  padding:4px!important;
}
#writer .writer-mode-toggle .seg-btn{
  min-width:44px!important;
  height:34px!important;
  padding:0 12px!important;
  font-size:14px!important;
}
#writer .writer-table-wrap table{
  min-width:1020px!important;
  table-layout:fixed!important;
}
#writer .writer-table-wrap th{
  font-size:11px!important;
  letter-spacing:.08em!important;
  line-height:1.18!important;
  white-space:normal!important;
  word-break:normal!important;
}
#writer .writer-table-wrap th:first-child,#writer .writer-table-wrap td:first-child{width:170px!important;min-width:170px!important;}
#writer .writer-table-wrap th:nth-child(2),#writer .writer-table-wrap td:nth-child(2){width:150px!important;min-width:150px!important;}
#writer .writer-table-wrap th:nth-child(3),#writer .writer-table-wrap td:nth-child(3){width:145px!important;min-width:145px!important;}
#writer .writer-table-wrap th:nth-child(4),#writer .writer-table-wrap td:nth-child(4),
#writer .writer-table-wrap th:nth-child(5),#writer .writer-table-wrap td:nth-child(5){width:165px!important;min-width:165px!important;max-width:165px!important;}
#writer .writer-table-wrap .writer-attr-head{font-size:10.5px!important;letter-spacing:.07em!important;}
#writer .writer-table-wrap td{font-size:14px!important;}
#writer .split-cell{width:165px!important;min-width:165px!important;max-width:165px!important;}
#writer .split-total{font-size:14px!important;line-height:1!important;}
#writer .split-break{gap:4px!important;margin-top:4px!important;}
#writer .split-pn,#writer .split-wa{font-size:9px!important;padding:2px 6px!important;}
@media(max-width:900px){
  #writer .writer-table-head{grid-template-columns:1fr!important;}
  #writer .writer-table-actions{justify-content:flex-start!important;}
}

/* v12.5 Writer Funnel table balance + attribution drilldowns */
#writer .writer-table-wrap{overflow-x:hidden!important;}
#writer .writer-table-wrap table{width:100%!important;min-width:0!important;table-layout:fixed!important;}
#writer .writer-table-wrap th{font-size:11px!important;line-height:1.25!important;white-space:normal!important;vertical-align:middle!important;padding:12px 10px!important;}
#writer .writer-table-wrap td{font-size:14px!important;line-height:1.25!important;padding:14px 10px!important;vertical-align:middle!important;}
#writer .writer-table-wrap th:first-child,#writer .writer-table-wrap td:first-child{width:13%!important;text-align:left!important;}
#writer .writer-table-wrap th.num,#writer .writer-table-wrap td.num{text-align:center!important;}
#writer .stage-cell{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;font-size:13px!important;line-height:1.25!important;text-align:left!important;}
#writer #writerProgressionTable td:nth-child(2),#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(2){width:20%!important;text-align:left!important;}
#writer .split-cell{min-width:0!important;text-align:center!important;padding-left:6px!important;padding-right:6px!important;}
#writer .split-total{font-size:15px!important;font-weight:950!important;line-height:1.05!important;color:#f7fbff!important;}
#writer .split-break{display:flex!important;justify-content:center!important;align-items:center!important;gap:5px!important;flex-wrap:wrap!important;margin-top:4px!important;}
#writer .split-pn,#writer .split-wa{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:20px!important;font-size:10px!important;line-height:1!important;border-radius:999px!important;padding:4px 7px!important;font-weight:950!important;white-space:nowrap!important;font-family:inherit!important;}
#writer button.split-pn,#writer button.split-wa{cursor:pointer!important;appearance:none!important;}
#writer button.split-pn:hover,#writer button.split-wa:hover{filter:brightness(1.15)!important;box-shadow:0 0 14px rgba(0,245,212,.22)!important;transform:translateY(-1px)!important;}
#writer .writer-attr-head{font-size:10.5px!important;letter-spacing:.08em!important;}
#writer .writer-table-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:10px!important;flex-wrap:wrap!important;}
#writer .writer-mode-toggle{height:38px!important;min-width:96px!important;}
#writer .writer-mode-toggle .seg-btn{height:32px!important;min-width:42px!important;padding:0 10px!important;font-size:14px!important;}
#writerAttrPopup .popup-table-wrap table{min-width:780px!important;}
#writerAttrPopup td,#writerAttrPopup th{white-space:normal!important;}
@media(max-width:1250px){#writer .writer-table-wrap{overflow-x:auto!important;}#writer .writer-table-wrap table{min-width:1080px!important;}}

/* === v12.6 Writer Funnel final interaction + layout fixes === */
#writer .writer-table-wrap{
  overflow-x:auto!important;
  overflow-y:auto!important;
}
#writer .writer-table-wrap table{
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
#writer .writer-table-wrap th,
#writer .writer-table-wrap td{
  box-sizing:border-box!important;
}
#writer .writer-table-wrap td:first-child{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}
#writer .writer-table-wrap table:has(#writerInactiveTable),
#writer .writer-table-wrap table:has(#writerFailedTable){
  min-width:1180px!important;
}
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(1),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(1),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(1),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(1){width:16%!important;min-width:185px!important;}
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(2),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(2),
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(3),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(3),
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(4),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(4),
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(5),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(5),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(2),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(2),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(3),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(3),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(4),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(4),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(5),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(5){width:13%!important;}
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(6),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(6),
#writer .writer-table-wrap table:has(#writerInactiveTable) th:nth-child(7),
#writer .writer-table-wrap table:has(#writerInactiveTable) td:nth-child(7),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(6),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(6),
#writer .writer-table-wrap table:has(#writerFailedTable) th:nth-child(7),
#writer .writer-table-wrap table:has(#writerFailedTable) td:nth-child(7){width:16%!important;min-width:160px!important;}

#writer .writer-table-wrap table:has(#writerProgressionTable){
  min-width:1320px!important;
}
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(1),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(1){
  width:190px!important;min-width:190px!important;max-width:190px!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important;
}
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(2),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(2){
  width:250px!important;min-width:250px!important;max-width:250px!important;text-align:left!important;
}
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(3),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(3),
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(4),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(4),
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(5),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(5),
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(6),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(6){
  width:135px!important;min-width:135px!important;max-width:135px!important;
}
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(7),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(7),
#writer .writer-table-wrap table:has(#writerProgressionTable) th:nth-child(8),
#writer .writer-table-wrap table:has(#writerProgressionTable) td:nth-child(8){
  width:165px!important;min-width:165px!important;max-width:165px!important;
}
#writer .stage-cell{
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  hyphens:auto!important;
  padding-left:12px!important;
}
#writer .writer-attr-chip{
  border:none!important;
  outline:none!important;
  color:inherit!important;
}
#writerAttrPopup{
  max-width:min(900px,92vw)!important;
}
#writerAttrPopup::backdrop{background:rgba(0,0,0,.62)!important;backdrop-filter:blur(4px)!important;}
#writerAttrPopup .popup-table-wrap{max-height:520px!important;overflow:auto!important;}
#writerAttrPopup .dialog-head h2{color:#f7fbff!important;}
#writerAttrPopup .dialog-head p{color:#aeb8d6!important;}
#writerAttrPopup th,#writerAttrPopup td{font-size:13px!important;}


/* === v12.6.1 Sep-08 readability/layout fix pack === */
#campaigns .table-wrap table:has(#campaignListTable){min-width:1500px!important;}
#campaigns #campaignListTable td:nth-child(13),
#campaigns #campaignListTable td:nth-child(14){font-weight:900!important;}

#summary #frequencyTable tr.total-row td,
#summary #frequencyTable tr.total-row th{background:rgba(0,245,212,.08)!important;border-top:1px solid rgba(0,245,212,.28)!important;font-weight:950!important;}

#l2 .l2-grid{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;margin-top:18px!important;}
#l2 .l2-scroll-panel{min-height:auto!important;padding:22px 24px!important;}
#l2 .l2-scroll-panel .panel-head{display:grid!important;grid-template-columns:minmax(280px,0.72fr) minmax(420px,1.28fr)!important;gap:22px!important;align-items:start!important;}
#l2 .l2-scroll-panel .panel-head h2{font-size:22px!important;line-height:1.12!important;max-width:none!important;}
#l2 .l2-scroll-panel .panel-head p{font-size:13.5px!important;line-height:1.42!important;max-width:620px!important;}
#l2 .l2-scroll-table{max-height:520px!important;overflow:auto!important;border-radius:16px!important;}
#l2 .l2-scroll-panel table{min-width:1050px!important;}
#l2 .l2-scroll-panel th,
#l2 .l2-scroll-panel td{padding:13px 14px!important;line-height:1.28!important;}
#l2 .l2-scroll-panel th:first-child,
#l2 .l2-scroll-panel td:first-child{min-width:220px!important;white-space:normal!important;}

#l2 .l2-bubble-grid{display:grid!important;grid-template-columns:1fr!important;gap:24px!important;margin-top:20px!important;align-items:stretch!important;}
#l2 .l2-bubble-grid .bubble-panel,
#l2 .l2-bubble-grid .bubble-panel:nth-child(3){grid-column:1/-1!important;width:100%!important;padding:24px 26px!important;}
#l2 .l2-bubble-grid .panel-head{display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;gap:18px!important;align-items:start!important;}
#l2 .l2-bubble-grid .panel-head h2{font-size:22px!important;line-height:1.12!important;}
#l2 .l2-bubble-grid .panel-head p{font-size:13.5px!important;max-width:680px!important;}
#l2 .l2-bubble-grid .bubble-chart{height:470px!important;min-height:470px!important;width:100%!important;}
#l2 .l2-bubble-grid .bubble-chart svg{height:470px!important;width:100%!important;display:block!important;}
#l2 .bubble-chart-large{height:74vh!important;min-height:600px!important;}
#l2 .bubble-chart-large svg{height:74vh!important;min-height:600px!important;}
#l2 .bubble-node{cursor:pointer!important;pointer-events:all!important;}
#l2 .bubble-node circle{pointer-events:all!important;}
#l2 .bubble-node text{pointer-events:none!important;}
#l2 .bubble-node:focus-visible circle{stroke-width:5!important;filter:drop-shadow(0 0 20px rgba(0,245,212,.55))!important;}
@media(max-width:1200px){
  #l2 .l2-scroll-panel .panel-head{grid-template-columns:1fr!important;}
  #l2 .l2-inline-filters{justify-self:start!important;max-width:none!important;grid-template-columns:repeat(2,minmax(160px,1fr))!important;}
  #l2 .l2-bubble-grid .panel-head{grid-template-columns:1fr!important;}
}
@media(max-width:760px){
  #l2 .l2-inline-filters{grid-template-columns:1fr!important;}
  #l2 .l2-bubble-grid .bubble-chart{height:420px!important;}
  #l2 .l2-bubble-grid .bubble-chart svg{height:420px!important;}
}


/* === v12.7 internal LDAU + campaign summary skeleton === */
.common-filter-bar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:14px 16px;margin:12px 0 16px;border:1px solid rgba(148,163,184,.25);border-radius:16px;background:linear-gradient(180deg,rgba(20,28,44,.92),rgba(12,18,31,.92));box-shadow:0 10px 28px rgba(0,0,0,.16)}
.common-filter-bar>div:first-child{margin-right:auto;min-width:220px}.common-filter-bar b{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#67fff0}.common-filter-bar span{display:block;color:#8f9bb2;font-size:11px;margin-top:3px}.common-filter-bar label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#9aa5ba}.common-filter-bar input,.common-filter-bar select{display:block;margin-top:5px;min-height:36px;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:#0b101b;color:#e8eefc;padding:7px 10px}.horizontal-subtabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 14px;margin-bottom:4px}.subtab-btn{white-space:nowrap;border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#111827;color:#aeb7ca;padding:9px 14px;font-weight:800;cursor:pointer}.subtab-btn.active{background:linear-gradient(135deg,#54f3df,#35c2ff);color:#06111f;border-color:#54f3df;box-shadow:0 8px 24px rgba(84,243,223,.22)}.subtab-hidden{display:none!important}
.ldau-actions{gap:8px;flex-wrap:wrap}.ldau-table-wrap{max-height:620px;overflow:auto}.ldau-table-wrap table{min-width:1180px}.ldau-table-wrap th{position:sticky;top:0;z-index:3}.ldau-table-wrap thead tr:nth-child(2) th{top:42px;z-index:4}.collapsible-head{background:rgba(84,243,223,.08)!important}.channel-chip-cell{min-width:165px}.channel-chip{display:inline-flex;align-items:center;gap:6px;margin:3px;padding:6px 9px;border-radius:999px;border:1px solid rgba(84,243,223,.34);background:rgba(84,243,223,.08);color:#cffff9;font-size:12px;font-weight:900;cursor:pointer}.channel-chip.WA,.channel-chip.WhatsApp{border-color:rgba(139,92,246,.45);background:rgba(139,92,246,.12)}.channel-chip.PN,.channel-chip.Push{border-color:rgba(19,230,189,.45);background:rgba(19,230,189,.10)}.channel-chip.BB,.channel-chip.Billboard{border-color:rgba(255,209,102,.45);background:rgba(255,209,102,.12);color:#ffecc0}.channel-chip.Email{border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.10)}.channel-chip.In-App{border-color:rgba(244,114,182,.45);background:rgba(244,114,182,.10)}.data-needed{color:#7f8aa1;font-style:italic}.genre-summary-cell{font-size:11px;line-height:1.45;color:#b7c3d8}
.campaign-locale-summary-panel{margin:16px 0}.campaign-summary-matrix{display:grid;grid-template-columns:120px repeat(7,minmax(155px,1fr));gap:10px;overflow:auto;padding:4px}.campaign-matrix-corner,.campaign-matrix-head,.campaign-matrix-rowhead{display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:12px;border:1px solid rgba(148,163,184,.22);background:#0f172a;color:#dce7f8;font-weight:950}.campaign-matrix-rowhead{justify-content:flex-start;padding-left:14px;color:#67fff0}.campaign-matrix-cell{min-height:116px}.campaign-matrix-cell.empty-cell{border:1px dashed rgba(148,163,184,.12);border-radius:14px;background:rgba(15,23,42,.24)}.campaign-card{width:100%;height:100%;min-height:116px;text-align:left;border:1px solid rgba(148,163,184,.30);border-radius:14px;background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(8,13,24,.96));color:#e7edf8;padding:12px;cursor:pointer;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}.campaign-card:hover{border-color:#54f3df;box-shadow:0 0 0 3px rgba(84,243,223,.10)}.campaign-card.disabled{cursor:default;opacity:.74}.campaign-card.disabled:hover{border-color:rgba(148,163,184,.30);box-shadow:none}.campaign-card span{display:block;font-size:11px;line-height:1.45;color:#aeb7ca}.campaign-card b{color:#f7fafc}.hidden-csv-table{display:none}.campaign-summary-grid,.l2-grid,.l2-bubble-grid{grid-template-columns:1fr!important}.l2-bubble-grid .bubble-panel{width:100%}.l2-scroll-panel .table-wrap{max-height:520px}.tab > .logic-top + .common-filter-bar{margin-top:10px}
@media(max-width:1100px){.campaign-summary-matrix{grid-template-columns:110px repeat(7,170px)}.common-filter-bar{align-items:stretch}.common-filter-bar>div:first-child{width:100%}}

/* === v12.7 internal patch: LDAU spreadsheet-style grouped columns + cleaner listener campaign cards === */
.ldau-panel .tracker-head .ldau-actions label{display:none!important}
.ldau-table-wrap th.group-total-col,.ldau-table-wrap td.group-total-col{min-width:150px;background:rgba(84,243,223,.035)}
.ldau-table-wrap th.grouped-child{background:rgba(17,24,39,.96)!important}
.ldau-table-wrap th.collapsible-head{white-space:nowrap}
.campaign-locale-summary-panel h2{letter-spacing:-.02em}
.summary-audience-toggle{display:inline-flex;padding:3px;border:1px solid rgba(122,255,244,.28);border-radius:10px;background:rgba(7,12,30,.82)}.summary-audience-toggle button{border:0;background:transparent;color:#aeb8d6;border-radius:7px;padding:7px 11px;font-weight:850;cursor:pointer}.summary-audience-toggle button.active{background:linear-gradient(135deg,#24146b,#0f766e);color:#fff;box-shadow:0 0 18px rgba(0,245,212,.16)}
.campaign-summary-matrix{grid-template-columns:140px repeat(7,minmax(190px,1fr));gap:12px}
.campaign-matrix-cell{min-height:160px}.campaign-card.redesigned{min-height:160px;padding:14px;border-color:rgba(84,243,223,.22);background:radial-gradient(circle at top right,rgba(84,243,223,.10),transparent 38%),linear-gradient(180deg,rgba(15,23,42,.98),rgba(7,11,22,.98));display:flex;flex-direction:column;gap:10px}.campaign-card-top{display:flex;justify-content:space-between;align-items:center;color:#67fff0;font-size:11px;text-transform:uppercase;letter-spacing:.10em}.campaign-card-top b{font-size:18px;color:#f8fafc}.campaign-card-primary{display:flex;align-items:end;gap:8px;padding:8px 0;border-top:1px solid rgba(148,163,184,.14);border-bottom:1px solid rgba(148,163,184,.14)}.campaign-card-primary b{font-size:24px;line-height:1;color:#fff}.campaign-card-primary span{font-size:11px;color:#aeb7ca}.campaign-card-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.campaign-card-grid span{font-size:10.5px;line-height:1.25;color:#9aa6ba}.campaign-card-grid b{display:block;margin-top:2px;font-size:12.5px;color:#eef5ff}.campaign-card.redesigned:hover .campaign-card-primary b{color:#67fff0}
@media(max-width:1100px){.campaign-summary-matrix{grid-template-columns:125px repeat(7,205px)}}

/* v12.7 locale-summary fix: spreadsheet-style column expanders */
.ldau-table-wrap table{min-width:980px!important;table-layout:auto}
.ldau-table-wrap th.parent-toggle-col{white-space:normal;min-width:138px;background:rgba(15,23,42,.96)!important}
.col-group-toggle{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-left:6px;border-radius:6px;border:1px solid rgba(84,243,223,.45);background:rgba(84,243,223,.10);color:#dffffb;font-weight:950;cursor:pointer;line-height:1;vertical-align:middle}
.col-group-toggle:hover{background:rgba(84,243,223,.22);box-shadow:0 0 0 2px rgba(84,243,223,.10)}
.ldau-table-wrap th.grouped-child{min-width:105px;background:rgba(17,24,39,.96)!important;color:#dce7ff}
.campaign-card-grid span b:empty::after{content:'—'}
.campaign-card-primary b{min-width:36px}


/* v12.7 LDAU grouped-column correction: spreadsheet-style adjacent child columns */
.ldau-table-wrap table{min-width:1080px!important;border-collapse:separate;border-spacing:0;table-layout:auto!important}
.ldau-table-wrap thead tr:nth-child(2) th{top:0!important}
.ldau-table-wrap th{top:0!important;vertical-align:middle!important;white-space:nowrap!important}
.ldau-table-wrap th.parent-toggle-col,.ldau-table-wrap td.ldau-parent-col{min-width:138px!important;background:rgba(15,23,42,.96)!important;border-right:1px solid rgba(84,243,223,.18)!important}
.ldau-table-wrap th.grouped-child,.ldau-table-wrap td.pref-child,.ldau-table-wrap td.fcp-child{min-width:104px!important;background:rgba(12,18,34,.96)!important}
.ldau-table-wrap th.pref-child,.ldau-table-wrap td.pref-child{border-left:1px solid rgba(84,243,223,.12)!important}
.ldau-table-wrap th.fcp-child,.ldau-table-wrap td.fcp-child{border-left:1px solid rgba(139,92,246,.12)!important}
.ldau-table-wrap .col-group-toggle{margin-left:8px!important;transform:none!important;position:static!important;vertical-align:middle!important;flex:0 0 auto!important}
.ldau-table-wrap th.ldau-parent-col{line-height:1.2!important}


/* v12.7 LDAU column-collapse correction: one-row header, spreadsheet-style parent +/- buttons. */
.ldau-table-wrap{overflow:auto!important;max-height:620px!important;}
.ldau-table-wrap table{border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;min-width:1120px!important;}
.ldau-table-wrap thead tr{height:auto!important;}
.ldau-table-wrap thead th{position:sticky!important;top:0!important;z-index:5!important;height:54px!important;min-height:54px!important;padding:10px 12px!important;vertical-align:middle!important;line-height:1.15!important;white-space:nowrap!important;}
.ldau-table-wrap thead tr:nth-child(2) th{top:0!important;}
.ldau-table-wrap th.ldau-base-col{background:rgba(17,24,39,.96)!important;}
.ldau-table-wrap th.ldau-parent-col,.ldau-table-wrap td.ldau-parent-col{background:rgba(15,23,42,.96)!important;border-right:1px solid rgba(84,243,223,.18)!important;min-width:160px!important;}
.ldau-parent-header{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%!important;white-space:nowrap!important;}
.ldau-parent-header span{display:inline-block!important;line-height:1.15!important;}
.ldau-table-wrap .col-group-toggle{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:20px!important;height:20px!important;min-width:20px!important;margin:0!important;border-radius:5px!important;line-height:1!important;font-size:13px!important;flex:0 0 20px!important;}
.ldau-table-wrap th.grouped-child,.ldau-table-wrap td.pref-child,.ldau-table-wrap td.fcp-child{background:rgba(12,18,34,.96)!important;min-width:104px!important;vertical-align:middle!important;text-align:right!important;}
.ldau-table-wrap th.grouped-child{text-align:center!important;color:#dce7ff!important;}
.ldau-table-wrap th.pref-child,.ldau-table-wrap td.pref-child{border-left:1px solid rgba(84,243,223,.12)!important;}
.ldau-table-wrap th.fcp-child,.ldau-table-wrap td.fcp-child{border-left:1px solid rgba(139,92,246,.12)!important;}


/* === v12.7 LDAU final table polish === */
.ldau-table-wrap{overflow:auto!important;max-height:640px!important;position:relative!important;}
.ldau-table-wrap table{border-collapse:separate!important;border-spacing:0!important;table-layout:auto!important;min-width:1180px!important;}
.ldau-table-wrap thead th{position:sticky!important;top:0!important;z-index:6!important;height:58px!important;min-height:58px!important;padding:10px 14px!important;vertical-align:middle!important;white-space:nowrap!important;}
.ldau-table-wrap th.ldau-base-col{background:#111827!important;}
.ldau-table-wrap th.ldau-parent-col,.ldau-table-wrap td.ldau-parent-col{background:#0f172a!important;border-right:1px solid rgba(84,243,223,.18)!important;min-width:168px!important;}
.ldau-parent-header{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;line-height:1.15!important;white-space:nowrap!important;}
.ldau-parent-header .col-group-toggle,.ldau-table-wrap .col-group-toggle{position:static!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;width:22px!important;height:22px!important;min-width:22px!important;margin:0!important;border-radius:6px!important;line-height:1!important;font-size:14px!important;flex:0 0 22px!important;}
.ldau-table-wrap th.grouped-child,.ldau-table-wrap td.pref-child,.ldau-table-wrap td.fcp-child{background:#0c1222!important;min-width:126px!important;vertical-align:middle!important;text-align:right!important;}
.ldau-table-wrap th.grouped-child{text-align:center!important;color:#dce7ff!important;}
.ldau-table-wrap th.pref-child,.ldau-table-wrap td.pref-child{border-left:1px solid rgba(84,243,223,.12)!important;}
.ldau-table-wrap th.fcp-child,.ldau-table-wrap td.fcp-child{border-left:1px solid rgba(139,92,246,.12)!important;}
.ldau-total-row td{position:sticky!important;bottom:0!important;z-index:5!important;background:#111827!important;border-top:2px solid rgba(84,243,223,.46)!important;box-shadow:0 -8px 18px rgba(5,8,20,.55)!important;font-weight:950!important;}
.ldau-total-row td.ldau-parent-col{background:#132033!important;}
#campaignCalendarPanel.subtab-hidden{display:none!important;}

/* === v12.8 internal local: Books owns L2 output + LDAU Books + line views === */
#l2{display:none!important}.nav-btn[data-tab="l2"]{display:none!important}
.horizontal-subtabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 16px;padding:8px;border:1px solid rgba(0,245,212,.18);border-radius:16px;background:linear-gradient(180deg,rgba(7,12,30,.92),rgba(5,8,20,.88));box-shadow:inset 0 0 24px rgba(0,245,212,.035)}
.horizontal-subtabs .subtab-btn{border:1px solid rgba(122,255,244,.18);border-radius:999px;background:rgba(255,255,255,.035);color:#cbd6ff;font-size:12px;font-weight:900;padding:8px 12px;cursor:pointer;white-space:nowrap;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,color .16s ease}
.horizontal-subtabs .subtab-btn:hover{border-color:rgba(0,245,212,.42);background:rgba(0,245,212,.08);color:#fff}
.horizontal-subtabs .subtab-btn.active{border-color:rgba(0,245,212,.72);background:linear-gradient(135deg,rgba(39,30,105,.96),rgba(0,113,117,.82));color:#fff;box-shadow:0 0 20px rgba(0,245,212,.18)}
.subtab-hidden{display:none!important}.books-generated-panel{margin-top:16px}.l2-moved-panel{margin-top:16px}.l2-generated-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.l2-generated-grid .panel.full{margin-top:0!important}
.cg-line-card{min-height:460px}.cg-line-card .panel-head{align-items:flex-start!important}.cg-chart-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.cg-chart-controls label{display:flex;align-items:center;gap:8px;color:#aeb8d6;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.cg-chart-controls input,.cg-chart-controls select{height:42px!important;min-height:42px!important;border-radius:13px!important;background:#0b1228!important;color:#f7fbff!important;border:1px solid rgba(0,245,212,.36)!important;font-weight:850!important;padding:0 12px!important}.cg-line-chart{height:390px;position:relative;border:1px solid rgba(0,245,212,.22);border-radius:20px;background:radial-gradient(circle at 50% 30%,rgba(0,245,212,.10),transparent 30%),linear-gradient(180deg,rgba(6,11,28,.98),rgba(5,8,20,.98));padding:10px 14px 8px;overflow:hidden}.cg-line-chart svg{width:100%;height:100%;overflow:visible}.cg-line-grid{stroke:rgba(174,184,214,.16);stroke-width:1}.cg-line-axis{fill:#aeb8d6;font-size:11px;font-weight:800}.cg-line-path{fill:none;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px currentColor)}.cg-line-dot{stroke:#07101f;stroke-width:2}.cg-line-band{fill:transparent;cursor:pointer}.cg-line-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 8px}.cg-line-legend span{display:inline-flex;align-items:center;gap:6px;color:#cbd6ff;font-size:11px;font-weight:900}.cg-line-legend i{width:18px;height:3px;border-radius:999px;display:inline-block}.cg-line-tip{position:absolute;z-index:20;pointer-events:none;opacity:0;transform:translate(-50%,-6px);background:#070914;border:1px solid rgba(0,245,212,.36);border-radius:14px;padding:10px 12px;color:#f7fbff;min-width:210px;box-shadow:0 18px 45px rgba(0,0,0,.48),0 0 24px rgba(0,245,212,.12);transition:opacity .12s ease,transform .12s ease}.cg-line-tip.show{opacity:1;transform:translate(-50%,-12px)}.cg-line-tip b{display:block;margin-bottom:6px}.cg-line-tip .tt-row{display:flex;justify-content:space-between;gap:18px;font-size:12px}.cg-line-tip .tt-row span{color:#aeb8d6}.cg-kpi-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:14px}.cg-kpi-strip>div{border:1px solid rgba(0,245,212,.18);border-radius:14px;background:linear-gradient(180deg,rgba(18,25,52,.98),rgba(8,13,29,.98));padding:12px}.cg-kpi-strip span{display:block;color:#aeb8d6;font-size:10px;text-transform:uppercase;letter-spacing:.10em;font-weight:900}.cg-kpi-strip b{display:block;color:#f7fbff;font-size:22px;margin-top:5px}.ldau-table-wrap table{min-width:1080px}.ldau-single-header-row th{vertical-align:middle}.ldau-parent-header{display:inline-flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;min-width:100%}.ldau-parent-header .col-group-toggle{order:0;flex:0 0 auto}.ldau-parent-header span{order:1}.col-group-toggle{width:24px;height:24px;border-radius:999px;border:1px solid rgba(0,245,212,.42);background:rgba(0,245,212,.09);color:#7afff4;font-weight:950;cursor:pointer;line-height:1;padding:0}.grouped-child{background:#111a33!important;color:#dbe6ff!important}.ldau-total-row td{position:sticky;bottom:0;background:#11172d!important;color:#f8fbff!important;border-top:2px solid rgba(0,245,212,.35);z-index:3;font-weight:900}.ldau-books-note{color:#aeb8d6;font-size:12px;line-height:1.45;margin:8px 0 0}.wide-table table{min-width:980px}
@media(max-width:1350px){.l2-generated-grid{grid-template-columns:1fr}.cg-kpi-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.cg-chart-controls{justify-content:flex-start}}
@media(max-width:820px){.cg-kpi-strip{grid-template-columns:1fr}.horizontal-subtabs{overflow:auto;flex-wrap:nowrap}.horizontal-subtabs .subtab-btn{flex:0 0 auto}}

/* v12.8.3 LDAU author-milestone columns */
.ldau-table-wrap table{min-width:1580px!important;}
.ldau-table-wrap th.num,.ldau-table-wrap td.num,.ldau-table-wrap .ldau-center-col{text-align:center!important;}
.ldau-table-wrap th.ldau-milestone-col,.ldau-table-wrap td.ldau-milestone-col{min-width:132px!important;background:#0f172a!important;border-left:1px solid rgba(84,243,223,.16)!important;text-align:center!important;vertical-align:middle!important;}
.ldau-table-wrap th.grouped-child,.ldau-table-wrap td.pref-child,.ldau-table-wrap td.fcp-child{text-align:center!important;}
.ldau-parent-header{justify-content:center!important;}

/* === v12.8.4 LDAU compact columns and stable milestone fields === */
#ldaus .ldau-table-wrap{overflow-x:auto!important;max-height:640px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols{width:100%!important;min-width:1060px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols.ldau-expanded-cols{min-width:1720px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th,
#ldaus .ldau-table-wrap table.ldau-compact-cols td{padding:9px 8px!important;line-height:1.12!important;vertical-align:middle!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th{height:50px!important;min-height:50px!important;font-size:10.5px!important;letter-spacing:.10em!important;white-space:normal!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols td{height:46px!important;font-size:13px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th:nth-child(1),
#ldaus .ldau-table-wrap table.ldau-compact-cols td:nth-child(1){width:72px!important;min-width:72px!important;text-align:left!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th:nth-child(2),
#ldaus .ldau-table-wrap table.ldau-compact-cols td:nth-child(2){width:122px!important;min-width:122px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th:nth-child(3),
#ldaus .ldau-table-wrap table.ldau-compact-cols td:nth-child(3){width:118px!important;min-width:118px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th.ldau-parent-col,
#ldaus .ldau-table-wrap table.ldau-compact-cols td.ldau-parent-col{width:145px!important;min-width:145px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th.ldau-milestone-col,
#ldaus .ldau-table-wrap table.ldau-compact-cols td.ldau-milestone-col{width:102px!important;min-width:102px!important;padding-left:6px!important;padding-right:6px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th.grouped-child,
#ldaus .ldau-table-wrap table.ldau-compact-cols td.pref-child,
#ldaus .ldau-table-wrap table.ldau-compact-cols td.fcp-child{width:98px!important;min-width:98px!important;padding-left:6px!important;padding-right:6px!important;text-align:center!important;}
#ldaus .ldau-parent-header{justify-content:center!important;gap:6px!important;white-space:normal!important;}
#ldaus .ldau-parent-header span{line-height:1.08!important;}
#ldaus .ldau-table-wrap .col-group-toggle{width:20px!important;height:20px!important;min-width:20px!important;flex:0 0 20px!important;font-size:13px!important;}
#ldaus .channel-chip-cell{min-width:0!important;white-space:normal!important;text-align:center!important;}
#ldaus .channel-chip{margin:2px!important;padding:5px 8px!important;font-size:11.5px!important;}
#ldaus .ldau-table-wrap th.num,
#ldaus .ldau-table-wrap td.num,
#ldaus .ldau-table-wrap .ldau-center-col{text-align:center!important;}
#ldaus .ldau-total-row td{height:42px!important;}

/* v12.8.4b: do not stretch collapsed LDAU table across the whole panel */
#ldaus .ldau-table-wrap table.ldau-compact-cols{width:max-content!important;min-width:980px!important;max-width:none!important;table-layout:auto!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols.ldau-expanded-cols{min-width:1560px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th:nth-child(1),
#ldaus .ldau-table-wrap table.ldau-compact-cols td:nth-child(1){width:70px!important;min-width:70px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th:nth-child(2),
#ldaus .ldau-table-wrap table.ldau-compact-cols td:nth-child(2){width:110px!important;min-width:110px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th:nth-child(3),
#ldaus .ldau-table-wrap table.ldau-compact-cols td:nth-child(3){width:108px!important;min-width:108px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th.ldau-parent-col,
#ldaus .ldau-table-wrap table.ldau-compact-cols td.ldau-parent-col{width:136px!important;min-width:136px!important;}
#ldaus .ldau-table-wrap table.ldau-compact-cols th.ldau-milestone-col,
#ldaus .ldau-table-wrap table.ldau-compact-cols td.ldau-milestone-col{width:94px!important;min-width:94px!important;}

/* v12.8.5 compact UI and calendar fixes */
.common-filter-bar{display:none!important;}
.data-source-badge{align-self:center;border:1px solid rgba(45,245,214,.32);background:rgba(8,14,34,.82);color:#c7d2fe;border-radius:12px;padding:8px 12px;font-weight:900;font-size:12px;line-height:1.1;display:flex;flex-direction:column;gap:2px;min-width:104px;box-shadow:0 8px 24px rgba(0,0,0,.18);cursor:help;}
.data-source-badge span{color:#9ffbed;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.data-source-badge b{color:#f8fbff;font-size:13px}.data-guardrail-banner{display:none!important;}
.week-inline-filter{display:flex;align-items:center;gap:8px;color:#aab6d8;text-transform:uppercase;letter-spacing:.08em;font-weight:900;font-size:11px;margin-right:8px}.week-inline-filter select{min-width:210px!important;height:38px!important;padding:8px 34px 8px 12px!important;font-size:13px!important}.v1285-ldau-toggle .seg-btn{height:38px!important;min-width:42px!important;padding:0 12px!important}.ldau-actions,.panel-head .table-actions{gap:8px;flex-wrap:wrap}.ldau-table-wrap table.ldau-compact-cols,.ldau-table-wrap table{table-layout:auto!important;width:auto!important;min-width:980px!important}.ldau-table-wrap th,.ldau-table-wrap td{padding:12px 14px!important}.ldau-table-wrap th{font-size:11px!important;line-height:1.1!important}.ldau-milestone-col{min-width:112px!important}.ldau-parent-col{min-width:142px!important}.ldau-base-col{min-width:110px!important}.ldau-center-col{text-align:center!important}.source-campaign-link{font-weight:900;color:#dffcff!important}.books-horizontal-subtabs [data-books-subtab="output-funnel"],.books-horizontal-subtabs [data-books-subtab="country-genre"],#booksOutputFunnelPanel,#booksCountryGenrePanel{display:none!important;}
.campaign-calendar-panel{min-height:560px}.calendar-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.campaign-calendar-body{min-height:420px}.calendar-month-title{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px;color:#f6fbff}.calendar-month-title b{font-size:22px}.calendar-month-title span{color:#9ca8c6;font-weight:800}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px}.month-dow{text-transform:uppercase;letter-spacing:.12em;color:#8fa0c3;font-size:11px;font-weight:950;padding:0 8px}.calendar-month-cell{min-height:126px;border:1px solid rgba(45,245,214,.18);border-radius:14px;background:rgba(10,16,38,.68);padding:10px;overflow:hidden;cursor:pointer}.calendar-month-cell:hover{border-color:rgba(45,245,214,.45);box-shadow:0 0 0 1px rgba(45,245,214,.08)}.calendar-month-cell.muted-month{opacity:.45}.month-date{font-size:13px;font-weight:950;color:#f8fbff;margin-bottom:8px}.month-events{display:flex;flex-direction:column;gap:6px}.calendar-event{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event.BB span,.event-channel.BB{background:#ffd166;color:#111827}.calendar-event.PN span,.event-channel.PN{background:#13e6bd;color:#06251f}.calendar-event.WA span,.event-channel.WA{background:#8b5cf6;color:#fff}.cg-line-path.dashed{stroke-dasharray:8 7;opacity:.85}.cg-line-chart,.chart-executive{min-height:360px}.split-break span{margin-right:8px;white-space:nowrap;}
@media(max-width:1300px){.calendar-month-grid{grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px}.calendar-month-cell{min-height:112px}.ldau-table-wrap table{min-width:920px!important}.ldau-table-wrap th,.ldau-table-wrap td{padding:10px 11px!important}.week-inline-filter select{min-width:180px!important}}

/* === v12.8.6 preservation-first fixes === */
#summary .summary-combo-panel{padding-top:14px!important;padding-bottom:16px!important;margin-bottom:16px!important;}
#summary .summary-combo-panel h2,#summary .summary-combo-panel h3{margin-top:0!important;margin-bottom:4px!important;}
#summary .summary-combo-panel p{margin-top:0!important;margin-bottom:10px!important;}
#summary .summary-combo-stats{margin:6px 0 12px!important;gap:12px!important;}
#summary .summary-stat-chip.compact,#summary .summary-stat-chip{min-height:96px!important;padding:16px 22px!important;}
#summary .summary-combo-chart{min-height:330px!important;padding:12px 18px 8px!important;}
#summary .summary-combo-canvas svg{height:300px!important;}
#summary .summary-combo-controls{margin-bottom:6px!important;gap:8px!important;}
#summary .topline-date-controls{margin-top:2px!important;}

.v1286-date-controls,.v1286-local-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;}
.book-chart-controls .v1286-date-controls{margin:0;}
.v1286-date-controls label,.v1286-local-controls label{display:flex;align-items:center;gap:7px;color:#aeb8d6;font-size:11px;font-weight:950;letter-spacing:.10em;text-transform:uppercase;}
.v1286-date-controls input[type="date"],.v1286-local-controls select{height:38px!important;min-height:38px!important;border-radius:12px!important;padding:0 32px 0 12px!important;background:#0b1228!important;color:#f7fbff!important;border:1px solid rgba(0,245,212,.42)!important;font-weight:900!important;}
.v1286-local-controls{justify-content:flex-end;margin:0 0 10px auto;padding:0;}
#ldaus .panel-head .week-inline-filter,#ldaus .panel-head .v1285-ldau-toggle{display:none!important;}
#ldaus .table-actions{gap:10px!important;}
#ldaus #ldauTable{width:auto!important;min-width:1050px!important;}
#ldaus .ldau-table-wrap{overflow-x:auto!important;}
#ldaus .ldau-milestone-col{min-width:92px!important;width:104px!important;max-width:120px!important;}
#ldaus .ldau-parent-col{min-width:120px!important;width:138px!important;}
#ldaus th,#ldaus td{padding:12px 12px!important;}

.channel-mini-chip{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:24px;border-radius:999px;padding:0 9px;font-size:11px;font-weight:950;letter-spacing:.01em;white-space:nowrap;border:1px solid rgba(122,145,255,.30);background:rgba(122,145,255,.12);color:#edf5ff;box-shadow:inset 0 0 16px rgba(122,145,255,.08);}
.channel-mini-chip.pn{border-color:rgba(19,230,189,.42);background:rgba(19,230,189,.12);color:#c8fff5;}
.channel-mini-chip.wa{border-color:rgba(139,92,246,.46);background:rgba(139,92,246,.14);color:#e5dbff;}
.channel-mini-chip.bb{border-color:rgba(255,209,102,.48);background:rgba(255,209,102,.14);color:#fff1c2;}
.chip-break{display:flex!important;justify-content:center!important;gap:6px!important;flex-wrap:wrap!important;margin-top:5px!important;}
.split-cell .split-total{font-size:16px!important;font-weight:950!important;margin-bottom:2px!important;color:#f7fbff!important;}

#books .books-generated-panel .panel-head,#books .cg-line-card .panel-head{gap:12px!important;align-items:flex-start!important;}
#booksFunnelProgressPanel .v1286-date-controls{margin-left:auto;}
.funnel-bar{filter:drop-shadow(0 0 12px rgba(0,245,212,.18));opacity:.90;}

#writer .writer-table-wrap table{min-width:1050px!important;}
#writer .writer-funnel-panel tbody tr td{vertical-align:middle;}
#writer .writer-funnel-panel .split-cell{min-width:150px;}
#writer .writer-kpi-grid{margin-bottom:8px!important;}

@media(max-width:1200px){
  #summary .summary-combo-canvas svg{height:270px!important;}
  .v1286-local-controls{justify-content:flex-start;}
}

/* v12.8.7 campaign summary/calendar restore */
.campaign-locale-summary-panel .campaign-summary-matrix{min-height:220px;}
.campaign-calendar-panel .calendar-controls{flex-wrap:wrap;gap:8px;}
.campaign-calendar-panel.calendar-expanded-mode .calendar-month-grid{grid-auto-rows:minmax(138px,auto);}
.campaign-calendar-panel.calendar-expanded-mode .calendar-month-cell{min-height:138px;}
.campaign-calendar-panel .calendar-month-title{display:flex;justify-content:space-between;align-items:center;margin:8px 0 14px;color:#eaf0ff;}
.campaign-calendar-panel .calendar-event span{font-weight:900;margin-right:6px;}


/* v12.8.8: strict campaign summary wireframe + calendar guard visual cleanup */
.campaign-summary-matrix.summary-wireframe-v1288{
  display:grid!important;
  grid-template-columns:96px repeat(7,minmax(132px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow:auto!important;
  padding:4px!important;
}
.summary-wireframe-v1288 .summary-axis-corner,
.summary-wireframe-v1288 .summary-axis-head,
.summary-wireframe-v1288 .summary-axis-row{
  min-height:34px!important;
  border:1px solid rgba(148,163,184,.25)!important;
  border-radius:10px!important;
  background:rgba(15,23,42,.78)!important;
  color:#e7edf8!important;
  font-weight:900!important;
  letter-spacing:.02em!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:6px 8px!important;
  font-size:12px!important;
  line-height:1.15!important;
}
.summary-wireframe-v1288 .summary-axis-row{justify-content:center!important;color:#67fff0!important;min-height:116px!important;background:rgba(8,13,24,.86)!important;position:sticky;left:0;z-index:2}
.summary-wireframe-v1288 .summary-axis-corner{position:sticky;left:0;z-index:3;background:#0f172a!important}
.summary-wireframe-v1288 .summary-wire-cell{min-height:116px!important;border:1px dashed rgba(148,163,184,.13)!important;border-radius:12px!important;background:rgba(15,23,42,.12)!important;overflow:hidden!important}
.summary-wireframe-v1288 .summary-wire-cell.has-data{border-style:solid!important;border-color:rgba(84,243,223,.28)!important;background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(8,13,24,.95))!important}
.summary-wireframe-v1288 .summary-wire-card{width:100%!important;height:100%!important;border:0!important;background:transparent!important;color:#e7edf8!important;text-align:left!important;padding:10px 11px!important;cursor:pointer!important;display:block!important}
.summary-wireframe-v1288 .summary-wire-card:hover{box-shadow:inset 0 0 0 2px rgba(84,243,223,.24)!important;background:rgba(84,243,223,.04)!important}
.summary-wireframe-v1288 .summary-wire-card ul{list-style:none!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important;gap:5px!important}
.summary-wireframe-v1288 .summary-wire-card li{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;border-bottom:1px solid rgba(148,163,184,.09)!important;padding-bottom:4px!important}
.summary-wireframe-v1288 .summary-wire-card li:last-child{border-bottom:0!important;padding-bottom:0!important}
.summary-wireframe-v1288 .summary-wire-card span{font-size:10px!important;line-height:1.18!important;color:#aeb7ca!important;text-transform:none!important;letter-spacing:0!important}
.summary-wireframe-v1288 .summary-wire-card b{font-size:12px!important;line-height:1.18!important;color:#f8fafc!important;text-align:right!important;white-space:nowrap!important}
.campaign-calendar-panel .calendar-head{align-items:flex-start!important}
.campaign-calendar-body .strict-calendar-week .calendar-day-card{min-height:150px!important}
.campaign-calendar-body .strict-calendar-month .calendar-month-cell{min-height:118px!important}
.campaign-calendar-body .calendar-empty{opacity:.65!important}
@media(max-width:1300px){.campaign-summary-matrix.summary-wireframe-v1288{grid-template-columns:88px repeat(7,150px)!important}}


/* v12.8.9: stable Campaign Summary table + compact Calendar month layout */
.campaign-summary-table-wrap-v1289{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:4px 0 2px;}
.campaign-summary-table-v1289{width:100%;min-width:1180px;border-collapse:separate;border-spacing:8px;table-layout:fixed;}
.campaign-summary-table-v1289 th,.campaign-summary-table-v1289 td{vertical-align:middle;text-align:center;}
.campaign-summary-table-v1289 thead th{height:38px;border:1px solid rgba(148,163,184,.25);border-radius:10px;background:rgba(15,23,42,.86);color:#e7edf8;font-size:12px;line-height:1.1;font-weight:950;letter-spacing:.02em;padding:6px 8px;white-space:nowrap;}
.campaign-summary-table-v1289 thead th:first-child{width:118px;color:#cfe7ff;}
.campaign-summary-table-v1289 tbody th{width:118px;height:112px;border:1px solid rgba(45,245,214,.22);border-radius:12px;background:rgba(8,13,24,.86);color:#67fff0;font-size:14px;font-weight:950;letter-spacing:.01em;}
.campaign-summary-table-v1289 td{height:112px;border:1px dashed rgba(148,163,184,.13);border-radius:12px;background:rgba(15,23,42,.12);overflow:hidden;padding:0;}
.campaign-summary-table-v1289 td.has-data{border-style:solid;border-color:rgba(84,243,223,.28);background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(8,13,24,.95));}
.summary-wire-card-v1289{width:100%;height:100%;border:0;background:transparent;color:#e7edf8;text-align:left;padding:10px 11px;cursor:pointer;display:block;}
.summary-wire-card-v1289:hover{box-shadow:inset 0 0 0 2px rgba(84,243,223,.24);background:rgba(84,243,223,.04);}
.summary-wire-card-v1289 ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;}
.summary-wire-card-v1289 li{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:1px solid rgba(148,163,184,.08);padding-bottom:3px;}
.summary-wire-card-v1289 li:last-child{border-bottom:0;padding-bottom:0;}
.summary-wire-card-v1289 span{font-size:10px;line-height:1.18;color:#aeb7ca;text-transform:none;letter-spacing:0;}
.summary-wire-card-v1289 b{font-size:12px;line-height:1.18;color:#f8fafc;text-align:right;white-space:nowrap;}
.campaign-calendar-body{min-height:0!important;}
.campaign-calendar-panel{min-height:0!important;}
.calendar-month-dow-grid{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));gap:10px;margin:8px 0 8px;}
.calendar-month-dow-grid .month-dow{padding:0 8px;min-height:18px;display:flex;align-items:center;}
.campaign-calendar-panel.calendar-expanded-mode .calendar-month-grid.strict-calendar-month{grid-auto-rows:auto!important;}
.campaign-calendar-body .strict-calendar-month{grid-auto-rows:auto!important;}
.campaign-calendar-body .strict-calendar-month .calendar-month-cell{min-height:118px!important;}
.campaign-calendar-panel.calendar-expanded-mode .strict-calendar-month .calendar-month-cell{min-height:138px!important;}
@media(max-width:1300px){.campaign-summary-table-v1289{min-width:1080px;border-spacing:6px}.campaign-summary-table-v1289 thead th:first-child,.campaign-summary-table-v1289 tbody th{width:96px}.calendar-month-dow-grid{grid-template-columns:repeat(7,minmax(125px,1fr));gap:8px}}


/* v12.8.10: restored compact Campaign Summary card layout */
.campaign-summary-matrix.summary-card-grid-v12810{
  display:grid!important;
  grid-template-columns:72px repeat(7,minmax(138px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 6px!important;
  max-width:100%!important;
}
.summary-card-grid-v12810 .campaign-matrix-corner.blank-corner-v12810{
  min-height:34px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.summary-card-grid-v12810 .campaign-matrix-head{
  min-height:34px!important;
  border-radius:10px!important;
  padding:6px 8px!important;
  font-size:12px!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
  color:#dce7f8!important;
  background:rgba(15,23,42,.82)!important;
  border:1px solid rgba(148,163,184,.24)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}
.summary-card-grid-v12810 .campaign-matrix-rowhead{
  min-height:132px!important;
  height:auto!important;
  padding:0!important;
  justify-content:center!important;
  color:#f2f7ff!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.03em!important;
  background:linear-gradient(180deg,rgba(21,29,58,.92),rgba(11,16,33,.92))!important;
  border:1px solid rgba(84,243,223,.22)!important;
  border-radius:12px!important;
  position:sticky!important;
  left:0!important;
  z-index:2!important;
}
.summary-card-grid-v12810 .campaign-matrix-cell{
  min-height:132px!important;
  height:auto!important;
  border-radius:12px!important;
  overflow:hidden!important;
}
.summary-card-grid-v12810 .campaign-matrix-cell.empty-cell{
  border:1px dashed rgba(148,163,184,.12)!important;
  background:rgba(15,23,42,.12)!important;
}
.summary-card-grid-v12810 .campaign-card.summary-compact-card-v12810{
  min-height:132px!important;
  height:100%!important;
  padding:10px 11px!important;
  gap:7px!important;
  border-radius:12px!important;
  border-color:rgba(84,243,223,.25)!important;
  background:radial-gradient(circle at top right,rgba(84,243,223,.10),transparent 42%),linear-gradient(180deg,rgba(15,23,42,.98),rgba(7,11,22,.98))!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)!important;
}
.summary-card-grid-v12810 .campaign-card.summary-compact-card-v12810:hover{
  border-color:rgba(84,243,223,.62)!important;
  box-shadow:0 0 0 3px rgba(84,243,223,.10),inset 0 0 0 1px rgba(255,255,255,.035)!important;
}
.summary-card-grid-v12810 .campaign-card-top{
  font-size:9.5px!important;
  gap:6px!important;
  min-height:16px!important;
}
.summary-card-grid-v12810 .campaign-card-top span{
  color:#aeb7ca!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
}
.summary-card-grid-v12810 .campaign-card-top b{
  font-size:14px!important;
  line-height:1!important;
  color:#f7fbff!important;
}
.summary-card-grid-v12810 .campaign-card-primary{
  padding:6px 0!important;
  gap:7px!important;
}
.summary-card-grid-v12810 .campaign-card-primary b{
  font-size:22px!important;
  line-height:.95!important;
  color:#fff!important;
  min-width:0!important;
}
.summary-card-grid-v12810 .campaign-card-primary span{
  font-size:10px!important;
  line-height:1.12!important;
  color:#aeb7ca!important;
}
.summary-card-grid-v12810 .campaign-card-grid{
  grid-template-columns:1fr 1fr!important;
  gap:5px 8px!important;
}
.summary-card-grid-v12810 .campaign-card-grid span{
  font-size:9.3px!important;
  line-height:1.1!important;
  color:#9aa6ba!important;
}
.summary-card-grid-v12810 .campaign-card-grid b{
  font-size:11.5px!important;
  line-height:1.08!important;
  color:#eef5ff!important;
  margin-top:1px!important;
}
.campaign-summary-table-wrap-v1289,.campaign-summary-table-v1289{display:none!important;}
@media(max-width:1400px){
  .campaign-summary-matrix.summary-card-grid-v12810{grid-template-columns:68px repeat(7,142px)!important;gap:7px!important;}
}


/* === v12.8.11 Campaign Summary final compact card matrix === */
.campaign-summary-matrix.summary-card-grid-v12811{
  display:grid!important;
  grid-template-columns:72px repeat(6,minmax(150px,1fr))!important;
  gap:8px!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 2px 6px!important;
  max-width:100%!important;
}
.summary-card-grid-v12811 .campaign-matrix-corner.blank-corner-v12811{min-height:32px!important;border:0!important;background:transparent!important;box-shadow:none!important;}
.summary-card-grid-v12811 .campaign-matrix-head{min-height:32px!important;border-radius:10px!important;padding:5px 8px!important;font-size:12px!important;letter-spacing:.04em!important;text-transform:uppercase!important;color:#dce7f8!important;background:rgba(15,23,42,.82)!important;border:1px solid rgba(148,163,184,.24)!important;display:flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important;}
.summary-card-grid-v12811 .campaign-matrix-rowhead{min-height:138px!important;height:auto!important;padding:0!important;justify-content:center!important;color:#f2f7ff!important;font-size:13px!important;font-weight:950!important;letter-spacing:.03em!important;background:linear-gradient(180deg,rgba(21,29,58,.92),rgba(11,16,33,.92))!important;border:1px solid rgba(84,243,223,.22)!important;border-radius:12px!important;position:sticky!important;left:0!important;z-index:2!important;}
.summary-card-grid-v12811 .campaign-matrix-cell{min-height:138px!important;height:auto!important;border-radius:12px!important;overflow:hidden!important;}
.summary-card-grid-v12811 .campaign-matrix-cell.empty-cell{border:1px dashed rgba(148,163,184,.12)!important;background:rgba(15,23,42,.12)!important;}
.summary-card-grid-v12811 .campaign-card.summary-compact-card-v12811{min-height:138px!important;height:100%!important;padding:10px 11px!important;gap:7px!important;border-radius:12px!important;border-color:rgba(84,243,223,.25)!important;background:radial-gradient(circle at top right,rgba(84,243,223,.10),transparent 42%),linear-gradient(180deg,rgba(15,23,42,.98),rgba(7,11,22,.98))!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.018)!important;}
.summary-card-grid-v12811 .campaign-card.summary-compact-card-v12811:hover{border-color:rgba(84,243,223,.62)!important;box-shadow:0 0 0 3px rgba(84,243,223,.10),inset 0 0 0 1px rgba(255,255,255,.035)!important;}
.summary-card-grid-v12811 .campaign-card-top{font-size:9.5px!important;gap:6px!important;min-height:16px!important;}
.summary-card-grid-v12811 .campaign-card-top span{color:#aeb7ca!important;letter-spacing:.04em!important;text-transform:none!important;}
.summary-card-grid-v12811 .campaign-card-top b{font-size:14px!important;line-height:1!important;color:#f7fbff!important;}
.summary-card-grid-v12811 .campaign-card-primary{padding:6px 0!important;gap:7px!important;}
.summary-card-grid-v12811 .campaign-card-primary b{font-size:22px!important;line-height:.95!important;color:#fff!important;min-width:0!important;}
.summary-card-grid-v12811 .campaign-card-primary span{font-size:10px!important;line-height:1.12!important;color:#aeb7ca!important;}
.summary-card-grid-v12811 .campaign-card-grid{grid-template-columns:1fr 1fr!important;gap:5px 8px!important;}
.summary-card-grid-v12811 .campaign-card-grid span{font-size:9.3px!important;line-height:1.1!important;color:#9aa6ba!important;}
.summary-card-grid-v12811 .campaign-card-grid b{font-size:11.5px!important;line-height:1.08!important;color:#eef5ff!important;margin-top:1px!important;}
.campaign-summary-toggle-v12811{height:36px!important;margin-right:8px!important;}
.campaign-summary-toggle-v12811 .seg-btn{height:30px!important;min-width:38px!important;padding:0 10px!important;font-size:14px!important;}
.campaign-summary-toggle-v12811 .seg-btn.active{background:linear-gradient(135deg,#292261,#088b91)!important;color:#fff!important;box-shadow:0 0 0 2px rgba(0,245,212,.28),0 0 18px rgba(0,245,212,.22)!important;}
.campaign-summary-table-wrap-v1289,.campaign-summary-table-v1289,.campaign-summary-matrix.summary-card-grid-v12810{display:none!important;}
@media(max-width:1400px){.campaign-summary-matrix.summary-card-grid-v12811{grid-template-columns:68px repeat(6,148px)!important;gap:7px!important;}}
.v1291-period-controls{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;margin-left:auto!important;}
.v1291-period-controls label{display:flex;align-items:center;gap:7px;color:#aeb8d6;font-size:11px;font-weight:950;letter-spacing:.10em;text-transform:uppercase;}
.v1291-period-controls input[type="date"]{height:38px!important;min-height:38px!important;border-radius:12px!important;padding:0 32px 0 12px!important;background:#0b1228!important;color:#f7fbff!important;border:1px solid rgba(0,245,212,.42)!important;font-weight:900!important;}
.channel-mini-chip{cursor:pointer!important;font-family:inherit!important;appearance:none!important;-webkit-appearance:none!important;}
.channel-mini-chip.email{border-color:rgba(255,79,216,.45);background:rgba(255,79,216,.12);color:#ffd7f4;}
.channel-mini-chip.inapp{border-color:rgba(118,228,247,.45);background:rgba(118,228,247,.12);color:#d9f8ff;}

/* v13.1.0 canonical summary / popup / channel-track additions */
.campaign-summary-canonical-grid{display:grid!important;grid-template-columns:76px repeat(6,minmax(0,1fr));gap:8px;width:100%;min-width:1100px;box-sizing:border-box;align-items:stretch}
.campaign-summary-canonical-grid .campaign-matrix-cell{min-width:0}
.v131-summary-card{cursor:pointer!important;pointer-events:auto!important;width:100%!important}
.v131-inline-select{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#aeb8d9;text-transform:uppercase;letter-spacing:.8px}
.v131-inline-select select{height:34px;border:1px solid #1b7f84;border-radius:9px;background:#0d1630;color:#eef3ff;padding:0 9px;font-weight:700}
#campaignDayPopupTable .plain-link{cursor:pointer}
#campaignDayPopupTable .link-metric{cursor:pointer}
#leadershipObjectiveTable{table-layout:fixed!important;min-width:1120px!important}
#leadershipObjectiveTable col.flow-summary-flow-col{width:190px!important}
#leadershipObjectiveTable col.flow-summary-count-col{width:108px!important}
#leadershipObjectiveTable{border-collapse:separate!important;border-spacing:0!important;border:1px solid rgba(0,245,212,.34)!important;border-radius:14px;overflow:hidden}
#leadershipObjectiveTable th,#leadershipObjectiveTable td{border-right:1px solid rgba(122,255,244,.16)!important;border-bottom:1px solid rgba(122,255,244,.16)!important}
#leadershipObjectiveTable th:last-child,#leadershipObjectiveTable td:last-child{border-right:0!important}
#leadershipObjectiveTable tbody tr:last-child td{border-bottom:0!important}
#leadershipObjectiveTable td.leadership-flow{background:linear-gradient(180deg,rgba(20,28,56,.98),rgba(10,15,32,.98))!important;vertical-align:middle}
#leadershipObjectiveTable .leadership-flow-total td{background:rgba(255,255,255,.055)!important;border-top:2px solid rgba(164,180,204,.48)!important;border-bottom:2px solid rgba(164,180,204,.38)!important;color:#f4fbff!important;font-weight:800}
#leadershipObjectiveTable .leadership-flow-total td:first-child{letter-spacing:.01em}
#leadershipObjectiveTable .leadership-channel{text-align:center!important}

/* Keep the native calendar affordance visible against the dark LDAU controls. */
#ldaus .v1286-local-controls input[type="date"]{min-width:142px;height:34px;padding:0 9px;border:1px solid rgba(0,245,212,.45);border-radius:7px;background:#101a37;color:#f4fbff;font:inherit;color-scheme:dark}
#ldaus .v1286-local-controls input[type="date"]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:1;filter:invert(89%) sepia(35%) saturate(972%) hue-rotate(113deg) brightness(98%) contrast(101%)}

/* v13.1.14 contest summary */
.contest-summary-wrap{max-height:70vh;overflow:auto}.contest-summary-wrap table{min-width:2360px}.contest-summary-wrap thead th{position:sticky;top:0;z-index:3;white-space:normal;line-height:1.15}.contest-summary-wrap th:first-child,.contest-summary-wrap td:first-child{position:sticky;left:0;width:300px!important;min-width:300px!important;max-width:300px!important;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;isolation:isolate}.contest-summary-wrap tbody td:first-child{z-index:6;background:#0a0e1c!important;box-shadow:12px 0 18px rgba(2,5,15,.88),1px 0 0 rgba(0,245,212,.18)}.contest-summary-wrap thead th:first-child{z-index:9;background:#10152d!important;box-shadow:12px 0 18px rgba(2,5,15,.9),1px 0 0 rgba(0,245,212,.24)}.contest-summary-wrap tfoot td{position:sticky;bottom:0;z-index:3;background:linear-gradient(180deg,rgba(28,22,70,.98),rgba(16,21,44,.98))!important;border-top:1px solid rgba(0,245,212,.38)!important}.contest-summary-wrap tfoot td:first-child{z-index:9;background:linear-gradient(180deg,rgba(28,22,70,.98),rgba(16,21,44,.98))!important;box-shadow:12px 0 18px rgba(2,5,15,.9),1px 0 0 rgba(0,245,212,.24)}.contest-summary-note{margin-top:12px;line-height:1.45}.contest-book-link{cursor:pointer}
#leadershipObjectiveTable thead th:first-child,#leadershipObjectiveTable td.leadership-flow{white-space:normal!important;overflow-wrap:anywhere}
@media(max-width:1250px){.campaign-summary-canonical-grid{min-width:1000px;grid-template-columns:68px repeat(6,minmax(0,1fr))}}
