:root {
  color-scheme: light;
  --page-bg: #f4f6fb;
  --surface: #ffffff;
  --surface-soft: #eef1f8;
  --border-light: #dce1ec;
  --text-main: #1d2333;
  --text-muted: #667085;
  --text-faint: #98a2b3;
  --brand: #587cff;
}

body { background: var(--page-bg) !important; color: var(--text-main) !important; }
.brand-lockup { display: flex; align-items: center; gap: 10px; }
.brand-icon { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 9px; }
.brand-icon-small { width: 28px; height: 28px; border-radius: 7px; }
.login-brand-icon { width: 56px; height: 56px; margin-bottom: 14px; border-radius: 14px; }
.sidebar, .pub-header, .mob-nav { background: var(--surface) !important; border-color: var(--border-light) !important; }
.sidebar-logo, .sidebar-footer { border-color: var(--border-light) !important; }
.sidebar-logo h1, .pub-header h1, .page-title, .action-name, .day-date, .filename { color: var(--text-main) !important; }
.sidebar-logo p, .nav-group, .nav-item, .page-sub, .card-title, .action-meta, .summary-label,
.period-date, .period-label, .period-days, .month-title, .day-period, .status { color: var(--text-muted) !important; }
.nav-item:hover { background: var(--surface-soft) !important; color: var(--text-main) !important; }
.nav-item.active { background: #e9efff !important; color: var(--brand) !important; }

.card, .tabs, .day-row, .rating-wrap, .sum-card, .upvz-card, .hub-card,
.settings-row .setting-item, .preview-wrap { background: var(--surface) !important; border-color: var(--border-light) !important; box-shadow: 0 6px 24px rgba(31, 42, 68, .06); }
.hub-card, .hub-card .t, .upvz-name, .pvz-name-cell, .upvz-detail-header h3,
.acc-header, .week-btn { color: var(--text-main) !important; }
.hub-card .d, .hub-sec, .section-title, .upvz-nums, .upvz-detail-stats,
.pvz-upvz, .rank-num { color: var(--text-muted) !important; }
.code-block, .summary-bar, .qty-btn, .qty-input, .date-input, .field input,
.dur-btn, .bar-mini-wrap, .week-btn { background: var(--surface-soft) !important; border-color: var(--border-light) !important; color: var(--text-main) !important; }
.action-row, .summary-row:last-child, .rating-row, .rating-header { border-color: var(--border-light) !important; }
.rating-header { background: #eef1f8 !important; }
.rating-row:hover { background: #f8f9fc !important; }
.tabs .tab:not(.active) { background: #e1e6f0 !important; border: 1px solid #c7cfdd !important; color: #4d5a70 !important; }
.tabs .tab:not(.active):hover { background: #d7deea !important; border-color: #b8c2d3 !important; color: var(--text-main) !important; }
.tab { color: var(--text-muted) !important; }
.tab.active { background: var(--brand) !important; color: #fff !important; }
.dot-gray { background: #aeb8c8 !important; }
.code-btn.sec { background: #eef1f8 !important; border-color: var(--border-light) !important; color: var(--text-muted) !important; }
.qty-btn:hover { background: #e4e8f1 !important; }
.upvz-detail-header, .acc-block, .pvz-card { background: var(--surface) !important; border-color: var(--border-light) !important; }
.upvz-detail-header .close-btn { background: var(--surface-soft) !important; border-color: var(--border-light) !important; color: var(--text-muted) !important; }
.acc-header:hover { background: var(--surface-soft) !important; }
.acc-body { border-color: var(--border-light) !important; }
.day-bar select, .meta-chip { background: var(--surface) !important; border-color: var(--border-light) !important; color: var(--text-main) !important; }
.a-header { background: var(--surface-soft) !important; color: var(--text-muted) !important; }
.a-header .sortable:hover { color: var(--text-main) !important; }
.a-row { border-color: var(--border-light) !important; }
.a-row:hover { background: #f8f9fc !important; }
.a-name, .a-foot b, .meta-chip b { color: var(--text-main) !important; }
.a-pvz, .a-days, .a-foot { color: var(--text-muted) !important; }
.logo h1 { color: var(--text-main) !important; }
.logo p, label { color: var(--text-muted) !important; }
.drop-zone { border-color: #cbd3e1 !important; color: var(--text-muted) !important; }
.drop-zone:hover, .drop-zone.drag { background: #eef3ff !important; border-color: var(--brand) !important; color: var(--brand) !important; }

input { color-scheme: light; }
select { color-scheme: light; }
input::placeholder { color: var(--text-faint); }

[style*="background:#1e1e38"], [style*="background: #1e1e38"],
[style*="background:#12122a"], [style*="background: #12122a"] { background: var(--surface) !important; }
[style*="background:#16163a"], [style*="background: #16163a"],
[style*="background:#22223a"], [style*="background: #22223a"] { background: var(--surface-soft) !important; }
[style*="color:#e8e8ff"], [style*="color: #e8e8ff"] { color: var(--text-main) !important; }
[style*="color:#4a4a6a"], [style*="color: #4a4a6a"],
[style*="color:#6a6a90"], [style*="color: #6a6a90"] { color: var(--text-muted) !important; }
[style*="border-color:#2a2a4a"], [style*="border-color: #2a2a4a"] { border-color: var(--border-light) !important; }

@media print {
  body { background: #fff !important; }
}
