/* Operational shell adapter. Keep palette ownership in themes.css.
 * Provider logos, receipt/paper previews and user media keep their own colors. */
html[data-ui-shell] {
  --panel:var(--ui-surface);--panel-alt:var(--ui-surface-raised);--field:var(--ui-surface);
  --text:var(--ui-text);--dim:var(--ui-text-muted);--accent-text:var(--ui-link);
  --accent-ink:var(--ui-on-action);--primary:var(--ui-action);--primary-dark:var(--ui-action);
  --nav:var(--ui-surface);--nav-muted:var(--ui-text-muted);--code-bg:var(--ui-surface-raised);
  --navy:var(--ui-text);--yellow:var(--brand-yellow,var(--ui-action));--ok:var(--ui-success);--warn:var(--ui-warning);
  --brand:var(--ui-action);--brand-ink:var(--ui-on-action);--brand-text:var(--ui-link);--brand-soft:var(--ui-surface-raised);--surface-2:var(--ui-surface-raised);--hero-ink:var(--ui-text);
  --hero:var(--ui-surface-raised);--radius:var(--ui-card-radius);
}
html[data-ui-shell] body {background:var(--ui-bg);font-size:14px;line-height:1.6}
html[data-ui-shell] body :is(h1,h2,h3) {color:var(--ui-text);font-family:var(--ui-font)}
html[data-ui-shell] body h1 {font-size:clamp(28px,3vw,36px);line-height:1.2;letter-spacing:-.025em}
html[data-ui-shell] body :is(a,.back-link,.usage-drill) {color:var(--ui-link)}
html[data-ui-shell] body :is(.admin-header,.topbar,.sidebar,.gate-card,.login-form,.login-card,.card,.metric,.admin-metric,.stat,.workspace,body>header,body>main>section,.console-layout>main>section,.application-page main>section,.invitation section) {
  background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-divider);
}
html[data-ui-shell] body :is(.admin-header-inner,.topbar,body>header) {height:auto;min-height:78px;flex-wrap:wrap;gap:16px;padding-block:12px}
html[data-ui-shell] body :is(button,.btn,.act) {font-size:14px;line-height:1.5;font-weight:600;min-height:44px;padding:10px 16px;background:var(--ui-surface);color:var(--ui-link);border:1px solid var(--ui-control-border);text-decoration:none;text-align:center;white-space:normal;overflow-wrap:break-word}
html[data-ui-shell] body :is(button,.btn,.act):not(.ui-panel-toggle,.provider-picker-current,.model-option,.model-category,.incident-row,[data-tab],.nav-link) {
  border-color:var(--ui-control-border);
}
html[data-ui-shell] body :is(.btn,.act,button[type=submit]):not(.secondary,.sec,.ghost,.danger),
html[data-ui-shell=enterprise] body button:not(.secondary,.sec,.ghost,.ui-panel-toggle,.icon-button,.menu-toggle,.model-option,.model-category,.incident-row,[data-tab],.nav-link) {
  background-color:var(--ui-action);color:var(--ui-on-action);
}
html[data-ui-shell] body :is(.secondary,.sec,.ghost,.icon-button,.menu-toggle,.key-toggle,.row button,td button,li button,.model-controls button,.reseller-subnav button,.reseller-workspace-tabs button,.seller-sale-modes button) {
  background:var(--ui-surface);color:var(--ui-link);border-color:var(--ui-control-border);
}
html[data-ui-shell] body :is(.secondary,.sec,.ghost,.row button,td button,li button):hover:not(:disabled) {background:var(--ui-surface-raised)}
html[data-ui-shell] body :is(button.danger,.act.danger,.btn.danger) {background:var(--ui-surface);color:var(--ui-danger);border-color:var(--ui-danger)}
html[data-ui-shell] body :is(.brand,.admin-brand-word,.sidebar-heading,.sidebar-tip strong) {color:var(--ui-text)}
html[data-ui-shell] body :is(.workspace-label,.nav-label,.nav-group-label,.sidebar-footer,.sidebar-tip,.sidebar-note,.hint,.note,.field-help,.help,.stat span,.stat em,.stat small) {color:var(--ui-text-muted)}
html[data-ui-shell] body :is(.sidebar,#tabs) {background:var(--ui-surface);border-color:var(--ui-divider);scrollbar-color:var(--ui-control-border) transparent}
html[data-ui-shell] body :is(#tabs button[data-tab],.sidebar .nav-link,.sidebar nav button) {background:transparent;color:var(--ui-text-muted);border-color:transparent;text-align:start}
html[data-ui-shell] body :is(#tabs button[data-tab],.sidebar .nav-link,.sidebar nav button):hover {background:var(--ui-surface-raised);color:var(--ui-text)}
html[data-ui-shell] body :is(#tabs button[aria-selected=true],.sidebar .nav-link.active,.sidebar nav button[aria-current=true],.reseller-subnav button[aria-selected=true],.reseller-workspace-tabs button[aria-selected=true],.seller-sale-modes button[aria-pressed=true]) {background:var(--ui-surface-raised);color:var(--ui-link);box-shadow:inset 3px 0 var(--yellow);border-color:var(--ui-divider)}
html[data-ui-shell][dir=rtl] body :is(#tabs button[aria-selected=true],.sidebar .nav-link.active,.sidebar nav button[aria-current=true]) {box-shadow:inset -3px 0 var(--yellow)}
html[data-ui-shell] body #adminNavSearch {background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-control-border);padding-inline-start:36px}
html[data-ui-shell] body #adminNavSearch::placeholder {color:var(--ui-placeholder)}
html[data-ui-shell] body :is(.ports a:first-child,.identity-note,.free-stock-summary,.pending-sale,.stat:first-child,.metric:first-child,.metric:nth-child(3),.note,.reseller-credit-panel,.reseller-action-receipt) {background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-divider)}
html[data-ui-shell] body :is(.free-stock-summary>strong,.free-stock-summary>span,.free-stock-summary p,.stat:first-child span,.stat:first-child em,.stat:first-child .stat-icon,.nav-link.active svg) {color:var(--ui-text)}
html[data-ui-shell] body .admin-metric :is(span,small) {color:var(--ui-text-muted)}
html[data-ui-shell] body .admin-metric strong {color:var(--ui-text)}
html[data-ui-shell] body button.quick-action {background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-divider)}
html[data-ui-shell] body .quick-action :is(small,.quick-icon,.quick-arrow) {color:var(--ui-link)}
html[data-ui-shell] body .quick-action small {color:var(--ui-text-muted)}
html[data-ui-shell] body .quick-icon {background:var(--ui-surface)}
/* Neutral badges need an explicit foreground/background pair in every theme. */
html[data-ui-shell] body :is(.badge,.admin-status) {background:var(--ui-surface-raised);color:var(--ui-text);border-color:var(--ui-divider)}
html[data-ui-shell] body :is(.badge.ok,.admin-status.active,.admin-status.completed) {color:var(--ui-success)}
html[data-ui-shell] body :is(.badge.bad,.admin-status.disabled,.admin-status.failed) {color:var(--ui-danger)}
html[data-ui-shell] body :is(th,.tablewrap thead,.report-filters,.code-out) {background:var(--ui-surface-raised);color:var(--ui-text)}
html[data-ui-shell] body :is(td,th) {border-color:var(--ui-divider);font-size:13px;text-align:start}
html[data-ui-shell] body :is(td.num,th.num,.money-total) {font-variant-numeric:tabular-nums;text-align:end}
html[data-ui-shell] body tr:hover>td {background:var(--ui-surface-raised)}
html[data-ui-shell] body :is(.ok,.success) {color:var(--ui-success)}
html[data-ui-shell] body :is(.warn,.warning) {color:var(--ui-warning)}
html[data-ui-shell] body :is(.bad,.error,.err,#ackMessage) {color:var(--ui-danger)}
html[data-ui-shell] body #status:not(:empty) {background:var(--ui-surface-raised);color:var(--ui-info)}
html[data-ui-shell] body #status[data-error=true] {background:var(--ui-surface-raised);color:var(--ui-danger);border-inline-start:3px solid var(--ui-danger)}
html[data-ui-shell] body :is(.provider-logo,.pw-logo) {background:#fff;color:#12385d}
html[data-ui-shell] body .usage-column>span {background:var(--ui-action)}
html[data-ui-shell] body .create-company {border:1px solid var(--ui-divider);border-radius:var(--ui-control-radius);background:var(--ui-surface-raised)}
html[data-ui-shell] body .create-company a {display:inline-flex;min-height:44px;align-items:center}
/* Header settings are horizontal controls, not vertically stacked form fields.
 * Enterprise's generic label rule must not move the theme select below language. */
html[data-ui-shell] body .ui-theme-control {
  display:inline-flex;flex-direction:row;align-items:center;flex-wrap:nowrap;
  gap:8px;min-width:0;margin:0;margin-inline-start:auto;align-self:center;
}
html[data-ui-shell] body .ui-theme-control>span {white-space:nowrap}
html[data-ui-shell] body .ui-theme-control select {width:auto;min-width:120px}
html[data-ui-shell] body .workspace {border-block-start-color:var(--yellow)}
html[data-ui-shell] body :is(.valeur[aria-pressed=true],.model-type-tabs button[aria-selected=true]) {background:var(--ui-surface-raised);color:var(--ui-link);border-color:var(--ui-link);box-shadow:inset 0 -3px var(--yellow)}
html[data-ui-shell] body .model-type-tabs button[aria-selected=true] .model-type-count {background:var(--ui-action);color:var(--ui-on-action)}
html[data-ui-shell=standalone] body :is(main,.card,.note,.step) {background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-divider)}
@media(max-width:600px) {
  html[data-ui-shell] body :is(.admin-header-inner,.topbar,body>header) {padding-inline:16px;gap:10px}
  html[data-ui-shell] body .ui-theme-control {font-size:12px;max-width:100%}
  html[data-ui-shell] body .ui-theme-control select {max-width:160px}
  html[data-ui-shell] body :is(main,section,.card,.metric,.stat) {min-width:0}
}

@media(max-width:700px){
 html[data-ui-shell=enterprise] body.console>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px;padding:12px 16px;align-items:center}
 html[data-ui-shell=enterprise] body.console>header>.brand{min-width:0;font-size:22px}
 html[data-ui-shell=enterprise] body.console>header>.header-label{padding-inline-start:12px}
 html[data-ui-shell=enterprise] body.console>header>.ui-theme-control{grid-column:1;min-width:0;margin:0}
 html[data-ui-shell=enterprise] body.console>header>.ui-theme-control>span{display:none}
 html[data-ui-shell=enterprise] body.console>header>.ui-theme-control select{min-width:0;width:100%;max-width:100%}
 html[data-ui-shell=enterprise] body.console>header>select{grid-column:2;min-width:70px;max-width:100%;margin:0}
 html[data-ui-shell=enterprise] body.console>header>.back-link{grid-column:1/-1;margin:0}
}
