:root {
  --pro-blue: #2d61db;
  --pro-blue-dark: #173d99;
  --pro-green: #5ec99b;
  --pro-danger: #ff8d8d;
}

body.sla-pro-page { min-height: 100vh; }
.sla-pro-page nav { position: static; }
.sla-pro-page.day-mode {
  --black: #f5f7fb;
  --surface: #ffffff;
  --surface2: #edf2f8;
  --silver: #4c5b70;
  --silver-light: #172033;
  --white: #0c1424;
  --muted: #6f7b8d;
  --border: rgba(23,32,51,0.1);
  --border-mid: rgba(23,32,51,0.18);
  background: var(--black);
  color: var(--white);
}
.sla-pro-page.day-mode nav {
  background: rgba(255,255,255,0.92);
  border-bottom-color: var(--border-mid);
}
.sla-pro-page.day-mode .nav-logo-text,
.sla-pro-page.day-mode .nav-cta { color: var(--white); }
.sla-pro-page.day-mode .nav-links a:not(.nav-cta),
.sla-pro-page.day-mode .nav-logo-text span { color: var(--silver); }
.sla-pro-page.day-mode .nav-cta:hover { background: #e8eef8; }
.sla-pro-shell { max-width: 1180px; margin: 0 auto; padding: 3.5rem 2rem 5rem; }
.pro-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; border-bottom: 1px solid var(--border-mid); padding-bottom: 2rem; margin-bottom: 2rem; }
.pro-kicker { color: var(--silver); font-size: 0.66rem; letter-spacing: 0.28em; text-transform: uppercase; }
.pro-header h1 { font-size: clamp(3.5rem, 8vw, 6.8rem); line-height: 0.9; margin-top: 0.5rem; }
.pro-header h1 span { color: var(--silver-light); }
.pro-header p { color: var(--silver); max-width: 580px; margin-top: 1rem; }
.pro-title-row { display: flex; align-items: flex-start; gap: 0.85rem; }
.beta-badge { margin-top: 0.9rem; border: 1px solid rgba(94,201,155,0.45); color: var(--pro-green); padding: 0.35rem 0.55rem; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.pro-header .beta-note { color: var(--muted); font-size: 0.76rem; max-width: 620px; }
.pro-header .powered-by { color: var(--silver-light); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }
.member-status { display: flex; align-items: center; gap: 0.8rem; color: var(--silver); font-size: 0.78rem; white-space: nowrap; }
.member-status button, .text-button { background: transparent; border: 0; color: var(--silver-light); text-decoration: underline; cursor: pointer; font: inherit; }
.theme-toggle { border: 1px solid var(--border-mid) !important; color: var(--silver-light) !important; padding: 0.35rem 0.55rem; text-decoration: none !important; font-size: 0.62rem !important; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.theme-toggle:hover { background: var(--surface2); }
.member-admin-link { color: var(--pro-green); text-decoration: none; border: 1px solid rgba(94,201,155,0.35); padding: 0.35rem 0.55rem; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.member-admin-link:hover { background: rgba(94,201,155,0.08); }
.member-account { display: flex; flex-direction: column; align-items: flex-end; gap: 0.8rem; }
.member-account > div:first-child { display: flex; align-items: center; gap: 0.75rem; }
.plan-badge { border: 1px solid rgba(94,201,155,0.35); color: var(--pro-green); padding: 0.35rem 0.55rem; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.credit-status { color: var(--silver-light); font-size: 0.72rem; white-space: nowrap; }
.tool-switch { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border-mid); margin-bottom: 2rem; }
.tool-switch-button { min-height: 54px; border: 0; border-right: 1px solid var(--border-mid); background: rgba(255,255,255,0.02); color: var(--silver); cursor: pointer; font: inherit; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.tool-switch-button:last-child { border-right: 0; }
.tool-switch-button.active { background: var(--pro-blue-dark); color: #fff; }
.tool-switch-button:focus-visible { outline: 2px solid var(--silver-light); outline-offset: -4px; }
.tool-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 1.5rem; align-items: start; }
.tool-main { min-width: 0; }

.auth-layout { min-height: 62vh; display: grid; place-items: center; padding: 4rem 1.5rem; }
.auth-panel { width: min(100%, 460px); border: 1px solid var(--border-mid); background: var(--surface); padding: 2rem; }
.auth-panel h1, .auth-panel h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2.8rem; letter-spacing: 0.04em; line-height: 1; }
.auth-panel > p { color: var(--silver); margin: 1rem 0 1.5rem; }
.auth-note { border-top: 1px solid var(--border); margin-top: 1.5rem; padding-top: 1.25rem; font-size: 0.78rem; color: var(--muted); }

.pro-public { max-width: 1180px; margin: 0 auto; padding: 4.5rem 2rem 5rem; }
.pro-public-hero { max-width: 900px; padding-bottom: 3.5rem; }
.pro-public-title { display: flex; align-items: flex-start; gap: 0.85rem; margin-top: 0.5rem; }
.pro-public-title h1 { font-size: 7rem; line-height: 0.88; }
.pro-public-title h1 span { color: var(--silver-light); }
.pro-public-lead { max-width: 740px; color: var(--silver); font-size: 1.3rem; line-height: 1.55; margin-top: 1.5rem; }
.pro-public-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.9rem; margin-top: 2rem; }
.pro-public-actions a { text-decoration: none; }
.pro-public-actions .generate-button { display: inline-flex; align-items: center; justify-content: center; }
.pro-public-actions .add-button { min-height: 51px; }
.pro-public-hero .powered-by { color: var(--muted); font-size: 0.65rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 1.25rem; }
.pro-public-capabilities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border-mid); }
.pro-public-capabilities article { min-width: 0; padding: 2rem; border-right: 1px solid var(--border-mid); background: rgba(13,20,36,0.28); }
.pro-public-capabilities article:last-child { border-right: 0; }
.pro-public-capabilities span { color: var(--pro-green); font-size: 0.64rem; font-weight: 700; letter-spacing: 0.16em; }
.pro-public-capabilities h2 { font-family: 'Bebas Neue', sans-serif; font-size: 1.65rem; letter-spacing: 0.05em; margin-top: 0.85rem; }
.pro-public-capabilities p { color: var(--muted); font-size: 0.84rem; line-height: 1.7; margin-top: 0.7rem; }
.pro-public-access { display: grid; grid-template-columns: minmax(0, 1fr) 460px; gap: 4rem; align-items: start; padding-top: 4rem; }
.pro-access-copy h2 { font-family: 'Bebas Neue', sans-serif; font-size: 3.5rem; letter-spacing: 0.04em; margin-top: 0.8rem; }
.pro-access-copy > p:not(.pro-kicker) { color: var(--silver); line-height: 1.75; margin-top: 1rem; }
.pro-access-copy ul { display: grid; gap: 0.9rem; list-style: none; margin-top: 1.5rem; }
.pro-access-copy li { color: var(--silver-light); line-height: 1.6; padding-left: 1.25rem; position: relative; }
.pro-access-copy li::before { content: ''; position: absolute; width: 6px; height: 6px; left: 0; top: 0.65em; background: var(--pro-green); }
.pro-access-copy .access-note { color: var(--muted); font-size: 0.78rem; }
.text-link { display: inline-block; color: var(--silver-light); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-top: 1.5rem; }

