/* ============================================================
   ESTILOS GLOBALES — IGUALES AL ACM ORIGINAL
   ============================================================ */

:root{
  --color-primario:#1a73e8;
  --color-secundario:#f1f3f4;
  --color-texto:#333333;
  --color-card:#ffffff;
  --color-borde:#e0e0e0;
  --color-fondo:#f4f4f4;
}

/* Reset básico */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Poppins', sans-serif;
}

body{
  background:var(--color-fondo);
  color:var(--color-texto);
  line-height:1.4;
}

/* ============================================================
   CONTENEDORES TIPO ACM
   ============================================================ */

.container-acm{
  max-width:1200px;
  margin:25px auto;
  background:var(--color-card);
  border-radius:16px;
  padding:24px 30px 32px;
  box-shadow:0 4px 18px rgba(0,0,0,0.10);
}

/* ============================================================
   NAVBAR — IGUAL A LA DEL ACM
   ============================================================ */

.navbar-acm{
  width:100%;
  background:var(--color-card);
  padding:14px 26px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid var(--color-borde);
  position:sticky;
  top:0;
  z-index:10;
}

.navbar-acm .left,
.navbar-acm .right{
  display:flex;
  align-items:center;
  gap:18px;
}

.navbar-acm a{
  text-decoration:none;
  color:var(--color-texto);
  font-weight:600;
  font-size:14px;
  padding:6px 10px;
  border-radius:8px;
  transition:.2s;
}

.navbar-acm a:hover{
  background:var(--color-secundario);
}

/* Botón cerrar sesión */
.btn-logout{
  background:var(--color-primario);
  color:#fff;
  border:none;
  padding:8px 14px;
  border-radius:999px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,0.15);
}

.btn-logout:hover{
  opacity:0.9;
}

/* ============================================================
   BOTONES ESTILO ACM
   ============================================================ */

.btn-acm{
  padding:10px 18px;
  border:none;
  border-radius:999px;
  background:var(--color-primario);
  color:#fff;
  font-weight:600;
  cursor:pointer;
  font-size:14px;
  box-shadow:0 3px 8px rgba(0,0,0,0.15);
  transition:.2s;
}

.btn-acm.secondary{
  background:#ffffff;
  color:var(--color-primario);
  border:1px solid var(--color-primario);
  box-shadow:none;
}

.btn-acm:hover{
  opacity:0.9;
}

/* ============================================================
   INPUTS Y FORMULARIOS
   ============================================================ */

input, select, textarea{
  width:100%;
  padding:10px 12px;
  border-radius:8px;
  border:1px solid #cccccc;
  margin-top:6px;
  font-size:14px;
  background:#fff;
}

textarea{
  resize:vertical;
}

label{
  font-size:14px;
  font-weight:600;
  display:block;
  margin-top:10px;
}

/* ============================================================
   TARJETAS / CARDS ACM
   ============================================================ */

.card-acm{
  background:#fafafa;
  border-radius:14px;
  border:1px solid var(--color-borde);
  padding:18px 20px;
  box-shadow:0 3px 10px rgba(0,0,0,0.05);
  margin-bottom:18px;
}

/* ============================================================
   GRID SYSTEM (igual al ACM)
   ============================================================ */

.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.grid-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.grid-4{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

@media(max-width:900px){
  .grid-2, .grid-3, .grid-4{
    grid-template-columns:1fr;
  }
}

/* ============================================================
   ESTILO DE SECCIONES
   ============================================================ */

.section-acm{
  background:var(--color-secundario);
  padding:18px 20px;
  border-radius:14px;
  border:1px solid var(--color-borde);
  margin-bottom:22px;
}

.section-acm h3{
  margin-bottom:12px;
  font-size:18px;
}

/* ============================================================
   TABLAS ACM
   ============================================================ */

.table-acm{
  width:100%;
  border-collapse:collapse;
  margin-top:10px;
}

.table-acm th,
.table-acm td{
  padding:10px 6px;
  border-bottom:1px solid #e0e0e0;
  font-size:14px;
}

.table-acm thead tr{
  background:#efefef;
}

/* ============================================================
   LOGIN CARD ESTILO ACM
   ============================================================ */

.login-box-acm{
  width:360px;
  background:#fff;
  padding:40px 42px;
  border-radius:16px;
  box-shadow:0 4px 18px rgba(0,0,0,0.12);
  margin:auto;
  margin-top:60px;
  text-align:center;
}

.login-box-acm h2{
  font-weight:600;
  margin-bottom:16px;
}

/* ============================================================
   ESPACIADOS Y UTILIDADES
   ============================================================ */

.mt-1{ margin-top:10px; }
.mt-2{ margin-top:20px; }
.mt-3{ margin-top:30px; }

.text-center{ text-align:center; }
.bold{ font-weight:700; }

/* ============================================================
   FOOTER ESTILO ACM
   ============================================================ */

.footer-acm{
  margin-top:40px;
  padding:16px;
  text-align:center;
  background:#ffffff;
  border-top:1px solid var(--color-borde);
  color:#777;
  font-size:14px;
}
