*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#080810;--surface:#111118;--surface2:#1a1a24;--border:#2a1a1a;--border-light:#3a2020;--text:#f0f0f0;--text-muted:#889;--danger:#f44;--success:#22c55e;--radius:12px;--radius-sm:8px;--sidebar-w:200px;--bottombar-h:64px}@media (prefers-color-scheme:light){:root{--bg:#f1f1f4;--surface:#fff;--surface2:#f5f5f8;--border:#e2e2e8;--border-light:#d8d8e2;--text:#111118;--text-muted:#667;--danger:#d93025;--success:#16a34a}}html,body,#root{background:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}input,select,textarea,button{font-family:inherit;font-size:1rem}button{cursor:pointer;border-radius:var(--radius-sm);border:none;transition:background .15s,transform .1s,box-shadow .15s}button:active{transform:scale(.97)}input,select{background:var(--surface2);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:.65rem .85rem;transition:border-color .15s,box-shadow .15s}select option{background:var(--surface)}input::placeholder{color:var(--text-muted)}input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:99px}.app-shell{height:100dvh;display:flex;overflow:hidden}.app-content{padding-bottom:calc(var(--bottombar-h) + env(safe-area-inset-bottom));flex:1;overflow:hidden auto}.pull-to-refresh{top:calc(env(safe-area-inset-top) + 10px);z-index:90;width:38px;height:38px;color:var(--mod-accent,#e31c1c);background:color-mix(in srgb, var(--surface) 94%, transparent);border:1px solid var(--border-light);opacity:0;pointer-events:none;transform:translate(-50%, calc(-52px + min(var(--pull-distance), 72px)));border-radius:999px;place-items:center;transition:opacity .12s,transform .12s,border-color .12s;display:grid;position:fixed;left:50%;box-shadow:0 6px 20px #00000047}.pull-to-refresh.is-visible{opacity:1}.pull-to-refresh.is-ready,.pull-to-refresh.is-refreshing{border-color:var(--mod-accent,#e31c1c)}.pull-to-refresh__arrow{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;transition:transform .16s}.pull-to-refresh.is-ready .pull-to-refresh__arrow{transform:rotate(180deg)}.pull-to-refresh__spinner{border:2px solid color-mix(in srgb, currentColor 25%, transparent);border-top-color:currentColor;border-radius:50%;width:19px;height:19px;animation:.7s linear infinite pull-to-refresh-spin}@keyframes pull-to-refresh-spin{to{transform:rotate(360deg)}}.finance-entry-grid,.finance-credit-section__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;min-width:0;display:grid}.finance-entry-grid>:only-child{grid-column:1/-1}.finance-credit-toggle{min-width:0;color:var(--text);cursor:pointer;align-items:flex-start;gap:.7rem;padding:.7rem 0;display:flex}.finance-credit-toggle input{accent-color:#10b981;flex:none;width:18px;height:18px;margin-top:1px;padding:0}.finance-credit-toggle span{flex-direction:column;gap:.2rem;min-width:0;display:flex}.finance-credit-toggle strong{font-size:.86rem}.finance-credit-toggle small{color:var(--text-muted);font-size:.72rem;line-height:1.4}.finance-credit-section{border-top:1px solid #60a5fa40;border-bottom:1px solid #60a5fa40;min-width:0;padding:.85rem 0}.finance-credit-section__title{color:#60a5fa;margin-bottom:.75rem;font-size:.82rem;font-weight:750}.finance-credit-preview{color:#10b981;margin-top:.65rem;font-size:.78rem;font-weight:700}.finance-credit-preview.is-negative{color:#f97316}.finance-split{background:color-mix(in srgb, var(--surface2) 78%, transparent);border-radius:var(--radius-sm);border:1px solid #34d39947;min-width:0;padding:.9rem}.finance-split__title{color:var(--text);font-size:.86rem;font-weight:750}.finance-split__hint{color:var(--text-muted);margin-top:.25rem;font-size:.72rem;line-height:1.4}.finance-split__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;min-width:0;margin-top:.8rem;display:grid}.finance-credit-card-detail{min-width:0;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.35rem .8rem;margin-top:.55rem;font-size:.74rem;display:flex}.finance-credit-card-detail strong{color:var(--text)}.finance-credit-card-detail .is-positive{color:#10b981;font-weight:700}.finance-credit-card-detail .is-negative{color:#f97316;font-weight:700}.finance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;display:grid}.finance-summary-metric{background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:0;padding:.85rem}.finance-summary-metric>div{min-height:2.4em;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.68rem;font-weight:650;line-height:1.2}.finance-summary-metric strong{overflow-wrap:anywhere;min-width:0;margin-top:.35rem;font-size:clamp(1rem,5vw,1.25rem);display:block}.finance-credit-balance-note{color:#60a5fa;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#60a5fa12;border-left:3px solid #60a5fa;flex-direction:column;gap:.25rem;padding:.8rem .9rem;display:flex}.finance-credit-balance-note strong{font-size:.8rem}.finance-credit-balance-note span{color:var(--text-muted);font-size:.74rem;line-height:1.4}.finance-credit-balance-note.is-negative{color:#ef4444;background:#ef444412;border-left-color:#ef4444}@media (width<=420px){.finance-entry-grid,.finance-credit-section__grid,.finance-split__grid{grid-template-columns:minmax(0,1fr)}}@media (width>=768px){.app-content{margin-left:var(--sidebar-w);padding-bottom:0}.pull-to-refresh{display:none}}:focus-visible{outline:2px solid var(--mod-accent,#888);outline-offset:2px}