.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field { display: flex; flex-direction: column; gap: 0.45rem; }
.field-wide { grid-column: 1 / -1; }
.field > span, .choice-group legend { color: var(--silver); font-size: 0.64rem; letter-spacing: 0.16em; text-transform: uppercase; }
.field small { color: var(--muted); font-size: 0.58rem; }
.field input, .field textarea {
  width: 100%; border: 1px solid var(--border-mid); background: var(--black); color: var(--white);
  border-radius: 0; padding: 0.9rem 1rem; font: inherit; font-size: 0.92rem; outline: none; resize: vertical;
}
.sla-pro-page.day-mode .field input,
.sla-pro-page.day-mode .field textarea { background: #fff; color: var(--white); }
.field input:focus, .field textarea:focus { border-color: var(--silver); box-shadow: 0 0 0 2px rgba(156,168,187,0.08); }
.field input::placeholder, .field textarea::placeholder { color: #657084; }
.sla-pro-page.day-mode .field input::placeholder,
.sla-pro-page.day-mode .field textarea::placeholder { color: #8894a6; }
.field input:disabled { opacity: 0.45; cursor: not-allowed; }
.estimate-diagnostic-row span { display: flex; align-items: center; gap: 0.6rem; letter-spacing: 0.06em; }
.estimate-diagnostic-row input { width: auto; }
.recent-vehicles { border: 1px solid var(--border-mid); background: rgba(255,255,255,0.02); padding: 1rem; position: sticky; top: 1rem; }
.sla-pro-page.day-mode .recent-vehicles { background: #fff; }
.recent-heading { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 0.75rem; }
.recent-heading h3 { color: var(--silver); font-size: 0.64rem; letter-spacing: 0.16em; text-transform: uppercase; }
.recent-heading button { background: transparent; border: 0; color: var(--silver-light); cursor: pointer; font: inherit; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.recent-help { color: var(--muted); font-size: 0.72rem; line-height: 1.5; margin-bottom: 0.85rem; }
.recent-vehicle-list { display: grid; gap: 0.55rem; }
.recent-vehicle-button { border: 1px solid var(--border-mid); background: var(--surface); color: var(--silver-light); cursor: pointer; font: inherit; font-size: 0.76rem; line-height: 1.25; padding: 0.75rem 0.8rem; text-align: left; }
.recent-vehicle-button strong, .recent-vehicle-button span, .recent-vehicle-button small { display: block; }
.recent-vehicle-button strong { color: var(--white); font-size: 0.82rem; }
.recent-vehicle-button span { color: var(--silver-light); margin-top: 0.12rem; }
.recent-vehicle-button small { color: var(--muted); font-size: 0.62rem; letter-spacing: 0.1em; margin-top: 0.35rem; text-transform: uppercase; }
.recent-vehicle-button:hover { border-color: var(--silver); background: var(--surface2); }

.vehicle-section, .recommendations-section { padding: 2rem 0; border-bottom: 1px solid var(--border-mid); }
.tech-note { margin-top: 0.9rem; }
.section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.section-heading h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2rem; letter-spacing: 0.05em; }
.section-heading p { color: var(--muted); font-size: 0.78rem; }
.tool-subtitle { color: var(--silver-light) !important; font-size: 0.78rem !important; font-weight: 700; letter-spacing: 0.14em; margin-top: 0.15rem; text-transform: uppercase; }
.recommendation-item { padding: 2rem 0; border-top: 1px solid var(--border-mid); }
.recommendation-item:first-child { border-top: 0; padding-top: 0; }
.recommendation-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; }
.recommendation-heading h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.4rem; letter-spacing: 0.06em; }
.remove-recommendation { border: 0; background: transparent; color: var(--pro-danger); font: inherit; font-size: 0.72rem; cursor: pointer; text-transform: uppercase; letter-spacing: 0.12em; }
.choice-group { border: 0; margin-top: 1.25rem; }
.choice-group legend { margin-bottom: 0.55rem; }
.segmented-control { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--border-mid); }
.segmented-control label { position: relative; }
.segmented-control input { position: absolute; opacity: 0; pointer-events: none; }
.segmented-control span { display: grid; place-items: center; min-height: 46px; padding: 0.65rem; border-right: 1px solid var(--border-mid); color: var(--silver); font-size: 0.76rem; cursor: pointer; text-align: center; }
.segmented-control label:last-child span { border-right: 0; }
.segmented-control input:checked + span { background: var(--pro-blue-dark); color: #fff; }
.segmented-control input:focus-visible + span { outline: 2px solid var(--silver-light); outline-offset: -3px; }

.add-button { display: inline-flex; align-items: center; gap: 0.65rem; background: transparent; border: 1px solid var(--border-mid); color: var(--white); padding: 0.85rem 1.2rem; cursor: pointer; font: inherit; font-size: 0.76rem; text-transform: uppercase; letter-spacing: 0.1em; }
.add-button strong { font-size: 1.25rem; line-height: 0; }
.add-button:hover { background: var(--surface2); }
.add-button:disabled { opacity: 0.4; cursor: not-allowed; }
.generate-row { display: flex; align-items: center; gap: 1.25rem; padding-top: 2rem; }
.generate-button { min-width: 270px; border: 1px solid rgba(255,255,255,0.16); background: var(--pro-blue); color: #fff; padding: 1rem 1.4rem; cursor: pointer; font: inherit; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }
.generate-button:hover { background: #3970ed; }
.generate-button:disabled { opacity: 0.65; cursor: wait; }
.privacy-note { color: var(--muted); font-size: 0.72rem; max-width: 520px; }

.message { margin: 1rem 0; padding: 0.85rem 1rem; border: 1px solid rgba(255,141,141,0.35); color: var(--pro-danger); background: rgba(255,141,141,0.06); font-size: 0.82rem; }
.message[data-type="success"] { border-color: rgba(94,201,155,0.35); color: var(--pro-green); background: rgba(94,201,155,0.06); }
.results { scroll-margin-top: 2rem; padding-top: 3rem; }
.results-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem; margin-bottom: 1.25rem; }
.results-heading h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2.5rem; letter-spacing: 0.05em; }
.results-heading p { color: var(--muted); font-size: 0.72rem; }
.output-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid var(--border-mid); }
.output-grid.tech-output-grid { grid-template-columns: 1fr; }
.output-panel { min-width: 0; padding: 1.5rem; background: var(--surface); }
.output-panel + .output-panel { border-left: 1px solid var(--border-mid); }
.tech-output-panel { border-left: 0 !important; }
.output-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border); }
.output-toolbar h3 { font-family: 'Bebas Neue', sans-serif; font-size: 1.45rem; letter-spacing: 0.06em; }
.copy-button { background: transparent; color: var(--silver-light); border: 1px solid var(--border-mid); padding: 0.55rem 0.8rem; font: inherit; font-size: 0.68rem; cursor: pointer; text-transform: uppercase; letter-spacing: 0.1em; }
.output-text { white-space: pre-wrap; overflow-wrap: anywhere; color: var(--silver-light); font-size: 0.9rem; line-height: 1.75; padding-top: 1.25rem; }
.result-actions { margin-top: 1rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.feedback-action-button { min-width: 220px; border: 1px solid rgba(255,255,255,0.16); background: var(--pro-blue); color: #fff; padding: 0.95rem 1.35rem; cursor: pointer; font: inherit; font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; }
.feedback-action-button:hover { background: #3970ed; }

.feedback-dialog { width: min(680px, calc(100% - 2rem)); max-height: calc(100vh - 2rem); overflow-y: auto; border: 1px solid var(--border-mid); background: var(--surface); color: var(--silver-light); padding: 1.5rem; }
.feedback-dialog::backdrop { background: rgba(3, 10, 24, 0.82); }
.feedback-dialog-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.feedback-dialog-header h2 { font-family: 'Bebas Neue', sans-serif; font-size: 2.2rem; letter-spacing: 0.05em; }
.dialog-close { width: 2.25rem; height: 2.25rem; border: 1px solid var(--border-mid); background: transparent; color: var(--silver-light); font-size: 1.5rem; line-height: 1; cursor: pointer; }
.feedback-intro { color: var(--muted); font-size: 0.82rem; line-height: 1.6; margin: 0.75rem 0 1.25rem; }
.feedback-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.feedback-dialog select { width: 100%; background: var(--surface-raised); border: 1px solid var(--border-mid); color: var(--silver-light); padding: 0.85rem; font: inherit; }
.sla-pro-page.day-mode .feedback-dialog select { background: #fff; color: var(--white); }
.feedback-actions { display: flex; justify-content: flex-end; margin-top: 1rem; }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.admin-shell .pro-header { align-items: center; }
.admin-top-link { margin-top: 0; }
.admin-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--border-mid); background: var(--border-mid); }
.admin-summary-grid article { min-width: 0; background: var(--surface); padding: 1.25rem; }
.admin-summary-grid span { display: block; color: var(--muted); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.admin-summary-grid strong { display: block; margin-top: 0.55rem; font-family: 'Bebas Neue', sans-serif; font-size: 2.6rem; line-height: 0.95; color: var(--white); }
.admin-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.5rem 0 0.75rem; }
.admin-filter { width: min(100%, 520px); }
.admin-meta { display: flex; justify-content: space-between; gap: 1rem; color: var(--muted); font-size: 0.72rem; margin-bottom: 0.75rem; }
.admin-table-wrap { overflow-x: auto; border: 1px solid var(--border-mid); background: var(--surface); }
.admin-table { width: 100%; border-collapse: collapse; min-width: 980px; }
.admin-table th { color: var(--silver); font-size: 0.62rem; letter-spacing: 0.14em; text-align: left; text-transform: uppercase; padding: 0.9rem 1rem; border-bottom: 1px solid var(--border-mid); background: rgba(255,255,255,0.02); }
.admin-table td { color: var(--silver-light); font-size: 0.8rem; padding: 1rem; border-bottom: 1px solid var(--border); vertical-align: top; }
.admin-table tr:last-child td { border-bottom: 0; }
.admin-table td strong { display: block; color: var(--white); font-size: 0.82rem; overflow-wrap: anywhere; }
.admin-table td span:not(.admin-status-pill) { display: block; color: var(--muted); font-size: 0.7rem; margin-top: 0.2rem; }
.admin-status-pill { display: inline-flex; align-items: center; border: 1px solid var(--border-mid); padding: 0.35rem 0.55rem; font-size: 0.62rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.admin-status-pill.ok { border-color: rgba(94,201,155,0.35); color: var(--pro-green); background: rgba(94,201,155,0.06); }
.admin-status-pill.danger { border-color: rgba(255,141,141,0.35); color: var(--pro-danger); background: rgba(255,141,141,0.06); }
.admin-empty { text-align: center; color: var(--muted) !important; padding: 2rem !important; }

[hidden] { display: none !important; }

@media (max-width: 760px) {
  .sla-pro-shell { padding: 2.5rem 1.25rem 4rem; }
  .pro-header { align-items: flex-start; flex-direction: column; }
  .member-account { align-items: flex-start; }
  .member-account > div:first-child { align-items: flex-start; flex-direction: column; gap: 0.5rem; }
  .credit-status { white-space: normal; }
  .tool-workspace { grid-template-columns: 1fr; }
  .recent-vehicles { order: -1; position: static; }
  .field-grid, .output-grid { grid-template-columns: 1fr; }
  .feedback-fields { grid-template-columns: 1fr; }
  .pro-public { padding: 3rem 1.25rem 4rem; }
  .pro-public-title h1 { font-size: 4.2rem; }
  .pro-public-lead { font-size: 1.05rem; }
  .pro-access-copy h2 { font-size: 2.5rem; }
  .pro-public-capabilities, .pro-public-access { grid-template-columns: 1fr; }
  .pro-public-capabilities article { border-right: 0; border-bottom: 1px solid var(--border-mid); }
  .pro-public-capabilities article:last-child { border-bottom: 0; }
  .pro-public-access { gap: 2.5rem; padding-top: 3rem; }
  .result-actions { align-items: stretch; flex-direction: column-reverse; }
  .result-actions > button { width: 100%; justify-content: center; }
  .field-wide { grid-column: auto; }
  .output-panel + .output-panel { border-left: 0; border-top: 1px solid var(--border-mid); }
  .segmented-control { grid-template-columns: 1fr; }
  .segmented-control span { border-right: 0; border-bottom: 1px solid var(--border-mid); }
  .segmented-control label:last-child span { border-bottom: 0; }
  .generate-row { align-items: stretch; flex-direction: column; }
  .generate-button { width: 100%; min-width: 0; }
  .admin-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-toolbar, .admin-meta { align-items: stretch; flex-direction: column; }
  .admin-filter { width: 100%; }
}
