.wallet-container{display:flex;background-color:#84A4A1;min-height:100vh;padding:30px;color:#235055;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.wallet-content{flex-grow:1;margin-left:250px;padding:20px}.wallet-title{font-size:2.5rem;margin-bottom:10px;color:#235055}hr.section-line{border:1px solid #235055;margin:20px 0;opacity:.5}h2{color:#235055;font-size:1.8rem;margin:15px 0}.budget-card{width:250px;height:250px;background:white;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 4px 15px rgba(0,0,0,.1);cursor:pointer;transition:transform .2s,box-shadow .2s}.budget-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px rgba(0,0,0,.15)}.progress-circle-container{margin-bottom:10px}.progress-circle,.progress-circle-container{position:relative;display:flex;align-items:center;justify-content:center}.progress-bg{stroke:#ECECEC}.progress-bar{transition:stroke-dashoffset .5s ease,stroke .5s ease}.progress-info{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-amount{font-size:24px;font-weight:700;color:#235055}.progress-label{font-size:14px;color:#84A4A1;margin-top:5px}.limit-label{top:10px}.budget-label{font-size:18px;font-weight:700;color:#235055;margin-top:10px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:white;border-radius:16px;padding:30px;width:400px;box-shadow:0 10px 25px rgba(0,0,0,.2)}.modal-content h2{text-align:center;margin-bottom:25px;color:#235055}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;color:#235055;font-weight:500}.input-group input{width:100%;padding:12px 15px;border:2px solid #84a4a1;border-radius:8px;font-size:16px;color:#235055;background-color:#f5f5f5;outline:none;transition:border-color .3s}.input-group input:focus{border-color:#235055;background-color:white}.modal-actions{display:flex;justify-content:space-between;margin-top:25px}.modal-button{padding:12px 25px;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s,transform .2s}.modal-button.save{background-color:#235055;color:white}.modal-button.save:hover{background-color:#1a3c40;transform:translateY(-2px)}.modal-button.cancel{background-color:#e0e0e0;color:#333}.modal-button.cancel:hover{background-color:#d0d0d0}.categories{display:flex;gap:15px;flex-wrap:wrap;margin:20px 0}.category-card{background:white;padding:15px;border-radius:12px;width:150px;text-align:center;box-shadow:0 3px 10px rgba(0,0,0,.1);transition:transform .2s}.category-card:hover{transform:translateY(-3px)}.category-name{font-weight:600;margin-bottom:5px;color:#235055}.category-amount{font-size:18px;font-weight:700}.table-container{margin-top:15px;background:white;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,.05);width:100%;overflow:visible}.expense-table{width:100%;border-collapse:collapse;table-layout:fixed}.expense-table th{padding:15px;text-align:left;background-color:#235055;color:white;font-weight:500}.expense-table th:first-child{border-top-left-radius:12px}.expense-table th:last-child{border-top-right-radius:12px}.expense-table td{padding:15px;border-bottom:1px solid #eaeaea}.expense-table tr:last-child td{border-bottom:none}.date-column,.name-column{width:25%}.amount-column{width:20%}.category-column{width:30%}.date-cell,.date-picker{position:relative}.date-picker{display:flex;align-items:center}.calendar-icon{margin-right:10px;color:#235055;cursor:pointer}.calendar-icon:hover{color:#3a7b83}.formatted-date{color:#235055}.custom-calendar{position:absolute;top:100%;left:0;z-index:100;background:white;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.15);width:280px;margin-top:10px;padding:15px;transform:translateY(0)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-title{font-weight:600;color:#235055}.calendar-nav{background:none;border:none;color:#235055;font-size:16px;cursor:pointer;padding:5px 10px;border-radius:50%;transition:background-color .2s}.calendar-nav:hover{background-color:rgba(35,80,85,.1)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:500;color:#235055;margin-bottom:10px}.calendar-weekdays div{padding:5px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px}.calendar-day{height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:background-color .2s}.calendar-day.active:hover{background-color:rgba(35,80,85,.1)}.calendar-day.empty{cursor:default}.editable-cell{position:relative}.editable-content{outline:none;display:inline-block;min-width:50px;color:#235055;padding:5px 0;border-bottom:1px dashed transparent;transition:border-color .2s}.editable-content:hover{border-bottom-color:#84A4A1}.editable-content:focus{border-bottom-color:#235055}.editable-content:empty:before{content:attr(data-placeholder);color:#aaa}.amount-cell{position:relative;display:flex;align-items:center}.currency-symbol{margin-right:5px;color:#235055;font-weight:700}.category-cell,.category-selector{position:relative}.category-btn{padding:8px 16px;border:none;border-radius:20px;color:#235055;font-weight:500;cursor:pointer;min-width:150px;text-align:center;transition:transform .2s}.category-btn:hover{transform:translateY(-2px)}.category-dropdown{position:absolute;top:100%;left:0;z-index:1000;background:white;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.15);padding:10px;margin-top:5px;display:flex;flex-direction:column;gap:5px;width:180px}.category-option{padding:8px 12px;border:none;border-radius:15px;cursor:pointer;text-align:left;color:#235055;font-weight:500;transition:transform .2s}.category-option:hover{transform:translateX(5px)}.add-expense-row{cursor:pointer;text-align:center;color:#235055;font-weight:500;transition:background-color .2s}.add-expense-row:hover{background-color:rgba(35,80,85,.05)}.add-expense-row td{padding:15px}.limit-marker{opacity:.8}.limit-label{position:absolute;top:-20px;font-size:12px;color:#235055;font-weight:700;background-color:rgba(255,255,255,.8);padding:2px 8px;border-radius:10px;box-shadow:0 2px 4px rgba(0,0,0,.1)}