:root{--safe-area-inset-top:env(safe-area-inset-top,0px);--safe-area-inset-right:env(safe-area-inset-right,0px);--safe-area-inset-bottom:env(safe-area-inset-bottom,0px);--safe-area-inset-left:env(safe-area-inset-left,0px)}body,html{height:100%;margin:0;overscroll-behavior:none;padding:0;width:100%}body{-webkit-overflow-scrolling:touch}#root{height:100%;width:100%}.bottom-navigation{background-color:#2a2a2a;border-top:1px solid #333;bottom:0!important;box-shadow:0 -2px 10px #0000004d;display:flex;justify-content:space-around;left:0!important;min-height:80px;padding-bottom:calc(.75rem + env(safe-area-inset-bottom, 0px));padding-top:.75rem;position:fixed!important;right:0!important;transform:translateZ(0);-webkit-transform:translateZ(0);z-index:9999!important}.nav-button{align-items:center;background:none;border:none;border-radius:8px;color:#888;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;min-height:60px;min-width:70px;padding:.75rem;transition:color .2s ease,background-color .2s ease}.nav-button:hover{background-color:#333;color:#ccc}.nav-button.active{color:#3b82f6}.nav-label{font-size:.85rem;font-weight:500}@media (max-width:768px){.nav-button{min-height:55px;min-width:65px;padding:.6rem}.nav-label{font-size:.8rem}}.user-selection{-webkit-overflow-scrolling:touch;align-items:center;background-color:#1a1a1a;color:#fff;display:flex;flex-direction:column;height:100dvh;justify-content:flex-start;overflow-x:hidden;overflow-y:auto;padding:2rem 2rem calc(120px + env(safe-area-inset-bottom, 0px));width:100vw}.app-title{font-size:2.5rem;font-weight:700;margin-bottom:3rem;text-align:center}.users-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:600px;width:100%}.user-button{border:none;border-radius:16px;box-shadow:0 4px 12px #0000004d;color:#fff;cursor:pointer;font-size:1.5rem;font-weight:700;height:120px;transition:transform .2s ease,box-shadow .2s ease}.user-button:hover{box-shadow:0 8px 20px #0006;transform:translateY(-2px)}.user-button:active{transform:translateY(0)}.loading{font-size:1.2rem}.selected-user-info{align-items:center;background-color:#2a2a2a;border-radius:12px;display:flex;gap:.75rem;margin-bottom:2rem;padding:1rem}.user-color-indicator{height:16px;width:16px}.user-name{font-size:1.2rem;font-weight:700}.categories-grid{margin-bottom:2rem}.modal-content h4{color:#ccc;font-size:1rem;margin:0 0 .75rem}.existing-categories-section{margin-bottom:1.5rem}.existing-categories-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.existing-category-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:.25rem;padding:.75rem;position:relative;transition:transform .2s ease}.existing-category-btn:hover{transform:translateY(-1px)}.category-type{font-size:.75rem;font-weight:400;opacity:.8}.divider{margin:1rem 0;position:relative;text-align:center}.divider:before{background-color:#444;content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background-color:#2a2a2a;color:#888;font-size:.9rem;padding:0 1rem}.create-new-section{margin-bottom:1.5rem}.modal-content input{margin-bottom:0}@media (max-width:768px){.users-grid{gap:1.5rem;grid-template-columns:1fr}.user-button{font-size:1.3rem;height:100px}.app-title{font-size:2rem;margin-bottom:2rem}.categories-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);max-width:350px}.category-button{font-size:1rem;height:80px}.user-selection{padding:1rem 1rem calc(120px + env(safe-area-inset-bottom, 0px))}}.special-expenses-section{align-items:center;display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.large-expenses-btn,.recurring-expenses-btn{align-items:center;background:#2a2a2a;border:1px solid #444;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;justify-content:center;max-width:300px;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.large-expenses-btn:hover,.recurring-expenses-btn:hover{background:#3a3a3a;border-color:#555}.large-expenses-btn:active,.recurring-expenses-btn:active{transform:translateY(1px)}.large-expenses-btn{background:#2a2a2a;border-color:#444}.large-expenses-btn:hover{background:#3a3a3a;border-color:#555}.categories-screen{padding:1rem 0 2rem}.categories-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.categories-header h2{font-size:1.5rem;font-weight:700;margin:0}.add-category-btn{height:48px;width:48px}.categories-grid{grid-template-columns:repeat(2,1fr);margin-bottom:5rem;margin-left:auto;margin-right:auto;max-width:400px}.category-button{width:100%}.delete-category-btn{background-color:#0009;height:28px;opacity:0;width:28px}.category-item:hover .delete-category-btn{opacity:1}.delete-category-btn:hover{background-color:#ef4444cc}.empty-state p{font-size:1.1rem}@media (max-width:768px){.categories-grid{gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:5rem;max-width:350px}.category-button{font-size:1rem;height:80px}.modal-content{padding:1.5rem}}.add-amount-screen{padding:1rem 0 2rem}.add-amount-screen h2{font-size:1.5rem;font-weight:700;margin:0 0 2rem}.expense-header{gap:1rem}.category-indicator{align-items:center;background-color:#2a2a2a;border-radius:12px;display:flex;gap:.75rem;margin-bottom:2rem;padding:1rem}.category-label{color:#888;font-size:1rem;font-weight:500}.back-btn{color:#3b82f6}.back-btn:hover{color:#2563eb}.selected-category{border-radius:20px;color:#fff;font-size:.9rem;font-weight:700;padding:.5rem 1rem}.categories-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.category-button{border:none;border-radius:12px;box-shadow:0 2px 8px #0003;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;height:100px;transition:transform .2s ease,box-shadow .2s ease}.category-button:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.category-button:active{transform:translateY(0)}.category-header{margin-bottom:2rem}.category-header h2{margin:0}.add-category-btn{align-items:center;background-color:#3b82f6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:background-color .2s ease;width:40px}.add-category-btn:hover{background-color:#2563eb}.delete-mode-btn{align-items:center;background-color:#6b7280;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;transition:background-color .2s ease;width:40px}.delete-mode-btn:hover{background-color:#4b5563}.delete-mode-btn.active{background-color:#ef4444}.delete-mode-btn.active:hover{background-color:#dc2626}.category-item{position:relative}.delete-category-btn{align-items:center;background-color:#ef4444e6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;position:absolute;right:8px;top:8px;transition:background-color .2s ease;width:24px}.delete-category-btn:hover{background-color:#dc2626e6}.delete-category-btn:disabled{cursor:not-allowed;opacity:.5}.add-category-modal{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background-color:#2a2a2a;max-width:400px;padding:2rem;width:90%}.modal-content h3{font-size:1.3rem;margin:0 0 1rem}.modal-content input{background-color:#1a1a1a;border:1px solid #444;border-radius:8px;color:#fff;font-size:1rem;margin-bottom:1.5rem;padding:.75rem;width:100%}.modal-content input:focus{border-color:#3b82f6;outline:none}.modal-actions{display:flex;gap:1rem;justify-content:flex-end}.modal-actions button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem 1rem}.modal-actions button:first-child{background-color:#444;color:#fff}.modal-actions button:last-child{background-color:#3b82f6;color:#fff}.expense-form{display:flex;flex-direction:column;gap:1.5rem}.form-group input,.form-group select{background-color:#2a2a2a;border-radius:8px}.form-group select option{background-color:#2a2a2a;color:#fff}.submit-btn{background-color:#3b82f6;margin-top:1rem}.submit-btn:hover:not(:disabled){background-color:#2563eb}@media (max-width:768px){.expense-form{gap:1.25rem}.form-group input,.form-group select{padding:.65rem}.submit-btn{font-size:1rem;padding:.875rem}}.summary-screen{padding:1rem 0 2rem}.summary-screen h2{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.month-navigation{gap:1rem;margin-bottom:1.5rem}.month-navigation,.nav-btn{align-items:center;display:flex;justify-content:center}.nav-btn{background-color:#3b82f6;border:none;border-radius:50%;color:#fff;cursor:pointer;height:40px;transition:background-color .2s ease;width:40px}.nav-btn:hover{background-color:#2563eb}.month-display{background:none;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.2rem;font-weight:700;padding:.5rem 1rem;transition:background-color .2s ease}.month-display:hover{background-color:#2a2a2a}.period-selector{display:flex;gap:.5rem;margin-bottom:2rem}.period-btn{background-color:#2a2a2a;border:1px solid #444;border-radius:8px;color:#ccc;cursor:pointer;flex:1 1;font-weight:500;padding:.75rem;transition:all .2s ease}.period-btn:hover{background-color:#333}.period-btn.active{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.totals-section{background-color:#2a2a2a;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.total-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.total-item:last-child{border-top:1px solid #444;margin-bottom:0;padding-top:1rem}.total-label{color:#ccc;font-weight:500}.total-value{font-size:1.1rem;font-weight:700}.total-value.expense{color:#ef4444}.total-value.income,.total-value.positive{color:#10b981}.total-value.negative{color:#ef4444}.total-value.budgeted{color:#f59e0b}.divider{background-color:#444;height:1px;margin:.5rem 0}.categories-section h3{font-size:1.2rem;font-weight:700;margin:0 0 1rem}.category-list{display:flex;flex-direction:column;gap:1rem}.category-item{background-color:#2a2a2a;border-radius:12px;padding:1rem}.category-header{gap:.75rem;margin-bottom:.75rem}.category-name{font-weight:500}.category-actions{align-items:center;display:flex;gap:.5rem}.category-amount{color:#ccc;font-weight:700}.edit-budget-btn{background:none;border:none;border-radius:4px;color:#888;cursor:pointer;padding:.25rem;transition:color .2s ease,background-color .2s ease}.edit-budget-btn:hover{background-color:#333;color:#3b82f6}.progress-bar{background-color:#444;border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;position:relative;width:100%}.progress-segment{height:100%;position:absolute;top:0;transition:width .3s ease}.user-expenses-detail{background-color:#333;border-radius:8px;margin-top:1rem;padding:1rem}.user-expenses-detail h4{color:#ccc;font-size:1rem;margin:0 0 .75rem}.user-expense-item{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.user-expense-item:last-child{margin-bottom:0}.user-name{flex:1 1;font-weight:500}.transactions-list{margin-top:1rem}.transaction-item{align-items:flex-start;background-color:#1a1a1a;border-radius:6px;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.75rem}.transaction-item:last-child{margin-bottom:0}.transaction-user-color{border-radius:50%;flex-shrink:0;height:12px;margin-top:.25rem;width:12px}.transaction-details{flex:1 1}.transaction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.25rem}.transaction-user{color:#ccc;font-weight:500}.transaction-amount{font-weight:700}.transaction-actions{align-items:center;display:flex;gap:.5rem}.edit-expense-btn{align-items:center;background:none;border:none;border-radius:4px;color:#888;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:color .2s ease,background-color .2s ease}.edit-expense-btn:hover{background-color:#333;color:#3b82f6}.delete-expense-btn{align-items:center;background:none;border:none;border-radius:4px;color:#888;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:color .2s ease,background-color .2s ease}.delete-expense-btn:hover{background-color:#333;color:#ef4444}.expense-edit-form{width:100%}.expense-edit-header{margin-bottom:.75rem}.expense-edit-amount,.expense-edit-category,.expense-edit-note,.expense-edit-user{background-color:#0a0a0a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;margin-bottom:.5rem;padding:.5rem;width:100%}.expense-edit-amount:focus,.expense-edit-category:focus,.expense-edit-note:focus,.expense-edit-user:focus{border-color:#3b82f6;outline:none}.expense-edit-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.cancel-expense-btn,.save-expense-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:background-color .2s ease}.save-expense-btn{background-color:#3b82f6;color:#fff}.save-expense-btn:hover{background-color:#2563eb}.cancel-expense-btn{background-color:#444;color:#fff}.cancel-expense-btn:hover{background-color:#555}.transaction-meta{display:flex;flex-direction:column;gap:.25rem}.transaction-date{color:#888;font-size:.85rem}.transaction-note{color:#aaa;font-size:.85rem;font-style:italic}.category-footer{display:flex;justify-content:flex-end}.remaining-text{color:#888;font-size:.9rem}.empty-state{padding:2rem}.empty-state p{margin:0}.budget-edit{margin-top:.75rem}.budget-edit input{background-color:#1a1a1a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;margin-bottom:.75rem;padding:.5rem;width:100%}.budget-edit input:focus{border-color:#3b82f6;outline:none}.budget-edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.budget-edit-actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem}.budget-edit-actions button:first-child{background-color:#3b82f6;color:#fff}.budget-edit-actions button:nth-child(2){background-color:#444;color:#fff}.budget-edit-actions button:nth-child(3){background-color:#ef4444;color:#fff}.budget-edit-actions button:nth-child(3):hover{background-color:#dc2626}.loading{padding:2rem;text-align:center}@media (max-width:768px){.period-selector{gap:.25rem}.period-btn{font-size:.9rem;padding:.65rem}.totals-section{padding:1.25rem}.category-item{padding:.875rem}}.income-screen{padding:1rem 0}.income-screen h2{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem}.monthly-total{background-color:#2a2a2a;border-radius:12px;margin-bottom:2rem;padding:1.5rem;text-align:center}.total-label{color:#888;font-size:.9rem;margin-bottom:.5rem}.total-amount{color:#10b981;font-size:2rem;font-weight:700}.income-form{gap:1.5rem;margin-bottom:2rem}.form-group,.income-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#ccc}.form-group input{background-color:#2a2a2a;border:1px solid #444;border-radius:8px;color:#fff;font-size:1rem;padding:.75rem}.form-group input:focus{border-color:#3b82f6;outline:none}.input-help{color:#888;display:block;font-size:.8rem;margin-top:.25rem}.submit-btn{background-color:#10b981;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:700;padding:1rem;transition:background-color .2s ease}.submit-btn:hover:not(:disabled){background-color:#059669}.submit-btn:disabled{background-color:#444;cursor:not-allowed;opacity:.6}.success-message{background-color:#10b981;border-radius:8px;color:#fff;font-weight:500;margin-bottom:1.5rem;padding:1rem;text-align:center}.recent-income h3{font-size:1.2rem;font-weight:700;margin:0 0 1rem}.income-list{display:flex;flex-direction:column;gap:.75rem}.income-item{background-color:#2a2a2a;border-radius:8px;padding:1rem}.income-details{margin-bottom:.5rem}.income-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.income-user-color{border-radius:50%;height:12px;width:12px}.income-user-name{color:#ccc;flex:1 1;font-weight:500}.income-amount{color:#10b981;font-size:1.1rem;font-weight:700}.income-date{color:#888;font-size:.9rem}.income-note{color:#ccc;font-size:.9rem;font-style:italic}.income-actions{display:flex;gap:.5rem;margin-left:auto}.delete-btn,.edit-btn{transition:background-color .2s ease}.edit-btn:hover{background-color:#3b82f6;color:#fff}.delete-btn:hover{background-color:#ef4444;color:#fff}.income-edit-form{display:flex;flex-direction:column;gap:1rem}.income-edit-form .form-group{margin-bottom:0}.income-edit-form input{background-color:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;padding:.5rem;width:100%}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.cancel-btn,.save-btn{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.5rem 1rem}.save-btn{background-color:#10b981;color:#fff}.cancel-btn{background-color:#6b7280;color:#fff}.income-percentages{margin-bottom:2rem}.income-percentage-item{align-items:center;background-color:#2a2a2a;border-radius:8px;display:flex;gap:.75rem;margin-bottom:.75rem;padding:.75rem}.income-percentage-item:last-child{margin-bottom:0}.income-percentage-amount{color:#10b981;font-weight:700;margin-left:auto}@media (max-width:768px){.income-form{gap:1.25rem}.form-group input{padding:.65rem}.submit-btn{font-size:1rem;padding:.875rem}.monthly-total{padding:1.25rem}.total-amount{font-size:1.75rem}}.recurring-expenses-screen{color:#fff;min-height:100vh;padding:2rem 2rem 6rem}.back-btn{border-radius:4px}.back-btn:hover{background:#2a2a2a}.screen-header h2{font-size:1.5rem;font-weight:700;margin:0}.add-btn{background:#3b82f6;border-radius:8px;gap:.5rem;padding:.75rem}.add-btn:hover{background:#2563eb}.add-form{padding:1.5rem}.form-actions button{border-radius:6px;padding:.75rem;transition:all .2s ease}.form-actions button[type=button]{background:#444}.form-actions button[type=button]:hover{background:#555}.form-actions button[type=submit]{background:#3b82f6}.form-actions button[type=submit]:hover{background:#2563eb}.recurring-expenses-list h3{font-size:1.2rem;font-weight:700;margin:0 0 1rem}.empty-state svg{margin-bottom:1rem;opacity:.5}.category-total{font-size:1.1rem}.edit-category-btn{margin-left:.5rem;transition:color .2s ease,background-color .2s ease}.edit-category-btn:hover{color:#3b82f6}.category-edit-input,.category-edit-select{background-color:#1a1a1a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;padding:.5rem}.category-edit-input:focus,.category-edit-select:focus{border-color:#3b82f6;outline:none}.category-edit-select option{background-color:#1a1a1a;color:#fff}.category-edit-actions{justify-content:flex-end}.cancel-category-btn,.save-category-btn{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:500;padding:.4rem .8rem;transition:background-color .2s ease}.save-category-btn{background-color:#3b82f6}.save-category-btn:hover{background-color:#2563eb}.cancel-category-btn{background-color:#444}.cancel-category-btn:hover{background-color:#555}.delete-btn,.edit-btn{transition:all .2s ease}.edit-btn:hover{background:#3b82f61a}.delete-btn:hover{background:#ef44441a}.amount{color:#ef4444;font-size:1.5rem;font-weight:700}.note{color:#ccc}.user-info{margin-top:.5rem}.user-name{color:#888}@media (max-width:768px){.recurring-expenses-screen{padding:1rem 1rem 6rem}.expenses-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}}.large-expenses-screen{color:#fff;min-height:100vh;padding:2rem 2rem 6rem}.loading{align-items:center;color:#888;display:flex;font-size:1.1rem;height:200px;justify-content:center}.screen-header{display:flex;justify-content:space-between}.add-btn{align-items:center;background-color:#3b82f6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;transition:background-color .2s ease;width:48px}.add-btn:hover{background-color:#2563eb}.add-form{background:#2a2a2a;border:none;border-radius:12px;margin-bottom:2rem;padding:2rem}.add-form h3{font-size:1.2rem;font-weight:700;margin:0 0 1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:#e5e5e5;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group select{background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;outline:none}.form-group small{color:#888;display:block;font-size:.875rem;margin-top:.25rem}.category-selection{display:flex;flex-direction:column;gap:8px}.category-selection input{margin-top:8px}.calculation-preview{align-items:center;background:#1a2a1a;border:1px solid #10b981;border-radius:8px;color:#10b981;display:flex;font-size:1.1rem;gap:.5rem;margin:1rem 0;padding:1rem}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.form-actions button{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:1rem;font-weight:500;padding:.75rem 1rem;transition:background-color .2s ease}.form-actions button[type=button]{background-color:#374151;color:#fff}.form-actions button[type=button]:hover{background-color:#4b5563}.form-actions button[type=submit]{background-color:#3b82f6;color:#fff}.form-actions button[type=submit]:hover{background-color:#2563eb}.large-expenses-list h3{font-size:1.2rem;font-weight:700;margin:0 0 1.5rem}.empty-state{color:#888;padding:3rem 1rem;text-align:center}.empty-state p{font-size:1rem;margin:.5rem 0}.categories-container{display:flex;flex-direction:column;gap:2rem}.category-group{background:#2a2a2a;border:none;border-radius:12px;padding:1.5rem}.category-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.category-total{color:#3b82f6;font-size:1rem;font-weight:600;text-align:right}.expenses-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.expense-card{background:#2a2a2a;border:none;border-radius:12px;padding:1rem;transition:border-color .2s ease}.expense-card:hover{border-color:#444}.expense-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.expense-amount{color:#ef4444;font-size:1.5rem;font-weight:700}.expense-actions{display:flex;gap:.5rem}.delete-btn,.edit-btn{background:none;border:none;border-radius:4px;color:#888;cursor:pointer;padding:.25rem;transition:color .2s ease,background-color .2s ease}.edit-btn:hover{background-color:#3b82f61a;color:#3b82f6}.delete-btn:hover{background-color:#ef44441a;color:#ef4444}.category-indicator{border-radius:20px;color:#fff;font-size:.875rem;font-weight:500;padding:.5rem 1rem}.expense-details{display:flex;flex-direction:column;gap:.5rem}.monthly-info{color:#10b981;font-weight:500}.day-info,.monthly-info{align-items:center;display:flex;gap:.5rem}.day-info{color:#888;font-size:.875rem}.user-info{gap:.5rem}.user-color-indicator{border-radius:50%;height:12px;width:12px}.user-name{color:#ccc}.note{color:#888;font-size:.875rem;font-style:italic;margin-top:.5rem}.edit-category-btn{align-items:center;background:none;border:none;border-radius:4px;color:#888;cursor:pointer;display:flex;justify-content:center;padding:.25rem;transition:all .2s ease}.edit-category-btn:hover{background-color:#333;color:#fff}.category-edit-form{display:flex;flex-direction:column;gap:.75rem;width:100%}.category-edit-select{background-color:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;padding:.5rem}.category-edit-select:focus{border-color:#3b82f6;outline:none}.category-edit-input{background-color:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;font-size:.9rem;padding:.5rem}.category-edit-input:focus{border-color:#3b82f6;outline:none}.category-edit-actions{display:flex;gap:.5rem}.save-category-btn{background-color:#10b981;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.save-category-btn:hover{background-color:#059669}.cancel-category-btn{background-color:#6b7280;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s ease}.cancel-category-btn:hover{background-color:#4b5563}@media (max-width:768px){.large-expenses-screen{padding:1rem 1rem 6rem}.screen-header h1{font-size:1.5rem}.add-form{padding:1.5rem}.expenses-grid{grid-template-columns:1fr}.category-total{font-size:.9rem}}.analytics-screen{color:#fff;min-height:100vh;padding:2rem 2rem 6rem}.error,.loading{font-size:1.1rem}.screen-header{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;margin-bottom:2rem}.back-btn{background:none;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem;transition:background-color .2s ease}.back-btn:hover{background-color:#333}.screen-header h1{font-size:1.8rem;font-weight:700;margin:0;text-align:center}.header-stats{display:flex;gap:1rem}.year-navigation{align-items:center;background:#1a1a1a;border-radius:8px;display:flex;gap:20px;justify-content:center;margin:20px 0;padding:15px}.year-nav-button{background:#2a2a2a;border:1px solid #444;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;padding:8px 16px;transition:all .2s ease}.year-nav-button:hover{background:#3a3a3a;border-color:#666}.current-year{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.income-management-section{display:flex;justify-content:center;margin:20px 0}.income-management-button{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:8px;padding:12px 24px;transition:all .2s ease}.income-management-button:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #0000004d;transform:translateY(-1px)}.income-icon{font-size:1.2rem}.stat-item{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#888;font-size:.875rem}.stat-value{align-items:center;display:flex;font-size:1.2rem;font-weight:700;gap:.25rem}.chart-section{background:#2a2a2a;border:none;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.chart-section h3{font-size:1.2rem;font-weight:700;margin:0 0 1.5rem}.monthly-chart{background:#0000;gap:24px;height:300px;justify-content:space-between;min-width:100%;overflow-x:auto;padding:1.5rem 0}.month-bar,.monthly-chart{align-items:center;display:flex}.month-bar{border-right:1px solid #444;cursor:pointer;flex:1 1;flex-direction:column;gap:.5rem;min-width:60px;padding-right:12px;transition:transform .2s ease}.month-bar:last-child{border-right:none;padding-right:0}.month-bar:hover{transform:translateY(-3px)}.month-label{color:#fff;font-size:.9rem;font-weight:600;margin-top:8px;text-align:center}.bars-container{align-items:end;display:flex;flex-direction:row;gap:12px;height:150px;justify-content:center}.income-bar{background:linear-gradient(0deg,#10b981,#059669);border-radius:4px 4px 0 0;height:100%;width:40px}.expense-bar{background:#0000;border:2px solid #fff;border-radius:4px 4px 0 0;width:40px}.expense-bar,.expense-segments{display:flex;flex-direction:column;height:100%;justify-content:flex-end}.expense-segments{width:100%}.user-expense-segment{min-height:4px;transition:all .3s ease;width:100%}.net-indicator{border-radius:12px;color:#fff;font-size:.75rem;font-weight:700;margin-bottom:.5rem;padding:.25rem .5rem;white-space:nowrap}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{border:none;border-radius:12px;gap:1rem;padding:1.5rem}.stat-card,.stat-icon{align-items:center;background:#2a2a2a;display:flex}.stat-icon{border-radius:50%;color:#3b82f6;height:48px;justify-content:center;width:48px}.stat-content{flex:1 1}.stat-title{color:#888;font-size:.875rem;margin-bottom:.25rem}.stat-number{color:#fff;font-size:1.5rem;font-weight:700}.stat-subtitle{color:#666;font-size:.75rem}.modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#1a1a1a;border:1px solid #333;border-radius:12px;max-height:80vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #333;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3{font-size:1.2rem;font-weight:700;margin:0}.close-btn{background:none;border:none;border-radius:4px;color:#888;cursor:pointer;font-size:1.5rem;padding:.25rem;transition:color .2s ease}.close-btn:hover{color:#fff}.modal-body{padding:1.5rem}.month-summary{background:#2a2a2a;border-radius:8px;display:flex;flex-direction:column;gap:.75rem;margin-bottom:2rem;padding:1rem}.summary-item{align-items:center;display:flex;justify-content:space-between}.summary-label{color:#ccc;font-size:.875rem}.summary-value{font-size:1rem;font-weight:700}.summary-value.income{color:#10b981}.summary-value.expense{color:#ef4444}.user-breakdown{margin-bottom:2rem}.user-breakdown h4{color:#fff;font-size:1rem;font-weight:700;margin:0 0 1rem}.user-item{background:#2a2a2a;border-radius:8px;justify-content:space-between;margin-bottom:.5rem;padding:.75rem}.user-info,.user-item{align-items:center;display:flex}.user-info{gap:.75rem}.user-color{border-radius:50%;height:12px;width:12px}.user-name{color:#fff;font-size:.875rem}.user-amount{color:#ccc;font-size:.875rem;font-weight:700}.over-budget-section{margin-top:2rem}.over-budget-section h4{color:#ef4444;font-size:1rem;font-weight:700;margin:0 0 1rem}.over-budget-item{align-items:center;background:#2a1a1a;border:1px solid #ef4444;border-radius:8px;display:flex;gap:.75rem;margin-bottom:.5rem;padding:.75rem}.category-color{border-radius:50%;height:12px;width:12px}.category-name{color:#fff;flex:1 1;font-size:.875rem}.over-amount{color:#ef4444;font-size:.875rem;font-weight:700}@media (max-width:768px){.analytics-screen{padding:1rem 1rem 6rem}.screen-header{align-items:flex-start;flex-direction:column}.screen-header h1{font-size:1.5rem}.monthly-chart{align-items:center;flex-direction:row;gap:20px;height:250px;justify-content:flex-start;overflow-x:auto;padding:1rem 0 2rem;scroll-behavior:smooth}.month-bar{border-right:1px solid #444;min-width:70px;padding-right:10px}.month-bar:last-child{border-right:none;padding-right:0}.net-indicator{font-size:.7rem;margin-bottom:.3rem;padding:.2rem .4rem}.bars-container{align-items:end;flex-direction:row;height:120px;justify-content:center}.expense-bar,.income-bar{width:30px}.stats-grid{grid-template-columns:1fr}.stat-card{padding:1rem}.modal-content{margin:1rem;max-height:90vh}}.main-app{background-color:#1a1a1a;color:#fff;display:flex;flex-direction:column;height:100dvh;isolation:isolate;overflow:hidden;position:relative;width:100vw}.app-header{background-color:#2a2a2a;border-bottom:1px solid #333;flex-shrink:0;padding:1rem 1.5rem}.user-welcome{font-size:1.5rem;font-weight:700;margin:0}.app-content{-webkit-overflow-scrolling:touch;flex:1 1;overflow-x:hidden;overflow-y:auto;padding:1rem 1rem calc(100px + env(safe-area-inset-bottom, 0px))}.bottom-spacer{height:0}.error,.loading{align-items:center;color:#888;display:flex;font-size:1.2rem;height:200px;justify-content:center}.error{color:#ef4444}@media (max-width:768px){.app-header{padding:1rem}.user-welcome{font-size:1.3rem}.app-content{padding:.75rem .75rem calc(100px + env(safe-area-inset-bottom, 0px))}.bottom-spacer{height:0}}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.App,body{background-color:#1a1a1a}.App{height:100dvh;overflow:hidden;position:relative;width:100vw}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.087b7c2d.css.map*/