*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}:root{--tg-theme-bg-color:#fff;--tg-theme-text-color:#000;--tg-theme-hint-color:#999;--tg-theme-link-color:#667eea;--tg-theme-button-color:#667eea;--tg-theme-button-text-color:#fff;--tg-viewport-height:100vh;--tg-viewport-stable-height:100vh}.App{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;min-height:var(--tg-viewport-height,100vh);transition:background .3s ease}.App.telegram-webapp{background:#fff;background:var(--tg-theme-bg-color,#fff);color:#000;color:var(--tg-theme-text-color,#000)}html[data-theme=dark]{color-scheme:dark}html[data-theme=dark] .App{background:#fff;background:var(--tg-theme-bg-color,#1a1a1a)}body{background:#fff;background:var(--tg-theme-bg-color,#fff);color:#000;color:var(--tg-theme-text-color,#000);margin:0;overflow-x:hidden;padding:0}@media (max-width:768px){.App{min-height:100vh;min-height:-webkit-fill-available}}.container{margin:0 auto;max-width:1200px;min-height:calc(100vh - 120px);min-height:calc(var(--tg-viewport-height, 100vh) - 120px);padding:100px 20px 20px}.App.telegram-webapp .container{padding-top:80px}@media (max-width:768px){.container{padding:70px 15px 80px}.App.telegram-webapp .container{padding-top:60px}}.loading{align-items:center;color:#fff;display:flex;font-size:24px;height:100vh;justify-content:center}.card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;padding:24px;transition:all .3s ease}.App.telegram-webapp .card{background:#fff;background:var(--tg-theme-bg-color,#fff);border:1px solid #0000001a;box-shadow:0 2px 4px #0000000d}html[data-theme=dark] .card{background:#fff;background:var(--tg-theme-bg-color,#2a2a2a);border-color:#ffffff1a}@media (max-width:768px){.card{border-radius:10px;margin-bottom:15px;padding:16px}}.card h2{color:#333;font-size:24px;margin-bottom:20px}.btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.App.telegram-webapp .btn-primary{background:#667eea;background:var(--tg-theme-button-color,#667eea);color:#fff;color:var(--tg-theme-button-text-color,#fff)}.btn-primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.App.telegram-webapp .btn-primary:hover{opacity:.9;transform:translateY(-1px)}@media (max-width:768px){.btn{font-size:15px;max-width:100%;padding:14px 20px;width:100%}}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268}.form-group{margin-bottom:20px}.form-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px;transition:border-color .3s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.table{border-collapse:collapse;margin-top:20px;width:100%}.table td,.table th{border-bottom:1px solid #e0e0e0;padding:12px;text-align:left}.table th{background:#f8f9fa;color:#333;font-weight:600}html[data-theme=dark] .table th{background:#fff;background:var(--tg-theme-bg-color,#2a2a2a);border-bottom-color:#ffffff1a;color:#000;color:var(--tg-theme-text-color,#fff)}.table tr:hover{background:#f8f9fa}html[data-theme=dark] .table tr:hover{background:#ffffff0d}html[data-theme=dark] .table td{border-bottom-color:#ffffff1a;color:#000;color:var(--tg-theme-text-color,#fff)}@media (max-width:768px){.table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.table thead{display:none}.table tbody,.table tr{display:block}.table tr{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:12px}html[data-theme=dark] .table tr{background:#fff;background:var(--tg-theme-bg-color,#2a2a2a);box-shadow:0 2px 4px #0000004d}.table td{border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;padding:8px 0;text-align:right}html[data-theme=dark] .table td{border-bottom-color:#ffffff1a}.table td:last-child{border-bottom:none}.table td:before{color:#666;content:attr(data-label);font-weight:600;margin-right:10px;text-align:left}html[data-theme=dark] .table td:before{color:#999;color:var(--tg-theme-hint-color,#999)}}.badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:4px 12px}.badge-success{background:#d4edda;color:#155724}.badge-warning{background:#fff3cd;color:#856404}.badge-danger{background:#f8d7da;color:#721c24}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:24px;transition:all .3s ease}.App.telegram-webapp .stat-card{background:#fff;background:var(--tg-theme-bg-color,#fff);border:1px solid #0000001a}html[data-theme=dark] .stat-card{background:#fff;background:var(--tg-theme-bg-color,#2a2a2a);border-color:#ffffff1a}@media (max-width:768px){.stat-card{padding:16px}.stat-card .value{font-size:24px}}.stat-card h3{color:#666;font-size:14px;margin-bottom:8px;text-transform:uppercase}.stat-card .value{color:#333;font-size:32px;font-weight:700}.stat-card .change{font-size:14px;margin-top:8px}.change.positive{color:#28a745}.change.negative{color:#dc3545}.toast{align-items:center;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;font-size:14px;gap:12px;line-height:1.5;max-width:500px;min-width:300px;opacity:0;padding:16px 20px;position:fixed;right:20px;top:20px;transform:translateX(400px);transition:all .3s ease-in-out;z-index:10000}.toast-visible{opacity:1;transform:translateX(0)}.toast-success{background:#10b981;color:#fff}.toast-error{background:#ef4444;color:#fff}.toast-info{background:#3b82f6;color:#fff}.toast-warning{background:#f59e0b;color:#fff}.toast-icon{flex-shrink:0;font-size:20px}.toast-message{flex:1 1;font-weight:500}.toast-close{align-items:center;background:none;border:none;color:inherit;cursor:pointer;display:flex;flex-shrink:0;font-size:24px;height:24px;justify-content:center;line-height:1;opacity:.8;padding:0;transition:opacity .2s;width:24px}.toast-close:hover{opacity:1}@media (max-width:768px){.toast{left:10px;max-width:none;min-width:auto;right:10px;top:10px;transform:translateY(-100px)}.toast-visible{transform:translateY(0)}}html[data-theme=dark] .toast{box-shadow:0 4px 12px #0006}.dashboard h1{color:#fff;font-size:36px;margin-bottom:30px}.recommendations-list{list-style:none;padding:0}.recommendations-list li{background:#f8f9fa;border-left:4px solid #667eea;border-radius:4px;margin-bottom:12px;padding:12px}.expenses h2{margin:0}.expense-form{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}html[data-theme=dark] .expense-form{background:#0003}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}@media (max-width:768px){.expense-form{padding:16px}.form-row{gap:15px;grid-template-columns:1fr}.expenses .card>div:first-child{flex-direction:column;gap:12px}.expenses .card>div:first-child button,.expenses .card>div:first-child>div{width:100%}}.expenses-feed{display:flex;flex-direction:column;gap:24px}.expenses-date-group{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}html[data-theme=dark] .expenses-date-group{background:#ffffff0d;box-shadow:0 2px 8px #0000004d}.date-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-weight:600;justify-content:space-between;padding:12px 16px}.date-label{font-size:14px;text-transform:capitalize}.date-total{font-size:16px;font-weight:700}.expenses-list{display:flex;flex-direction:column}.expense-item{border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px;transition:background-color .2s}.expense-item:last-child{border-bottom:none}.expense-item:hover{background-color:#f9fafb}html[data-theme=dark] .expense-item{border-bottom-color:#ffffff1a}html[data-theme=dark] .expense-item:hover{background-color:#ffffff0d}.expense-icon{align-items:center;background:#f3f4f6;border-radius:12px;display:flex;flex-shrink:0;font-size:32px;height:48px;justify-content:center;width:48px}html[data-theme=dark] .expense-icon{background:#ffffff1a}.expense-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.expense-main{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.expense-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.expense-category{color:#111827;font-size:16px;font-weight:600}html[data-theme=dark] .expense-category{color:#f9fafb}.expense-source{color:#6b7280;font-size:14px}html[data-theme=dark] .expense-source{color:#9ca3af}.expense-amount{color:#ef4444;font-size:18px;font-weight:700;white-space:nowrap}.expense-comment{color:#6b7280;font-size:14px;font-style:italic;margin-top:4px}html[data-theme=dark] .expense-comment{color:#9ca3af}@media (max-width:768px){.expenses-feed{gap:16px}.expense-item{gap:10px;padding:12px}.expense-icon{font-size:24px;height:40px;width:40px}.expense-category{font-size:15px}.expense-amount{font-size:16px}.date-header{align-items:flex-start;flex-direction:column;gap:4px;padding:10px 12px}.date-total{font-size:14px}}.sources-list{grid-gap:16px;display:grid;gap:16px}.source-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.source-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}html[data-theme=dark] .source-card{background:#ffffff0d;box-shadow:0 2px 8px #0000004d}.source-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.source-info h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}html[data-theme=dark] .source-info h3{color:#f9fafb}.source-currency{background:#f3f4f6;border-radius:4px;color:#6b7280;font-size:14px;padding:4px 8px}html[data-theme=dark] .source-currency{background:#ffffff1a;color:#9ca3af}.source-balance{color:#10b981;font-size:28px;font-weight:700}.source-actions{margin-bottom:12px}.btn-success{background:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .2s}.btn-success:hover{background:#059669}.income-form{background:#f8f9fa;border-radius:8px;margin-top:12px;padding:16px}html[data-theme=dark] .income-form{background:#0003}.form-actions{display:flex;gap:10px;margin-top:12px}.source-updated{color:#6b7280;font-size:12px;margin-top:8px}html[data-theme=dark] .source-updated{color:#9ca3af}@media (max-width:768px){.source-card{padding:16px}.source-header{flex-direction:column;gap:12px}.source-balance{font-size:24px}.form-actions{flex-direction:column}.form-actions button{width:100%}}.budgets h2{margin:0}.budget-form{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}html[data-theme=dark] .budget-form{background:#0003}.budgets-list{grid-gap:16px;display:grid;gap:16px}.budget-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.budget-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}html[data-theme=dark] .budget-card{background:#ffffff0d;box-shadow:0 2px 8px #0000004d}.budget-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px}.budget-info h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}html[data-theme=dark] .budget-info h3{color:#f9fafb}.budget-period{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-size:14px;padding:4px 8px}html[data-theme=dark] .budget-period{background:#ffffff1a;color:#9ca3af}.btn-delete{background:none;border-radius:4px;font-size:20px;padding:4px 8px}.btn-delete:hover{background:#fee2e2}html[data-theme=dark] .btn-delete:hover{background:#ef444433}.budget-progress{margin-bottom:16px}.progress-bar-container{background:#e5e7eb;border-radius:6px;display:flex;flex-direction:row;height:12px;margin-bottom:8px;overflow:hidden;width:100%}html[data-theme=dark] .progress-bar-container{background:#ffffff1a}.progress-bar-used{background:#e5e7eb}.progress-bar,.progress-bar-remaining,.progress-bar-used{height:100%;transition:width .3s ease}.progress-bar{border-radius:6px}.progress-text{font-size:14px;font-weight:600;text-align:right}.budget-details{grid-gap:12px;border-top:1px solid #e5e7eb;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);padding-top:16px}html[data-theme=dark] .budget-details{border-top-color:#ffffff1a}.budget-item{display:flex;flex-direction:column;gap:4px}.budget-label{color:#6b7280;font-size:12px;letter-spacing:.5px;text-transform:uppercase}html[data-theme=dark] .budget-label{color:#9ca3af}.budget-value{color:#111827;font-size:16px;font-weight:600}html[data-theme=dark] .budget-value{color:#f9fafb}.budget-value.spent{color:#ef4444}.budget-warning{background:#fee2e2;border-radius:6px;color:#991b1b;font-size:14px;font-weight:500;margin-top:12px;padding:12px}html[data-theme=dark] .budget-warning{background:#ef444433;color:#fca5a5}@media (max-width:768px){.budget-card{padding:16px}.budget-details{gap:8px;grid-template-columns:1fr}.budget-header{flex-direction:column;gap:12px}.btn-delete{align-self:flex-end}}.incomes h2{margin:0}.income-form,.settings-form{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}html[data-theme=dark] .income-form,html[data-theme=dark] .settings-form{background:#0003}.incomes-list{grid-gap:16px;display:grid;gap:16px}.income-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s,box-shadow .2s}.income-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}html[data-theme=dark] .income-card{background:#ffffff0d;box-shadow:0 2px 8px #0000004d}.income-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:12px}.income-info h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 4px}html[data-theme=dark] .income-info h3{color:#f9fafb}.income-type{background:#f3f4f6;border-radius:4px;color:#6b7280;display:inline-block;font-size:14px;padding:4px 8px}html[data-theme=dark] .income-type{background:#ffffff1a;color:#9ca3af}.income-amount{color:#10b981;font-size:24px;font-weight:700}.income-date{color:#6b7280;font-size:12px;margin-bottom:12px}html[data-theme=dark] .income-date{color:#9ca3af}.btn-delete{background:#fee2e2;border:none;border-radius:6px;color:#991b1b;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:background .2s}.btn-delete:hover{background:#fecaca}html[data-theme=dark] .btn-delete{background:#ef444433;color:#fca5a5}html[data-theme=dark] .btn-delete:hover{background:#ef44444d}.empty-state{color:#6b7280;padding:60px 20px;text-align:center}html[data-theme=dark] .empty-state{color:#9ca3af}@media (max-width:768px){.income-card{padding:16px}.income-header{flex-direction:column;gap:12px}.income-amount{font-size:20px}}.login-container{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;max-width:500px;padding:48px;text-align:center;width:100%}.login-card h1{color:#333;font-size:36px;margin-bottom:16px}.login-card p{color:#666;line-height:1.6;margin-bottom:32px}.login-card .btn{font-size:18px;padding:16px;width:100%}.login-info{border-top:1px solid #e0e0e0;margin-top:32px;padding-top:32px}.login-info p{color:#999;font-size:14px;margin:0}.navbar{box-shadow:0 2px 10px #0000001a;left:0;position:fixed;right:0;top:0;z-index:1000}.navbar,.navbar.telegram-webapp{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.navbar.telegram-webapp{background:var(--tg-theme-bg-color,#fffffff2)}html[data-theme=dark] .navbar{background:#1a1a1af2;background:var(--tg-theme-bg-color,#1a1a1af2)}.navbar-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:12px 20px}.navbar-brand{color:#667eea;font-size:20px;font-weight:700;text-decoration:none}.navbar.telegram-webapp .navbar-brand{color:#667eea;color:var(--tg-theme-link-color,#667eea)}.navbar-toggle{background:none;border:none;color:#333;cursor:pointer;display:none;font-size:24px;padding:8px}.navbar.telegram-webapp .navbar-toggle{color:#333;color:var(--tg-theme-text-color,#333)}.navbar-links{display:flex;gap:8px}.navbar-links a{align-items:center;border-radius:8px;color:#333;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 12px;text-decoration:none;transition:all .3s}.navbar.telegram-webapp .navbar-links a{color:#333;color:var(--tg-theme-text-color,#333)}.navbar-links a:hover{background:#f0f0f0}.navbar.telegram-webapp .navbar-links a:hover{background:#0000000d}html[data-theme=dark] .navbar-links a:hover{background:#ffffff1a}.navbar-links a.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.navbar.telegram-webapp .navbar-links a.active{background:#667eea;background:var(--tg-theme-button-color,#667eea);color:#fff;color:var(--tg-theme-button-text-color,#fff)}.nav-icon{font-size:18px}.nav-label{display:inline}.navbar-bottom{align-items:center;background:#fff;background:var(--tg-theme-bg-color,#fff);border-top:1px solid #0000001a;bottom:0;box-shadow:0 -2px 10px #0000000d;display:flex;justify-content:space-around;left:0;padding:8px 0;position:fixed;right:0;z-index:1000}html[data-theme=dark] .navbar-bottom{background:#1a1a1a;background:var(--tg-theme-bg-color,#1a1a1a);border-top-color:#ffffff1a}.navbar-bottom a{align-items:center;color:#999;color:var(--tg-theme-hint-color,#999);display:flex;flex:1 1;flex-direction:column;font-size:11px;gap:4px;max-width:80px;padding:8px 12px;text-decoration:none;transition:all .3s}.navbar-bottom a.active{color:#667eea;color:var(--tg-theme-button-color,#667eea)}.navbar-bottom .nav-icon{font-size:20px}.navbar-bottom .nav-label{font-size:10px;text-align:center}@media (max-width:768px){.navbar-container{padding:10px 15px}.navbar-brand{font-size:18px}.navbar-toggle{display:block}.navbar-links{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;box-shadow:0 4px 10px #0000001a;flex-direction:column;gap:4px;left:0;max-height:0;overflow:hidden;padding:10px;position:absolute;right:0;top:100%;transition:max-height .3s ease}.navbar.telegram-webapp .navbar-links{background:#fffffffa;background:var(--tg-theme-bg-color,#fffffffa)}html[data-theme=dark] .navbar-links{background:#1a1a1afa;background:var(--tg-theme-bg-color,#1a1a1afa)}.navbar-links.open{max-height:400px}.navbar-links a{justify-content:flex-start;padding:12px;width:100%}.nav-label{display:inline}.navbar.telegram-webapp{display:none}}
/*# sourceMappingURL=main.3f1fdf14.css.map*/