@font-face{font-family:Roc Grotesk;src:url(/assets/roc-grotesk-bold-BwALRgAs.otf) format("opentype");font-style:normal;font-weight:700;font-display:swap}@font-face{font-family:Hanken Grotesk;src:url(/assets/hanken-grotesk-variable-CwKo493H.ttf) format("truetype");font-style:normal;font-weight:300 900;font-display:swap}:root{--paper: #fbfaf7;--ink: #000000;--muted: #000000;--mobsta-dark-purple: #2a1244;--mobsta-purple: #aa81ff;--mobsta-light-purple: #c9bdfb;--mobsta-lemon: #f5ff97;--mobsta-aqua: #c2e6ec;--mobsta-peach: #ffa374;--mobsta-white: #ffffff;--mobsta-pale-purple: #ede7ff;--mobsta-paler-purple: #f7f6fe;--mobsta-pale-aqua: #f0fafb;--chart-1: var(--mobsta-purple);--chart-2: var(--mobsta-peach);--chart-3: var(--mobsta-aqua);--chart-4: var(--mobsta-dark-purple);--chart-5: var(--mobsta-lemon);--chart-6: var(--mobsta-light-purple);--chart-track: var(--mobsta-pale-purple);--chart-axis: var(--mobsta-light-purple);--chart-grid: var(--mobsta-pale-purple);--brand-cyan: var(--chart-1);--brand-pink: var(--chart-2);--channel-purple: var(--chart-3);--channel-magenta: var(--chart-6);--channel-navy: var(--chart-4);--cyan: var(--chart-1);--magenta: var(--chart-2);--purple: var(--chart-3);--font-brand: "Roc Grotesk", Arial, Helvetica, sans-serif;--font-headline: "Hanken Grotesk", Arial, Helvetica, sans-serif;--font-body: "Hanken Grotesk", Arial, Helvetica, sans-serif;--font-tabular: "Hanken Grotesk", "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", monospace;--mono: var(--font-tabular);--line: #c9c7c1;--line-strong: #6b665f;--line-soft: #ddd9d1;--table-column-line: var(--line);--fill: rgba(255, 255, 255, .32);--ok: #2c7f47;--warn: #f0ad1d;--shadow: rgba(45, 42, 36, .05);--dashboard-min-width: 1080px;--topbar-height: 65px;--page-gutter: clamp(10px, 1.1vw, 22px);--dashboard-card-gap: clamp(14px, 1vw, 18px);--dashboard-band-gap: var(--dashboard-card-gap);--dashboard-summary-card-height: clamp(240px, 19vw, 320px);--section-gap: var(--dashboard-card-gap);--activation-campaign-filter-min: clamp(240px, 16vw, 275px);--activation-channel-filter-width: calc(12ch + 64px) }*{box-sizing:border-box}[hidden]{display:none!important}html,body{min-height:100%}body{margin:0;color:var(--ink);background:linear-gradient(rgba(18,18,18,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(18,18,18,.014) 1px,transparent 1px),var(--paper);background-size:12px 12px;font-family:var(--font-body);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:0;text-rendering:optimizeLegibility;width:100%;min-width:100vw;min-height:100vh;overflow-x:auto}.dashboard-shell{width:max(var(--dashboard-min-width),calc(100vw - (var(--page-gutter) * 2)));min-height:calc(100vh - (var(--page-gutter) * 2));margin:var(--page-gutter) auto;border:1px solid var(--line);background:#fbfaf7ed;box-shadow:0 10px 28px var(--shadow) inset;display:grid;grid-template-rows:auto auto auto 1fr;padding-bottom:12px}.dashboard-shell.is-loading{cursor:progress}.topbar{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(300px,1fr);grid-template-areas:"brand tabs timestamp";align-items:center;gap:clamp(20px,3vw,64px);min-height:var(--topbar-height);border-bottom:1px solid var(--line);padding:0 24px}.brand-lockup{grid-area:brand;display:flex;align-items:center;gap:18px;min-width:0;appearance:none;border:0;background:transparent;color:var(--ink);cursor:pointer;font:inherit;padding:0;text-align:left}.brand-lockup:focus-visible{outline:1px solid var(--ink);outline-offset:8px}.brand-logo{display:block;width:22px;height:22px;object-fit:contain}h1,h2,p{margin:0;font-weight:400}h1{font-family:var(--font-brand);font-size:16px;font-weight:700;line-height:1}.timestamp{grid-area:timestamp;display:flex;align-items:center;justify-content:flex-end;gap:16px;color:var(--ink);font-size:14px;white-space:nowrap}.terminal-dot{width:10px;height:10px;background:var(--ink);display:inline-block}.filters{display:flex;align-items:stretch;flex-wrap:nowrap;gap:var(--section-gap);overflow:visible;padding:var(--dashboard-band-gap) var(--page-gutter) 0}.dashboard-shell[data-view=activation] .filters{display:grid;grid-template-columns:160px minmax(var(--activation-campaign-filter-min),1fr) var(--activation-channel-filter-width) 126px 142px 116px 126px}.filter-card,.metric-card,.advertiser-spend-card,.breakdown-card,.summary-panel,.output-card{border:1px solid var(--line);background:var(--fill)}.filter-card{flex:1 1 170px;position:relative;min-width:128px;max-width:100%;min-height:90px;padding:17px 18px;display:flex;flex-direction:column;justify-content:space-between}.date-card{cursor:pointer;flex-basis:210px;min-width:190px}.advertiser-card{flex-basis:200px;min-width:165px}.campaign-card{flex:2.6 1 430px;min-width:300px}.small-card{flex-basis:150px}.dashboard-shell[data-view=activation] .small-card{flex:0 0 120px;min-width:120px}.dashboard-shell[data-view=activation] .filter-card{min-width:0}.dashboard-shell[data-view=activation] .campaign-card{flex:1 1 var(--activation-campaign-filter-min);min-width:var(--activation-campaign-filter-min)}.dashboard-shell[data-view=activation] .date-card{flex:0 0 180px;min-width:180px}.dashboard-shell[data-view=activation] .advertiser-card{flex:0 0 160px;min-width:160px}.dashboard-shell[data-view=activation] .channel-card{flex:0 0 var(--activation-channel-filter-width);min-width:var(--activation-channel-filter-width)}.dashboard-shell[data-view=activation] .ssp-card,.dashboard-shell[data-view=activation] .salesforce-card{flex-basis:126px;min-width:126px}.dashboard-shell[data-view=activation] .manager-card{flex:0 0 142px;min-width:142px}.dashboard-shell[data-view=activation] .health-card{flex-basis:116px;min-width:116px}.date-card .filter-label{align-items:flex-start;display:grid;gap:14px;grid-template-columns:minmax(0,1fr) 17px}.date-card .filter-label span:first-child{min-width:0}.filter-label,.panel-label,.business-output-table th,h2{font-family:var(--font-headline);font-size:13px;font-weight:650;line-height:1.16;color:var(--ink)}.filter-label{display:flex;align-items:center;justify-content:space-between}.filter-value,.select-value{font-family:var(--font-body);font-size:clamp(15px,.9vw,17px);line-height:1.25;color:var(--ink)}.control,.mini-control,.multi-trigger{display:block;width:100%;min-width:0;max-width:100%;appearance:none;border:0;border-radius:0;background:linear-gradient(45deg,transparent 50%,var(--ink) 50%) calc(100% - 10px) 55% / 6px 6px no-repeat,linear-gradient(135deg,var(--ink) 50%,transparent 50%) calc(100% - 5px) 55% / 6px 6px no-repeat,transparent;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:clamp(15px,.9vw,17px);line-height:1.25;overflow:hidden;outline:none;padding:0 22px 0 0;text-overflow:ellipsis;white-space:nowrap}.multi-trigger{text-align:left}.multi-trigger:disabled{cursor:default;opacity:.55}.date-trigger{width:100%;appearance:none;border:0;border-radius:0;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:clamp(15px,.9vw,17px);line-height:1.15;outline:none;padding:0;text-align:left;white-space:normal;overflow-wrap:anywhere}.control:focus-visible,.mini-control:focus-visible,.export-button:focus-visible,.date-trigger:focus-visible,.multi-trigger:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.small-card .control{background:transparent}.text-control{background:transparent;padding-right:0}.text-control::placeholder{color:var(--ink);opacity:1}.multi-panel{position:absolute;z-index:12;top:calc(100% + 8px);left:-1px;right:-1px;max-height:min(320px,58vh);overflow:auto;border:1px solid var(--line);background:#fbfaf7fc;box-shadow:0 18px 40px #2d2a2414;padding:8px 0}.multi-panel[hidden]{display:none}.multi-panel-actions,.multi-search{border-bottom:1px solid var(--line-soft);padding:0 8px 8px}.multi-search-input{width:100%;border:1px solid var(--line);border-radius:0;background:var(--mobsta-white);color:var(--ink);font-family:var(--font-body);font-size:13px;line-height:1.2;outline:none;padding:8px 10px}.multi-search-input:focus{border-color:var(--ink)}.multi-panel-actions button{width:100%;border:0;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:13px;line-height:1.2;padding:8px 10px;text-align:left}.multi-option{display:grid;grid-template-columns:15px minmax(0,1fr);gap:9px;align-items:start;color:var(--ink);cursor:pointer;font-family:var(--font-body);font-size:13px;line-height:1.2;padding:9px 18px}.multi-option input{width:13px;height:13px;margin:1px 0 0;accent-color:var(--chart-1)}.multi-option span{min-width:0;overflow-wrap:anywhere}.multi-empty{color:var(--line-strong);font-size:13px;line-height:1.2;padding:10px 18px}.multi-option:hover,.multi-panel-actions button:hover{background:var(--line-soft)}.calendar-popover{position:absolute;z-index:10;top:calc(100% + 8px);left:-1px;width:310px;border:1px solid var(--line);background:#fbfaf7fa;box-shadow:0 18px 40px #2d2a2414;padding:14px}.calendar-head{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;border-bottom:1px solid var(--line-soft);padding-bottom:12px}.calendar-head button,.calendar-day{border:1px solid transparent;border-radius:0;background:transparent;color:var(--ink);cursor:pointer;font-family:var(--font-body)}.calendar-head button{height:28px;font-size:20px;line-height:1}.calendar-head button:hover,.calendar-day:hover{border-color:var(--ink)}#calendarMonth{text-align:center;font-size:13px}.calendar-range-status{margin-top:12px;font-size:11px;line-height:1;text-align:center}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{margin-top:12px;color:var(--muted);font-size:12px;text-align:center}.calendar-grid{column-gap:0;row-gap:4px;margin-top:8px}.calendar-day{position:relative;height:32px;border-color:transparent;font-size:12px}.calendar-day.is-muted{color:#6f6d68}.calendar-day.is-in-range{background:var(--ink);color:var(--paper)}.calendar-grid.is-animating-range .calendar-day.is-in-range{animation:range-fill .5s ease-out both}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n+1){animation-delay:0ms}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n+2){animation-delay:60ms}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n+3){animation-delay:.12s}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n+4){animation-delay:.18s}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n+5){animation-delay:.24s}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n+6){animation-delay:.3s}.calendar-grid.is-animating-range .calendar-day.is-in-range:nth-child(7n){animation-delay:.36s}.calendar-day.is-range-start{border-left-color:var(--paper)}.calendar-day.is-range-end{border-right-color:var(--paper)}.calendar-day.has-data:after{content:"";display:block;width:4px;height:4px;margin:2px auto 0;background:var(--ok)}.calendar-day.is-range-start:after,.calendar-day.is-range-end:after,.calendar-day.is-in-range:after{background:var(--paper)}@keyframes range-fill{0%{background:transparent;color:var(--ink)}35%{background:var(--ink);color:var(--paper)}to{background:var(--ink);color:var(--paper)}}.select-value{display:grid;grid-template-columns:1fr 14px;gap:12px;align-items:center}.campaign-card .select-value span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{width:8px;height:8px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg) translateY(-2px);justify-self:center}.calendar-icon{position:relative;width:17px;height:17px;border:1px solid var(--ink)}.calendar-icon:before,.calendar-icon:after{content:"";position:absolute;background:var(--ink)}.calendar-icon:before{left:2px;right:2px;top:4px;height:1px}.calendar-icon:after{width:9px;height:1px;top:-3px;left:3px}.summary-grid{display:grid;grid-template-columns:1fr 1fr 440px 470px;gap:var(--section-gap);padding:var(--dashboard-band-gap) var(--page-gutter) 0}.metric-card{min-height:var(--dashboard-summary-card-height);padding:19px 22px 20px;position:relative;overflow:hidden}.metric-card:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px}.summary-grid .metric-card:nth-child(1):before{background:var(--brand-cyan)}.summary-grid .metric-card:nth-child(2):before{background:var(--brand-pink)}.metric-value{margin-top:54px;font-family:var(--font-tabular);font-size:clamp(34px,2.55vw,46px);line-height:1;letter-spacing:0;color:var(--ink)}.summary-grid .metric-card:nth-child(1) .metric-value,.summary-grid .metric-card:nth-child(2) .metric-value{color:var(--ink)}.sparkline{position:absolute;right:34px;bottom:23px;height:55px;display:flex;align-items:end;gap:8px}.sparkline span{display:block;width:2px;background:var(--ink)}.summary-grid .metric-card:nth-child(1) .sparkline span{background:var(--brand-cyan)}.summary-grid .metric-card:nth-child(2) .sparkline span{background:var(--brand-pink)}.advertiser-spend-card,.breakdown-card{min-height:230px;padding:19px 18px}.advertiser-spend-card{border:1px solid var(--line);background:var(--fill)}.advertiser-list{display:grid;gap:14px;margin-top:25px;padding-right:8px}.advertiser-row{display:grid;grid-template-columns:122px minmax(96px,1fr) 94px;align-items:center;gap:12px;font-size:13px}.advertiser-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.advertiser-track{height:4px;background:var(--chart-track)}.advertiser-fill{display:block;height:100%;background:var(--bar-color, var(--brand-cyan))}.advertiser-spend{text-align:right}.status-dot{width:14px;height:14px;border-radius:50%;display:inline-block}.status-dot.ok{background:var(--ok)}.status-dot.warn{background:var(--warn)}.bar-list{display:grid;gap:11px;margin-top:20px;min-width:0}.bar-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,1.15fr) max-content;align-items:center;gap:12px;color:var(--ink);font-size:12px;min-width:0}.bar-track{height:4px;background:var(--chart-track);min-width:0}.bar-fill{display:block;height:100%;background:var(--bar-color, var(--brand-cyan))}.bar-value{min-width:0;text-align:right;white-space:nowrap}.lower-grid{display:grid;grid-template-columns:1fr;gap:var(--section-gap);padding:var(--dashboard-band-gap) var(--page-gutter) 58px;min-width:0}.output-card{min-height:clamp(430px,46vh,900px);min-width:0;overflow:hidden}.output-header{height:57px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 17px}.row-count{display:inline-block;margin-top:7px;color:var(--muted);font-size:12px}.output-tools{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-left:auto;padding-right:0;color:var(--ink);font-size:13px}.mini-control{width:220px;border:1px solid var(--line);color:var(--ink);font-family:var(--font-body);font-size:13px;height:34px;padding:0 28px 0 10px}.export-button{height:34px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);cursor:pointer;font-family:var(--font-body);font-size:12px;font-weight:700;padding:0 15px}.export-button:active{transform:translateY(1px)}.export-status{position:absolute;right:0;top:38px;display:none;color:var(--ok);font-size:11px;white-space:nowrap}.export-status:not(:empty){display:block}.table-scroll{max-height:clamp(360px,52vh,920px);min-width:0;overflow-y:auto;overflow-x:auto}.table-scroll::-webkit-scrollbar{width:11px;height:11px}.table-scroll::-webkit-scrollbar-track{background:transparent;border-left:1px solid var(--line-soft)}.table-scroll::-webkit-scrollbar-thumb{background:var(--ink)}.business-output-table{width:100%;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.dashboard-shell[data-view=finance] .business-output-table{min-width:1900px}.dashboard-shell[data-view=activation] .business-output-table{min-width:2330px}.business-output-table th,.business-output-table td{border-bottom:1px solid var(--line-soft);border-right:1px dashed var(--table-column-line);padding:0 10px;height:66px;color:var(--ink);font-weight:400;vertical-align:middle;min-width:0;max-width:100%;overflow:hidden;overflow-wrap:anywhere;text-overflow:clip;word-break:break-word;white-space:normal}.business-output-table th:last-child,.business-output-table td:last-child{border-right:0}.business-output-table th{position:sticky;top:0;z-index:2;height:52px;background:#fbfaf7fa;font-family:var(--font-headline);font-size:12px;font-weight:650;text-align:left}.table-sort-button{align-items:center;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;gap:7px;justify-content:inherit;margin:0;min-width:0;padding:0;text-align:inherit;width:100%;font:inherit;letter-spacing:inherit;white-space:normal}.table-sort-button:hover{color:var(--mobsta-dark-purple)}.table-sort-button span:first-child{min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:normal}.table-sort-button:hover .sort-indicator,.table-sort-button:focus-visible .sort-indicator{opacity:1}.table-sort-button:focus-visible{outline:2px solid var(--mobsta-purple);outline-offset:4px}.sort-indicator{display:inline-flex;flex:0 0 auto;flex-direction:column;gap:3px;justify-content:center;width:10px;height:16px;opacity:.72}.sort-indicator:before,.sort-indicator:after{content:"";display:block;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent}.sort-indicator:before{border-bottom:6px solid var(--line-strong)}.sort-indicator:after{border-top:6px solid var(--line-strong)}.table-sort-button[data-sort-direction=asc] .sort-indicator{opacity:1}.table-sort-button[data-sort-direction=asc] .sort-indicator:before{border-bottom-color:var(--ink)}.table-sort-button[data-sort-direction=asc] .sort-indicator:after{opacity:.2}.table-sort-button[data-sort-direction=desc] .sort-indicator{opacity:1}.table-sort-button[data-sort-direction=desc] .sort-indicator:before{opacity:.2}.table-sort-button[data-sort-direction=desc] .sort-indicator:after{border-top-color:var(--ink)}.business-output-table td{font-family:var(--font-body);font-size:14px;font-weight:500;line-height:1.24}.business-output-table thead th{white-space:normal;line-height:1.2;color:var(--ink)}.business-output-table[data-view=detail] th,.business-output-table[data-view=detail] td{padding:0 7px}.business-output-table[data-view=detail] td{font-size:12px;line-height:1.2}.business-output-table[data-view=detail] thead th{font-size:11px}.business-output-table[data-view=detail] .column-metric-date{width:90px;text-align:center}.business-output-table[data-view=detail] .column-provider{width:92px}.business-output-table[data-view=detail] .column-salesforce-id{width:56px;text-align:center}.business-output-table[data-view=detail] .column-provider-deal-id{width:86px;text-align:center}.business-output-table[data-view=detail] .column-channel{width:72px;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-view=detail] .column-deal-name-raw{width:260px;overflow-wrap:anywhere;word-break:normal}.business-output-table[data-view=detail] .column-audience{width:90px;text-align:center;overflow-wrap:normal;word-break:normal}.business-output-table[data-view=detail] .column-spend-gbp,.business-output-table[data-view=detail] .column-fees-gbp,.business-output-table[data-view=detail] .column-margin-gbp,.business-output-table[data-view=detail] .column-spend-local,.business-output-table[data-view=detail] .column-fees-local,.business-output-table[data-view=detail] .column-margin-local{width:88px;text-align:right;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-view=detail] .column-income-gbp,.business-output-table[data-view=detail] .column-income-local,.business-output-table[data-view=detail] .column-impressions{width:96px;text-align:right;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-view=detail] .column-currency{width:44px;text-align:center;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-view=detail] .column-fee-source-field{width:135px;text-align:left;overflow-wrap:anywhere;word-break:normal;white-space:normal}.business-output-table[data-view=detail] .column-fx-rate{width:78px;text-align:right;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-view=detail] .column-fx-rate-source{width:112px;text-align:left;overflow-wrap:anywhere;word-break:normal;white-space:normal}.business-output-table[data-view=detail] td.column-provider,.business-output-table[data-view=detail] td.column-provider-deal-id,.business-output-table[data-view=detail] td.column-channel,.business-output-table[data-view=detail] td.column-deal-name-raw{font-family:var(--font-body);font-size:12px}.business-output-table[data-view=detail] td.column-deal-name-raw{line-height:1.2}.business-output-table[data-view=detail] td.column-metric-date,.business-output-table[data-view=detail] td.column-salesforce-id,.business-output-table[data-view=detail] td.column-audience,.business-output-table[data-view=detail] td.column-spend-gbp,.business-output-table[data-view=detail] td.column-fees-gbp,.business-output-table[data-view=detail] td.column-income-gbp,.business-output-table[data-view=detail] td.column-margin-gbp,.business-output-table[data-view=detail] td.column-impressions,.business-output-table[data-view=detail] td.column-spend-local,.business-output-table[data-view=detail] td.column-fees-local,.business-output-table[data-view=detail] td.column-income-local,.business-output-table[data-view=detail] td.column-margin-local,.business-output-table[data-view=detail] td.column-currency,.business-output-table[data-view=detail] td.column-fx-rate,.business-output-table[data-view=detail] td.column-fx-rate-source{font-variant-numeric:tabular-nums}.empty-cell{color:var(--ink)}.dashboard-tabs{grid-area:tabs;display:flex;align-items:stretch;justify-content:center;gap:34px;height:100%}.dashboard-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--ink);cursor:pointer;font:inherit;padding:2px 0 0;text-transform:uppercase}.dashboard-tabs button.is-active{border-bottom-color:var(--cyan)}.dashboard-tabs button:disabled{color:var(--line-strong);cursor:default}.dashboard-error{border-bottom:1px solid var(--brand-pink);color:var(--brand-pink);font-size:13px;padding:12px 24px;text-transform:uppercase}.activation-grid{align-items:stretch;display:grid;grid-template-columns:minmax(560px,1.7fr) repeat(2,minmax(260px,.65fr));gap:var(--section-gap);margin:0;padding:var(--dashboard-band-gap) var(--page-gutter) 0}.dashboard-shell[data-view=finance] .activation-grid{grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) minmax(340px,1.16fr) minmax(340px,1.16fr)}.dashboard-shell[data-view=finance] #spendMetricCard{order:1}.dashboard-shell[data-view=finance] #impressionsMetricCard{order:2}.dashboard-shell[data-view=finance] #primaryPanel{order:3}.dashboard-shell[data-view=finance] #secondaryPanel{order:4}#spendMetricCard:before{background:var(--cyan)}#impressionsMetricCard:before{background:var(--magenta)}.pacing-chart-card{border:1px solid var(--line);background:#ffffffad;min-height:var(--dashboard-summary-card-height);padding:18px 20px 16px;position:relative}.summary-panel{min-height:var(--dashboard-summary-card-height);padding:22px 24px}.panel-heading{align-items:baseline;display:flex;justify-content:space-between;gap:18px}.panel-heading span:empty{display:none}.panel-info-button{align-items:center;background:var(--paper);border:1px solid var(--ink);color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:12px;font-weight:700;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:18px;top:16px;width:24px;z-index:4}.panel-info-button:hover,.panel-info-button:focus-visible{background:var(--mobsta-pale-purple);outline:none}.forecast-info-panel{background:#fbfaf7fa;border:1px solid var(--ink);box-shadow:6px 6px #2a12441f;color:var(--ink);display:grid;font-size:12px;gap:10px;line-height:1.35;max-width:min(360px,calc(100% - 34px));padding:13px 14px 14px;position:absolute;right:18px;top:46px;z-index:7}.forecast-info-panel[hidden]{display:none}.forecast-info-header{align-items:center;display:flex;gap:12px;justify-content:space-between;text-transform:uppercase}.forecast-info-header strong{font-size:12px;font-weight:700}.forecast-info-close{align-items:center;background:transparent;border:0;color:var(--ink);cursor:pointer;display:inline-flex;font-size:18px;font-weight:500;height:22px;justify-content:center;line-height:1;padding:0;width:22px}.forecast-info-close:hover,.forecast-info-close:focus-visible{background:var(--mobsta-pale-purple);outline:none}.forecast-info-panel p{margin:0}.panel-heading span,.metric-subtext{color:var(--muted);font-size:11px;text-transform:uppercase}.pacing-chart{display:block;height:calc(var(--dashboard-summary-card-height) - 54px);min-height:0}.chart-plot{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-width:0;min-height:0;position:relative}.chart-key{align-items:center;display:flex;flex-wrap:wrap;gap:9px 16px;min-height:18px;padding:0 0 6px 76px;color:var(--ink);font-size:11px;font-weight:600;line-height:1.2;text-transform:uppercase}.chart-key span{align-items:center;display:inline-flex;gap:7px;min-width:0;white-space:nowrap}.chart-key-swatch{display:inline-block;height:4px;width:32px}.chart-key-swatch.actual{background:var(--cyan)}.chart-key-swatch.forecast{background:repeating-linear-gradient(90deg,var(--cyan) 0,var(--cyan) 8px,transparent 8px,transparent 14px)}.chart-key-swatch.target{background:repeating-linear-gradient(90deg,var(--ink) 0,var(--ink) 8px,transparent 8px,transparent 14px)}.chart-key-swatch.budget{background:var(--purple)}.finance-bars,.breakdown-list{margin-top:28px}.finance-bars .bar-row,.breakdown-list .bar-row{grid-template-columns:minmax(0,.9fr) minmax(72px,1fr) max-content;gap:10px}.finance-bars .bar-label,.breakdown-list .bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pacing-svg{cursor:crosshair;height:100%;min-height:0;touch-action:none;width:100%}.chart-axis{stroke:var(--line-strong);stroke-width:1.4}.chart-date-tick{stroke:var(--line-strong);stroke-width:1}.chart-gridline{stroke:var(--line-soft);stroke-width:1}.chart-axis-label,.chart-legend{fill:var(--ink);font-family:var(--font-body);font-size:14px;font-weight:600}.chart-legend.actual{fill:var(--cyan)}.chart-legend.target{fill:var(--ink)}.chart-legend.budget{fill:var(--purple)}.actual-line,.forecast-line,.target-line{fill:none;stroke-linecap:square;stroke-linejoin:round;stroke-width:5}.actual-line{stroke:var(--cyan)}.forecast-line{stroke:var(--cyan);stroke-dasharray:12 9;stroke-width:4.5}.target-line{stroke:var(--ink);stroke-dasharray:12 9;stroke-width:3}.budget-line{stroke:var(--mobsta-aqua);stroke-width:3}.actual-dot{fill:var(--cyan);stroke:var(--paper);stroke-width:3}.target-dot,.budget-dot{fill:var(--paper);stroke-width:3}.target-dot{stroke:var(--ink)}.budget-dot{stroke:var(--mobsta-aqua)}.chart-as-of-line{stroke:var(--ink);stroke-dasharray:3 6;stroke-width:1.8}.chart-hit-area{fill:transparent;pointer-events:all}.chart-hover-line{stroke:var(--ink);stroke-dasharray:3 5;stroke-width:1.4}.chart-hover-dot{fill:var(--paper);stroke-width:3}.chart-hover-dot-actual{stroke:var(--cyan)}.chart-hover-dot-target{stroke:var(--ink)}.chart-hover-dot-budget{stroke:var(--mobsta-aqua)}.chart-tooltip{background:#fbfaf7f5;border:1px solid var(--ink);box-shadow:6px 6px #2a12441f;color:var(--ink);display:grid;font-size:11px;gap:6px;min-width:184px;padding:10px 11px;pointer-events:none;position:absolute;z-index:5}.chart-tooltip[hidden]{display:none}.chart-tooltip-date{border-bottom:1px dotted var(--line-strong);font-weight:700;padding-bottom:6px}.chart-tooltip div:not(.chart-tooltip-date){align-items:baseline;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) max-content}.chart-tooltip span{color:var(--muted);font-size:10px;font-weight:650;text-transform:uppercase}.chart-tooltip strong{font-size:13px;font-weight:600;text-align:right}.empty-chart{align-items:center;color:var(--muted);display:flex;min-height:220px}.cyan-bars span{background:var(--cyan)}.magenta-bars span{background:var(--magenta)}.business-output-table[data-dashboard-view=activation] .column-health{width:136px}.business-output-table[data-dashboard-view=activation] .column-salesforce-id{width:70px;text-align:center;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-dashboard-view=activation] .column-campaign-name{width:260px;white-space:normal;word-break:normal}.business-output-table[data-dashboard-view=activation] .column-deal-name-raw{width:360px;white-space:normal;overflow-wrap:anywhere;word-break:normal}.business-output-table[data-dashboard-view=activation] .column-channel{width:96px;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-dashboard-view=activation] .column-ssp{width:124px;overflow-wrap:anywhere;word-break:normal;white-space:normal}.business-output-table[data-dashboard-view=activation] .column-activation-manager-name,.business-output-table[data-dashboard-view=activation] .column-cs-manager-name{width:170px;overflow-wrap:anywhere;word-break:normal;white-space:normal}.business-output-table[data-dashboard-view=activation] .column-flight{width:190px;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-dashboard-view=activation] .column-issue-code{width:170px;overflow-wrap:anywhere;word-break:normal}.business-output-table[data-dashboard-view=activation] .column-amount-gbp,.business-output-table[data-dashboard-view=activation] .column-spend-to-date-gbp,.business-output-table[data-dashboard-view=activation] .column-spend-yesterday-gbp,.business-output-table[data-dashboard-view=activation] .column-target-to-date-gbp,.business-output-table[data-dashboard-view=activation] .column-forecast-final-gbp,.business-output-table[data-dashboard-view=activation] .column-variance-gbp{text-align:right;width:150px;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-dashboard-view=activation] .column-pace-vs-today-pct,.business-output-table[data-dashboard-view=activation] .column-budget-used-pct{text-align:right;width:130px;overflow-wrap:normal;word-break:normal;white-space:nowrap}.business-output-table[data-dashboard-view=activation] td.column-health,.business-output-table[data-dashboard-view=activation] td.column-salesforce-id,.business-output-table[data-dashboard-view=activation] td.column-amount-gbp,.business-output-table[data-dashboard-view=activation] td.column-spend-to-date-gbp,.business-output-table[data-dashboard-view=activation] td.column-spend-yesterday-gbp,.business-output-table[data-dashboard-view=activation] td.column-target-to-date-gbp,.business-output-table[data-dashboard-view=activation] td.column-pace-vs-today-pct,.business-output-table[data-dashboard-view=activation] td.column-budget-used-pct,.business-output-table[data-dashboard-view=activation] td.column-forecast-final-gbp,.business-output-table[data-dashboard-view=activation] td.column-variance-gbp{font-variant-numeric:tabular-nums}.business-output-table[data-dashboard-view=activation] td.column-spend-yesterday-gbp.is-zero-spend{background:#ff484826;box-shadow:inset 3px 0 #b423189e;color:#b42318;font-weight:650}.readiness-view{display:grid;gap:var(--dashboard-band-gap);grid-template-rows:auto auto minmax(0,1fr) auto}.readiness-view[hidden]{display:none}.readiness-filters{display:grid;gap:var(--section-gap);grid-template-columns:minmax(150px,.95fr) minmax(210px,1.25fr) minmax(150px,.95fr) minmax(170px,1fr) minmax(150px,.95fr);padding:var(--dashboard-band-gap) var(--page-gutter) 0}.readiness-filter-card{min-width:0;min-height:86px}.readiness-status-grid{display:grid;gap:var(--section-gap);grid-template-columns:repeat(4,minmax(0,1fr));padding:0 var(--page-gutter)}.readiness-status-card,.readiness-table-card{border:1px solid var(--line);background:var(--fill)}.readiness-status-card{min-height:clamp(150px,12.2vw,218px);overflow:hidden;padding:20px 22px;position:relative}.readiness-status-card:before{content:"";height:3px;left:-1px;position:absolute;right:-1px;top:-1px}.readiness-status-card--unmapped:before{background:var(--mobsta-purple)}.readiness-status-card--needs-review:before{background:var(--mobsta-peach)}.readiness-status-card--structurally-mapped:before{background:var(--mobsta-aqua)}.readiness-status-card--delivery-capable-bgs:before{background:var(--ok)}.readiness-status-value{color:var(--ink);font-family:var(--font-tabular);font-size:clamp(42px,3.25vw,58px);line-height:1;margin-top:clamp(26px,3.1vw,54px)}.readiness-sparkline{align-items:end;bottom:24px;display:flex;gap:8px;height:42px;position:absolute;right:34px}.readiness-sparkline span{background:currentColor;display:block;width:2px}.readiness-status-card--unmapped .readiness-sparkline{color:var(--mobsta-purple)}.readiness-status-card--needs-review .readiness-sparkline{color:var(--mobsta-peach)}.readiness-status-card--structurally-mapped .readiness-sparkline{color:var(--mobsta-aqua)}.readiness-status-card--delivery-capable-bgs .readiness-sparkline{color:var(--ok)}.readiness-table-card{margin:0 var(--page-gutter);min-height:clamp(440px,53vh,780px);min-width:0;overflow:hidden}.readiness-table-header{align-items:center;border-bottom:1px solid var(--line);display:flex;height:57px;justify-content:space-between;padding:0 17px}.readiness-table-scroll{max-height:clamp(360px,53vh,720px);min-width:0;overflow:auto}.readiness-table-scroll::-webkit-scrollbar{height:11px;width:11px}.readiness-table-scroll::-webkit-scrollbar-track{background:transparent;border-left:1px solid var(--line-soft)}.readiness-table-scroll::-webkit-scrollbar-thumb{background:var(--ink)}.dashboard-shell[data-view=readiness] .business-output-table{min-width:100%}.readiness-table th,.readiness-table td{height:66px}.readiness-table td{font-size:12px;line-height:1.18}.readiness-table .column-status{width:10%}.readiness-table .column-opportunity{width:13%}.readiness-table .column-url{text-align:center;width:4.2%}.readiness-table .column-account{width:6.5%}.readiness-table .column-stage{width:7%}.readiness-table .column-live-date,.readiness-table .column-end-date{width:6.5%}.readiness-table .column-in-flight{text-align:center;width:6.8%}.readiness-table .column-delivery-bgs{text-align:center;width:6%}.readiness-table .column-sales-owner,.readiness-table .column-cs-owner{width:6.5%}.readiness-table .column-activation-owner{width:7.2%}.readiness-table .column-top-issue{width:7%}.readiness-table .column-action{width:7.7%}.readiness-table th.column-status,.readiness-table td.column-status{padding-left:7px;padding-right:7px}.readiness-table th.column-in-flight,.readiness-table td.column-in-flight,.readiness-table th.column-delivery-bgs,.readiness-table td.column-delivery-bgs{padding-left:6px;padding-right:6px}.readiness-table th.column-in-flight .table-sort-button,.readiness-table th.column-in-flight .table-sort-button span:first-child,.readiness-table th.column-delivery-bgs .table-sort-button,.readiness-table th.column-delivery-bgs .table-sort-button span:first-child{overflow-wrap:normal;white-space:nowrap}.readiness-table th.column-in-flight .table-sort-button,.readiness-table th.column-delivery-bgs .table-sort-button{gap:6px}.readiness-table td.column-opportunity strong{display:block;font-size:12px;font-weight:650;line-height:1.16;overflow-wrap:normal;word-break:normal}.readiness-table td.column-opportunity span{color:var(--line-strong);display:block;font-size:11px;line-height:1.1;margin-top:4px}.readiness-table .column-url a{color:#1f5fd6;font-weight:650;text-decoration:underline;text-underline-offset:2px}.readiness-output-tools{min-height:34px}.readiness-status-chip{display:inline-block;font-size:9px;font-weight:700;line-height:1.08;max-width:100%;padding:7px 6px;text-align:center;text-transform:uppercase;white-space:normal}.readiness-status-chip--unmapped{background:var(--mobsta-pale-purple);color:#6f45d8}.readiness-status-chip--needs-review{background:#ffe7d9;color:#d66535}.readiness-status-chip--structurally-mapped{background:var(--mobsta-pale-aqua);color:#367f8a}.readiness-action-text{color:var(--ink);display:inline-block;font-size:12px;font-weight:650;line-height:1.2}.readiness-empty-row{color:var(--line-strong);font-size:12px;text-align:center}.readiness-table-footer{align-items:center;border-top:1px solid var(--line);display:flex;gap:16px;justify-content:space-between;min-height:46px;padding:8px 14px;color:var(--ink);font-size:12px}.readiness-pagination{align-items:center;display:flex;gap:11px}.readiness-pagination .mini-control{height:32px;width:60px}.readiness-pagination button{align-items:center;appearance:none;background:transparent;border:1px solid transparent;color:var(--ink);cursor:pointer;display:inline-flex;font-family:var(--font-body);font-size:13px;height:31px;justify-content:center;min-width:31px;padding:0 8px}.readiness-pagination button.is-active{border-color:var(--mobsta-purple);box-shadow:inset 0 0 0 1px var(--mobsta-light-purple)}.readiness-pagination button:disabled{color:var(--line-strong);cursor:default}.readiness-page-gap{display:inline-block;min-width:18px;text-align:center}.readiness-note{align-items:center;border:1px solid var(--line);display:grid;gap:11px;grid-template-columns:16px minmax(0,1fr) max-content max-content;margin:0 var(--page-gutter);min-height:35px;padding:7px 12px;color:var(--line-strong);font-size:12px}.readiness-note span,.readiness-note b{align-items:center;background:var(--line-soft);color:var(--ink);display:inline-flex;font-size:11px;height:20px;justify-content:center}.readiness-note span{border-radius:50%;font-weight:700;width:20px}.readiness-note strong{color:var(--line-strong);font-weight:650}.readiness-note b{font-weight:650;min-width:74px;padding:0 10px}.readiness-view.is-loading{opacity:.72}@media(max-width:1500px){:root{--dashboard-card-gap: 14px}.topbar{gap:24px;padding:0 18px}.dashboard-tabs{gap:24px}.activation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell[data-view=activation] #primaryPanel{grid-column:1 / -1}.readiness-filters{grid-template-columns:minmax(140px,.9fr) minmax(190px,1.2fr) minmax(130px,.85fr) minmax(150px,.95fr) minmax(140px,.9fr)}}@media(max-width:1240px){:root{--dashboard-min-width: 1040px;--page-gutter: 12px}.topbar{grid-template-columns:minmax(250px,1fr) minmax(310px,1fr);grid-template-areas:"brand timestamp" "tabs tabs";padding-top:12px}.dashboard-tabs{justify-content:center;margin-left:0;min-height:44px}.filters{grid-template-columns:minmax(170px,.9fr) minmax(190px,1fr) minmax(300px,2.1fr)}.activation-grid,.dashboard-shell[data-view=finance] .activation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-shell[data-view=activation] #primaryPanel{grid-column:1 / -1}.readiness-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.readiness-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.readiness-note{grid-template-columns:16px minmax(0,1fr) max-content}.readiness-note strong{display:none}}@media(max-width:1080px){:root{--dashboard-min-width: 980px}.activation-grid{grid-template-columns:1fr}.dashboard-shell[data-view=finance] .activation-grid,.readiness-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
