@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap";:root{color:#172033;font-synthesis:none;text-rendering:optimizelegibility;background:#eef2f7;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 0 0,#5865f224,#0000 30rem),#eef2f7;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button,select{cursor:pointer}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:30px 0 20px}.hero{color:#fff;background:linear-gradient(135deg,#061437f5,#4338caf0),#101828;border-radius:28px;justify-content:space-between;align-items:flex-start;gap:30px;padding:34px;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f172a29}.hero:after{content:"";border:36px solid #ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;bottom:-110px;right:-60px}.eyebrow,.section-kicker{letter-spacing:.14em;margin:0 0 8px;font-size:.74rem;font-weight:800}.eyebrow{color:#c7d2fe}.hero h1{letter-spacing:-.05em;max-width:620px;margin:0;font-family:Manrope,sans-serif;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05}.hero-copy{color:#dbe4ff;max-width:590px;margin:16px 0 0;font-size:1.04rem;line-height:1.7}.hero-badge{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffff1a;border:1px solid #ffffff29;border-radius:14px;align-items:center;gap:10px;padding:12px 15px;font-weight:700;display:flex;position:relative}.summary-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin:22px 0;display:grid}.summary-card{background:#ffffffeb;border:1px solid #e2e8f0;border-radius:20px;align-items:center;gap:16px;padding:22px;display:flex;box-shadow:0 12px 35px #0f172a12}.summary-icon{border-radius:15px;flex:0 0 48px;place-items:center;height:48px;display:grid}.summary-card.primary .summary-icon{color:#4338ca;background:#eef2ff}.summary-card.success .summary-icon{color:#047857;background:#ecfdf5}.summary-card.danger .summary-icon{color:#c2410c;background:#fff7ed}.summary-card p{color:#64748b;margin:0 0 4px;font-size:.9rem}.summary-card h2{letter-spacing:-.035em;margin:0;font-family:Manrope,sans-serif;font-size:clamp(1.25rem,2.5vw,1.72rem)}.content-grid{grid-template-columns:minmax(280px,.78fr) minmax(0,1.52fr);align-items:start;gap:22px;display:grid}.panel{background:#fffffff2;border:1px solid #e2e8f0;border-radius:22px;box-shadow:0 15px 40px #0f172a12}.form-panel{padding:24px;position:sticky;top:18px}.transactions-panel{padding:24px}.panel-heading{margin-bottom:20px}.responsive-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-kicker{color:#6366f1}.panel h2{letter-spacing:-.035em;margin:0;font-family:Manrope,sans-serif}.segmented-control{background:#f1f5f9;border-radius:13px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:20px;padding:5px;display:grid}.segmented-control label{text-align:center;color:#64748b;border-radius:10px;padding:10px;font-size:.9rem;font-weight:700}.segmented-control label.active{color:#312e81;background:#fff;box-shadow:0 4px 12px #0f172a14}.segmented-control input{opacity:0;position:absolute}.field{gap:8px;margin-bottom:16px;display:grid}.field span{color:#475569;font-size:.84rem;font-weight:700}.field input,.field select,.filters input,.filters select{color:#172033;background:#fff;border:1px solid #dbe3ee;border-radius:12px;outline:none;width:100%;min-height:44px;transition:all .2s}.field input,.field select{padding:0 13px}.field input:focus,.field select:focus,.filters input:focus,.filters select:focus{border-color:#6366f1;box-shadow:0 0 0 4px #6366f11f}.two-column-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.primary-button{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border:0;border-radius:13px;width:100%;min-height:46px;font-weight:800;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 22px #4f46e53d}.primary-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px #4f46e54d}.form-error{color:#b42318;margin:-2px 0 14px;font-size:.86rem;line-height:1.45}.transaction-count{color:#475569;white-space:nowrap;background:#f1f5f9;border-radius:999px;padding:8px 11px;font-size:.8rem;font-weight:700}.filters{grid-template-columns:minmax(190px,1.4fr) minmax(130px,.8fr) minmax(120px,.7fr);gap:10px;margin-bottom:18px;display:grid}.search-box{position:relative}.search-box svg{color:#94a3b8;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.filters input{padding:0 12px 0 40px}.filters select{padding:0 12px}.transaction-list{gap:10px;display:grid}.transaction-item{border:1px solid #e8edf4;border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto 36px;align-items:center;gap:13px;padding:14px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.transaction-item:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 8px 22px #0f172a0d}.category-icon{border-radius:13px;place-items:center;height:44px;font-weight:800;display:grid}.category-icon.expense{color:#c2410c;background:#fff7ed}.category-icon.income{color:#047857;background:#ecfdf5}.transaction-details{min-width:0}.transaction-details h3{text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:.98rem;overflow:hidden}.transaction-details p{color:#64748b;margin:0;font-size:.8rem}.amount{white-space:nowrap;font-size:.94rem}.amount.expense{color:#c2410c}.amount.income{color:#047857}.delete-button{color:#94a3b8;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;display:grid}.delete-button:hover{color:#b42318;background:#fef2f2}.empty-state{color:#64748b;text-align:center;place-items:center;min-height:230px;display:grid}.loader{border:3px solid #dbe3ee;border-top-color:#4f46e5;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}footer{color:#64748b;text-align:center;padding:22px 0 5px;font-size:.85rem}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.summary-grid,.content-grid{grid-template-columns:1fr}.form-panel{position:static}}@media (width<=650px){.app-shell{width:min(100% - 20px,1180px);padding-top:10px}.hero{border-radius:20px;padding:25px 22px}.hero-badge{display:none}.summary-grid{gap:10px;margin:12px 0}.summary-card,.form-panel,.transactions-panel{padding:18px}.panel{border-radius:18px}.filters{grid-template-columns:1fr}.transaction-item{grid-template-columns:40px minmax(0,1fr) 34px}.amount{grid-column:2/3;margin-top:-5px}.delete-button{grid-area:1/3/3}}@media (width<=420px){.two-column-fields{grid-template-columns:1fr;gap:0}.responsive-heading{flex-direction:column;align-items:flex-start}}:root{--page-bg:#eef2f7;--panel-bg:#fffffff2;--panel-border:#e2e8f0;--text-main:#172033;--text-muted:#64748b;--input-bg:#fff}:root[data-theme=dark]{--page-bg:#0d1321;--panel-bg:#141d30f5;--panel-border:#28334a;--text-main:#edf2ff;--text-muted:#a8b3ca;--input-bg:#111a2c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=dark] body{background:radial-gradient(circle at top left,#6366f129,transparent 30rem),var(--page-bg)}:root[data-theme=dark] .panel,:root[data-theme=dark] .summary-card{background:var(--panel-bg);border-color:var(--panel-border)}:root[data-theme=dark] .summary-card p,:root[data-theme=dark] .transaction-details p,:root[data-theme=dark] footer,:root[data-theme=dark] .chart-note{color:var(--text-muted)}:root[data-theme=dark] .summary-card h2,:root[data-theme=dark] .panel h2,:root[data-theme=dark] .transaction-details h3,:root[data-theme=dark] .field span,:root[data-theme=dark] input,:root[data-theme=dark] select{color:var(--text-main)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] .transaction-item{background:var(--input-bg);border-color:var(--panel-border)}:root[data-theme=dark] .segmented-control,:root[data-theme=dark] .transaction-count{background:#111a2c}:root[data-theme=dark] .segmented-control label.active{color:#fff;background:#28334a}.hero-actions,.heading-actions,.row-actions{align-items:center;gap:8px;display:flex}.icon-button,.secondary-button{border:1px solid var(--panel-border);background:var(--panel-bg);color:var(--text-main)}.icon-button{border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.hero-icon-button{color:#fff;background:#ffffff1a;border-color:#ffffff2e}.secondary-button{border-radius:10px;align-items:center;gap:6px;min-height:36px;padding:0 11px;font-size:.8rem;font-weight:700;display:inline-flex}.chart-panel{margin-bottom:22px;padding:24px}.chart-wrapper{height:300px}.chart-note{color:var(--text-muted);font-size:.82rem;font-weight:600}.transaction-item{grid-template-columns:44px minmax(0,1fr) auto 76px}.edit-button,.delete-button{color:#94a3b8;background:0 0;border:0;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;display:grid}.edit-button:hover{color:#4338ca;background:#eef2ff}.cancel-button{border:1px solid var(--panel-border);width:100%;color:var(--text-main);background:0 0;border-radius:12px;margin-top:10px;padding:11px;font-weight:700}.reset-link{color:#64748b;background:0 0;border:0;margin:18px auto 0;font-size:.8rem;text-decoration:underline;display:block}@media (width<=760px){.heading-actions{flex-wrap:wrap;width:100%}.transaction-count{margin-right:auto}}@media (width<=650px){.hero-actions{flex-direction:column;align-items:flex-end}.hero-icon-button{display:grid}.transaction-item{grid-template-columns:40px minmax(0,1fr) 76px}.amount{grid-column:2/3}.row-actions{grid-area:1/3/3}.chart-wrapper{height:250px}}.insights-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;display:grid}.insight-card{align-items:center;gap:14px;padding:20px;display:flex}.insight-icon,.budget-icon{color:#6366f1;background:#6366f11f;border-radius:14px;place-items:center;width:44px;height:44px;display:grid}.insight-card p,.insight-card span{color:var(--text-muted);margin:0;font-size:.8rem}.insight-card h3{color:var(--text-main);margin:4px 0;font-family:Manrope,sans-serif;font-size:1.25rem}.budget-panel{margin-bottom:22px;padding:24px}.budget-heading,.budget-stats,.budget-controls{justify-content:space-between;align-items:center;gap:14px;display:flex}.budget-heading h2{margin:0}.budget-stats{color:var(--text-muted);margin-top:18px;font-size:.85rem;font-weight:700}.over-budget{color:#ef4444}.budget-progress{background:#94a3b82e;border-radius:999px;height:12px;margin:12px 0 16px;overflow:hidden}.budget-progress div{border-radius:inherit;background:linear-gradient(90deg,#6366f1,#8b5cf6);height:100%;transition:width .4s}.budget-controls{justify-content:flex-start}.budget-controls input{border:1px solid var(--panel-border);background:var(--input-bg);width:min(220px,100%);min-height:40px;color:var(--text-main);border-radius:10px;padding:0 12px}.skeleton-list{gap:10px;display:grid}.transaction-skeleton{border:1px solid var(--panel-border);border-radius:16px;grid-template-columns:44px 1fr 100px;align-items:center;gap:14px;padding:15px;display:grid}.transaction-skeleton span,.transaction-skeleton i,.transaction-skeleton strong{background:linear-gradient(90deg,#94a3b81f,#94a3b840,#94a3b81f) 0 0/200% 100%;border-radius:8px;animation:1.2s infinite shimmer;display:block}.transaction-skeleton span{width:44px;height:44px}.transaction-skeleton i:first-child{width:45%;height:12px;margin-bottom:9px}.transaction-skeleton i:last-child{width:30%;height:9px}.transaction-skeleton strong{height:13px}.upgraded-empty-state{min-height:260px}.upgraded-empty-state h3{color:var(--text-main);margin:10px 0 4px}.upgraded-empty-state p{margin:0}.empty-icon{color:#6366f1;background:#6366f11f;border-radius:20px;place-items:center;width:62px;height:62px;display:grid}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=900px){.insights-grid{grid-template-columns:1fr}}@media (width<=650px){.budget-heading,.budget-controls{flex-direction:column;align-items:flex-start}}.chart-toggle{background:#94a3b81f;border-radius:12px;gap:4px;padding:4px;display:flex}.chart-toggle button{color:var(--text-muted);background:0 0;border:0;border-radius:9px;padding:8px 13px;font-weight:700}.chart-toggle button.active{color:#fff;background:#6366f1}.enhanced-filters{grid-template-columns:minmax(190px,1.4fr) minmax(120px,.7fr) minmax(120px,.7fr) minmax(135px,.8fr) minmax(135px,.8fr)}.enhanced-filters>input{background:var(--input-bg);min-height:44px;color:var(--text-main);border:1px solid #dbe3ee;border-radius:12px;padding:0 10px}@media (width<=1050px){.enhanced-filters{grid-template-columns:1fr 1fr}.enhanced-filters .search-box{grid-column:1/-1}}@media (width<=650px){.enhanced-filters{grid-template-columns:1fr}.enhanced-filters .search-box{grid-column:auto}}
