html[data-ui-theme] {
  --bg: var(--ui-surface-page);
  --panel: var(--ui-surface-panel);
  --panel-soft: var(--ui-surface-subtle);
  --line: var(--ui-border);
  --line-strong: var(--ui-border-strong);
  --text: var(--ui-text);
  --muted: var(--ui-text-muted);
  --brand: var(--ui-primary);
  --brand-strong: var(--ui-primary-hover);
  --brand-soft: var(--ui-primary-soft);
  --danger: var(--ui-danger);
  --danger-soft: var(--ui-danger-soft);
  --success: var(--ui-success);
  --success-soft: var(--ui-success-soft);
  --shadow: var(--ui-shadow-md);
  background: var(--ui-surface-page);
}

html[data-ui-theme] body {
  color: var(--ui-text);
  background: var(--ui-surface-page);
}

html[data-ui-theme] :where(h1, h2, h3, h4, h5, h6, strong, b, dt, dd) {
  color: var(--ui-text);
}

html[data-ui-theme] :where(p, small, .muted, .hint, .help-text) {
  color: var(--ui-text-muted);
}

html[data-ui-theme] a {
  color: var(--ui-primary);
}

html[data-ui-theme] a:hover {
  color: var(--ui-primary-hover);
}

html[data-ui-theme] .topbar,
html[data-ui-theme] .sidebar-nav-shell {
  color: var(--ui-nav-text);
  background: var(--ui-nav);
  border-color: var(--ui-nav-border);
  box-shadow: var(--ui-shadow-sm);
}

html[data-ui-theme] .menu a,
html[data-ui-theme] .sidebar-brand,
html[data-ui-theme] .sidebar-link {
  color: var(--ui-nav-text);
}

html[data-ui-theme] .menu a,
html[data-ui-theme] .sidebar-link-initial,
html[data-ui-theme] .sidebar-brand-mark,
html[data-ui-theme] .sidebar-toggle {
  background: var(--ui-nav-item);
}

html[data-ui-theme] .sidebar-toggle {
  color: var(--ui-nav-text);
  border-color: var(--ui-nav-border);
}

html[data-ui-theme] .menu a:hover,
html[data-ui-theme] .sidebar-link:hover,
html[data-ui-theme] .sidebar-auth-link:hover,
html[data-ui-theme] .sidebar-toggle:hover {
  color: var(--ui-nav-text);
  background: var(--ui-nav-hover);
}

html[data-ui-theme] .menu a.is-active,
html[data-ui-theme] .sidebar-link.is-active {
  color: var(--ui-nav-active-text);
  background: var(--ui-nav-active);
}

html[data-ui-theme] .sidebar-link.is-active .sidebar-link-initial {
  color: var(--ui-nav-active-text);
  background: rgba(255, 255, 255, 0.18);
}

html[data-ui-theme] .auth,
html[data-ui-theme] .sidebar-group-title,
html[data-ui-theme] .sidebar-user-role {
  color: var(--ui-nav-muted);
}

html[data-ui-theme] .auth a,
html[data-ui-theme] .sidebar-auth-link {
  color: var(--ui-nav-link);
}

html[data-ui-theme] .auth a:hover,
html[data-ui-theme] .sidebar-auth-link:hover {
  color: var(--ui-nav-text);
}

html[data-ui-theme] .sidebar-auth {
  border-color: var(--ui-nav-border);
}

html[data-ui-theme] .menu a:focus-visible,
html[data-ui-theme] .sidebar-brand:focus-visible,
html[data-ui-theme] .sidebar-link:focus-visible,
html[data-ui-theme] .sidebar-auth-link:focus-visible,
html[data-ui-theme] .sidebar-toggle:focus-visible {
  outline: 2px solid var(--ui-primary);
  outline-offset: 2px;
}

html[data-ui-theme] .container {
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--ui-shadow-md);
}

html[data-ui-theme] body.is-popup-mode .container {
  background: var(--ui-surface-panel);
}

