:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #273449;--border: #334155;--text: #e2e8f0;--text-muted: #94a3b8;--accent: #38bdf8;--accent-strong: #0ea5e9;--danger: #f87171;--radius: 10px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.screen{min-height:100%;padding:24px}.screen-centered{display:flex;align-items:center;justify-content:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;max-width:380px;width:100%;margin:0 auto 20px}.card-wide{max-width:520px}.card-modal{max-width:420px}h1{font-size:1.4rem;margin:0 0 8px}h2{font-size:1.1rem;margin:0 0 12px}.muted{color:var(--text-muted);font-size:.9rem;line-height:1.5}form{display:flex;flex-direction:column;gap:14px;margin-top:8px}.entry-form{flex-direction:row;flex-wrap:wrap;align-items:flex-end}.entry-form label{flex:1;min-width:140px}.entry-form button{height:42px}label{display:flex;flex-direction:column;gap:6px;font-size:.85rem;color:var(--text-muted)}input,textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);font-size:1rem;font-family:inherit}input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}button{background:var(--accent-strong);color:#04121f;border:none;border-radius:8px;padding:10px 16px;font-size:.95rem;font-weight:600;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}button.secondary{background:transparent;color:var(--text);border:1px solid var(--border);font-weight:500}button.link-button{background:none;border:none;color:var(--accent);font-weight:500;padding:8px 0;text-align:left;width:100%}.error{color:var(--danger);font-size:.85rem;margin:0}.recovery-phrase{background:var(--surface-2);border:1px dashed var(--accent);border-radius:8px;padding:16px;font-size:1.1rem;line-height:1.8;letter-spacing:.02em;font-family:ui-monospace,monospace;word-spacing:.3em;-webkit-user-select:all;user-select:all}.checkbox-row{flex-direction:row;align-items:center;gap:8px;margin:16px 0}.checkbox-row input{width:auto}.topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:20px}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap}.entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.entry-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--surface-2);border-radius:8px}.entry-amount{font-variant-numeric:tabular-nums;color:var(--text-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;padding:16px;z-index:10}.modal-actions{display:flex;justify-content:flex-end;gap:8px}.sync-bar{display:flex;align-items:center;gap:10px;padding:6px 24px;background:var(--surface);border-bottom:1px solid var(--border);font-size:.82rem;color:var(--text-muted)}.sync-bar-offline{background:#3a2a10;color:#fbbf24}.sync-dot{width:8px;height:8px;border-radius:999px;background:#fbbf24;flex-shrink:0}.sync-dot-online{background:#4ade80}.sync-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}button.sync-button{padding:0;width:auto;flex:0 0 auto;white-space:nowrap}.pending-badge{font-size:.7rem;background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:1px 8px;margin-left:6px}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-content{padding:24px;max-width:960px;width:100%;margin:0 auto}.main-nav{display:flex;gap:4px;flex-wrap:wrap}.nav-link{color:var(--text-muted);text-decoration:none;padding:8px 12px;border-radius:8px;font-size:.9rem;font-weight:500}.nav-link:hover{background:var(--surface-2)}.nav-link-active{color:var(--bg);background:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin-bottom:20px}.stat-card{max-width:none;margin:0;display:flex;flex-direction:column;gap:6px}.stat-label{color:var(--text-muted);font-size:.85rem}.stat-value{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-positive{color:#4ade80}.stat-negative{color:var(--danger)}.bar-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}.bar-row-header{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:6px}.bar-track{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:var(--accent);border-radius:999px}.bar-fill-negative{background:var(--danger)}.app-content .card{max-width:none}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.calendar-header h2{margin:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.calendar-weekdays{margin-bottom:6px}.calendar-weekday{text-align:center;color:var(--text-muted);font-size:.8rem}.calendar-cell{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--surface-2);border:1px solid transparent;border-radius:8px;color:var(--text);cursor:pointer;font-size:.85rem}.calendar-cell:hover{border-color:var(--accent)}.calendar-cell-empty{background:transparent;cursor:default}.calendar-cell-selected{border-color:var(--accent);background:var(--surface)}.currency-badge{font-size:.7rem;font-weight:700;background:var(--surface-2);border:1px solid var(--accent);color:var(--accent);border-radius:4px;padding:1px 6px}.pending-badge.status-pending{background:#3a2a10;color:#fbbf24;border-color:#fbbf24}.transfer-row .entry-amount{white-space:nowrap}.transfer-detail{display:block;font-size:.78rem}.mode-toggle{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.mode-toggle select{margin-left:auto}.fx-disclaimer{font-size:.82rem;color:var(--text-muted);margin-top:10px}.callout-inline-warn{color:var(--danger);font-weight:500}.donut-wrap{display:flex;flex-wrap:wrap;gap:24px;align-items:center;margin-top:12px}.donut-svg-holder{position:relative;width:180px;height:180px;flex-shrink:0}.donut-svg{width:100%;height:100%}.donut-segment{cursor:pointer;transition:stroke-width .12s ease;outline:none}.donut-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;padding:0 20px}.donut-center-value{font-size:1.1rem;font-weight:700}.donut-center-label{font-size:.72rem;color:var(--text-muted);margin-top:2px}.donut-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;flex:1;min-width:220px}.donut-legend-item{display:flex;align-items:center;gap:8px;width:100%;background:none;border:1px solid transparent;border-radius:8px;padding:6px 8px;color:var(--text);font-weight:400;font-size:.88rem;cursor:pointer;text-align:left}.donut-legend-item:hover,.donut-legend-item-active{background:var(--surface-2);border-color:var(--border)}.donut-dot{width:10px;height:10px;border-radius:999px;flex-shrink:0}.donut-legend-text{flex:1}.donut-legend-value{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.82rem}.example-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.example-chips button{font-size:.82rem}.account-checkbox-group{display:flex;flex-direction:column;gap:4px;flex-basis:100%}.question-builder{padding-top:4px}.query-group-list{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}.query-group{padding:10px 12px;background:var(--surface-2);border-radius:8px}.query-group-header{display:flex;justify-content:space-between;gap:12px;font-weight:600}.query-group-amounts{font-variant-numeric:tabular-nums}.entry-description{flex:1}.answer-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.answer-section h3{margin:0 0 8px;font-size:1rem}.answer-headline{font-weight:600;line-height:1.5}.evidence-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:280px;overflow-y:auto}.evidence-row{display:flex;gap:10px;align-items:baseline;padding:6px 10px;background:var(--surface-2);border-radius:6px;font-size:.85rem}.evidence-date{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.evidence-desc{flex:1}.evidence-amount{font-variant-numeric:tabular-nums;flex-shrink:0}.assumptions-list{margin:10px 0 0;padding-left:18px;color:var(--text-muted);font-size:.8rem;line-height:1.6}.calendar-day-dot{font-size:.7rem;background:var(--accent);color:var(--bg);border-radius:999px;padding:0 6px;line-height:1.4}
