*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #F7F4EE;--green: #1F5D50;--green-dark: #174A40;--rust: #A6461F;--rust-dark: #8A3A19;--text: #17231E;--text-muted: #5B6B62;--border: #DCD6C8;--card: #FFFFFF;--hero-text: #FFFFFF;--hero-muted: rgba(255, 255, 255, .75);--shadow: 0 1px 3px rgba(23, 35, 30, .06)}@media (prefers-color-scheme: dark){:root{--bg: #141A17;--green: #2D7A6A;--green-dark: #256357;--rust: #C05A30;--rust-dark: #A6461F;--text: #EDEAE2;--text-muted: #8A9A90;--border: #2A3530;--card: #1C2420;--hero-text: #FFFFFF;--hero-muted: rgba(255, 255, 255, .75);--shadow: 0 1px 3px rgba(0, 0, 0, .3)}}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:Manrope,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;padding:1rem 1rem 5rem;max-width:600px;margin:0 auto;width:100%}.card{background:var(--card);border-radius:16px;padding:1rem;box-shadow:var(--shadow);margin-bottom:.75rem}.btn{display:block;width:100%;padding:.875rem 1rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;text-align:center;text-decoration:none;transition:background .15s,color .15s,border-color .15s,transform .2s ease;font-family:inherit;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:focus-visible,.tab-item:focus-visible,.toggle-btn:focus-visible,.login-toggle-btn:focus-visible,.tab:focus-visible,.login-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}@media (hover: hover){.btn:hover{transform:scale(1.01)}.btn:active{transform:scale(.97)}.tab-item:hover{transform:scale(1.08)}}.btn-green{background:var(--green);color:#fff}.btn-green:active{background:var(--green-dark)}.btn-rust-outline{background:transparent;border:1.5px solid var(--rust);color:var(--rust)}.btn-rust-outline:active{background:#a6461f14}.btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}.input,.select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:10px;font-size:1rem;background:var(--card);color:var(--text);font-family:inherit}.input:focus,.select:focus{outline:2px solid var(--green);outline-offset:-1px}.label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.375rem;color:var(--text-muted)}.field{margin-bottom:1rem}.section-title{font-size:1.1rem;font-weight:700;margin-bottom:.75rem}.hero-card{background:var(--green);border-radius:20px;padding:1.5rem;margin-bottom:1rem;color:var(--hero-text)}.hero-label{font-size:.8rem;font-weight:600;color:var(--hero-muted);margin-bottom:.25rem}.hero-profit{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:1rem}.hero-row{display:flex;gap:2rem}.hero-stat-label{font-size:.75rem;font-weight:600;color:var(--hero-muted)}.hero-stat-value{font-size:1.1rem;font-weight:700}.btn-row{display:flex;gap:.75rem;margin-bottom:1.5rem}.btn-row .btn{flex:1}.tx-list{margin-bottom:1rem}.tx-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--border)}.tx-item:last-child{border-bottom:none}.tx-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.tx-dot.in{background:var(--green)}.tx-dot.out{background:var(--rust)}.tx-body{flex:1;min-width:0}.tx-desc{font-weight:600;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tx-meta{font-size:.8rem;color:var(--text-muted)}.tx-amount{font-weight:700;font-size:1rem;white-space:nowrap}.tx-amount.in{color:var(--green)}.tx-amount.out{color:var(--rust)}.date-header{font-size:.8rem;font-weight:700;color:var(--text-muted);padding:.75rem 0 .375rem}.toggle{display:flex;border-radius:999px;overflow:clip;border:1.5px solid var(--border);margin-bottom:1.5rem;background:var(--card);position:relative}.toggle-btn{flex:1;padding:.75rem;border:none;background:transparent;font-size:.95rem;font-weight:600;cursor:pointer;color:var(--text-muted);transition:background .2s,color .2s;font-family:inherit;border-radius:999px}.toggle-btn.active{color:#fff}.toggle-btn.active.in{background:var(--green)}.toggle-btn.active.out{background:var(--rust)}.toggle-slider{position:absolute;top:0;left:0;width:50%;height:100%;border-radius:999px;transition:transform .25s cubic-bezier(.4,0,.2,1);pointer-events:none}.toggle-slider.in{transform:translate(0);background:var(--green)}.toggle-slider.out{transform:translate(100%);background:var(--rust)}.amount-display{text-align:center;padding:1.5rem 0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.amount-value{font-size:2.5rem;font-weight:800;letter-spacing:-.02em;color:var(--text)}.amount-currency{font-size:1rem;font-weight:600;color:var(--text-muted);margin-bottom:.25rem}.filter-group{margin-bottom:1rem}.filter-row{display:flex;gap:.5rem;margin-bottom:.5rem}.filter-row .input,.filter-row .select{flex:1;min-width:0}.category-bar{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border);font-size:.9rem}.category-bar:last-child{border-bottom:none}.tabs{display:flex;gap:.5rem;margin-bottom:1rem}.tab{flex:1;padding:.625rem;border:1.5px solid var(--border);border-radius:999px;background:transparent;font-size:.9rem;font-weight:600;cursor:pointer;color:var(--text-muted);text-align:center;transition:background .2s,color .2s,border-color .2s;font-family:inherit}.tab.active{background:var(--text);color:var(--bg);border-color:var(--text)}.statement-table{width:100%;border-collapse:collapse;font-size:.95rem}.statement-table td{padding:.5rem 0;border-bottom:1px solid var(--border)}.statement-table td:last-child{text-align:right;font-weight:600}.statement-table tr.total td{font-weight:700;font-size:1.05rem;border-top:2px solid var(--text);border-bottom:none}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--border);display:flex;justify-content:space-around;padding:.5rem 0;z-index:100}.tab-item{display:flex;flex-direction:column;align-items:center;gap:.125rem;text-decoration:none;color:var(--text-muted);font-size:.7rem;font-weight:600;padding:.25rem .5rem}.tab-item.active{color:var(--green)}.tab-icon{width:22px;height:22px}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.tx-item{animation:fadeSlideUp .25s ease both}.tx-item:nth-child(1){animation-delay:0ms}.tx-item:nth-child(2){animation-delay:50ms}.tx-item:nth-child(3){animation-delay:.1s}.tx-item:nth-child(4){animation-delay:.15s}.tx-item:nth-child(5){animation-delay:.2s}.tx-item:nth-child(6){animation-delay:.25s}.tx-item:nth-child(7){animation-delay:.3s}.tx-item:nth-child(8){animation-delay:.35s}.save-success{display:flex;align-items:center;justify-content:center;gap:.5rem}.save-success svg{width:20px;height:20px}.save-success svg path{stroke-dasharray:24;stroke-dashoffset:24;animation:drawCheck .4s ease forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.empty{text-align:center;color:var(--text-muted);padding:2rem 1rem}.error-text{color:var(--rust);font-size:.875rem;margin-top:.5rem}.success-text{color:var(--green);font-size:.875rem;margin-top:.5rem}.login-screen{min-height:100vh;display:flex;flex-direction:column}.login-hero{background:var(--green);padding:3rem 1.5rem 4rem;position:relative;overflow:hidden}.login-hero-pattern{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 0L40 20L20 40L0 20Z' fill='none' stroke='%23FFFFFF' stroke-width='1'/%3E%3C/svg%3E");background-size:40px 40px}.login-hero-content{position:relative;text-align:center}.login-badge{width:56px;height:56px;background:#c98a2a;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff;margin:0 auto 1rem}.login-title{font-size:1.25rem;font-weight:800;color:#fff;margin-bottom:.375rem}.login-tagline{font-size:.875rem;color:#ffffffbf;margin:0}.login-sheet{flex:1;background:var(--bg);border-radius:26px 26px 0 0;margin-top:-1.5rem;padding:1.5rem 1.25rem;position:relative}.login-toggle{display:flex;background:var(--card);border-radius:999px;padding:4px;margin-bottom:1.5rem;border:1.5px solid var(--border)}.login-toggle-btn{flex:1;padding:.625rem;border:none;border-radius:999px;background:transparent;font-size:.9rem;font-weight:700;cursor:pointer;color:var(--text-muted);transition:background .2s,color .2s;font-family:inherit}.login-toggle-btn.active{background:var(--text);color:var(--bg)}.login-form .field{margin-bottom:1rem}.password-row{display:flex;gap:.75rem}.password-col{flex:1;min-width:0}.login-submit{margin-top:.5rem}.login-switch{text-align:center;font-size:.875rem;color:var(--text-muted);margin-top:1rem;margin-bottom:0}.login-link{background:none;border:none;color:var(--green);font-weight:700;cursor:pointer;font-size:inherit;font-family:inherit;padding:0}.login-pwa-note{margin-top:1.5rem;padding-top:1rem;border-top:1px dashed var(--border);text-align:center;font-size:.8rem;color:var(--text-muted);display:flex;align-items:center;justify-content:center;gap:.5rem}.login-pwa-icon{font-size:1rem}@media (prefers-color-scheme: dark){.login-hero{background:#3e8973}.login-hero-pattern{opacity:.09}.login-toggle-btn.active{background:var(--text);color:var(--bg)}}@media (prefers-reduced-motion: reduce){.btn:active,.btn:hover,.tab-item:hover{transform:none}.tx-item{animation:none}.toggle-slider{transition:none}.save-success svg path{animation:none;stroke-dashoffset:0}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media print{.tab-bar,.no-print{display:none!important}.page{padding:0;max-width:100%}}
