*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:#f5f5f5;color:#333;line-height:1.6}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.btn-primary,.btn-secondary{position:relative}.btn-primary span,.btn-secondary span{display:inline-flex;align-items:center;gap:8px}.btn-primary:disabled span,.btn-secondary:disabled span{animation:pulse 1.5s ease-in-out infinite}.toolbar{display:flex;justify-content:space-between;margin-bottom:20px;gap:20px}.toolbar .search-input{flex:1;max-width:300px;padding:10px 15px;border:1px solid #ddd;border-radius:5px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400}.modal{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal .modal-content{background:#fff;padding:0;border-radius:10px;max-width:800px;width:90%;max-height:90vh;overflow-y:auto}.modal .modal-content form{padding:20px}.modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #eee}.modal .modal-header h2{margin:0}.modal .modal-header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group.full-width{grid-column:1/-1}.form-group label{margin-bottom:5px;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{padding:10px;border:1px solid #ddd;border-radius:5px;font-size:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400}.form-group textarea{resize:vertical}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.table-container{background:#fff;border-radius:10px;overflow-x:auto;box-shadow:0 2px 8px #0000001a}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8f9fa}.data-table thead th{padding:15px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #dee2e6}.data-table tbody tr{border-bottom:1px solid #eee}.data-table tbody tr:hover{background:#f8f9fa}.data-table tbody td{padding:15px;color:#666}.data-table tbody .no-data{text-align:center;padding:40px;color:#999}.btn-icon{background:none;border:none;cursor:pointer;font-size:1.2rem;margin:0 5px}.btn-icon:hover{transform:scale(1.2)}.btn-primary{background:#3498db;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-size:1rem;cursor:pointer;transition:all .3s}.btn-primary:hover:not(:disabled){background:#2980b9}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#95a5a6;color:#fff;border:none;padding:10px 20px;border-radius:5px;font-size:1rem;cursor:pointer;transition:all .3s}.btn-secondary:hover:not(:disabled){background:#7f8c8d}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.status{padding:5px 10px;border-radius:15px;font-size:.85rem;font-weight:500}.status.paid{background:#d4edda;color:#155724}.status.pending{background:#fff3cd;color:#856404}.status.partial{background:#d1ecf1;color:#0c5460}@media(max-width:768px){body{font-size:14px}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.toolbar .search-input{max-width:100%;width:100%}.modal{align-items:flex-start;padding:10px}.modal .modal-content{width:95%;max-width:95%;margin-top:20px}.form-row{grid-template-columns:1fr;gap:12px}.form-actions{flex-direction:column}.form-actions button{width:100%}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.data-table{font-size:.85rem}.data-table thead th,.data-table tbody td{padding:10px 8px}.btn-primary,.btn-secondary{width:100%;padding:12px 20px}}@media(max-width:480px){body{font-size:13px}.modal .modal-content{width:98%;max-width:98%;margin:10px 1%}.data-table{font-size:.75rem}.data-table thead th,.data-table tbody td{padding:8px 5px}.btn-primary,.btn-secondary{font-size:.9rem;padding:10px 15px}.btn-icon{font-size:1rem;margin:0 3px}}