html[data-ui-theme] body.is-chrome-hidden .container {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

html[data-ui-theme] :where(input[type="text"], input[type="search"], input[type="date"], input[type="password"], input[type="email"], input[type="number"], input[type="tel"], input[type="url"], select, textarea) {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
}

html[data-ui-theme] :where(input, select, textarea)::placeholder {
  color: var(--ui-text-subtle);
}

html[data-ui-theme] :where(input, select, textarea):focus {
  outline: none;
  border-color: var(--ui-primary);
  box-shadow: var(--ui-focus-ring);
}

html[data-ui-theme] :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--ui-primary);
}

html[data-ui-theme] :where(input, select, textarea, button):disabled {
  color: var(--ui-text-subtle);
}

html[data-ui-theme] .btn {
  color: var(--ui-primary-text);
  background: var(--ui-primary);
  border-color: var(--ui-primary);
  border-radius: var(--ui-radius-sm);
}

html[data-ui-theme] .btn:hover {
  color: var(--ui-primary-text);
  background: var(--ui-primary-hover);
  border-color: var(--ui-primary-hover);
}

html[data-ui-theme] :where(a.btn-secondary, .btn-secondary) {
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
  border-color: color-mix(in srgb, var(--ui-primary) 26%, var(--ui-border));
}

html[data-ui-theme] :where(a.btn-secondary, .btn-secondary):hover {
  color: var(--ui-primary-hover);
  background: color-mix(in srgb, var(--ui-primary-soft) 78%, var(--ui-surface-raised));
  border-color: var(--ui-primary);
}

html[data-ui-theme] :where(.btn-danger, a.btn-danger) {
  color: #ffffff;
  background: var(--ui-danger);
  border-color: var(--ui-danger);
}

html[data-ui-theme] :where(.section-card, .summary-card, .metric-item, .profile-detail-grid > div, .layout-choice, .detail-card, .info-card, .empty-state) {
  color: var(--ui-text);
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
  box-shadow: none;
}

html[data-ui-theme] .section-card {
  border-radius: var(--ui-radius-md);
}

html[data-ui-theme] :where(.section-heading, .page-header) p {
  color: var(--ui-text-muted);
}

html[data-ui-theme] :where(.layout-choice.is-selected, .theme-choice.is-selected) {
  background: var(--ui-primary-soft);
  border-color: var(--ui-primary);
  box-shadow: 0 0 0 1px var(--ui-primary);
}

html[data-ui-theme] .table-wrap {
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
  border-radius: var(--ui-radius-md);
}

html[data-ui-theme] table {
  color: var(--ui-text);
  background: transparent;
}

html[data-ui-theme] thead th {
  color: var(--ui-text-muted);
  background: var(--ui-surface-subtle);
  border-color: var(--ui-border-strong);
}

html[data-ui-theme] tbody td {
  color: var(--ui-text);
  background: transparent;
  border-color: var(--ui-border);
}

html[data-ui-theme] tbody tr:hover {
  background: var(--ui-surface-hover);
}

html[data-ui-theme] tbody tr[data-document-detail-row]:focus-visible {
  outline-color: var(--ui-primary);
}

html[data-ui-theme] :where(.filter-search-scope-popover, .filter-period-popover, .filter-popover, .lookup-search-popover, .table-column-settings-menu) {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
  box-shadow: var(--ui-shadow-md);
}

html[data-ui-theme] .filter-summary-button strong {
  color: var(--ui-primary);
}

html[data-ui-theme] :where(.filter-popover-option:hover, .filter-popover-check:hover, .filter-popover-option.is-active) {
  color: var(--ui-text);
  background: var(--ui-primary-soft);
}

html[data-ui-theme] .modal-backdrop {
  background: var(--ui-overlay);
}

html[data-ui-theme] .modal-panel {
  color: var(--ui-text);
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
  box-shadow: var(--ui-shadow-md);
}

html[data-ui-theme] :where(.modal-header, .modal-footer) {
  background: var(--ui-surface-subtle);
  border-color: var(--ui-border);
}

html[data-ui-theme] .modal-body {
  background: var(--ui-surface-panel);
}

