@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Space+Grotesk:wght@500;700&display=swap);:root{--ink:#13203d;--ink-soft:#596781;--surface:#fff;--surface-soft:#f4f7ff;--primary:#1e63f6;--primary-strong:#0e44bc;--danger:#d64045;--success:#177b5e;--border:#d8e0f0;--ring:#1e63f633;--shadow:0 20px 40px #1421421f}*{box-sizing:border-box}body{background:radial-gradient(circle at 15% 10%,#dce9ff 0,#0000 45%),linear-gradient(180deg,#edf3ff,#f8faff 55%,#f4f8ff);color:#13203d;color:var(--ink);font-family:DM Sans,sans-serif;margin:0}h1,h2,h3{font-family:Space Grotesk,sans-serif;margin:0}.app-shell{margin:0 auto;max-width:1240px;padding:32px 20px 44px}.app-hero{grid-gap:24px;background:linear-gradient(140deg,#fff,#f3f7ff);border:1px solid #dde5f6;border-radius:22px;box-shadow:0 20px 40px #1421421f;box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:1.25fr 1fr;margin-bottom:22px;overflow:hidden;padding:28px;position:relative}.app-hero:after{background:radial-gradient(circle,#1e63f62b,#0000 70%);border-radius:50%;content:"";height:240px;pointer-events:none;position:absolute;right:-70px;top:-120px;width:240px}.brand-row{align-items:center;display:inline-flex;gap:10px;margin-bottom:10px}.brand-logo{background:#fff;border:1px solid #cfd9ef;border-radius:10px;height:36px;padding:4px;width:36px}.brand-name{color:#13203d;color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:1.02rem;font-weight:700;letter-spacing:.01em}.eyebrow{color:#596781;color:var(--ink-soft);font-size:12px;font-weight:700;letter-spacing:.09em;margin:0 0 10px;text-transform:uppercase}h1{font-size:clamp(2rem,4vw,2.9rem);line-height:1.1}.hero-copy{color:#596781;color:var(--ink-soft);font-size:1rem;line-height:1.55;margin:14px 0 0;max-width:520px}.kpi-grid{grid-gap:12px;align-self:end;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.kpi-card{background:#fff;background:var(--surface);border:1px solid #d8e0f0;border:1px solid var(--border);border-radius:16px;padding:14px 14px 16px}.kpi-label{color:#596781;color:var(--ink-soft);font-size:12px;font-weight:700;letter-spacing:.05em;margin:0 0 8px;text-transform:uppercase}.kpi-value{font-size:1.2rem;font-weight:700;margin:0}.remaining-positive{color:#177b5e;color:var(--success)}.remaining-negative{color:#d64045;color:var(--danger)}.dashboard-grid{grid-gap:22px;align-items:start;display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-right-column{grid-gap:22px;display:grid;gap:22px;min-width:0}.app-footer{background:#fffc;border-radius:14px;color:#596781;color:var(--ink-soft);font-size:13px;font-weight:500;margin-top:22px;padding:14px 18px;text-align:center}.app-footer,.panel{border:1px solid #d8e0f0;border:1px solid var(--border)}.panel{background:#fff;background:var(--surface);border-radius:22px;box-shadow:0 20px 40px #1421421f;box-shadow:var(--shadow);min-width:0;padding:24px}.panel-heading{margin-bottom:18px}.panel-title{font-size:1.55rem}.panel-subtitle{color:#596781;color:var(--ink-soft);line-height:1.45;margin:10px 0 0}.budget-grid{grid-gap:12px;display:grid;gap:12px;list-style:none;margin:0;padding:0}.budget-card{animation:slide-up .3s ease both;background:#f4f7ff;background:var(--surface-soft);border:1px solid #d8e0f0;border:1px solid var(--border);border-radius:16px;padding:16px;transition:transform .14s ease,box-shadow .14s ease}.budget-card:hover{box-shadow:0 10px 24px #1421421f;transform:translateY(-2px)}.category-wrapper{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.category-label{color:#596781;color:var(--ink-soft);font-size:11px;font-weight:700;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.category-value{font-size:1.25rem;margin:0;text-transform:capitalize}.budget-form{align-items:center;display:flex;gap:8px}.amount-input,.form-input{background:#fff;border:1px solid #bcc9e3;border-radius:10px;color:#13203d;color:var(--ink);font:inherit;padding:10px 12px;transition:border-color .12s ease,box-shadow .12s ease;width:100%}.amount-input{width:120px}.amount-input:focus,.delete-button:focus,.form-input:focus,.new-transaction-section button:focus,.update-button:focus{border-color:#1e63f6;border-color:var(--primary);box-shadow:0 0 0 4px #1e63f633;box-shadow:0 0 0 4px var(--ring);outline:none}.new-transaction-section button,.update-button{background:#1e63f6;background:var(--primary);border:1px solid #0000;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-weight:700;padding:10px 14px;transition:transform .12s ease,background-color .12s ease}.new-transaction-section button:hover,.update-button:hover{background:#0e44bc;background:var(--primary-strong);transform:translateY(-1px)}.new-transaction-section button:disabled{cursor:not-allowed;opacity:.55;transform:none}.budget-metric-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:10px}.metric-label{color:#596781;color:var(--ink-soft);font-size:12px;margin:0 0 4px}.metric-value{font-size:1.04rem;font-weight:700;margin:0}.remaining-funds.positive{color:#177b5e;color:var(--success)}.remaining-funds.negative{color:#d64045;color:var(--danger)}.remaining-funds.neutral{color:#13203d;color:var(--ink)}.budget-progress-track{background:#d8e2f5;border-radius:999px;height:8px;overflow:hidden;width:100%}.budget-progress-fill{background:linear-gradient(90deg,#4d8bff,#2d62db);border-radius:inherit;height:100%;transition:width .22s ease}.analytics-section{grid-gap:10px;display:grid;gap:10px}.pie-chart-layout{grid-gap:20px;align-items:center;display:grid;gap:20px;grid-template-columns:minmax(0,220px) minmax(0,1fr)}.pie-chart{border-radius:50%;display:grid;height:220px;margin:0 auto;place-items:center;width:220px}.pie-chart-core{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 1px #d8e0f0;box-shadow:inset 0 0 0 1px var(--border);display:grid;height:118px;place-content:center;text-align:center;width:118px}.pie-total-label{color:#596781;color:var(--ink-soft);font-size:11px;font-weight:700;letter-spacing:.04em;margin:0;text-transform:uppercase}.pie-total-value{font-weight:700;margin:4px 0 0}.chart-legend{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.legend-row{font-size:14px;justify-content:space-between}.legend-meta,.legend-row{align-items:center;display:flex}.legend-meta{gap:8px;min-width:0}.legend-swatch{border-radius:50%;flex-shrink:0;height:10px;width:10px}.inline-feedback{animation:fade-in .18s ease both;color:#177b5e;color:var(--success);font-size:13px;font-weight:700;margin:9px 0 0}.transactions-stack{grid-gap:18px;display:grid;gap:18px}.new-transaction-section,.new-transactions-section{background:#f4f7ff;background:var(--surface-soft);border:1px solid #d8e0f0;border:1px solid var(--border);border-radius:16px;padding:16px}.section-heading{font-size:1.2rem;margin-bottom:14px}.empty-state{color:#596781;color:var(--ink-soft);line-height:1.5;margin:0}.table-scroll{overflow-x:auto}.history-table{background:#fff;border:1px solid #d8e0f0;border:1px solid var(--border);border-collapse:collapse;border-radius:12px;min-width:0;overflow:hidden;width:100%}.history-table td,.history-table th{border-bottom:1px solid #e6ecf8;font-size:14px;padding:12px 10px;text-align:left}.history-table th{background:#f3f6fc;color:#596781;color:var(--ink-soft);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.history-table tr:last-child td{border-bottom:0}.table-category{font-weight:700;text-transform:capitalize}.delete-button,.table-amount{font-weight:700}.delete-button{background:#fff;border:1px solid #b6c3dd;border-radius:50%;color:#596781;color:var(--ink-soft);cursor:pointer;height:30px;transition:background-color .12s ease,color .12s ease;width:30px}.delete-button:hover{background:#d64045;border-color:#d64045;color:#fff}.form-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.form-field label{color:#596781;color:var(--ink-soft);display:block;font-size:13px;font-weight:700;margin-bottom:6px}.submit-row{align-items:center;display:flex;gap:12px;margin-top:14px}.form-feedback{animation:fade-in .18s ease both;color:#177b5e;color:var(--success);font-size:13px;font-weight:700;margin:0}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (max-width:1040px){.app-hero,.dashboard-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pie-chart-layout{grid-template-columns:1fr}}@media (max-width:700px){.app-shell{padding:16px 12px 24px}.app-hero{border-radius:16px;gap:16px;margin-bottom:14px;padding:18px}.app-footer{font-size:12px;margin-top:14px;padding:12px 10px}.app-hero:after{height:170px;right:-45px;top:-90px;width:170px}.brand-logo{border-radius:9px;height:32px;width:32px}.brand-name{font-size:.95rem}h1{font-size:clamp(1.5rem,8vw,2.1rem)}.hero-copy{font-size:.95rem;line-height:1.45;margin-top:10px}.panel{border-radius:16px;padding:16px}.panel-heading{margin-bottom:14px}.panel-title{font-size:1.3rem}.panel-subtitle{font-size:.95rem;margin-top:8px}.kpi-card{padding:12px}.kpi-value{font-size:1.05rem}.budget-card{border-radius:14px;padding:14px}.category-value{font-size:1.12rem}.budget-form{flex-wrap:wrap;width:100%}.update-button{width:100%}.new-transaction-section,.new-transactions-section{border-radius:14px;padding:14px}.section-heading{margin-bottom:10px}.pie-chart{height:178px;width:178px}.pie-chart-core{height:96px;width:96px}.table-scroll{overflow:visible}.history-table{background:#0000;border:0;min-width:0}.history-table thead{display:none}.history-table tbody,.history-table td,.history-table tr{display:block;width:100%}.history-table tr{background:#fff;border:1px solid #d8e0f0;border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:10px 10px 4px}.history-table td{border:0;font-size:14px;padding:0 0 8px}.history-table td:before{color:#596781;color:var(--ink-soft);content:attr(data-label);display:block;font-size:11px;font-weight:700;letter-spacing:.04em;margin-bottom:2px;text-transform:uppercase}.history-table td:last-child{padding-bottom:0}.budget-metric-grid,.form-grid,.kpi-grid{grid-template-columns:1fr}.category-wrapper{align-items:flex-start;flex-direction:column}.amount-input{width:100%}.submit-row{align-items:stretch;flex-direction:column;gap:8px}}
/*# sourceMappingURL=main.4a4007eb.css.map*/