@import url('./login-palette.css');

/* Paint and shared components only: keep each page's existing layout/density. */
html[data-ui-theme="login"] {
  color-scheme: light;
  --bg: var(--login-bg); --canvas: var(--login-bg);
  --card: var(--login-card); --white: var(--login-card);
  --ink: var(--login-ink); --text: var(--login-ink); --dark: var(--login-ink);
  --muted: var(--login-muted); --line: var(--login-line);
  --green: var(--login-green); --green-dark: var(--login-hover);
  --green-soft: var(--login-soft); --soft: var(--login-soft);
  --sidebar: var(--login-card); --red: var(--login-danger);
  --red-bg: var(--login-danger-soft); --amber: var(--login-warning);
  --simple-surface-2: var(--login-surface); --simple-line-strong: var(--login-input-line);
  --simple-secondary-text: var(--login-muted); --simple-placeholder: #66736b;
  --simple-on-primary: #fff; --simple-focus: var(--login-focus);
  --simple-amber-bg: var(--login-warning-soft);
  --simple-disabled-bg: var(--login-surface); --simple-disabled-text: var(--login-muted);
  --simple-blue: #285d7e; --simple-blue-soft: #e7eef3;
}
html[data-ui-theme="login"] body { background: var(--login-bg); color: var(--login-ink); font-family: var(--login-font); }
html[data-ui-theme="login"] :is(button,input,select,textarea) { font-family: var(--login-font); }
html[data-ui-theme="login"] :is(input,select,textarea) { background: var(--login-card); color: var(--login-ink); border-color: var(--login-input-line); border-radius: var(--login-control-radius); color-scheme: light; caret-color: var(--login-ink); accent-color: var(--login-green); }
html[data-ui-theme="login"] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]),select,textarea) { min-height: 46px; padding: 10px 12px; line-height: 1.5; }
html[data-ui-theme="login"] input:is([type="checkbox"],[type="radio"]) { min-height: 0; padding: 0; }
html[data-ui-theme="login"] :is(input,textarea)::placeholder { color: #66736b; opacity: 1; }
html[data-ui-theme="login"] input:is(:autofill,:-webkit-autofill) { box-shadow: inset 0 0 0 1000px var(--login-card); -webkit-text-fill-color: var(--login-ink); caret-color: var(--login-ink); }
html[data-ui-theme="login"] :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--login-focus); outline-offset: 3px; }
html[data-ui-theme="login"] :is(input,select,textarea):focus-visible { outline-offset: 1px; }
html[data-ui-theme="login"] :is(input,select,textarea):focus { border-color: var(--login-focus); }
html[data-ui-theme="login"] :is(input,select,textarea,button):disabled { opacity: 1; color: var(--login-muted); background: var(--login-surface); border-color: var(--login-line); }
html[data-ui-theme="login"] :is(.button,.btn,.account,.backend-btn) { background: var(--login-card); color: var(--login-ink); border-color: var(--login-line); border-radius: var(--login-control-radius); min-height: 44px; }
html[data-ui-theme="login"] :is(.button,.btn,.account,.backend-btn):hover:not(:disabled) { background: var(--login-soft); color: var(--login-hover); }
html[data-ui-theme="login"] :is(.button.primary,.btn.primary,.backend-btn-primary,.site-entry-card button) { background: var(--login-green); border-color: var(--login-green); color: #fff; min-height: 48px; }
html[data-ui-theme="login"] :is(.button.primary,.btn.primary,.backend-btn-primary,.site-entry-card button):hover:not(:disabled) { background: var(--login-hover); border-color: var(--login-hover); color: #fff; }
html[data-ui-theme="login"] :is(.button.link,.btn.link,.project-title,.saved-field-link) { background: transparent; color: var(--login-green); }
html[data-ui-theme="login"] :is(.button.danger,.btn.outline-danger) { background: var(--login-danger-soft); color: var(--login-danger); border-color: var(--login-danger); }
html[data-ui-theme="login"] .btn.danger { background: var(--login-danger); color: #fff; border-color: var(--login-danger); }
html[data-ui-theme="login"] :is(.panel,.metric,.stat-card,.form-card,.control-card,.tank-card,.empty,.selection-bar,.file-layout,dialog) { border-radius: var(--login-card-radius); box-shadow: var(--login-shadow); }
html[data-ui-theme="login"] dialog::backdrop { background: rgb(24 35 29 / .35); backdrop-filter: blur(2px); }
html[data-ui-theme="login"] .site-theme-switch { display: none; }

/* The administration pages share the portal palette, not the former navy skin. */
html[data-ui-theme="login"] body.admin-page :is(.sidebar,.topbar,.panel,.metric,.selection-bar,.empty,.file-layout,.file-browser,.file-viewer,.code-view,.account,.project-search-dropdown,.project-search-dropdown>button,dialog) { background: var(--login-card); color: var(--login-ink); border-color: var(--login-line); }
html[data-ui-theme="login"] body.admin-page :is(h1,h2,h3,h4,.brand,.brand strong,.breadcrumb strong,.record-value,.record-row,.graph-node text) { color: var(--login-ink); }
html[data-ui-theme="login"] body.admin-page .field { color: var(--login-ink); }
html[data-ui-theme="login"] body.admin-page :is(.breadcrumb span,footer,.eyebrow,.status:not(.online)) { color: var(--login-muted); }
html[data-ui-theme="login"] body.admin-page :is(.brand small,.nav-caption,.small-label,.sidebar-bottom p,.breadcrumb,.heading-actions>span,.metric>span,.metric small,.metric-symbol,.subline,.hash-text,.file-type,.file-heading span,.file-scope,.count-note,.pagination,.context-note,.selection-bar>label,.environment-purpose,.project-banner p,.module-card small,.module-card b,.tank-previews span,.tank-previews small,.sensor-preview span,.reservoir-summary>div:first-child,.date-field,.graph-toolbar,.graph-warnings,.graph-text,.project-search-note,.project-search-dropdown small,.checkbox-line) { color: var(--login-muted); }
html[data-ui-theme="login"] body.admin-page :is(.sidebar nav a,.nav-icon,.sidebar-bottom a,.file-list button) { color: var(--login-ink); }
html[data-ui-theme="login"] body.admin-page :is(.sidebar nav a:hover,.file-list button:hover,.project-search-dropdown>button:hover,.project-search-dropdown>button.is-current) { background: var(--login-surface); color: var(--login-hover); }
html[data-ui-theme="login"] body.admin-page :is(.sidebar nav a.active,.file-list button.active,.brand-mark,.metric:first-child) { background: var(--login-soft); color: var(--login-hover); border-color: var(--login-line); }
html[data-ui-theme="login"] body.admin-page .sidebar nav a.active { box-shadow: inset 3px 0 var(--login-green); }
html[data-ui-theme="login"] body.admin-page .sidebar-bottom { border-color: var(--login-line); }
html[data-ui-theme="login"] body.admin-page :is(th,.code-line::before,.system-note,.data-pre,.backup-help,.form-info,.prompt-preview,.environment-text,.tank-previews>div,.module-card,.graph-viewport,.graph-empty,.image-preview,.modal-footer,.record-group,.record-item) { background: var(--login-surface); color: var(--login-ink); border-color: var(--login-line); }
html[data-ui-theme="login"] body.admin-page :is(td,.panel-heading,.system-row,.count-note,.file-browser-header,.file-heading,.file-footer,.modal-heading,.modal-footer,.login-tip,.pagination,.prompt-details) { border-color: var(--login-line); }
html[data-ui-theme="login"] body.admin-page tbody tr:hover { background: var(--login-surface); }
html[data-ui-theme="login"] body.admin-page :is(.badge,.status.online,.project-title,.prompt-details summary,.panel-body h3,.reservoir-summary strong,.tank-previews strong) { color: var(--login-green); }
html[data-ui-theme="login"] body.admin-page .badge { background: var(--login-soft); }
html[data-ui-theme="login"] body.admin-page .badge.archived { color: var(--login-muted); background: var(--login-surface); }
html[data-ui-theme="login"] body.admin-page :is(.badge.neutral,.reveal-warning) { color: var(--login-warning); background: var(--login-warning-soft); border-color: var(--login-line); }
html[data-ui-theme="login"] body.admin-page :is(#alert,.feedback.error) { background: var(--login-danger-soft); color: var(--login-danger); border-color: var(--login-danger); }
html[data-ui-theme="login"] body.admin-page .level-track { background: var(--login-soft); }
html[data-ui-theme="login"] body.admin-page .level-track i { background: var(--login-green); }
html[data-ui-theme="login"] body.admin-page .graph-node rect { fill: var(--login-card); stroke: var(--login-input-line); }
html[data-ui-theme="login"] body.admin-page .graph-node.is-focused rect { fill: var(--login-soft); stroke: var(--login-green); }
html[data-ui-theme="login"] body.admin-page .graph-node text { fill: var(--login-ink); }
html[data-ui-theme="login"] body.admin-page .graph-node .graph-node-detail { fill: var(--login-muted); }
html[data-ui-theme="login"] body.admin-page .graph-edges>path { stroke: var(--login-input-line); }
html[data-ui-theme="login"] body.admin-page #toast { background: var(--login-green); color: #fff; }
html[data-ui-theme="login"] body.admin-page #toast.error { background: var(--login-danger); color: #fff; }