html[data-ui-theme] :where(.status-badge, .badge, .pill, .tag) {
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
  border-color: color-mix(in srgb, var(--ui-primary) 24%, var(--ui-border));
}

html[data-ui-theme] .success {
  color: var(--ui-success);
  background: var(--ui-success-soft);
  border-color: color-mix(in srgb, var(--ui-success) 28%, transparent);
}

html[data-ui-theme] .error {
  color: var(--ui-danger);
  background: var(--ui-danger-soft);
  border-color: color-mix(in srgb, var(--ui-danger) 28%, transparent);
}

html[data-ui-theme] :where(.warning, .warning-box, .stock-warning) {
  color: var(--ui-warning);
  background: var(--ui-warning-soft);
  border-color: color-mix(in srgb, var(--ui-warning) 30%, transparent);
}

html[data-ui-theme="dark"] :where(.filter-toolbar, .search-panel, .filter-panel, .detail-grid, .form-section, .document-section, .process-flow, .workflow-panel) {
  color: var(--ui-text);
  border-color: var(--ui-border);
}

html[data-ui-theme="dark"] :where(.metric-item, .profile-detail-grid > div, .layout-choice, .summary-card) {
  background: var(--ui-surface-raised);
}

html[data-ui-theme="dark"] :where(th[style*="#ddd"], td[style*="#eee"]) {
  border-bottom-color: var(--ui-border) !important;
}

html[data-ui-theme="dark"] tr[style*="background:#fff1ef"] {
  background: var(--ui-danger-soft) !important;
}

html[data-ui-theme="dark"] :where(code, pre) {
  color: var(--ui-text);
  background: var(--ui-surface-subtle);
}

html[data-ui-theme] .status-step {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
  box-shadow: var(--ui-shadow-sm);
}

html[data-ui-theme] .status-step.is-completed {
  background: var(--ui-surface-subtle);
  border-color: var(--ui-border-strong);
}

html[data-ui-theme] .status-step.is-current {
  color: var(--ui-primary-text);
  background: var(--ui-primary);
  border-color: var(--ui-primary-hover);
}

html[data-ui-theme] .status-step.is-current .status-step-meta {
  color: color-mix(in srgb, var(--ui-primary-text) 78%, transparent);
}

html[data-ui-theme] .status-step.is-current.is-danger {
  color: var(--ui-primary-text);
  background: var(--ui-danger);
  border-color: var(--ui-danger);
}

html[data-ui-theme] .status-exception-summary {
  color: var(--ui-danger);
  background: var(--ui-danger-soft);
  border-color: color-mix(in srgb, var(--ui-danger) 28%, transparent);
}

html[data-ui-theme] .status-exception-summary strong {
  color: var(--ui-danger);
}

html[data-ui-theme] .status-summary-badge {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
  box-shadow: var(--ui-shadow-sm);
}

html[data-ui-theme] .status-summary-badge.is-success {
  background: var(--ui-success-soft);
  border-color: color-mix(in srgb, var(--ui-success) 28%, var(--ui-border));
}

html[data-ui-theme] .status-summary-badge.is-warning {
  background: var(--ui-warning-soft);
  border-color: color-mix(in srgb, var(--ui-warning) 30%, var(--ui-border));
}

html[data-ui-theme] .status-summary-badge.is-danger {
  background: var(--ui-danger-soft);
  border-color: color-mix(in srgb, var(--ui-danger) 28%, var(--ui-border));
}

html[data-ui-theme] .status-summary-badge.is-neutral {
  background: var(--ui-surface-subtle);
}

html[data-ui-theme] :where(.product-code-badge, .product-aside-item, .product-note-box, .partner-note-box, .settings-company-stamp-preview, .settings-preset-button, .bank-match-stat, .bank-search-modal-results section) {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
}

html[data-ui-theme] :where(.partner-chip, .product-tag.is-neutral, .settings-user-badge) {
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
  border-color: color-mix(in srgb, var(--ui-primary) 24%, var(--ui-border));
}

html[data-ui-theme] :where(.partner-chip.is-muted, .settings-user-badge.is-caution) {
  color: var(--ui-text-muted);
  background: var(--ui-surface-subtle);
  border-color: var(--ui-border);
}

