/* Public portal palette only; form geometry and business flow remain unchanged. */
html[data-portal-theme="light"] {
  color-scheme: light;
  --bg: #edf2f8;
  --panel: #ffffff;
  --line: #cbd8e7;
  --border: var(--line);
  --text: #182536;
  --muted: #4e6075;
  --blue: #1859b5;
  --green: #137347;
  --portal-header: #f2f7fc;
  --portal-section: #f4f8fc;
  --portal-highlight: #e9f3fa;
  --portal-accent-soft: #e3efff;
  --portal-accent-border: #bfd4f5;
  --portal-accent-solid: #2465cc;
  --portal-hover: #dde9f7;
  --portal-success-soft: #e9f6ef;
  --portal-success-border: #b6dfc8;
  --portal-error: #b12d39;
  --portal-disabled-bg: #eaf1f9;
  --portal-shadow: rgba(22, 40, 65, .08);
}
html[data-portal-theme="light"] body { background: var(--bg); color: var(--text); }
html[data-portal-theme="light"] .portal-header { background: var(--portal-header); border-color: var(--line); backdrop-filter: none; }
html[data-portal-theme="light"] :is(.portal-brand small, .portal-security, .portal-hero-copy p, .portal-action small, .portal-panel-head em, .portal-step > p, .choice-card small, .portal-upload small, .lookup-card p, .lookup-meta span, .portal-success p, .portal-field-help, footer) { color: var(--muted); }
html[data-portal-theme="light"] :is(.portal-eyebrow, .portal-panel-head span, .portal-success small, .portal-back, .portal-action b, label > span) { color: var(--blue); }
html[data-portal-theme="light"] .portal-mark { background: var(--portal-accent-soft); border-color: var(--portal-accent-border); }
html[data-portal-theme="light"] .portal-mark i { background: var(--portal-accent-solid); }
html[data-portal-theme="light"] .portal-security span { box-shadow: none; }
html[data-portal-theme="light"] .portal-action { background: var(--panel); border-color: var(--line); color: var(--text); }
html[data-portal-theme="light"] .portal-action.primary { background: linear-gradient(145deg, var(--portal-accent-soft), var(--portal-highlight)); border-color: var(--portal-accent-border); }
html[data-portal-theme="light"] .portal-action:hover { background: var(--portal-hover); border-color: var(--blue); }
html[data-portal-theme="light"] .portal-action > span { background: var(--portal-accent-soft); color: var(--blue); }
html[data-portal-theme="light"] .portal-panel { background: var(--panel); border-color: var(--line); box-shadow: 0 1.5rem 5rem var(--portal-shadow); }
html[data-portal-theme="light"] .portal-panel-head { background: var(--portal-header); border-radius: 18px 18px 0 0; }
html[data-portal-theme="light"] .portal-progress { background: var(--portal-accent-soft); }
html[data-portal-theme="light"] .portal-progress i { background: var(--portal-accent-solid); }
html[data-portal-theme="light"] .portal-project-context { background: var(--portal-highlight); border-color: var(--line); }
html[data-portal-theme="light"] :is(input, select, textarea) { color-scheme: light; background: var(--panel); color: var(--text); border-color: var(--line); }
html[data-portal-theme="light"] :is(input, textarea)::placeholder { color: var(--muted); opacity: 1; }
html[data-portal-theme="light"] :is(input, select, textarea):focus { border-color: var(--blue); box-shadow: 0 0 0 3px var(--portal-accent-soft); }
html[data-portal-theme="light"] input[type="checkbox"] { accent-color: var(--portal-accent-solid); }
html[data-portal-theme="light"] .portal-grid .portal-flag { color: var(--muted); }
html[data-portal-theme="light"] .portal-grid .portal-flag span { color: inherit; }
html[data-portal-theme="light"] .portal-field.is-unavailable > :is(input[type="email"], input[type="tel"]) { background: var(--portal-disabled-bg); color: var(--muted); }
html[data-portal-theme="light"] .portal-field.is-unavailable > label:first-child span { color: var(--muted); }
html[data-portal-theme="light"] .choice-card { background: var(--portal-section); color: var(--text); border-color: var(--line); }
html[data-portal-theme="light"] .choice-card:hover { background: var(--portal-hover); border-color: var(--blue); }
html[data-portal-theme="light"] .choice-card.selected { background: var(--portal-accent-soft); border-color: var(--blue); box-shadow: inset 3px 0 var(--portal-accent-solid); }
html[data-portal-theme="light"] .portal-primary { background: var(--portal-accent-solid); border-color: var(--portal-accent-solid); color: #ffffff; }
html[data-portal-theme="light"] .portal-primary:hover { background: #1859b5; }
html[data-portal-theme="light"] .portal-primary:disabled { background: var(--portal-disabled-bg); border-color: var(--line); color: var(--muted); cursor: wait; }
html[data-portal-theme="light"] .portal-secondary { background: var(--portal-section); border-color: var(--line); color: var(--text); }
html[data-portal-theme="light"] .portal-secondary:hover { background: var(--portal-hover); }
html[data-portal-theme="light"] .portal-form-error { color: var(--portal-error); }
html[data-portal-theme="light"] .lookup-card { background: var(--panel); border-color: var(--line); }
html[data-portal-theme="light"] .lookup-meta { background: var(--line); }
html[data-portal-theme="light"] .lookup-meta div { background: var(--portal-section); }
html[data-portal-theme="light"] .success-icon { color: var(--green); background: var(--portal-success-soft); border-color: var(--portal-success-border); }
html[data-portal-theme="light"] footer { background: var(--portal-header); border-color: var(--line); }
html[data-portal-theme="light"] :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
html[data-portal-theme="light"] ::selection { background: var(--portal-accent-soft); color: var(--blue); }
