@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;700&display=swap";:root{--bg-base:#f6f4ef;--bg-glow:#ffecd5;--card:#fffdf7;--line:#d8d0c5;--text-main:#1f2937;--text-soft:#5b6471;--accent:#0f766e;--accent-2:#d97706;--danger:#b91c1c;--radius-lg:22px;--radius-md:14px;--shadow-soft:0 16px 44px #1b283817}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text-main);background:radial-gradient(circle at top left, var(--bg-glow), transparent 38%), radial-gradient(circle at bottom right, #c8e9e6, transparent 44%), var(--bg-base);font-family:Manrope,sans-serif}.app-shell{width:min(980px,100% - 1.2rem);margin:0 auto;padding:1.2rem 0 2.5rem}.app-header{justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent);margin:0;font-size:.74rem;font-weight:700}h1{margin:.1rem 0 0;font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,5vw,2.25rem);line-height:1.06}h2,h3,p{margin:0}.sync-chip{border:1px solid var(--line);color:var(--text-soft);background:#fffdf7bf;border-radius:999px;margin:0;padding:.42rem .9rem;font-size:.8rem}.tabs{grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem;display:grid}.tab{border:1px solid var(--line);border-radius:var(--radius-md);font:inherit;color:var(--text-soft);cursor:pointer;background:#ffffffa8;padding:.75rem;font-weight:700}.tab.active{background:linear-gradient(135deg, var(--accent), #14b8a6);color:#fff;border-color:#0000}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card);box-shadow:var(--shadow-soft);margin-top:.9rem;padding:clamp(1rem,2.4vw,1.5rem)}.entry-form{gap:1rem;display:grid}.form-row{gap:.45rem;display:grid}label{color:var(--text-soft);font-size:.85rem;font-weight:700}input,select{border:1px solid var(--line);font:inherit;background:#fff;border-radius:12px;padding:.72rem .85rem}input:focus,select:focus{border-color:var(--accent);outline:2px solid #0f766e38}.date-controls{gap:.45rem;display:flex}.date-controls button,.chip,.save-btn{font:inherit;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:.45rem .75rem}.save-btn{background:linear-gradient(140deg, var(--accent-2), #f59e0b);color:#fff;border:none;border-radius:14px;padding:.8rem;font-weight:700}.sync-settings{border:1px solid var(--line);border-radius:var(--radius-md);background:#fffdf7b3;margin-top:1rem;padding:.9rem}.sync-settings summary{cursor:pointer;font-weight:700}.sync-settings p{color:var(--text-soft);margin:.8rem 0;font-size:.9rem}.sync-settings label{margin-top:.7rem}.status-line{min-height:1.4rem;color:var(--text-soft);margin-top:.75rem;font-size:.85rem}.recent-list{margin-top:.6rem}.recent-list h2{margin-bottom:.6rem;font-family:Space Grotesk,sans-serif;font-size:1rem}.recent-list ul{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.recent-list li{border:1px solid var(--line);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem;display:flex}.recent-list strong{display:block}.recent-list span{color:var(--text-soft);margin-top:.16rem;font-size:.8rem;display:block}.amount-tag{color:var(--accent);white-space:nowrap;font-weight:800}.filter-chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1rem;display:grid}.summary-grid article{border:1px solid var(--line);background:#fff;border-radius:14px;padding:.8rem}.summary-grid h3{color:var(--text-soft);font-size:.82rem}.summary-grid p{margin-top:.3rem;font-family:Space Grotesk,sans-serif;font-size:1.06rem}.chart-grid{grid-template-columns:1fr 1fr;gap:.8rem;margin-top:.8rem;display:grid}.chart-grid article{border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;padding:.8rem}.chart-grid h2{margin-bottom:.75rem;font-family:Space Grotesk,sans-serif;font-size:1rem}.empty{color:var(--text-soft);font-size:.9rem}@media (width<=760px){.app-header{flex-direction:column;align-items:flex-start}.sync-chip{margin-top:.2rem}.summary-grid,.chart-grid{grid-template-columns:1fr}.recent-list li{flex-direction:column;align-items:flex-start}}
