.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:600;border-radius:8px;padding:8px 14px;border:1px solid transparent;cursor:pointer;transition:all .15s ease}.btn.btn-primary{background:#3b82f6;color:#fff;border-color:#2563eb}.btn.btn-primary:hover:not(:disabled){background:#2563eb}.btn.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn.btn-outline{background:#fff;color:#334155;border-color:#cbd5e1}.btn.btn-outline:hover:not(:disabled){background:#f8fafc}.btn.btn-danger{background:#ef4444;color:#fff;border-color:#dc2626}.btn.btn-danger:hover:not(:disabled){background:#dc2626}.btn.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn.btn-sm{padding:6px 10px;font-size:12px;border-radius:6px}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.modal-overlay{position:fixed;inset:0;background:#0f172a99;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.modal-overlay .modal-card{background:#fff;border-radius:14px;width:100%;max-width:500px;box-shadow:0 20px 25px -5px #0003}.modal-overlay .modal-card.modal-delete{max-width:440px}.modal-overlay .modal-card .modal-header{padding:16px 20px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between}.modal-overlay .modal-card .modal-header h3{font-size:16px;font-weight:700;margin:0}.modal-overlay .modal-card .modal-header h3.text-danger{color:#dc2626}.modal-overlay .modal-card .modal-header .close-btn{background:transparent;border:none;font-size:18px;cursor:pointer;color:#94a3b8}.modal-overlay .modal-card .modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.modal-overlay .modal-card .modal-footer{padding:12px 20px;border-top:1px solid #e2e8f0;background:#f8fafc;display:flex;align-items:center;justify-content:flex-end;gap:10px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