html[data-ui-theme] .settings-tab-link {
  color: var(--ui-text-muted);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
}

html[data-ui-theme] :where(.settings-tab-link:hover, .settings-tab-link.is-active, .settings-tab-link[aria-selected="true"]) {
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
  border-color: var(--ui-primary);
}

html[data-ui-theme] :where(.print-settings-stat, .print-settings-format, .print-settings-panel, .print-column-item, .print-stamp-settings-stat, .print-stamp-settings-panel) {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
}

html[data-ui-theme] :where(.print-settings-import-note, .print-settings-help, .print-settings-panel-copy p, .print-stamp-settings-panel-copy p, .print-stamp-settings-unit, .print-stamp-settings-help) {
  color: var(--ui-text-muted);
}

html[data-ui-theme] :where(.print-settings-panel-count, .print-column-item.is-selected, .print-column-order) {
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
  border-color: var(--ui-primary);
}

html[data-ui-theme] :where(.settings-company-stamp-preview, .settings-company-logo-preview) img,
html[data-ui-theme] .login-brand-logo img {
  filter: none;
  opacity: 1;
}

html[data-ui-theme] .bank-match-entry-card {
  background: var(--ui-surface-panel);
}

html[data-ui-theme] .calendar-grid {
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
}

html[data-ui-theme] :where(.calendar-filter-box label, .calendar-day, .calendar-day-detail) {
  color: var(--ui-text);
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
}

html[data-ui-theme] .calendar-day.is-outside {
  color: var(--ui-text-subtle);
  background: var(--ui-surface-subtle);
}

html[data-ui-theme] :where(.calendar-day.is-today, .calendar-day.is-selected) {
  background: var(--ui-primary-soft);
}

html[data-ui-theme] .calendar-day.is-selected {
  box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--ui-primary) 38%, transparent);
}

html[data-ui-theme] .calendar-day.is-selected .calendar-day-link {
  color: var(--ui-primary-text);
  background: var(--ui-primary);
}

html[data-ui-theme] .calendar-event {
  color: var(--ui-text);
  background: var(--ui-success-soft);
  border-left-color: var(--ui-success);
}

html[data-ui-theme] .calendar-event.order {
  color: var(--ui-text);
  background: var(--ui-warning-soft);
  border-left-color: var(--ui-warning);
}

.theme-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ui-preferences-form {
  display: grid;
  gap: 18px;
}

.theme-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  min-height: 104px;
  padding: 14px;
  color: var(--ui-text);
  background: var(--ui-surface-panel);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-md);
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.theme-choice input {
  justify-self: start;
  margin: 0;
}

.theme-choice-copy {
  display: grid;
  gap: 4px;
}

.theme-choice-title {
  color: var(--ui-text);
  font-size: 14px;
  font-weight: 800;
}

.theme-choice-description,
.theme-preview-status {
  color: var(--ui-text-muted);
  font-size: 12px;
  line-height: 1.5;
}

.theme-preview-status {
  min-height: 18px;
  margin-top: 10px;
}

.page-kicker,
.dashboard-panel-kicker {
  display: block;
  margin-bottom: 7px;
  color: var(--ui-primary);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.dashboard-page {
  gap: 18px;
}

.dashboard-header {
  align-items: end;
  margin-bottom: 0;
  padding: 4px 2px 2px;
}

.dashboard-header h1 {
  margin-bottom: 4px;
  font-size: clamp(26px, 3vw, 36px);
}

.dashboard-quick-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.dashboard-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.dashboard-status-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 18px;
  color: var(--ui-text);
  text-decoration: none;
  background: var(--ui-surface-panel);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-md);
  box-shadow: var(--ui-shadow-sm);
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.dashboard-status-card:hover {
  color: var(--ui-text);
  border-color: var(--ui-primary);
  box-shadow: var(--ui-shadow-md);
  transform: translateY(-2px);
}

.dashboard-status-card strong {
  align-self: end;
  font-size: 30px;
  line-height: 1;
}

