@font-face {
  font-family: 'Plus Jakarta Sans';
  src: url('assets/fonts/PlusJakartaSans-Variable.ttf') format('truetype');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

* { box-sizing: border-box; }
body, button, input, select, textarea { font-family: 'Plus Jakarta Sans', 'Segoe UI', system-ui, sans-serif; }
html.auth-active,
html.auth-active body { width: 100%; height: 100%; min-height: 0; overflow: hidden; }
#authView { position: fixed; inset: 0; display: none; width: 100%; height: 100vh; min-height: 0; place-content: center; place-items: center; overflow: hidden; }
html.auth-active #authView { display: grid; }
@supports (height: 100dvh) { #authView { height: 100dvh; } }
@media (max-height: 800px) {
  #authView.register-mode > section { padding: 1.25rem 1.5rem; }
  #authView.register-mode > section > div:first-child { margin-bottom: 1rem; }
  #authView.register-mode .brand-mark { margin-bottom: .5rem; }
  #authView.register-mode .auth-mode-switch { margin-bottom: .75rem; }
  #authView.register-mode #authForm > :not([hidden]) ~ :not([hidden]) { margin-top: .75rem; }
  #authView.register-mode .field { padding-top: .65rem; padding-bottom: .65rem; }
  #authView.register-mode > section > p:last-child { margin-top: .75rem; }
}
@media (max-width: 640px) {
  input:not([type="hidden"]), select, textarea { font-size: 16px !important; }
}
.ambient { position: fixed; width: 28rem; height: 28rem; border-radius: 999px; filter: blur(110px); opacity: .12; pointer-events: none; }
.ambient-one { background: #34d399; top: -10rem; left: -8rem; }
.ambient-two { background: #38bdf8; right: -12rem; bottom: -12rem; }
.glass, .panel, .stat-card { border: 1px solid rgba(255,255,255,.09); background: rgba(15,23,42,.76); box-shadow: 0 24px 80px rgba(0,0,0,.22); backdrop-filter: blur(20px); }
.panel { border-radius: 1.25rem; padding: 1.5rem; }
.month-navbar { border: 1px solid rgba(255,255,255,.08); background: rgba(15,23,42,.58); backdrop-filter: blur(16px); }
.month-list { scrollbar-width: none; }
.month-list::-webkit-scrollbar { display: none; }
.month-tab { flex: 0 0 auto; min-width: 4.35rem; border-radius: .65rem; padding: .55rem .7rem; color: #64748b; font-size: .72rem; font-weight: 700; transition: background .18s, color .18s, box-shadow .18s; }
.month-tab:hover { background: rgba(255,255,255,.05); color: #cbd5e1; }
.month-tab.active { background: #34d399; color: #052e27; box-shadow: 0 6px 20px rgba(52,211,153,.15); }
.month-arrow { display: grid; height: 2.5rem; width: 2.5rem; flex: 0 0 auto; place-items: center; border-radius: .7rem; background: rgba(255,255,255,.04); color: #64748b; font-size: 1.35rem; transition: background .18s, color .18s; }
.month-arrow:hover { background: rgba(255,255,255,.08); color: #e2e8f0; }
.stat-card { border-radius: 1.25rem; padding: 1.4rem; transition: transform .2s, border-color .2s; }
.stat-card:hover { transform: translateY(-2px); border-color: rgba(52,211,153,.22); }
.stat-label { color: #94a3b8; font-size: .82rem; font-weight: 600; }
.stat-value { margin-top: .8rem; font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.1; font-weight: 800; letter-spacing: -.04em; }
.stat-hint { display: inline-block; margin-top: .65rem; color: #475569; font-size: .72rem; }
.panel-title { font-size: 1.05rem; font-weight: 700; }
.panel-subtitle { margin-top: .2rem; color: #64748b; font-size: .78rem; }
.field-label { display: block; margin: 0 0 .5rem .2rem; color: #94a3b8; font-size: .76rem; font-weight: 600; }
.field { width: 100%; border: 1px solid rgba(255,255,255,.09); border-radius: .8rem; background: rgba(2,6,23,.65); padding: .85rem 1rem; color: #f8fafc; outline: none; transition: border-color .2s, box-shadow .2s; }
.date-field-shell { position: relative; height: 3rem; overflow: hidden; padding: 0; }
.date-field-shell input { display: block; width: 100%; height: 100%; min-width: 0; border: 0; background: transparent; padding: 0; color: inherit; outline: 0; font: inherit; line-height: 3rem; appearance: none; -webkit-appearance: none; }
.date-field-shell input::-webkit-date-and-time-value { box-sizing: border-box; height: 100%; min-height: 0; padding: 0 3rem 0 1rem; line-height: 3rem; text-align: left; }
.date-field-shell input::-webkit-calendar-picker-indicator,
.date-field-shell input::-webkit-inner-spin-button { display: none; -webkit-appearance: none; }
.date-field-chevron { position: absolute; top: 50%; right: 1rem; width: 1rem; height: 1rem; transform: translateY(-50%); pointer-events: none; color: var(--neu-muted); }
.field:focus { border-color: rgba(52,211,153,.7); box-shadow: 0 0 0 3px rgba(52,211,153,.1); }
.date-field-shell:focus-within { border-color: rgba(52,211,153,.7); box-shadow: 0 0 0 3px rgba(52,211,153,.1); }
.field::placeholder { color: #334155; }
.filter-trigger { border: 1px solid rgba(255,255,255,.09); background: rgba(2,6,23,.62); color: #cbd5e1; transition: border-color .2s, background .2s, box-shadow .2s; }
.filter-trigger:hover, .filter-trigger.open { border-color: rgba(52,211,153,.38); background: rgba(15,23,42,.9); }
.filter-trigger:focus-visible { outline: none; border-color: rgba(52,211,153,.65); box-shadow: 0 0 0 3px rgba(52,211,153,.1); }
.filter-menu { border: 1px solid rgba(255,255,255,.1); background: rgba(15,23,42,.98); box-shadow: 0 18px 50px rgba(0,0,0,.42); backdrop-filter: blur(20px); animation: dropdownIn .16s ease-out; }
.filter-option { display: flex; width: 100%; align-items: center; gap: .65rem; border-radius: .55rem; padding: .65rem .7rem; color: #94a3b8; font-size: .8rem; text-align: left; transition: background .15s, color .15s; }
.filter-option:hover { background: rgba(255,255,255,.06); color: #e2e8f0; }
.filter-option.active { background: rgba(52,211,153,.09); color: #d1fae5; }
.filter-option .check { visibility: hidden; color: #34d399; font-weight: 800; }
.filter-option.active .check { visibility: visible; }
@keyframes dropdownIn { from { opacity: 0; transform: translateY(-5px) scale(.98); } to { opacity: 1; transform: none; } }
.primary-btn { display: inline-flex; min-height: 2.9rem; align-items: center; justify-content: center; border-radius: .8rem; background: #34d399; padding: .75rem 1.2rem; color: #052e27; font-weight: 800; transition: transform .15s, background .2s; }
.primary-btn:hover { background: #6ee7b7; transform: translateY(-1px); }
.primary-btn:disabled { opacity: .55; cursor: wait; transform: none; }
.secondary-btn { border: 1px solid rgba(255,255,255,.09); border-radius: .7rem; color: #94a3b8; }
.secondary-btn:hover { background: rgba(255,255,255,.05); color: white; }
.type-btn { border-radius: .6rem; padding: .65rem; color: #64748b; font-size: .82rem; font-weight: 700; transition: all .2s; }
.type-btn.active { background: #34d399; color: #052e27; box-shadow: 0 5px 20px rgba(52,211,153,.15); }
.type-btn[data-type="expense"].active { background: #fb7185; color: #4c0519; }
.legend-btn { transition: opacity .2s, background .2s, color .2s; }
.legend-btn.is-hidden { opacity: .38; }
.legend-btn.is-hidden span { text-decoration: line-through; }
.modal-enter { animation: modalIn .22s ease-out; }
@keyframes modalIn { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
#transactionModal { height: 100vh; }
@supports (height: 100dvh) { #transactionModal { height: 100dvh; } }
@media (min-width: 768px) { .panel { padding: 1.75rem; } }
@media (min-width: 768px) and (max-height: 720px) {
  #transactionModal > section { padding: 1rem 1.5rem; }
  #transactionModal > section > div:first-child { margin-bottom: .75rem; }
  #transactionForm > :not([hidden]) ~ :not([hidden]) { margin-top: .625rem; }
  #transactionModal .field { padding-top: .65rem; padding-bottom: .65rem; }
  #transactionModal .date-field-shell { height: 2.65rem; padding: 0; }
  #transactionModal .date-field-shell input,
  #transactionModal .date-field-shell input::-webkit-date-and-time-value { line-height: 2.65rem; }
  #transactionModal .smart-select-trigger { min-height: 2.65rem; padding-top: .55rem; padding-bottom: .55rem; }
  #transactionModal .type-btn { padding: .5rem; }
  #transactionModal .primary-btn { min-height: 2.65rem; padding-top: .5rem; padding-bottom: .5rem; }
}
@media (max-width: 767px) {
  #transactionModal { padding: .75rem; }
  #transactionModal > section { padding: 1rem; }
  #transactionModal > section > div:first-child { margin-bottom: .75rem; }
  #transactionForm > :not([hidden]) ~ :not([hidden]) { margin-top: .625rem; }
  #transactionModal .field { padding-top: .65rem; padding-bottom: .65rem; }
  #transactionModal .date-field-shell { height: 2.65rem; padding: 0; }
  #transactionModal .date-field-shell input,
  #transactionModal .date-field-shell input::-webkit-date-and-time-value { line-height: 2.65rem; }
  #transactionModal .smart-select-trigger { min-height: 2.65rem; padding-top: .55rem; padding-bottom: .55rem; }
  #transactionModal .type-btn { padding: .5rem; }
  #transactionModal .primary-btn { min-height: 2.65rem; padding-top: .5rem; padding-bottom: .5rem; }
  #amountHint { margin-top: .25rem; }
}

/* Clean editorial theme */
.minimal-theme { background: #f4f4f2 !important; color: #181818; }
.minimal-theme .ambient { display: none; }
.minimal-theme header { border-color: #e4e4e1 !important; background: rgba(255,255,255,.94) !important; }
.minimal-theme .brand-mark { border-radius: 0; background: #181818; color: #fff; box-shadow: none; }
.minimal-theme .glass,
.minimal-theme .panel,
.minimal-theme .stat-card { border: 1px solid #e1e1de; border-radius: 2px; background: #fff; box-shadow: none; backdrop-filter: none; }
.minimal-theme .stat-card { position: relative; padding: 1.55rem; }
.minimal-theme .stat-card::before { position: absolute; top: -1px; left: -1px; width: 2.5rem; height: 2px; background: #1d1d1d; content: ''; }
.minimal-theme .stat-card:hover { border-color: #c8c8c4; transform: none; }
.minimal-theme .stat-label { color: #858581; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.minimal-theme .stat-value { color: #1a1a1a; font-weight: 700; letter-spacing: -.045em; }
.minimal-theme .stat-hint,
.minimal-theme .panel-subtitle { color: #9a9a96; }
.minimal-theme .panel-title { color: #202020; font-weight: 700; letter-spacing: -.02em; }
.minimal-theme .primary-btn { border-radius: 1px; background: #1c1c1c; color: #fff; box-shadow: none; font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; }
.minimal-theme .primary-btn:hover { background: #000; transform: none; }
.minimal-theme .secondary-btn { border-color: #d9d9d5; border-radius: 1px; color: #666; }
.minimal-theme .secondary-btn:hover { background: #f1f1ee; color: #111; }
.minimal-theme .field { border-color: #dededb; border-radius: 1px; background: #fafaf8; color: #202020; }
.minimal-theme .field:focus { border-color: #242424; box-shadow: 0 0 0 1px #242424; }
.minimal-theme .field::placeholder { color: #b1b1ad; }
.minimal-theme .field-label { color: #777773; letter-spacing: .04em; }
.minimal-theme .type-btn { border-radius: 1px; color: #8b8b87; }
.minimal-theme .type-btn.active { background: #1c1c1c; color: #fff; box-shadow: none; }
.minimal-theme .type-btn[data-type="expense"].active { background: #1c1c1c; color: #fff; }
.minimal-theme .month-navbar { border-color: #e1e1de; border-radius: 2px; background: #fff; backdrop-filter: none; }
.minimal-theme .month-tab { border-radius: 1px; color: #999995; letter-spacing: .06em; text-transform: uppercase; }
.minimal-theme .month-tab:hover { background: #f1f1ee; color: #222; }
.minimal-theme .month-tab.active { background: #1c1c1c; color: #fff; box-shadow: none; }
.minimal-theme .month-arrow { border: 1px solid #e2e2de; border-radius: 1px; background: #fafaf8; color: #777; }
.minimal-theme .month-arrow:hover { background: #1c1c1c; color: #fff; }
.minimal-theme .filter-trigger { border-color: #dededb; border-radius: 1px; background: #fafaf8; color: #333; }
.minimal-theme .filter-trigger:hover,
.minimal-theme .filter-trigger.open { border-color: #222; background: #fff; }
.minimal-theme .filter-menu { border-color: #dededb; border-radius: 1px; background: #fff; box-shadow: 0 14px 35px rgba(0,0,0,.1); }
.minimal-theme .filter-option { border-radius: 0; color: #777; }
.minimal-theme .filter-option:hover { background: #f4f4f1; color: #111; }
.minimal-theme .filter-option.active { background: #ededE9; color: #111; }
.minimal-theme .filter-option .check { color: #111; }
.minimal-theme #transactionModal { background: rgba(20,20,20,.48) !important; }
.minimal-theme #transactionModal .glass { background: #fff; }
.minimal-theme #toast { border-radius: 1px; background: #1c1c1c; color: #fff; }
.minimal-theme [class~="bg-slate-900"] { background: #f3f3f0 !important; }
.minimal-theme [class~="bg-slate-950/70"] { background: rgba(255,255,255,.94) !important; }
.minimal-theme [class~="bg-white/[.04]"],
.minimal-theme [class~="bg-white/[.05]"],
.minimal-theme [class~="bg-white/[.03]"] { background: #f5f5f2 !important; }
.minimal-theme [class~="border-white/10"],
.minimal-theme [class~="border-white/5"] { border-color: #e8e8e4 !important; }
.minimal-theme [class~="text-slate-100"],
.minimal-theme [class~="text-slate-200"],
.minimal-theme [class~="text-slate-300"] { color: #222 !important; }
.minimal-theme [class~="text-slate-400"] { color: #666 !important; }
.minimal-theme [class~="text-slate-500"] { color: #888 !important; }
.minimal-theme [class~="text-slate-600"] { color: #aaa !important; }
.minimal-theme [class~="text-emerald-300"],
.minimal-theme [class~="text-emerald-400"] { color: #167354 !important; }
.minimal-theme [class~="text-rose-300"],
.minimal-theme [class~="text-rose-400"] { color: #b8424f !important; }
.minimal-theme header nav { border-radius: 1px !important; background: #f3f3f0 !important; font-size: .66rem !important; letter-spacing: .1em; text-transform: uppercase; }
.minimal-theme header nav a { border-radius: 0 !important; }
.minimal-theme header nav a[class~="bg-white/[.08]"] { background: #1c1c1c !important; color: #fff !important; }
.minimal-theme select { color-scheme: light; }
@media (max-width: 640px) {
  .minimal-theme .panel, .minimal-theme .stat-card { padding: 1.25rem; }
  .minimal-theme header nav a { padding-left: .65rem; padding-right: .65rem; }
}
html[data-theme="dark"] body.minimal-theme { background: var(--neu-bg) !important; }
html[data-theme="dark"] body.minimal-theme header { background: transparent !important; }
html[data-theme="dark"] body.minimal-theme .glass,
html[data-theme="dark"] body.minimal-theme .panel,
html[data-theme="dark"] body.minimal-theme .stat-card,
html[data-theme="dark"] body.minimal-theme .month-navbar { border: 0 !important; background: var(--neu-surface) !important; box-shadow: var(--neu-raised) !important; }
html[data-theme="dark"] body.minimal-theme .field,
html[data-theme="dark"] body.minimal-theme .filter-trigger { border: 0 !important; background: var(--neu-surface) !important; color: var(--neu-text); box-shadow: var(--neu-inset) !important; }
html[data-theme="dark"] body.minimal-theme .primary-btn,
html[data-theme="dark"] body.minimal-theme .secondary-btn { background: var(--neu-surface); }
html[data-theme="dark"] body.minimal-theme .primary-btn { color: var(--neu-accent); }
html[data-theme="dark"] body.minimal-theme header nav,
html[data-theme="dark"] body.minimal-theme header nav a[class~="bg-white/[.08]"] { background: var(--neu-surface) !important; }
html[data-theme="dark"] body.minimal-theme header nav a[class~="bg-white/[.08]"] { color: var(--neu-accent) !important; box-shadow: var(--neu-soft); }
html[data-theme="dark"] body.minimal-theme .filter-menu { background: var(--neu-surface); box-shadow: var(--neu-raised); }
.mobile-nav { border-color: #dededb; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); }
.mobile-nav a { padding: .9rem .25rem; color: #999; font-size: .65rem; font-weight: 700; letter-spacing: .06em; text-align: center; text-transform: uppercase; }
.mobile-nav a.active { color: #111; box-shadow: inset 0 2px #111; }
.mobile-fab { border: 1px solid #111; border-radius: 50%; background: #111; color: #fff; box-shadow: 0 10px 30px rgba(0,0,0,.18); }
.mobile-fab svg { display: block; }
html[data-theme="dark"] .minimal-theme { background: #111211 !important; color: #e8e8e5; }
html[data-theme="dark"] .minimal-theme header { border-color: #30312f !important; background: rgba(18,19,18,.95) !important; }
html[data-theme="dark"] .minimal-theme .brand-mark { background: #f1f1ed; color: #111; }
html[data-theme="dark"] .minimal-theme .glass,
html[data-theme="dark"] .minimal-theme .panel,
html[data-theme="dark"] .minimal-theme .stat-card,
html[data-theme="dark"] .minimal-theme .month-navbar { border-color: #30312f; background: #1b1c1a; }
html[data-theme="dark"] .minimal-theme .stat-card::before { background: #e8e8e4; }
html[data-theme="dark"] .minimal-theme .stat-value,
html[data-theme="dark"] .minimal-theme .panel-title,
html[data-theme="dark"] .minimal-theme [class~="text-slate-100"],
html[data-theme="dark"] .minimal-theme [class~="text-slate-200"],
html[data-theme="dark"] .minimal-theme [class~="text-slate-300"] { color: #ecece8 !important; }
html[data-theme="dark"] .minimal-theme [class~="text-slate-400"] { color: #aaa !important; }
html[data-theme="dark"] .minimal-theme [class~="text-slate-500"] { color: #81827e !important; }
html[data-theme="dark"] .minimal-theme .field,
html[data-theme="dark"] .minimal-theme .filter-trigger { border-color: #383936; background: #151614; color: #ecece8; color-scheme: dark; }
html[data-theme="dark"] .minimal-theme .filter-menu { border-color: #383936; background: #1b1c1a; }
html[data-theme="dark"] .minimal-theme .filter-option:hover,
html[data-theme="dark"] .minimal-theme .filter-option.active { background: #292a27; color: #fff; }
html[data-theme="dark"] .minimal-theme .primary-btn { background: #efefeb; color: #111; }
html[data-theme="dark"] .minimal-theme .secondary-btn { border-color: #3b3c39; color: #aaa; }
html[data-theme="dark"] .minimal-theme [class~="bg-slate-900"],
html[data-theme="dark"] .minimal-theme [class~="bg-white/[.04]"],
html[data-theme="dark"] .minimal-theme [class~="bg-white/[.05]"],
html[data-theme="dark"] .minimal-theme [class~="bg-white/[.03]"] { background: #252624 !important; }
html[data-theme="dark"] .minimal-theme [class~="border-white/5"],
html[data-theme="dark"] .minimal-theme [class~="border-white/10"] { border-color: #30312f !important; }
html[data-theme="dark"] .minimal-theme header nav { background: #262724 !important; }
html[data-theme="dark"] .minimal-theme header nav a[class~="bg-white/[.08]"] { background: #efefeb !important; color: #111 !important; }
html[data-theme="dark"] .mobile-nav { border-color: #30312f; background: rgba(20,21,19,.96); }
html[data-theme="dark"] .mobile-nav a.active { color: #fff; box-shadow: inset 0 2px #eee; }
html[data-theme="dark"] .mobile-fab { border-color: #eee; background: #eee; color: #111; }

/* Neumorphism system */
:root {
  --neu-bg: #e8edf3;
  --neu-surface: #e8edf3;
  --neu-text: #27313d;
  --neu-muted: #7d8997;
  --neu-light: #ffffff;
  --neu-dark: #c3c9d1;
  --neu-accent: #3867d6;
  --neu-green: #198f70;
  --neu-red: #c95666;
  --neu-raised: 9px 9px 20px var(--neu-dark), -9px -9px 20px var(--neu-light);
  --neu-soft: 5px 5px 12px var(--neu-dark), -5px -5px 12px var(--neu-light);
  --neu-inset: inset 4px 4px 9px var(--neu-dark), inset -4px -4px 9px var(--neu-light);
}
html[data-theme="dark"] {
  --neu-bg: #23272b;
  --neu-surface: #23272b;
  --neu-text: #edf1f5;
  --neu-muted: #929ca5;
  --neu-light: #30363c;
  --neu-dark: #171a1d;
  --neu-accent: #7ca2ff;
  --neu-green: #55c7a6;
  --neu-red: #ef8290;
}
body.minimal-theme { background: var(--neu-bg) !important; color: var(--neu-text); transition: background .25s, color .25s; }
body.minimal-theme header { border: 0 !important; background: transparent !important; backdrop-filter: none; }
body.minimal-theme header > div { width: calc(100% - 2rem); margin: 1rem auto 0; border-radius: 1.5rem; background: var(--neu-surface); box-shadow: var(--neu-soft); }
body.minimal-theme .brand-mark { border-radius: 50%; background: var(--neu-surface); color: var(--neu-accent); box-shadow: var(--neu-soft); }
body.minimal-theme .brand-mark img { display: block; width: 68%; height: 68%; object-fit: contain; }
body.minimal-theme .brand-wordmark { color: var(--neu-text); font-size: 1.16rem; font-weight: 760; line-height: .95; letter-spacing: -.045em; }
body.minimal-theme .brand-wordmark .brand-dot { display: inline-block; width: .32rem; height: .32rem; margin-left: .12rem; border-radius: 50%; background: var(--neu-green); vertical-align: -.06rem; }
body.minimal-theme .brand-tagline { margin-top: .38rem; font-size: .67rem; font-weight: 500; line-height: 1; letter-spacing: .015em; }
body.minimal-theme .auth-mode-switch { border-radius: 1rem; background: var(--neu-surface); box-shadow: var(--neu-inset); }
body.minimal-theme .auth-mode-switch button { min-height: 2.65rem; border: 0; border-radius: .75rem; color: var(--neu-muted); font-size: .8rem; font-weight: 700; transition: color .2s, box-shadow .2s; }
body.minimal-theme .auth-mode-switch button.active { color: var(--neu-accent); box-shadow: var(--neu-soft); }
body.minimal-theme .auth-mode-switch button:focus-visible { outline: 2px solid color-mix(in srgb, var(--neu-accent) 55%, transparent); outline-offset: 2px; }
body.minimal-theme .glass,
body.minimal-theme .panel,
body.minimal-theme .stat-card,
body.minimal-theme .month-navbar { border: 0 !important; border-radius: 1.5rem !important; background: var(--neu-surface) !important; box-shadow: var(--neu-raised) !important; backdrop-filter: none; }
body.minimal-theme .stat-card { min-height: 9.5rem; padding: 1.55rem; }
body.minimal-theme .stat-card::before { display: none; }
body.minimal-theme .stat-card:hover { transform: translateY(-2px); box-shadow: 12px 12px 25px var(--neu-dark), -12px -12px 25px var(--neu-light) !important; }
body.minimal-theme .stat-label { color: var(--neu-muted); font-size: .7rem; letter-spacing: .1em; }
body.minimal-theme .section-kicker { color: var(--neu-muted); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
body.minimal-theme .stat-value,
body.minimal-theme .panel-title { color: var(--neu-text) !important; }
body.minimal-theme .stat-hint,
body.minimal-theme .panel-subtitle,
body.minimal-theme [class~="text-slate-400"],
body.minimal-theme [class~="text-slate-500"],
body.minimal-theme [class~="text-slate-600"] { color: var(--neu-muted) !important; }
body.minimal-theme [class~="text-slate-100"],
body.minimal-theme [class~="text-slate-200"],
body.minimal-theme [class~="text-slate-300"] { color: var(--neu-text) !important; }
body.minimal-theme [class~="text-emerald-300"],
body.minimal-theme [class~="text-emerald-400"] { color: var(--neu-green) !important; }
body.minimal-theme [class~="text-rose-300"],
body.minimal-theme [class~="text-rose-400"] { color: var(--neu-red) !important; }
body.minimal-theme .primary-btn { border: 0; border-radius: .95rem; background: var(--neu-surface); color: var(--neu-accent); box-shadow: var(--neu-soft); font-size: .76rem; letter-spacing: .06em; }
body.minimal-theme .primary-btn:hover { background: var(--neu-surface); color: var(--neu-accent); transform: translateY(-1px); }
body.minimal-theme .primary-btn:active { box-shadow: var(--neu-inset); transform: none; }
body.minimal-theme .secondary-btn { border: 0; border-radius: .85rem; background: var(--neu-surface); color: var(--neu-muted); box-shadow: var(--neu-soft); }
body.minimal-theme .secondary-btn:hover { background: var(--neu-surface); color: var(--neu-accent); }
body.minimal-theme .secondary-btn:active { box-shadow: var(--neu-inset); }
body.minimal-theme header nav { border-radius: 1rem !important; background: var(--neu-surface) !important; box-shadow: var(--neu-inset); }
body.minimal-theme header nav a { border-radius: .75rem !important; color: var(--neu-muted) !important; transition: color .2s, box-shadow .2s; }
body.minimal-theme header nav a[class~="bg-white/[.08]"] { background: var(--neu-surface) !important; color: var(--neu-accent) !important; box-shadow: var(--neu-soft); }
body.minimal-theme .field,
body.minimal-theme .filter-trigger { border: 0 !important; border-radius: 1rem; background: var(--neu-surface) !important; color: var(--neu-text); box-shadow: var(--neu-inset) !important; }
body.minimal-theme .field:focus,
body.minimal-theme .filter-trigger:focus-visible { border: 0; box-shadow: var(--neu-inset), 0 0 0 2px color-mix(in srgb, var(--neu-accent) 45%, transparent) !important; }
body.minimal-theme .field::placeholder { color: color-mix(in srgb, var(--neu-muted) 70%, transparent); }
body.minimal-theme .field-label { color: var(--neu-muted); }
body.minimal-theme .type-btn { border-radius: .8rem; color: var(--neu-muted); }
body.minimal-theme .type-btn.active,
body.minimal-theme .type-btn[data-type="expense"].active { background: var(--neu-surface); color: var(--neu-accent); box-shadow: var(--neu-soft); }
body.minimal-theme [class~="bg-slate-900"],
body.minimal-theme [class~="bg-white/[.04]"],
body.minimal-theme [class~="bg-white/[.05]"],
body.minimal-theme [class~="bg-white/[.03]"] { background: var(--neu-surface) !important; }
body.minimal-theme [class~="bg-slate-900"] { box-shadow: var(--neu-inset); }
body.minimal-theme [class~="border-white/5"],
body.minimal-theme [class~="border-white/10"] { border-color: transparent !important; }
body.minimal-theme .month-navbar { padding: 1rem; }
body.minimal-theme .month-tab { border-radius: .8rem; color: var(--neu-muted); }
body.minimal-theme .month-tab:hover { background: var(--neu-surface); color: var(--neu-text); box-shadow: var(--neu-soft); }
body.minimal-theme .month-tab.active { background: var(--neu-surface); color: var(--neu-accent); box-shadow: var(--neu-inset); }
body.minimal-theme .month-arrow { border: 0; border-radius: 50%; background: var(--neu-surface); color: var(--neu-muted); box-shadow: var(--neu-soft); }
body.minimal-theme .month-arrow:hover { background: var(--neu-surface); color: var(--neu-accent); }
body.minimal-theme .filter-menu { border: 0; border-radius: 1rem; background: var(--neu-surface); box-shadow: var(--neu-raised); }
body.minimal-theme .filter-option { border-radius: .75rem; color: var(--neu-muted); }
body.minimal-theme .filter-option:hover { background: var(--neu-surface); color: var(--neu-text); box-shadow: var(--neu-soft); }
body.minimal-theme .filter-option.active { background: var(--neu-surface); color: var(--neu-accent); box-shadow: var(--neu-inset); }
body.minimal-theme #transactionList,
body.minimal-theme #monthlyTransactions { display: grid; gap: .85rem; }
body.minimal-theme #transactionList > article,
body.minimal-theme #monthlyTransactions > article { min-width: 0; border: 0; border-radius: 1rem; padding: .9rem 1rem; background: var(--neu-surface); box-shadow: var(--neu-soft); }
body.minimal-theme #transactionList > article:hover,
body.minimal-theme #monthlyTransactions > article:hover { box-shadow: var(--neu-inset); }
body.minimal-theme #transactionModal,
body.minimal-theme #budgetModal,
body.minimal-theme #goalModal { background: rgba(35,39,43,.48) !important; backdrop-filter: blur(5px); }
body.minimal-theme #transactionModal .glass,
body.minimal-theme #budgetModal .glass,
body.minimal-theme #goalModal .glass { box-shadow: 16px 16px 36px rgba(0,0,0,.28), -8px -8px 24px color-mix(in srgb, var(--neu-light) 60%, transparent) !important; }
body.minimal-theme #toast,
body.minimal-theme #settingsToast { border-radius: 1rem; background: var(--neu-surface); color: var(--neu-text); box-shadow: var(--neu-raised); }
body.minimal-theme .legend-btn { border-radius: .8rem; background: var(--neu-surface) !important; box-shadow: var(--neu-soft); color: var(--neu-muted); }
body.minimal-theme .legend-btn:active,
body.minimal-theme .legend-btn.is-hidden { box-shadow: var(--neu-inset); }
body.minimal-theme .mobile-nav { right: 1rem; bottom: 1rem; left: 1rem; border: 0; border-radius: 1.25rem; background: var(--neu-surface); box-shadow: var(--neu-raised); }
body.minimal-theme .mobile-nav a { color: var(--neu-muted); }
body.minimal-theme .mobile-nav a.active { border-radius: 1rem; color: var(--neu-accent); box-shadow: var(--neu-inset); }
body.minimal-theme .mobile-fab { bottom: 6rem; border: 0; background: var(--neu-surface); color: var(--neu-accent); box-shadow: var(--neu-raised); }
body.minimal-theme .mobile-fab:active { box-shadow: var(--neu-inset); }
body.minimal-theme input[type="color"] { border: 0 !important; border-radius: .85rem; background: var(--neu-surface) !important; box-shadow: var(--neu-inset); }
body.minimal-theme .category-color-input { width: 2.75rem; height: 2.75rem; flex: 0 0 2.75rem; cursor: pointer; border-radius: 50% !important; padding: .48rem; }
body.minimal-theme .category-color-input::-webkit-color-swatch-wrapper { padding: 0; }
body.minimal-theme .category-color-input::-webkit-color-swatch { border: 0; border-radius: 50%; }
body.minimal-theme .category-color-input::-moz-color-swatch { border: 0; border-radius: 50%; }
body.minimal-theme .divide-y > :not([hidden]) ~ :not([hidden]) { border-color: transparent; }
@media (max-width: 640px) {
  body.minimal-theme header > div { width: calc(100% - 1rem); margin-top: .5rem; padding: .8rem 1rem; border-radius: 1.15rem; }
  body.minimal-theme .glass,
  body.minimal-theme .panel,
  body.minimal-theme .stat-card,
  body.minimal-theme .month-navbar { border-radius: 1.2rem !important; }
  body.minimal-theme .stat-card { min-height: 8.5rem; }
  body.minimal-theme #transactionList > article.transaction-item { display: grid !important; grid-template-columns: 2.5rem minmax(0, 1fr) auto; align-items: center; column-gap: .7rem; row-gap: .2rem; overflow: hidden; padding: .8rem !important; }
  body.minimal-theme .transaction-item .transaction-icon { grid-column: 1; grid-row: 1 / span 2; width: 2.5rem; height: 2.5rem; }
  body.minimal-theme .transaction-item .transaction-copy { grid-column: 2; grid-row: 1 / span 2; }
  body.minimal-theme .transaction-item .transaction-amount { grid-column: 3; grid-row: 1; max-width: 7.8rem; overflow: hidden; font-size: clamp(.68rem, 2.9vw, .8rem); text-overflow: ellipsis; white-space: nowrap; }
  body.minimal-theme .transaction-item .transaction-actions { grid-column: 3; grid-row: 2; justify-self: end; }
  body.minimal-theme .transaction-item .transaction-actions button { width: 1.85rem; height: 1.85rem; }
}
html[data-theme="dark"] body.minimal-theme { background: var(--neu-bg) !important; color: var(--neu-text); }
html[data-theme="dark"] body.minimal-theme header { border: 0 !important; background: transparent !important; }
html[data-theme="dark"] body.minimal-theme .brand-mark { background: var(--neu-surface); color: var(--neu-accent); }
html[data-theme="dark"] body.minimal-theme .glass,
html[data-theme="dark"] body.minimal-theme .panel,
html[data-theme="dark"] body.minimal-theme .stat-card,
html[data-theme="dark"] body.minimal-theme .month-navbar { border: 0 !important; background: var(--neu-surface) !important; box-shadow: var(--neu-raised) !important; }
html[data-theme="dark"] body.minimal-theme .field,
html[data-theme="dark"] body.minimal-theme .filter-trigger { border: 0 !important; background: var(--neu-surface) !important; color: var(--neu-text); box-shadow: var(--neu-inset) !important; color-scheme: dark; }
html[data-theme="dark"] body.minimal-theme .primary-btn,
html[data-theme="dark"] body.minimal-theme .secondary-btn { border: 0; background: var(--neu-surface); }
html[data-theme="dark"] body.minimal-theme .primary-btn { color: var(--neu-accent); }
html[data-theme="dark"] body.minimal-theme header nav,
html[data-theme="dark"] body.minimal-theme header nav a[class~="bg-white/[.08]"] { background: var(--neu-surface) !important; }
html[data-theme="dark"] body.minimal-theme header nav a[class~="bg-white/[.08]"] { color: var(--neu-accent) !important; box-shadow: var(--neu-soft); }
html[data-theme="dark"] body.minimal-theme .filter-menu { background: var(--neu-surface); box-shadow: var(--neu-raised); }
html[data-theme="dark"] body.minimal-theme .mobile-nav { background: var(--neu-surface); box-shadow: var(--neu-raised); }
html[data-theme="dark"] body.minimal-theme .mobile-nav a.active { color: var(--neu-accent); box-shadow: var(--neu-inset); }
html body.minimal-theme header[class~="bg-slate-950/70"] { background: var(--neu-bg) !important; }
html[data-theme="dark"] body.minimal-theme header[class~="bg-slate-950/70"] { background: var(--neu-bg) !important; }
.smart-select-native { display: none !important; }
.smart-select { position: relative; width: 100%; }
.smart-select-trigger { display: flex; width: 100%; min-height: 3rem; align-items: center; gap: .75rem; border: 0; border-radius: 1rem; background: var(--neu-surface); padding: .75rem 1rem; color: var(--neu-text); box-shadow: var(--neu-inset); font-size: .875rem; text-align: left; }
.smart-select-label { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smart-select-chevron { width: 1rem; height: 1rem; flex: 0 0 auto; color: var(--neu-muted); transition: transform .2s; }
.smart-select-trigger.open .smart-select-chevron { transform: rotate(180deg); }
.smart-select-menu { position: absolute; z-index: 55; top: calc(100% + .65rem); right: 0; left: 0; max-height: 15rem; overflow-y: auto; border-radius: 1rem; background: var(--neu-surface); padding: .5rem; box-shadow: var(--neu-raised); animation: dropdownIn .16s ease-out; }
.smart-select-option { display: flex; width: 100%; align-items: center; justify-content: space-between; border-radius: .75rem; padding: .7rem .8rem; color: var(--neu-muted); font-size: .82rem; text-align: left; }
.smart-select-option:hover { color: var(--neu-text); box-shadow: var(--neu-soft); }
.smart-select-option.active { color: var(--neu-accent); box-shadow: var(--neu-inset); }
.smart-select-check { visibility: hidden; color: var(--neu-accent); font-weight: 800; }
.smart-select-option.active .smart-select-check { visibility: visible; }
.desktop-type-filter { display: none; align-items: center; justify-content: flex-end; gap: .65rem; }
.desktop-type-filter button { display: inline-flex; align-items: center; gap: .5rem; border-radius: .85rem; padding: .65rem 1rem; background: var(--neu-surface); color: var(--neu-muted); box-shadow: var(--neu-soft); font-size: .76rem; font-weight: 700; transition: color .2s, box-shadow .2s, transform .2s; }
.desktop-type-filter button:hover { color: var(--neu-text); transform: translateY(-1px); }
.desktop-type-filter button.active { color: var(--neu-accent); box-shadow: var(--neu-inset); transform: none; }
.desktop-type-filter i { width: .45rem; height: .45rem; border-radius: 50%; }
.transaction-title { letter-spacing: .035em; text-transform: uppercase; }
.type-btn { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; }
.type-btn::before { width: .45rem; height: .45rem; border-radius: 50%; content: ''; opacity: .6; }
.type-btn[data-type="income"]::before { background: var(--neu-green); }
.type-btn[data-type="expense"]::before { background: var(--neu-red); }
body.minimal-theme .type-btn[data-type="income"].active { background: color-mix(in srgb, var(--neu-green) 10%, var(--neu-surface)); color: var(--neu-green); box-shadow: var(--neu-soft); }
body.minimal-theme .type-btn[data-type="expense"].active { background: color-mix(in srgb, var(--neu-red) 10%, var(--neu-surface)); color: var(--neu-red); box-shadow: var(--neu-soft); }
body.minimal-theme .type-btn.active::before { opacity: 1; box-shadow: 0 0 0 4px color-mix(in srgb, currentColor 12%, transparent); }
@media (min-width: 768px) {
  .desktop-type-filter { display: flex; }
  #filterDropdown { display: none; }
}
.dialog-open { overflow: hidden; }
.app-dialog-overlay { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 1.25rem; background: rgba(28,33,38,.46); backdrop-filter: blur(7px); }
.app-dialog-overlay.hidden { display: none; }
.app-dialog { width: 100%; max-width: 25rem; border-radius: 1.6rem; background: var(--neu-surface); padding: 2rem; color: var(--neu-text); box-shadow: 16px 16px 38px rgba(15,20,25,.3), -8px -8px 24px color-mix(in srgb, var(--neu-light) 55%, transparent); text-align: center; animation: modalIn .2s ease-out; }
.app-dialog-icon { display: grid; width: 3.25rem; height: 3.25rem; margin: 0 auto 1.1rem; place-items: center; border-radius: 50%; color: var(--neu-red); box-shadow: var(--neu-inset); font-size: 1.35rem; font-weight: 800; }
.app-dialog:has(.app-dialog-confirm.danger) .app-dialog-icon { position: relative; font-size: 0; }
.app-dialog:has(.app-dialog-confirm.danger) .app-dialog-icon::before,
.app-dialog:has(.app-dialog-confirm.danger) .app-dialog-icon::after { position: absolute; width: 1.05rem; height: .18rem; border-radius: 999px; background: currentColor; content: ''; }
.app-dialog:has(.app-dialog-confirm.danger) .app-dialog-icon::before { transform: rotate(45deg); }
.app-dialog:has(.app-dialog-confirm.danger) .app-dialog-icon::after { transform: rotate(-45deg); }
.app-dialog-title { font-size: 1.2rem; font-weight: 800; }
.app-dialog-message { margin-top: .6rem; color: var(--neu-muted); font-size: .86rem; line-height: 1.65; }
.app-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; margin-top: 1.5rem; }
.app-dialog-actions button { min-height: 2.8rem; border-radius: .9rem; background: var(--neu-surface); box-shadow: var(--neu-soft); font-size: .78rem; font-weight: 700; }
.app-dialog-actions button:active { box-shadow: var(--neu-inset); }
.app-dialog-cancel { color: var(--neu-muted); }
.app-dialog-confirm { color: var(--neu-accent); }
.app-dialog-confirm.danger { color: var(--neu-red); }
.app-dialog-actions .hidden { display: none; }
.app-dialog-actions:has(.app-dialog-cancel.hidden) { grid-template-columns: 1fr; }
