.budget-chart{background-color:var(--background-color);border-radius:var(--border-radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);border:1px solid var(--border-color);max-height:33vh;display:flex;flex-direction:column}.budget-chart h3{margin-top:var(--spacing-lg);margin-bottom:0;color:var(--text-color);font-size:1.3rem;text-align:center;flex-shrink:0}.chart-container{display:flex;justify-content:space-around;align-items:flex-end;gap:var(--spacing-lg);flex:1;overflow:visible;min-height:0;margin-top:var(--spacing-lg)}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.bar-label{font-weight:700;color:var(--text-color);text-align:center;font-size:1.05rem}.bar-container{display:flex;align-items:flex-end;gap:12px;height:100%;width:100%;justify-content:center;min-height:150px;max-height:220px;overflow:visible;position:relative;padding-top:20px}.bar{min-width:40px;position:relative;border-radius:var(--border-radius-md) var(--border-radius-md) 0 0;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.bar:hover{transform:scaleY(1.05);filter:brightness(1.1)}.budget-bar{background-color:#e8f4f8;border:2px solid var(--primary-color);opacity:.7}.spent-bar{min-width:35px;opacity:.9}.spent-bar.under-budget{background:linear-gradient(135deg,var(--success-color) 0%,#20c997 100%)}.spent-bar.over-budget{background:linear-gradient(135deg,var(--danger-color) 0%,#fd7e14 100%)}.bar-label-small{color:#000;font-weight:600;font-size:.7rem;text-shadow:0 1px 2px rgba(255,255,255,.3);padding:1px 2px;text-align:center;white-space:nowrap;overflow:hidden;position:absolute;bottom:2px;left:0;right:0}@media (max-width: 768px){.budget-chart{padding:var(--spacing-lg);overflow-x:auto;max-height:35vh}.chart-container{min-height:0;gap:var(--spacing-md);padding:0 var(--spacing-md)}.bar-container{min-height:120px;max-height:200px}.chart-bar-wrapper{gap:var(--spacing-sm);min-width:80px}.bar-label{font-size:.85rem}.bar-label-small{font-size:.7rem}}@media (max-width: 480px){.budget-chart{padding:var(--spacing-md);overflow-x:auto;max-height:35vh}.budget-chart h3{font-size:1.1rem}.chart-container{min-height:0;gap:var(--spacing-sm);padding:0 var(--spacing-sm)}.bar-container{min-height:100px;max-height:180px;gap:8px}.bar{min-width:30px}.spent-bar{min-width:25px}.bar-label{font-size:.75rem}.bar-label-small{font-size:.65rem;padding:4px}}.month-dropdown{background-color:var(--background-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;transition:all .2s ease;border:1px solid var(--border-color)}.month-dropdown:hover{box-shadow:var(--shadow-md)}.month-header{width:100%;background-color:var(--surface-color);border:none;padding:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);cursor:pointer;font-size:1rem;transition:background-color .2s ease}.month-header:hover{background-color:var(--border-color);color:var(--text-color)}.month-header:hover .month-name,.month-header:hover .budget-amount{color:var(--text-color)}.month-header.drag-over{background-color:#007bff1a;border-bottom:2px dashed var(--primary-color)}.month-left{display:flex;align-items:center;gap:var(--spacing-md);flex:1;text-align:left}.chevron{font-size:.8rem;transition:transform .3s ease;color:var(--text-light)}.month-name{font-size:1.2rem;font-weight:600;color:var(--text-color)}.budget-status{display:flex;align-items:center;gap:var(--spacing-md);flex:0 0 300px}.budget-amount{font-size:.95rem;font-weight:600;min-width:150px;text-align:right;white-space:nowrap}.budget-amount.over-budget{color:var(--danger-color)}.budget-amount.under-budget{color:var(--success-color)}.budget-indicator{flex:1;height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden;min-width:100px}.budget-bar-fill{height:100%;border-radius:4px;transition:all .3s ease}.month-content{padding:var(--spacing-lg);background-color:var(--background-color);border-top:1px solid var(--border-color)}.empty-state p{margin:0}.item-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;cursor:pointer;transition:all .2s ease;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-user-drag:element;-webkit-tap-highlight-color:transparent}@media (max-width: 768px){.month-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.budget-status{flex:1;width:100%;flex-direction:column;align-items:flex-start}.budget-amount{text-align:left;min-width:unset}.budget-indicator{width:100%;min-width:unset}.items-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}@media (max-width: 480px){.month-header{padding:var(--spacing-md)}.items-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.item-thumbnail{height:100px}}.modal-content{font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}.add-item-form{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);flex:1;overflow-y:auto}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-color);font-size:.95rem}.form-group input,.form-group select{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1rem;transition:all .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.form-group input[type=file]{padding:var(--spacing-sm);cursor:pointer}.image-preview{margin-top:var(--spacing-md);text-align:center}.image-preview img{max-width:100%;max-height:200px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-md)}.remove-image-btn{background-color:var(--danger-color);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-weight:500;transition:all .2s ease}.remove-image-btn:hover{background-color:#c82333}.form-actions button{flex:1;padding:var(--spacing-md);font-size:1rem;font-weight:600;border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.form-actions .btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px)}@media (max-width: 480px){.add-item-form{gap:var(--spacing-md)}.form-actions{flex-direction:column}.form-actions button{width:100%}}.modal-content.item-details{max-width:600px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}.item-details-body{padding:var(--spacing-lg);flex:1;overflow-y:auto}.item-image-container{text-align:center;margin-bottom:var(--spacing-lg)}.item-image-large{max-width:100%;max-height:300px;border-radius:var(--border-radius-md);box-shadow:var(--shadow-md)}.item-info{display:flex;flex-direction:column;gap:var(--spacing-md)}.info-row{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-md);background-color:var(--surface-color);border-radius:var(--border-radius-md)}.info-label{font-weight:600;color:var(--text-light);flex:0 0 100px}.info-value{color:var(--text-color);word-break:break-word;flex:1}.info-value a{color:var(--primary-color);text-decoration:none;transition:all .2s ease}.info-value a:hover{text-decoration:underline;color:var(--primary-dark)}.edit-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.edit-form .form-group{display:flex;flex-direction:column}.edit-form .form-group label{font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-color)}.edit-form .form-group input,.edit-form .form-group select{padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1rem;transition:all .2s ease}.edit-form .form-group input:focus,.edit-form .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.item-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.item-actions button{flex:1;padding:var(--spacing-md);font-weight:600;border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.item-actions .btn-secondary{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.item-actions .btn-secondary:hover{background-color:var(--border-color)}.item-actions .btn-danger{background-color:var(--danger-color);color:#fff}.item-actions .btn-danger:hover{background-color:#c82333}.form-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}.form-actions button{flex:1;padding:var(--spacing-md);font-weight:600;border:none;border-radius:var(--border-radius-md);cursor:pointer;transition:all .2s ease}.form-actions .btn-primary{background-color:var(--primary-color);color:#fff}.form-actions .btn-primary:hover{background-color:var(--primary-dark)}.form-actions .btn-secondary{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.form-actions .btn-secondary:hover{background-color:var(--border-color)}@media (max-width: 480px){.info-row{flex-direction:column;gap:var(--spacing-sm)}.info-label{flex:1}.item-actions{flex-direction:column}.item-actions button{width:100%}.form-actions{flex-direction:column}.form-actions button{width:100%}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:#fff;border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow:hidden;animation:slideUp .3s ease;display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);background-color:var(--surface-color)}.modal-header h2{margin:0;font-size:1.5rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-light);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{color:var(--text-color);background-color:var(--border-color);border-radius:var(--border-radius-md)}@media (max-width: 480px){.modal-content{width:95%;max-height:95vh}.modal-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.close-btn{align-self:flex-end}}.modal-content.settings{max-width:700px;max-height:90vh;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,sans-serif}.settings-content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.settings-section{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-color)}.settings-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.settings-section h3{font-size:1.5rem;margin-bottom:var(--spacing-md);color:var(--text-color)}.section-description{color:var(--text-light);font-size:1.1rem;margin-bottom:var(--spacing-lg)}.settings-option{margin-bottom:var(--spacing-lg)}.settings-option label{display:block;font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-color);font-size:1.15rem}.settings-option select{width:100%;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1.1rem;transition:all .2s ease}.settings-option select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.add-list-form{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.add-list-form input{flex:1;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1.1rem;font-size:1rem;transition:all .2s ease}.add-list-form input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff1a}.add-list-form button{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--primary-color);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.add-list-form button:hover{background-color:var(--primary-dark);transform:translateY(-2px)}.custom-lists h4{font-size:1.1rem;margin-bottom:var(--spacing-md);color:var(--text-color)}.list-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--surface-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);transition:all .2s ease}.list-item:hover{background-color:#f0f0f0}.list-info{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.list-name{font-weight:600;color:var(--text-color)}.list-count{color:var(--text-light);font-size:.9rem}.btn-delete{background-color:var(--danger-color);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--border-radius-md);cursor:pointer;font-weight:500;transition:all .2s ease;white-space:nowrap}.budgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.budget-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);transition:all .2s ease}.budget-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}.budget-display{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);cursor:pointer}.month-label{font-weight:600;color:var(--text-color);font-size:.95rem}.budget-amount{font-size:1.3rem;font-weight:700;color:var(--primary-color)}.budget-edit{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-edit input{padding:var(--spacing-md);border:1px solid var(--primary-color);border-radius:var(--border-radius-md);font-size:1rem;text-align:center;font-weight:600;transition:all .2s ease}.budget-edit input:focus{outline:none;box-shadow:0 0 0 3px #007bff1a}.edit-actions{display:flex;gap:var(--spacing-sm)}.edit-actions button{flex:1;padding:6px 12px;font-size:.85rem;border:none;border-radius:var(--border-radius-md);cursor:pointer;font-weight:600;transition:all .2s ease}.edit-actions .btn-primary{background-color:var(--primary-color);color:#fff}.budget-form-inline{margin-bottom:var(--spacing-lg)}.budget-form-inline label{display:block;font-weight:600;margin-bottom:var(--spacing-md);color:var(--text-color);font-size:1.15rem}.input-group{display:flex;gap:var(--spacing-md)}.input-group input{flex:1;padding:var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1.1rem;min-width:150px}.input-group button{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem;font-weight:600;min-width:140px;white-space:nowrap}.dropdown-section{margin-top:var(--spacing-lg)}.dropdown-toggle{width:100%;background-color:var(--surface-color);color:var(--text-color);padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1.15rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-toggle:hover{background-color:var(--border-color)}.custom-lists{margin-top:var(--spacing-lg)}.custom-list-item{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);overflow:hidden}.custom-list-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--surface-color);cursor:pointer;transition:background-color .2s ease}.custom-list-header:hover{background-color:var(--border-color)}.list-toggle{background:none;border:none;color:var(--text-color);font-size:1rem;cursor:pointer;padding:0;min-width:20px;text-align:center}.list-info{flex:1;display:flex;gap:var(--spacing-md);align-items:center}.list-name{font-weight:600;color:var(--text-color);font-size:1.1rem}.list-count{color:var(--text-light);font-size:1rem}.list-items-container{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--background-color)}.list-items-container .items-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.item-details-card{padding:var(--spacing-md);text-align:center}.item-title{font-weight:600;color:var(--text-color);font-size:.95rem;word-break:break-word;margin-bottom:var(--spacing-xs)}.item-price{color:var(--primary-color);font-weight:600;font-size:.9rem}.edit-actions .btn-primary:hover{background-color:var(--primary-dark)}.edit-actions .btn-secondary{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.edit-actions .btn-secondary:hover{background-color:var(--border-color)}.list-items-container{padding:var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--background-color);margin-top:var(--spacing-md)}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-top:var(--spacing-md)}.toggle-switch{display:flex;align-items:center;gap:var(--spacing-md)}.toggle-switch input[type=checkbox]{width:50px;height:28px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:14px;position:relative;transition:background-color .3s ease;outline:none}.toggle-switch input[type=checkbox]:checked{background-color:var(--primary-color)}.toggle-switch input[type=checkbox]:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform .3s ease}.toggle-switch input[type=checkbox]:checked:before{transform:translate(22px)}.toggle-label{font-weight:600;color:var(--text-color);min-width:40px}@media (max-width: 600px){.budgets-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.add-list-form{flex-direction:column}.add-list-form input,.add-list-form button{width:100%}}@media (max-width: 480px){.modal-content.settings{width:95%}.settings-content{padding:var(--spacing-md)}.budgets-grid{grid-template-columns:repeat(2,1fr)}.list-item{flex-direction:column;align-items:flex-start}.btn-delete{width:100%;margin-top:var(--spacing-md)}}.app{display:flex;flex-direction:column;height:100vh;background-color:var(--surface-color)}.app-header{background-color:var(--background-color);color:var(--text-color);padding:var(--spacing-lg) var(--spacing-xl);box-shadow:var(--shadow-md);z-index:10;border-bottom:1px solid var(--border-color)}.header-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.header-content h1{margin:0;font-size:2rem}.settings-btn{background-color:var(--primary-color);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--border-radius-md);cursor:pointer;font-weight:500;transition:all .2s ease;border:none}.settings-btn:hover{background-color:var(--primary-dark);transform:scale(1.05)}body.dark-mode .app-header{background-color:#1a1a1a;color:#f0f0f0;border-bottom-color:#3a3a3a}.app-main{flex:1;overflow-y:auto;padding:var(--spacing-xl);max-width:1200px;margin:0 auto;width:100%;position:relative}.content-sections{display:flex;flex-direction:column;gap:var(--spacing-xl)}.months-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.months-section h2,.custom-lists-section h2{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-lg);color:var(--text-color);border-bottom:2px solid var(--border-color);padding-bottom:var(--spacing-md)}.custom-lists-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.custom-list{background-color:#fff;border-radius:var(--border-radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.custom-list h3{margin-bottom:var(--spacing-md);color:var(--primary-color)}.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--spacing-md)}.item-card{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-md);overflow:hidden;cursor:pointer;transition:all .2s ease}.item-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.item-thumbnail{width:100%;height:120px;overflow:hidden;background-color:var(--surface-color);display:flex;align-items:center;justify-content:center}.item-thumbnail img{width:100%;height:100%;object-fit:cover}.item-info{padding:var(--spacing-md)}.item-title{font-size:.95rem;font-weight:600;margin-bottom:var(--spacing-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-price{font-size:1.1rem;font-weight:700;color:var(--success-color)}.add-item-btn{position:fixed;bottom:var(--spacing-xl);right:var(--spacing-xl);width:60px;height:60px;border-radius:50%;background-color:var(--primary-color);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all .2s ease;z-index:5}.add-item-btn:hover{background-color:var(--primary-dark);transform:scale(1.1);box-shadow:0 12px 28px #0003}.item-card.dragging{opacity:.5;cursor:grabbing}.item-card{cursor:grab}.item-card:active{cursor:grabbing}.month-content.drop-target{min-height:100px;transition:background-color .2s ease}.month-content.drag-over{background-color:#007bff1a;border:2px dashed var(--primary-color)}@media (max-width: 768px){.app-main{padding:var(--spacing-lg)}.app-header{padding:var(--spacing-md) var(--spacing-lg)}.header-content{flex-direction:column;gap:var(--spacing-md);text-align:center}.header-content h1{font-size:1.3rem;margin:0}.items-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.add-item-btn{bottom:var(--spacing-lg);right:var(--spacing-lg);width:50px;height:50px;font-size:1.5rem}}@media (max-width: 480px){.app-main{padding:var(--spacing-md)}.app-header{padding:var(--spacing-sm) var(--spacing-md)}.header-content h1{font-size:1rem;margin:0}.items-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.add-item-btn{bottom:var(--spacing-md);right:var(--spacing-md)}}@font-face{font-family:CustomFont;src:url(/assets/custom-font-tYfWvUGU.ttf) format("truetype");font-weight:400;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #007bff;--primary-dark: #0056b3;--primary-light: #e7f3ff;--success-color: #28a745;--danger-color: #dc3545;--warning-color: #ffc107;--info-color: #17a2b8;--text-color: #212529;--text-light: #6c757d;--background-color: #ffffff;--surface-color: #f8f9fa;--border-color: #dee2e6;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15)}body{font-family:CustomFont,Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--surface-color);color:var(--text-color)}html,body,#root{height:100%;width:100%}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);font-weight:600;line-height:1.4}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:var(--spacing-md);line-height:1.6;color:var(--text-light)}button{cursor:pointer;border:none;border-radius:var(--border-radius-md);font-size:1rem;font-weight:500;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s ease}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)}.btn-danger{background-color:var(--danger-color);color:#fff}.btn-danger:hover{background-color:#c82333}.btn-delete{background-color:var(--danger-color);color:#fff;padding:6px 12px;font-size:.875rem}.btn-delete:hover{background-color:#c82333}.btn-secondary.small,.btn-primary.small{padding:6px 12px;font-size:.875rem}input,select,textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:1rem;font-family:inherit;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-light)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--text-color)}.error-message{color:var(--danger-color);font-size:.875rem;margin-top:var(--spacing-sm)}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-md)}.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--text-light);background-color:var(--surface-color);border-radius:var(--border-radius-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--surface-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-light)}body.dark-mode{--text-color: #f0f0f0;--text-light: #b0b0b0;--background-color: #1a1a1a;--surface-color: #242424;--border-color: #3a3a3a}body.dark-mode input,body.dark-mode select,body.dark-mode textarea{background-color:#2a2a2a;color:#f0f0f0;border-color:#3a3a3a}body.dark-mode input:focus,body.dark-mode select:focus,body.dark-mode textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #007bff40}body.dark-mode .btn-secondary{background-color:#2a2a2a;color:#f0f0f0;border-color:#3a3a3a}body.dark-mode .btn-secondary:hover{background-color:#3a3a3a}body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{color:#f0f0f0}body.dark-mode p{color:#b0b0b0}body.dark-mode .modal-overlay{background-color:#000000b3}body.dark-mode .modal-content{background-color:#1a1a1a;border-color:#3a3a3a}body.dark-mode .modal-content.settings{background-color:#1a1a1a;color:#f0f0f0}body.dark-mode .settings-section{border-bottom-color:#3a3a3a}body.dark-mode .settings-section h3{color:#f0f0f0}body.dark-mode .section-description{color:#b0b0b0}body.dark-mode .budget-item{background-color:#2a2a2a;border-color:#3a3a3a}body.dark-mode .budget-display{background-color:#242424;color:#f0f0f0}body.dark-mode .budget-display:hover{background-color:#2a2a2a}body.dark-mode .list-item{background-color:#2a2a2a;border-color:#3a3a3a}body.dark-mode .list-name{color:#f0f0f0}body.dark-mode .list-count{color:#b0b0b0}body.dark-mode .custom-list-item{background-color:#242424;border-color:#3a3a3a}body.dark-mode .custom-list-header{background-color:#242424}body.dark-mode .custom-list-header:hover{background-color:#2a2a2a}body.dark-mode .list-items-container{background-color:#1a1a1a;border-top-color:#3a3a3a}body.dark-mode .item-card{background-color:#242424;border-color:#3a3a3a}body.dark-mode .item-card:hover{background-color:#2a2a2a;border-color:var(--primary-color)}body.dark-mode .month-dropdown{background-color:#242424;border-color:#3a3a3a}body.dark-mode .month-content{background-color:#1a1a1a;border-top-color:#3a3a3a}body.dark-mode .month-header:hover .month-name,body.dark-mode .month-header:hover .budget-amount,body.dark-mode .item-title{color:#f0f0f0}body.dark-mode .item-details{background-color:#1a1a1a}body.dark-mode .item-info{background-color:#2a2a2a}body.dark-mode .info-label{color:#b0b0b0}body.dark-mode .info-value,body.dark-mode .form-group label{color:#f0f0f0}body.dark-mode .toggle-switch{background-color:#1a1a1a;border-color:#3a3a3a}body.dark-mode .toggle-switch input:checked+.toggle-label{color:#28a745}body.dark-mode .color-picker-group label{color:#f0f0f0}body.dark-mode .color-value{color:#b0b0b0;background-color:#2a2a2a}body.dark-mode .bulk-budget-form{background-color:#2a2a2a;border-color:#3a3a3a;color:#f0f0f0}body.dark-mode .settings-option label{color:#f0f0f0}body.dark-mode .chart-container{background-color:#2a2a2a;border-color:#3a3a3a}body.dark-mode canvas{filter:brightness(1.1) contrast(1.1)}body.dark-mode .budget-chart,body.dark-mode .month-dropdown{background-color:#2a2a2a;border-color:#3a3a3a}body.dark-mode .month-header:hover{background-color:#3a3a3a}body.dark-mode .month-header:hover .month-name,body.dark-mode .month-header:hover .budget-amount{color:#f0f0f0}.toggle-switch{display:inline-flex;align-items:center;gap:var(--spacing-md)}.toggle-switch input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:50px;height:28px;background-color:#ccc;border-radius:14px;cursor:pointer;position:relative;border:none;padding:0;margin:0;transition:background-color .3s ease}.toggle-switch input[type=checkbox]:checked{background-color:#28a745}.toggle-switch input[type=checkbox]:after{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background-color:#fff;top:2px;left:2px;transition:transform .3s ease;box-shadow:0 2px 4px #0003}.toggle-switch input[type=checkbox]:checked:after{transform:translate(22px)}.toggle-switch input[type=checkbox]:active:after{width:26px}.toggle-label{font-weight:500;min-width:35px}body.dark-mode .toggle-switch input[type=checkbox]{background-color:var(--surface-color);border-color:#3a3a3a}body.dark-mode .toggle-switch input[type=checkbox]:checked{background-color:var(--primary-color)}body.dark-mode .toggle-label{color:#f0f0f0}
