/* Public controls share the administrative design language, not its scripts. */
html[data-portal-theme="light"] {
  --text-xs: .8125rem;
  --text-sm: .9375rem;
  --text-base: 1rem;
  --text-lg: 1.1875rem;
  --text-xl: 1.5rem;
  --portal-control-height: 2.75rem;
  --portal-radius-sm: .375rem;
  --portal-radius-lg: .75rem;
}
html[data-portal-theme="light"] body { font-size: var(--text-base); line-height: 1.5; }
html[data-portal-theme="light"] .portal-icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; vertical-align: middle; }
html[data-portal-theme="light"] :is(.portal-back, .portal-primary, .portal-secondary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  min-height: var(--portal-control-height);
  padding: .5rem 1rem;
  border-radius: var(--portal-radius-sm);
  font: inherit;
  font-size: var(--text-sm, .9375rem);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}
html[data-portal-theme="light"] .portal-panel-head > .portal-back { background: var(--panel); color: var(--text); border: 1px solid var(--line); }
html[data-portal-theme="light"] .portal-back:hover { background: var(--portal-hover); border-color: var(--portal-accent-border); }
html[data-portal-theme="light"] .portal-panel { border-radius: var(--portal-radius-lg); box-shadow: 0 .5rem 2rem var(--portal-shadow); }
html[data-portal-theme="light"] .portal-panel-head { gap: 1.25rem; border-radius: var(--portal-radius-lg) var(--portal-radius-lg) 0 0; }
html[data-portal-theme="light"] :is(.portal-panel-head span, .portal-eyebrow, .portal-success small) { color: var(--muted); font-size: var(--text-xs, .8125rem); font-weight: 500; letter-spacing: .025em; }
html[data-portal-theme="light"] .portal-panel-head h1 { color: var(--text); font-size: var(--text-xl, 1.5rem); line-height: 1.3; font-weight: 700; letter-spacing: -.02em; }
html[data-portal-theme="light"] .portal-panel-head em { display: inline-flex; align-items: center; min-height: 2rem; padding: .375rem .75rem; border: 1px solid var(--portal-accent-border); border-radius: var(--portal-radius-sm); background: var(--portal-accent-soft); color: var(--blue); font-size: var(--text-xs, .8125rem); white-space: nowrap; }
html[data-portal-theme="light"] .portal-step legend { color: var(--text); line-height: 1.35; font-weight: 600; letter-spacing: -.015em; }
html[data-portal-theme="light"] .portal-step > p { font-size: var(--text-sm, .9375rem); line-height: 1.6; }
html[data-portal-theme="light"] :is(.portal-grid label > span, .portal-field > label:first-child > span, .portal-lookup-form label > span) { color: var(--muted); font-size: var(--text-sm, .9375rem); font-weight: 500; line-height: 1.4; }
html[data-portal-theme="light"] .portal-main :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]):not([type="file"]) { border-radius: var(--portal-radius-sm); min-height: var(--portal-control-height); font-size: var(--text-sm, .9375rem); }
html[data-portal-theme="light"] .portal-main :is(input, select):not([type="checkbox"]):not([type="radio"]):not([type="file"]) { height: var(--portal-control-height); }
html[data-portal-theme="light"] .portal-main textarea { line-height: 1.6; }
html[data-portal-theme="light"] .portal-grid .portal-flag { min-height: 2.5rem; align-items: center; margin-top: 0; color: var(--muted); font-size: var(--text-xs, .8125rem); }
html[data-portal-theme="light"] .portal-grid label.portal-flag > span { color: inherit; font-size: inherit; font-weight: 500; }
html[data-portal-theme="light"] .portal-flag input { width: 1.125rem; height: 1.125rem; margin: 0; }
html[data-portal-theme="light"] .portal-field-help { color: var(--muted); font-size: var(--text-xs, .8125rem); }
html[data-portal-theme="light"] .portal-project-context { border-radius: var(--portal-radius-sm); font-size: var(--text-sm, .9375rem); font-weight: 600; }
html[data-portal-theme="light"] .portal-form-actions { padding-top: 1.25rem; border-top: 1px solid var(--line); gap: .75rem; flex-wrap: wrap; }
html[data-portal-theme="light"] .portal-form-error { font-size: var(--text-sm, .9375rem); }
html[data-portal-theme="light"] .portal-upload input { border-radius: var(--portal-radius-sm); font-size: var(--text-sm, .9375rem); }
html[data-portal-theme="light"] .portal-upload input::file-selector-button { margin-right: .75rem; padding: .5rem .75rem; border: 1px solid var(--line); border-radius: var(--portal-radius-sm); background: var(--portal-section); color: var(--text); font: inherit; cursor: pointer; }
html[data-portal-theme="light"] .portal-action { border-radius: var(--portal-radius-lg); }
html[data-portal-theme="light"] .portal-action > span { border-radius: var(--portal-radius-sm); }
html[data-portal-theme="light"] .portal-action > svg { color: var(--blue); }
html[data-portal-theme="light"] .choice-card { border-radius: var(--portal-radius-sm); font: inherit; font-size: var(--text-sm, .9375rem); }
html[data-portal-theme="light"] .choice-card strong { font-weight: 600; }
html[data-portal-theme="light"] .lookup-card { border-radius: var(--portal-radius-lg); }
html[data-portal-theme="light"] .lookup-card h2 { font-size: var(--text-lg, 1.1875rem); }
html[data-portal-theme="light"] .lookup-meta span { text-transform: none; }
html[data-portal-theme="light"] .lookup-meta strong { font-size: var(--text-sm, .9375rem); }
html[data-portal-theme="light"] .success-icon .portal-icon { width: 2rem; height: 2rem; }
@media (max-width: 640px) {
  html[data-portal-theme="light"] .portal-panel-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .875rem; }
  html[data-portal-theme="light"] .portal-panel-head > .portal-back { grid-column: 1; grid-row: 1; justify-self: start; }
  html[data-portal-theme="light"] .portal-panel-head > em { grid-column: 2; grid-row: 1; }
  html[data-portal-theme="light"] .portal-panel-head > div { grid-column: 1 / -1; grid-row: 2; }
  html[data-portal-theme="light"] .portal-panel-head h1 { font-size: 1.375rem; }
}
