:root{
  --azul:#092B4C; --azul2:#143a63; --naranja:#FF7A00; --naranja-d:#e56f00;
  --tinta:#1b2733; --suave:#5b6b7b; --linea:#dce3ea; --fondo:#ffffff; --panel:#f6f8fa;
  --verde:#2FA36B; --rojo:#E5574B;
}
*{box-sizing:border-box}
html{-webkit-print-color-adjust:exact; print-color-adjust:exact;}
body{
  margin:0; color:var(--tinta); background:var(--fondo);
  font-family:"Segoe UI",Inter,system-ui,Arial,sans-serif; font-size:15px; line-height:1.6;
}
.wrap{max-width:920px; margin:0 auto; padding:0 20px;}

/* ---- Portada ---- */
.cover{
  background:linear-gradient(150deg,var(--azul) 0%,var(--azul2) 70%);
  color:#fff; min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  padding:60px 70px; page-break-after:always;
}
.cover img.logo{width:230px; background:#fff; padding:16px 20px; border-radius:14px;}
.cover .kicker{margin-top:48px; color:var(--naranja); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:13px;}
.cover h1{font-size:46px; line-height:1.1; margin:10px 0 6px; font-weight:800;}
.cover .sub{font-size:19px; color:#cfe0f0; max-width:620px;}
.cover .meta{margin-top:40px; font-size:14px; color:#9fb6cd; border-top:1px solid rgba(255,255,255,.18); padding-top:16px;}
.cover .meta b{color:#fff;}

/* ---- Encabezados ---- */
h2{
  color:var(--azul); font-size:25px; margin:40px 0 6px; padding-top:10px;
  border-top:3px solid var(--naranja); display:inline-block; padding-right:18px;
}
h2 .n{color:var(--naranja); font-weight:800; margin-right:10px;}
h3{color:var(--azul2); font-size:18px; margin:24px 0 4px;}
h2, h3{page-break-after:avoid;}
p{margin:8px 0;}
a{color:var(--naranja-d);}
ul,ol{margin:8px 0 8px 2px; padding-left:22px;}
li{margin:4px 0;}
.lead{font-size:16px; color:var(--suave);}

/* ---- Figuras ---- */
figure{margin:18px 0; page-break-inside:avoid;}
figure img{width:100%; border:1px solid var(--linea); border-radius:8px; box-shadow:0 2px 10px rgba(9,43,76,.10);}
figcaption{font-size:13px; color:var(--suave); margin-top:7px; text-align:center;}
figcaption b{color:var(--azul);}

/* ---- Callouts ---- */
.nota,.aviso{border-radius:8px; padding:12px 16px; margin:16px 0; font-size:14px; page-break-inside:avoid;}
.nota{background:#eef4fb; border-left:4px solid var(--azul2);}
.aviso{background:#fff3e8; border-left:4px solid var(--naranja);}
.nota b,.aviso b{color:var(--azul);}

/* ---- Tablas ---- */
table{border-collapse:collapse; width:100%; margin:14px 0; font-size:14px; page-break-inside:avoid;}
th,td{border:1px solid var(--linea); padding:8px 10px; text-align:left; vertical-align:top;}
th{background:var(--panel); color:var(--azul); font-weight:700;}
kbd{background:var(--azul); color:#fff; border-radius:5px; padding:2px 8px; font-size:12.5px; font-family:Consolas,monospace; white-space:nowrap;}

/* ---- Índice ---- */
.toc{background:var(--panel); border:1px solid var(--linea); border-radius:10px; padding:18px 24px; margin:24px 0;}
.toc h3{margin-top:0;}
.toc ol{columns:2; column-gap:40px;}
.badge{display:inline-block; background:var(--naranja); color:#fff; font-weight:700; border-radius:999px; padding:2px 12px; font-size:12px; vertical-align:middle;}
.chip{display:inline-block; border-radius:5px; padding:1px 9px; font-size:12.5px; font-weight:700; color:#fff;}
.chip.aire{background:var(--naranja);} .chip.ok{background:var(--verde);} .chip.err{background:var(--rojo);} .chip.prox{background:#8CA4BC;}
.section{page-break-before:always;}
footer.pie{margin:50px 0 30px; padding-top:14px; border-top:1px solid var(--linea); color:var(--suave); font-size:13px;}
