/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer utilities{.visible{visibility:visible}.table{display:table}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{color-scheme:light dark;--color-primary:#1e40af;--color-primary-hover:#1e3a8a;--color-on-primary:#fff;--color-accent:#059669;--color-background:#f8fafc;--color-surface:#fff;--color-foreground:#0f172a;--color-muted-foreground:#64748b;--color-border:#0f172a1f;--color-destructive:#dc2626;--color-ring:#1e40af;--series-1:#2a78d6;--series-2:#1baf7a;--series-3:#eda100;--series-4:#008300;--series-5:#4a3aa7;--series-6:#e34948;--series-7:#e87ba4;--series-8:#eb6834}@media (prefers-color-scheme:dark){:root{--color-primary:#3b82f6;--color-primary-hover:#60a5fa;--color-on-primary:#0f172a;--color-background:#0f172a;--color-surface:#101a34;--color-foreground:#f8fafc;--color-muted-foreground:#94a3b8;--color-border:#ffffff14;--color-ring:#3b82f6;--series-1:#3987e5;--series-2:#199e70;--series-3:#c98500;--series-4:#008300;--series-5:#9085e9;--series-6:#e66767;--series-7:#d55181;--series-8:#d95926}}*{box-sizing:border-box}body{background:var(--color-background);color:var(--color-foreground);margin:0;font-family:IBM Plex Sans,system-ui,sans-serif}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;flex-direction:column;gap:.375rem;width:22rem;max-width:100%;padding:2.5rem;display:flex;box-shadow:0 1px 3px #0f172a14}.login-form h1{margin:0 0 1.5rem;font-size:1.375rem;font-weight:600}.login-form label{color:var(--color-muted-foreground);margin-top:.75rem;font-size:.875rem;font-weight:500}.login-form input{color:var(--color-foreground);background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem;padding:.625rem .75rem;font-family:inherit;font-size:1rem;transition:border-color .15s}.login-form input:focus-visible{border-color:var(--color-primary)}.login-form button{color:var(--color-on-primary);background:var(--color-primary);cursor:pointer;border:none;border-radius:.5rem;margin-top:1.25rem;padding:.7rem;font-size:1rem;font-weight:600;transition:background-color .15s,opacity .15s}.login-form button:hover:not(:disabled){background:var(--color-primary-hover)}.login-form button:disabled{opacity:.6;cursor:default}.login-error{color:var(--color-destructive);margin:.5rem 0 0;font-size:.875rem}.app-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex}.app-header-left{align-items:center;gap:2rem;display:flex}.app-header h1{margin:0;font-size:1.25rem;font-weight:600}.app-header nav{gap:1.25rem;display:flex}.app-header nav a{color:var(--color-muted-foreground);border-bottom:2px solid #0000;padding-bottom:.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .15s}.app-header nav a:hover{color:var(--color-foreground)}.app-header nav a[aria-current=page]{color:var(--color-foreground);border-bottom-color:var(--color-primary)}.app-header-right{align-items:center;gap:.875rem;display:flex}.app-header span{color:var(--color-muted-foreground);font-size:.9rem}.app-header button{color:var(--color-foreground);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s}.app-header button:hover:not(:disabled){background:var(--color-background)}.app-header button:disabled{opacity:.6;cursor:default}.app-main{max-width:72rem;margin:0 auto;padding:2rem}.page-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.page-header h2{margin:0;font-size:1.375rem;font-weight:600}.app-main>section>h2{margin:0 0 1.25rem;font-size:1.375rem;font-weight:600}.app-main button{color:var(--color-on-primary);background:var(--color-primary);cursor:pointer;border:none;border-radius:.5rem;padding:.5rem .875rem;font-size:.875rem;font-weight:500;transition:background-color .15s,opacity .15s}.app-main button:hover:not(:disabled){background:var(--color-primary-hover)}.app-main button:disabled{opacity:.6;cursor:default}.row-actions{gap:.5rem;display:flex}.row-actions button{color:var(--color-foreground);border:1px solid var(--color-border);background:0 0}.row-actions button:hover:not(:disabled){background:var(--color-background)}.inline-form,.filter-bar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.25rem;padding:1.25rem;display:flex}.inline-form-row{background:0 0;border:none;margin:0;padding:0}.inline-form label,.filter-bar label{color:var(--color-muted-foreground);flex-direction:column;gap:.3rem;font-size:.8rem;font-weight:500;display:flex}.inline-form input,.inline-form select,.filter-bar input,.filter-bar select{color:var(--color-foreground);background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem;padding:.5rem .6rem;font-family:inherit;font-size:.9rem}.form-error{color:var(--color-destructive);flex-basis:100%;margin:0;font-size:.85rem}.data-table{border-collapse:collapse;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;width:100%;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:.75rem 1rem;font-size:.9rem}.data-table th{color:var(--color-muted-foreground);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:500}.data-table .nowrap{white-space:nowrap}.data-table .amount-cell{text-align:right;white-space:nowrap}.data-table .actions-col{white-space:nowrap;width:1%}.data-table tbody tr:last-child td{border-bottom:none}.data-table select{color:var(--color-foreground);background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem;padding:.4rem .5rem;font-family:inherit;font-size:.85rem}.detail-row td{background:var(--color-background);color:var(--color-muted-foreground);font-size:.85rem}.detail-row strong{color:var(--color-foreground)}.detail-row>div+div{margin-top:.5rem}.revert-transfer-action{align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.revert-transfer-action button{color:var(--color-destructive);border:1px solid var(--color-destructive);cursor:pointer;background:0 0;border-radius:.5rem;padding:.4rem .75rem;font-size:.8rem;font-weight:500}.revert-transfer-action button:hover:not(:disabled){background:var(--color-destructive);color:var(--color-on-primary)}.revert-transfer-action button:disabled{opacity:.6;cursor:default}.amount-positive{color:var(--color-accent);font-variant-numeric:tabular-nums}.amount-negative{color:var(--color-destructive);font-variant-numeric:tabular-nums}.type-badge{background:var(--color-background);border:1px solid var(--color-border);border-radius:999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.type-expense{color:var(--color-destructive)}.type-income{color:var(--color-accent)}.type-trade{color:var(--color-primary)}.type-transfer{color:var(--color-muted-foreground)}.step-indicator{gap:2rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.step-indicator li{color:var(--color-muted-foreground);border-bottom:2px solid var(--color-border);padding-bottom:.5rem;font-size:.85rem;font-weight:500}.step-indicator li.step-current{color:var(--color-foreground);border-bottom-color:var(--color-primary)}.step-indicator li.step-done{color:var(--color-accent)}.form-hint{color:var(--color-muted-foreground);flex-basis:100%;margin:0;font-size:.85rem}.account-type-legend{background:var(--color-background);border:1px solid var(--color-border);border-radius:.625rem;flex-basis:100%;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:.5rem 1.25rem;margin:0;padding:.75rem 1rem;display:grid}.account-type-legend-item{align-items:baseline;gap:.6rem;margin:0;display:flex}.account-type-legend-item dt{flex-shrink:0}.account-type-legend-item dd{color:var(--color-muted-foreground);margin:0;font-size:.85rem}.import-result{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1.5rem}.import-success{color:var(--color-accent);background:var(--color-background);border-radius:999px;align-items:center;gap:.5rem;margin:0 0 1.25rem;padding:.4rem .8rem;font-size:.85rem;font-weight:600;display:inline-flex}.import-success:before{content:"✓"}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:0 0 1.25rem;display:grid}.stat-tile{background:var(--color-background);border:1px solid var(--color-border);border-radius:.625rem;padding:1rem 1.25rem}.stat-tile dt{text-transform:uppercase;letter-spacing:.03em;color:var(--color-muted-foreground);margin:0 0 .35rem;font-size:.75rem;font-weight:500}.stat-tile dd{font-variant-numeric:tabular-nums;margin:0;font-size:1.5rem;font-weight:700}.import-result .form-hint{margin-bottom:1.25rem}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1.25rem;display:grid}.dashboard-grid>.chart-card:first-child,.chart-card--wide{grid-column:1/-1}.chart-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.75rem;padding:1.5rem}.chart-card-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.chart-card-header h3{margin:0;font-size:1.05rem;font-weight:600}.chart-card-header select{color:var(--color-foreground);background:var(--color-background);border:1px solid var(--color-border);border-radius:.5rem;padding:.4rem .6rem;font-family:inherit;font-size:.85rem}.month-nav{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.month-nav button{color:var(--color-foreground);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:.5rem;padding:.3rem .6rem;font-size:.85rem}.month-nav button:hover:not(:disabled){background:var(--color-background)}.month-nav button:disabled{opacity:.4;cursor:default}.month-nav span{text-align:center;min-width:5.5rem;font-weight:600}.chart-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;padding:.6rem .8rem;font-size:.8rem;box-shadow:0 2px 8px #0f172a1f}.chart-tooltip .chart-tooltip-label{color:var(--color-muted-foreground);margin:0 0 .35rem;font-weight:600}.chart-tooltip-row{align-items:center;gap:.4rem;margin:.15rem 0;display:flex}.chart-tooltip-swatch{border-radius:2px;flex-shrink:0;width:.6rem;height:.6rem}.chart-subheading{color:var(--color-muted-foreground);margin:1.25rem 0 .5rem;font-size:.85rem;font-weight:600}.goal-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem;display:grid}.goal-card .chart-card-header{margin-bottom:.5rem}.goal-progress-track{background:var(--color-background);border-radius:999px;width:100%;height:.6rem;margin:.5rem 0 1rem;overflow:hidden}.goal-progress-fill{border-radius:999px;height:100%;transition:width .3s}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
