@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap);:root{--bg-primary:#0a1628;--bg-surface:#111d31;--bg-surface-hover:#162540;--bg-card:#13243d;--bg-input:#0f1d33;--bg-item:#13243d;--bg-item-paid:#0d1a2d;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-tertiary:#64748b;--text-muted:#475569;--accent:#2563eb;--accent-hover:#3b82f6;--accent-subtle:#2563eb1f;--accent-glow:#2563eb4d;--coral:#ff6154;--coral-bg:#ff61541f;--success:#10b981;--success-bg:#10b9811f;--warning:#f59e0b;--warning-bg:#f59e0b1f;--error:#ef4444;--error-bg:#ef44441f;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-bright:#ffffff26;--border-paid:#10b9814d;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"Inter",monospace;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 8px 32px #00000080;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px}[data-theme=light]{--bg-primary:#f8fafc;--bg-surface:#fff;--bg-surface-hover:#f1f5f9;--bg-card:#fff;--bg-input:#f8fafc;--bg-item:#fff;--bg-item-paid:#f0fdf4;--text-primary:#0f172a;--text-secondary:#475569;--text-tertiary:#94a3b8;--text-muted:#cbd5e1;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-subtle:#2563eb14;--accent-glow:#2563eb26;--coral:#ef4444;--coral-bg:#ef444414;--success:#059669;--success-bg:#05966914;--warning:#d97706;--warning-bg:#d9770614;--error:#dc2626;--error-bg:#dc262614;--border-subtle:#0000000a;--border-default:#00000014;--border-bright:#0000001f;--border-paid:#0596694d;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 32px #0000001f}body{background-color:#0a1628;color:#f1f5f9;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}code{font-family:Inter,monospace;font-family:var(--font-mono)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);font-family:var(--font-family)}body,h1,h2,h3,h4{color:var(--text-primary)}h1,h2,h3,h4{font-family:var(--font-display)}h1{font-size:2rem;font-weight:700}h2{font-size:1.5rem}h2,h3{font-weight:600}h3{font-size:1.25rem}h4{font-size:1.125rem;font-weight:500}.app,.expense-card,.income-card,.income-list,.modal-content,.modal-header,body{transition:background-color .3s ease,border-color .3s ease,color .25s ease,box-shadow .3s ease}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#fff3}[data-theme=light] ::-webkit-scrollbar-thumb{background:#0000001f}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#0003}.app{background:var(--bg-primary);min-height:100vh}.modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#000000bf;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{animation:modalSlideIn .3s ease-out;background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-lg);box-shadow:0 25px 60px #00000080;max-height:90vh;max-width:600px;overflow:hidden;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{align-items:center;background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);display:flex;justify-content:space-between;padding:1.5rem 2rem}.modal-header h2,.modal-header h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-tertiary);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.modal-close:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.modal-body{max-height:calc(90vh - 80px);overflow-y:auto;padding:0}.modal-body p{color:var(--text-secondary);font-size:.95rem;line-height:1.6}.modal-body .debt-form{background:#0000;border-radius:0;box-shadow:none;padding:2rem}.modal-footer{border-top:1px solid var(--border-subtle);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}@media (max-width:968px){.modal-content{max-height:95vh;width:95%}.modal-header{padding:1rem 1.5rem}.modal-body .debt-form{padding:1.5rem}}.debt-form,.income-form{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:2rem}.debt-form h2,.income-form h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.form-group input,.form-group select{background:var(--bg-primary);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;padding:.75rem 1rem;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.debt-form button[type=submit],.expense-form button[type=submit],.income-form button[type=submit]{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.debt-form button[type=submit]:hover,.expense-form button[type=submit]:hover,.income-form button[type=submit]:hover{background:var(--accent-hover);box-shadow:0 0 20px var(--accent-glow);transform:translateY(-1px)}.debt-form button[type=button],.expense-form button[type=button],.income-form button[type=button]{background:var(--bg-surface-hover);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:500;margin-bottom:1rem;padding:.75rem 1.5rem;transition:all .2s ease}.debt-form button[type=button]:hover,.expense-form button[type=button]:hover,.income-form button[type=button]:hover{background:var(--accent-subtle);border-color:var(--accent);color:var(--accent)}.calculation-result{animation:slideIn .3s ease-out;background:var(--accent-subtle);border:1px solid #2563eb4d;border-radius:var(--radius-sm);color:var(--accent-hover);font-family:var(--font-mono);font-weight:600;margin-top:.75rem;padding:.75rem 1rem;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-message{border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:1.5rem;padding:1rem}.error-message,.expense-form .error-message,.income-form .error-message{background:var(--error-bg);border:1px solid #ef444433;color:var(--error);font-weight:500}.expense-form .error-message,.income-form .error-message{animation:shake .3s ease-in-out;border-radius:6px;display:block;font-size:.875rem;margin-top:.5rem;padding:.5rem .75rem}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.income-form-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;transition:all .3s ease}.income-form-container:hover{border-color:var(--border-bright)}.income-form{background:#0000;border:none;box-shadow:none;padding:0}.income-form .form-title{-webkit-text-fill-color:initial;-webkit-background-clip:initial;background-clip:initial;background:none;color:var(--accent);font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin-bottom:2rem;padding:2rem 2rem 0;text-align:center}.income-form form{padding:0 2rem 2rem}.income-form .form-group{margin-bottom:1.75rem}.income-form .form-label{color:var(--text-secondary);display:block;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.income-form .form-input,.income-form .form-select{background:var(--bg-primary);border:1px solid var(--border-bright);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-body);font-size:1rem;padding:.875rem 1.25rem;transition:all .2s ease;width:100%}.income-form .form-input:focus,.income-form .form-select:focus{background:var(--bg-primary);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);outline:none}.income-form .form-input::placeholder{color:var(--text-tertiary)}.income-form .form-group.error .form-input,.income-form .form-group.error .form-select{background:var(--error-bg);border-color:var(--error)}.income-form-container .form-actions{align-items:stretch;display:flex;flex-direction:row;gap:1rem;height:48px;margin-top:2rem;min-height:48px;width:100%}.income-form-container .form-actions.two-buttons{justify-content:space-between}.income-form-container .form-actions.one-button{justify-content:center}.income-form-container .form-actions button{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;flex:1 1;font-size:1rem;font-weight:600;height:48px;justify-content:center;margin:0;max-width:200px;min-height:48px;padding:0 2rem;transition:all .2s ease}.income-form-container .form-actions .btn-primary,.income-form-container .form-actions .btn.btn-primary{background:var(--accent);box-shadow:0 0 15px var(--accent-glow);color:#fff}.income-form-container .form-actions .btn-primary:hover,.income-form-container .form-actions .btn.btn-primary:hover{background:var(--accent-hover);box-shadow:0 0 25px var(--accent-glow);transform:translateY(-1px)}.income-form-container .form-actions .btn-secondary,.income-form-container .form-actions .btn.btn-secondary{background:var(--bg-surface-hover);border:1px solid var(--border-bright);color:var(--text-secondary)}.income-form-container .form-actions .btn-secondary:hover,.income-form-container .form-actions .btn.btn-secondary:hover{background:var(--bg-primary);color:var(--text-primary)}.income-form-container .form-actions.one-button button{max-width:300px}.income-list{background:#0000;border:none;box-shadow:none;padding:0}.income-list h3{margin-bottom:2rem}.income-list-header{align-items:center;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;justify-content:space-between;margin-bottom:2rem;padding:1.25rem 1.5rem}.income-list-header h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.35rem;font-weight:700;margin:0}.income-count{background:var(--accent);border-radius:100px;color:#fff;font-size:.8rem;font-weight:600;padding:.375rem .875rem}.income-items{grid-gap:1rem;display:grid;gap:1rem}.income-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.income-card:before{background:var(--accent);content:"";height:3px;left:0;position:absolute;right:0;top:0}.income-card:hover{border-color:var(--border-bright);box-shadow:0 0 30px #2563eb14;transform:translateY(-2px)}.income-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.income-name-with-toggle{align-items:center;display:flex;gap:0}.income-name{color:var(--text-primary);font-family:var(--font-display);font-size:1.125rem;font-weight:600;margin:0}.income-name-with-toggle .toggle-dot{margin-right:8px}.frequency-badge{border-radius:100px;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.3rem .75rem;text-transform:uppercase}.badge-weekly{background:var(--success-bg);color:var(--success)}.badge-biweekly{background:#4ecdc41a;color:#4ecdc4}.badge-monthly{background:var(--accent-subtle);color:var(--accent)}.badge-yearly{background:var(--warning-bg);color:var(--warning)}.income-card-body{grid-gap:.5rem;display:grid;gap:.5rem;margin-bottom:1rem}.income-amount,.income-monthly{align-items:center;background:var(--bg-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:.625rem .75rem}.amount-label,.monthly-label{color:var(--text-tertiary);font-size:.8rem;font-weight:500}.amount-value{color:var(--text-primary);font-family:var(--font-mono);font-size:1.125rem;font-weight:700}.monthly-value{color:var(--accent);font-family:var(--font-mono);font-size:1rem;font-weight:600}.income-card-actions{border-top:1px solid var(--border-subtle);display:flex;gap:.5rem;justify-content:flex-end;padding-top:1rem}.btn-icon{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;font-size:16px;height:38px;justify-content:center;transition:all .2s ease;width:38px}.btn-icon:hover{background:var(--accent-subtle);color:var(--accent)}.btn-edit{background:#0000;color:var(--text-secondary)}.btn-edit:hover{background:var(--accent-subtle);color:var(--accent)}.btn-delete{background:#0000;color:var(--text-secondary)}.btn-delete:hover{background:var(--error-bg);color:var(--error)}.toggle-dot{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin:0 8px 0 0;padding:4px;position:relative;width:24px;z-index:1}.toggle-dot:hover{background:#ffffff0f;transform:scale(1.15)}.toggle-dot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toggle-dot .dot{border-radius:50%;display:block;height:10px;pointer-events:none;width:10px}.toggle-dot.included .dot{background-color:var(--success)}.toggle-dot.excluded .dot{background-color:var(--error)}.income-list-empty{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:4rem 2rem;text-align:center}.empty-state{margin:0 auto;max-width:300px}.empty-icon{color:var(--text-tertiary);height:80px;margin:0 auto 1.5rem;width:80px}.empty-text{color:var(--text-secondary);font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-subtext{color:var(--text-tertiary);font-size:.9rem}.income-summary{margin-top:2rem}.summary-card{background:var(--bg-surface);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);overflow:hidden;padding:2rem;position:relative;text-align:center}.summary-card:before{background:var(--accent);content:"";height:3px;left:0;position:absolute;right:0;top:0}.summary-label{color:var(--text-secondary);font-size:.8rem;font-weight:600;letter-spacing:1px;margin-bottom:.75rem;text-transform:uppercase}.summary-value{color:var(--text-primary);font-family:var(--font-mono);font-size:2.25rem;font-weight:700}.expense-form-container{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);overflow:hidden}.expense-form{background:#0000;box-shadow:none;padding:2rem}.expense-form h3{color:var(--text-primary);font-family:var(--font-display);font-size:1.5rem;font-weight:600;margin-bottom:1.5rem}.expense-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.delete-confirm-modal{animation:modalSlideIn .3s ease-out;background:var(--bg-surface);border:1px solid var(--border-bright);border-radius:var(--radius-lg);box-shadow:0 10px 40px #0006;max-width:500px;padding:0;width:90%}.dont-ask-checkbox{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.9rem;gap:8px;margin-top:16px;-webkit-user-select:none;user-select:none}.dont-ask-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer;height:18px;width:18px}.btn-cancel,.btn-delete{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 24px;transition:all .2s}.btn-cancel{background:var(--bg-surface-hover);color:var(--text-secondary)}.btn-cancel:hover{background:var(--bg-primary);color:var(--text-primary)}.btn-delete{background:var(--error);color:#fff}.btn-delete:hover{background:#dc2626;box-shadow:0 4px 12px #ef44444d}.recharts-cartesian-grid line{stroke:#ffffff0d!important}.recharts-text{fill:var(--text-secondary)!important;font-family:var(--font-mono)!important;font-size:11px!important}.recharts-legend-item-text{color:var(--text-secondary)!important;font-family:var(--font-body)!important}.recharts-tooltip-wrapper .recharts-default-tooltip{-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;background:var(--bg-surface)!important;border:1px solid var(--border-bright)!important;border-radius:var(--radius-sm)!important;box-shadow:0 8px 32px #0006!important}.recharts-tooltip-label{color:var(--text-primary)!important;font-weight:600!important}.recharts-tooltip-item{color:var(--text-secondary)!important}[role=button]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.4}button:disabled,button:disabled:hover{box-shadow:none;transform:none}::placeholder{color:var(--text-tertiary)}.expense-card,.income-card{transition:all .3s ease}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.expense-card,.income-card{animation:fadeSlideIn .3s ease-out}@media (max-width:768px){.debt-form,.income-form,.income-list{padding:1.5rem}}[data-theme=light] .recharts-cartesian-grid line{stroke:#0000000f!important}[data-theme=light] .recharts-text{fill:var(--text-secondary)!important}[data-theme=light] .recharts-legend-item-text{color:var(--text-secondary)!important}[data-theme=light] .recharts-tooltip-wrapper .recharts-default-tooltip{background:var(--bg-surface)!important;border:1px solid var(--border-bright)!important;box-shadow:var(--shadow-lg)!important}[data-theme=light] .recharts-tooltip-label{color:var(--text-primary)!important}[data-theme=light] .recharts-tooltip-item{color:var(--text-secondary)!important}[data-theme=light] .toggle-dot:hover{background:#0000000f}.ant-empty-description{color:var(--text-tertiary)!important}.ant-checkbox-wrapper{color:var(--text-secondary)!important}.ant-tag{border:none!important}.ant-btn-text{color:var(--text-secondary)!important}.ant-btn-text:hover{background:var(--accent-subtle)!important;color:var(--accent)!important}.ant-dropdown-menu,.ant-message-notice-content,.ant-modal-content{background:var(--bg-surface)!important;border:1px solid var(--border-bright)!important}.ant-message-notice-content{color:var(--text-primary)!important}@keyframes klaro-spin{to{transform:rotate(1turn)}}@keyframes klaro-pulse{0%,to{opacity:1}50%{opacity:.4}}
/*# sourceMappingURL=main.d46fdee3.css.map*/