.dashboard-status-label {
  color: var(--ui-text-muted);
  font-size: 13px;
  font-weight: 750;
}

.dashboard-status-detail {
  color: var(--ui-primary);
  font-size: 12px;
  font-weight: 750;
}

.dashboard-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(280px, 0.8fr);
  gap: 14px;
  align-items: start;
}

.dashboard-panel {
  min-width: 0;
  margin: 0;
  padding: 18px;
  background: var(--ui-surface-panel);
  box-shadow: var(--ui-shadow-sm);
}

.dashboard-panel-wide {
  min-height: 280px;
}

.dashboard-panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.dashboard-panel-heading h2 {
  margin-bottom: 4px;
}

.dashboard-timeline,
.dashboard-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dashboard-timeline li {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--ui-border);
}

.dashboard-timeline li:last-child,
.dashboard-list li:last-child {
  border-bottom: 0;
}

.dashboard-timeline time {
  display: grid;
  align-content: center;
  min-height: 52px;
  padding: 7px;
  text-align: center;
  background: var(--ui-primary-soft);
  border-radius: var(--ui-radius-sm);
}

.dashboard-timeline time strong {
  color: var(--ui-primary);
  font-size: 15px;
}

.dashboard-timeline time span {
  color: var(--ui-text-muted);
  font-size: 10px;
  text-transform: uppercase;
}

.dashboard-timeline-copy {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px 9px;
  min-width: 0;
}

.dashboard-timeline-copy > a {
  overflow: hidden;
  color: var(--ui-text);
  font-weight: 750;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.dashboard-timeline-copy > span:last-child {
  grid-column: 2;
  color: var(--ui-text-muted);
  font-size: 12px;
}

.dashboard-list li {
  border-bottom: 1px solid var(--ui-border);
}

.dashboard-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 2px;
  color: var(--ui-text);
  text-decoration: none;
}

.dashboard-list a > span {
  display: grid;
  min-width: 0;
}

.dashboard-list small {
  margin-top: 3px;
  color: var(--ui-text-muted);
}

.dashboard-negative {
  color: var(--ui-danger);
  font-variant-numeric: tabular-nums;
}

.dashboard-table-wrap {
  border-radius: var(--ui-radius-sm);
}

.dashboard-table-wrap .align-right {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.dashboard-action-list {
  display: grid;
  gap: 8px;
}

.dashboard-action-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 13px;
  color: var(--ui-text);
  text-decoration: none;
  background: var(--ui-surface-subtle);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-sm);
}

.dashboard-action-list a:hover {
  background: var(--ui-primary-soft);
  border-color: var(--ui-primary);
}

.dashboard-action-list span {
  font-weight: 750;
}

.dashboard-action-list small {
  color: var(--ui-text-muted);
}

.dashboard-empty-state {
  display: grid;
  place-content: center;
  gap: 6px;
  min-height: 190px;
  padding: 24px;
  text-align: center;
  color: var(--ui-text-muted);
  background: var(--ui-surface-subtle);
  border: 1px dashed var(--ui-border-strong);
  border-radius: var(--ui-radius-md);
}

.dashboard-empty-state-compact {
  min-height: 130px;
}

.home-guest-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr);
  gap: 28px;
  min-height: min(620px, calc(100vh - 130px));
  align-items: center;
  padding: clamp(32px, 7vw, 86px);
  background: var(--ui-surface-panel);
  border: 1px solid var(--ui-border);
  border-radius: var(--ui-radius-lg);
}

.home-guest-copy {
  display: grid;
  justify-items: start;
  gap: 16px;
  max-width: 720px;
}

.home-guest-copy h1 {
  max-width: 680px;
  margin: 0;
  font-size: clamp(38px, 7vw, 70px);
  line-height: 1.08;
}

.home-guest-copy p {
  max-width: 620px;
  font-size: 16px;
  line-height: 1.75;
}

.home-login-button {
  min-width: 128px;
  min-height: 44px;
}

