.finance-page{display:flex;flex-direction:column;gap:1.5rem}.finance-tabs{display:flex;gap:.5rem;border-bottom:1px solid var(--border)}.finance-tab{background:none;border:none;color:var(--text-secondary);padding:.6rem 1rem;cursor:pointer;font-size:.95rem;border-bottom:2px solid transparent}.finance-tab.active{color:var(--text-primary);border-bottom:2px solid var(--accent-cyan)}.finance-stack{display:flex;flex-direction:column;gap:1.25rem}.finance-cards{display:flex;gap:1rem;flex-wrap:wrap}.finance-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;min-width:160px}.finance-card-label{color:var(--text-muted);font-size:.8rem}.finance-card-value{font-size:1.5rem;font-weight:600;margin-top:.25rem}.finance-positive{color:var(--success)}.finance-negative{color:var(--error)}.finance-banner{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;color:var(--text-secondary)}.finance-banner-success{border-color:var(--success-border);background:var(--success-bg);color:var(--text-primary)}.finance-section{background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem}.finance-section h3{margin:0 0 .75rem;font-size:1rem;color:var(--text-primary)}.finance-split-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--bg-deep)}.finance-split-segment.haus{background:var(--accent-blue)}.finance-split-segment.marcel{background:var(--accent-cyan)}.finance-split-legend{display:flex;gap:1.5rem;margin-top:.5rem;color:var(--text-secondary);font-size:.85rem}.finance-split-legend .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.35rem}.finance-split-legend .dot.haus{background:var(--accent-blue)}.finance-split-legend .dot.marcel{background:var(--accent-cyan)}.finance-category-group{margin-bottom:.75rem}.finance-category-main{color:var(--text-primary);font-weight:600;margin-bottom:.4rem}.finance-budget-row{display:grid;grid-template-columns:160px 1fr 140px;align-items:center;gap:.75rem;margin-bottom:.4rem}.finance-budget-label{color:var(--text-secondary);font-size:.85rem}.finance-budget-bar-track{background:var(--bg-deep);border-radius:6px;height:8px;overflow:hidden}.finance-budget-bar-fill{height:100%;background:var(--accent-cyan)}.finance-budget-bar-fill.over{background:var(--error)}.finance-budget-value{color:var(--text-muted);font-size:.8rem;text-align:right}.finance-list{list-style:none;padding:0;margin:0;color:var(--text-secondary);font-size:.9rem}.finance-list li{padding:.35rem 0;border-bottom:1px solid var(--border)}.finance-anomalies li{color:var(--error)}.finance-filters{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.finance-filters select{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.finance-checkbox{display:flex;align-items:center;gap:.4rem;color:var(--text-secondary);font-size:.85rem}.finance-table{width:100%;border-collapse:collapse}.finance-table th,.finance-table td{padding:.5rem .6rem;border-bottom:1px solid var(--border);font-size:.85rem;text-align:left}.finance-table th{color:var(--text-muted);font-weight:500}.finance-purpose{color:var(--text-secondary);max-width:320px;overflow:hidden;text-overflow:ellipsis}.finance-table select{background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.25rem .4rem}.finance-btn-small{background:var(--bg-deep);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;padding:.3rem .6rem;font-size:.75rem;cursor:pointer}.finance-btn-danger{color:var(--error);border-color:var(--error-border)}.finance-btn-primary{background:linear-gradient(135deg,var(--accent-cyan),var(--accent-blue));color:#fff;border:none;border-radius:6px;padding:.5rem 1.2rem;cursor:pointer}.finance-pagination{display:flex;gap:1rem;align-items:center;color:var(--text-secondary)}.finance-inline-form{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.finance-inline-form input,.finance-inline-form select{background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.finance-category-card-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.finance-category-card-header .dot{width:10px;height:10px;border-radius:50%}.finance-muted-tag{color:var(--text-muted);font-size:.75rem;border:1px solid var(--border);border-radius:4px;padding:.1rem .4rem}.finance-sub-list{list-style:none;padding:0;margin:0 0 .6rem}.finance-sub-list li{display:flex;align-items:center;gap:.6rem;padding:.3rem 0;color:var(--text-secondary)}.finance-sub-list li input[type=number]{width:100px;background:var(--bg-deep);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.2rem .4rem}.finance-input{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:.4rem .6rem}.finance-month-picker{width:fit-content}.finance-error{color:var(--error);background:var(--error-bg);border:1px solid var(--error-border);border-radius:8px;padding:.6rem .9rem}.finance-muted{color:var(--text-muted)}:root{--bg-deep: #09090b;--bg-surface: #18181b;--bg-surface-alt: #111113;--border: #27272a;--border-light: #3f3f46;--text-primary: #ffffff;--text-secondary: #a1a1aa;--text-muted: #71717a;--text-faint: #52525b;--accent-cyan: #06b6d4;--accent-blue: #2563eb;--accent-gradient: linear-gradient(135deg, var(--accent-cyan), var(--accent-blue));--link: #22d3ee;--success: #22c55e;--success-text: #4ade80;--success-bg: #052e16;--success-border: #14532d;--error: #ef4444;--error-text: #f87171;--error-bg: #450a0a;--error-border: #7f1d1d;--radius: 8px;--radius-lg: 12px}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg-deep);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif}button{font-family:inherit}.app-shell{display:flex;flex-direction:column;height:100vh}.app-layout{display:flex;flex:1;overflow:hidden}main{flex:1;overflow-y:auto;padding:2rem}.app-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0}.app-header h1{margin:0;font-size:1.25rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.app-header button{background:transparent;border:1px solid var(--border-light);color:var(--text-secondary);padding:.45rem .9rem;border-radius:var(--radius);cursor:pointer;font-size:.85rem;transition:border-color .15s,color .15s}.app-header button:hover{border-color:var(--error);color:var(--error-text)}.sidebar{width:200px;flex-shrink:0;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:.25rem;padding:1rem .75rem}.sidebar button{background:none;border:none;text-align:left;padding:.6rem .9rem;border-radius:var(--radius);color:var(--text-secondary);font-size:.95rem;cursor:pointer;transition:background .15s,color .15s}.sidebar button:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.sidebar button.active{background:var(--accent-gradient);color:#fff;font-weight:600}.sidebar button:disabled{color:var(--text-faint);cursor:not-allowed}.content-page h1{margin:0 0 1.5rem;font-size:1.6rem}.content-page section{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;margin-bottom:1.25rem}.content-page h2{margin:0 0 1rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);font-weight:600}.content-page section button{background:var(--accent-gradient);border:none;color:#fff;padding:.65rem 1.1rem;border-radius:var(--radius);font-weight:600;cursor:pointer;margin:0 .6rem .5rem 0;transition:opacity .15s}.content-page section button:hover{opacity:.85}.login-form{max-width:360px;margin:10vh auto;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;display:flex;flex-direction:column;gap:.9rem}.login-form h1{margin:0 0 .5rem;text-align:center;font-size:1.4rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.login-form input{background:var(--bg-deep);border:1px solid var(--border-light);border-radius:var(--radius);padding:.65rem .8rem;color:var(--text-primary);font-size:.95rem}.login-form input:focus{outline:none;border-color:var(--accent-cyan)}.login-form button{background:var(--accent-gradient);border:none;color:#fff;padding:.7rem;border-radius:var(--radius);font-weight:600;cursor:pointer;font-size:.95rem}.login-form .error{color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius);padding:.5rem .7rem;font-size:.85rem;margin:0}.login-form p{color:var(--text-secondary);font-size:.85rem;text-align:center;margin:0}.login-form img{align-self:center;border-radius:var(--radius);background:#fff;padding:8px}.assistant-panel{width:300px;flex-shrink:0;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;padding:1rem}.assistant-panel h2{margin:0 0 1rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary)}.assistant-panel .messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.assistant-panel .messages p{margin:0;padding:.5rem .75rem;border-radius:var(--radius);font-size:.85rem;line-height:1.4;max-width:90%}.assistant-panel .messages p.user{background:var(--border);align-self:flex-end}.assistant-panel .messages p.assistant{background:#06b6d41f;border:1px solid rgba(6,182,212,.25);align-self:flex-start}.input-row{display:flex;gap:.5rem}.input-row input{flex:1;background:var(--bg-deep);border:1px solid var(--border-light);border-radius:var(--radius);padding:.5rem .7rem;color:var(--text-primary)}.input-row button{background:var(--accent-gradient);border:none;color:#fff;padding:.5rem .9rem;border-radius:var(--radius);font-weight:600;cursor:pointer}.confirmation-card{background:var(--bg-deep);border:1px solid var(--border-light);border-radius:var(--radius);padding:.85rem;margin-bottom:.75rem}.confirmation-card p{margin:0 0 .6rem;font-size:.85rem;color:var(--text-primary)}.confirmation-buttons{display:flex;gap:.5rem}.confirmation-buttons .confirm{background:var(--success);border:none;color:#052e16;font-weight:600;padding:.4rem .8rem;border-radius:var(--radius);cursor:pointer}.confirmation-buttons .cancel{background:transparent;border:1px solid var(--error);color:var(--error-text);padding:.4rem .8rem;border-radius:var(--radius);cursor:pointer}.top-nav{display:flex;gap:.4rem;padding:.6rem 1.5rem;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0}.top-nav button{background:none;border:none;color:var(--text-secondary);padding:.5rem 1rem;border-radius:var(--radius);font-size:.9rem;cursor:pointer;transition:background .15s,color .15s}.top-nav button:hover:not(:disabled){background:var(--border);color:var(--text-primary)}.top-nav button.active{background:var(--accent-gradient);color:#fff;font-weight:600}.top-nav button:disabled{color:var(--text-faint);cursor:not-allowed}.sidebar-empty{color:var(--text-faint);font-size:.85rem;padding:.6rem .9rem}.sidebar-group{display:flex;flex-direction:column}.sidebar button.nested{padding-left:1.75rem;font-size:.85rem;color:var(--text-muted)}
