/* ================== PORTAL AC MODELS - GLASS UI ================== */
.az-portal {
  --bg: #f5f5f5;
  --card: rgba(255, 255, 255, 0.85); /* semi-transparente */
  --text: #1a1a1a;
  --muted: #6b6b6b;
  --accent: #c9c9c9; /* dorado */
  --accent-2: #111111; /* negro */
  --border: rgba(0,0,0,0.1);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans';
  color: var(--text);
  padding: 20px;
  box-sizing: border-box;
  width: 100%;
  min-height: 100vh;
}

/* Enlaces */
.az-portal a { color: #111; text-decoration: none; }
.az-portal a:hover { text-decoration: underline; }

/* Botones */
.az-portal .button {
  background: var(--accent-2);
  border: none;
  border-radius: 999px;
  padding: 10px 18px;
  color: #fff;
  cursor: pointer;
  transition: transform .05s ease-in-out, box-shadow .2s ease, background .2s ease;
  box-shadow: 0 4px 10px rgba(0,0,0,.12);
}
.az-portal .button:hover {
  transform: translateY(-1px);
  background: #000;
}
.az-portal .button-primary {
  background: var(--accent);
  color: #111;
}

/* Cabecera */
.az-portal .az-portal-header {
  background: linear-gradient(180deg, rgba(255,255,255,0.9), var(--bg));
  padding: 28px 20px 16px;
  border-bottom: 1px solid var(--border);
  text-align: center;
}
.az-portal .az-portal-brand {
  font-size: 13px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--muted);
}
.az-portal .az-portal-title {
  margin-top: 6px;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: .3px;
}

/* Login / Portal card full-width */
.az-portal .az-portal-login {
  display: grid;
  place-items: center;
  padding: 30px 16px 60px;
  background: var(--bg);
  min-height: 60vh;
}
.az-portal .az-portal-card {
  background: var(--card);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: 22px;
  width: 100%;
  /* CAMBIO: Aumentar max-width para que el contenido sea más ancho */
  max-width: 1600px; /* Era 1600px, pero en el bloque responsive es 1400px. Lo mantenemos en 1600px para pantallas grandes. */
  margin: 0 auto;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
}

/* Labels e inputs */
.az-portal .az-portal-card label { 
  display: block;
  margin-bottom: 12px;
  font-size: 14px;
  color: var(--muted);
}
.az-portal .az-portal-card input[type="text"],
.az-portal .az-portal-card input[type="password"],
.az-portal .az-portal-card input[type="date"],
.az-portal .az-portal-card select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 10px;
  padding: 10px 12px;
  margin-top: 6px;
  font-size: 15px;
  background: #fff;
}

/* Alerts y mensajes */
.az-portal .az-portal-alert {
  background: #fff7d9;
  border: 1px solid #f0e0a6;
  color: #5a4a13;
  border-radius: 12px;
  padding: 10px 14px;
  margin-bottom: 12px;
}
.az-portal .az-portal-ok {
  background: #eaf8e6;
  border: 1px solid #c6e8b9;
  color: #225e29;
  border-radius: 12px;
  padding: 8px 12px;
  margin-top: 12px;
}

/* Topbar y tabs */
.az-portal .az-portal-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border);
  background: #fff;
}
.az-portal .az-portal-tabs a {
  margin-right: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  text-decoration: none;
  color: var(--text);
}
.az-portal .az-portal-tabs a.active {
  background: var(--accent);
  color: #111;
  border-color: #c8a73a;
}

/* Contenido principal */
.az-portal .az-portal-content {
  padding: 16px;
  background: var(--bg);
  min-height: 60vh;
}

/* Filtros */
.az-portal .az-portal-filters {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 12px;
}

/* Tablas full-width */
.az-portal .az-portal-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  /* CAMBIO: Aumentar el min-width para que la tabla sea más ancha por defecto */
  min-width: 1000px; /* Ajustado de 800px a 1000px */
}
.az-portal .az-portal-table th,
.az-portal .az-portal-table td {
  border-bottom: 1px solid var(--border);
  padding: 12px 10px;
  text-align: left;
  font-size: 15px;
  word-wrap: break-word;
}

/* Hover filas */
.az-portal .az-portal-table tbody tr:hover {
  background: rgba(212, 175, 55, 0.1);
  transition: background .2s ease;
}
/* ================== PORTAL AC MODELS - GLASS UI RESPONSIVE ================== */

