body{margin:0;padding:0;overflow-x:hidden;background-color:#f5f5f5;font-size:1vw;color:#000;font-family:system-ui;display:flex;place-items:center}.seleccion{-webkit-tap-highlight-color:transparent}#root{width:100%}@media screen and (min-width:0px)and (max-width:575px){body{font-size:3.5vw}}.loading-fallback{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100vw;position:fixed;top:0;left:0;z-index:9999;background:linear-gradient(135deg,#02141c,#00484d)}.loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.loading-text{margin-top:20px;font-size:1.2rem;color:#fff;font-weight:500;letter-spacing:.5px}@keyframes spin{to{transform:rotate(360deg)}}.alert-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-in-out}.alert-modal-content{background:#fff;border-radius:12px;width:90%;max-width:400px;box-shadow:0 4px 20px #00000026;overflow:hidden;animation:slideIn .3s ease-out;display:flex;flex-direction:column;max-height:90vh}.alert-modal-header{padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #f0f0f0}.alert-modal-header h3{margin:0;font-size:1.1rem;color:#333}.alert-close-btn{background:none;border:none;font-size:24px;color:#999;cursor:pointer;line-height:1}.alert-close-btn:hover{color:#666}.alert-modal-body{padding:20px;color:#555;font-size:1rem;line-height:1.5;overflow-y:auto}.alert-modal-footer{padding:16px 20px;display:flex;justify-content:flex-end;gap:12px;background-color:#f9fafb}.alert-btn{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .2s}.alert-btn-confirm{background:#3b82f6;color:#fff}.alert-btn-confirm:hover{background:#2563eb}.alert-btn-cancel{background:#e5e7eb;color:#4b5563}.alert-btn-cancel:hover{background:#d1d5db}.alert-modal-content.error .alert-btn-confirm{background:#ef4444}.alert-modal-content.error .alert-btn-confirm:hover{background:#dc2626}.alert-modal-content.warning .alert-btn-confirm{background:#f59e0b}.alert-modal-content.warning .alert-btn-confirm:hover{background:#d97706}.alert-modal-content.success .alert-btn-confirm{background:#10b981}.alert-modal-content.success .alert-btn-confirm:hover{background:#059669}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}
