@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{font-family:Space Grotesk,Segoe UI,sans-serif;line-height:1.6;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#1a1c2b;background-color:#f7f3ec}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 10% 20%,#fff4e7 0%,transparent 45%),radial-gradient(circle at 80% 0%,#ffe9d6 0%,transparent 40%),linear-gradient(180deg,#f7f3ec,#f2efe9);position:relative}body:before,body:after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;opacity:.2;pointer-events:none;z-index:0}body:before{background:#f47b20;top:-60px;right:12%}body:after{background:#1d9b5e;bottom:-80px;left:8%}#root{position:relative;z-index:1}img{max-width:100%;display:block}:root{--ink: #1a1c2b;--muted: #5a6074;--accent: #f47b20;--accent-soft: #ffe1c7;--surface: rgba(255, 255, 255, .9);--border: rgba(26, 28, 43, .1);--shadow: 0 20px 60px rgba(34, 43, 62, .12);--radius: 20px}.app{max-width:1100px;margin:0 auto;padding:48px 24px 80px;color:var(--ink)}.hero{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:center;margin-bottom:36px}.hero-label{text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--muted);font-weight:600}.hero h1{font-family:Fraunces,Georgia,serif;font-size:clamp(2.2rem,4vw,3.3rem);margin:8px 0}.hero-subtitle{color:var(--muted);max-width:420px}.hero-card{background:linear-gradient(140deg,#fff4e7,#fff);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);border:1px solid rgba(244,123,32,.2)}.hero-card-label{font-size:12px;text-transform:uppercase;letter-spacing:.2em;color:var(--muted)}.hero-card strong{display:block;font-size:1.8rem;margin-top:8px}.hero-card p{color:var(--muted);margin:6px 0 0}.positive{color:#1d9b5e;font-weight:600}.negative{color:#d94b4b;font-weight:600}.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px;box-shadow:0 12px 30px #1a1c2b0f;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel-header h2{margin:0;font-size:1.2rem}.badge{background:#f2f4f8;color:var(--muted);font-size:12px;padding:6px 12px;border-radius:999px}.badge.accent{background:var(--accent-soft);color:#b24e00}.tx-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.tx-item{display:grid;gap:12px;grid-template-columns:1fr auto;align-items:center;padding:16px;border-radius:16px;border:1px solid var(--border);background:#fff;animation:rise .35s ease}.tx-main{display:flex;flex-direction:column;gap:6px}.tx-title{margin:0;font-weight:600}.tx-type{font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;width:fit-content}.tx-type.income{background:#dff5ea;color:#1b7a4c}.tx-type.expense{background:#ffe3e3;color:#b74141}.tx-actions{display:grid;justify-items:end;gap:10px}.tx-amount{font-weight:600}.tx-delete{border:none;background:#f2f4f8;color:var(--muted);padding:6px 12px;border-radius:999px;cursor:pointer;transition:all .2s ease}.tx-delete:hover{background:#ffe3e3;color:#b74141}.tx-form{display:grid;gap:14px}.tx-form label{display:grid;gap:6px;font-size:.9rem;color:var(--muted)}.tx-form input,.tx-form select{border-radius:12px;border:1px solid var(--border);padding:12px 14px;font-size:1rem;font-family:inherit;background:#fff}.tx-form input:focus,.tx-form select:focus{outline:2px solid rgba(244,123,32,.3);border-color:#f47b2099}.form-error{margin:0;color:#b74141;font-size:.9rem}button.primary{border:none;background:var(--accent);color:#fff;font-weight:600;padding:12px 16px;border-radius:14px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 20px #f47b203d}button.primary:hover{transform:translateY(-1px);box-shadow:0 16px 26px #f47b2052}.empty-state{padding:28px;border-radius:16px;border:1px dashed var(--border);color:var(--muted);background:#fff;text-align:center}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.hero-card strong{font-size:1.5rem}.tx-item{grid-template-columns:1fr}.tx-actions{justify-items:start}}
