:root{--color-bg:#0f172a;--color-surface:#111827;--color-surface-soft:#1f2937;--color-border:#334155;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-primary:#38bdf8;--color-primary-hover:#0ea5e9;--color-success:#22c55e;--color-warning:#f59e0b;--color-danger:#ef4444;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}.planned-payments-month-nav,.planned-payments-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.planned-payments-toolbar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.planned-payments-table-wrap{overflow-x:auto}.planned-payments-table{width:100%;border-collapse:collapse}.planned-payments-table td,.planned-payments-table th{padding:.6rem;border-bottom:1px solid var(--color-border,#d6d6d6);text-align:left;vertical-align:top}.planned-payments-row-actions{display:flex;gap:.5rem;flex-wrap:wrap}.planned-payment-mobile-card{border:1px solid var(--color-border,#d6d6d6);border-radius:.8rem;padding:.8rem;margin-bottom:.75rem;background:var(--color-surface,#fff)}.planned-payment-mobile-card header{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.planned-payments-filter-reset{display:flex;align-items:flex-end}.planned-payments-empty-state{display:flex;flex-direction:column;gap:.75rem}.planned-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:.5rem;gap:.5rem}.planned-calendar-weekday{font-size:.85rem;color:var(--color-text-muted);text-align:center;padding:.25rem}.planned-calendar-day{min-height:9rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.45);color:var(--color-text);text-align:left;padding:.5rem;display:flex;flex-direction:column;gap:.25rem;cursor:pointer}.planned-calendar-day:hover{border-color:var(--color-primary)}.planned-calendar-day:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.planned-calendar-day-outside{opacity:.55}.planned-calendar-day-today{border-color:var(--color-warning)}.planned-calendar-day-selected{box-shadow:0 0 0 1px var(--color-primary) inset}.planned-calendar-day-number{font-weight:700}.planned-calendar-day-count{color:var(--color-text-muted);font-size:.78rem}.planned-calendar-entry{border-radius:6px;padding:.2rem .3rem;display:flex;flex-direction:column;gap:.1rem;font-size:.74rem;border:1px solid var(--color-border)}.planned-calendar-entry-income{background:rgba(34,197,94,.12)}.planned-calendar-entry-expense{background:rgba(239,68,68,.12)}.planned-calendar-entry-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.planned-calendar-entry-meta,.planned-calendar-entry-more{color:var(--color-text-muted)}.planned-calendar-entry-more{font-size:.75rem}.planned-calendar-mobile-agenda{margin-top:1rem}.planned-day-details-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.planned-day-details-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.planned-day-details-main p{margin:.2rem 0}@media (max-width:960px){.planned-calendar-grid{grid-template-columns:repeat(7,minmax(2.4rem,1fr));gap:.35rem}.planned-calendar-day{min-height:6.2rem;padding:.4rem}.planned-calendar-entry-meta,.planned-calendar-entry-title{font-size:.68rem}}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--color-bg);color:var(--color-text);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.dashboard-page,.login-page{min-height:100vh;background:radial-gradient(circle at top,#1e293b,#020617);color:var(--color-text)}.login-page{display:flex;align-items:center;justify-content:center;padding:24px}.login-card{width:100%;max-width:420px;background:rgba(15,23,42,.9);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:32px}.login-card h1{margin:0 0 8px;font-size:38px}.login-card p{margin:0 0 28px;color:var(--color-text-muted)}.login-card label{display:block;margin:16px 0 8px;color:var(--color-text-muted)}.login-card input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.dashboard-header button,.login-card button{margin-top:24px;width:100%;padding:12px 16px;border:0;border-radius:var(--radius-md);background:var(--color-primary);color:#020617;cursor:pointer;font-weight:700}.error{margin-top:16px;color:var(--color-danger)}.dashboard-page{padding:48px}.dashboard-shell{max-width:1180px;margin:0 auto}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.dashboard-header h1{margin:0;font-size:42px}.dashboard-header button,.dashboard-header p{color:var(--color-text-muted)}.dashboard-header button{width:auto;background:transparent;border:1px solid var(--color-border)}.app-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:20px;gap:20px}.app-card{display:block;background:rgba(15,23,42,.82);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px;min-height:170px}.app-card-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;border:1px solid rgba(56,189,248,.35);background:rgba(2,6,23,.66);color:#7dd3fc;font-size:.9rem;font-weight:700;margin-bottom:12px}.app-card-link{transition:border-color .2s ease,background .2s ease,transform .2s ease}.app-card-link:focus-visible{outline:2px solid #8bd3ff;outline-offset:2px}.app-card-link:hover{border-color:var(--color-primary);background:rgba(15,23,42,.95);transform:translateY(-2px)}.app-card-disabled{opacity:.72}.app-card h2{margin:0 0 10px;font-size:22px}.app-card p{margin:0;line-height:1.5}.app-card p,.app-card small{color:var(--color-text-muted)}.app-card small{display:block;margin-top:18px}.app-layout{display:grid;grid-template-columns:280px 1fr;background:radial-gradient(circle at top,#1e293b,#020617)}.app-layout,.sidebar{min-height:100vh;min-width:0}.sidebar{padding:24px;border-right:1px solid var(--color-border);background:rgba(2,6,23,.82);display:flex;flex-direction:column;gap:28px}.sidebar-brand span{display:block;font-size:24px;font-weight:800}.sidebar-brand small,.sidebar-user small{color:var(--color-text-muted)}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.sidebar-link{display:flex;gap:12px;align-items:center;border:1px solid transparent;border-radius:var(--radius-md);background:transparent;color:var(--color-text-muted);padding:12px 14px;cursor:pointer;text-align:left}.sidebar-link-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.sidebar-link-active,.sidebar-link:hover{color:var(--color-text);border-color:var(--color-border);background:rgba(15,23,42,.8)}.sidebar-user{margin-top:auto;display:flex;flex-direction:column;gap:12px}.sidebar-user button{padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer}.app-content{padding:48px;min-width:0}.finance-back-link{border-color:var(--color-border)}.finance-mobile-bottom-nav,.finance-mobile-header,.finance-mobile-nav-backdrop{display:none}.finance-app-content{min-width:0}.finance-mobile-bottom-link,.finance-mobile-capture-link,.finance-mobile-menu-toggle{justify-content:center}.finance-mobile-fab{display:none}.finance-quick-capture-page{max-width:820px}.finance-quick-capture-card{display:flex;flex-direction:column;gap:18px}.finance-quick-capture-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.finance-quick-capture-amount{font-size:1.35rem}.finance-quick-capture-document{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:16px;background:rgba(2,6,23,.42);display:flex;flex-direction:column;gap:12px}.finance-quick-capture-document h2,.finance-quick-capture-document p{margin:0}.finance-quick-capture-preview{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:10px}.finance-quick-capture-preview img{width:100%;max-height:240px;object-fit:cover;border-radius:var(--radius-sm)}.finance-quick-capture-progress{display:flex;flex-direction:column;gap:8px}.finance-quick-capture-progress progress{width:100%}.finance-quick-capture-success{display:flex;flex-direction:column;gap:10px}.finance-quick-capture-actions{display:flex;flex-wrap:wrap;gap:10px}.finance-quick-capture-actions-sticky{position:-webkit-sticky;position:sticky;bottom:0;padding-top:10px;background:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.9) 35%)}@media (max-width:820px){.app-layout{grid-template-columns:1fr}.sidebar{min-height:auto;border-right:0;border-bottom:1px solid var(--color-border)}.sidebar-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.app-content{padding:24px}.finance-app-layout{position:relative;overflow-x:clip}.finance-sidebar{position:fixed;inset:0 auto 0 0;width:min(88vw,340px);z-index:60;transform:translateX(-102%);transition:transform .18s ease;border-right:1px solid var(--color-border);border-bottom:0;padding-bottom:calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.finance-sidebar-open{transform:translateX(0)}.finance-mobile-nav-backdrop{position:fixed;inset:0;border:0;background:rgba(2,6,23,.62);z-index:55}.finance-mobile-nav-backdrop-open{display:block}.finance-app-content{padding-top:18px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.finance-mobile-header{display:flex;justify-content:flex-start;gap:0;margin-bottom:18px;position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:6px 0;background:linear-gradient(180deg,rgba(2,6,23,.96),rgba(2,6,23,.74));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.finance-mobile-capture-link,.finance-mobile-menu-toggle{min-height:44px;margin:0}.finance-mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:58;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--color-border);background:rgba(2,6,23,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.finance-mobile-bottom-link{min-height:44px;font-size:.82rem;padding:8px 6px;margin:0}.finance-mobile-fab{display:inline-flex;position:fixed;right:14px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:59;border-radius:999px;padding:12px 16px;min-height:46px;box-shadow:0 8px 24px rgba(2,6,23,.55)}.finance-dashboard-grid,.finance-quick-capture-grid{grid-template-columns:1fr}.finance-dashboard-period-picker{width:100%;min-width:0}.finance-planning-toolbar,.finance-planning-toolbar .ui-button{width:100%}.finance-calendar-controls{grid-template-columns:1fr}.finance-calendar-grid,.finance-calendar-weekdays{gap:6px}.finance-calendar-day{min-height:88px;padding:8px}.finance-calendar-events li{flex-direction:column;align-items:flex-start}}@media (max-width:640px){.dialog-backdrop{align-items:flex-end;padding:12px}.dialog{max-width:100%;max-height:min(86vh,720px);overflow-y:auto;padding:18px}.dialog-actions{flex-direction:column;gap:8px}.dialog-actions .ui-button,.dialog-actions button{width:100%}.documents-library-actions,.documents-upload-actions,.transaction-attachment-actions,.transaction-attachment-list-actions{flex-direction:column;align-items:stretch}.documents-library-actions .ui-button,.documents-upload-actions .ui-button,.transaction-attachment-actions .ui-button,.transaction-attachment-list-actions .ui-button{width:100%}.documents-library-list li,.documents-upload-item,.transaction-attachment-list li,.transaction-pending-list li{min-width:0;overflow-wrap:anywhere}.finance-quick-capture-actions{flex-direction:column;align-items:stretch}.finance-quick-capture-actions .ui-button{width:100%}}.finance-page{max-width:1180px}.finance-center-page{display:flex;flex-direction:column;gap:24px}.finance-dashboard-period-picker{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));grid-gap:10px;gap:10px;min-width:280px}.finance-planning-toolbar{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.finance-dashboard-period-picker .ui-field{margin-bottom:0}.finance-planning-toolbar .ui-button{min-height:46px}.finance-calendar-page{display:flex;flex-direction:column;gap:20px}.finance-calendar-controls{display:grid;grid-template-columns:repeat(2,auto) repeat(2,minmax(130px,1fr)) auto;grid-gap:10px;gap:10px;align-items:end}.finance-calendar-title{display:block;margin-top:8px;font-size:1.05rem}.finance-calendar-controls .ui-field{margin-bottom:0}.finance-calendar-legend{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px}.finance-calendar-legend li{display:flex;align-items:center;gap:8px;color:var(--color-text-muted)}.finance-calendar-grid-wrap{display:flex;flex-direction:column;gap:10px}.finance-calendar-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.finance-calendar-weekdays span{color:var(--color-text-muted);font-size:.85rem;text-align:center}.finance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px}.finance-calendar-day{min-height:102px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.72);color:var(--color-text);padding:10px;display:flex;flex-direction:column;gap:7px;text-align:left;cursor:pointer}.finance-calendar-day-active,.finance-calendar-day:hover{border-color:var(--color-primary)}.finance-calendar-day-active{box-shadow:inset 0 0 0 1px rgba(34,211,238,.35)}.finance-calendar-day-empty{background:rgba(2,6,23,.45);cursor:default}.finance-calendar-day-number{font-weight:700;font-size:1rem}.finance-calendar-day-count{font-size:.78rem;color:var(--color-text-muted)}.finance-calendar-day-total{font-size:.78rem;font-weight:700}.finance-calendar-day-dots{margin-top:auto;display:flex;gap:6px;flex-wrap:wrap}.finance-calendar-dot{width:10px;height:10px;border-radius:999px;display:inline-block;flex-shrink:0}.finance-calendar-dot-green{background:#22c55e}.finance-calendar-dot-red{background:#ef4444}.finance-calendar-dot-blue{background:#38bdf8}.finance-calendar-dot-orange{background:#f97316}.finance-calendar-dot-purple{background:#a855f7}.finance-calendar-dot-yellow{background:#eab308}.finance-calendar-events{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.finance-calendar-events li{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px;background:rgba(2,6,23,.5);display:flex;justify-content:space-between;gap:16px}.finance-calendar-events li div{display:flex;flex-direction:column;gap:4px}.finance-calendar-events li small,.finance-calendar-events li span{color:var(--color-text-muted)}.finance-center-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:18px;gap:18px}.finance-dashboard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px;gap:18px}.finance-highlight-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px}.finance-highlight-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82);min-height:96px;padding:16px;display:flex;flex-direction:column;justify-content:space-between}.finance-highlight-card span{color:var(--color-text-muted);font-size:.9rem}.finance-highlight-card strong{font-size:1.15rem}.finance-settlements-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82);padding:18px;display:flex;flex-direction:column;gap:12px}.finance-month-closing-actions{display:flex;flex-wrap:wrap;gap:12px}.finance-month-closing-progress{width:100%;height:12px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}.finance-month-closing-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(56,189,248,.9),rgba(34,197,94,.9));transition:width .18s ease}.finance-month-closing-budget-table-wrap{overflow-x:auto}.finance-month-closing-budget-table{width:100%;border-collapse:collapse;min-width:720px}.finance-month-closing-budget-table td,.finance-month-closing-budget-table th{padding:12px 10px;border-bottom:1px solid rgba(148,163,184,.18);text-align:left;vertical-align:middle}.finance-month-closing-budget-table th{color:var(--color-text-muted);font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.finance-month-closing-budget-table td .ui-input{width:100%}.finance-month-closing-report-note{color:var(--color-text-muted);font-size:.95rem}.finance-history-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;border:1px solid transparent;font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em}.finance-history-status-success{color:#4ade80;border-color:rgba(74,222,128,.45);background:rgba(22,163,74,.2)}.finance-history-status-failed{color:#f87171;border-color:rgba(248,113,113,.45);background:rgba(220,38,38,.2)}.finance-history-status-aborted{color:#fbbf24;border-color:rgba(251,191,36,.45);background:rgba(180,83,9,.2)}.finance-month-closing-history-counts{margin:8px 0 0;color:var(--color-text-muted);font-size:.86rem}.finance-settlements-card h2{margin:0}.finance-settlements-card h3{margin:6px 0 0}.finance-reminders-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-reminders-header h2{margin:0}.finance-reminders-badge{min-width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(56,189,248,.2);border:1px solid rgba(56,189,248,.4);color:var(--color-text);font-weight:700}.finance-reminders-filters{display:flex;gap:8px;flex-wrap:wrap}.finance-reminders-filter{border:1px solid var(--color-border);background:rgba(2,6,23,.45);color:var(--color-text-muted);padding:6px 10px;cursor:pointer;gap:6px}.finance-reminders-filter,.finance-reminders-filter span{border-radius:999px;display:inline-flex;align-items:center}.finance-reminders-filter span{min-width:18px;height:18px;background:rgba(148,163,184,.25);justify-content:center;font-size:.75rem;color:var(--color-text)}.finance-reminders-filter-active{border-color:var(--color-primary);color:var(--color-text)}.finance-reminder-list li{align-items:flex-start}.finance-reminder-amount-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.finance-reminder-status{font-size:.74rem;border-radius:999px;padding:2px 8px;border:1px solid transparent}.finance-reminder-status-today{color:#38bdf8;border-color:rgba(56,189,248,.5)}.finance-reminder-status-tomorrow{color:#22c55e;border-color:rgba(34,197,94,.5)}.finance-reminder-status-this_week{color:#f59e0b;border-color:rgba(245,158,11,.5)}.finance-reminder-status-overdue{color:#ef4444;border-color:rgba(239,68,68,.5)}.finance-budget-summary-list{display:flex;flex-direction:column;gap:6px}.finance-budget-summary-list p,.finance-budget-summary-list-total{margin:0;color:var(--color-text-muted)}.finance-budget-progress-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.finance-budget-progress-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(2,6,23,.35);padding:12px;display:flex;flex-direction:column;gap:10px}.finance-budget-progress-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.finance-budget-progress-header span{color:var(--color-text-muted);font-weight:700}.finance-budget-progress-track{width:100%;height:12px;border-radius:999px;background:rgba(148,163,184,.2);overflow:hidden}.finance-budget-progress-fill{display:block;height:100%;border-radius:inherit}.finance-budget-progress-green{background:#22c55e}.finance-budget-progress-yellow{background:#facc15}.finance-budget-progress-orange{background:#f59e0b}.finance-budget-progress-red{background:#ef4444}.finance-budget-progress-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 12px;gap:8px 12px;color:var(--color-text-muted);font-size:.92rem}.finance-status-dot{width:12px;height:12px;border-radius:999px;display:inline-block;flex-shrink:0}.finance-status-dot-safe{background:#22c55e}.finance-status-dot-warning{background:#f59e0b}.finance-status-dot-exhausted{background:#94a3b8}.finance-status-dot-exceeded{background:#ef4444}.finance-center-card,.finance-placeholder{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82)}.finance-analysis-page,.finance-forecasts-page{display:flex;flex-direction:column;gap:18px}.finance-forecasts-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.finance-forecasts-simulation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.finance-forecasts-simulation-action{grid-column:1/-1;display:flex;justify-content:flex-end}.finance-goals-page{display:flex;flex-direction:column;gap:18px}.finance-goals-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.finance-goals-form-action{grid-column:1/-1;display:flex;justify-content:flex-end}.finance-goals-actions-cell{display:flex;gap:8px;flex-wrap:wrap}.finance-goal-progress{min-width:150px}.finance-goal-progress-track{width:100%;height:10px;border-radius:999px;background:#1f2937;overflow:hidden}.finance-goal-progress-fill{display:block;height:100%;transition:width .2s ease}.finance-goal-progress-neutral{background:#38bdf8}.finance-goal-progress-success{background:#22c55e}.finance-goal-progress-warning{background:#facc15}.finance-goal-progress-completed{background:#64748b}.finance-analysis-filters{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:12px;gap:12px}.finance-month-comparison-grid{margin-bottom:18px}.finance-month-chart{border:1px solid rgba(51,65,85,.6);border-radius:var(--radius-sm);padding:14px;background:rgba(2,6,23,.35)}.finance-month-chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(68px,1fr));grid-gap:10px;gap:10px;align-items:end;min-height:210px}.finance-month-chart-column{display:flex;flex-direction:column;gap:8px;align-items:center}.finance-month-chart-bars{width:100%;min-height:170px;display:flex;align-items:flex-end;justify-content:center;gap:6px}.finance-month-chart-bar{width:14px;border-radius:8px 8px 0 0;min-height:2px}.finance-month-chart-budget{background:#0ea5e9}.finance-month-chart-actual{background:#f97316}.finance-month-chart-remaining{background:#22c55e}.finance-month-chart-label{font-size:.75rem;color:var(--color-text-muted)}.finance-month-chart-legend{margin-top:14px;display:flex;gap:14px;flex-wrap:wrap;color:var(--color-text-muted);font-size:.86rem}.finance-month-chart-legend span{display:inline-flex;align-items:center;gap:6px}.finance-month-chart-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.finance-year-comparison-grid{margin-bottom:18px}.finance-year-chart{border:1px solid rgba(51,65,85,.6);border-radius:var(--radius-sm);padding:14px;background:rgba(2,6,23,.35)}.finance-year-chart-grid{display:grid;grid-gap:14px;gap:14px}.finance-year-chart-row{display:grid;grid-template-columns:120px 1fr;align-items:center;grid-gap:12px;gap:12px}.finance-year-chart-metric{font-size:.86rem;color:var(--color-text-muted)}.finance-year-chart-bars{display:flex;align-items:flex-end;gap:18px;min-height:94px}.finance-year-chart-bar-group{display:flex;flex-direction:column;align-items:center;gap:6px}.finance-year-chart-bar-group small{font-size:.72rem;color:var(--color-text-muted)}.finance-year-chart-bar{width:28px;min-height:2px;border-radius:8px 8px 0 0}.finance-year-chart-previous{background:#64748b}.finance-year-chart-current{background:#0ea5e9}.finance-year-chart-legend{margin-top:14px;display:flex;gap:14px;color:var(--color-text-muted);font-size:.86rem}.finance-year-chart-legend span{display:inline-flex;align-items:center;gap:6px}.finance-year-chart-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.finance-category-summary-grid{margin-bottom:18px}.finance-category-visuals{display:grid;grid-template-columns:320px 1fr;grid-gap:14px;gap:14px;margin-bottom:18px}.finance-category-bar-card,.finance-category-group-card,.finance-category-ring-card{border:1px solid rgba(51,65,85,.55);border-radius:var(--radius-sm);background:rgba(2,6,23,.35);padding:14px}.finance-category-bar-card h3,.finance-category-group-card h3,.finance-category-ring-card h3{margin:0 0 10px}.finance-category-ring-wrapper{display:flex;justify-content:center;margin-bottom:12px}.finance-category-ring{width:168px;height:168px;border-radius:50%;position:relative}.finance-category-ring:after{content:"";position:absolute;inset:28px;border-radius:50%;background:#0f172a}.finance-category-ring-legend{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px}.finance-category-ring-legend li{display:grid;grid-template-columns:auto 1fr auto;grid-gap:8px;gap:8px;align-items:center}.finance-category-legend-dot{width:10px;height:10px;border-radius:50%}.finance-category-bar-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:12px;gap:12px;min-height:186px}.finance-category-bar-column{display:flex;flex-direction:column;justify-content:flex-end;gap:8px;align-items:center}.finance-category-bar-bars{width:100%;min-height:140px;display:flex;align-items:flex-end;justify-content:center;gap:6px}.finance-category-bar{width:16px;min-height:2px;border-radius:8px 8px 0 0}.finance-category-bar-budget{background:#0ea5e9}.finance-category-bar-actual{background:#f97316}.finance-category-bar-remaining{background:#22c55e}.finance-category-bar-label{font-size:.76rem;color:var(--color-text-muted);text-align:center}.finance-category-groups{display:grid;grid-gap:12px;gap:12px}.finance-category-group-card header p{margin:0 0 12px;color:var(--color-text-muted);font-size:.9rem}.finance-category-group-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px;font-size:.9rem}.finance-account-summary-grid{margin-bottom:18px}.finance-account-chart{border:1px solid rgba(51,65,85,.55);border-radius:var(--radius-sm);background:rgba(2,6,23,.35);padding:14px;margin-bottom:18px}.finance-account-chart-header{display:flex;justify-content:space-between;margin-bottom:10px;color:var(--color-text-muted)}.finance-account-chart-svg-wrap{overflow-x:auto}.finance-account-chart-svg{width:100%;min-width:320px;height:220px}.finance-account-chart-labels{display:flex;justify-content:space-between;gap:8px;margin-top:8px;color:var(--color-text-muted);font-size:.76rem}.finance-analysis-development-up{color:#22c55e}.finance-analysis-development-down{color:#ef4444}.finance-analysis-development-flat{color:#94a3b8}.finance-analysis-table-wrap{overflow-x:auto}.finance-analysis-table{width:100%;border-collapse:collapse;min-width:980px}.finance-analysis-table td,.finance-analysis-table th{padding:12px;border-bottom:1px solid rgba(51,65,85,.55);text-align:left;vertical-align:middle}.finance-analysis-table th{color:var(--color-text-muted);font-weight:700}.finance-analysis-progress-cell{display:flex;align-items:center;gap:10px}.finance-analysis-progress-track{width:120px;height:10px;border-radius:999px;background:rgba(148,163,184,.2);overflow:hidden}.finance-analysis-progress-fill{display:block;height:100%}.finance-analysis-status-green{background:#15803d;color:#dcfce7}.finance-analysis-status-yellow{background:#ca8a04;color:#fef9c3}.finance-analysis-status-gray{background:#64748b;color:#e2e8f0}.finance-analysis-status-red{background:#b91c1c;color:#fee2e2}.finance-analysis-status-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 10px;font-size:.85rem;font-weight:700}.finance-center-card{display:block;min-height:140px;padding:22px;transition:border-color .2s ease,background .2s ease}.finance-center-card:hover{border-color:var(--color-primary);background:rgba(15,23,42,.95)}.finance-center-card h2,.finance-placeholder h2{margin:0 0 10px;font-size:1.2rem}.finance-center-card p,.finance-placeholder p{margin:0;color:var(--color-text-muted);line-height:1.5}.metric-income{color:#22c55e}.metric-expense{color:#ef4444}.metric-transfer{color:#38bdf8}.metric-neutral{color:#94a3b8}.metric-warning{color:#f59e0b}.finance-placeholder{padding:24px}.finance-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.finance-header h1{margin:0 0 6px;font-size:clamp(2rem,2.6vw,2.45rem);font-weight:700;letter-spacing:-.02em}.finance-header p{margin:0;color:var(--color-text-muted)}.primary-button{border:0;border-radius:var(--radius-md);background:var(--color-primary);color:#020617;padding:12px 16px;font-weight:700;cursor:pointer}.account-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px}.account-grid-professional{margin-top:6px}@media (min-width:768px){.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1280px){.account-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.account-card{display:flex;flex-direction:column;gap:14px;min-height:196px;padding:18px;border-radius:16px;background:rgba(11,18,32,.94);border:1px solid var(--color-border);transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.account-card:hover{border-color:rgba(148,163,184,.48);background:rgba(13,22,40,.96);transform:translateY(-1px)}.account-card-main{display:flex;flex-direction:column;min-width:0;gap:8px}.account-card-top{gap:12px}.account-card-top,.account-icon-wrap{display:flex;align-items:center;justify-content:space-between}.account-icon-wrap{width:44px;height:44px;border-radius:999px;background:rgba(148,163,184,.14);border:1px solid rgba(148,163,184,.24)}.account-icon{font-size:1.35rem;margin:0 auto}.account-card h2{margin:0;font-size:1.06rem;font-weight:600;line-height:1.3}.account-card-meta{font-size:.9rem}.account-card-iban,.account-card-meta{margin:0;color:var(--color-text-muted)}.account-card-iban{font-size:.84rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.account-card-description{margin:0;color:#b7c4d8;font-size:.92rem;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.account-card-balance{margin-top:auto;font-size:1.1rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.account-card-status{display:inline-flex;align-items:center;align-self:flex-start;margin-top:2px;padding:4px 10px;border-radius:999px;background:rgba(148,163,184,.16);color:var(--color-text-muted);font-size:.8rem;font-weight:700}.account-menu{position:relative}.account-menu-trigger{min-height:40px;width:40px;padding:0;font-size:1rem;font-weight:700;border-radius:12px}.account-menu-item:focus-visible,.account-menu-trigger:focus-visible{outline:2px solid rgba(56,189,248,.9);outline-offset:2px}.account-menu-panel{position:absolute;top:calc(100% + 8px);right:0;min-width:210px;border:1px solid var(--color-border);border-radius:12px;background:rgba(2,6,23,.98);box-shadow:0 18px 40px rgba(2,6,23,.55);z-index:25;padding:8px;display:flex;flex-direction:column;gap:6px}.account-menu-panel-top{top:auto;bottom:calc(100% + 8px)}.account-menu-item{border:1px solid transparent;background:transparent;color:var(--color-text);border-radius:10px;min-height:40px;padding:8px 12px;text-align:left;cursor:pointer}.account-menu-item:hover:not(:disabled){border-color:rgba(148,163,184,.35);background:rgba(15,23,42,.86)}.account-menu-item-danger{color:#fca5a5}.account-menu-item:disabled{opacity:.6;cursor:not-allowed}.account-menu-hint{margin:2px 2px 0;color:var(--color-text-muted);font-size:.78rem;line-height:1.4}.account-card-skeleton{pointer-events:none}.account-skeleton-dot,.account-skeleton-line{border-radius:999px;background:linear-gradient(90deg,rgba(30,41,59,.95),rgba(51,65,85,.9),rgba(30,41,59,.95));background-size:220% 100%;animation:account-skeleton-shimmer 1.4s ease-in-out infinite}.account-skeleton-dot{width:32px;height:32px}.account-skeleton-line{height:11px}.account-skeleton-line-title{width:72%;margin-top:2px}.account-skeleton-line-meta{width:52%}.account-skeleton-line-balance{width:44%;margin-top:auto}@keyframes account-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.account-empty-state{border:1px solid var(--color-border);border-radius:14px;background:rgba(15,23,42,.82);padding:20px;display:flex;align-items:center;justify-content:space-between;gap:14px}.account-empty-state p{margin:0;color:var(--color-text-muted)}.account-grid-summary{margin:12px 2px 0;color:var(--color-text-muted);text-align:right;font-size:.9rem}.finance-status-stack{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}.finance-status-banner{margin:0;border-radius:12px;border:1px solid transparent;padding:10px 12px;font-size:.92rem}.finance-status-banner-success{color:#4ade80;border-color:rgba(74,222,128,.38);background:rgba(22,163,74,.14)}.finance-status-banner-error{color:#fecaca;border-color:rgba(248,113,113,.38);background:rgba(127,29,29,.24);display:flex;align-items:center;justify-content:space-between;gap:12px}@media (max-width:640px){.account-empty-state{flex-direction:column;align-items:stretch}.account-empty-state .ui-button,.finance-status-banner-error .ui-button{width:100%}.finance-status-banner-error{flex-direction:column;align-items:stretch}}.dialog-copy{margin:-6px 0 16px;color:var(--color-text-muted)}.dialog-warning{margin:0 0 16px;color:#fbbf24}.account-delete-dependency-list{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-gap:8px;gap:8px}.account-delete-dependency-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:var(--radius-md);background:rgba(15,23,42,.82);border:1px solid var(--color-border);color:var(--color-text-muted)}@media (max-width:640px){.account-card,.account-card-header{flex-direction:column}.account-card-actions{justify-content:flex-start;width:100%}.account-card-action{flex:1 1 140px}}.dialog-backdrop{position:fixed;inset:0;background:rgba(2,6,23,.78);display:flex;align-items:center;justify-content:center;padding:24px;z-index:50}.dialog{width:100%;max-width:460px;background:#020617;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;box-shadow:0 30px 80px rgba(0,0,0,.45)}.dialog h2{margin:0 0 20px}.dialog label{display:block;margin:14px 0 8px;color:var(--color-text-muted)}.dialog input,.dialog select{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.dialog-actions button{padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer}.ui-field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.ui-field span{font-size:.95rem;font-weight:600;color:var(--color-text)}.ui-input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:rgba(15,23,42,.85);color:var(--color-text);transition:border-color .2s ease,box-shadow .2s ease}.ui-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(59,130,246,.25)}.ui-error{color:#ef4444;font-size:.85rem}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:12px 18px;border-radius:var(--radius-md);border:none;cursor:pointer;font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease,filter .2s ease,box-shadow .2s ease}.ui-button-primary{background:var(--color-primary);color:#020617}.ui-button-primary:hover{filter:brightness(1.08)}.ui-button-secondary{background:rgba(15,23,42,.85);color:var(--color-text);border:1px solid var(--color-border)}.ui-button-secondary:hover{background:rgba(30,41,59,.9)}.ui-button-ghost{background:transparent;color:var(--color-text-muted)}.ui-button-ghost:hover{color:var(--color-text)}.category-create-card{max-width:520px;margin-bottom:32px;background:rgba(15,23,42,.82);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:24px}.category-create-card h2{margin-top:0}.budget-page{gap:24px}.budget-page,.budget-period-panel{display:flex;flex-direction:column}.budget-period-panel{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.7);padding:16px;gap:14px}.budget-period-toggle{display:flex;gap:10px;flex-wrap:wrap}.budget-period-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px}.budget-period-fields .ui-field{margin-bottom:0}.budget-create-meta,.budget-period-hint{margin:0;color:var(--color-text-muted)}.budget-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:16px;gap:16px}.budget-create-panel,.budget-empty,.budget-group,.budget-summary-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82)}.budget-summary-item{min-height:96px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.budget-row span,.budget-summary-item span{color:var(--color-text-muted);font-size:.92rem}.budget-summary-item strong{font-size:1.35rem}.budget-create-panel{padding:22px}.budget-create-meta{margin-top:8px}.budget-create-panel h2,.budget-group h2{margin:0;font-size:1.25rem}.budget-form{margin-top:18px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.budget-form .ui-field{margin-bottom:0}.budget-form-actions{display:flex;align-items:flex-end;height:100%}.budget-form-actions .ui-button{width:100%}.budget-groups{display:flex;flex-direction:column;gap:16px}.budget-groups>h2{margin:0;font-size:1.2rem}.budget-group{overflow:hidden}.settings-category-page{display:flex;flex-direction:column;gap:24px}.settings-category-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.settings-category-header h1{margin:6px 0 8px}.settings-category-header p{margin:0;color:var(--color-text-muted)}.settings-category-breadcrumb{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.settings-category-header-actions{display:flex;gap:12px;flex-wrap:wrap}.settings-category-breadcrumb-card,.settings-category-detail-panel,.settings-category-empty,.settings-category-feedback,.settings-category-readonly,.settings-category-tree-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:rgba(15,23,42,.82)}.settings-category-breadcrumb-card,.settings-category-empty,.settings-category-feedback,.settings-category-readonly{padding:18px 20px}.settings-category-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:20px;gap:20px}.settings-category-detail-panel,.settings-category-tree-panel{padding:22px}.settings-category-panel-header h2{margin:0 0 8px}.settings-category-description,.settings-category-dialog-meta,.settings-category-empty p,.settings-category-empty-state p,.settings-category-note,.settings-category-panel-header p{color:var(--color-text-muted)}.settings-category-tree-list{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:12px}.settings-category-tree-list-nested{margin:12px 0 0 28px}.settings-category-node{border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-md);padding:12px;background:rgba(2,6,23,.65)}.settings-category-node-selected{border-color:var(--color-primary);box-shadow:0 0 0 1px rgba(59,130,246,.35)}.settings-category-node-inactive{opacity:.68}.settings-category-node-main{display:flex;gap:10px}.settings-category-toggle,.settings-category-toggle-placeholder{width:28px;flex:0 0 28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.settings-category-toggle{background:rgba(30,41,59,.9);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer}.settings-category-select{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;background:transparent;border:none;color:inherit;cursor:pointer;text-align:left}.settings-category-select span{font-size:.9rem;color:var(--color-text-muted)}.settings-category-detail-actions,.settings-category-node-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.settings-category-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;margin:18px 0}.settings-category-stats div{padding:14px;border-radius:var(--radius-md);background:rgba(2,6,23,.6);border:1px solid rgba(148,163,184,.15)}.settings-category-stats dt{color:var(--color-text-muted);font-size:.85rem}.settings-category-stats dd{margin:8px 0 0;font-size:1.05rem;font-weight:700}.settings-category-checkbox{display:inline-flex;gap:10px;align-items:center;margin:8px 0 0}.settings-category-dialog{max-width:560px}.settings-category-empty h2,.settings-category-empty-state h2{margin-top:0}.settings-users-page{display:flex;flex-direction:column;gap:24px}.settings-users-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.settings-users-header h1{margin:6px 0 8px}.settings-users-header p{margin:0;color:var(--color-text-muted)}.settings-users-breadcrumb{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}.settings-users-card,.settings-users-empty,.settings-users-feedback{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:rgba(15,23,42,.82);padding:18px 20px}.settings-users-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);grid-gap:20px;gap:20px}.settings-users-table-wrapper{overflow-x:auto}.settings-users-table{width:100%;border-collapse:collapse}.settings-users-table td,.settings-users-table th{padding:10px 8px;border-bottom:1px solid rgba(148,163,184,.2);text-align:left;vertical-align:middle}.settings-users-table td p{margin:2px 0 0;color:var(--color-text-muted)}.settings-users-actions-cell{display:flex;gap:8px;flex-wrap:wrap}.settings-users-checkbox{display:inline-flex;align-items:center;gap:8px}.settings-users-rights-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}.settings-user-permission-card{border:1px solid rgba(148,163,184,.25);border-radius:var(--radius-md);background:rgba(2,6,23,.55);padding:14px}.settings-user-permission-card h3{margin:0}.settings-user-permission-card small{color:var(--color-text-muted)}.settings-user-permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin:12px 0}.settings-users-dialog{max-width:520px}.settings-users-dialog-fields{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin:14px 0}.settings-users-error{color:#fda4af}.finance-access-blocked{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:rgba(15,23,42,.82);padding:18px 20px}.finance-access-blocked h2{margin-top:0}@media (max-width:960px){.settings-users-grid{grid-template-columns:1fr}.settings-users-header{flex-direction:column}.settings-category-grid,.settings-user-permission-grid{grid-template-columns:1fr}.settings-category-header{flex-direction:column}}.budget-group-header,.budget-row{display:flex;justify-content:space-between;gap:16px;align-items:center}.budget-group-header{padding:18px 20px;border-bottom:1px solid var(--color-border)}.budget-group-header span{color:var(--color-text-muted);font-weight:700}.budget-group-header>div:first-child{min-width:0}.budget-group-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.budget-group-actions .ui-button{min-height:40px;padding:10px 14px}.budget-group-edit-form{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:16px;gap:16px;align-items:end}.budget-group-edit-form .ui-field{margin-bottom:0}.budget-list{display:flex;flex-direction:column}.budget-group-progress{padding:14px 20px 2px}.budget-row{padding:16px 20px;border-bottom:1px solid rgba(51,65,85,.7)}.budget-row:last-child{border-bottom:0}.budget-row-main{display:flex;min-width:0;flex:1 1 240px;flex-direction:column;gap:4px}.budget-row strong{overflow-wrap:anywhere}.budget-warning-label{font-weight:700}.budget-warning-safe{color:#22c55e}.budget-warning-warning{color:#f59e0b}.budget-warning-exhausted{color:#94a3b8}.budget-warning-exceeded{color:#ef4444}.budget-row-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.budget-row-actions .ui-button{min-height:40px;padding:10px 14px}.budget-item-edit-form{width:100%;display:grid;grid-template-columns:minmax(150px,1fr) minmax(160px,1fr) minmax(130px,.8fr) minmax(90px,.5fr) auto;grid-gap:14px;gap:14px;align-items:end}.budget-item-edit-form .ui-field{margin-bottom:0}.budget-empty,.budget-row-muted{color:var(--color-text-muted)}.budget-empty{padding:24px}.transaction-page{display:flex;flex-direction:column;gap:24px}.success-message{margin:0;color:var(--color-success);font-weight:700}.transaction-empty,.transaction-form,.transaction-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82)}.transaction-empty{padding:24px;color:var(--color-text-muted)}.transaction-filters{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82);padding:16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.transaction-overview-label{margin:0;color:var(--color-text-muted)}.transaction-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.transaction-totals>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(2,6,23,.45);padding:10px 12px;display:flex;flex-direction:column;gap:6px}.transaction-totals span{color:var(--color-text-muted);font-size:.85rem}.transaction-totals strong{font-size:1rem}.transaction-list{overflow:hidden}.transaction-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid rgba(51,65,85,.7)}.transaction-row-planned{border-left:3px dashed rgba(245,158,11,.75)}.transaction-row:last-child{border-bottom:0}.transaction-row-main{display:flex;min-width:0;flex:1 1 260px;flex-direction:column;gap:4px}.transaction-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.transaction-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.transaction-receipt-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:999px;padding:4px 10px;background:rgba(15,23,42,.75);color:var(--color-text-muted);font-size:.8rem}.transaction-receipt-button-active{border-color:rgba(59,130,246,.55);color:#93c5fd}.transaction-receipt-button:disabled{opacity:.65}.transaction-meta-line{display:flex;align-items:center;gap:8px}.transaction-status-pill{border-radius:999px;padding:2px 10px;font-size:.78rem;font-weight:700}.transaction-status-booked{background:rgba(34,197,94,.2);color:#86efac}.transaction-status-planned{background:rgba(245,158,11,.2);color:#fcd34d}.transaction-attachment-indicator{color:#93c5fd;font-weight:600}.transaction-attachment-indicator-muted{color:var(--color-text-muted)}.transaction-attachment-inline-list{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(2,6,23,.35);padding:10px 12px}.transaction-attachment-inline-list ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}.transaction-attachment-inline-list a{color:#93c5fd}.transaction-row span{color:var(--color-text-muted);font-size:.92rem}.transaction-row strong{overflow-wrap:anywhere}.transaction-form{padding:22px}.transaction-status-fieldset{margin:0 0 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.transaction-status-fieldset legend{padding:0 8px;color:var(--color-text-muted);font-size:.9rem}.transaction-status-option{display:inline-flex;align-items:center;gap:10px;font-weight:600;color:var(--color-text)}.transaction-status-option input[type=radio]{accent-color:var(--color-primary)}.transaction-form-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.transaction-form-section+.transaction-form-section{margin-top:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-form .ui-field{margin-bottom:0}.transaction-form .ui-input{min-height:46px;padding:14px 16px}.transaction-note-field{grid-column:1/-1}.transaction-note-field textarea{resize:vertical}.transaction-form-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:24px}.transaction-form-field-full{grid-column:1/-1}.transaction-form-field-full textarea.ui-input{min-height:88px;resize:vertical}.transaction-recurring-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.transaction-recurring-hint{margin:10px 0 0;color:var(--color-text-muted)}.transaction-suggestion-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.transaction-suggestion-card{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(2,6,23,.35);padding:12px;display:flex;flex-direction:column;gap:8px;min-width:0}.transaction-suggestion-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.transaction-suggestion-confidence{color:#93c5fd;font-weight:700;white-space:nowrap}.transaction-suggestion-group,.transaction-suggestion-reason{margin:0;color:var(--color-text-muted);line-height:1.45;overflow-wrap:anywhere}.transaction-suggestion-action{margin-top:auto}.finance-recurring-page{display:flex;flex-direction:column;gap:24px}.finance-recurring-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.finance-recurring-list li{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(2,6,23,.35);padding:14px;display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.finance-recurring-list li small,.finance-recurring-list li span{display:block;color:var(--color-text-muted);margin-top:4px}.finance-recurring-list-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.transaction-form-section h2,.transaction-form-section h3{margin:0}.transaction-attachment-actions,.transaction-attachment-empty,.transaction-attachment-list,.transaction-form-section h2,.transaction-form-section h3,.transaction-form-section>p{grid-column:1/-1}.transaction-attachment-actions{display:flex;flex-wrap:wrap;gap:10px}.transaction-attachment-input{display:none}.transaction-attachment-empty{margin:0;color:var(--color-text-muted)}.transaction-attachment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.transaction-attachment-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.transaction-attachment-item p{margin:4px 0 0;color:var(--color-text-muted);font-size:.9rem}.transaction-attachment-item-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.transaction-attachments{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:rgba(15,23,42,.82);padding:22px;display:flex;flex-direction:column;gap:14px}.transaction-attachments-header h2{margin:0}.transaction-attachments-header p,.transaction-attachments-hint{margin:6px 0 0;color:var(--color-text-muted)}.transaction-dropzone{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:16px;background:rgba(2,6,23,.35);display:flex;flex-direction:column;gap:10px}.transaction-dropzone span{color:var(--color-text-muted)}.transaction-file-input{width:100%}.transaction-attachment-list,.transaction-pending-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.transaction-attachment-list li,.transaction-pending-list li{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;justify-content:space-between;align-items:center;gap:12px}.transaction-attachment-list li>div:first-child{display:flex;flex-direction:column;gap:4px}.transaction-attachment-list li span{color:var(--color-text-muted);font-size:.9rem}.transaction-attachment-actions,.transaction-attachment-list-actions{display:flex;gap:8px;align-items:center}.documents-page{display:flex;flex-direction:column;gap:24px}.documents-mobile-toolbar{display:none;align-items:center;justify-content:space-between;gap:12px}.documents-mobile-toolbar-copy{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.documents-breadcrumb,.documents-explorer-backlink,.documents-explorer-header p,.documents-explorer-tree-header p,.documents-mobile-toolbar-copy small{color:var(--color-text-muted)}.documents-explorer-layout{display:grid;grid-template-columns:320px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.documents-explorer{border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(15,23,42,.82);padding:22px;display:flex;flex-direction:column;gap:18px;position:-webkit-sticky;position:sticky;top:20px}.documents-explorer-content{display:flex;flex-direction:column;gap:24px;min-width:0}.documents-explorer-header{display:flex;flex-direction:column;gap:8px}.documents-explorer-header h2,.documents-explorer-tree-header h3{margin:0}.documents-explorer-backlink{font-size:.92rem;text-decoration:none}.documents-explorer-backlink:hover{color:var(--color-text)}.documents-explorer-nav{display:flex;flex-direction:column;gap:8px}.documents-explorer-link,.documents-explorer-node-button,.documents-explorer-toggle{border:none;background:transparent;color:var(--color-text);cursor:pointer}.documents-explorer-link{text-align:left;padding:10px 12px;border-radius:var(--radius-sm);background:rgba(2,6,23,.24);transition:background .18s ease,color .18s ease}.documents-explorer-link:hover,.documents-explorer-node-button:hover,.documents-explorer-toggle:hover{background:rgba(59,130,246,.14)}.documents-explorer-link-active,.documents-explorer-node-active .documents-explorer-node-button{background:rgba(59,130,246,.18);color:#dbeafe;font-weight:700}.documents-explorer-tree{display:flex;flex-direction:column;gap:12px}.documents-explorer-tree-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.documents-explorer-tree-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.documents-explorer-tree-list-nested{margin-top:8px;margin-left:18px}.documents-explorer-node{display:flex;align-items:center;gap:8px;min-width:0}.documents-explorer-node-button{flex:1 1;min-width:0;text-align:left;padding:8px 10px;border-radius:var(--radius-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-flex;align-items:center;gap:8px}.documents-category-color-dot{width:10px;height:10px;border-radius:999px;display:inline-block;border:1px solid rgba(148,163,184,.45);flex-shrink:0}.documents-explorer-node-actions{display:inline-flex;align-items:center;gap:4px}.documents-explorer-node-action{width:24px;height:24px;border-radius:999px;border:1px solid var(--color-border);background:rgba(2,6,23,.35);color:var(--color-text-muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.documents-explorer-node-action:hover{color:var(--color-text);border-color:rgba(59,130,246,.6)}.documents-explorer-toggle{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;flex:0 0 28px}.documents-explorer-toggle-placeholder{opacity:.5;cursor:default}.documents-breadcrumb{margin:0 0 6px;font-size:.88rem}.documents-descendants-toggle{min-width:210px}.documents-library-header,.documents-page-header,.documents-upload-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.documents-library-header>div,.documents-page-header>div,.documents-upload-header>div{min-width:0}.documents-library-header h2,.documents-library-header h3,.documents-library-header p,.documents-page-header h1{overflow-wrap:anywhere}.documents-library,.documents-upload-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(15,23,42,.82);padding:22px;display:flex;flex-direction:column;gap:18px}.documents-upload-modal{width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:linear-gradient(155deg,rgba(15,23,42,.98),rgba(2,6,23,.98));box-shadow:0 24px 64px rgba(2,6,23,.45)}.documents-upload-modal .documents-upload-panel{border:none;background:transparent;padding:0}.documents-upload-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px}.documents-upload-modal-header h2,.documents-upload-modal-header p{margin:0}.documents-upload-modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:6px;border-top:1px solid rgba(148,163,184,.2);padding-top:12px}.documents-upload-modal-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-gap:16px;gap:16px}.documents-upload-dropzone-panel{display:flex;flex-direction:column;gap:12px}.documents-upload-preview-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));grid-gap:10px;gap:10px}.documents-upload-preview-item{border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-sm);background:rgba(2,6,23,.4);padding:10px;display:flex;flex-direction:column;gap:8px}.documents-upload-preview-item>div{display:flex;flex-direction:column;gap:4px}.documents-upload-preview-frame,.documents-upload-preview-image,.documents-upload-preview-placeholder{width:100%;height:120px;border-radius:var(--radius-sm)}.documents-upload-preview-placeholder{border:1px dashed rgba(148,163,184,.4);color:var(--color-text-muted);display:inline-flex;align-items:center;justify-content:center;font-size:.82rem;letter-spacing:.04em}.documents-upload-preview-image{object-fit:cover}.documents-upload-preview-frame{border:none;background:white}.documents-search-panel{border-style:dashed;opacity:.92}.documents-explorer-workspace{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);grid-gap:16px;gap:16px}.documents-explorer-list-pane{display:flex;flex-direction:column;gap:12px;min-width:0}.documents-explorer-list-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.documents-explorer-list{max-height:760px;overflow:auto;padding-right:4px}.documents-explorer-list .documents-explorer-list-item-button{width:100%;border:none;text-align:left;background:transparent;color:inherit;padding:0;cursor:pointer}.documents-explorer-list-item-active{border-color:rgba(59,130,246,.6);background:rgba(30,64,175,.2)}.documents-explorer-list-item-highlight{border-color:rgba(16,185,129,.72);box-shadow:inset 0 0 0 1px rgba(16,185,129,.45)}.documents-explorer-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:rgba(2,6,23,.32);padding:16px;display:flex;flex-direction:column;gap:14px;min-width:0}.documents-preview-surface{border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-sm);background:rgba(2,6,23,.45);min-height:240px;display:flex;align-items:center;justify-content:center;padding:12px}.documents-preview-image{max-width:100%;max-height:560px;border-radius:var(--radius-sm)}.documents-preview-pdf{width:100%;min-height:580px;border:none;border-radius:var(--radius-sm);background:white}.documents-upload-dropzone{border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:18px;background:rgba(2,6,23,.35);display:flex;flex-direction:column;gap:10px}.documents-library li small,.documents-library li span,.documents-upload-dropzone span,.documents-upload-empty{color:var(--color-text-muted)}.documents-upload-category-panel{border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-md);background:rgba(2,6,23,.35);padding:16px;display:flex;flex-direction:column;gap:14px}.documents-upload-category-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.documents-upload-category-header h3,.documents-upload-category-header p{margin:0}.documents-upload-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.documents-upload-category-field{display:flex;flex-direction:column;gap:8px}.documents-upload-category-dialog{max-width:520px}.documents-library-actions,.documents-upload-actions{display:flex;flex-wrap:wrap;gap:10px}.documents-ocr-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(148,163,184,.2);display:flex;flex-direction:column;gap:6px}.documents-ocr-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.documents-ocr-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:700}.documents-ocr-badge-success{background:rgba(34,197,94,.16);color:#86efac}.documents-ocr-badge-error{background:rgba(239,68,68,.16);color:#fca5a5}.documents-ocr-badge-processing{background:rgba(56,189,248,.16);color:#7dd3fc}.documents-ocr-badge-muted{background:rgba(148,163,184,.16);color:#cbd5e1}.documents-ocr-text-block{display:flex;flex-direction:column;gap:6px}.documents-ocr-text-block pre{margin:0;padding:12px;border-radius:var(--radius-md);background:rgba(15,23,42,.72);border:1px solid var(--color-border);color:var(--color-text);white-space:pre-wrap;word-break:break-word;max-height:240px;overflow:auto}.documents-search-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}.documents-filter-checkbox{display:flex;align-items:center;justify-content:space-between;gap:10px}.documents-filter-checkbox input{width:18px;height:18px}.documents-filter-summary{color:var(--color-text-muted);font-size:.92rem}.documents-unassigned-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;border-top:1px dashed var(--color-border);padding-top:10px}.documents-upload-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.documents-library-list,.documents-upload-list,.documents-upload-messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.documents-library-list li,.documents-upload-item,.documents-upload-messages li{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px;background:rgba(2,6,23,.32)}.documents-library-list li,.documents-upload-item{display:flex;flex-direction:column;gap:12px}.documents-library-list li,.documents-upload-item-summary{justify-content:space-between}.documents-library-list li,.documents-upload-item-summary,.documents-upload-item-toolbar{display:flex;gap:12px;align-items:flex-start}.documents-library-list li>div:first-child,.documents-upload-item-summary>div:first-child{display:flex;flex-direction:column;gap:4px;flex:1 1}.documents-upload-progress{width:100%;height:8px;border-radius:999px;background:rgba(148,163,184,.18);overflow:hidden}.documents-upload-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d4ed8,#22c55e);transition:width .16s ease}.documents-upload-metadata-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.documents-upload-description{width:100%}.documents-upload-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:.82rem;border:1px solid var(--color-border)}.documents-upload-status-pending{background:rgba(59,130,246,.12)}.documents-upload-status-uploading{background:rgba(245,158,11,.14)}.documents-upload-status-success{background:rgba(34,197,94,.14)}.documents-upload-status-error{background:rgba(239,68,68,.16)}.documents-snackbar{position:fixed;right:18px;bottom:18px;z-index:220;background:rgba(2,132,199,.95);color:white;border-radius:999px;padding:10px 16px;box-shadow:0 14px 34px rgba(2,132,199,.35)}@media (max-width:980px){.budget-form,.budget-period-fields,.budget-summary-grid,.documents-explorer-layout,.documents-explorer-list-controls,.documents-explorer-workspace,.documents-search-form,.documents-upload-category-grid,.documents-upload-modal-grid,.finance-budget-progress-meta,.finance-goals-form,.transaction-filters,.transaction-form-section,.transaction-form-section+.transaction-form-section,.transaction-suggestion-list{grid-template-columns:1fr}.documents-explorer{position:static}.documents-unassigned-actions{grid-template-columns:1fr}.finance-analysis-filters,.finance-forecasts-filters,.finance-forecasts-simulation-grid{grid-template-columns:1fr 1fr}.documents-library-header,.documents-library-list li,.documents-page-header,.documents-upload-header,.documents-upload-item-summary{flex-direction:column}.documents-upload-metadata-grid{grid-template-columns:1fr}.documents-upload-modal{width:min(980px,calc(100vw - 14px));max-height:calc(100vh - 16px)}.finance-category-visuals,.finance-year-chart-row{grid-template-columns:1fr}.budget-form-actions{height:auto}}@media (max-width:560px){.documents-mobile-toolbar{display:flex;flex-wrap:wrap;gap:8px}.documents-mobile-toolbar-copy{align-items:flex-start;min-width:0;margin-left:auto}.documents-mobile-toolbar-copy strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documents-explorer{display:none}.documents-explorer-open{display:flex}.documents-explorer-content{gap:18px}.documents-explorer-preview{display:none}.documents-explorer-preview-open{display:flex;position:fixed;inset:64px 10px 10px;z-index:120;overflow:auto;background:rgba(2,6,23,.98)}.documents-preview-pdf{min-height:340px}.finance-header{align-items:flex-start;flex-direction:column;gap:12px}.transaction-totals{grid-template-columns:1fr}.budget-group-edit-form,.budget-group-header,.budget-item-edit-form,.budget-row,.transaction-row{align-items:flex-start;flex-direction:column}.budget-group-edit-form,.budget-item-edit-form{grid-template-columns:1fr}.budget-group-progress{padding:12px 16px 2px}.finance-budget-progress-header{align-items:flex-start;flex-direction:column}.finance-budget-progress-header span{align-self:flex-start}.finance-analysis-filters,.finance-forecasts-filters,.finance-forecasts-simulation-grid{grid-template-columns:1fr}.finance-recurring-list li,.finance-recurring-list-actions{align-items:flex-start;flex-direction:column}.documents-upload-item-toolbar{width:100%;justify-content:space-between}.documents-upload-modal-footer{justify-content:stretch}.documents-upload-modal-footer .ui-button{flex:1 1}.documents-snackbar{right:12px;left:12px;bottom:12px;border-radius:var(--radius-md);text-align:center}}