html[data-theme] body { color:var(--fa-text); background:var(--fa-background); }
html[data-theme] body > aside { background:var(--sidebar-bg,var(--fa-panel)); color:var(--sidebar-text,var(--fa-text)); border-right:1px solid var(--sidebar-border,var(--fa-border)); }
html[data-theme] .brand { display:grid; grid-template-columns:1fr; justify-items:center; gap:8px; padding:0 0 24px; text-align:center; }
html[data-theme] .brand-logo { width:155px; max-width:100%; height:auto; aspect-ratio:1; object-fit:contain; filter:drop-shadow(0 4px 7px rgba(0,0,0,.28)); }
html[data-theme] .brand strong { display:none; }
html[data-theme] .brand small { margin-top:0; font-size:14px; font-weight:700; letter-spacing:.4px; }
html[data-theme] .brand small, html[data-theme] nav button { color:var(--sidebar-text-muted,var(--fa-muted)); }
html[data-theme] nav button:hover, html[data-theme] nav button.active { background:var(--sidebar-item-active-bg,var(--fa-primary-dark)); color:var(--sidebar-item-active-text,#fff); }
html[data-theme] .cards article, html[data-theme] .panel, html[data-theme] .checkout, html[data-theme] dialog { background:var(--fa-panel); border-color:var(--fa-border); color:var(--fa-text); }
html[data-theme] .cards small, html[data-theme] .cards span, html[data-theme] .checklist small, html[data-theme] .checkout p, html[data-theme] .empty, html[data-theme] .table th { color:var(--fa-muted); }
html[data-theme] .checklist b { background:var(--fa-selection-bg); color:var(--fa-selection-text); }
html[data-theme] .table td, html[data-theme] .table th, html[data-theme] .total { border-color:var(--fa-border); }
html[data-theme] input, html[data-theme] select, html[data-theme] textarea { background:var(--fa-field-bg,var(--fa-panel-alt)); border-color:var(--fa-border); color:var(--fa-text); }
html[data-theme] #formModal { background:var(--fa-panel); color:var(--fa-text); }
html[data-theme] #toast { background:var(--fa-primary-dark); color:#fff; }
.theme-picker { display:grid; gap:6px; margin-top:auto; padding:12px 8px; color:var(--sidebar-text-muted,var(--fa-muted)); font-size:12px; font-weight:700; }
.theme-picker select { width:100%; padding:8px; }
.theme-picker + .badge { margin-top:8px; }
@media (max-width:900px) { html[data-theme] .brand { grid-template-columns:auto 1fr; justify-items:start; text-align:left; padding-bottom:12px; } html[data-theme] .brand-logo { width:72px; } .theme-picker { margin-top:10px; max-width:240px; } }