.home-guest-summary {
  display: grid;
  gap: 10px;
  padding: 28px;
  background: var(--ui-nav);
  border-radius: var(--ui-radius-lg);
  box-shadow: var(--ui-shadow-md);
}

.home-guest-summary strong {
  color: var(--ui-nav-text);
  font-size: 24px;
}

.home-guest-summary span {
  color: rgba(242, 245, 250, 0.72);
}

html[data-ui-theme] .login-brand {
  color: var(--ui-nav-text);
  background: var(--ui-nav);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: var(--ui-shadow-md);
}

html[data-ui-theme] :where(.login-brand-copy h1, .login-brand-board strong) {
  color: var(--ui-nav-text);
}

html[data-ui-theme] :where(.login-brand-copy p, .login-brand-board p, .login-brand-tag, .login-brand-board-label) {
  color: rgba(242, 245, 250, 0.74);
}

html[data-ui-theme] .login-panel {
  color: var(--ui-text);
  background: var(--ui-surface-panel);
  border-color: var(--ui-border);
  box-shadow: var(--ui-shadow-md);
}

html[data-ui-theme] .login-panel-kicker {
  color: var(--ui-primary);
  background: var(--ui-primary-soft);
}

html[data-ui-theme] .login-input {
  color: var(--ui-text);
  background: var(--ui-surface-raised);
  border-color: var(--ui-border);
}

html[data-ui-theme] .login-input:focus {
  border-color: var(--ui-primary);
  box-shadow: var(--ui-focus-ring);
}

html[data-ui-theme] .login-password-toggle,
html[data-ui-theme] .login-options {
  color: var(--ui-text);
  background: var(--ui-surface-subtle);
  border-color: var(--ui-border);
}

html[data-ui-theme] .login-submit {
  background: var(--ui-primary);
  color: var(--ui-primary-text);
}

html[data-ui-theme] .login-check input {
  accent-color: var(--ui-primary);
}

html[data-ui-theme] .print-sheet {
  color-scheme: light;
  --ui-surface-page: #ffffff;
  --ui-surface-panel: #ffffff;
  --ui-surface-subtle: #f8faf7;
  --ui-surface-raised: #ffffff;
  --ui-surface-hover: #f8faf7;
  --ui-border: #d8dfd2;
  --ui-border-strong: #bdc7b9;
  --ui-text: #171717;
  --ui-text-muted: #617160;
  --ui-text-subtle: #747d73;
  --ui-primary: #315f9f;
  --ui-primary-hover: #244b80;
  --ui-primary-soft: #edf3fa;
  --bg: #ffffff;
  --panel: #ffffff;
  --panel-soft: #f8faf7;
  --line: #d8dfd2;
  --line-strong: #bdc7b9;
  --text: #171717;
  --muted: #617160;
  --brand: #315f9f;
  --brand-strong: #244b80;
  color: #171717;
  background: #ffffff;
  border-color: #d8dfd2;
}

html[data-ui-theme] .print-sheet thead th {
  color: #333333;
  background: #f8faf7;
  border-color: #d8dfd2;
}

html[data-ui-theme] .print-sheet tbody td {
  color: #171717;
  background: #ffffff;
  border-color: #d8dfd2;
}

html[data-ui-theme] .print-sheet img {
  filter: none;
  opacity: 1;
}

@media (max-width: 980px) {
  .dashboard-layout {
    grid-template-columns: 1fr;
  }

  .dashboard-panel-wide {
    min-height: auto;
  }

  .home-guest-panel {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .theme-choice-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-header,
  .dashboard-panel-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-quick-actions {
    justify-content: flex-start;
  }

  .dashboard-status-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-table-wrap table {
    min-width: 680px;
  }

  .home-guest-panel {
    padding: 28px 20px;
  }
}

@media (max-width: 480px) {
  .dashboard-status-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-status-card {
    min-height: 112px;
  }

  .dashboard-timeline li {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html[data-ui-theme] *,
  html[data-ui-theme] *::before,
  html[data-ui-theme] *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media print {
  html[data-ui-theme],
  html[data-ui-theme] body {
    color-scheme: light;
    color: #171717;
    background: #ffffff;
  }
}
