html,body,*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background-color:#f5f7fa;flex-direction:column;font-family:Roboto,-apple-syst em,BlinkMacSystemFont,Segoe UI,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.5;display:flex}input,button,select,textarea{font-family:inherit}button{font-weight:500}.app-container{flex-direction:column;flex:1;width:100%;max-width:800px;margin:0 auto;padding:15px;display:flex;overflow:hidden}header{text-align:center;flex-shrink:0;margin-bottom:15px}header h1{color:#2c3e50;font-size:2rem;font-weight:700}header p{color:#7f8c8d;font-size:.9rem}.app-content{flex-direction:column;flex:1;gap:15px;min-height:0;display:flex}.input-card,.results-card,.total-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 10px 25px #0000000d}.input-card{flex-shrink:0}.results-card{flex-direction:column;display:flex;overflow:hidden}.total-card{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.total-card .total-label{color:#2c3e50;font-size:1rem;font-weight:500}.total-card .total-amount{color:#2c3e50;font-size:1.2rem;font-weight:700}.results-card h2{color:#2c3e50;flex-shrink:0;margin-bottom:10px;font-size:1.4rem}.form-group{margin-bottom:12px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}label{color:#444;margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}input{border:1px solid #ddd;border-radius:8px;width:100%;padding:10px;font-size:.95rem}.form-actions{gap:8px;display:flex}.add-btn,.cancel-btn{color:#fff;cursor:pointer;border:none;border-radius:8px;flex:1;padding:12px;font-size:1rem}.add-btn{background-color:#3498db}.cancel-btn{background:#e74c3c}.add-btn:hover{background-color:#2980b9}.cancel-btn:hover{background:#c0392b}.table-wrapper{border:1px solid #eee;border-radius:8px;flex:1;min-height:0;overflow:auto}table{border-collapse:separate;border-spacing:0;width:100%;min-width:400px}th,td{text-align:left;border-bottom:1px solid #eee;padding:10px 12px}td:first-child,th:first-child{word-break:break-word}.description-wrapper{align-items:center;gap:0;display:flex}.description-text{flex:1;min-width:0}.drag-handle{cursor:grab;color:#95a5a6;-webkit-user-select:none;user-select:none;opacity:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' d='M0 0h24v24H0z'/%3E%3Cpath fill='currentColor' d='M9 20q-.825 0-1.412-.587T7 18t.588-1.412T9 16t1.413.588T11 18t-.587 1.413T9 20m6 0q-.825 0-1.412-.587T13 18t.588-1.412T15 16t1.413.588T17 18t-.587 1.413T15 20m-6-6q-.825 0-1.412-.587T7 12t.588-1.412T9 10t1.413.588T11 12t-.587 1.413T9 14m6 0q-.825 0-1.412-.587T13 12t.588-1.412T15 10t1.413.588T17 12t-.587 1.413T15 14M9 8q-.825 0-1.412-.587T7 6t.588-1.412T9 4t1.413.588T11 6t-.587 1.413T9 8m6 0q-.825 0-1.412-.587T13 6t.588-1.412T15 4t1.413.588T17 6t-.587 1.413T15 8'/%3E%3C/svg%3E") 50%/contain no-repeat;flex-shrink:0;width:0;height:1rem;transition:all .2s ease-in-out;overflow:hidden}@media (pointer:coarse){.drag-handle{display:none}}@media (pointer:fine){#expense-list:not(.dragging) tr:hover .drag-handle{opacity:1;width:1rem;margin-right:4px}}.drag-handle:active{cursor:grabbing}.clickable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s}.clickable-header:hover{color:#1f2937;background:#e5e7eb}.clickable-header:active{background:#d1d5db}th{color:#7f8c8d;text-transform:uppercase;z-index:10;background:#fafafa;font-size:.8rem;font-weight:700;position:sticky;top:0}.sortable-ghost{opacity:.4;background-color:#e8f4fd!important}.sortable-ghost .edit-btn,.sortable-ghost .delete-btn,.sortable-drag .edit-btn,.sortable-drag .delete-btn{visibility:hidden}.edit-btn,.delete-btn{cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;line-height:1;transition:background-color .2s;display:inline-flex}.delete-btn{color:#ff7675;font-size:1.5rem}.delete-btn:hover{background-color:#fff0f0}.edit-btn{color:#3498db;font-size:1rem}.edit-btn:hover{background-color:#e8f4fd}td:last-child{text-align:right;white-space:nowrap;vertical-align:middle;width:72px}.empty-state{text-align:center;color:#95a5a6;padding:40px;font-style:italic}.table-wrapper::-webkit-scrollbar{width:6px;height:6px}.table-wrapper::-webkit-scrollbar-thumb{background:#ccc;border-radius:10px}@media (height<=700px){.app-container{padding:10px}header{margin-bottom:10px}.input-card,.results-card,.total-card{padding:15px}}.pwa-toast{z-index:1000;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;align-items:center;gap:12px;max-width:200px;padding:16px;transition:transform .3s ease-in-out;display:flex;position:fixed;bottom:16px;right:16px;transform:translateY(200%);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.pwa-toast.show{transform:translateY(0)}.pwa-toast .message{color:#374151;font-size:.875rem}#pwa-refresh{cursor:pointer;color:#fff;background:#3498db;border:none;border-radius:6px;padding:8px 16px;font-size:.875rem;transition:all .2s}#pwa-refresh:hover{background:#2980b9}@media (width<=480px){.pwa-toast{width:100%;left:50%;right:auto;transform:translate(-50%)translateY(200%)}.pwa-toast.show{transform:translate(-50%)translateY(0)}}
