:root{--bg:#f5f7f6;--panel:#fff;--panel-soft:#f8faf9;--line:#dfe7e3;--text:#17231f;--muted:#687871;--faint:#8b9a94;--green:#198754;--green-soft:#e8f5ee;--blue:#2563a8;--blue-soft:#eaf2fb;--amber:#b76d16;--amber-soft:#fff4e3;--red:#bd4c4c;--red-soft:#fff0f0;--radius:14px;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:13px;line-height:1.5}button,input{font:inherit}button{cursor:pointer;color:inherit}.app-shell{display:flex;min-height:100vh}.sidebar{width:240px;border-right:1px solid var(--line);padding:25px 16px 18px;display:flex;flex-direction:column;flex-shrink:0;background:#fbfcfb}.brand{display:flex;align-items:center;gap:10px;padding:0 10px 30px}.brand strong{font-size:16px;letter-spacing:-.02em;display:block}.brand small{font-family:var(--mono);font-size:9px;color:var(--faint);letter-spacing:.12em;text-transform:uppercase;display:block}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--green);color:#fff;font-size:20px;font-weight:800;box-shadow:0 5px 14px #1987542b}.brand-mark.small{width:31px;height:31px;font-size:16px}.nav-item{width:100%;border:0;background:transparent;text-align:left;padding:11px 10px;color:var(--muted);border-radius:9px;margin:2px 0;transition:.15s;display:flex;align-items:center;gap:12px}.nav-item span{font-family:var(--mono);font-size:10px;color:var(--faint)}.nav-item:hover{color:var(--text);background:var(--blue-soft)}.nav-item.active{background:var(--green-soft);color:var(--green);font-weight:650}.nav-item.active span{color:var(--green)}.sidebar-foot{margin-top:auto;padding:16px 10px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:10px;line-height:1.8;color:var(--faint)}.pulse,.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px var(--green-soft);margin-right:7px}.main{flex:1;min-width:0;padding:25px 34px 52px;max-width:1700px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 22px}.eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:.13em;color:var(--faint);margin:0 0 7px;text-transform:uppercase}.topbar h1{margin:0;font-size:29px;line-height:1.05;letter-spacing:-.045em}.top-actions{display:flex;align-items:center;gap:14px}.source-status{font-family:var(--mono);font-size:10px;color:var(--muted);white-space:nowrap}.secondary,.primary,.icon-button{border:1px solid var(--line);border-radius:8px;background:var(--panel);padding:9px 12px;color:var(--muted);transition:.15s;box-shadow:0 2px 6px #18251a08}.secondary:hover,.icon-button:hover{border-color:var(--blue);color:var(--blue)}.primary{background:var(--green);border-color:var(--green);color:#fff;font-weight:700}.primary:hover{filter:brightness(1.07)}.command-bar{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.periods{display:flex;gap:3px;flex-wrap:wrap}.periods button{border:1px solid transparent;background:transparent;color:var(--muted);padding:7px 12px;border-radius:7px}.periods button:hover{color:var(--text)}.periods button.active{background:var(--blue-soft);border-color:#c9dced;color:var(--blue);font-weight:650}.custom-period{display:flex;align-items:center;gap:8px;color:var(--muted);font-family:var(--mono);font-size:10px}.custom-period input{background:var(--panel);color:var(--text);border:1px solid var(--line);padding:7px 8px;border-radius:7px;font-size:11px}.content{display:block}.grid{display:grid;gap:14px}.headline-grid{grid-template-columns:repeat(5,minmax(125px,1fr));margin-bottom:14px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px 17px;min-height:104px;box-shadow:0 5px 14px #18251a0a}.metric .label{font-size:11px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.metric .value{font-size:24px;letter-spacing:-.05em;font-weight:750;margin-top:13px}.metric .delta{font-family:var(--mono);font-size:10px;color:var(--faint);margin-top:3px}.metric.accent{border-top:2px solid var(--green)}.metric.forecast{border-top:2px dashed var(--amber);background:#fffdf9}.metric.danger{border-top:2px solid var(--red)}.work-grid{grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);align-items:stretch}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;min-width:0;box-shadow:0 5px 14px #18251a0a}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.panel-title{margin:0;font-size:15px;letter-spacing:-.02em}.panel-note{font-size:11px;color:var(--muted);margin:4px 0 0}.chart-wrap{height:276px;position:relative}.chart-wrap svg{width:100%;height:100%;overflow:visible}.axis{fill:var(--faint);font:10px var(--mono)}.grid-line{stroke:var(--line);stroke-width:1}.line-realized{fill:none;stroke:var(--green);stroke-width:2.5}.line-forecast{fill:none;stroke:var(--amber);stroke-width:2;stroke-dasharray:5 5}.dot-realized{fill:var(--green)}.dot-forecast{fill:var(--amber)}.chart-legend{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-top:10px;flex-wrap:wrap}.legend-line{display:inline-block;width:18px;border-top:2px solid var(--green);vertical-align:middle;margin-right:5px}.legend-line.dashed{border-color:var(--amber);border-top-style:dashed}.flow-list{display:grid;gap:5px}.flow-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.flow-row:last-child{border-bottom:0}.flow-label{color:var(--muted)}.flow-value{font-family:var(--mono);color:var(--text)}.flow-value.inflow,.positive{color:var(--green)}.flow-value.outflow,.negative{color:var(--red)}.flow-value.accrued,.forecast-text{color:var(--amber)}.kpi-section{margin-top:14px}.section-kicker{font-family:var(--mono);font-size:10px;color:var(--faint);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}.small-grid{grid-template-columns:repeat(6,minmax(100px,1fr))}.small-grid .metric{min-height:91px;padding:13px}.small-grid .metric .value{font-size:18px;margin-top:10px}.table-panel{margin-top:14px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th{text-align:left;font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding:9px 10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid #e8eeeb;color:#304039;font-size:11px}tbody tr:hover td{background:#f7faf8}td:first-child,th:first-child{padding-left:0}.num{text-align:right;font-family:var(--mono);font-size:10px}.tag{display:inline-block;border-radius:99px;padding:3px 7px;font-family:var(--mono);font-size:9px;background:#eef2f0;color:var(--muted)}.tag.good{background:var(--green-soft);color:var(--green)}.tag.warn{background:var(--amber-soft);color:var(--amber)}.tag.bad{background:var(--red-soft);color:var(--red)}.ad-summary{grid-template-columns:repeat(2,1fr);margin-bottom:14px}.platform-card{padding:18px;display:flex;justify-content:space-between;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius);box-shadow:0 5px 14px #18251a0a}.platform-name{display:flex;gap:9px;align-items:center;font-size:13px}.platform-bar{width:7px;height:28px;border-radius:3px}.google{background:var(--blue)}.meta{background:#8066d5}.platform-spend{font-family:var(--mono);font-size:16px}.two-col{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quality-card{padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 5px 14px #18251a0a}.quality-card h3{font-size:11px;color:var(--muted);font-weight:500;margin:0 0 8px}.quality-card strong{font:18px var(--mono)}.empty{padding:36px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:var(--radius)}.notice{border:1px solid #e5bb78;color:var(--amber);background:var(--amber-soft);padding:10px 13px;border-radius:8px;margin-bottom:14px;font-size:11px}.hidden{display:none!important}.state{padding:100px;text-align:center;color:var(--muted)}.error-state{color:var(--red)}.menu-button{display:none}.settings-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-row{padding:14px;border:1px solid var(--line);border-radius:9px;background:var(--panel-soft)}.settings-row label{display:flex;justify-content:space-between;align-items:center;gap:18px;color:var(--muted);font-size:11px}.settings-row input{width:120px;background:var(--panel);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:7px 8px;text-align:right;font-family:var(--mono)}.micro{font-size:10px;color:var(--faint)}.muted{color:var(--muted)}.error{color:var(--red);min-height:18px}.login-page{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at 50% 0,#e1f1e9 0,#f5f7f6 48%)}.login-card{width:min(410px,calc(100% - 32px));padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px #18251a18}.login-card h1{font-size:28px;letter-spacing:-.05em;margin:12px 0 8px}.login-card label{display:grid;gap:7px;color:var(--muted);font-size:11px;margin:25px 0 14px}.login-card input{padding:12px;background:var(--panel-soft);color:var(--text);border:1px solid var(--line);border-radius:8px;outline:none}.login-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft)}.full{width:100%;padding:12px}.login-card .micro{margin-top:22px}
@media(max-width:1050px){.headline-grid{grid-template-columns:repeat(3,1fr)}.small-grid{grid-template-columns:repeat(3,1fr)}.work-grid{grid-template-columns:1fr}.quality-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.sidebar{position:fixed;z-index:20;left:-250px;top:0;bottom:0;transition:left .2s;box-shadow:10px 0 30px #18251a25}.sidebar.open{left:0}.main{padding:18px 14px 40px}.topbar{align-items:center;padding-bottom:17px}.menu-button{display:block;margin-right:10px}.topbar>div:first-of-type{display:flex;align-items:center}.topbar h1{font-size:23px}.top-actions{gap:8px}.source-status span:not(.status-dot){display:inline-block}.secondary{font-size:10px;padding:8px}.command-bar{display:block;padding:13px 0}.periods{overflow:auto;flex-wrap:nowrap;margin-bottom:11px}.periods button{padding:7px 9px;white-space:nowrap}.custom-period{justify-content:flex-start}.headline-grid{grid-template-columns:repeat(2,1fr);gap:9px}.metric{padding:13px;min-height:94px}.metric .value{font-size:20px}.small-grid{grid-template-columns:repeat(2,1fr)}.ad-summary,.two-col,.quality-grid,.settings-form{grid-template-columns:1fr}.panel{padding:14px}.chart-wrap{height:230px}}

.order-list{display:grid;gap:12px;margin-top:12px}.order-panel{padding:16px}.order-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:10px}.order-cell{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft)}.order-cell .micro{display:block;margin-bottom:4px}.order-cell strong{font:15px var(--mono)}.order-details{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}.order-details summary{cursor:pointer;color:var(--blue);font-weight:600}.pager-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.pager-actions button:disabled{opacity:.5;cursor:not-allowed}@media(max-width:720px){.order-grid{grid-template-columns:1fr 1fr}.pager-actions{justify-content:flex-start;flex-wrap:wrap}}

/* Audit details and source observation timestamps must remain readable on mobile. */
.source-status { display:flex; flex-wrap:wrap; gap:5px; max-width:650px; }
.order-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.order-cell { min-width:0; overflow-wrap:anywhere; }
.order-cell strong, .order-cell .micro { display:block; }
.order-details { margin-top:16px; }
.order-details summary, details summary { cursor:pointer; font-weight:600; padding:8px 0; }
.order-details table { font-size:12px; }
.pager-actions {display:flex;gap:8px;margin:12px 0;}
.metric .value {color:inherit;}
@media(max-width:700px) {
 .topbar,.top-actions {align-items:flex-start;flex-wrap:wrap;}
 .source-status {max-width:100%;font-size:10px;}
 .top-actions {width:100%;}
 .order-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
 .order-panel .panel-head {flex-wrap:wrap;}
 .command-bar {gap:12px;}
 .custom-period {flex-wrap:wrap;}
 .headline-grid {grid-template-columns:1fr;}
 .panel,.metric {min-width:0;}
 .flow-label,.flow-value {overflow-wrap:anywhere;}
}

.headline-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
#content > .panel {margin-bottom:14px;}
#content > .panel > .small-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
@media(max-width:700px) {
 .topbar {display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;}
 .topbar > div:nth-child(2) {min-width:0;display:block;}
 .topbar .eyebrow {display:none;}
 .topbar h1 {font-size:25px;}
 .top-actions {grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:10px;}
 #freshness.source-status {display:flex!important;white-space:normal;}
 .headline-grid,#content > .panel > .small-grid {grid-template-columns:1fr;}
 .menu-button {display:block;}
 .work-grid {grid-template-columns:1fr;}
}

pre {white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;}

@media(min-width:1100px) {#content > .panel > .small-grid {grid-template-columns:repeat(5,minmax(0,1fr));}}
/* Source proof and model explanations remain readable in narrow order cards. */
.panel p,.metric .delta,.panel-note {overflow-wrap:anywhere;}

.order-dimensions{display:flex;gap:12px;flex-wrap:wrap}.order-dimensions label{display:grid;gap:5px;max-width:100%;min-width:140px}.order-dimensions select{max-width:260px;padding:8px;border:1px solid #d6e2df;border-radius:8px;background:white}.source-fields{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,3fr);gap:8px}.source-fields dt{font-weight:600}.source-fields dd{margin:0;min-width:0;overflow-wrap:anywhere}.source-section,.source-item,.unmatched-order{padding:12px 0;border-bottom:1px solid #dce6e1}.private-result{overflow-wrap:anywhere;min-width:0}.private-result pre{white-space:pre-wrap;overflow-wrap:anywhere}.private-load{max-width:100%;white-space:normal;margin:12px 0}.unmatched-order{min-width:0} @media(max-width:600px){.source-fields{grid-template-columns:1fr}.source-fields dd{padding-left:8px}.order-dimensions select{max-width:100%}}
/* Long source carrier labels must not set the width of the mobile page. */
.order-dimensions{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.order-dimensions label{min-width:0;width:100%}.order-dimensions select{width:100%;min-width:0;max-width:100%;box-sizing:border-box}
