.logo-light { display: block; }
.logo-dark { display: none; }
[data-theme="dark"] .logo-light { display: none; }
[data-theme="dark"] .logo-dark { display: block; }
[data-theme="dark"] { --bg: #0d1117; --surface: #161b22; --surface-alt: #1c2128; --surface-hover: #21262d; --surface-glow: radial-gradient(circle at 20% 20%, rgba(0, 200, 150, 0.04), transparent 38%), radial-gradient(circle at 80% 0%, rgba(99, 179, 237, 0.03), transparent 40%), linear-gradient(180deg, #161b22 0%, #0d1117 100%); --text: #f0f6fc; --text-muted: #8b949e; --text-secondary: #7d8590; --text-tertiary: #6b7280; --border: #30363d; --border-color: var(--border); --accent: #00c896; --accent-bg: rgba(0, 200, 150, 0.12); --accent-color: var(--accent); --accent-rgb: 0, 200, 150; --accent-text: #0d1117; --am-medium-green: #00c896; --success: #3fb950; --success-rgb: 63, 185, 80; --success-bright: #56d364; --success-bright-rgb: 86, 211, 100; --danger: #f85149; --danger-rgb: 248, 81, 73; --warning: #d29922; --warning-rgb: 210, 153, 34; --warning-bg: rgba(210, 153, 34, 0.15); --info: #58a6ff; --info-rgb: 88, 166, 255; --info-dark: #79c0ff; --info-light: rgba(88, 166, 255, 0.12); --purple: #a371f7; --purple-bg: rgba(163, 113, 247, 0.12); --shadow-soft: 0 16px 48px -16px rgba(0, 0, 0, 0.65), 0 8px 16px -8px rgba(0, 0, 0, 0.35); --shadow-strong: 0 32px 64px -24px rgba(0, 0, 0, 0.75), 0 16px 32px -16px rgba(0, 0, 0, 0.45); --tub-bg: #161b22; --tub-bg-glow: var(--surface-glow); --tub-bg-surface: #1c2128; --tub-border: var(--border); --tub-shadow: 0 2px 8px rgba(0, 0, 0, 0.32), 0 1px 3px rgba(0, 0, 0, 0.24); --tub-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.4), 0 2px 8px rgba(0, 0, 0, 0.32); --tub-shadow-inset: inset 0 1px 4px rgba(0, 0, 0, 0.24); --modal-accent: var(--accent); --hover-bg: var(--surface-hover); scrollbar-color: var(--border) var(--bg); }
[data-theme="dark"] { --backdrop: rgba(0, 0, 0, 0.6); --backdrop-subtle: rgba(0, 0, 0, 0.45); --sheet-shadow: 0 -8px 60px color-mix(in srgb, var(--mix-black) 50%, transparent); }
[data-theme="dark"] ::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--border) 60%, var(--text-muted)); }
[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: var(--accent); }
[data-theme="dark"] ::-webkit-scrollbar-track { background: var(--bg); }
[data-theme="dark"] .about-modal__tech-item { border-color: var(--border); }
[data-theme="dark"] .about-modal__version { background: var(--surface); }
[data-theme="dark"] .account-selector { background-color: var(--surface); border-color: var(--border); }
[data-theme="dark"] .account-selector:hover { border-color: var(--accent); }
[data-theme="dark"] .alert { background: var(--surface); }
[data-theme="dark"] .auth-alert { border-color: rgba(240, 246, 252, 0.2); }
[data-theme="dark"] .auth-alert-error { background: rgba(248, 81, 73, 0.15); border-color: var(--danger); }
[data-theme="dark"] .auth-alert-info { background: rgba(88, 166, 255, 0.15); border-color: var(--info); }
[data-theme="dark"] .auth-alert-success { background: rgba(63, 185, 80, 0.15); border-color: var(--success); }
[data-theme="dark"] .auth-alert-warning { background: rgba(210, 153, 34, 0.15); border-color: var(--warning); }
[data-theme="dark"] .auth-card { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-soft); }
[data-theme="dark"] .auth-layout { background: radial-gradient(circle at 20% 20%, rgba(0, 200, 150, 0.08), transparent 35%), radial-gradient(circle at 80% 0%, rgba(88, 166, 255, 0.06), transparent 38%), radial-gradient(circle at 50% 100%, rgba(163, 113, 247, 0.04), transparent 40%), linear-gradient(180deg, #0d1117 0%, #010409 100%); }
[data-theme="dark"] .avatar-image { border-color: var(--border); }
[data-theme="dark"] .avatar-upload-label { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .badge { border-color: var(--border); }
[data-theme="dark"] .balance-card { background: var(--surface-alt); border-color: var(--border); }
[data-theme="dark"] .balance-card:hover { background: var(--surface-hover); border-color: var(--accent); }
[data-theme="dark"] .brutalist-empty { background: var(--surface); box-shadow: var(--shadow-soft); }
[data-theme="dark"] .brutalist-item { background: transparent; border-bottom-color: var(--border); }
[data-theme="dark"] .brutalist-item.unread { background: var(--surface); }
[data-theme="dark"] .brutalist-item:hover { background: var(--surface-hover); }
[data-theme="dark"] .brutalist-menu-divider { background: var(--border); }
[data-theme="dark"] .btn { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .btn:disabled { background: var(--surface); opacity: 0.5; }
[data-theme="dark"] .btn:hover { background: var(--surface-hover); border-color: rgba(var(--accent-rgb), 0.4); }
[data-theme="dark"] .btn--secondary { background: var(--surface); }
[data-theme="dark"] .btn--secondary:hover { background: var(--surface-hover); }
[data-theme="dark"] .budget-alerts-section { border-top-color: var(--border); }
[data-theme="dark"] .budget-alerts-section__settings { background: var(--surface); }
[data-theme="dark"] .budget-alerts-section__subtitle, [data-theme="dark"] .budget-alerts-section__days-label, [data-theme="dark"] .budget-alerts-section__option-text { color: var(--text-muted); }
[data-theme="dark"] .budget-alerts-section__title { color: var(--text); }
[data-theme="dark"] .captcha-question { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .captcha-refresh:hover { background: var(--surface-hover); border-color: var(--accent); }
[data-theme="dark"] .category-badge--system { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .category-chip { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .category-chip:hover { background: var(--surface-hover); border-color: var(--accent); }
[data-theme="dark"] .category-color-chip__swatch { border-color: var(--border); }
[data-theme="dark"] .chart-container { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .checkout-message--canceled { background: color-mix(in srgb, var(--accent) 12%, var(--surface)); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
[data-theme="dark"] .checkout-message--success { background: color-mix(in srgb, var(--success) 12%, var(--surface)); border-color: color-mix(in srgb, var(--success) 40%, var(--border)); }
[data-theme="dark"] .customize-icon-btn { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .customize-icon-btn:hover { background: var(--surface-hover); border-color: var(--accent); }
[data-theme="dark"] .customize-preview { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .customize-preview__icon { background: var(--bg); border-color: var(--border); }
[data-theme="dark"] .customize-toggle { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .customize-toggle:hover { border-color: var(--accent); }
[data-theme="dark"] .customize-toggle--hidden { background: rgba(var(--warning-rgb), 0.08); border-color: rgba(var(--warning-rgb), 0.3); }
[data-theme="dark"] .customize-toggle__indicator { background: var(--bg); border-color: var(--border); }
[data-theme="dark"] .date-picker { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .date-picker__day--selected { background: var(--accent); color: var(--accent-text); }
[data-theme="dark"] .date-picker__day--today { border-color: var(--accent); }
[data-theme="dark"] .date-picker__day:hover { background: var(--surface-hover); }
[data-theme="dark"] .divider { background: var(--border); }
[data-theme="dark"] .dropdown-item:hover { background: var(--surface-hover); }
[data-theme="dark"] .dropdown-menu { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-strong); }
[data-theme="dark"] .dropdown-sheet { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .empty-state { background: var(--surface); }
[data-theme="dark"] .empty-state__icon { color: var(--text-muted); opacity: 0.4; }
[data-theme="dark"] .input-base { background: var(--surface-alt); border-color: var(--border); }
[data-theme="dark"] .input-base:focus, [data-theme="dark"] .input-base--focused { background: var(--surface); border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.15), var(--tub-shadow-inset); }
[data-theme="dark"] .list-item:hover, [data-theme="dark"] .list-item--focused { background: var(--surface-hover); }
[data-theme="dark"] .list-item--selected { background: var(--surface-hover); }
[data-theme="dark"] .search-bar { background: var(--surface-alt); border-bottom-color: var(--border); }
[data-theme="dark"] .fab-action { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .fab-action:hover { background: var(--surface-hover); border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
[data-theme="dark"] .fab-button { box-shadow: var(--tub-shadow); }
[data-theme="dark"] .fab-button.expanded { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .fab-button:hover { box-shadow: var(--tub-shadow-hover); }
[data-theme="dark"] .feature-comparison { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .feature-row { border-bottom-color: var(--border); }
[data-theme="dark"] .field__input { background: var(--surface-alt); border-color: var(--border); color: var(--text); }
[data-theme="dark"] .field__input::placeholder { color: var(--text-muted); }
[data-theme="dark"] .field__input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(var(--accent-rgb), 0.15); }
[data-theme="dark"] .icon-option.selected { background: color-mix(in srgb, var(--accent) 20%, var(--surface)); }
[data-theme="dark"] .icon-picker-option.selected { background: color-mix(in srgb, var(--accent) 20%, var(--surface)); }
[data-theme="dark"] .invoice-item { background: var(--surface-alt); border: 1px solid var(--border); }
[data-theme="dark"] .invoices-section { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .modal-actions { border-top-color: var(--border); }
[data-theme="dark"] .modal-content { background: var(--surface); }
[data-theme="dark"] .modal-content > form { background: transparent; }
[data-theme="dark"] .modal-handle { background: var(--border); }
[data-theme="dark"] .notification { background: var(--surface); border-color: var(--border); box-shadow: var(--shadow-strong); }
[data-theme="dark"] .notification--error { border-left-color: var(--danger); }
[data-theme="dark"] .notification--info { border-left-color: var(--info); }
[data-theme="dark"] .notification--success { border-left-color: var(--success); }
[data-theme="dark"] .notification--warning { border-left-color: var(--warning); }
[data-theme="dark"] .plan-change-card { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .plan-change-card--recommended { background: color-mix(in srgb, var(--accent) 8%, var(--surface)); border-color: var(--accent); }
[data-theme="dark"] .plan-change-section { background: var(--surface-alt); }
[data-theme="dark"] .pricing-card { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .pricing-card:hover { border-color: color-mix(in srgb, var(--accent) 60%, var(--border)); }
[data-theme="dark"] .pricing-card--selected { background: color-mix(in srgb, var(--accent) 8%, var(--surface)); border-color: var(--accent); }
[data-theme="dark"] .rate-input { background: var(--surface-alt); border-color: var(--border); }
[data-theme="dark"] .rate-input:focus { background: var(--surface); border-color: var(--accent); }
[data-theme="dark"] .settings-action { background: var(--surface-alt); }
[data-theme="dark"] .settings-action__icon { background: var(--surface); }
[data-theme="dark"] .settings-toggle { background: var(--surface-alt); }
[data-theme="dark"] .settings-toggle__icon { background: var(--surface); }
[data-theme="dark"] .skeleton { background: linear-gradient(90deg, var(--surface) 25%, var(--surface-hover) 50%, var(--surface) 75%); background-size: 200% 100%; }
[data-theme="dark"] .stat-card { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .stat-card:hover { background: var(--surface-hover); border-color: rgba(var(--accent-rgb), 0.3); }
[data-theme="dark"] .subscription-status { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .subscription-status__cancel-notice, [data-theme="dark"] .subscription-status__trial { background: var(--surface-alt); border: 1px solid var(--border); }
[data-theme="dark"] .subscription-status__icon { background: var(--surface-alt); }
[data-theme="dark"] .switch__track { background: var(--surface-hover); border-color: var(--border); }
[data-theme="dark"] .switch__track--checked { background: var(--accent); border-color: var(--accent); }
[data-theme="dark"] .tag { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] .tooltip { background: var(--text); color: var(--bg); }
[data-theme="dark"] .tub { background: var(--tub-bg); border-color: var(--tub-border); }
[data-theme="dark"] .tub--inset { background: var(--bg); }
[data-theme="dark"] .tub__header { border-bottom-color: var(--border); }
[data-theme="dark"] code { background: rgba(0, 200, 150, 0.1); color: var(--accent); }
[data-theme="dark"] hr { border-color: var(--border); }
[data-theme="dark"] pre { background: var(--bg); border-color: var(--border); }
[data-theme="dark"] select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); background-position: right 12px center; background-repeat: no-repeat; background-size: 12px; }
[data-theme="dark"] table { border-color: var(--border); }
[data-theme="dark"] td { border-color: var(--border); }
[data-theme="dark"] th { background: var(--surface); border-color: var(--border); }
[data-theme="dark"] tr:hover td { background: var(--surface-hover); }
html.theme-transition, html.theme-transition *, html.theme-transition *::before, html.theme-transition *::after { transition: background-color 0.3s ease, border-color 0.3s ease, color 0.2s ease, box-shadow 0.3s ease; }
