:root{--font-size-3xl: 2rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-container{max-width:90vw;max-height:90vh;overflow-y:auto;background:#fff;border-radius:.5rem;box-shadow:0 .5rem 1rem #00000026;position:relative;animation:slideIn .3s ease-out}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb;background-color:#f9fafb}.modal-title{margin:0;font-size:1.25rem;font-weight:600;color:#111827}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:.25rem;border-radius:4px;transition:all .2s}.modal-close:hover{background-color:#f3f4f6;color:#374151}.modal-close span{display:block;line-height:1}.modal-body{padding:1.5rem;max-height:60vh;overflow-y:auto}.modal-message{margin:0 0 1rem;color:#374151;line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:.5rem 1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.modal-warning .modal-header{background-color:#fef3c7;border-bottom-color:#f59e0b}.modal-warning .btn-warning{background-color:#f59e0b;color:#fff}.modal-warning .btn-warning:hover:not(:disabled){background-color:#d97706}.modal-error .modal-header{background-color:#fee2e2;border-bottom-color:#ef4444}.modal-error .btn-error{background-color:#ef4444;color:#fff}.modal-error .btn-error:hover:not(:disabled){background-color:#dc2626}.modal-success .modal-header{background-color:#d1fae5;border-bottom-color:#10b981}.modal-success .btn-success{background-color:#10b981;color:#fff}.modal-success .btn-success:hover:not(:disabled){background-color:#059669}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 640px){.modal-container{max-width:95vw;margin:1rem}.modal-header,.modal-body,.modal-footer{padding:1rem}.modal-footer{flex-direction:column-reverse;gap:.5rem}.modal-footer .btn{width:100%}}.form-control::placeholder{opacity:.4}.cursor-pointer{cursor:pointer!important}
