.theme-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 0; border: 0; }
.theme-options legend { margin-bottom: 10px; font-weight: 750; }
.theme-options label { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 90px; padding: 16px; border: 1px solid var(--line); border-radius: 14px; cursor: pointer; }
.theme-options label:has(input:checked) { border-color: var(--green); background: var(--green-soft); }
.theme-options small { flex-basis: 100%; color: var(--muted); }
.theme-options input { accent-color: var(--green); }
.account-nav { flex-wrap: wrap; }

html[data-theme="dark"] {
    --ink: #edf3ee;
    --muted: #b5c5bb;
    --paper: #151e1a;
    --card: #202c25;
    --line: #405247;
    --green: #8fd1a8;
    --green-soft: #2c4938;
    --amber-soft: #e8d298;
    --blue-soft: #c5d9e4;
    --shadow: 0 18px 55px rgba(0, 0, 0, .2);
}
html[data-theme="dark"] .site-header,
html[data-theme="dark"] .auth-card,
html[data-theme="dark"] .preview { background: var(--card); }
html[data-theme="dark"] .account-nav,
html[data-theme="dark"] .rail-card-link,
html[data-theme="dark"] .master-switch,
html[data-theme="dark"] .item-note { background: #26382e; }
html[data-theme="dark"] .dashboard-hero { background: #28533c; }
html[data-theme="dark"] .primary-action,
html[data-theme="dark"] .primary-button,
html[data-theme="dark"] .done-button,
html[data-theme="dark"] .brand-mark { color: #102d1c; }
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] .bank-connection { background: #18251e; color: var(--ink); border-color: var(--line); }
html[data-theme="dark"] .summary-card.attention { background: #3c3421; }
html[data-theme="dark"] .phase-pill { background: var(--paper); }
html[data-theme="dark"] .brand { color: var(--ink); }
@media (max-width: 620px) {
    .theme-options { grid-template-columns: 1fr; }
    .theme-options label { min-height: 76px; }
    .account-nav { gap: 4px 10px; justify-content: flex-start; }
    .account-nav a { padding-inline: 3px; }
    .account-nav form:last-child { margin-left: auto; }
}
