/* Mejoras UI/UX transversales del Hub (Fase BY, 24-oct-2026). Solo añade: no cambia el diseño existente. */
:focus{outline-color:transparent}
:focus-visible{outline:3px solid rgba(99,102,241,.55)!important;outline-offset:2px;border-radius:8px}
.nav-item:focus-visible{outline-offset:-3px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0}
.nav-item,.btn,.modal-close,.tab-btn,button{-webkit-tap-highlight-color:transparent}
.nav-item[role=button]{cursor:pointer}
button:disabled,.btn:disabled,.btn[disabled]{cursor:not-allowed;opacity:.55}
.modal-overlay.show .modal-box{animation:uxModalIn .16s ease-out}
@keyframes uxModalIn{from{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}
.ux-skip{position:fixed;left:12px;top:-60px;z-index:200;background:#4338ca;color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;transition:top .15s}
.ux-skip:focus{top:12px}
.modal-box{max-height:calc(100vh - 80px);display:flex;flex-direction:column}
.modal-box>.modal-body{overflow-y:auto;min-height:0}
.modal-box>.modal-head,.modal-box>.modal-foot{flex:none}
.card-body{overflow-wrap:anywhere}
@media (max-width:768px){
  .btn,.tab-btn,.modal-close{min-height:40px}
  .modal-close{min-width:40px}
  .modal-overlay{padding:12px 8px}
  .modal-box{max-height:calc(100vh - 24px);border-radius:14px}
  .card-body.pad-0,.card-body{overflow-x:auto;-webkit-overflow-scrolling:touch}
  input,select,textarea{font-size:16px!important} /* evita el zoom automático de iOS al enfocar */
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
