:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#0f100d;--foreground:#eee7d8;--muted:#aaa191;--border:#38352d;--surface:#171711;--surface-raised:#202018;--accent:#b89549;--accent-strong:#d0af63;--accent-soft:#312817;--accent-border:#755d2e;--danger:#e18b78;--danger-soft:#351d19;--danger-border:#7f4438;--info:#8ca5c7;--info-soft:#1a2431;--info-border:#394a61;--warning-soft:#322712}*{box-sizing:border-box}html,body{min-height:100%;overflow-x:hidden}body{background:var(--background);color:var(--foreground);margin:0;font-family:Arial,Helvetica,sans-serif}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a{color:inherit}.app-shell{min-height:100vh;padding:32px}.workspace{border:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(220px,280px) minmax(0,1fr);min-width:0;min-height:calc(100vh - 64px);display:grid;box-shadow:0 24px 80px #0000005c}.sidebar{border-right:1px solid var(--border);align-self:start;height:calc(100vh - 64px);padding:24px;position:sticky;top:32px;overflow-y:auto}.sidebar-header{display:block}.brand-logo{width:176px;max-width:100%;color:var(--accent-strong);margin:0 0 24px;text-decoration:none;display:inline-flex}.brand-logo:focus-visible{outline:2px solid var(--accent-border);outline-offset:4px;border-radius:6px}.brand-logo-mark{width:100%;height:auto;display:block}.mobile-nav-details,.mobile-header-actions,.mobile-quick-action{display:none}.mobile-menu-button{list-style:none}.mobile-menu-button::-webkit-details-marker{display:none}.nav-primary-action{border:1px solid var(--accent-border);background:linear-gradient(135deg, var(--accent-strong), var(--accent));color:#11100d;border-radius:8px;justify-content:center;align-items:center;min-height:46px;margin:0 0 18px;font-size:15px;font-weight:800;text-decoration:none;display:flex;box-shadow:0 12px 28px #b8954933}.nav-primary-action:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.nav-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.nav-item,.nav-link{min-height:42px;color:var(--muted);border-radius:6px;align-items:center;padding:10px 12px;font-size:14px;text-decoration:none;display:flex}.nav-link{width:100%}.nav-item.active,.nav-link.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.main{min-width:0;padding:32px}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.eyebrow{color:var(--accent-strong);text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}h1{letter-spacing:0;margin:0;font-size:32px;line-height:1.2}.summary{max-width:680px;color:var(--muted);margin:12px 0 0;line-height:1.6}.action-row{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.primary-link,.secondary-link,.primary-button,.secondary-button,.danger-button{min-height:42px;font:inherit;cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.primary-link,.primary-button{border:1px solid var(--accent-border);background:var(--accent);color:#11100d}.secondary-link,.secondary-button{border:1px solid var(--border);background:var(--surface-raised);color:var(--foreground)}.danger-button{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger)}.primary-button,.secondary-button{width:100%}.status-pill{border:1px solid var(--border);color:var(--accent-strong);border-radius:999px;flex:none;padding:8px 12px;font-size:13px;font-weight:700}.panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.panel{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;min-height:148px;padding:20px}.panel h2{letter-spacing:0;margin:0 0 12px;font-size:16px}.panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.panel-note{color:var(--accent-strong)!important;margin-bottom:12px!important;font-size:12px!important}.cockpit-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.cockpit-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;align-content:start;gap:10px;min-height:154px;padding:18px;display:grid}.cockpit-card-primary{border-color:var(--accent-border);background:linear-gradient(135deg,#322817,#211d13)}.cockpit-card p,.cockpit-card span{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.cockpit-card small{color:var(--muted);margin:-4px 0 0;font-size:12px;line-height:1.4}.cockpit-card-primary p,.cockpit-card-primary span,.cockpit-card-primary small{color:var(--accent-strong)}.cockpit-card strong{color:var(--foreground);letter-spacing:0;font-size:28px;line-height:1.15}.asset-total-section{border:1px solid var(--accent-border);background:linear-gradient(135deg, #b8954938, #202018eb), var(--surface-raised);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);align-items:end;gap:24px;margin-bottom:16px;padding:24px;display:grid}.asset-total-section p,.asset-total-section span,.asset-total-section dl,.asset-total-section dd{margin:0}.asset-total-section p,.asset-total-section span,.asset-total-section dt{color:var(--muted);font-size:13px;line-height:1.5}.asset-total-section strong{color:var(--foreground);letter-spacing:0;margin:8px 0;font-size:clamp(34px,5vw,54px);line-height:1.05;display:block}.asset-total-section dl{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.asset-total-section dl div{border:1px solid var(--border);background:#0f100d5c;border-radius:8px;gap:4px;padding:12px;display:grid}.asset-total-section dd{color:var(--accent-strong);overflow-wrap:anywhere;font-size:16px;font-weight:700}.dashboard-lower-grid{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px;display:grid}.category-ranking{gap:10px;margin:0;padding:0;list-style:none;display:grid}.category-ranking li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:10px;display:grid}.category-ranking li:last-child{border-bottom:0;padding-bottom:0}.category-ranking span{min-width:0;color:var(--foreground);overflow-wrap:anywhere;font-size:14px}.category-ranking strong{color:var(--danger);font-size:14px}.income-expense-chart-section{gap:20px;margin-bottom:16px;display:grid}.chart-section-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.chart-section-header h2,.chart-section-header p,.chart-total span,.chart-total strong{margin:0}.chart-section-header p{margin-top:8px}.chart-total{text-align:right;gap:4px;display:grid}.chart-total span,.income-expense-pie-center span,.income-expense-legend small,.chart-balance-line span{color:var(--muted);font-size:13px}.chart-total strong{color:var(--foreground);font-size:20px}.income-expense-chart-layout{grid-template-columns:minmax(180px,240px) minmax(0,1fr);align-items:center;gap:24px;display:grid}.income-expense-pie{aspect-ratio:1;border:1px solid var(--border);border-radius:50%;place-items:center;width:min(240px,100%);display:grid;position:relative}.income-expense-pie:after{border:1px solid var(--border);background:var(--surface-raised);content:"";border-radius:50%;position:absolute;inset:21%}.income-expense-pie-center{z-index:1;text-align:center;gap:4px;max-width:120px;display:grid;position:relative}.income-expense-pie-center strong{color:var(--foreground);font-size:18px;line-height:1.2}.income-expense-legend{gap:12px;display:grid}.chart-balance-line{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding-bottom:12px;display:flex}.chart-balance-line strong{color:var(--accent-strong)}.income-expense-legend ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.income-expense-legend li{grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.chart-swatch{border-radius:50%;width:12px;height:12px}.income-expense-legend li div{gap:3px;min-width:0;display:grid}.income-expense-legend li strong{color:var(--foreground);overflow-wrap:anywhere;font-size:14px}.income-expense-legend b{color:var(--foreground);text-align:right;font-size:14px;font-weight:700}.chart-warning{border:1px solid var(--danger-border);background:var(--danger-soft);border-radius:6px;padding:10px 12px;color:var(--danger)!important}.chart-empty-state{gap:8px;display:grid}.chart-empty-state strong{font-size:16px}.chart-empty-state p{margin:0}.period-filter{flex-wrap:wrap;gap:8px;margin:-8px 0 20px;display:flex}.period-filter-link{border:1px solid var(--border);background:var(--surface-raised);min-height:38px;color:var(--muted);border-radius:999px;align-items:center;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.period-filter-link.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.asset-trend-summary-grid{grid-template-columns:1.25fr repeat(3,minmax(0,.85fr));gap:16px;margin-bottom:16px;display:grid}.cockpit-card strong.positive,.asset-trend-stats dd.positive{color:var(--accent-strong)}.cockpit-card strong.negative,.asset-trend-stats dd.negative{color:var(--danger)}.cockpit-card strong.neutral,.asset-trend-stats dd.neutral{color:var(--foreground)}.asset-trend-main-panel{gap:20px;margin-bottom:16px;display:grid}.asset-trend-chart-shell{gap:10px;display:grid}.asset-trend-chart{width:100%;min-height:220px;display:block}.asset-trend-chart-shell.compact .asset-trend-chart{min-height:170px}.asset-trend-grid-line{stroke:var(--border);stroke-width:1px}.asset-trend-zero-line{fill:none;stroke:#eee7d83d;stroke-dasharray:8 8;stroke-width:1.2px}.asset-trend-line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.asset-trend-chart-shell.compact .asset-trend-line{stroke-width:3px}.asset-trend-latest-point{stroke:var(--surface-raised);stroke-width:3px}.asset-trend-axis{color:var(--muted);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;font-size:12px;display:grid}.asset-trend-axis strong{color:var(--foreground);text-align:center;font-size:14px}.asset-trend-axis span:last-child{text-align:right}.asset-trend-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.asset-trend-card{gap:16px;display:grid}.asset-trend-card-header{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.asset-trend-card-header h2,.asset-trend-card-header p,.asset-trend-card-balance span,.asset-trend-card-balance strong,.asset-trend-stats,.asset-trend-stats dd{margin:0}.asset-trend-card-balance{text-align:right;gap:4px;display:grid}.asset-trend-card-balance span,.asset-trend-stats dt{color:var(--muted);font-size:12px}.asset-trend-card-balance strong{color:var(--foreground);font-size:18px}.asset-trend-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.asset-trend-stats div{border:1px solid var(--border);background:var(--surface);border-radius:8px;gap:4px;padding:10px;display:grid}.asset-trend-stats dd{color:var(--foreground);overflow-wrap:anywhere;font-size:14px;font-weight:700}.recurring-summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin-bottom:16px;display:grid}.recurring-list{gap:12px;display:grid}.recurring-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;gap:14px;padding:16px;display:grid}.recurring-row.candidate{border-color:var(--accent-border);background:var(--warning-soft)}.recurring-main{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.recurring-status{background:var(--info-soft);width:fit-content;color:var(--info);border-radius:999px;margin:0 0 8px;padding:4px 8px;font-size:12px;font-weight:700}.recurring-row.candidate .recurring-status{background:var(--accent-soft);color:var(--accent-strong)}.recurring-main h2{letter-spacing:0;margin:0;font-size:17px}.recurring-main p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.recurring-money{text-align:right;gap:6px;display:grid}.recurring-money strong{font-size:20px}.recurring-money span{color:var(--muted);font-size:13px}.recurring-actions{flex-wrap:wrap;gap:10px;display:flex}.recurring-actions form{min-width:148px}.wishlist-summary-grid{grid-template-columns:1.2fr repeat(2,minmax(0,.8fr));gap:16px;min-width:0;margin-bottom:16px;display:grid}.wishlist-forms-grid{grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:16px;min-width:0;margin-bottom:16px;display:grid}.wishlist-form{align-content:start;gap:16px;display:grid}.wishlist-form h2{letter-spacing:0;margin:0;font-size:18px}.wishlist-folder-section{gap:16px;min-width:0;display:grid}.wishlist-filter-panel{background:#b895491a;border:1px solid #b895496b;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:16px;display:flex}.wishlist-filter-panel>div{min-width:0}.wishlist-filter-panel p,.wishlist-filter-panel span{margin:0}.wishlist-filter-panel p{color:var(--muted);font-size:13px;font-weight:700}.wishlist-filter-panel span{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.5;display:block}.wishlist-filter-chip-list{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.wishlist-filter-chip-list span{max-width:100%;color:var(--foreground);overflow-wrap:anywhere;background:#b895491f;border:1px solid #b8954980;border-radius:999px;align-items:center;margin:0;padding:5px 9px;font-size:13px;font-weight:700;line-height:1.35;display:inline-flex}.wishlist-folder{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;gap:14px;min-width:0;padding:18px;display:grid}.wishlist-folder>header{border-bottom:1px solid var(--border);gap:16px;padding-bottom:14px;display:grid}.wishlist-folder:not(.wishlist-folder-open)>header{border-bottom:0;padding-bottom:0}.wishlist-folder-header-button{width:100%;min-width:0;color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:16px;padding:0;display:flex}.wishlist-folder-header-button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.wishlist-folder h2,.wishlist-folder p,.wishlist-item h3,.wishlist-item p,.wishlist-empty-text{margin:0}.wishlist-folder header p,.wishlist-item p,.wishlist-empty-text{color:var(--muted);font-size:14px;line-height:1.5}.wishlist-folder h2{letter-spacing:0;margin-top:4px;font-size:20px}.wishlist-folder-title{min-width:0}.wishlist-folder-title-row{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.wishlist-folder-total{color:var(--muted);align-items:baseline;gap:6px;font-size:12px;line-height:1.4;display:inline-flex}.wishlist-folder-total strong{overflow-wrap:anywhere;font-size:13px}.wishlist-folder-category-totals{flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.wishlist-folder-category-totals li{min-width:0;max-width:100%;font-size:12px;line-height:1.35}.wishlist-folder-category-link{border:1px solid var(--border);background:var(--surface);min-width:0;max-width:100%;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;text-decoration:none;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.wishlist-folder-category-link:hover,.wishlist-folder-category-link:focus-visible,.wishlist-folder-category-link-active{color:var(--foreground);background:#b8954924;border-color:#b8954994;outline:none}.wishlist-folder-category-link span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wishlist-folder-category-link strong{overflow-wrap:anywhere;flex:none;font-size:12px}.wishlist-folder header strong{color:var(--accent-strong)}.wishlist-folder-meta{justify-items:end;gap:10px;min-width:0;display:grid}.wishlist-folder-disclosure{width:34px;height:34px;color:var(--accent-strong);background:#b895491f;border:1px solid #b895497a;border-radius:999px;justify-content:center;align-items:center;font-size:18px;font-weight:700;line-height:1;transition:border-color .15s,background .15s;display:inline-flex}.wishlist-folder-header-button:hover .wishlist-folder-disclosure,.wishlist-folder-header-button:focus-visible .wishlist-folder-disclosure{border-color:var(--accent);background:#b8954933}.wishlist-folder-panel{gap:12px;display:grid}.wishlist-folder-management{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.wishlist-folder-edit-form{grid-template-columns:minmax(120px,180px) auto;gap:8px;display:grid}.wishlist-folder-edit-form input{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--foreground);border-radius:6px;padding:10px 12px}.wishlist-item-list{gap:10px;display:grid}.wishlist-item{border:1px solid var(--border);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(180px,auto);align-items:start;gap:16px;min-width:0;padding:14px;display:grid}.wishlist-item-display{min-width:0}.wishlist-item h3{letter-spacing:0;font-size:17px}.wishlist-item p{margin-top:6px}.wishlist-detail-category-section{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:12px}.wishlist-money-row{grid-template-columns:minmax(0,1fr) 120px 96px;align-items:end;gap:10px;display:grid}.wishlist-item-url{color:var(--accent-strong);overflow-wrap:anywhere;font-weight:700}.wishlist-merchant-link{color:var(--accent-strong);font-weight:700;text-decoration:none}.wishlist-merchant-link:hover,.wishlist-merchant-link:focus-visible{text-decoration:underline}.wishlist-item-actions{justify-items:end;gap:10px;min-width:0;display:grid}.wishlist-item-actions .primary-link,.wishlist-item-actions .secondary-button{width:min(160px,100%)}.wishlist-item-edit-form{gap:10px;display:grid}.wishlist-item-delete-form{display:grid}.wishlist-item-modal-backdrop{z-index:40;background:#000000ad;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.wishlist-item-modal{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;gap:16px;width:min(100%,640px);max-height:calc(100vh - 48px);padding:20px;display:grid;overflow-y:auto;box-shadow:0 24px 80px #00000070}.wishlist-item-modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.wishlist-item-modal-header p,.wishlist-item-modal-header h2{margin:0}.wishlist-item-modal-header p{color:var(--accent-strong);font-size:13px;font-weight:700}.wishlist-item-modal-header h2{letter-spacing:0;margin-top:4px;font-size:22px}.wishlist-item-modal-close{border:1px solid var(--border);background:var(--surface);width:42px;height:42px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:6px;flex:none;place-items:center;font-size:24px;line-height:1;display:inline-grid}.wishlist-item-modal-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wishlist-item-actions strong{color:var(--foreground);font-size:18px}.wishlist-item-actions small{color:var(--muted);text-align:right;font-size:12px}.auth-shell{background:var(--background);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{border:1px solid var(--border);background:var(--surface);border-radius:8px;width:min(100%,440px);padding:28px}.auth-panel form{margin-top:24px}.auth-error{border:1px solid var(--danger-border);background:var(--danger-soft);color:var(--danger);border-radius:6px;margin:20px 0 0;padding:12px;font-size:14px;line-height:1.5}.success-message{border:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-strong);border-radius:6px;margin:20px 0 0;padding:12px;font-size:14px;line-height:1.5}.transaction-main{padding-bottom:96px}.transaction-form,.settings-form{gap:16px;width:100%;min-width:0;max-width:560px;display:grid}.settings-form{margin-bottom:24px}.settings-submit{max-width:180px}.type-selector{border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.type-selector label{min-height:52px;display:grid}.type-selector input{opacity:0;pointer-events:none;position:absolute}.type-selector span{border:1px solid var(--border);background:var(--surface-raised);color:var(--foreground);border-radius:8px;place-items:center;font-size:15px;font-weight:700;display:grid}.type-selector input:checked+span{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-strong)}.transfer-fields{border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:16px;display:grid}.transfer-fields legend{color:var(--accent-strong);padding:0 6px;font-size:14px;font-weight:700}.field{gap:8px;min-width:0;display:grid}.field span,.field>label{color:var(--foreground);font-size:14px;font-weight:700}.field input,.field textarea,.field select{border:1px solid var(--border);background:var(--surface-raised);width:100%;min-width:0;max-width:100%;color:var(--foreground);font:inherit;border-radius:8px;font-size:16px}.field input,.field select{min-height:52px;padding:0 14px}.field input[type=date]{height:52px;appearance:none;min-inline-size:0;line-height:52px;display:block}.field input[type=date]::-webkit-date-and-time-value{text-align:left;min-width:0;line-height:52px}.field input[type=number][name*=amount],.field input[type=number][name*=balance]{appearance:textfield}.field input[type=number][name*=amount]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number][name*=amount]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field input[type=number][name*=balance]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field input[type=number][name*=balance]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.field textarea{resize:vertical;padding:14px;line-height:1.5}.field-help,.field-error{font-size:12px;line-height:1.5}.field-help{color:var(--muted)}.field-error{color:var(--danger)}.field input[type=file]{align-items:center;padding:12px 14px;display:flex}.transaction-image-current{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;gap:10px;padding:12px;display:grid}.transaction-image-current>span{color:var(--foreground);font-size:14px;font-weight:700}.transaction-image-preview-button{width:fit-content;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;display:inline-grid}.transaction-image-preview-button img{border:1px solid var(--border);object-fit:cover;border-radius:8px;width:min(100%,220px);max-height:180px}.transaction-image-current label{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.transaction-image-current input{width:18px;height:18px;accent-color:var(--accent)}.transaction-image-thumb{width:fit-content;color:var(--accent-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin-top:4px;padding:0;font-size:13px;font-weight:700;display:inline-flex}.transaction-image-thumb img{border:1px solid var(--border);object-fit:cover;border-radius:8px;width:42px;height:42px}.transaction-image-thumb:hover,.transaction-image-thumb:focus-visible,.transaction-image-preview-button:hover,.transaction-image-preview-button:focus-visible{color:var(--accent-strong);outline:2px solid var(--accent-border);outline-offset:4px}.transaction-image-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000c7;place-items:center;padding:clamp(12px,3vw,28px);display:grid;position:fixed;inset:0}.transaction-image-overlay-panel{border:1px solid var(--border);background:var(--background);border-radius:8px;grid-template-rows:auto minmax(0,1fr);width:min(100%,1100px);max-height:min(92dvh,900px);display:grid;overflow:hidden;box-shadow:0 24px 80px #00000080}.transaction-image-overlay-header{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.transaction-image-overlay-header h2{min-width:0;color:var(--foreground);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.4}.transaction-image-overlay-close{border:1px solid var(--border);background:var(--surface-raised);min-height:36px;color:var(--foreground);font:inherit;cursor:pointer;border-radius:6px;flex:none;padding:0 12px;font-size:13px;font-weight:700}.transaction-image-overlay-close:hover,.transaction-image-overlay-close:focus-visible{border-color:var(--accent-border);color:var(--accent-strong);outline:none}.transaction-image-overlay-frame{background:#080806;place-items:center;min-height:0;padding:clamp(10px,2vw,20px);display:grid;overflow:auto}.transaction-image-overlay-frame img{object-fit:contain;border-radius:6px;width:auto;max-width:100%;height:auto;max-height:calc(92dvh - 96px);display:block}.suggest-field{position:relative}.suggestion-list{z-index:20;border:1px solid var(--accent-border);background:var(--surface-raised);border-radius:8px;max-height:220px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 18px 44px #00000061}.suggestion-option{width:100%;min-height:44px;color:var(--foreground);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:2px;padding:6px 10px;font-size:15px;display:grid}.suggestion-option small{color:var(--muted);font-size:12px}.suggestion-option:hover,.suggestion-option:focus-visible{background:var(--accent-soft);color:var(--accent-strong);outline:none}.suggestion-option:hover small,.suggestion-option:focus-visible small{color:var(--accent-strong)}.asset-balance-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.asset-balance-list li{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:10px;display:grid}.asset-balance-list li:last-child{border-bottom:0;padding-bottom:0}.asset-balance-list span{min-width:0;color:var(--foreground);overflow-wrap:anywhere;font-size:14px}.asset-balance-list strong{color:var(--accent-strong);font-size:14px}.accounts-summary-grid{grid-template-columns:1.2fr repeat(2,minmax(0,.8fr));gap:16px;margin-bottom:16px;display:grid}.account-total-card strong{font-size:32px}.accounts-layout{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.accounts-panel,.accounts-transactions{gap:16px;display:grid}.accounts-panel-header,.account-transaction-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.accounts-panel-header h2,.accounts-panel-header p,.account-transaction-header h2,.account-transaction-header p{margin:0}.accounts-panel-header h2,.account-transaction-header h2{letter-spacing:0;margin-top:4px;font-size:20px}.account-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.account-link{border:1px solid var(--border);background:var(--surface);color:var(--foreground);border-radius:8px;gap:8px;padding:12px;text-decoration:none;display:grid}.account-link:hover,.account-link:focus-visible,.account-link.active{border-color:var(--accent-border);background:var(--accent-soft);outline:none}.account-link-main{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.account-link-main span{overflow-wrap:anywhere;min-width:0}.account-link-main strong{color:var(--accent-strong);font-size:15px}.account-movement{color:var(--muted);flex-wrap:wrap;gap:6px 10px;font-size:12px;display:flex}.bottom-action-bar{background:linear-gradient(180deg, #0f100d00, var(--surface) 28%);margin-top:8px;padding:12px 0 0;display:grid;position:sticky;bottom:0}.large-button{min-height:56px;font-size:16px}.primary-button:disabled,.secondary-button:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed;background:#22231e}.transaction-list{gap:10px;display:grid}.transaction-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;grid-template-columns:132px minmax(0,1fr) minmax(120px,auto) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.transaction-date{color:var(--muted);gap:6px;font-size:13px;display:grid}.transaction-type{border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px}.transaction-type.expense{background:var(--danger-soft);color:var(--danger)}.transaction-type.income{background:var(--accent-soft);color:var(--accent-strong)}.transaction-type.transfer{background:var(--info-soft);color:var(--info)}.transaction-detail h2{letter-spacing:0;margin:0;font-size:16px}.transaction-detail p{color:var(--muted);margin:6px 0 0;font-size:14px;line-height:1.5}.transaction-amount{text-align:right;margin:0;font-size:18px;font-weight:700}.transaction-amount.expense{color:var(--danger)}.transaction-amount.income{color:var(--accent-strong)}.transaction-amount.transfer{color:var(--info)}.transaction-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.transaction-actions form{margin:0}.transaction-actions .secondary-link,.transaction-actions .danger-button{min-width:72px}.transaction-delete-form{max-width:560px;margin-top:16px;display:grid}.empty-state{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;gap:12px;max-width:520px;padding:24px;display:grid}.empty-state h2,.empty-state p{margin:0}.empty-state p{color:var(--muted);line-height:1.6}.cycle-summary{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;max-width:680px;padding:20px}.cycle-summary h2{letter-spacing:0;margin:0 0 16px;font-size:18px}.cycle-summary dl{gap:12px;margin:0;display:grid}.cycle-summary div{grid-template-columns:120px minmax(0,1fr);gap:16px;display:grid}.cycle-summary dt{color:var(--muted);font-size:14px}.cycle-summary dd{margin:0;font-weight:700}.import-form{max-width:720px}.import-mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.import-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.import-commit-form{max-width:260px;margin:0 0 20px}.import-preview-list,.import-error-list{gap:10px;display:grid}.import-preview-row,.import-error-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;grid-template-columns:148px minmax(0,1fr);gap:16px;padding:14px 16px;display:grid}.import-preview-row.duplicate{border-color:var(--accent-border);background:var(--warning-soft)}.import-preview-row.error,.import-error-row{border-color:var(--danger-border);background:var(--danger-soft)}.import-row-heading{color:var(--muted);align-content:start;gap:8px;font-size:13px;display:grid}.import-row-heading strong{background:var(--info-soft);width:fit-content;color:var(--info);border-radius:999px;padding:4px 8px;font-size:12px}.import-preview-row.duplicate .import-row-heading strong{background:var(--accent-soft);color:var(--accent-strong)}.import-preview-row.error .import-row-heading strong{color:var(--danger);background:#4a231d}.import-row-body{gap:6px;min-width:0;display:grid}.import-row-body h2,.import-row-body p,.import-row-body strong,.import-errors h2,.import-error-row p{margin:0}.import-row-body h2{letter-spacing:0;overflow-wrap:anywhere;font-size:16px}.import-row-body p,.import-error-row p{color:var(--muted);overflow-wrap:anywhere;font-size:14px;line-height:1.5}.import-row-body strong{font-size:17px}.import-errors{margin-top:24px}.import-errors h2{letter-spacing:0;margin-bottom:12px;font-size:18px}.import-error-row strong{color:var(--danger)}.monthly-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:16px;display:grid}.review-comments{gap:10px;margin:0;padding-left:20px;display:grid}.review-comments li{color:var(--foreground);font-size:14px;line-height:1.6}.monthly-category-section{margin-top:16px}.monthly-category-section h2{letter-spacing:0;margin:0 0 12px;font-size:18px}.monthly-category-list{gap:10px;display:grid}.monthly-category-row{border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:14px 16px;display:grid}.monthly-category-row h3,.monthly-category-row p{margin:0}.monthly-category-row h3{letter-spacing:0;font-size:16px}.monthly-category-row p{color:var(--muted);margin-top:6px;font-size:14px;line-height:1.5}.monthly-category-money{text-align:right;gap:6px;display:grid}.monthly-category-money strong{font-size:18px}.monthly-category-money span{color:var(--muted);font-size:13px}@media (max-width:860px){.app-shell{padding:10px}.workspace{grid-template-columns:1fr;width:100%;padding-top:73px}.main{padding:22px 14px}.sidebar{z-index:60;border:1px solid var(--border);background:var(--surface);width:auto;height:auto;padding:14px;transition:opacity .16s,visibility .16s;position:fixed;top:10px;left:10px;right:10px;overflow:visible}.sidebar.mobile-header-transparent{visibility:hidden;opacity:0;pointer-events:none}.sidebar-header{justify-content:space-between;align-items:center;gap:14px;display:flex;position:relative}.brand-logo{flex:auto;width:auto;min-width:0;max-width:148px;margin:0}.desktop-nav-section{display:none}.mobile-header-actions{flex:none;align-items:center;gap:8px;display:flex}.mobile-quick-action{border:1px solid var(--accent-border);background:var(--accent);color:#11100d;border-radius:8px;place-items:center;width:44px;height:44px;text-decoration:none;display:grid;box-shadow:0 12px 28px #b8954929}.mobile-quick-action:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.mobile-quick-action-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;width:20px;height:20px}.mobile-nav-details{flex:none;display:block}.mobile-menu-button{border:1px solid var(--accent-border);background:var(--surface-raised);width:44px;height:44px;color:var(--accent-strong);cursor:pointer;border-radius:8px;place-items:center;display:grid}.mobile-menu-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:3px}.mobile-menu-icon,.mobile-menu-icon:before,.mobile-menu-icon:after{content:"";background:currentColor;border-radius:999px;width:18px;height:2px;display:block}.mobile-menu-icon{position:relative}.mobile-menu-icon:before,.mobile-menu-icon:after{position:absolute;left:0}.mobile-menu-icon:before{top:-6px}.mobile-menu-icon:after{top:6px}.mobile-nav-details[open] .mobile-menu-button{background:var(--accent-soft)}.mobile-nav-panel{z-index:50;border:1px solid var(--border);background:var(--surface-raised);border-radius:8px;padding:12px;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:0 18px 48px #0000007a}.mobile-nav-panel .nav-list{gap:6px}.page-header{gap:16px;display:grid}.page-header .summary{overflow-wrap:anywhere;max-width:100%}.status-pill{width:fit-content;max-width:100%}.chart-section-header,.asset-total-section,.income-expense-chart-layout,.asset-total-section dl{grid-template-columns:1fr}.chart-total,.income-expense-legend b,.asset-trend-card-balance{text-align:left}.income-expense-pie{width:min(220px,100%)}.income-expense-legend li{grid-template-columns:12px minmax(0,1fr)}.income-expense-legend b{grid-column:2}.panel-grid,.cockpit-grid,.accounts-summary-grid,.asset-trend-summary-grid,.asset-trend-grid,.accounts-layout,.dashboard-lower-grid,.recurring-summary-grid,.wishlist-summary-grid,.wishlist-forms-grid,.import-summary-grid,.import-mapping-grid,.monthly-summary-grid{grid-template-columns:1fr}.header-actions{justify-content:flex-start}.import-commit-form{max-width:none}.import-preview-row,.import-error-row,.monthly-category-row,.wishlist-item{grid-template-columns:1fr}.wishlist-item-actions{justify-items:start}.wishlist-summary-grid .cockpit-card,.wishlist-forms-grid .panel,.wishlist-folder{padding:14px}.wishlist-summary-grid .cockpit-card strong{overflow-wrap:anywhere;font-size:clamp(24px,8vw,30px)}.wishlist-filter-panel{gap:12px;padding:14px}.wishlist-filter-chip-list span,.wishlist-folder-category-link{white-space:normal}.wishlist-folder-title-row{gap:6px;display:grid}.wishlist-folder>header,.wishlist-filter-panel,.wishlist-folder-header-button,.wishlist-folder-edit-form{grid-template-columns:1fr;display:grid}.wishlist-folder-meta{justify-items:start}.wishlist-folder-management{justify-content:flex-start}.wishlist-item-actions small{text-align:left}.accounts-panel-header,.account-transaction-header,.asset-trend-card-header,.asset-trend-stats{grid-template-columns:1fr;display:grid}.account-link-main,.wishlist-money-row{grid-template-columns:1fr}.transaction-image-overlay{align-items:stretch;padding:10px}.transaction-image-overlay-panel{width:100%;max-height:calc(100dvh - 20px)}.transaction-image-overlay-header{padding:10px 12px}.transaction-image-overlay-frame{padding:8px}.transaction-image-overlay-frame img{max-height:calc(100dvh - 92px)}.wishlist-item-modal-backdrop{align-items:start;padding:16px}.wishlist-item-modal{max-height:none}.wishlist-item-modal-actions{grid-template-columns:1fr}.monthly-category-money{text-align:left}.recurring-main{grid-template-columns:1fr}.recurring-money{text-align:left}.compact-shell{padding-inline:10px}.transaction-form,.settings-form{max-width:none}.transfer-fields{grid-template-columns:1fr}.settings-submit{max-width:none}.cycle-summary div{grid-template-columns:1fr;gap:4px}.transaction-row{grid-template-columns:1fr;gap:10px}.transaction-amount,.transaction-actions{text-align:left;justify-content:flex-start}}
