/* Shared orbital palette. Load after the workspace, table, and batch styles. */
:root{
  --bg:#080a12;--nav:#0d0f1a;--panel:#141827;--raised:#1d2135;
  --line:#30344e;--text:#f2f0ff;--muted:#a8abc1;--dim:#9295ad;
  --accent:#a99cff;--good:#75d5a1;--signal-amber:#f0c98d;
  --signal-rose:#ef9da9;--signal-ink:#c4c8df;
}
body{background:radial-gradient(circle at 83% 10%,#29234a3d,transparent 33%),var(--bg);color:var(--text)}
a{color:var(--accent)}
a:hover{color:#ddd7ff}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ffb47e;outline-offset:3px}
.eyebrow,.bw-eyebrow{color:#b5aaff}
.heading h1,.collection-heading h1,.bw-header h1{font-family:"Avenir Next","Segoe UI",sans-serif;letter-spacing:-.05em}
.sidebar{background:var(--nav);border-color:var(--line)}
.brand,.topbar-brand{font-family:"Avenir Next","Segoe UI",sans-serif;color:var(--text)}
.brand small,.nav-label,.topbar-section,.divider{color:var(--dim)}
.logo{background:#292246;color:#c9c1ff;box-shadow:inset 0 0 0 1px #7666b266}
.primary-nav a,.sidebar-more nav a{color:#b9bad0}
.primary-nav a:hover,.sidebar-more nav a:hover{background:#1c1c31;color:var(--text)}
.primary-nav a.active,.sidebar-more nav a.active{background:#292343;color:#f5f1ff;box-shadow:inset 3px 0 0 #a99cff}
.sidebar-more nav a.active .nav-symbol,.primary-nav a.active .nav-symbol{color:#c5bcff}
.sidebar-indicator,.connected-indicator{color:var(--good)}
.topbar{background:#0d0f1a;border-color:var(--line)}
.text-button{color:var(--muted)}
.text-button:hover{color:var(--text)}
.card,.sync-panel,.partial-panel{background:var(--panel);border-color:var(--line);border-radius:16px}
.card h2,.bw-panel h2{font-family:"Avenir Next","Segoe UI",sans-serif}
.button{background:#25293f;color:var(--text);border-color:#454968}
.button:hover{background:#333853;border-color:#7770b2;color:#fff}
.button.primary{background:#a99cff;border-color:#a99cff;color:#151228}
.button.primary:hover{background:#c5bcff;border-color:#c5bcff;color:#151228}
.button.danger{background:#4a2735;border-color:#a96479;color:#ffe1e7}
.button.danger:hover{background:#633045;border-color:#db8798;color:#fff}
.button:disabled{opacity:.58}
label{color:#e5e3f3}
input,textarea,select{background:#0e1221;color:var(--text);border-color:#474c68}
input::placeholder,textarea::placeholder{color:#858aa5}
input:focus,textarea:focus,select:focus{outline-color:#a99cff;border-color:#a99cff}
input[type="checkbox"],input[type="radio"]{accent-color:#a99cff}
pre,.bulk-links{background:#0d1020;color:#e5e6f6;border-color:var(--line)}
.alert{background:#32291e;color:#ffe2b1;border-color:#937047}
.alert.error,.bw-notice.is-error{background:#39232f;color:#ffe0e6;border-color:#b36b80}
.alert.success,.bw-notice.is-success{background:#193327;color:#cff5de;border-color:#528568}
.badge{background:#2a2645;color:#e2dcff}
.status-dot.is-error{background:#ef9da9;box-shadow:0 0 12px #ef9da955}
.status-dot.is-warning{background:#f0c98d;box-shadow:0 0 12px #f0c98d55}

/* Connected workspace and saved reports. */
.onboarding-copy h1 span{color:#b5aaff}
.onboarding-points{color:var(--muted)}
.connect-card{background:linear-gradient(150deg,#24223b,#141827 73%);border-color:#514a77;box-shadow:0 28px 80px #0007}
.connect-mark{background:#2d284c;color:#c8bdff}
.account-badge{border-color:#41715a;background:#173025;color:#b0efca}
.sync-panel{background:linear-gradient(155deg,#1b1e30,#141827 72%)}
.sync-kpis,.sync-kpi:not(:last-child){border-color:var(--line)}
.sync-panel progress{accent-color:#55d8e8}
.account-detail,.quick-item,.signal-column,.queue-list,.queue-empty,.period-strip,.forecast-strip{background:var(--panel);border-color:var(--line)}
.quick-item:hover,.queue-row:hover{background:#22263a;border-color:#7069a7;color:var(--text)}
.quick-icon,.quick-arrow,.queue-count{color:var(--accent)}
.advanced-card>summary{color:var(--text)}
.method{background:#242741;border-color:#484d72;color:#ddd7ff}
.method.write,.method.upload{background:#362532;border-color:#775364;color:#ffd1db}
.bar-track{background:#2a2d45}
.bar-fill{background:#a99cff}
.partial-table-wrap,.priority-table-wrap,.confirm-list{border-color:var(--line)}
.partial-table th,.priority-table thead,.collection-table th{background:#1c2034}
.signal-column,.partial-panel,.priority-panel,.actionable-panel .queue-list,.actionable-panel .queue-empty{border-color:var(--line)}
.signal-tag.low,.signal-mark.low{background:#3c3027;color:#f0c98d}
.signal-tag.costly,.signal-mark.costly{background:#3e2734;color:#ef9da9}
.signal-row,.signal-grid,.signal+.signal,.queue-row,.audit-list>div{border-color:var(--line)}
.queue-severity,.signal-mark{border-radius:8px}
.queue-row.critical .queue-severity{background:#4a2735;color:#ffe0e6}
.queue-row.warning .queue-severity{background:#453323;color:#ffdfa6}
.queue-row.watch .queue-severity{background:#2e294b;color:#ddd7ff}
.audit-list span{color:var(--good)}
.collection-card,.collection-table .detail-row td{background:var(--panel)}
.collection-table .data-row:hover,.row-detail-content{background:#1d2235}
.collection-table th{color:var(--muted)}
.row-toggle{color:#b5aaff}
.detail-row td,.row-detail-content{border-color:var(--line)}
.confirm-card,.ad-chart,.change-item,.change-metric{background:var(--panel);border-color:var(--line)}
.ad-chart line{stroke:#555979}
.ad-chart rect{fill:#a99cff}
.change-item.improved{border-left-color:#75d5a1}
.change-item.review,.change-item.overlap{border-left-color:#ef9da9}
.change-item.waiting,.change-item.missing_after,.change-item.missing_before{border-left-color:#f0c98d}
.priority-panel .button,.ad-edit .button{color:var(--text)}

/* Snapshot rankings and the ad collection grid. */
.analytics-table tr.is-promising{background:#1b312f}
.analytics-table tr.is-promising:hover{background:#24403b}
.analytics-table tr.is-weak{background:#372832}
.analytics-table tr.is-weak:hover{background:#492f3b}
.winner-panel{border-color:#487461}
.winner-list a{background:#192d2c;border-color:#365f52}
.winner-list a:hover{background:#234038}
.winner-tag{background:#1e392f;border-color:#49856d;color:#c6efda}
.diagnostic-facts li{background:#1e2134}
.diagnostic-facts li.good{border-color:#75d5a1}
.diagnostic-facts li.bad{border-color:#f0c98d}
.ad-grid-heading,.ad-grid-dialog-head{background:#1d2135}
.ad-grid-row:hover,.ad-grid-row:focus-within{background:#20253b}
.ad-grid-dialog{border-color:#535778;background:var(--panel)}
.ad-grid-dialog::backdrop{background:#050610dc}
.ad-grid-body .ad-grid-row{border-color:var(--line)}

/* The batch workbench uses the same instruments, not a separate blue theme. */
.bulk-topbar{background:#0d0f1a;border-color:var(--line)}
.bw-steps,.bw-panel,.bw-stage-card,.bw-template-card,.bw-files-panel{background:var(--panel);border-color:var(--line)}
.bw-step{color:var(--dim)}
.bw-step b{border-color:#656586;color:var(--muted)}
.bw-step.is-current{background:#292343;color:var(--text)}
.bw-step.is-current b,.bw-step.is-done b{background:#a99cff;border-color:#a99cff;color:#16122b}
.bw-step.is-done{color:#d9d4f4}
.bw-file-step,.bw-file,.bw-link-row,.bw-source-option,.bw-cleanup-choice,.bw-result-row{background:#101528;border-color:#393d59}
.bw-file-step-number{background:#292446;color:#d0c7ff}
.bw-file,.bw-flow{border-color:#5d597d}
.bw-flow{background:#101426}
.bw-creative{background:linear-gradient(130deg,#20223b,#111629);border-color:#4d4d72}
.bw-creative-foot{border-color:var(--line)}
.bw-creative-foot span,.bw-creative-foot strong,.bw-link-row strong{color:#b8edfa}
.bw-chip,.bw-state-tag{background:#2b2848;color:#d9d1ff;border-color:#6b619c}
.bw-chip.is-bot,.bw-state-tag.is-created{background:#1c332b;color:#bcf0d1;border-color:#508368}
.bw-chip.is-search,.bw-state-tag.is-waiting{background:#3b3025;color:#f5dcae;border-color:#8e714b}
.bw-chip.is-muted{background:#222438;color:var(--muted);border-color:var(--line)}
.bw-state-tag.is-error{background:#3f2734;color:#ffd4dc;border-color:#af6b7d}
.bw-template-card:hover,.bw-source-option:hover{background:#22243a;border-color:#8f7cff}
.bw-target-option span{background:#15192c;border-color:#454967}
.bw-target-option input:checked+span{background:#2a2546;border-color:#a99cff;box-shadow:inset 0 0 0 1px #a99cff}
.bw-files-panel{background:linear-gradient(145deg,#1c1d33,#141827 65%);border-color:#5e578b}
.bw-advanced-import>summary,.bw-fold>summary{background:#1d2135;color:#c8bdff;border-color:var(--line)}
.bw-stage-card{background:linear-gradient(120deg,#211e38,#151827)}
.bw-stage-card p{color:var(--muted)}
.bw-data{color:var(--text)}
.bw-meter{accent-color:#a99cff}
.bw-filters a:hover,.bw-filters a.is-active{background:#292343;border-color:#8f7cff;color:var(--text)}
.bw-notice{background:#352b20;color:#ffdfae;border-color:#8f7049}
.bw-confirm,.bw-cleanup-selection{background:#38242f;border-color:#a46a7b}
.bw-confirm p{color:#ffe0e6}
.bw-cleanup-choice:has(input:checked){background:#292343;border-color:#a99cff}
.bw-result-row.is-created,.bw-cleanup-row.is-deleted{border-left-color:#75d5a1}
.bw-result-row.is-error,.bw-result-row.is-needs_review,.bw-cleanup-row.is-error{border-left-color:#ef9da9}
.bw-result-row.is-sending,.bw-cleanup-row.is-held{border-left-color:#f0c98d}
.bw-result-row .result{color:#c8bdff}
.bw-result-row.is-created .result{color:#b5efce}
.bw-result-row.is-error .result,.bw-result-row.is-needs_review .result{color:#ffcbd5}
.bw-primary-actions .button.primary{background:#ff9b5c;border-color:#ff9b5c;color:#251422}
.bw-primary-actions .button.primary:hover{background:#ffb47e;border-color:#ffb47e;color:#251422}

/* Login is the quiet launchpad for the workspace. */
.auth-page .auth-layout{max-width:none;min-height:100svh;padding:0;grid-template-columns:minmax(0,1.15fr) minmax(440px,.85fr);gap:0;align-items:stretch}
.auth-page .auth-intro{position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:clamp(34px,5vw,75px);background:radial-gradient(circle at 76% 67%,#362a5f88,transparent 42%),linear-gradient(130deg,#16192a,#0b0e1b 77%);border-right:1px solid var(--line)}
.auth-page .auth-brand{display:flex;align-items:center;gap:13px;color:var(--text);font:750 17px "Avenir Next","Segoe UI",sans-serif;letter-spacing:-.02em}
.auth-page .auth-brand small{display:block;font:750 9px/1.6 "Segoe UI",sans-serif;letter-spacing:.19em;color:var(--dim)}
.auth-page .auth-message{position:relative;z-index:1;max-width:600px;margin:auto 0}
.auth-page .auth-message h1{max-width:610px;margin:14px 0 20px;font:760 clamp(45px,5vw,76px)/1.06 "Avenir Next","Segoe UI",sans-serif;letter-spacing:-.065em}
.auth-page .auth-message>p{max-width:490px;margin:0;color:#c1bfd4;font-size:16px;line-height:1.8}
.auth-page .auth-orbit{position:absolute;z-index:0;right:-120px;bottom:5%;width:min(52vw,470px);aspect-ratio:1;border:1px solid #8f7cff77;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 0 36px #8f7cff10,0 0 0 90px #8f7cff08,inset 0 0 85px #8f7cff17}
.auth-page .auth-orbit::before{content:"";position:absolute;inset:19% -13%;border:1px dashed #55d8e899;border-radius:50%;transform:rotate(-31deg)}
.auth-page .auth-orbit::after{content:"";position:absolute;right:18%;top:13%;width:11px;height:11px;border-radius:50%;background:#55d8e8;box-shadow:0 0 19px #55d8e8}
.auth-page .auth-orbit span{position:absolute;inset:36%;display:grid;place-items:center;border-radius:50%;border:1px solid #a99cffaa;background:#292446;color:#ede7ff;font:700 16px "SFMono-Regular",ui-monospace,monospace;letter-spacing:.13em;transform:rotate(24deg)}
.auth-page .auth-environment{position:relative;z-index:1;margin:0;color:var(--muted);font-size:11px}
.auth-page .auth-form-side{display:grid;place-items:center;min-width:0;padding:36px clamp(24px,4vw,70px);background:#0d0f1a}
.auth-page .auth-card{width:min(100%,470px);margin:0;padding:38px;border-radius:20px;background:#171a2d;border-color:#494466;box-shadow:0 26px 75px #0005}
.auth-page .auth-card h2{font-size:30px;margin:12px 0 23px}
.auth-page .auth-card form{margin:0}
.auth-page .auth-card label{margin:17px 0;color:var(--text)}
.auth-page .auth-card input{height:51px;background:#0d1020}
.auth-page .auth-card .connect-submit{height:51px;margin-top:21px;background:#ff9b5c;border-color:#ff9b5c;color:#251422}
.auth-page .auth-card .connect-submit:hover{background:#ffb47e;border-color:#ffb47e;color:#251422}
.auth-page .auth-card .connect-privacy{margin-top:27px;border-color:var(--line)}
.auth-page .auth-card .alert.error{margin:0 0 14px!important}

@media(max-width:850px){
  .auth-page .auth-layout{grid-template-columns:1fr}
  .auth-page .auth-intro{min-height:330px;padding:34px 28px 26px;border-right:0;border-bottom:1px solid var(--line)}
  .auth-page .auth-message{margin:43px 0 30px}
  .auth-page .auth-message h1{font-size:clamp(38px,6vw,55px)}
  .auth-page .auth-orbit{width:330px;right:-130px;bottom:-100px;opacity:.65}
  .auth-page .auth-form-side{padding:28px 24px 55px}
}
@media(max-width:580px){
  .auth-page .auth-intro{min-height:0;padding:24px 20px}
  .auth-page .auth-message{margin:36px 0 26px}
  .auth-page .auth-message h1{font-size:clamp(36px,9vw,45px);margin-bottom:12px}
  .auth-page .auth-message>p{font-size:13px}
  .auth-page .auth-orbit{width:220px;right:-120px;bottom:-80px;opacity:.45}
  .auth-page .auth-form-side{padding:22px 16px 44px}
  .auth-page .auth-card{padding:26px 21px}
  .auth-page .auth-card h2{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.quick-item,.bw-target-option span{transition:none}}
@media(forced-colors:active){.auth-page .auth-card,.bw-step.is-current,.primary-nav a.active,.sidebar-more nav a.active{border:1px solid CanvasText}}
