    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth;scroll-padding-top:4rem}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
    body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1.125rem;line-height:1.6;color:#1a1a1a;background:#f9fbf9;-webkit-text-size-adjust:100%;word-wrap:break-word}
    .skip-link{position:absolute;top:-40px;left:0;background:#000;color:#fff;padding:.5rem 1rem;z-index:1000;text-decoration:none}
    .skip-link:focus{top:0;outline:2px solid #fff}
    .container{max-width:68ch;margin:0 auto;padding:1rem}
    @media(min-width:768px){.container{padding:1.5rem 2rem}}
    .site-header{background:#fff;border-bottom:1px solid #e0e7e0;padding:1rem 0}
    .site-logo{text-decoration:none;color:#0d3b2e}
    .site-logo:hover,.site-logo:focus{color:#005fcc}
    .site-title{font-size:1.25rem;font-weight:700}
    .site-subtitle{font-size:.875rem;color:#4a6b5f}
    main{padding:2rem 0}
    h1{font-size:1.75rem;color:#0d3b2e;margin:0 0 1rem;line-height:1.2}
    h2{font-size:1.375rem;color:#0d3b2e;margin:1.5rem 0 .75rem;font-weight:600}
    h3{margin:0 0 .5rem;font-weight:600}
    p{margin:0 0 1rem}
    ul,ol{margin:0 0 1rem;padding-left:1.5rem}
    li{margin:.5rem 0}
    a{color:#005fcc;text-decoration:none;font-weight:500}
    a:hover,a:focus{text-decoration:underline;outline:2px solid #005fcc;outline-offset:2px}
    .contact-method{margin:1.5rem 0;padding:1.25rem;border-left:4px solid #4a6b5f;background:#f0f7f3;border-radius:0 6px 6px 0}
    .contact-method h3{color:#1e293b;margin:0 0 .5rem;font-size:1.125rem}
    .contact-method p{margin:0 0 .75rem}
    .contact-method small{display:block;color:#555;margin-top:.5rem}
    .btn{display:inline-block;padding:.75rem 1.25rem;min-height:44px;min-width:44px;background:#2e7d5e;color:#fff;border-radius:6px;text-decoration:none;font-weight:500;text-align:center;border:2px solid transparent;margin:.25rem}
    .btn:hover{background:#25664d}
    .btn:focus{outline:3px solid #003d99;outline-offset:2px}
    .btn-secondary{background:#fff;color:#2e7d5e;border-color:#2e7d5e}
    .btn-secondary:hover{background:#f0f7f3}
    .nav-contextual{margin:2rem 0;padding-top:1.5rem;border-top:1px solid #e0e7e0}
    .site-footer{background:#f0f4f0;padding:2rem 0;margin-top:2rem;border-top:1px solid #d0d8d0}
    .footer-contact{text-align:center;margin:0 0 1.5rem;font-style:normal}
    .footer-legal{text-align:center;font-size:.875rem;color:#555;line-height:1.5}
    .footer-legal a{color:#005fcc}
    .text-list{list-style:none;padding:0}
    .text-item{margin:1rem 0;padding:1rem;border-bottom:1px solid #e0e7e0}
    .text-item:last-child{border-bottom:none}
    .text-title{font-weight:600;color:#0d3b2e;margin:0 0 .25rem}
    .text-date{font-size:.9375rem;color:#555;margin:0 0 .5rem}
    .text-type{display:inline-block;font-size:.8125rem;color:#4a6b5f;background:#f0f7f3;padding:.25rem .5rem;border-radius:4px;margin:.25rem 0}
    .text-synopsis{font-size:1rem;color:#2d372f;margin:.75rem 0;line-height:1.6}
    @media(prefers-color-scheme:dark){body{background:#121212;color:#e6e6e6}.site-header{background:#121212;border-color:#2d372f}.site-logo{color:#c9e4d9}.site-subtitle{color:#a3c4b3}h1,h2{color:#c9e4d9}.contact-method{background:#1e2923;border-color:#4a9e76}.contact-method h3{color:#e2e8f0}.contact-method small{color:#a3b3a3}.btn{background:#4a9e76}.btn:hover{background:#3d8a65}.btn-secondary{background:#1e2923;color:#a3c4b3;border-color:#4a9e76}.btn-secondary:hover{background:#2d372f}.site-footer{background:#1a231a;border-color:#2d372f}.footer-legal{color:#b0b8b0}.text-title{color:#c9e4d9}.text-date{color:#a3b3a3}.text-type{background:#1e2923;color:#a3c4b3}.text-synopsis{color:#d1d9d1}.text-item{border-color:#2d372f}}
    @media(max-width:480px){body{font-size:1rem}h1{font-size:1.5rem}h2{font-size:1.25rem}.container{padding:.875rem}.contact-method{padding:1rem}.btn{display:block;width:100%;margin:.5rem 0}}
.separador-sutil {
  border: none;
  border-top: 1px solid #e0e7e0;
  margin: 1.5rem 0;
  opacity: 0.6;
}
@media (prefers-color-scheme: dark) {
  .separador-sutil { border-color: #2d372f; }
}

/* === TABLAS: Bordes visibles para contenido generado por Pandoc === */
main .container table {
  border-collapse: collapse !important;
  width: 100% !important;
  margin: 1.5rem 0 !important;
  display: table !important;
}
main .container th,
main .container td {
  border: 1px solid currentColor !important;
  padding: 0.75rem !important;
  text-align: left !important;
  vertical-align: top !important;
}
main .container thead th {
  font-weight: 600 !important;
  background: rgba(0, 0, 0, 0.04) !important;
}
@media (prefers-color-scheme: dark) {
  main .container thead th {
    background: rgba(255, 255, 255, 0.06) !important;
  }
}
@media (max-width: 480px) {
  main .container table { font-size: 0.9rem !important; }
  main .container th,
  main .container td { padding: 0.5rem !important; }
}

/* Espaciado y alineación de botones */
.item-actions {
  display: flex;
  gap: 0.75rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}
/* Estilo para el botón PDF */
.btn-download {
  background: #4b5563;
  color: #fff;
}
.btn-download:hover, .btn-download:focus {
  background: #374151;
}
@media (max-width: 480px) {
  .item-actions { flex-direction: column; }
  .btn, .btn-download { width: 100%; text-align: center; }
}