:root{
  /* Colores del logo ITN */
  --itn-yellow:#f1c109;
  --itn-yellow-dark:#b28b00;
  --itn-red:#a42b2e;
  --itn-red-dark:#7d2024;
  --itn-black:#131110;
  --itn-white:#ffffff;

  /* Tonos suaves */
  --itn-yellow-soft:#fff8d9;
  --itn-red-soft:#f8ecec;
  --itn-black-soft:#252322;
  --itn-bg:#f7f7f5;
  --itn-line:#e2e1dc;
  --itn-muted:#676b6d;

  /* Compatibilidad con estilos existentes: rojo ocupa el papel que antes era amarillo */
  --orange:var(--itn-red);
  --orange-dark:var(--itn-yellow-dark);
  --ink:var(--itn-black);
  --muted:var(--itn-muted);
  --cream:var(--itn-bg);
  --line:var(--itn-line);
  --green:#2f7663;
  --white:#fff;
}

body{color:var(--itn-black);background:#fff}

/* HEADER */
.site-header{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid var(--itn-line);
  box-shadow:0 3px 14px rgba(19,17,16,.04);
}
.main-nav a{color:#4c4d4e}
.main-nav a:hover{color:var(--itn-black)}
.main-nav a.active{
  color:var(--itn-yellow-dark);
  border-color:var(--itn-red);
}
.main-nav .nav-access{
  background:var(--itn-black);
  color:#fff;
  border:1px solid var(--itn-black);
}
.main-nav .nav-access:hover{background:#2b2927}

/* BOTONES: antes amarillo, ahora rojo */
.button-primary{
  background:var(--itn-red);
  color:#fff;
  border:1px solid var(--itn-red-dark);
  box-shadow:0 4px 10px rgba(164,43,46,.18);
}
.button-primary:hover{
  background:#b8363a;
  border-color:var(--itn-red-dark);
}
.button-secondary{
  background:#fff;
  color:var(--itn-black);
  border-color:#cfcfca;
}
.button-secondary:hover{background:#f6f6f3}

/* TITULOS Y ACENTOS: antes rojo, ahora amarillo */
.eyebrow,.feature-number,.upload-icon,.table-action,.event-links a{color:var(--itn-yellow-dark)}
.eyebrow{font-weight:800}
.tag{
  background:var(--itn-red-soft);
  color:var(--itn-red-dark);
  border:1px solid #e2bfc1;
}

/* HERO Y ENCABEZADOS */
.page-heading,.hero{
  background:linear-gradient(120deg,#f7f7f5 0%,#fff 68%,#fbf5f5 100%);
}
.page-heading{
  border-bottom:3px solid var(--itn-red);
  position:relative;
}
.page-heading:after{
  content:"";
  position:absolute;
  bottom:-3px;
  left:0;
  width:16%;
  height:3px;
  background:var(--itn-yellow);
}
.hero:after{border-color:rgba(164,43,46,.10)}
.hero-card,.feature-card-dark,.login-copy,.site-footer{background:var(--itn-black)}
.hero-card{box-shadow:18px 20px 0 rgba(164,43,46,.18)}
.event-date strong,.hero-card>a,.event-visual span{color:var(--itn-red)}

/* TARJETAS */
.feature-card,.admin-card,.stats-grid article,.event-card-large{
  border-color:var(--itn-line);
}
.feature-card:not(.feature-card-dark),.admin-card,.stats-grid article{background:#fff}
.feature-card:hover,.stats-grid article:hover{border-color:#d9c7c8}

/* MENSAJES Y ESTADOS */
.success-message{
  background:#edf6f2;
  border-left-color:#2f7663;
  color:#234f43;
}
.stats-grid small{color:#2f7663}
.status.complete{color:#236050;background:#e8f4ef}
.status.pending{color:#7a5e00;background:#fff5c9}

/* CAMPOS: foco que antes era amarillo, ahora rojo */
.field input:focus,.field textarea:focus,.field select:focus{
  outline:2px solid rgba(164,43,46,.18);
  border-color:var(--itn-red);
}

/* EVENTOS */
.event-card-large{
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 36px rgba(19,17,16,.08);
}
.event-visual{
  background:linear-gradient(145deg,#131110 0%,#292624 100%);
  position:relative;
}
.event-visual:after{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg,var(--itn-red) 0 65%,var(--itn-yellow) 65% 100%);
}
.event-visual-photo{padding:0;background:#ececea;min-height:330px;overflow:hidden}
.event-visual-photo:after{display:none}
.event-visual-photo img{width:100%;height:100%;min-height:330px;object-fit:cover;display:block}
.event-image-preview{margin-top:8px}
.event-image-preview span{font-size:.85rem;font-weight:700;color:var(--itn-muted)}
.event-image-preview img{
  width:min(420px,100%);
  height:220px;
  object-fit:cover;
  border:1px solid var(--itn-line);
  border-radius:6px;
  margin-top:8px;
}

/* ADMINISTRACION */
.admin-heading,.stats-grid,.admin-grid{background:var(--itn-bg)}
.admin-heading{border-top:4px solid var(--itn-red)}
.admin-card,.stats-grid article{border-color:var(--itn-line)}
.admin-real-table table{width:100%;border-collapse:collapse}
.admin-real-table th{
  text-align:left;
  color:var(--itn-muted);
  font-size:.75rem;
  text-transform:uppercase;
  padding:12px;
  border-bottom:2px solid var(--itn-line);
}
.admin-real-table td{padding:16px 12px;border-bottom:1px solid #ececea;font-size:.9rem}
.table-action{font-weight:800}
.table-action:hover{color:#8c6d00}
.delete-action{border-color:#b94b4e!important;color:#92292c!important}

/* FORMATOS POR DISCIPLINA */
.format-actions button{
  border:1px solid #d4d2cb;
  color:var(--itn-yellow-dark);
  background:#fff;
  border-radius:4px;
}
.format-actions button:hover{
  background:var(--itn-red-soft);
  border-color:#d6aeb0;
  color:var(--itn-red-dark);
}
.discipline-card{border:1px solid var(--itn-line);border-radius:8px;margin:18px 0;overflow:hidden;background:#fff}
.discipline-card-heading{
  background:#f6f5f1;
  padding:18px 20px;
  border-bottom:1px solid var(--itn-line);
  border-left:5px solid var(--itn-red);
}
.discipline-card-heading h3{margin:0;font-size:1.25rem}
.discipline-card-heading small{color:var(--itn-muted)}
.discipline-card-body{padding:0 20px}
.discipline-group{padding:18px 0;border-bottom:1px solid #ececea}
.discipline-teachers{border-top:1px dashed var(--itn-line)}
.discipline-teacher-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #f0f0ee}
.discipline-teacher-row>div:first-child{min-width:220px}
.discipline-teacher-row strong,.discipline-teacher-row small{display:block}
.discipline-teacher-row small{color:var(--itn-muted)}

/* EXPEDIENTE DEL MAESTRO */
.teacher-file-card{max-width:none}
.teacher-file-layout{display:grid;grid-template-columns:220px 1fr;gap:28px;align-items:start}
.teacher-photo-panel{
  background:#f6f6f3;
  border:1px solid var(--itn-line);
  border-top:4px solid var(--itn-red);
  min-height:250px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
}
.teacher-photo-panel img{width:100%;height:250px;object-fit:contain;background:#fff}
.teacher-photo-empty{color:var(--itn-muted);font-weight:700}
.teacher-data-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.teacher-data-grid>div{
  border:1px solid var(--itn-line);
  padding:14px;
  background:#fbfbf9;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.teacher-data-grid span{
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--itn-yellow-dark);
  font-weight:800;
}
.teacher-data-grid strong{font-size:.95rem;word-break:break-word}
.teacher-documents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.document-view-button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:12px;
  border:1px solid #d4d2cb;
  background:#fff;
  color:var(--itn-black);
  font-weight:800;
  text-decoration:none;
  border-radius:5px;
  border-bottom:3px solid var(--itn-red);
}
.document-view-button:hover{
  background:var(--itn-red-soft);
  color:var(--itn-yellow-dark);
  border-color:#d6aeb0;
}

/* LOGIN */
.login-copy{border-right:6px solid var(--itn-red)}
.login-options a,.login-help a{color:var(--itn-yellow-dark)}

@media(max-width:900px){
  .teacher-file-layout{grid-template-columns:1fr}
  .teacher-photo-panel{max-width:300px}
  .teacher-data-grid{grid-template-columns:1fr}
  .teacher-documents-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .discipline-teacher-row{align-items:flex-start;flex-direction:column}
  .event-visual-photo img{min-height:240px}
  .page-heading:after{width:32%}
}
