*{box-sizing:border-box;margin:0;padding:0}body{color:#1a202c;background:#f0f4f8;font-family:Segoe UI,sans-serif}.app{max-width:900px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:2rem}header h1{color:#2d3748;font-size:2rem}header p{color:#718096;margin-top:.25rem}main{flex-direction:column;gap:2rem;display:flex}.user-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.user-form h2{margin-bottom:1rem;font-size:1.1rem}.field{margin-bottom:1rem}.field label{color:#4a5568;margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.field input{border:1.5px solid #e2e8f0;border-radius:8px;width:100%;padding:.6rem .9rem;font-size:.95rem;transition:border-color .2s}.field input:focus{border-color:#4299e1;outline:none}button[type=submit]{color:#fff;cursor:pointer;background:#4299e1;border:none;border-radius:8px;padding:.65rem 1.5rem;font-size:.95rem;transition:background .2s}button[type=submit]:hover{background:#3182ce}button[type=submit]:disabled{cursor:not-allowed;background:#a0aec0}.error-msg{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.user-list{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.user-list h2{margin-bottom:1rem;font-size:1.1rem}table{border-collapse:collapse;width:100%}th{text-align:left;color:#718096;text-transform:uppercase;letter-spacing:.05em;background:#f7fafc;padding:.75rem 1rem;font-size:.8rem}td{border-top:1px solid #e2e8f0;padding:.75rem 1rem;font-size:.9rem}tr:hover td{background:#f7fafc}.delete-btn{color:#c53030;cursor:pointer;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;padding:.3rem .75rem;font-size:.8rem;transition:all .2s}.delete-btn:hover{color:#fff;background:#c53030}.loading,.empty{text-align:center;color:#a0aec0;padding:2rem}.action-cell{gap:.5rem;display:flex}.edit-btn{color:#2b6cb0;cursor:pointer;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;padding:.3rem .75rem;font-size:.8rem;transition:all .2s}.edit-btn:hover{color:#fff;background:#2b6cb0}.modal-overlay{z-index:100;background:#00000073;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:14px;width:100%;max-width:440px;padding:1.75rem;animation:.2s slideUp;box-shadow:0 20px 60px #0003}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.modal-header h2{font-size:1.1rem}.close-btn{cursor:pointer;color:#a0aec0;background:0 0;border:none;padding:.25rem;font-size:1.1rem;line-height:1}.close-btn:hover{color:#4a5568}.modal-footer{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.cancel-btn{color:#4a5568;cursor:pointer;background:#f7fafc;border:1.5px solid #e2e8f0;border-radius:8px;padding:.65rem 1.25rem;font-size:.95rem;transition:all .2s}.cancel-btn:hover{background:#edf2f7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.loading-overlay{z-index:200;background:#00000059;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0}.loading-box{background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:1rem;padding:2rem 2.5rem;display:flex;box-shadow:0 20px 60px #0003}.loading-box p{color:#4a5568;margin:0;font-size:.95rem}.spinner{border:3px solid #e2e8f0;border-top-color:#4299e1;border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