/* Contenedor principal ya definido anteriormente */
.az-portal {
  --bg: #f5f5f5;
  --card: rgba(255, 255, 255, 0.85);
  --text: #1a1a1a;
  --muted: #6b6b6b;
  --accent: #d4af37;
  --accent-2: #111111;
  --border: rgba(0,0,0,0.1);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans';
  color: var(--text);
  padding: 20px;
  box-sizing: border-box;
  width: 100%;
  min-height: 100vh;
}

/* Contenedor tipo card */
.az-portal .az-portal-card {
  background: var(--card);
  backdrop-filter: blur(12px);
  border-radius: 16px;
  padding: 22px;
  width: 100%;
  /* CAMBIO: Aumentar max-width para mayor ancho */
  max-width: 1600px; /* Ajustado de 1400px a 1600px */
  margin: 0 auto;
  box-shadow: 0 10px 30px rgba(0,0,0,.06);
  overflow-x: auto; /* permite scroll horizontal en móviles */
}

/* Tablas */
.az-portal .az-portal-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  /* CAMBIO: Aumentar el min-width en el bloque responsivo */
  min-width: 1000px; /* Ajustado de 600px a 1000px */
}
.az-portal .az-portal-table th,
.az-portal .az-portal-table td {
  border-bottom: 1px solid var(--border);
  padding: 12px 10px;
  text-align: left;
  font-size: 14px;
  word-wrap: break-word;
}

/* Hover filas */
.az-portal .az-portal-table tbody tr:hover {
  background: rgba(212, 175, 55, 0.1);
  transition: background .2s ease;
}
.az-badge-atrasado {
        background: #ff4444;
        color: #fff;
        padding: 3px 7px;
        border-radius: 3px;
        font-weight: bold;
    }

    .az-badge-aldia {
        background: #28a745;
        color: #fff;
        padding: 3px 7px;
        border-radius: 3px;
        font-weight: bold;
    }

    .az-name-atrasado {
        font-weight: bold;
        color: #d60000 !important;
        text-decoration: underline;
    }
.az-att-ok {
    background: #e6f7ee;
}

.az-att-no {
    background: #fdeaea;
}

.az-att-excusa {
    background: #fff6db;
}

/* hover más lindo */
.az-portal-table tbody tr:hover {
    filter: brightness(0.97);
}
/* ya tiene nota guardada */
.az-grade-saved {
    background:#e6f7ee !important;
}

/* sin nota todavía */
.az-grade-pending {
    background:#fff6db !important; /* o borrá esta línea si lo querés blanco */
}

/* Responsive: tablets y móviles */
@media (max-width: 1200px) {
  .az-portal .az-portal-card {
    padding: 18px;
  }
  .az-portal .az-portal-table th,
  .az-portal .az-portal-table td {
    font-size: 13px;
    padding: 10px 8px;
  }
}

@media (max-width: 992px) {
  .az-portal .az-portal-table {
    min-width: 100%;
    display: block;
    overflow-x: auto;
  }
  .az-portal .az-portal-table thead {
    display: table-header-group;
  }
  .az-portal .az-portal-table tbody {
    display: block;
  }
  .az-portal .az-portal-table tr {
    display: table-row;
  }
}

@media (max-width: 768px) {
  .az-portal .az-portal-card {
    padding: 14px;
    border-radius: 12px;
  }
  .az-portal .az-portal-table th,
  .az-portal .az-portal-table td {
    font-size: 12px;
    padding: 8px 6px;
  }
  .az-portal .az-portal-table {
    min-width: 100%;
  }
}

@media (max-width: 480px) {
  .az-portal .az-portal-table th,
  .az-portal .az-portal-table td {
    font-size: 11px;
    padding: 6px 4px;
  }
  .az-portal .az-portal-table {
    font-size: 11px;
  }
}
/* ====== FORZAR PORTAL A ANCHO COMPLETO ====== */
.az-portal,
.az-portal-content,
.az-portal .az-portal-card {
    max-width: 100% !important;
    width: 100% !important;
}

/* Evita que el tema de WordPress limite el ancho */
.az-portal {
    padding: 0 !important; 
}

.az-portal-content {
    padding: 20px !important;
}
