:root {
  --ink: #122628;
  --muted: #667779;
  --line: #e5ebeb;
  --paper: #ffffff;
  --wash: #f5f8f7;
  --teal-950: #063d41;
  --teal-800: #0a5960;
  --teal-600: #087f88;
  --teal-100: #dff3f1;
  --amber: #e7a43c;
  --amber-bg: #fff5e1;
  --green: #198754;
  --green-bg: #e4f6ed;
  --violet: #7259b5;
  --violet-bg: #eeeaff;
  --danger: #bb3c38;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: var(--wash); }
body { margin: 0; color: var(--ink); background: var(--wash); font-size: 14px; line-height: 1.45; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }

.brand { color: var(--teal-950); display: inline-flex; align-items: center; gap: 10px; text-decoration: none; font-size: 19px; letter-spacing: -0.5px; }
.brand b { font-weight: 750; }
.brand-mark { width: 27px; height: 27px; display: grid; place-items: center; border: 2px solid currentColor; border-radius: 50%; font-size: 15px; font-weight: 850; letter-spacing: -2px; }
.brand-light { color: white; }
.eyebrow { color: var(--teal-600); font-weight: 750; font-size: 10px; letter-spacing: 1.5px; margin: 0 0 9px; }

/* Login */
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(380px, 47%) 1fr; background: var(--paper); }
.login-copy { background: linear-gradient(145deg, #063d41 0%, #075a60 100%); padding: clamp(34px, 7vw, 90px); min-height: 100vh; color: white; display: flex; flex-direction: column; }
.login-hero { margin: auto 0; max-width: 540px; }
.login-copy .eyebrow { color: #a7e3dd; }
.login-hero h1 { font-size: clamp(39px, 4.2vw, 64px); line-height: 1.06; letter-spacing: -2px; max-width: 540px; margin: 0 0 25px; }
.login-hero p:not(.eyebrow) { font-size: 17px; color: #c6dfdf; max-width: 435px; margin: 0; line-height: 1.65; }
.accent-line { width: 70px; height: 3px; background: var(--amber); margin: 8px 0 34px; }
.login-footer { color: #9dc8c8; font-size: 12px; margin: 0; }
.login-panel { display: grid; place-items: center; padding: 40px 7vw; }
.auth-card { max-width: 405px; width: 100%; }
.auth-heading h2 { font-size: 31px; line-height: 1.15; letter-spacing: -1px; margin: 0 0 10px; }
.auth-heading p:not(.eyebrow) { color: var(--muted); margin: 0 0 30px; }

/* Shared form components */
label { display: block; color: #425456; font-weight: 650; font-size: 12px; margin-bottom: 17px; }
input, textarea, select { margin-top: 7px; display: block; width: 100%; border: 1px solid #ccd8d8; border-radius: 7px; background: white; padding: 11px 12px; color: var(--ink); outline: none; transition: border-color .15s, box-shadow .15s; }
input::placeholder, textarea::placeholder { color: #9aa8a9; }
input:focus, textarea:focus, select:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(8, 127, 136, .13); }
textarea { min-height: 88px; resize: vertical; }
.password-wrap { position: relative; }
.password-wrap input { padding-right: 76px; }
.show-password { color: var(--teal-800); position: absolute; right: 8px; bottom: 6px; background: transparent; border: 0; padding: 5px 7px; font-size: 11px; font-weight: 750; }
.button { border: 0; border-radius: 7px; min-height: 42px; padding: 0 17px; font-weight: 750; letter-spacing: .05px; transition: transform .15s, background .15s, box-shadow .15s; }
.button:hover { transform: translateY(-1px); }
.button:disabled { cursor: wait; opacity: .65; transform: none; }
.button.primary { color: #fff; background: var(--teal-800); box-shadow: 0 4px 10px rgba(6, 61, 65, .14); }
.button.primary:hover { background: var(--teal-950); }
.button.primary span { font-size: 18px; line-height: 0; margin-left: 4px; }
.button.full { width: 100%; margin-top: 8px; }
.form-error, .form-success { display: none; font-size: 12px; margin: -4px 0 12px; }
.form-error:not(:empty) { color: var(--danger); display: block; }
.form-success:not(:empty) { color: var(--green); display: block; }

/* Dashboard shell */
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 244px minmax(0, 1fr); }
.sidebar { background: var(--paper); border-right: 1px solid var(--line); padding: 28px 18px 20px; display: flex; flex-direction: column; min-height: 100vh; position: sticky; top: 0; }
.sidebar .brand { padding: 0 9px; }
.workspace-label { font-size: 10px; letter-spacing: 1.3px; font-weight: 750; color: #9aa9aa; margin: 49px 9px 13px; }
.nav-list { display: grid; gap: 3px; }
.nav-link { border: 0; border-radius: 7px; padding: 10px 11px; background: transparent; color: #536567; text-align: left; font-weight: 600; display: flex; gap: 12px; align-items: center; }
.nav-link:hover { background: #f0f5f5; color: var(--teal-950); }
.nav-link.active { background: var(--teal-100); color: var(--teal-950); font-weight: 750; }
.nav-icon { font-size: 17px; width: 17px; text-align: center; line-height: 1; }
.sidebar-bottom { margin-top: auto; }
.help-box { padding: 13px 9px; display: flex; align-items: flex-start; gap: 9px; color: var(--muted); border-top: 1px solid var(--line); }
.help-box > span { display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; background: #edf2f2; border-radius: 50%; color: var(--teal-800); font-size: 12px; font-weight: 800; }
.help-box p { margin: 0; font-size: 10.5px; line-height: 1.45; }.help-box strong { color: #405254; }
.logout-button { width: 100%; background: transparent; color: #778789; border: 0; text-align: left; padding: 10px; font-weight: 650; }.logout-button:hover { color: var(--danger); }
.content-area { min-width: 0; }
.topbar { height: 72px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(22px, 4vw, 52px); background: rgba(255,255,255,.9); border-bottom: 1px solid var(--line); }
.breadcrumb { display: flex; align-items: center; gap: 12px; font-weight: 750; color: #324749; }.breadcrumb-date { color: #91a0a1; font-weight: 500; font-size: 12px; padding-left: 13px; border-left: 1px solid #d8e0e0; }
.menu-button { display: none; background: transparent; border: 0; font-size: 24px; color: var(--teal-950); }
.profile-chip { background: transparent; border: 0; display: flex; align-items: center; gap: 9px; text-align: left; color: var(--ink); padding: 4px; }.profile-chip b { display: block; font-size: 12px; }.profile-chip small { display: block; color: var(--muted); font-size: 10px; margin-top: 1px; }.chevron { color: var(--muted); margin-left: 3px; }
.avatar, .large-avatar { border-radius: 50%; display: grid; place-items: center; background: #cae6e2; color: var(--teal-950); font-weight: 800; }.avatar { width: 33px; height: 33px; font-size: 11px; }.large-avatar { width: 64px; height: 64px; font-size: 20px; }
.page-wrap { padding: clamp(28px, 4vw, 49px) clamp(22px, 4vw, 52px) 64px; max-width: 1540px; }
.page { display: none; }.page.active-page { display: block; }
.page-heading { margin-bottom: 28px; }.page-heading h1 { font-size: 29px; letter-spacing: -1px; line-height: 1.15; margin: 0 0 7px; }.page-heading > p:not(.eyebrow) { color: var(--muted); margin: 0; }.heading-split { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(160px, 1fr)); gap: 15px; margin-bottom: 26px; }.stat-card { min-height: 124px; border: 1px solid var(--line); border-radius: 9px; padding: 20px; background: var(--paper); display: flex; align-items: flex-start; gap: 13px; }.stat-icon { width: 35px; height: 35px; border-radius: 8px; display: grid; place-items: center; font-size: 18px; font-weight: 800; }.stat-icon.sea { background: var(--teal-100); color: var(--teal-800); }.stat-icon.amber { background: var(--amber-bg); color: #c78217; }.stat-icon.green { background: var(--green-bg); color: var(--green); }.stat-icon.violet { background: var(--violet-bg); color: var(--violet); }.stat-label { display: block; font-size: 9px; letter-spacing: .9px; font-weight: 750; color: #879697; margin: 2px 0 3px; }.stat-card strong { display: block; font-size: 27px; letter-spacing: -1px; line-height: 1; }.stat-card small { color: var(--muted); font-size: 10px; }
.content-card { background: var(--paper); border: 1px solid var(--line); border-radius: 9px; }.recent-card { padding: 23px 25px 8px; }.card-heading { display: flex; align-items: start; justify-content: space-between; gap: 20px; margin-bottom: 20px; }.card-heading h2 { font-size: 15px; margin: 0 0 4px; }.card-heading p { color: var(--muted); margin: 0; font-size: 12px; }.text-button { border: 0; color: var(--teal-800); background: transparent; font-weight: 750; padding: 1px; font-size: 12px; }
.recent-list { min-height: 72px; }.recent-item { display: grid; grid-template-columns: 32px 1fr auto; gap: 12px; align-items: center; padding: 13px 1px; border-top: 1px solid var(--line); }.doc-icon { width: 31px; height: 33px; border-radius: 5px; background: #eaf2f2; color: var(--teal-800); display: grid; place-items: center; font-size: 15px; }.recent-item b { font-size: 12px; display: block; }.recent-item small { color: var(--muted); font-size: 11px; }.empty-state { color: var(--muted); text-align: center; padding: 32px 12px; font-size: 12px; }

/* Forecast de medios */
.forecast-actions { display: flex; align-items: flex-end; gap: 10px; }.forecast-year-control { min-width: 188px; }.forecast-year-control label { margin: 0 0 5px; }.forecast-year-control > div { display: flex; gap: 7px; }.forecast-year-control select { width: 90px; margin: 0; padding: 8px 10px; }.forecast-plan-intro { display: flex; align-items: flex-start; gap: 17px; padding: 24px; margin-bottom: 16px; background: linear-gradient(105deg, #ffffff, #f1faf8); }.forecast-phase-icon { flex: 0 0 43px; width: 43px; height: 43px; display: grid; place-items: center; border-radius: 12px; color: var(--teal-800); background: var(--teal-100); font-size: 24px; font-weight: 800; }.forecast-phase-card .eyebrow { margin: 1px 0 5px; }.forecast-phase-card h2 { margin: 0 0 5px; font-size: 17px; }.forecast-phase-card p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; }.forecast-plan-kpis { display: grid; grid-template-columns: repeat(4, minmax(150px, 1fr)); gap: 14px; margin-bottom: 18px; }.forecast-kpi-card { min-height: 124px; padding: 19px; position: relative; overflow: hidden; }.forecast-kpi-card::after { content: ""; position: absolute; inset: auto -18px -35px auto; width: 85px; height: 85px; border-radius: 50%; background: var(--teal-100); opacity: .58; }.forecast-kpi-card:nth-child(2)::after { background: #f7ead5; }.forecast-kpi-card:nth-child(3)::after { background: #e8e1fb; }.forecast-kpi-card span { display: block; color: #869596; font-size: 9px; font-weight: 750; letter-spacing: .8px; }.forecast-kpi-card strong { display: block; position: relative; z-index: 1; color: var(--ink); margin: 8px 0 4px; font-size: 25px; letter-spacing: -1px; line-height: 1.05; }.forecast-kpi-card small { color: var(--muted); font-size: 10px; }.forecast-line-cards { display: grid; gap: 15px; }.forecast-line-card { overflow: hidden; padding: 0; }.forecast-line-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 20px 22px 16px; }.forecast-account-name { color: var(--teal-800); font-size: 10px; font-weight: 800; letter-spacing: .85px; text-transform: uppercase; }.forecast-line-heading h2 { margin: 4px 0 3px; font-size: 17px; letter-spacing: -.3px; }.forecast-line-heading h2 span { color: #9eacae; }.forecast-line-heading p { margin: 0; color: var(--muted); font-size: 11px; }.forecast-line-total { flex: 0 0 auto; text-align: right; }.forecast-line-total span { display: block; color: #879697; font-size: 9px; font-weight: 750; letter-spacing: .7px; }.forecast-line-total strong { display: block; margin-top: 5px; color: var(--teal-950); font-size: 19px; letter-spacing: -.5px; }.forecast-line-signals { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 22px 16px; }.forecast-line-signals span { border-radius: 999px; padding: 5px 8px; background: #f4f8f8; color: var(--muted); font-size: 10px; }.forecast-line-signals b { color: var(--ink); }.forecast-line-warning { margin: 0 22px 16px; padding: 8px 10px; border-left: 3px solid var(--amber); border-radius: 4px; background: var(--amber-bg); color: #755117; font-size: 10px; }.forecast-month-grid { display: grid; grid-template-columns: repeat(12, minmax(76px, 1fr)); gap: 7px; padding: 15px 22px 21px; border-top: 1px solid var(--line); overflow-x: auto; }.forecast-month { min-width: 76px; margin: 0; padding: 9px; border: 1px solid #e0eaea; border-radius: 8px; background: #fbfdfd; transition: border-color .15s, box-shadow .15s; }.forecast-month:focus-within { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(8,127,136,.1); }.forecast-month > span { display: block; color: #809092; font-size: 8px; font-weight: 800; letter-spacing: .65px; }.forecast-month input { min-width: 0; margin: 4px 0 0; padding: 2px 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; color: var(--ink); font-size: 12px; font-weight: 750; }.forecast-month input:focus { box-shadow: none; }.forecast-month small { display: block; margin-top: 2px; color: #9aa8a9; font-size: 8px; }.forecast-month.closed { background: #f3f4f4; opacity: .72; }.forecast-empty { min-height: 180px; display: flex; align-items: center; justify-content: center; gap: 15px; padding: 28px; text-align: left; }.forecast-empty > span { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 12px; background: var(--teal-100); color: var(--teal-800); font-size: 22px; font-weight: 800; }.forecast-empty h2 { margin: 0 0 4px; font-size: 16px; }.forecast-empty p { max-width: 460px; margin: 0; color: var(--muted); font-size: 12px; }

.forecast-staging-modal { width: min(100%, 640px); }.forecast-staging-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0 0 17px; }.forecast-staging-summary span { padding: 10px 8px; border-radius: 7px; background: #f4f8f8; color: var(--muted); text-align: center; font-size: 10px; }.forecast-staging-summary b { display: block; color: var(--ink); font-size: 19px; }.forecast-staging-list { display: grid; gap: 1px; max-height: 225px; overflow: auto; margin-top: 20px; border: 1px solid var(--line); border-radius: 8px; }.forecast-staging-list div { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; background: #fbfdfd; font-size: 11px; }.forecast-staging-list span { color: var(--muted); }
.forecast-import-preview { margin: 20px 0 14px; padding: 14px; border-radius: 8px; background: #f3f8f8; color: var(--muted); font-size: 11px; }.forecast-import-preview b { color: var(--teal-950); font-size: 13px; }.forecast-import-preview p { margin: 5px 0; }.forecast-import-preview ul { margin: 9px 0 0; padding-left: 17px; }.forecast-import-preview li + li { margin-top: 4px; }

/* Forecast Phase 3: dashboard-first view, while keeping line editing separate. */
.forecast-view-switch { display: inline-flex; gap: 3px; padding: 4px; margin: 0 0 16px; border: 1px solid #dce7e7; border-radius: 9px; background: #f8fbfb; }.forecast-view-switch button { border: 0; border-radius: 6px; padding: 8px 11px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 750; }.forecast-view-switch button.active { color: var(--teal-950); background: white; box-shadow: 0 2px 7px rgba(6,61,65,.10); }.forecast-dashboard-filters { display: flex; align-items: flex-end; justify-content: space-between; gap: 22px; padding: 18px 20px; margin-bottom: 17px; }.forecast-dashboard-filters .eyebrow { margin: 0 0 4px; }.forecast-dashboard-filters h2 { margin: 0; font-size: 15px; }.forecast-filter-grid { display: grid; grid-template-columns: repeat(5, minmax(118px, 1fr)); gap: 9px; flex: 1; max-width: 780px; }.forecast-filter-grid label { min-width: 0; margin: 0; color: #6a7b7d; font-size: 9px; letter-spacing: .35px; }.forecast-filter-grid select { margin-top: 4px; padding: 7px 8px; font-size: 11px; }.forecast-dashboard-kpis { margin-bottom: 17px; }.forecast-dashboard-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(220px, .75fr); gap: 15px; margin-bottom: 15px; }.forecast-dashboard-lower { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 15px; }.forecast-dashboard-panel { overflow: hidden; padding: 0; }.forecast-dashboard-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; padding: 18px 20px 13px; }.forecast-dashboard-panel .eyebrow { margin: 0 0 4px; }.forecast-dashboard-panel h2 { margin: 0; font-size: 15px; }.forecast-monthly-panel > header > span { border-radius: 999px; padding: 4px 7px; color: var(--teal-800); background: var(--teal-100); font-size: 9px; font-weight: 800; }.forecast-monthly-chart { display: flex; align-items: flex-end; gap: 9px; height: 205px; padding: 16px 20px 20px; border-top: 1px solid var(--line); overflow-x: auto; }.forecast-monthly-bar { display: flex; flex: 1 0 42px; min-width: 42px; height: 100%; flex-direction: column; justify-content: flex-end; align-items: center; gap: 5px; }.forecast-monthly-bar span { display: block; width: 100%; height: var(--forecast-bar); min-height: 0; border-radius: 6px 6px 2px 2px; background: linear-gradient(180deg, #3bb1ad, var(--teal-800)); }.forecast-monthly-bar b { max-width: 58px; overflow: hidden; color: #526668; font-size: 9px; font-weight: 700; white-space: nowrap; text-overflow: ellipsis; }.forecast-monthly-bar small { color: #829294; font-size: 9px; font-weight: 800; letter-spacing: .5px; }.forecast-real-panel { display: flex; flex-direction: column; justify-content: center; min-height: 250px; padding: 25px; background: linear-gradient(145deg, #f5fbfa, #eff4fb); }.forecast-real-panel h2 { font-size: 18px; }.forecast-real-panel p:not(.eyebrow) { max-width: 230px; margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }.forecast-account-insights { border-top: 1px solid var(--line); }.forecast-account-insight { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 20px; border-top: 1px solid var(--line); }.forecast-account-insight:first-child { border-top: 0; }.forecast-account-insight b, .forecast-account-insight strong { display: block; color: var(--ink); font-size: 12px; }.forecast-account-insight strong { color: var(--teal-950); text-align: right; font-size: 14px; }.forecast-account-insight small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }.forecast-alert-count { display: grid; place-items: center; min-width: 24px; height: 24px; border-radius: 50%; color: #8a5b10; background: var(--amber-bg); font-size: 10px; font-weight: 800; }.forecast-alerts { border-top: 1px solid var(--line); }.forecast-alert { display: flex; align-items: flex-start; gap: 9px; padding: 13px 17px; border-top: 1px solid var(--line); }.forecast-alert:first-child { border-top: 0; }.forecast-alert > span { display: grid; place-items: center; flex: 0 0 20px; width: 20px; height: 20px; border-radius: 50%; color: #8c5b10; background: var(--amber-bg); font-size: 12px; font-weight: 850; }.forecast-alert.attention > span { color: var(--violet); background: var(--violet-bg); }.forecast-alert b { display: block; color: var(--ink); font-size: 11px; }.forecast-alert p { margin: 2px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.forecast-dashboard-empty { padding: 28px 20px; color: var(--ink); background: #fbfdfd; text-align: center; }.forecast-dashboard-empty b { font-size: 12px; }.forecast-dashboard-empty p { margin: 4px auto 0; max-width: 310px; color: var(--muted); font-size: 10px; }.forecast-dashboard-empty.compact { padding: 20px; }

/* Forecast Phase 4: source-aware real spend and safe account linking. */
.forecast-bar-pair { display: flex; align-items: flex-end; gap: 3px; width: 100%; height: 100%; }.forecast-monthly-bar .forecast-bar-pair span { flex: 1; width: auto; }.forecast-monthly-bar .forecast-bar-pair span.plan { background: #b8ccca; }.forecast-monthly-bar .forecast-bar-pair span.real { background: linear-gradient(180deg, #6c9ded, #315dba); }.forecast-real-card .forecast-line-heading { padding-bottom: 11px; }.forecast-real-month > span { white-space: nowrap; }.forecast-real-month button { width: 100%; margin-top: 5px; padding: 3px 2px; border: 0; border-radius: 4px; color: var(--teal-800); background: var(--teal-100); font-size: 8px; font-weight: 750; }.forecast-ads-modal { width: min(100%, 700px); }.forecast-ads-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 17px; }.forecast-ads-list { display: grid; gap: 1px; margin: 16px 0 20px; overflow: auto; border: 1px solid var(--line); border-radius: 8px; background: var(--line); }.forecast-ads-list > article { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 12px; background: #fbfdfd; }.forecast-ads-list b { display: block; color: var(--ink); font-size: 11px; }.forecast-ads-list small { display: block; margin-top: 2px; color: var(--muted); font-size: 9px; }.forecast-ads-list .ready, .forecast-ads-list .inactive { flex: 0 0 auto; border-radius: 999px; padding: 4px 6px; font-size: 9px; font-weight: 750; }.forecast-ads-list .ready { color: #176b43; background: var(--green-bg); }.forecast-ads-list .inactive { color: #8a5b10; background: var(--amber-bg); }.forecast-ads-list section { padding: 12px; background: #fbfdfd; }.forecast-ads-list section + section { border-top: 1px solid var(--line); }.forecast-ads-list h3 { display: flex; align-items: center; justify-content: space-between; margin: 0 0 8px; font-size: 12px; }.forecast-ads-list h3 span { border-radius: 999px; padding: 2px 6px; color: var(--teal-800); background: var(--teal-100); font-size: 9px; }.forecast-ads-list section article { padding: 8px 0; border-top: 1px solid var(--line); }.forecast-ads-list section p { margin: 0; color: var(--muted); font-size: 10px; }

/* Forecast Phase 5: transparent close projection and data-gated client models. */
.forecast-projection-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 15px; margin-bottom: 15px; }.forecast-projection-panel { overflow: hidden; padding: 0; }.forecast-projection-panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 18px 20px 13px; }.forecast-projection-panel .eyebrow { margin: 0 0 4px; }.forecast-projection-panel h2 { margin: 0; font-size: 15px; }.forecast-projection-badge, .forecast-client-model-panel > header > span { flex: 0 0 auto; border-radius: 999px; padding: 4px 7px; color: #8a5b10; background: var(--amber-bg); font-size: 9px; font-weight: 800; letter-spacing: .45px; }.forecast-projection-badge.ready { color: #176b43; background: var(--green-bg); }.forecast-projection-stats { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 1px; border-top: 1px solid var(--line); background: var(--line); }.forecast-projection-stats > div { min-height: 82px; padding: 14px 18px; background: #fbfdfd; }.forecast-projection-stats span { display: block; color: #839293; font-size: 8px; font-weight: 800; letter-spacing: .65px; }.forecast-projection-stats strong, .forecast-projection-stats b { display: block; margin-top: 7px; color: var(--teal-950); font-size: 17px; letter-spacing: -.4px; }.forecast-projection-stats b { color: var(--ink); font-size: 13px; }.forecast-projection-note { margin: 0; padding: 12px 18px 15px; color: var(--muted); background: linear-gradient(90deg, #f5fbfa, #fbfdfd); font-size: 10px; line-height: 1.45; }.forecast-client-models { border-top: 1px solid var(--line); }.forecast-client-model { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 18px; border-top: 1px solid var(--line); }.forecast-client-model:first-child { border-top: 0; }.forecast-client-model b, .forecast-client-model strong { display: block; color: var(--ink); font-size: 11px; }.forecast-client-model strong { color: var(--teal-950); text-align: right; font-size: 14px; }.forecast-client-model small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }.forecast-model-empty { padding: 25px 18px; background: #fbfdfd; text-align: center; }.forecast-model-empty b { color: var(--ink); font-size: 11px; }.forecast-model-empty p { max-width: 340px; margin: 5px auto 0; color: var(--muted); font-size: 10px; line-height: 1.45; }.forecast-alert.info > span { color: #176b43; background: var(--green-bg); }

/* Tables and details */
.plans-card { overflow: hidden; }.table-toolbar { padding: 17px 21px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 16px; }.search-wrap { max-width: 320px; flex: 1; position: relative; }.search-wrap span { position: absolute; color: #91a0a1; left: 11px; top: 8px; font-size: 19px; }.search-wrap input { margin: 0; padding: 9px 11px 9px 33px; font-size: 12px; }.item-count { color: var(--muted); font-size: 11px; white-space: nowrap; }.table-wrap { overflow-x: auto; }table { border-collapse: collapse; width: 100%; min-width: 730px; }th { text-align: left; color: #8a999a; background: #fbfcfc; font-size: 9px; letter-spacing: .8px; padding: 13px 21px; }td { padding: 14px 21px; border-top: 1px solid var(--line); font-size: 12px; color: #4d5e60; vertical-align: middle; }.plan-name { display: flex; align-items: center; gap: 9px; color: var(--ink); font-weight: 700; }.plan-name .doc-icon { width: 27px; height: 29px; font-size: 13px; }.plan-name small { display: block; font-size: 10px; font-weight: 500; color: var(--muted); margin-top: 1px; }.status { display: inline-flex; align-items: center; border-radius: 999px; padding: 4px 8px; font-size: 10px; font-weight: 750; }.status.submitted { background: var(--amber-bg); color: #aa6c0c; }.status.reviewed { background: var(--green-bg); color: #187145; }.status.inactive { background: #f2eeee; color: #806565; }.action-button { border: 1px solid #d2dddd; border-radius: 5px; background: white; color: var(--teal-800); padding: 5px 8px; font-size: 11px; font-weight: 700; }.action-button:hover { background: var(--teal-100); }.action-stack { display: flex; gap: 6px; }.user-email { color: var(--muted); font-size: 11px; }

/* Account */
.account-grid { display: grid; grid-template-columns: minmax(260px, .85fr) minmax(340px, 1.2fr); gap: 20px; max-width: 960px; }.profile-card { padding: 26px; }.account-identity { display: flex; align-items: center; gap: 15px; padding-bottom: 24px; border-bottom: 1px solid var(--line); }.account-identity h2 { font-size: 18px; margin: 0 0 4px; }.account-identity p { margin: 0 0 9px; color: var(--muted); font-size: 12px; }.role-badge { display: inline-block; background: var(--teal-100); color: var(--teal-800); border-radius: 20px; padding: 3px 7px; font-size: 10px; font-weight: 750; }.info-row { padding: 17px 0 0; display: flex; justify-content: space-between; gap: 15px; color: var(--muted); font-size: 12px; }.info-row b { color: var(--ink); }.active-status { color: var(--green) !important; }.password-card { padding: 26px; }.form-grid { max-width: 480px; }.optional { color: var(--muted); font-weight: 500; }.file-input { border: 1px dashed #aebfbf; border-radius: 7px; padding: 12px; background: #fbfdfd; }.file-input input { border: 0; padding: 5px 0 0; box-shadow: none !important; background: transparent; }.file-input small { color: var(--muted); display: block; margin-top: 3px; font-size: 10px; font-weight: 500; }

/* Creative analyzer */
.analyzer-notice { display: flex; align-items: flex-start; gap: 13px; max-width: 860px; padding: 16px 18px; margin: -5px 0 22px; background: var(--teal-100); border: 1px solid #c5e6e2; border-radius: 9px; }
.analyzer-notice-icon { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border-radius: 7px; background: white; color: var(--teal-800); font-size: 16px; font-weight: 800; }
.analyzer-notice strong { display: block; color: var(--teal-950); font-size: 12px; margin: 1px 0 3px; }
.analyzer-notice p { color: #456467; margin: 0; font-size: 11px; max-width: 700px; }
.creative-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(460px, 1fr)); gap: 17px; }
.creative-card { display: grid; grid-template-columns: 168px minmax(0, 1fr); overflow: hidden; background: var(--paper); border: 1px solid var(--line); border-radius: 9px; min-height: 245px; }
.creative-image { background: #eaf1f1; min-height: 100%; }
.creative-image img { display: block; width: 100%; height: 100%; min-height: 245px; object-fit: cover; }
.creative-card-body { min-width: 0; padding: 18px 19px 15px; }
.creative-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.creative-card-heading h2 { color: var(--ink); font-size: 15px; letter-spacing: -.2px; margin: 1px 0 3px; }
.creative-meta { margin: 0; color: var(--teal-800); font-size: 10px; font-weight: 750; }
.creative-submeta, .creative-footer { color: var(--muted); margin: 0; font-size: 10px; }
.creative-score { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border-radius: 50%; font-size: 12px; font-weight: 800; }
.creative-score.ready { color: #176b43; background: var(--green-bg); }
.creative-score.review { color: #a86e12; background: var(--amber-bg); }
.creative-score.needs-work { color: var(--danger); background: #f9e9e8; }
.signal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 15px 0 12px; }
.signal-grid span { min-width: 0; color: var(--muted); font-size: 9px; line-height: 1.25; }
.signal-grid b { display: block; color: var(--ink); font-size: 15px; line-height: 1.1; }
.creative-notes { color: #536769; margin: 0 0 9px; padding-left: 16px; font-size: 10px; line-height: 1.4; }
.creative-notes li + li { margin-top: 3px; }
.creative-empty { grid-column: 1 / -1; background: var(--paper); border: 1px solid var(--line); border-radius: 9px; }

/* Meta connection and performance criteria */
.meta-connection { margin: -4px 0 18px; }.meta-connection-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 20px; align-items: center; background: var(--paper); border: 1px solid var(--line); border-radius: 9px; padding: 21px 23px; }.meta-connection-copy { display: flex; gap: 13px; align-items: flex-start; }.meta-mark { display: grid; place-items: center; flex: 0 0 37px; width: 37px; height: 37px; border-radius: 9px; color: white; background: #1877f2; font-size: 18px; font-weight: 800; }.meta-connection-copy h2, .section-heading h2, .criteria-card h2 { color: var(--ink); margin: 0 0 4px; font-size: 15px; }.meta-connection-copy p, .section-heading p, .criteria-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }.meta-status { display: inline-flex; margin: 8px 0 0; padding: 4px 8px; border-radius: 999px; color: #a86e12; background: var(--amber-bg); font-size: 10px; font-weight: 750; }.meta-steps { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }.meta-steps span { border: 1px solid #dce7e7; border-radius: 999px; padding: 4px 7px; color: var(--teal-800); background: #fbfdfd; font-size: 9px; font-weight: 700; }.analysis-criteria { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 0 0 24px; }.criteria-card { display: flex; gap: 12px; min-height: 126px; padding: 18px; border: 1px solid var(--line); border-radius: 9px; background: var(--paper); }.criteria-card > span { display: grid; place-items: center; flex: 0 0 30px; height: 30px; border-radius: 7px; background: var(--teal-100); color: var(--teal-800); font-size: 14px; font-weight: 800; }.criteria-card .eyebrow { margin: 1px 0 4px; font-size: 8px; }.criteria-card h2 { font-size: 13px; }.historical-library { border-top: 1px solid var(--line); padding-top: 22px; }.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 0 15px; }.section-heading .eyebrow { margin: 0 0 4px; }


/* Organic Meta library */
.organic-connection-card { margin-top: 12px; }.organic-mark { background: linear-gradient(135deg, #1877f2 0%, #8c3ed7 48%, #f59d26 100%); }.organic-report { margin: 0 0 18px; }.organic-empty { margin: 0 0 18px; }.organic-library { display: grid; gap: 14px; padding: 21px 22px; background: var(--paper); border: 1px solid var(--line); border-radius: 9px; }.organic-kpi-grid { display: grid; grid-template-columns: repeat(5, minmax(120px, 1fr)); gap: 10px; }.organic-kpi { min-height: 94px; padding: 14px; border: 1px solid var(--line); border-radius: 8px; background: #fbfdfd; }.organic-kpi span { display: block; color: #869596; font-size: 8px; font-weight: 750; letter-spacing: .75px; }.organic-kpi strong { display: block; color: var(--ink); margin: 7px 0 3px; font-size: 21px; line-height: 1.1; }.organic-kpi small { color: var(--muted); font-size: 10px; }.organic-warning { margin: 0; padding: 10px 12px; border-left: 3px solid #d79a34; border-radius: 5px; background: var(--amber-bg); color: #745116; font-size: 11px; line-height: 1.45; }.organic-platform { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; }.organic-piece-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--line); }.organic-piece-grid > .empty-state { grid-column: 1 / -1; margin: 0; padding: 22px; background: #fbfdfd; }.organic-piece-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); min-height: 150px; background: var(--paper); }.organic-piece-image { display: grid; place-items: center; overflow: hidden; background: var(--teal-100); color: var(--teal-800); font-size: 25px; font-weight: 800; }.organic-piece-image img { width: 100%; height: 100%; min-height: 150px; object-fit: cover; }.organic-piece-body { min-width: 0; padding: 14px; }.organic-piece-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }.organic-piece-heading h3 { margin: 3px 0 0; color: var(--ink); font-size: 12px; line-height: 1.35; }.organic-piece-heading h3 a { color: inherit; text-decoration: none; }.organic-piece-heading h3 a:hover { text-decoration: underline; }.organic-score { flex: 0 0 auto; border-radius: 999px; padding: 4px 7px; color: var(--teal-800); background: var(--teal-100); font-size: 10px; font-weight: 800; }.organic-piece-date { margin: 7px 0; color: var(--muted); font-size: 10px; }.organic-metric-row { display: grid; gap: 3px; color: var(--muted); font-size: 10px; }.organic-metric-row b { display: block; color: var(--ink); font-size: 11px; }.organic-metric-row small { font-size: 9px; line-height: 1.35; }

/* Meta reporting */
.meta-report-controls { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 19px 22px; margin-bottom: 18px; }
.meta-report-controls h2 { font-size: 15px; margin: 0 0 4px; }.meta-report-controls p { color: var(--muted); font-size: 12px; margin: 0; }.meta-date-controls { display: flex; gap: 10px; }.meta-date-controls label { margin: 0; min-width: 145px; font-size: 11px; }.meta-date-controls input { margin-top: 4px; padding: 8px 9px; font-size: 12px; }
.meta-report { display: grid; gap: 18px; }.meta-kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(145px, 1fr)); gap: 14px; }.meta-kpi { min-height: 112px; padding: 18px; background: var(--paper); border: 1px solid var(--line); border-radius: 9px; }.meta-kpi-label { display: block; color: #869596; font-size: 9px; font-weight: 750; letter-spacing: .8px; }.meta-kpi strong { display: block; color: var(--ink); font-size: 25px; letter-spacing: -.8px; line-height: 1.1; margin: 8px 0 4px; }.meta-kpi small { color: var(--muted); font-size: 11px; }
.meta-report-section { overflow: hidden; }.meta-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 20px 22px 14px; }.meta-section-heading h2 { font-size: 15px; margin: 0 0 4px; }.meta-section-heading p { color: var(--muted); font-size: 11px; margin: 0; }.meta-chart { display: flex; align-items: flex-end; gap: 7px; height: 150px; padding: 10px 22px 21px; border-top: 1px solid var(--line); overflow-x: auto; }.meta-bar { min-width: 16px; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; gap: 5px; }.meta-bar span { display: block; min-height: 3px; height: var(--bar); border-radius: 4px 4px 1px 1px; background: var(--teal-600); }.meta-bar small { color: var(--muted); font-size: 9px; white-space: nowrap; transform: rotate(-45deg); transform-origin: left top; margin-top: 5px; }
.meta-read-only { flex: 0 0 auto; border: 1px solid #b8d7c8; border-radius: 999px; padding: 4px 8px; color: #176b43; background: var(--green-bg); font-size: 9px; font-weight: 750; }
.meta-empty { padding: 30px 24px; border: 1px dashed #b8caca; border-radius: 9px; background: #fbfdfd; }.meta-empty h2 { font-size: 16px; margin: 0 0 5px; }.meta-empty p { color: var(--muted); margin: 0; font-size: 12px; }.meta-connection-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }.meta-connection-actions select { width: min(285px, 100%); margin: 0; padding: 8px 10px; font-size: 12px; }.meta-status.connected { color: #176b43; background: var(--green-bg); } .integration-status { display: inline-flex; margin-top: 8px; padding: 4px 8px; border-radius: 999px; color: #a86e12; background: var(--amber-bg); font-size: 10px; font-weight: 750; } .integration-status.connected { color: #176b43; background: var(--green-bg); }
.meta-admin-settings { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-top: 18px; padding: 22px; }.meta-admin-settings h2 { margin: 3px 0 5px; font-size: 16px; }.meta-admin-settings p:not(.eyebrow) { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.45; }.meta-admin-settings .eyebrow { margin: 0; }.integration-manual-auth { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 20px; }.integration-manual-auth p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.45; margin: 0 0 14px; }

/* Modals and notifications */
.modal { position: fixed; z-index: 20; inset: 0; padding: 24px; display: grid; place-items: center; background: rgba(6, 36, 38, .58); }.modal-card { position: relative; width: min(100%, 510px); max-height: calc(100vh - 48px); overflow-y: auto; background: white; border-radius: 11px; padding: 31px; box-shadow: 0 20px 70px rgba(0,0,0,.25); }.modal-card h2 { margin: 0 0 7px; font-size: 22px; letter-spacing: -.5px; }.modal-description { color: var(--muted); margin: 0 0 23px; font-size: 12px; }.close-modal { position: absolute; top: 12px; right: 15px; border: 0; background: transparent; color: var(--muted); font-size: 24px; line-height: 1; }.modal .form-grid { max-width: none; }.modal-locked { z-index: 30; }.modal-locked .modal-card { box-shadow: 0 20px 70px rgba(0,0,0,.3); }.toast { position: fixed; z-index: 50; right: 24px; bottom: 24px; min-width: 240px; max-width: min(420px, calc(100vw - 48px)); color: white; background: var(--teal-950); border-radius: 7px; padding: 13px 16px; box-shadow: 0 10px 28px rgba(0,0,0,.18); font-size: 12px; }.toast.error { background: #9e3532; }

@media (max-width: 1050px) { .organic-kpi-grid { grid-template-columns: repeat(2, 1fr); } .organic-piece-grid { grid-template-columns: 1fr; }  .stats-grid, .meta-kpi-grid, .forecast-plan-kpis { grid-template-columns: repeat(2, 1fr); } .forecast-dashboard-filters { align-items: stretch; flex-direction: column; } .forecast-filter-grid { max-width: none; } .forecast-dashboard-grid, .forecast-dashboard-lower { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .organic-kpi-grid { grid-template-columns: 1fr; }  .meta-report-controls { align-items: stretch; flex-direction: column; } .meta-date-controls { width: 100%; } .meta-date-controls label { flex: 1; min-width: 0; } .meta-kpi-grid { grid-template-columns: 1fr; } .meta-connection-card { grid-template-columns: 1fr; } .analysis-criteria { grid-template-columns: 1fr; } .section-heading { flex-direction: column; }  .creative-grid { grid-template-columns: 1fr; } .creative-card { grid-template-columns: 116px minmax(0, 1fr); min-height: 210px; } .creative-image img { min-height: 210px; }  .login-shell { grid-template-columns: 1fr; }.login-copy { min-height: 295px; padding: 28px; }.login-hero { margin: auto 0 10px; }.login-hero h1 { font-size: 37px; margin-bottom: 12px; }.login-hero p:not(.eyebrow) { font-size: 14px; }.accent-line { margin: 14px 0 18px; }.login-footer { display: none; }.login-panel { padding: 42px 26px; align-items: start; }.app-shell { grid-template-columns: 1fr; }.sidebar { z-index: 15; position: fixed; width: 244px; transform: translateX(-100%); transition: transform .18s ease; box-shadow: 0 0 0 rgba(0,0,0,0); }.app-shell.menu-open .sidebar { transform: translateX(0); box-shadow: 9px 0 30px rgba(0,0,0,.13); }.menu-button { display: block; }.topbar { padding: 0 20px; }.breadcrumb-date { display: none; }.profile-chip > span:nth-child(2), .chevron { display: none; }.page-wrap { padding: 27px 20px 45px; }.heading-split { align-items: flex-start; flex-direction: column; }.heading-split .button { width: 100%; }.stats-grid, .forecast-plan-kpis { grid-template-columns: 1fr; gap: 10px; }.stat-card { min-height: 105px; }.forecast-view-switch { width: 100%; }.forecast-view-switch button { flex: 1; }.forecast-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.forecast-monthly-chart { height: 185px; }.forecast-account-insight { align-items: flex-start; flex-direction: column; }.forecast-account-insight strong { text-align: left; }.forecast-line-heading { align-items: flex-start; flex-direction: column; }.forecast-line-total { text-align: left; }.forecast-line-card { border-radius: 10px; }.forecast-month-grid { padding: 14px; }.account-grid { grid-template-columns: 1fr; }.recent-card { padding: 19px 18px 5px; }.page-heading h1 { font-size: 26px; }.modal { padding: 14px; }.modal-card { padding: 25px 21px; max-height: calc(100vh - 28px); } }

/* Google Ads: conexión y reporte en modo lectura. */
.google-ads-mark { background: conic-gradient(from 210deg, #34a853 0 33%, #fbbc05 33% 66%, #4285f4 66% 100%); color: white; }
.google-ads-nav-icon { color: #4285f4; font-weight: 900; }
.google-ads-connection-card .meta-steps span { border-color: #d6e2fb; color: #2d6cca; }
.google-ads-report-section .meta-bar span { background: #4285f4; }
.google-ads-admin-settings { margin-top: 12px; }

@media (max-width: 1050px) { .forecast-projection-grid { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .forecast-projection-stats { grid-template-columns: 1fr; } .forecast-client-model { align-items: flex-start; flex-direction: column; } .forecast-client-model strong { text-align: left; } }
/* Forecast historical spend: legacy planning remains preserved, but hidden. */
#forecast-deferred-features[hidden] { display: none !important; }
#spend-content { display: grid; gap: 22px; }
.spend-source-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.spend-source { min-width:0; padding:26px; border-radius:16px; box-shadow:0 4px 18px #063d4105; }
.spend-source h2 { font-size: 18px; margin: 12px 0; }
.spend-source strong { font-size: 26px; }
.spend-source p, .spend-source small, .spend-roadmap p { color: var(--muted, #63787c); line-height: 1.6; }
.spend-table-scroll { overflow-x: auto; }
.spend-table { width: 100%; border-collapse: collapse; min-width: 760px; margin-top: 20px; }
.spend-table th, .spend-table td { padding: 15px 12px; text-align: left; border-bottom: 1px solid #e4eeee; }
.spend-table thead { background: #eef8f7; }
.spend-table td small { display: block; margin-top: 5px; color: #647b7e; }
.spend-legend { display: flex; gap: 24px; color: #087e83; }
.spend-legend span:last-child { color: #6389b6; }
@media (max-width: 850px) { .spend-source-grid { grid-template-columns: 1fr; } }
.spend-database-status { display:flex; flex-wrap:wrap; gap:8px 20px; justify-content:space-between; color:var(--muted); font-size:12px; }
.spend-database-status > span { color:var(--teal-600); font-weight:650; }
.spend-overview { display:grid; grid-template-columns:1.25fr 1fr; gap:20px; }
.spend-hero { padding:30px; }
.spend-hero > strong, .spend-outlook > strong { display:block; font-size:clamp(28px,3vw,42px); letter-spacing:-1.5px; margin:14px 0; line-height:1.2; overflow-wrap:anywhere; }
.spend-hero > p:not(.eyebrow) { color:var(--muted); }
.spend-hero-footer { display:flex; gap:25px; border-top:1px solid var(--line); padding-top:18px; margin-top:24px; font-size:12px; color:var(--muted); }
.spend-hero-footer b { color:var(--ink); }
.spend-outlook { border-radius:18px; padding:30px; background:linear-gradient(135deg,#063d41,#0b676c); color:white; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.spend-outlook .eyebrow { color:#a4e5dd; }
.spend-outlook small { color:#c4e2df; }
.spend-outlook-tag { border:1px solid #ffffff36; border-radius:20px; padding:5px 12px; font-size:11px; margin-top:20px; }
.spend-source-heading { display:grid; grid-template-columns:44px minmax(0,1fr); column-gap:12px; row-gap:6px; align-items:center; margin-bottom:28px; }
.spend-source-logo { grid-row:span 2; width:44px; height:44px; display:grid; place-items:center; border:1px solid #edf1f1; background:#f7faf9; border-radius:13px; }
.spend-source-logo img { width:28px; height:28px; object-fit:contain; }
.spend-source-heading > b { font-size:15px; line-height:1.3; overflow-wrap:anywhere; }
.spend-connection { grid-column:2; justify-self:start; font-size:10px; line-height:1.3; color:var(--muted); background:var(--wash); padding:4px 9px; border-radius:12px; }
.spend-connection.is-connected { color:#19745e; background:#e7f6ee; }
.spend-source > strong { display:block; font-size:clamp(24px,2.1vw,30px); line-height:1.25; letter-spacing:-.6px; overflow-wrap:anywhere; }
.spend-source-label { display:block; color:var(--muted); font-size:10px; letter-spacing:1px; text-transform:uppercase; margin-bottom:9px; }
.spend-source > small { display:block; font-size:11px; margin-top:12px; }
.spend-coverage { height:4px; background:#edf2f1; border-radius:4px; margin:20px 0 9px; overflow:hidden; }
.spend-coverage span { height:100%; display:block; background:#13968d; border-radius:4px; }
.spend-chart-panel, .spend-detail, .spend-explanation { padding:28px; border-radius:16px; }
.spend-chart-panel header { display:flex; justify-content:space-between; gap:20px; align-items:center; }
.spend-chart-panel h2 { margin:0; font-size:20px; }
.spend-chart-panel > small { color:var(--muted); }
.spend-line-chart { overflow-x:auto; padding-top:20px; }
.spend-line-chart svg { display:block; width:100%; min-width:600px; }
.spend-line-real { stroke:#13968d; stroke-width:3; }
.spend-line-estimate { stroke:#7592bd; stroke-width:3; stroke-dasharray:7 5; }
.spend-dot-real { fill:#13968d; stroke:white; stroke-width:2; }
.spend-dot-estimate { fill:white; stroke:#7592bd; stroke-width:2; }
.spend-gridline { stroke:#eaf0ef; stroke-width:1; }
.spend-axis { fill:#7c8c8e; font-size:12px; }
.spend-detail summary, .spend-explanation summary { cursor:pointer; font-size:15px; font-weight:650; }
.spend-detail summary span, .spend-explanation summary span { float:right; font-size:12px; font-weight:400; color:var(--muted); }
.spend-detail p, .spend-explanation p { color:var(--muted); line-height:1.7; }
.spend-roadmap { font-size:12px; color:var(--muted); padding:0 5px; }
.spend-roadmap summary { cursor:pointer; }
#page-forecast > .page-heading .forecast-actions { display:flex; align-items:end; gap:12px; }
#page-forecast > .page-heading label { display:grid; gap:6px; font-size:11px; color:var(--muted); }
#page-forecast > .page-heading select { min-height:42px; border:1px solid var(--line); border-radius:10px; padding:9px 12px; background:white; color:var(--ink); max-width:240px; }
@media(max-width:1100px) { .spend-source-grid {grid-template-columns:1fr;} .spend-source-heading {margin-bottom:24px;} }
@media(max-width:760px) { .spend-overview {grid-template-columns:1fr;} .spend-hero,.spend-outlook {padding:24px;} .spend-chart-panel header {align-items:flex-start;flex-direction:column;} .spend-hero-footer {flex-wrap:wrap;gap:10px;} .spend-detail summary span,.spend-explanation summary span {float:none;display:block;margin-top:6px;} }
@media(max-width:760px) { .spend-source,.spend-chart-panel,.spend-detail,.spend-explanation {padding:22px;} }
/* Keep chart axes, explanatory blocks and numeric detail comfortably apart. */
#spend-content { gap:30px; }
.spend-chart-panel, .spend-detail, .spend-explanation { padding:34px; }
.spend-chart-panel header { margin-bottom:24px; }
.spend-line-chart { padding:12px 14px 24px; margin:0 0 18px; border:1px solid #edf2f1; border-radius:14px; background:#fbfdfc; }
.spend-chart-panel > small { display:block; max-width:780px; line-height:1.8; padding:0 4px; }
.spend-section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; margin-bottom:24px; }
.spend-section-heading h2 { margin:0; font-size:20px; line-height:1.4; }
.spend-section-heading > span { color:var(--muted); font-size:12px; padding:8px 12px; background:var(--wash); border-radius:12px; white-space:nowrap; }
.spend-method-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:30px 0; }
.spend-method-grid article { padding:22px; background:#f7faf9; border:1px solid #e8efed; border-radius:14px; }
.spend-method-grid article > span { color:var(--teal-600); font-size:10px; font-weight:700; letter-spacing:1px; }
.spend-method-grid h3 { font-size:15px; line-height:1.5; margin:14px 0; }
.spend-method-grid p { font-size:12px; line-height:1.8; margin:0; }
.spend-calculation { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:28px; margin:30px 0; border:1px solid #dcebea; background:#f0f8f6; border-radius:14px; }
.spend-calculation div { min-width:0; }
.spend-calculation span { display:block; color:var(--muted); font-size:11px; margin-bottom:12px; }
.spend-calculation strong { font-size:clamp(18px,1.8vw,26px); color:var(--teal-950); overflow-wrap:anywhere; }
.spend-calculation > b { color:var(--teal-600); font-size:22px; }
.spend-validation { padding:26px 0; border-top:1px solid var(--line); }
.spend-validation h3 { margin:0 0 12px; font-size:15px; }
.spend-validation-scores { display:flex; flex-wrap:wrap; gap:16px; margin:22px 0; }
.spend-validation-scores span { padding:15px 20px; border:1px solid var(--line); border-radius:12px; color:var(--muted); font-size:12px; }
.spend-validation-scores b { display:block; margin-top:10px; font-size:22px; color:var(--ink); }
.spend-validation small { color:var(--muted); line-height:1.7; }
.spend-model-disclaimer { border-left:3px solid #b6cfc9; padding-left:18px; font-size:12px; }
.spend-table-actions { display:flex; gap:14px; align-items:end; }
.spend-table-actions label { display:grid; gap:7px; font-size:11px; color:var(--muted); }
.spend-table-actions select { padding:10px 12px; border:1px solid var(--line); border-radius:9px; background:white; color:var(--ink); }
.spend-table-scroll { margin-top:26px; border:1px solid var(--line); border-radius:12px; }
.spend-table { margin:0; font-variant-numeric:tabular-nums; }
.spend-table th, .spend-table td { padding:20px 18px; }
.spend-table td { text-align:right; white-space:nowrap; }
.spend-table thead th:not(:first-child) { text-align:right; }
.spend-table tfoot { background:#f1f7f5; font-weight:700; }
.spend-table tbody tr:nth-child(even) { background:#fcfdfd; }
.spend-table tr[hidden] { display:none; }
.spend-estimate-cell { color:#5878a1; }
.spend-table-caption { text-align:left; padding:18px; font-size:11px; color:var(--muted); border-bottom:1px solid var(--line); }
.spend-filter-note { font-size:11px; margin:18px 0 0; }
@media(max-width:1100px) { .spend-method-grid {grid-template-columns:1fr;} .spend-calculation {flex-wrap:wrap;justify-content:flex-start;} .spend-section-heading {flex-direction:column;} }
@media(max-width:760px) { .spend-chart-panel,.spend-detail,.spend-explanation {padding:22px;} .spend-line-chart {padding:8px 0 16px;} .spend-table-actions {flex-wrap:wrap;} .spend-calculation {flex-direction:column;align-items:flex-start;padding:22px;} .spend-validation-scores {flex-direction:column;} }
/* Reset inherited form margins so header controls share a single baseline. */
#page-forecast > .page-heading { align-items:flex-end; gap:32px; margin-bottom:30px; }
#page-forecast > .page-heading h1 { margin-bottom:0; }
#page-forecast > .page-heading .forecast-actions { display:grid; grid-template-columns:minmax(180px,260px) 96px auto; gap:14px; align-items:end; }
#page-forecast > .page-heading label { margin:0; gap:8px; line-height:1.4; }
#page-forecast > .page-heading select { margin:0; width:100%; max-width:none; height:44px; min-height:44px; padding:10px 14px; font-size:12px; box-sizing:border-box; }
#spend-refresh { height:44px; padding:0 18px; border-radius:10px; font-size:12px; white-space:nowrap; margin:0; }
.spend-database-status { align-items:center; gap:16px 28px; padding:4px 0 8px; line-height:1.6; }
.spend-database-status > span { flex-shrink:0; }
.spend-database-status > small { flex:1; text-align:right; max-width:670px; font-size:11px; line-height:1.7; }
@media(max-width:1200px) { #page-forecast > .page-heading {flex-direction:column;align-items:stretch;gap:24px;} #page-forecast > .page-heading .forecast-actions {grid-template-columns:minmax(180px,1fr) 96px auto;} }
@media(max-width:760px) { #page-forecast > .page-heading .forecast-actions {grid-template-columns:minmax(0,1fr) 96px;} #spend-refresh {grid-column:1 / -1;width:100%;} .spend-database-status {align-items:flex-start;flex-direction:column;gap:8px;} .spend-database-status > small {text-align:left;} }
.spend-chart-controls { display:flex; flex-wrap:wrap; gap:20px; margin:0 0 24px; }
.spend-chart-controls label { display:grid; gap:8px; margin:0; font-size:11px; }
.spend-chart-controls select { margin:0; min-width:150px; }
.spend-month-insight { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; padding:24px; margin:24px 0; background:#f1f8f6; border-radius:14px; }
.spend-month-insight span { display:block; font-size:10px; color:var(--muted); letter-spacing:.7px; }
.spend-month-insight strong { display:block; font-size:20px; margin:12px 0; overflow-wrap:anywhere; }
.spend-month-insight small { color:var(--muted); font-size:11px; line-height:1.7; }
.spend-selected-line { stroke:#afc8c4; stroke-dasharray:4 4; }
#spend-interactive-chart [role=button] { cursor:pointer; }
#spend-interactive-chart [role=button]:focus .spend-axis { fill:var(--teal-950); font-weight:800; }
.spend-bottom-tabs { display:flex; gap:8px; padding-bottom:16px; }
.spend-bottom-tabs button { padding:12px 18px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--muted); }
.spend-bottom-tabs button[aria-selected=true] { background:var(--teal-100); color:var(--teal-950); border-color:#b8ded7; font-weight:700; }
.spend-footer-data { padding:28px; border-radius:16px; }
.spend-footer-data h3 { margin:0 0 14px; }
.spend-footer-data p { margin:0; color:var(--muted); line-height:1.8; }
#spend-methodology-panel[hidden], #spend-data-panel[hidden] { display:none !important; }
@media(max-width:760px) { .spend-month-insight {grid-template-columns:1fr;gap:20px;} .spend-chart-controls {gap:16px;} }
.spend-detail .spend-section-heading { display:block; }
.spend-detail .spend-table-actions { display:grid; grid-template-columns:repeat(5,minmax(100px,1fr)) auto auto; align-items:end; gap:14px; margin-top:26px; padding:20px; background:#f7faf9; border:1px solid var(--line); border-radius:12px; }
.spend-table-actions label { margin:0; gap:8px; line-height:1.4; min-width:0; }
.spend-table-actions select { margin:0; width:100%; height:42px; min-height:42px; font-size:12px; }
.spend-table-actions button { height:42px; margin:0; padding:0 14px; border-radius:9px; white-space:nowrap; }
.spend-table td { vertical-align:middle; }
.spend-table th { vertical-align:middle; }
.spend-table td small { margin-top:8px; font-size:10px; }
.spend-month-button { border:0; background:transparent; color:var(--teal-800); font:inherit; font-weight:700; padding:10px 8px; border-radius:8px; display:inline-flex; gap:12px; align-items:center; }
.spend-month-button:hover,.spend-month-button:focus-visible { background:var(--teal-100); outline:2px solid #9ccfc7; }
.spend-month-button span { color:#829c99; }
.spend-table tbody tr:hover { background:#f0f8f6; }
.spend-table .spend-table-empty { text-align:center; white-space:normal; padding:36px; color:var(--muted); }
@media(max-width:1450px) { .spend-detail .spend-table-actions {grid-template-columns:repeat(3,minmax(120px,1fr));} }
@media(max-width:760px) { .spend-detail .spend-table-actions {grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:14px;} .spend-table th,.spend-table td {padding:18px 14px;} }
/* A lightweight toolbar; advanced settings stay out of the main view. */
.spend-detail .spend-table-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:0; margin-top:20px; background:transparent; border:0; border-radius:0; }
.spend-table-actions .spend-compact-control { display:flex; align-items:center; gap:8px; margin:0; font-size:11px; }
.spend-table-actions .spend-compact-control select { width:auto; min-width:120px; height:36px; min-height:36px; padding:7px 10px; }
.spend-table-actions > button { height:36px; margin-left:auto; font-size:11px; }
.spend-more-filters { position:relative; font-size:11px; }
.spend-more-filters > summary { cursor:pointer; padding:9px 12px; border-radius:8px; color:var(--teal-800); background:#f3f7f6; }
.spend-advanced-controls { position:absolute; z-index:5; top:calc(100% + 10px); right:0; width:340px; display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:20px; border:1px solid var(--line); border-radius:12px; background:white; box-shadow:0 12px 32px #063d411a; }
.spend-advanced-controls > button { grid-column:1 / -1; }
@media(max-width:760px) { .spend-detail .spend-table-actions {gap:10px;} .spend-table-actions .spend-compact-control {display:grid;gap:6px;flex:1;} .spend-table-actions .spend-compact-control select {width:100%;min-width:0;} .spend-more-filters {position:static;} .spend-detail {position:relative;} .spend-advanced-controls {top:auto;right:22px;left:22px;width:auto;margin-top:10px;} .spend-table-actions > button {margin-left:0;} }
/* Consistent dropdown arrows, independent of native browser edge spacing. */
select:not([multiple]):not([size]) {
  appearance:none;
  -webkit-appearance:none;
  padding-right:40px !important;
  background-image:url('/static/chevron-down.svg') !important;
  background-repeat:no-repeat !important;
  background-position:right 13px center !important;
  background-size:16px 16px !important;
}
.spend-more-filters > summary { display:flex; align-items:center; gap:12px; list-style:none; padding-right:14px; }
.spend-more-filters > summary::-webkit-details-marker { display:none; }
.spend-more-filters > summary::after { content:""; width:14px; height:14px; flex-shrink:0; background:url('/static/chevron-down.svg') center/14px no-repeat; transition:transform .15s; }
.spend-more-filters[open] > summary::after { transform:rotate(180deg); }
@media(forced-colors:active) { select:not([multiple]):not([size]) {appearance:auto;-webkit-appearance:auto;background-image:none !important;padding-right:12px !important;} }
.spend-chart-controls { align-items:end; justify-content:space-between; }
.spend-platform-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.spend-platform-buttons button { min-height:40px; padding:10px 16px; border:1px solid var(--line); border-radius:10px; background:white; color:var(--muted); font-size:12px; font-weight:650; }
.spend-platform-buttons button:hover { background:var(--wash); border-color:#a5c9c4; }
.spend-platform-buttons button[aria-pressed=true] { background:var(--teal-950); border-color:var(--teal-950); color:white; }
.spend-platform-buttons button:focus-visible { outline:3px solid #8ac9c0; outline-offset:3px; }
@media(max-width:760px) { .spend-platform-buttons {width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));} }

/* Manual ATL reporting */
.atl-intro-card { margin-top:0; padding:22px 24px; border-left:3px solid var(--amber); background:linear-gradient(120deg,#fffaf0,#ffffff 68%); }
.atl-intro-card h2 { margin:4px 0 8px; }
.atl-intro-card p:last-child { max-width:850px; margin:0; color:var(--muted); line-height:1.7; }
.atl-form-card,.atl-list-card { margin-top:18px; padding:24px; }
.atl-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.atl-form label { min-width:0; margin:0; }
.atl-form input,.atl-form select,.atl-form textarea { width:100%; box-sizing:border-box; }
.atl-form textarea { resize:vertical; min-height:82px; }
.atl-span-2 { grid-column:span 2; }
.atl-span-full { grid-column:1 / -1; }
.atl-form-error { grid-column:1 / -1; }
.atl-form-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; }
.atl-report-list { display:grid; }
.atl-report-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; padding:18px 0; border-top:1px solid var(--line); }
.atl-report-copy { min-width:0; }
.atl-report-title { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.atl-report-title h3 { margin:0; font-size:15px; color:var(--teal-950); }
.atl-report-copy p { margin:7px 0 0; color:var(--muted); font-size:12px; }
.atl-report-copy small { display:block; margin-top:9px; color:var(--muted); line-height:1.55; white-space:pre-wrap; }
.atl-channel-badge { display:inline-flex; align-items:center; padding:5px 9px; border-radius:999px; background:var(--amber-bg); color:#805d00; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.35px; }
.atl-report-metrics { display:flex; align-items:center; gap:24px; text-align:right; }
.atl-report-metrics span { display:grid; gap:4px; min-width:90px; }
.atl-report-metrics b { color:var(--teal-950); font-size:14px; }
.atl-report-metrics small { color:var(--muted); font-size:10px; }
@media(max-width:900px) { .atl-form { grid-template-columns:repeat(2,minmax(0,1fr)); } .atl-report-item { grid-template-columns:1fr; gap:14px; } .atl-report-metrics { justify-content:flex-start; text-align:left; } }
@media(max-width:600px) { .atl-form { grid-template-columns:1fr; } .atl-span-2,.atl-span-full,.atl-form-error,.atl-form-actions { grid-column:auto; } .atl-form-actions { justify-content:stretch; } .atl-form-actions .button { width:100%; } .atl-report-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; } .atl-report-metrics span { min-width:0; } .atl-report-metrics b { font-size:12px; } }

/* Automated design workspace */
#page-design-guide {max-width:1440px;margin:auto}
#page-design-guide .page-heading {margin-bottom:24px}
#page-design-guide .content-card {padding:24px;margin-bottom:24px;border-radius:14px;box-shadow:0 3px 16px #12262804}
.design-section-title {display:flex;gap:12px;align-items:center}
.design-section-title h2 {font-size:17px;margin:0 0 3px;font-weight:700;letter-spacing:-.3px}
.design-section-title p {margin:0;color:var(--muted);font-size:13px}
.design-step {display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#edf6f4;color:#18736c;border-radius:10px;font-size:12px;font-weight:750}
#design-guide-form {margin-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px}
#design-guide-form label {display:flex;flex-direction:column;gap:8px}
#design-guide-form p {margin:0;color:var(--muted);font-size:12px;grid-column:1/-1}
#design-guide-form input[type=file] {padding:14px;background:#f6f9f8;border:1px dashed #becfcb;border-radius:9px;width:100%}
#design-guide-form input::file-selector-button {border:0;border-radius:6px;padding:8px 12px;margin-right:12px;background:#e4eeec;color:#24534f;font-weight:600;cursor:pointer}
#design-guide-form textarea {border:1px solid #dbe5e2;border-radius:8px;padding:12px;min-height:74px;width:100%}
#design-guide-submit {justify-self:start;grid-column:1/-1}
.design-editor-heading {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.design-grid-toolbar {display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0 14px}
.design-toolbar-actions {display:flex;gap:8px}
.design-grid-toolbar .button {background:white;border:1px solid #dbe5e2;padding:8px 14px;font-size:12px;border-radius:7px}
.design-sheet-scroll {overflow:auto;border:1px solid #dce5e2;border-radius:10px;max-height:560px}
.design-csv-table {width:100%;min-width:850px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}
.design-csv-table th,.design-csv-table td {border-right:1px solid #e3eae7;border-bottom:1px solid #e3eae7;padding:0;position:relative;text-align:left;vertical-align:top}
.design-csv-table th {background:#f2f6f4;height:65px;position:sticky;top:0;z-index:2}
.design-csv-table th small {display:block;padding:6px 10px 0;color:#91a09a;font-size:10px}
.design-csv-table th input {width:100%;padding:6px 28px 8px 10px;border:0;background:transparent;font-weight:650;font-size:12px;outline:none}
.design-csv-table th details {position:absolute;right:7px;top:25px;z-index:5}
.design-csv-table summary {list-style:none;cursor:pointer;padding:0 5px;color:#61756d;font-size:18px}
.design-csv-table details[open] {background:white;border:1px solid #dce5e2;box-shadow:0 6px 18px #12262818;padding:8px;border-radius:8px;width:155px}
.design-csv-table details select {width:100%;padding:6px;margin:6px 0;border:1px solid #dce5e2;border-radius:5px}
.design-csv-table details button {border:0;background:#fff1ef;color:#a24740;border-radius:5px;padding:5px 10px;cursor:pointer}
.design-csv-table td textarea,.design-csv-table td>input:not([type=checkbox]),.design-csv-table td>select {width:100%;height:50px;min-width:0;resize:none;border:0;background:transparent;padding:15px 10px;font:inherit;outline:none;white-space:nowrap}
.design-csv-table td:focus-within {box-shadow:inset 0 0 0 2px #16877a;background:#f4fbf8}
.design-csv-table tbody tr:hover {background:#fafcfb}
.design-csv-table th:first-child,.design-csv-table td:first-child {width:62px;background:#f6f8f7;text-align:center;padding:15px 4px;color:#7d8d85;font-size:11px}
.design-csv-table td:first-child span {margin-right:6px}
.design-csv-table th:nth-child(2),.design-csv-table td:nth-child(2) {width:155px}
.design-csv-table th:last-child,.design-csv-table td:last-child {width:38px;text-align:center}
.design-csv-table td:last-child button {border:0;background:transparent;color:#a5b1ab;margin-top:15px;font-size:18px}
.design-csv-table td:last-child button:hover {color:#b84438}
.design-csv-table td .button {font-size:11px;padding:5px 10px;margin:0 8px 9px;background:#eef5f2;border:0;border-radius:5px;color:#357368}
.design-csv-table td p {font-size:10px;margin:0 8px 5px;overflow:hidden;text-overflow:ellipsis}
.design-csv-table td a {display:block;font-size:11px;margin:0 8px 10px;color:#18776b}
#design-csv-status {font-size:12px;color:var(--muted);margin:12px 0}
#design-csv-error:empty {display:none}
.design-settings {margin-top:18px;border-top:1px solid #e9eeeb;padding-top:15px;font-size:12px;color:var(--muted)}
.design-settings summary {cursor:pointer;font-weight:600;color:#466258}
.design-settings-body {padding:15px 0;max-width:650px}
.design-settings-body label {display:flex;flex-direction:column;gap:8px}
.design-settings-body input {border:1px solid #dce5e2;border-radius:7px;padding:10px}
.design-sheet-hint {font-size:11px;color:#8b9b92;margin-bottom:0}
@media(max-width:760px){#page-design-guide .content-card{padding:16px}#design-guide-form{grid-template-columns:1fr}.design-editor-heading>.button{width:100%}.design-sheet-hint{line-height:1.8}}

/* Campaign sheet: wider cells and clearer action hierarchy. */
#page-design-guide .page-heading h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px}
#page-design-guide #design-csv-editor{padding:0;overflow:hidden;border:1px solid #dbe5e0;box-shadow:0 8px 28px #14352a08}
#design-csv-editor .design-editor-heading{padding:24px 28px 20px;background:linear-gradient(120deg,#fff,#f7fbf9)}
#design-csv-editor .design-grid-toolbar{margin:0;padding:14px 28px;background:#fff;border-top:1px solid #edf1ef;border-bottom:1px solid #e4ebe7}
#design-csv-editor .design-sheet-scroll{border:0;border-radius:0;min-height:230px;max-height:580px}
#design-csv-editor .design-csv-table{width:max-content;min-width:100%;table-layout:auto}
#design-csv-editor .design-csv-table th:not(:first-child):not(:last-child),#design-csv-editor .design-csv-table td:not(:first-child):not(:last-child){width:230px;min-width:230px;max-width:300px}
#design-csv-editor .design-csv-table th{height:70px;background:#f5f8f6}
#design-csv-editor .design-csv-table th small{font-size:10px;padding:9px 14px 0;letter-spacing:1px}
#design-csv-editor .design-csv-table th input{padding:8px 30px 10px 14px;font-size:13px}
#design-csv-editor .design-csv-table td textarea{height:66px;white-space:normal;padding:15px 14px;line-height:1.5;min-width:220px}
#design-csv-editor .design-csv-table td>input:not([type=checkbox]),#design-csv-editor .design-csv-table td>select{height:66px;padding:15px 14px}
#design-csv-editor .design-csv-table td .button{margin-left:14px;margin-bottom:12px;font-weight:650;background:#e9f3ef}
#design-csv-editor .design-csv-table th:first-child,#design-csv-editor .design-csv-table td:first-child{position:sticky;left:0;z-index:1;min-width:60px;width:60px}
#design-csv-editor .design-csv-table th:first-child{z-index:4}
#design-csv-editor .design-csv-table th:last-child,#design-csv-editor .design-csv-table td:last-child{min-width:42px}
#design-csv-editor #design-csv-status{padding:12px 28px;margin:0;border-top:1px solid #e7ede9;background:#fbfcfb}
#design-csv-editor #design-csv-error{margin:12px 28px}
#design-csv-editor .design-settings{margin:0;padding:16px 28px;border-top:1px solid #e7ede9}
#design-csv-editor .design-sheet-hint{padding:0 28px 18px;margin:0}
.design-brief-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;font-size:14px;font-weight:650}
.design-brief-tag{background:#eef3f1;color:#71837a;font-size:10px;letter-spacing:.5px;padding:5px 9px;border-radius:20px;white-space:nowrap}
.design-brief-card[open] .design-section-title{margin-top:22px;padding-top:22px;border-top:1px solid #e6ede9}
#page-design-guide .button{transition:background .15s,box-shadow .15s}
#page-design-guide .button:focus-visible{outline:3px solid #a8d9cc;outline-offset:2px}
@media(max-width:760px){#design-csv-editor .design-editor-heading{padding:20px}#design-csv-editor .design-grid-toolbar{padding:12px 20px}#design-csv-editor .design-editor-heading>.button{width:auto}.design-section-title h2{font-size:16px}.design-grid-toolbar .text-button{font-size:11px}}

/* Keep upload pickers hidden and cells readable without inner scrollbars. */
#page-design-guide input[hidden]{display:none!important}
#design-csv-editor .design-csv-table td textarea{white-space:pre-wrap!important;overflow-wrap:anywhere!important;overflow:hidden!important;min-height:72px!important;height:72px!important;max-width:100%;line-height:1.5;resize:none!important}
#design-csv-editor .design-csv-table td textarea:focus{min-height:110px!important;height:110px!important;overflow-y:auto!important}
#design-csv-editor .design-csv-table td{vertical-align:top!important}
#design-csv-editor .design-csv-table td .button{display:inline-flex;margin-top:0}
#design-csv-editor .design-sheet-scroll{max-height:none}
.menu-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px;flex-shrink:0}
.menu-button:hover{background:#edf3f0}
@media(min-width:761px){.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.app-shell.sidebar-collapsed>.sidebar{display:none}.app-shell.sidebar-collapsed .page-wrap{padding-left:28px;padding-right:28px}}

.menu-button{width:auto;gap:7px;padding:7px 10px;font-size:18px}.menu-button-label{font-size:11px;font-weight:600;white-space:nowrap}@media(max-width:760px){.menu-button-label{display:none}}

#design-csv-editor .design-settings h3{margin:0;color:var(--text);font-size:14px}
#design-csv-editor .design-export-footer{display:flex;justify-content:flex-end;padding:20px 28px;border-top:1px solid #e7ede9}

.analyzer-account-selectors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 18px; }
.analyzer-account-selectors label { display: grid; gap: 7px; font-weight: 700; }
.analyzer-account-selectors select { width: 100%; }
.analyzer-account-selectors small { color: var(--muted); font-weight: 400; }
.creative-accordion { margin-bottom: 14px; }
.creative-accordion > summary { cursor: pointer; list-style: none; background: var(--paper); }
.creative-accordion > summary::-webkit-details-marker { display: none; }
.creative-accordion > summary:focus-visible { outline: 2px solid var(--teal-800); outline-offset: -3px; }
.creative-accordion-icon { font-size: 24px; transition: transform .15s; }
.creative-accordion[open] .creative-accordion-icon { transform: rotate(180deg); }
@media (max-width: 700px) { .analyzer-account-selectors { grid-template-columns: 1fr; } }

#organic-report { display: grid; gap: 18px; margin-bottom: 18px; }

.organic-accordion-body { padding: 18px; background: var(--paper); border-top: 1px solid var(--line); }
.organic-accordion-toolbar { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
#organic-pieces-accordion .organic-library { padding: 16px 0 0; border: 0; border-radius: 0; }
#organic-pieces-accordion #organic-report { margin-bottom: 0; }

/* Analyzer: one task at a time, technical controls live in account settings. */
#page-analyzer { max-width:1280px; margin-inline:auto; }
.analyzer-settings { color:var(--muted,#65797b); font-size:13px; text-decoration:none; }
.analyzer-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin:24px 0 30px; padding:6px; background:#edf2f1; border-radius:14px; }
.analyzer-steps button { display:grid; grid-template-columns:30px 1fr; column-gap:10px; align-items:center; border:0; border-radius:10px; background:transparent; text-align:left; padding:16px 14px; color:#5e7275; cursor:pointer; font:inherit; }
.analyzer-steps button span { grid-row:span 2; display:grid; place-items:center; height:28px; border:1px solid #cad8d7; border-radius:50%; font-size:12px; }
.analyzer-steps button b { font-size:14px; }.analyzer-steps button small { font-size:11px; margin-top:4px; }
.analyzer-steps button[aria-selected=true] { background:#fff; color:#07565c; box-shadow:0 2px 8px #123c3c0a; }.analyzer-steps button[aria-selected=true] span { background:#07565c; border-color:#07565c; color:#fff; }
.analyzer-steps button:focus-visible,.analyzer-upload:focus-within { outline:3px solid #42a7ad; outline-offset:3px; }
#page-analyzer .analyzer-view[hidden] { display:none !important; }
.analyzer-view-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }.analyzer-view-heading h2 { font-size:20px; margin:0 0 8px; }.analyzer-view-heading p { color:#60767a; font-size:13px; margin:0; line-height:1.6; }
#page-analyzer .analyzer-account-selectors { box-shadow:none; margin-bottom:0; padding:18px 20px; border-radius:12px; }#page-analyzer .analyzer-account-selectors small { display:none; }
#page-analyzer .creative-accordion { box-shadow:none; border-radius:12px; margin-bottom:12px; }#page-analyzer .meta-section-heading { padding:20px; }#page-analyzer .meta-section-heading h2 { font-size:15px; }
#page-analyzer .organic-piece-grid { padding:16px; gap:16px; background:#f8faf9; grid-template-columns:repeat(3,minmax(0,1fr)); }
#page-analyzer .organic-piece-card { display:flex; flex-direction:column; background:white; border:1px solid #e2e9e7; border-radius:10px; overflow:hidden; min-width:0; }
#page-analyzer .organic-piece-image { height:220px; width:100%; flex:none; background:#edf2f1; }#page-analyzer .organic-piece-image img { width:100%; height:220px; object-fit:contain; flex-shrink:0; }
#page-analyzer .organic-piece-body { padding:16px; }#page-analyzer .organic-piece-body h3 { font-size:14px; line-height:1.5; }#page-analyzer .organic-piece-body > p:not(.creative-meta):not(.organic-piece-date) { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:12px; color:#61767a; }
.analyzer-method { color:#61767a; font-size:12px; line-height:1.7; padding:18px 0; }.analyzer-method summary { cursor:pointer; }
.analyzer-focus { max-width:740px; margin:12px auto; padding:48px 36px; text-align:center; background:white; border:1px solid #e2e9e7; border-radius:16px; }.analyzer-focus h2 { font-size:26px; letter-spacing:-.6px; }.analyzer-focus > p { color:#60767a; line-height:1.7; max-width:520px; margin:16px auto; }.analyzer-focus-icon { color:#087b7e; display:block; font-size:40px; }
#analyzer-progress { padding:24px; margin:28px 0; border-radius:12px; background:#f1f7f5; color:#174c50; font-size:14px; }#analyzer-progress p { line-height:1.7; }#analyzer-progress span { font-size:12px; }.analyzer-muted { font-size:12px; }
.analyzer-empty { padding:60px 24px; border:1px dashed #cad8d7; border-radius:14px; text-align:center; color:#60767a; line-height:1.7; }.analyzer-saved-note { font-size:12px; color:#60767a; margin-bottom:20px; }.analyzer-insight-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }.analyzer-insight { padding:26px; background:white; border:1px solid #e2e9e7; border-radius:14px; line-height:1.65; font-size:13px; }.analyzer-insight h3 { font-size:17px; }.analyzer-insight h4 { margin-bottom:8px; }.analyzer-insight ul { padding-left:18px; }.analyzer-insight li { margin:8px 0; }.analyzer-insight details { margin:20px 0; }.analyzer-insight summary { color:#07565c; cursor:pointer; }.analyzer-insight > small { color:#60767a; font-size:11px; }.analyzer-criterion { padding:14px 0; border-bottom:1px solid #edf2f1; }.analyzer-criterion strong { text-transform:capitalize; display:block; }.analyzer-criterion span { font-size:11px; color:#5d7678; }
.analyzer-upload { display:grid; gap:12px; place-items:center; padding:36px 20px; border:1.5px dashed #a8c7c5; border-radius:14px; cursor:pointer; background:#f7faf9; color:#07565c; }.analyzer-upload > span { font-size:28px; }.analyzer-upload input { max-width:100%; font-size:12px; }#analyzer-file-preview img,#analyzer-file-preview video { display:block; max-width:100%; max-height:360px; margin:24px auto 12px; border-radius:10px; }
@media(max-width:1000px) { #page-analyzer .organic-piece-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.analyzer-steps button { padding:12px 8px; column-gap:6px; }.analyzer-steps button small { display:none; } }
@media(max-width:640px) { .analyzer-steps { grid-template-columns:repeat(2,minmax(0,1fr)); }.analyzer-focus { padding:30px 20px; }.analyzer-focus h2 { font-size:22px; }.analyzer-view-heading { align-items:flex-start; flex-direction:column; }#page-analyzer .organic-piece-grid,.analyzer-insight-grid { grid-template-columns:1fr; } }
.analyzer-result-preview { display:block; width:100%; height:180px; object-fit:contain; background:#f4f7f6; border-radius:8px; margin:16px 0; }
/* Descriptive creative analytics, scoped to step 3. */
.analyzer-chart-filters { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin:8px 0 24px; }.analyzer-chart-filters h3 { font-size:20px; margin:0 0 8px; }.analyzer-chart-filters p { font-size:13px; color:#60767a; margin:0; }.analyzer-chart-selects { display:flex; gap:12px; }.analyzer-chart-selects label { font-size:11px; color:#60767a; display:grid; gap:6px; }.analyzer-chart-selects select { padding:10px 12px; min-width:160px; border:1px solid #d6e2df; border-radius:8px; background:#fff; color:#16464b; }
.analyzer-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }.analyzer-stat-grid article { display:grid; gap:8px; border:1px solid #e2e9e7; border-radius:12px; background:#fff; padding:22px; }.analyzer-stat-grid strong { font-size:30px; color:#07565c; letter-spacing:-1px; }.analyzer-stat-grid span { font-size:12px; font-weight:600; }.analyzer-stat-grid small { font-size:10px; color:#60767a; }
.analyzer-chart-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:20px; }.analyzer-chart-card { padding:24px; border:1px solid #e2e9e7; border-radius:14px; background:white; min-width:0; }.analyzer-chart-card h3 { font-size:16px; line-height:1.5; margin:0 0 8px; }.analyzer-chart-card>p { color:#60767a; font-size:12px; line-height:1.65; }.analyzer-chart-legend { display:flex; flex-wrap:wrap; gap:12px; margin:20px 0; font-size:10px; color:#60767a; }.analyzer-chart-legend span { display:flex; align-items:center; gap:5px; }.analyzer-chart-legend i { display:block; width:9px; height:9px; border-radius:3px; }
.criterion-fuerte { background:#075e64; color:white; }.criterion-aceptable { background:#b2d9ce; color:#16464b; }.criterion-debil { background:#e9b96a; color:#4b3515; }.criterion-no_evaluable { background:#e6eceb; color:#586e70; }.analyzer-criteria-row { margin-bottom:14px; }.analyzer-criteria-row>div:first-child { display:flex; justify-content:space-between; gap:8px; align-items:center; margin-bottom:6px; }.analyzer-criteria-row strong { font-size:12px; font-weight:500; }.analyzer-criteria-row small { font-size:10px; color:#60767a; }.analyzer-stack { display:flex; height:22px; border-radius:5px; overflow:hidden; }.analyzer-stack span { display:flex; align-items:center; justify-content:center; font-size:10px; overflow:hidden; }
.analyzer-frequency-row { margin:18px 0; }.analyzer-frequency-row>div:first-child { display:flex; justify-content:space-between; gap:12px; font-size:12px; margin-bottom:8px; }.analyzer-frequency-row strong { font-size:11px; font-weight:600; white-space:nowrap; }.analyzer-frequency-row small { color:#60767a; font-weight:400; }.analyzer-frequency-track { height:8px; border-radius:6px; background:#edf2f1; overflow:hidden; }.analyzer-frequency-track span { display:block; height:100%; background:#387e80; border-radius:6px; }.analyzer-chart-note,.analyzer-stat-method { color:#60767a; font-size:11px!important; line-height:1.7; margin-top:20px; }.analyzer-chart-empty { padding:28px 0; color:#60767a; font-size:12px; }.analyzer-opportunities { padding:18px; margin-top:26px; border-radius:10px; background:#f5f8f7; }.analyzer-opportunities h4 { font-size:13px; margin:0 0 12px; }.analyzer-opportunities p { display:grid; gap:5px; font-size:12px; line-height:1.5; }.analyzer-opportunities span { color:#60767a; font-size:11px; }
.analyzer-design-charts { margin-top:20px; }.analyzer-design-charts>summary { padding:18px 20px; border:1px solid #e2e9e7; border-radius:12px; background:white; cursor:pointer; font-size:13px; color:#07565c; }.analyzer-design-charts[open]>summary { margin-bottom:16px; }.analyzer-files-heading { margin-top:28px; font-size:18px; }#analyzer-more { margin-top:20px; }
@media(max-width:1000px) { .analyzer-chart-grid { grid-template-columns:1fr; }.analyzer-chart-filters { align-items:flex-start; flex-direction:column; }.analyzer-stat-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .analyzer-chart-selects { width:100%; }.analyzer-chart-selects label { min-width:0; flex:1; }.analyzer-chart-selects select { min-width:0; width:100%; font-size:11px; }.analyzer-chart-card { padding:18px; }.analyzer-stat-grid article { padding:16px; }.analyzer-stat-grid strong { font-size:25px; } }
.analyzer-chart-grid { align-items:start; }

/* Forecast: a platform activates only after an explicit account binding. */
.spend-source.is-inactive { background:var(--wash); border-style:dashed; }
.spend-source.is-inactive .spend-source-heading { margin-bottom:18px; grid-template-columns:1fr; }
.spend-source.is-inactive .spend-connection { grid-column:1; }
.spend-source.is-inactive strong { color:var(--muted); }
/* Learning report: evidence -> interpretation -> next creative brief. */
.learning-intro { padding:28px 30px; background:#eaf5f1; border:1px solid #d4e7e1; border-radius:14px; margin-bottom:24px; }.learning-intro h3 { font-size:23px; letter-spacing:-.5px; margin:8px 0 14px; }.learning-intro>p:not(.eyebrow) { font-size:14px; line-height:1.8; max-width:850px; }.learning-base { font-size:11px; color:#526f70; padding-top:12px; }
.learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; margin-bottom:26px; align-items:start; }.learning-card { padding:24px; border:1px solid #e2e9e7; background:#fff; border-radius:14px; min-width:0; }.learning-card .eyebrow { font-size:9px; }.learning-card h3 { font-size:17px; line-height:1.5; margin:12px 0; }.learning-card>p:not(.eyebrow) { font-size:12px; line-height:1.7; color:#536d70; }.learning-support { display:flex; align-items:baseline; gap:10px; margin:18px 0 12px; }.learning-support strong { font-size:26px; color:#075e64; }.learning-support span { font-size:10px; color:#60767a; }
.learning-action { padding:16px; margin:20px 0 18px; background:#f3f7f5; border-radius:9px; font-size:12px; line-height:1.7; }.learning-action p { margin-bottom:0; }.learning-result-proof { border-left:2px solid #9bc8ba; padding-left:12px; }.learning-result-proof small { display:block; font-size:10px; margin-top:6px; }.learning-results { margin-bottom:26px; }.learning-performance-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }.learning-performance-heading p { color:#60767a; font-size:12px; line-height:1.7; }.learning-performance-heading label { display:grid; gap:6px; font-size:11px; color:#60767a; max-width:50%; min-width:0; }.learning-performance-heading select,.learning-comparison select { width:100%; max-width:100%; min-width:0; padding:10px 12px; border:1px solid #d6e2df; border-radius:8px; background:#fff; color:#16464b; font-size:11px; }.learning-outcomes { max-width:850px; margin:24px 0; }.learning-outcomes .analyzer-frequency-row>div:first-child span { overflow-wrap:anywhere; }.learning-outcomes small { display:block; font-size:10px; color:#60767a; margin-top:8px; }.learning-comparison { max-width:850px; border-top:1px solid #e2e9e7; margin-top:26px; padding-top:24px; }.learning-comparison label { display:grid; gap:6px; font-size:11px; max-width:360px; }.learning-comparison h4 { font-size:15px; margin:20px 0; }.learning-tests { padding:26px; border:1px solid #e2e9e7; border-radius:14px; background:#fff; }.learning-tests h3 { margin-top:0; font-size:19px; }.learning-tests>p { color:#60767a; font-size:12px; }.learning-tests ol { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:24px 0 0; }.learning-tests li { font-size:13px; line-height:1.7; }.learning-tests li small { display:block; font-size:11px; color:#60767a; }.analyzer-insight:focus { outline:3px solid #71aaa5; outline-offset:3px; }
@media(max-width:1100px) { .learning-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.learning-tests ol { grid-template-columns:1fr; gap:16px; } }
@media(max-width:640px) { .learning-grid { grid-template-columns:1fr; }.learning-intro { padding:22px; }.learning-intro h3 { font-size:20px; }.learning-performance-heading { flex-direction:column; }.learning-performance-heading label { max-width:100%; width:100%; }.learning-card { padding:22px; } }
.learning-support-charts { margin-top:22px; }.learning-support-charts>summary { padding:18px 20px; border:1px solid #e2e9e7; border-radius:12px; background:#fff; cursor:pointer; font-size:13px; color:#07565c; }.learning-support-charts[open]>summary { margin-bottom:20px; }
/* Observable creative report */
.obs-hero{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:22px;background:linear-gradient(125deg,#e7f2ed,#f1f7f4);border-radius:20px}.obs-hero h3{font-size:28px;max-width:650px}.obs-total{display:flex;flex-direction:column;justify-content:center;border-left:1px solid #c4ddd4;padding:12px 0 12px 26px}.obs-total strong{font-size:64px;line-height:1.1;letter-spacing:-4px;color:#075b59}.obs-total span{font-size:13px;margin:8px 0}.obs-total small{font-size:12px;color:#5e7675}.obs-source-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.obs-source-pills span{background:#ffffffa8;border:1px solid #d2e4dc;border-radius:20px;padding:7px 12px;font-size:12px}.obs-source-pills b{margin-left:10px}.obs-highlights{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #cfe2db;padding-top:20px;gap:18px}.obs-highlights>div{display:flex;flex-direction:column;gap:7px}.obs-highlights small{color:#557773;font-size:11px}.obs-highlights strong{font-size:17px}.obs-highlights span{font-size:11px;color:#587572}.obs-section-title{display:flex;align-items:center;gap:12px;margin:36px 0 17px}.obs-section-title>span{height:34px;width:34px;display:grid;place-items:center;background:#dfeeed;border-radius:11px;color:#116362;font-size:12px;font-weight:700;flex-shrink:0}.obs-section-title h3{margin:0;font-size:20px;letter-spacing:-.4px}.obs-section-title p{margin:5px 0 0;color:#687f84;font-size:12px}.obs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.obs-card{background:#fff;border:1px solid #dfe8e7;border-radius:16px;padding:25px;min-width:0}.obs-card h3{margin:0;font-size:17px;letter-spacing:-.2px}.obs-card h4{font-size:13px;margin:22px 0 14px}.obs-subtitle{font-size:12px;color:#667d83;line-height:1.6;margin:7px 0 22px}.obs-bars{display:grid;gap:16px}.obs-bar>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;font-size:12px}.obs-bar span{min-width:0;overflow-wrap:anywhere}.obs-bar b{font-size:12px;white-space:nowrap}.obs-bar b small{font-weight:400;color:#78898c;margin-left:7px;font-size:10px}.obs-track{height:7px;background:#eef3f2;border-radius:20px;overflow:hidden}.obs-track>span{display:block;height:100%;border-radius:20px;background:#26857f}.obs-swatch{display:inline-block;width:11px;height:11px;border-radius:4px;margin-right:8px;border:1px solid #0001;vertical-align:middle}.obs-caption{font-size:11px;color:#677e83;line-height:1.7;margin:17px 0 0}.obs-presence{display:grid;grid-template-columns:145px minmax(0,1fr) 38px;gap:8px;align-items:center;margin:13px 0;font-size:12px}.obs-presence b{text-align:right;font-size:12px}.obs-presence small{grid-column:2/4;color:#829296;font-size:10px}.obs-areas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.obs-area{display:flex;align-items:center;flex-direction:column;text-align:center;gap:8px}.obs-ring{width:90px;height:90px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#2d8c80 var(--fill),#eff4f2 0);position:relative}.obs-ring:before{content:'';position:absolute;inset:9px;border-radius:50%;background:#fff}.obs-ring strong{position:relative;font-size:21px}.obs-area>b{font-size:12px}.obs-area small{font-size:10px;color:#788d90}.obs-mini-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:20px;border-top:1px solid #edf1f0}.obs-mini-grid .obs-bar>div:first-child{font-size:10px;flex-wrap:wrap;gap:4px}.obs-mini-grid .obs-caption{display:none}.obs-mini-grid .obs-bar small{display:none}.obs-quotes>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #edf1f0;padding:13px 0;font-size:13px}.obs-quotes span{color:#72878a;font-size:11px;white-space:nowrap}.obs-attention-layout{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1fr);gap:30px;align-items:start}.obs-attention-map{position:relative;aspect-ratio:1;background:repeating-linear-gradient(0deg,#f1f5f4,#f1f5f4 12.4%,#e2eae7 12.5%);overflow:hidden;border-radius:12px;border:1px solid #e0e9e5}.obs-attention-map.has-image{aspect-ratio:auto}.obs-attention-map img{display:block;width:100%;height:auto}.obs-heat-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr)}.obs-heat-grid span{border:1px solid #ffffff14}.obs-region-number{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:#fff;color:#743309;box-shadow:0 1px 8px #0002;width:25px;height:25px;display:grid;place-items:center;font-size:11px;font-weight:700}.obs-attention-list{padding-left:20px;margin:22px 0}.obs-attention-list li{padding:7px 0;font-size:13px}.obs-attention-list span,.obs-attention-list small{display:block;font-size:11px;color:#718185;margin-top:5px}.obs-attention-layout label{display:flex;flex-direction:column;font-size:12px;gap:8px}.obs-attention-layout select{width:100%;max-width:100%}.obs-video-presence{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;padding:20px;background:#f4f8f6;border-radius:12px}.obs-video-presence>div{display:flex;flex-direction:column;gap:6px}.obs-video-presence strong{font-size:27px;color:#126965}.obs-video-presence span{font-size:12px}.obs-video-presence small{font-size:10px;color:#6b8584}.obs-text-button{border:0;background:none;color:#146966;font-size:11px;cursor:pointer;padding:7px 0}.obs-method{margin:24px 0;padding:18px 22px;border:1px solid #dfe8e7;border-radius:12px;font-size:12px;color:#637b80;line-height:1.8}.obs-method summary{cursor:pointer;color:#274c4d;font-weight:700}.obs-file-details dl>div{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:6px 0}.obs-file-details dd{margin:0}.obs-file-details blockquote{font-size:12px;margin:14px 0;padding:9px 12px;border-left:2px solid #61a99b;background:#f4f8f7}.obs-file-details blockquote small{display:block;margin-top:6px;color:#718682}.obs-card select,.obs-card label{min-width:0}.obs-card .learning-performance-heading select{max-width:100%}
@media(max-width:1000px){.obs-grid{grid-template-columns:1fr}.obs-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.obs-attention-layout{grid-template-columns:1fr 1fr}.obs-hero h3{font-size:23px}}
@media(max-width:640px){.obs-hero{grid-template-columns:1fr;padding:22px;gap:18px}.obs-total{border-left:0;border-top:1px solid #c4ddd4;padding:14px 0 0}.obs-total strong{font-size:45px;letter-spacing:-2px}.obs-card{padding:20px}.obs-attention-layout{grid-template-columns:1fr;gap:20px}.obs-attention-map{max-width:100%;width:100%}.obs-presence{grid-template-columns:125px minmax(0,1fr) 35px}.obs-mini-grid{grid-template-columns:1fr}.obs-mini-grid .obs-bar>div:first-child{flex-wrap:nowrap}.obs-ring{height:74px;width:74px}.obs-ring strong{font-size:18px}.obs-section-title h3{font-size:17px}.obs-section-title p{line-height:1.5}.obs-video-presence{padding:15px;gap:10px}.obs-video-presence strong{font-size:23px}.obs-quotes>div{gap:10px}.obs-card .analyzer-stat-grid{grid-template-columns:1fr 1fr}.obs-bar b{white-space:normal;text-align:right}.obs-total span{margin:4px 0}}
.obs-coverage-note{padding:13px 17px;border-radius:10px;background:#fff6e8;border:1px solid #f1dfbe;color:#815e2c;font-size:12px;line-height:1.7}
#analyzer-affinity-criteria{text-align:left;margin-top:30px;border-top:1px solid #dce7e4;padding-top:25px}#analyzer-affinity-criteria h3{font-size:20px}#analyzer-affinity-criteria p{line-height:1.7;font-size:12px}#analyzer-affinity-criteria label{display:flex;flex-direction:column;gap:10px;font-size:12px}#analyzer-affinity-criteria select{max-width:100%;width:100%}.obs-criteria-weights{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.obs-criteria-weights>div{background:#edf5f1;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:7px}.obs-criteria-weights b{font-size:22px;color:#166964}.obs-criteria-weights span{font-size:12px}#analyzer-affinity-criteria details{padding:16px 0;border-top:1px solid #e0e8e5;font-size:12px}#analyzer-affinity-criteria summary{cursor:pointer;font-weight:700}.obs-criteria-table>div{display:flex;flex-direction:column;gap:7px;border-bottom:1px solid #edf0ef;padding:13px 0}.obs-criteria-table small{color:#6b8184}@media(max-width:640px){.obs-criteria-weights{grid-template-columns:repeat(2,1fr)}}
.analyzer-evaluation-actions{margin:24px 0;text-align:left}.analyzer-evaluation-actions p{font-size:13px;line-height:1.7;color:#507376}.analyzer-evaluation-actions p button{display:block;margin-top:10px}#analyzer-evaluation-result{text-align:left}#analyzer-evaluation-result details{padding:18px 0;font-size:12px}#analyzer-evaluation-result summary{cursor:pointer;font-weight:700}.obs-evaluation-score{display:grid;grid-template-columns:1fr 1fr;gap:25px;background:#e9f4ee;border:1px solid #cde3d7;border-radius:16px;padding:25px}.obs-evaluation-score strong{font-size:58px;letter-spacing:-2px;color:#126660}.obs-evaluation-score strong small{font-size:18px;letter-spacing:0;color:#66847e}.obs-evaluation-score h3{margin:8px 0}.obs-evaluation-score p{font-size:12px;line-height:1.7}.obs-evaluation-score>div+div{align-self:center}.obs-evaluation-score small{font-size:11px;color:#68827c}.obs-evaluation-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.obs-evaluation-groups article{border:1px solid #dce7e2;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px}.obs-evaluation-groups span{font-size:12px}.obs-evaluation-groups strong{font-size:25px;color:#216d64}.obs-evaluation-groups small{font-size:10px;color:#6d8580}@media(max-width:640px){.obs-evaluation-score{grid-template-columns:1fr}.obs-evaluation-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Evaluation report, based on the approved visual proposal. */
#analyzer-new.has-evaluation>.analyzer-focus{display:none}#analyzer-evaluation-result{text-align:left}.ev-report{display:grid;gap:20px}.ev-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.ev-heading h2{font-size:30px;letter-spacing:-.8px;margin:8px 0 12px}.ev-context{display:flex;gap:6px;flex-wrap:wrap}.ev-context span{padding:5px 10px;background:#e7eeec;border-radius:20px;font-size:11px;color:#355b5c}.ev-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ev-actions button{white-space:nowrap}.ev-card{background:#fff;border:1px solid #e0e8e6;border-radius:14px;padding:24px;min-width:0}.ev-card h3{font-size:18px;letter-spacing:-.3px;margin:0 0 7px}.ev-subtitle{color:#688086;font-size:12px;line-height:1.6;margin:0 0 20px}.ev-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.65fr);gap:18px}.ev-uploaded{margin:0;padding:12px;display:flex;flex-direction:column;justify-content:center}.ev-uploaded img,.ev-uploaded video{width:100%;max-height:280px;object-fit:contain;border-radius:8px;background:#eff3f1}.ev-uploaded figcaption{font-size:11px;color:#6f8588;overflow-wrap:anywhere;margin:8px 1px 0}.ev-summary{display:flex;align-items:center;gap:22px}.ev-gauge{position:relative;width:145px;height:145px;border-radius:50%;background:conic-gradient(#09686b var(--value),#e7ecec 0);flex-shrink:0;display:grid;place-items:center}.ev-gauge:before{content:'';position:absolute;inset:13px;background:#fff;border-radius:50%}.ev-gauge>div{position:relative;display:flex;align-items:center;flex-direction:column}.ev-gauge strong{font-size:40px;letter-spacing:-1.5px;line-height:1.15}.ev-gauge span{font-size:13px;color:#637d83;margin-top:7px}.ev-gauge.is-unknown{background:#e7ecec}.ev-verdict{min-width:0;flex:1}.ev-verdict h3{font-size:24px;letter-spacing:-.6px}.ev-verdict p{font-size:14px;line-height:1.5;margin:8px 0}.ev-verdict small{font-size:11px;color:#657c84;line-height:1.6;display:block}.ev-kpis{display:flex;flex-direction:column;gap:18px;border-left:1px solid #e7ece9;padding-left:20px;text-align:center}.ev-kpis>div{display:flex;flex-direction:column;gap:6px}.ev-kpis strong{font-size:26px;white-space:nowrap}.ev-kpis span{font-size:11px;line-height:1.5;color:#647e80}.ev-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ev-dimensions{display:grid;gap:16px;margin-top:20px}.ev-dimension{display:grid;grid-template-columns:125px minmax(0,1fr) 28px;gap:12px;align-items:center}.ev-dimension>span{font-size:12px}.ev-dimension small{display:block;color:#819396;font-size:9px;margin-top:4px}.ev-dimension b{font-size:12px;text-align:right}.ev-track{height:10px;border-radius:3px;background:#edf1f0;overflow:hidden}.ev-track i{display:block;height:100%;border-radius:3px;background:#096e70}.ev-axis{margin:13px 40px 0 137px;display:flex;justify-content:space-between;font-size:10px;color:#87989b;border-top:1px solid #dfe6e4;padding-top:6px}.ev-note{font-size:11px;color:#74898d;line-height:1.7;margin:16px 0 0}.ev-legend{display:flex;gap:18px;flex-wrap:wrap;font-size:11px;color:#6e8287;margin:15px 0 24px}.ev-legend span{display:flex;align-items:center;gap:7px}.ev-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;background:#096e70}.ev-legend span:nth-child(2) i{background:#a5cdb0}.ev-area-chart{display:grid;gap:22px}.ev-area-row{display:grid;grid-template-columns:115px minmax(0,1fr);gap:15px;align-items:center}.ev-area-row>span{font-size:12px;line-height:1.5}.ev-area-row>div{padding-right:65px;min-width:0}.ev-area-bar{position:relative;height:15px;margin:5px 0;min-width:0}.ev-area-bar i{display:block;background:#096e70;height:100%;border-radius:0 3px 3px 0}.ev-area-bar.reference i{background:#a5cdb0}.ev-area-bar b{position:absolute;right:-64px;top:0;white-space:nowrap;font-size:10px;font-weight:500;line-height:15px}.ev-area-axis{margin-left:130px;margin-right:65px}.ev-card-heading{display:flex;justify-content:space-between;gap:18px;align-items:start}.ev-table-filter{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#647c80;max-width:190px}.ev-table-filter select{font-size:11px;width:100%;padding:8px}.ev-table-scroll{overflow:auto;max-width:100%;border:1px solid #e6ece9;border-radius:8px}.ev-table-scroll table{width:100%;border-collapse:collapse;min-width:610px;text-align:left;font-size:12px}.ev-table-scroll th,.ev-table-scroll td{padding:13px 15px;border-bottom:1px solid #edf1ef;vertical-align:top;line-height:1.6}.ev-table-scroll thead th{background:#eff3f2;color:#426366;font-size:11px;font-weight:600}.ev-table-scroll tbody th{font-weight:500;width:23%;color:#2b4b4e}.ev-table-scroll td:nth-child(3){font-size:11px;color:#657d81;max-width:360px}.ev-table-scroll tr:last-child>*{border-bottom:0}.ev-reading{display:inline-flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}.ev-reading:before{content:'';width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#8c9d9b}.ev-reading.match:before{background:#55a879}.ev-reading.different:before,.ev-reading.near:before{background:#e5ae52}.ev-attention-content{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;align-items:start}.ev-heat{position:relative;aspect-ratio:1;background:#f0f4f2;border-radius:8px;overflow:hidden}.ev-heat.has-image{aspect-ratio:auto}.ev-heat img{width:100%;height:auto;display:block}.ev-attention-content ol{margin:0;padding-left:20px;font-size:12px}.ev-attention-content li{padding:7px 0;line-height:1.5}.ev-attention-content li span,.ev-attention-content li small{display:block;font-size:10px;color:#71898c;margin-top:4px}.ev-unavailable,.ev-no-preview{background:#f2f6f4;color:#73898c;border-radius:8px;padding:35px 20px;text-align:center;font-size:12px;line-height:1.8}.ev-no-preview{min-height:180px;display:grid;place-content:center}.ev-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ev-reference-grid article{display:flex;flex-direction:column;gap:8px;min-width:0}.ev-reference-grid img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:7px;background:#f1f4f2}.ev-reference-grid strong{font-size:11px;line-height:1.5;overflow-wrap:anywhere}.ev-reference-grid small{font-size:9px;line-height:1.5;color:#71878b}.ev-reference-link{font-size:10px;align-self:start;margin-top:auto}.ev-reference-placeholder{aspect-ratio:1;background:#eff4f1;border-radius:7px;display:grid;place-items:center;font-size:10px;text-align:center;color:#7a8c8e;padding:8px}.ev-method{font-size:12px;color:#6d8588;line-height:1.8;padding:18px;border:1px solid #e0e8e4;border-radius:12px}.ev-method summary{font-weight:600;cursor:pointer}.ev-method h4{margin:16px 0 6px}.ev-video-events{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.ev-video-events>div{padding:18px;background:#f2f7f4;border-radius:10px;display:flex;flex-direction:column;gap:7px}.ev-video-events strong{font-size:26px;color:#146e6c}.ev-video-events span{font-size:12px}.ev-video-events small{font-size:10px;color:#6d8589}
@media(max-width:1250px){.ev-hero{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}.ev-summary{flex-wrap:wrap;gap:20px}.ev-gauge{width:120px;height:120px}.ev-gauge strong{font-size:32px}.ev-kpis{width:100%;flex-direction:row;justify-content:space-evenly;border-left:0;border-top:1px solid #edf1ed;padding:16px 0 0}.ev-kpis>div{flex-direction:row;align-items:center;gap:10px}.ev-kpis br{display:none}.ev-kpis span{text-align:left}.ev-dimension{grid-template-columns:100px minmax(0,1fr) 25px;gap:9px}.ev-axis{margin-left:109px}.ev-area-row{grid-template-columns:95px minmax(0,1fr);gap:10px}.ev-area-axis{margin-left:105px}}
@media(max-width:950px){.ev-grid{grid-template-columns:1fr}.ev-heading{align-items:flex-start}.ev-heading h2{font-size:25px}.ev-gauge{width:110px;height:110px}.ev-verdict h3{font-size:20px}.ev-verdict p{font-size:12px}.ev-card{padding:21px}}
@media(max-width:640px){.ev-heading{flex-direction:column;gap:15px}.ev-heading h2{font-size:24px}.ev-actions{justify-content:flex-start}.ev-hero{grid-template-columns:1fr}.ev-uploaded img,.ev-uploaded video{max-height:240px}.ev-summary{gap:18px}.ev-kpis strong{font-size:23px}.ev-card{padding:18px}.ev-card h3{font-size:17px}.ev-dimension{grid-template-columns:105px minmax(0,1fr) 24px}.ev-axis{margin-left:114px;margin-right:33px}.ev-area-row{grid-template-columns:95px minmax(0,1fr);gap:8px}.ev-area-axis{margin-left:103px;margin-right:65px}.ev-card-heading{flex-direction:column;gap:12px;margin-bottom:14px}.ev-table-filter{width:100%;max-width:none}.ev-comparison{padding:16px}.ev-attention-content{grid-template-columns:1fr 1fr;gap:15px}.ev-reference-grid{gap:9px}.ev-video-events{grid-template-columns:1fr}.ev-legend{gap:12px}.ev-context span{font-size:10px}}
.ev-heat .obs-heat-grid{filter:blur(7px);transform:scale(1.03)}
.analyzer-steps{grid-template-columns:repeat(5,minmax(0,1fr))}.gen-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.gen-workspace>.content-card{padding:26px;min-width:0}.gen-source{padding:17px;background:#edf5f1;border-radius:12px;margin-bottom:24px}.gen-source h3{font-size:16px;overflow-wrap:anywhere}.gen-source p{font-size:12px;color:#5c787a}.gen-adjustments{display:grid;gap:10px;margin:18px 0 24px}.gen-adjustments label{display:flex;align-items:start;gap:11px;padding:13px;border:1px solid #dce7e1;border-radius:10px;cursor:pointer}.gen-adjustments input{width:16px;height:16px;margin-top:3px;flex-shrink:0;accent-color:#08666a}.gen-adjustments span{display:flex;flex-direction:column;gap:6px}.gen-adjustments b{font-size:12px}.gen-adjustments small{font-size:11px;color:#6b8586;line-height:1.6}#analyzer-generation-controls{display:grid;gap:20px;margin:20px 0}#analyzer-generation-controls label{display:flex;flex-direction:column;gap:8px;font-size:12px}#analyzer-generation-controls small{font-size:11px;color:#6a8285;line-height:1.6}#analyzer-generation-controls textarea{resize:vertical;width:100%}#analyzer-generation-status{font-size:12px;line-height:1.8;color:#5f7d7f;margin-top:16px}.gen-placeholder{padding:90px 20px;text-align:center;color:#6b8683}.gen-placeholder>span{display:block;font-size:55px;color:#398b80;margin-bottom:20px}.gen-placeholder h3{font-size:20px;color:#274f4d}.gen-placeholder p{font-size:13px;line-height:1.8}.gen-result-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:22px}.gen-result-heading h3{font-size:19px}.gen-result-heading p{font-size:12px;color:#6c8588}.gen-result-heading a{font-size:11px;white-space:nowrap}.gen-result-image{display:block;width:100%;max-height:760px;object-fit:contain;background:#eef3f1;border-radius:12px}.gen-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}@media(max-width:1050px){.analyzer-steps{grid-template-columns:repeat(3,minmax(0,1fr))}.gen-workspace{grid-template-columns:1fr}}@media(max-width:640px){.analyzer-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.analyzer-steps>button:last-child{grid-column:1/-1}.gen-workspace>.content-card{padding:20px}.gen-result-heading{flex-direction:column}.gen-placeholder{padding:50px 15px}}
/* Step five: approved reference-and-preview layout. */
#analyzer-generate .gen-page-heading{margin:10px 0 25px}.gen-page-heading h2{font-size:29px;letter-spacing:-.8px;margin:7px 0 10px}.gen-page-heading p:not(.eyebrow){font-size:14px;color:#6a7f84}.gen-workspace{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:stretch}.gen-workspace>.content-card{padding:23px;border-radius:14px}.gen-card-title{font-size:19px;margin:0 0 20px;letter-spacing:-.35px}.gen-source{display:grid;grid-template-columns:115px minmax(0,1fr);align-items:start;gap:17px;background:none;padding:0 0 23px;margin:0 0 20px;border-radius:0;border-bottom:1px solid #e7ece9}.gen-source img,.gen-source-empty{display:block;width:115px;height:140px;object-fit:contain;background:#f0f4f2;border-radius:8px}.gen-source-empty{display:grid;place-items:center;color:#8ba49e;font-size:35px}.gen-source h3{font-size:13px;line-height:1.6;margin:1px 0 7px;overflow-wrap:anywhere}.gen-source p{font-size:11px;line-height:1.7;margin:0 0 12px;color:#76868c}.gen-status-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:20px;background:#eaf3ed;color:#42705f;font-size:10px;line-height:1.5;white-space:nowrap}.gen-status-badge.is-working{background:#f5f1e6;color:#8d7047}.gen-adjustment-heading{font-size:14px;margin:0 0 7px}.gen-adjustment-help{font-size:11px;color:#7c8b90;margin:0 0 15px;line-height:1.6}.gen-adjustments{gap:9px;margin:0 0 22px}.gen-adjustments label{padding:13px;border-color:#dce4e2;border-radius:8px;gap:12px;transition:background .15s,border-color .15s}.gen-adjustments label:has(input:checked){background:#f6faf8;border-color:#a8c6bd}.gen-adjustments b{font-size:12px;line-height:1.5}.gen-adjustments small{font-size:10px;line-height:1.5}.gen-adjustments span{gap:4px}.gen-adjustments input{width:16px;height:16px}#analyzer-generation-controls{gap:18px;margin:0 0 18px}#analyzer-generation-controls label{font-size:12px;gap:7px}#analyzer-generation-instructions{font-size:11px;line-height:1.8;padding:12px;border-radius:8px;min-height:85px}.gen-format{min-width:0}.gen-format>label{font-size:12px;margin-bottom:8px}.gen-format>.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.gen-ratio-buttons{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #dbe4e0;border-radius:8px;overflow:hidden}.gen-ratio-buttons button{padding:12px 5px;border:0;border-right:1px solid #e2e9e6;background:#fff;color:#536c72;font-size:12px;cursor:pointer}.gen-ratio-buttons button:last-child{border-right:0}.gen-ratio-buttons button[aria-pressed=true]{background:#e5f2f0;box-shadow:inset 0 0 0 1px #248b8b;color:#09666d;font-weight:700;border-radius:7px}.gen-ratio-buttons button:focus-visible{outline:2px solid #127a7e;outline-offset:-3px}.gen-ratio-buttons button:disabled{opacity:.6;cursor:wait}.gen-reference-picker{font-size:11px;color:#376f73}.gen-reference-picker summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px}.gen-reference-picker>label{margin-top:15px}#analyzer-generate-submit{width:100%;justify-content:center;font-size:13px;padding:13px}.gen-submit-note{text-align:center;font-size:10px;line-height:1.6;color:#7d8d90;margin:8px 0 0}#analyzer-generation-status{font-size:11px;line-height:1.8;margin-top:12px}.gen-preview-card{display:flex;flex-direction:column;gap:0}.gen-result-heading{margin:0 0 20px;align-items:center}.gen-preview-title{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.gen-preview-title h3,.gen-result-heading>h3{font-size:19px;letter-spacing:-.3px;margin:0}.gen-icon-download{width:33px;height:33px;display:grid;place-items:center;border:1px solid #dce5e2;border-radius:7px;color:#3a6d70;font-size:19px;text-decoration:none;flex-shrink:0}.gen-preview-stage{background:#f1f5f4;border-radius:11px;padding:15px;display:flex;align-items:center;justify-content:center;flex:1;min-height:420px}.gen-result-image{width:auto;max-width:100%;height:auto;max-height:650px;border-radius:7px;background:transparent;object-fit:contain}.gen-placeholder{padding:80px 25px;max-width:350px}.gen-placeholder h3{font-size:19px}.gen-placeholder p{font-size:12px}.gen-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px}.gen-result-actions>.button{font-size:11px;padding:11px 13px;justify-content:center;flex:1;white-space:nowrap}.gen-download-button{border:1px solid #188087;background:#fff;color:#09656a;box-shadow:none}.gen-another-button{border:0;background:none;color:#186f73;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:11px;padding:9px 0;white-space:nowrap}.gen-evaluation-note{font-size:10px;line-height:1.7;text-align:center;color:#75878b;margin:12px 0 0}.gen-review-strip{display:flex;align-items:center;gap:12px;padding:13px 17px;margin:18px 0 0;background:#eaf3ed;border:1px solid #d7e8dc;border-radius:10px;font-size:11px;color:#477260;line-height:1.8}.gen-review-strip>span{background:#4e8d6d;color:#fff;border-radius:50%;width:18px;height:18px;display:grid;place-items:center;flex-shrink:0;font-size:11px}@media(max-width:1120px){.gen-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.gen-workspace>.content-card{padding:19px}.gen-source{grid-template-columns:85px minmax(0,1fr);gap:12px}.gen-source img,.gen-source-empty{width:85px;height:110px}.gen-result-actions>.button{flex-basis:45%}.gen-another-button{width:100%;text-align:center}.gen-preview-stage{min-height:380px}.gen-page-heading h2{font-size:26px}}@media(max-width:850px){.gen-workspace{grid-template-columns:1fr;gap:18px}.gen-source{grid-template-columns:110px minmax(0,1fr)}.gen-source img,.gen-source-empty{width:110px;height:130px}.gen-preview-stage{min-height:330px;max-height:none}.gen-result-image{max-height:620px}.gen-another-button{width:auto;margin-left:auto}.gen-result-actions>.button{flex:initial}}@media(max-width:640px){.gen-page-heading h2{font-size:23px;line-height:1.3}.gen-workspace>.content-card{padding:18px}.gen-result-heading{flex-direction:row;gap:10px}.gen-preview-title{gap:8px}.gen-result-heading h3{font-size:18px}.gen-status-badge{font-size:9px}.gen-preview-stage{min-height:280px;padding:10px}.gen-result-image{max-height:480px}.gen-source{grid-template-columns:85px minmax(0,1fr)}.gen-source img,.gen-source-empty{width:85px;height:110px}.gen-another-button{width:100%;text-align:center;margin-left:0}.gen-result-actions>.button{flex:1;font-size:10px;padding:11px 9px}.gen-review-strip{align-items:flex-start;font-size:10px}.gen-placeholder{padding:65px 15px}}
.ev-no-preview strong{font-size:13px;color:#44666a}.ev-no-preview small{display:block;margin:10px 0;line-height:1.7}.ev-restore-video-label{display:block;font-size:11px;text-align:left;margin:10px 0}.ev-restore-video-label input{width:100%;max-width:100%;font-size:10px;margin-top:8px;padding:8px}.ev-no-preview [role=status]{font-size:10px;line-height:1.7}.ev-uploaded video{width:100%;min-height:190px;max-height:340px;background:#152629}

/* Restricted analyzer accounts have one navigation destination. */
.app-shell.analyzer-only .nav-link:not([data-page="analyzer"]){display:none!important}
.paid-kpi-intro{padding:18px 22px;border:1px solid #cee3dc;background:#eaf5ef;border-radius:12px;margin:0 0 18px}.paid-kpi-intro p{font-size:12px;line-height:1.8;color:#617c7c;margin:8px 0 0}.paid-kpi-score{display:flex;align-items:center;gap:15px;background:#edf6f1;border-radius:9px;padding:12px;margin:12px 0}.paid-kpi-score>strong{font-size:27px;color:#09676a}.paid-kpi-score small{display:block;font-size:10px;color:#6c8382;font-weight:400;line-height:1.6}.paid-kpi-score strong small{display:inline;font-size:11px}.paid-kpi-score>span{font-size:12px}.paid-kpi-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;font-size:11px;color:#708682}.paid-kpi-values b{display:block;font-size:12px;color:#234e4d;margin-top:4px}.paid-kpi-breakdown{margin:14px 0;font-size:11px}.paid-kpi-breakdown summary{cursor:pointer;color:#146b69}.paid-kpi-breakdown>div{display:grid;grid-template-columns:1fr auto;gap:7px;padding:10px 0;border-bottom:1px solid #edf1ef}.paid-kpi-breakdown small{grid-column:1/-1;color:#7a8b8d}.paid-kpi-breakdown p,.paid-kpi-progress{font-size:11px;line-height:1.8;color:#6e8585}.paid-kpi-progress{padding:10px 15px;background:#f3f6ef;border-radius:8px}
