body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}:root{--bg-page:#f4f4f4;--bg-surface:#f8f9fa;--bg-card:#fff;--bg-subtle:#f9f9f9;--bg-input:#fff;--text-primary:#1f2937;--text-muted:#6c757d;--border-color:#d8dde3;--shadow-color:#0f172a1f;--button-primary:#0b6ee9;--button-primary-hover:#0056b3;--button-secondary:#6c757d;--button-secondary-hover:#5a6268;--button-danger:#b42318;--button-danger-hover:#912018;--button-disabled:#7ca6d7;--overlay-bg:#11182794;--close-bg:#e8edf3;--close-bg-hover:#dce3ea;--close-text:#4b5563;--focus-color:#1b76e8;--focus-ring:#1b76e833;--report-track:#e9eef3;--report-fill-start:#0d6efd;--report-fill-end:#68a2ff;--positive-text:#17803d;--negative-text:#b42318}[data-theme=dark]{--bg-page:#0f172a;--bg-surface:#111827;--bg-card:#1f2937;--bg-subtle:#111827;--bg-input:#0b1220;--text-primary:#e5e7eb;--text-muted:#9ca3af;--border-color:#334155;--shadow-color:#02061780;--button-primary:#2563eb;--button-primary-hover:#1d4ed8;--button-secondary:#475569;--button-secondary-hover:#334155;--button-danger:#dc2626;--button-danger-hover:#b91c1c;--button-disabled:#334155;--overlay-bg:#020617b8;--close-bg:#334155;--close-bg-hover:#475569;--close-text:#e5e7eb;--focus-color:#60a5fa;--focus-ring:#60a5fa47;--report-track:#334155;--report-fill-start:#3b82f6;--report-fill-end:#60a5fa;--positive-text:#4ade80;--negative-text:#f87171;color-scheme:dark}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}body{background-color:#f4f4f4;background-color:var(--bg-page);color:#1f2937;color:var(--text-primary);font-family:Arial,sans-serif;margin:0;padding:0;transition:background-color .2s ease,color .2s ease}.container{margin:0 auto;max-width:1200px;padding:20px}.app-header{background-color:#f8f9fa;background-color:var(--bg-surface);border-bottom:1px solid #d8dde3;border-bottom:1px solid var(--border-color);border-radius:10px;padding:20px;text-align:center}.app-header h1{font-size:2.5rem;margin:0}.auth-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}.auth-user-email{color:#6c757d;color:var(--text-muted);font-size:.95rem;word-break:break-all}.theme-toggle{align-items:center;border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:999px;box-shadow:0 8px 20px #0f172a1f;box-shadow:0 8px 20px var(--shadow-color);color:#1f2937;color:var(--text-primary);display:inline-flex;height:46px;justify-content:center;padding:0;width:46px}.theme-toggle,.theme-toggle:hover{background:#fff;background:var(--bg-card)}.theme-toggle svg{fill:currentColor;height:22px;width:22px}.theme-toggle-floating{position:fixed;right:16px;top:16px;z-index:1400}.summary-section,.transactions-section{margin-top:30px}.summary-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.summary-card{align-items:flex-start;background-color:#fff;background-color:var(--bg-card);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:8px;padding:14px;text-align:left}.summary-label{color:#6c757d;color:var(--text-muted);font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}.summary-value{color:#1f2937;color:var(--text-primary);font-size:1.35rem}.summary-positive{color:#17803d;color:var(--positive-text)}.summary-negative{color:#b42318;color:var(--negative-text)}ul{list-style-type:none;padding:0}.transaction-item{align-items:center;background-color:#f9f9f9;background-color:var(--bg-subtle);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:5px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px;padding:10px}.transaction-row-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end}.transaction-grid{grid-gap:12px;display:grid;flex:1 1;gap:12px;grid-template-columns:1.15fr 1fr .9fr 1.35fr 1fr;min-width:520px}.transaction-cell{display:flex;flex-direction:column;gap:2px;min-width:0;text-align:left}.transaction-label{font-size:.75rem;letter-spacing:.03em;text-transform:uppercase}.transaction-label,.transaction-meta{color:#6c757d;color:var(--text-muted)}.amount-income{color:#17803d;color:var(--positive-text)}.amount-outflow{color:#b42318;color:var(--negative-text)}button{background-color:#0b6ee9;background-color:var(--button-primary);border:none;border-radius:5px;color:#fff;cursor:pointer;padding:8px 16px}button:hover{background-color:#0056b3;background-color:var(--button-primary-hover)}.report-section{background-color:#f8f9fa;background-color:var(--bg-surface);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:10px;margin-top:30px;padding:20px}.report-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}.report-controls input,.report-controls select{background-color:#fff;background-color:var(--bg-input);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:5px;color:#1f2937;color:var(--text-primary);padding:8px 10px}.report-metrics{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:18px}.report-metric-card{background:#fff;background:var(--bg-card);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:12px;text-align:left}.report-metric-label{color:#6c757d;color:var(--text-muted);font-size:.8rem;letter-spacing:.03em;text-transform:uppercase}.report-metric-card strong{font-size:1.25rem}.report-insight{color:#6c757d;color:var(--text-muted);margin:12px 2px 0;text-align:left}.report-insights{display:flex;flex-wrap:wrap;gap:10px}.report-insights .report-insight{background:#fff;background:var(--bg-card);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:999px;margin-top:8px;padding:8px 10px}.report-chart-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.report-chart{background:#fff;background:var(--bg-card);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:10px;padding:14px}.report-chart h3{color:#1f2937;color:var(--text-primary);font-size:1.05rem;margin:0 0 12px;text-align:left}.report-chart-list{display:flex;flex-direction:column;gap:12px;margin:0}.report-chart-item{display:flex;flex-direction:column;gap:6px;text-align:left}.report-chart-header{align-items:center;color:#1f2937;color:var(--text-primary);display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.report-chart-values{align-items:center;display:inline-flex;gap:8px}.report-share-pill{background:#0d6efd24;border:1px solid #0d6efd59;border-radius:999px;color:#1f2937;color:var(--text-primary);font-size:.75rem;padding:2px 8px}.report-chart-track{background:#e9eef3;background:var(--report-track);border-radius:999px;height:10px;overflow:hidden;width:100%}.report-chart-fill{background:linear-gradient(90deg,#0d6efd,#68a2ff);background:linear-gradient(90deg,var(--report-fill-start),var(--report-fill-end));border-radius:999px;height:100%}.report-chart-fill-income{background:linear-gradient(90deg,#10b981,#34d399)}.report-chart-fill-outflow{background:linear-gradient(90deg,#ef4444,#f97316)}.report-chart-meta{color:#6c757d;color:var(--text-muted);display:flex;gap:10px;justify-content:space-between}.report-chart-empty{color:#6c757d;color:var(--text-muted);margin:2px 0 0;text-align:left}.error-text{color:#b42318;color:var(--negative-text);margin-top:12px}.action-buttons{display:flex;gap:20px;justify-content:center;margin-top:20px}.transactions-filters{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start;margin-top:16px}.transactions-filters input,.transactions-filters select{background-color:#fff;background-color:var(--bg-input);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:6px;box-sizing:border-box;color:#1f2937;color:var(--text-primary);min-height:44px;padding:10px 12px}.filter-search{flex:1 1 360px;min-width:260px}.filter-select{flex:1 1 180px;max-width:220px;min-width:170px}.filter-date{flex:1 1 170px;max-width:190px;min-width:165px}.filter-clear-button{flex:0 0 auto;min-height:44px;white-space:nowrap}.filter-summary{color:#6c757d;color:var(--text-muted);margin-bottom:0;margin-top:10px;text-align:left}.action-buttons button,.form-buttons button{padding:10px 20px}button:disabled{background-color:#7ca6d7;background-color:var(--button-disabled);cursor:not-allowed}.secondary-button{background-color:#6c757d;background-color:var(--button-secondary)}.secondary-button:hover{background-color:#5a6268;background-color:var(--button-secondary-hover)}.icon-button{align-items:center;border-radius:8px;display:inline-flex;height:40px;justify-content:center;padding:0;width:40px}.icon-button svg{fill:currentColor;height:18px;width:18px}.icon-edit{background-color:#6c757d;background-color:var(--button-secondary)}.icon-edit:hover{background-color:#5a6268;background-color:var(--button-secondary-hover)}.icon-delete{background-color:#b42318;background-color:var(--button-danger)}.icon-delete:hover{background-color:#912018;background-color:var(--button-danger-hover)}.form-container{background-color:#fff;background-color:var(--bg-card);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 10px 28px #0f172a1f;box-shadow:0 10px 28px var(--shadow-color);margin-top:0;padding:20px}.form-modal-overlay{align-items:center;background-color:#11182794;background-color:var(--overlay-bg);display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:1200}.form-modal-content{max-height:calc(100vh - 48px);overflow:auto;position:relative;width:min(940px,100%)}.modal-close-button{background:#e8edf3;background:var(--close-bg);border-radius:999px;color:#4b5563;color:var(--close-text);font-size:1.35rem;height:36px;line-height:1;padding:0;position:absolute;right:12px;top:12px;width:36px;z-index:5}.modal-close-button:hover{background:#dce3ea;background:var(--close-bg-hover)}.transaction-form{margin:0 auto;max-width:900px}.transaction-form-title{font-size:2rem;line-height:1.2;margin:0 0 18px;padding-right:48px;text-align:left}.transaction-form-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.transaction-form-field{display:flex;flex-direction:column;gap:6px}.transaction-form-field-full{grid-column:1/-1}.transaction-form-field label{color:#6c757d;color:var(--text-muted);font-size:.9rem;font-weight:600}.transaction-form-field input,.transaction-form-field select{background-color:#fff;background-color:var(--bg-input);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:#1f2937;color:var(--text-primary);font-size:1.02rem;min-height:44px;padding:10px 12px;width:100%}.transaction-form-field input::placeholder{color:#6c757d;color:var(--text-muted)}.transaction-form-field input:focus,.transaction-form-field select:focus{border-color:#1b76e8;border-color:var(--focus-color);box-shadow:0 0 0 3px #1b76e833;box-shadow:0 0 0 3px var(--focus-ring);outline:none}.form-buttons{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.auth-section{display:flex;justify-content:center;margin-top:30px}.auth-card{background:#fff;background:var(--bg-card);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 10px 28px #0f172a1f;box-shadow:0 10px 28px var(--shadow-color);padding:22px;text-align:left;width:min(480px,100%)}.auth-card h2{margin:0 0 8px}.auth-subtitle{color:#6c757d;color:var(--text-muted);margin:0 0 16px}.auth-form{gap:12px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{color:#6c757d;color:var(--text-muted);font-size:.9rem;font-weight:600}.auth-field input{background-color:#fff;background-color:var(--bg-input);border:1px solid #d8dde3;border:1px solid var(--border-color);border-radius:8px;box-sizing:border-box;color:#1f2937;color:var(--text-primary);font-size:1.02rem;min-height:44px;padding:10px 12px;width:100%}.auth-field input:focus{border-color:#1b76e8;border-color:var(--focus-color);box-shadow:0 0 0 3px #1b76e833;box-shadow:0 0 0 3px var(--focus-ring);outline:none}.link-button{background:#0000;border:0;color:#0b6ee9;color:var(--button-primary);margin-top:10px;padding:0;text-align:left}.link-button:hover{background:#0000;color:#0056b3;color:var(--button-primary-hover)}.app-footer{border-top:1px solid #d8dde3;border-top:1px solid var(--border-color);color:#6c757d;color:var(--text-muted);font-size:.9rem;margin-top:28px;padding:14px 8px 8px;text-align:center}@media (max-width:900px){.report-chart-grid{grid-template-columns:1fr}.report-metrics,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.transactions-filters{justify-content:stretch}.filter-date,.filter-search,.filter-select{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1;max-width:none;min-width:0}.transaction-grid{grid-template-columns:1fr 1fr;min-width:100%}}@media (max-width:640px){.report-insights{flex-direction:column}.report-insights .report-insight{border-radius:10px}.report-metrics{grid-template-columns:1fr}.report-chart-meta{flex-direction:column;gap:2px}.summary-grid{grid-template-columns:1fr}.filter-clear-button,.filter-date,.filter-search,.filter-select{flex:1 1 100%;width:100%}.transaction-grid{grid-template-columns:1fr}.transaction-form-title{font-size:1.65rem}.transaction-form-grid{grid-template-columns:1fr}.form-modal-overlay{padding:10px}.form-modal-content{max-height:calc(100vh - 20px)}.form-buttons{flex-wrap:wrap;justify-content:stretch}.form-buttons button{flex:1 1 100%}.transaction-row-actions{justify-content:flex-start;width:100%}.theme-toggle-floating{right:10px;top:10px}}
/*# sourceMappingURL=main.7f07fb51.css.map*/