/* Theme controls remain available in both appearances. */
.theme-select {
  width: auto;
  max-width: 125px;
  min-height: 40px;
  padding: 7px 10px;
  font-size: 12px;
  border: 1px solid var(--border);
  border-radius: 9px;
  color: var(--text);
  background: var(--surface);
}
.auth-theme { position: absolute; top: 20px; right: 24px; }

html[data-theme="minimal"] {
  --bg: #f5f6f7;
  --surface: #ffffff;
  --surface-soft: #f3f5f5;
  --surface-tint: #edf1f0;
  --border: #e0e5e4;
  --border-strong: #aebdb8;
  --text: #222b28;
  --muted: #66736e;
  --primary: #28685d;
  --primary-dark: #194d44;
  --primary-soft: #e9f2ef;
  --success: #28685d;
  --danger: #ac4343;
  --warning: #88662d;
  --shadow: none;
  --shadow-soft: none;
  --chart-accent: #508c80;
  --accent-rgb: 40 104 93;
}
html[data-theme="minimal"] body {
  background-image: none;
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
}
html[data-theme="minimal"] :is(.welcome-banner, .friends, .brand-mark, .eyebrow, .section-kicker, .login-friends, .auth-welcome, .tiny-label, .view-tabs img, .view-tabs small, .empty-state > img, .site-footer > span:first-child) { display: none; }
html[data-theme="minimal"] .home-page .welcome-banner { display: none; }
html[data-theme="minimal"] :is(.panel, .auth-panel, .modal-content, .metric-card, .monthly-hero-card, .year-month-card, .calendar-section, .entry-result, .recent-item, .file-picker, .text-entry-box) {
  background: var(--surface);
  border-color: var(--border);
  border-radius: 10px;
  box-shadow: none;
}
html[data-theme="minimal"] :is(.panel, .monthly-focus-panel) { border-top-width: 1px; }
html[data-theme="minimal"] :is(.records-summary .metric-card, #view-year .annual-summary-grid .metric-card) {
  background: var(--surface);
  border-color: var(--border);
}
html[data-theme="minimal"] .metric-card strong { font-weight: 650; }
html[data-theme="minimal"] :is(.monthly-hero-card span, .monthly-hero-card small, .metric-card small) { color: var(--muted); }
html[data-theme="minimal"] .monthly-hero-card:after { display: none; }
html[data-theme="minimal"] :is(.btn, input, select, textarea) { border-radius: 7px; box-shadow: none; }
html[data-theme="minimal"] :is(input, select, textarea) { background-color: var(--surface); border-color: var(--border); color: var(--text); }
html[data-theme="minimal"] :is(input, select, textarea):focus { border-color: var(--primary); }
html[data-theme="minimal"] .btn-primary { background: var(--primary); color: #fff; }
html[data-theme="minimal"] .btn-primary:hover { background: var(--primary-dark); }
html[data-theme="minimal"] .btn-secondary { background: var(--surface); border-color: var(--border); color: var(--text); }
html[data-theme="minimal"] :is(.btn-secondary:hover, .btn-ghost:hover, .icon-button:hover) { background: var(--primary-soft); color: var(--primary-dark); }
html[data-theme="minimal"] :is(.icon-button, .section-icon, .search-box, .view-tabs, .item-chip, .breakdown-track, .year-month-track) { background: var(--surface-soft); color: var(--muted); }
html[data-theme="minimal"] .view-tabs { padding: 4px; border-radius: 9px; gap: 4px; }
html[data-theme="minimal"] .view-tabs button { min-height: 48px; border-radius: 6px; font-size: 14px; padding: 8px 12px; }
html[data-theme="minimal"] .view-tabs button[aria-selected="true"] { background: var(--surface); border-color: var(--border); color: var(--primary-dark); box-shadow: none; }
html[data-theme="minimal"] :is(.view-tabs button:hover, .tab-button:hover) { background: var(--primary-soft); }
html[data-theme="minimal"] :is(.tab-button.is-active, .manual-kind label:has(input:checked)) { background: var(--primary-soft); color: var(--primary-dark); }
html[data-theme="minimal"] .desktop-nav a { border-color: var(--primary); }
html[data-theme="minimal"] :is(.year-month-card.is-current, .year-month-card:hover, .calendar-day.has-expense) { background: var(--primary-soft); border-color: var(--border-strong); }
html[data-theme="minimal"] .year-month-name > small { background: var(--surface); color: var(--primary-dark); }
html[data-theme="minimal"] .year-month-track > span { background: #84aaa1; }
html[data-theme="minimal"] .calendar-day { background: var(--surface-soft); border-radius: 6px; }
html[data-theme="minimal"] .calendar-day.is-today { background: var(--primary-soft); border-color: var(--primary); }
html[data-theme="minimal"] .calendar-amount { color: var(--primary-dark); }
html[data-theme="minimal"] :is(th, .category-matrix .category-month-totals td) { background: var(--surface-soft); color: var(--muted); }
html[data-theme="minimal"] :is(.table-wrap, td, th, .recent-item, .breakdown-row) { border-color: var(--border); }
html[data-theme="minimal"] tbody tr:hover { background: var(--surface-soft); }
html[data-theme="minimal"] .status-badge { background: var(--surface-soft); color: var(--muted); }
html[data-theme="minimal"] .status-badge.success { background: var(--primary-soft); color: var(--primary-dark); }
html[data-theme="minimal"] .status-badge.failed { background: #fbefdf; color: #815c20; }
html[data-theme="minimal"] .category-share { color: var(--primary-dark); }
html[data-theme="minimal"] .comparison-guide i { background: linear-gradient(90deg, #f0f6f3, #b0ccc4); }
html[data-theme="minimal"] .category-matrix-scroll { scrollbar-color: #a9bfb7 var(--surface-soft); }
html[data-theme="minimal"] .bottom-nav { background: #fffffff5; border-color: var(--border); box-shadow: none; }
html[data-theme="minimal"] .bottom-nav a[aria-current="page"] { background: var(--primary-soft); color: var(--primary-dark); }
html[data-theme="minimal"] .site-footer { color: var(--muted); font-size: 11px; }
html[data-theme="minimal"] .auth-shell { padding-top: 80px; }
html[data-theme="minimal"] .auth-panel .brand-lockup { margin-bottom: 28px; }
html[data-theme="minimal"] .modal { background: #17251f66; backdrop-filter: none; }
html[data-theme="minimal"] .modal-actions { background: var(--surface); border-color: var(--border); }
@media (max-width: 760px) {
  .theme-select { max-width: 106px; min-height: 40px; padding: 7px; font-size: 12px; }
  #user-bar { gap: 3px; justify-content: flex-end; }
  .topbar { flex-wrap: wrap; }
  html[data-theme="minimal"] h1 { font-size: 19px; }
  html[data-theme="minimal"] .view-tabs button { min-height: 44px; }
}
html[data-theme="minimal"] body.login-page { background: var(--bg); }
html[data-theme="minimal"] input:not([type="radio"]):not([type="checkbox"]):not([type="file"]) { background-color: var(--surface); border-color: var(--border); border-radius: 7px; }
html[data-theme="minimal"] :is(input, textarea)::placeholder { color: #8a9690; }
html[data-theme="minimal"] .amount-input { border-color: var(--border-strong); }
html[data-theme="minimal"] .amount-input input::placeholder { color: #8a9690; }
html[data-theme="minimal"] .entry-tabs { border-color: var(--border); }
html[data-theme="minimal"] :focus-visible { outline-color: var(--primary); }
html[data-theme="minimal"] .bottom-nav a { color: var(--muted); }
html[data-theme="minimal"] .bottom-nav a[aria-current="page"] { background: transparent; color: var(--primary-dark); }
html[data-theme="minimal"] .bottom-nav a[aria-current="page"] i { background: transparent; color: var(--primary-dark); }
