/* FASE 52 - UX PRO responsive y correcciones de legibilidad */
:root{
  --lms-card:#111827;
  --lms-card-2:#172036;
  --lms-border:rgba(148,163,184,.22);
  --lms-text:#f8fafc;
  --lms-muted:#cbd5e1;
  --lms-blue:#2563eb;
}

body{overflow-x:hidden;}
.container,.page{max-width:1280px;width:min(1280px,calc(100vw - 24px));margin-inline:auto;}
.page{min-width:0;}

.smart-nav,.smart-nav-card,.smart-nav-row{min-width:0;max-width:100%;}
.smart-nav-card{overflow:hidden;}
.smart-nav-links{align-items:center;}
.smart-nav-link,.smart-nav-badge,.btn-secondary,.btn,.button,button{line-height:1.15;}
.smart-nav-count[data-count]:not([data-count="0"]){background:rgba(239,68,68,.18);color:#fecaca;}

/* Admin/Superadmin pantallas comprimidas */
.admin-grid,.admin-layout,.dashboard-grid,.cards-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:16px;
  min-width:0;
}
@media (min-width:1050px){
  .admin-grid,.admin-layout{grid-template-columns:minmax(0,2fr) minmax(300px,.85fr);align-items:start;}
}

.card,.panel,.box,.smart-card,.admin-card,section{
  min-width:0;
  max-width:100%;
}

.table-responsive,.table-wrap,.admin-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}
table{max-width:100%;border-collapse:separate;border-spacing:0;}
th,td{vertical-align:middle;}

input,select,textarea{
  max-width:100%;
  box-sizing:border-box;
}
textarea{resize:vertical;min-height:58px;}

/* Formularios laterales */
.form-panel,.admin-form,.side-panel{
  background:linear-gradient(180deg,rgba(15,23,42,.95),rgba(17,24,39,.95));
  border:1px solid var(--lms-border);
  border-radius:18px;
  padding:18px;
  min-width:0;
}
.form-panel input,.form-panel select,.form-panel textarea,
.admin-form input,.admin-form select,.admin-form textarea,
.side-panel input,.side-panel select,.side-panel textarea{width:100%;}

/* Mejoras para botones y badges */
.badge,.pill,.estado,.status{
  white-space:nowrap;
}
.btn,.btn-primary,.btn-secondary,.btn-success,.btn-danger,.btn-warning,button[type="submit"]{
  cursor:pointer;
}

/* Notificaciones en vivo */
.lms-live-pulse{
  animation:lmsPulse 1.4s ease-in-out 2;
}
@keyframes lmsPulse{
  0%{transform:scale(1);box-shadow:0 0 0 rgba(37,99,235,0)}
  45%{transform:scale(1.04);box-shadow:0 0 0 8px rgba(37,99,235,.12)}
  100%{transform:scale(1);box-shadow:0 0 0 rgba(37,99,235,0)}
}

.lms-realtime-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.2);
  background:rgba(15,23,42,.55);
  color:var(--lms-muted);
  font-size:12px;
  font-weight:800;
}
.lms-realtime-dot{
  width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.12);
}

/* Chat básico */
.chat-box,.mensajes-box{
  max-height:65vh;
  overflow-y:auto;
  scroll-behavior:smooth;
}
.mensaje.no-leido,.message.unread{
  border-left:4px solid #60a5fa;
  background:rgba(37,99,235,.12);
}

@media (max-width:760px){
  .container,.page{width:min(100vw - 12px,100%);}
  .smart-nav-links{grid-template-columns:1fr 1fr !important;}
  .smart-nav-meta{width:100%;}
  .smart-nav-badge,.smart-nav-link,.smart-nav-logout button{width:100%;justify-content:center;}
  .card,.panel,.box,.form-panel,.admin-form,.side-panel{padding:14px;}
  table{font-size:12px;}
  th,td{padding:8px !important;}
}

@media (max-width:460px){
  .smart-nav-links{grid-template-columns:1fr !important;}
}
