.cert-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem}
.cert-form[hidden],.cert-public-navigation[hidden]{display:none!important}
.cert-public-navigation{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.cert-public-navigation button{padding:12px 18px;background:var(--surface,#171b22);color:var(--text,#fff);border:1px solid #59606b;cursor:pointer;font:inherit}
.cert-public-navigation button[aria-pressed=true]{border-color:var(--gold,#d9ae51);color:var(--gold,#d9ae51)}
.cert-public-navigation button:focus-visible{outline:2px solid var(--gold,#d9ae51);outline-offset:3px}
#cert-forms{display:block;max-width:760px}
.cert-admin-guide{padding:20px 24px;margin:18px 0;border-left:3px solid var(--gold,#d9ae51);background:var(--surface,#171b22)}
.cert-admin-guide p{margin:10px 0;line-height:1.65}
.cert-ready-athletes{display:flex;gap:16px;flex-wrap:wrap;margin:24px 0}
.cert-ready-athletes article{flex:1 1 280px;padding:20px;border:1px solid #59606b}
.cert-ready-athletes strong{font-size:20px}.cert-ready-athletes p{margin:12px 0;color:var(--text-dim,#b1b5bc)}
#cert-history-editor{padding:20px;border:1px solid #59606b}
#cert-history-editor summary{cursor:pointer;font-weight:600;padding:4px 0}
.cert-controls [hidden],.cert-paper[hidden]{display:none!important}
#certificates-section [hidden]{display:none!important}
.cert-form{display:grid;gap:1rem;padding:1.5rem;border:1px solid #59606b;border-radius:12px;margin-bottom:1.5rem}
.cert-form label{display:grid;gap:.4rem}.cert-form input,.cert-form select{width:100%;padding:.75rem;background:#171b22;color:#fff;border:1px solid #717784;border-radius:6px;font:inherit}
.cert-form p{font-size:.9rem}.cert-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.cert-paper{box-sizing:border-box;margin:1.5rem auto 3rem;width:min(100% - 2rem,210mm);padding:18mm;background:#fff;color:#20242a;font:11pt/1.6 Georgia,'Times New Roman',serif;border-top:7px solid #641c32;box-shadow:0 10px 32px #0003}
.cert-paper h1,.cert-paper h2,.cert-paper h3,.cert-paper p,.cert-paper th,.cert-paper td{color:#20242a}
.cert-paper h1{font:bold 21pt/1.2 Georgia,serif;margin:0 0 .4rem}.cert-paper h2{font-size:16pt;margin:.7rem 0}.cert-paper h3{font-size:14pt;margin:1.2rem 0 .6rem}
.cert-paper .cert-brand{font:700 10pt/1.4 Arial,sans-serif;letter-spacing:1.2px;color:#641c32;text-transform:uppercase;margin-bottom:1.3rem}
.cert-paper table{width:100%;border-collapse:collapse;margin:1.2rem 0;font:9pt/1.4 Arial,sans-serif;table-layout:fixed}
.cert-paper th,.cert-paper td{padding:8px 6px;border:1px solid #c5c7cb;text-align:left;overflow-wrap:anywhere}.cert-paper th{background:#eee9eb;font-weight:700}.cert-paper tr{break-inside:avoid}
.cert-paper a{color:#641c32;overflow-wrap:anywhere}.cert-paper .cert-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #c5c7cb;font:9pt/1.5 Arial,sans-serif;overflow-wrap:anywhere}
.cert-paper .cert-signer{margin-top:2rem}.cert-paper .cert-medals{font-weight:bold}.cert-paper .cert-coverage{font-size:9pt}
#cert-admin-preview ul{max-height:24rem;overflow:auto}
#cert-issue-form{scroll-margin-top:120px}
#certificates-section .admin-form{display:grid;gap:.8rem}
#certificates-section .admin-form label{display:grid;gap:.3rem}
#certificates-section .admin-form input,#certificates-section .admin-form select{width:100%;min-width:0;padding:.65rem .75rem;border:1px solid #717784;border-radius:5px;background:#171b22;color:#fff;font:inherit}
#certificates-section .admin-form input[type=checkbox]{width:auto;justify-self:start}
@media(max-width:720px){.cert-form-grid{grid-template-columns:1fr}.cert-paper{padding:7mm}.cert-paper th,.cert-paper td{padding:5px 3px;font-size:8pt}}
@page{size:A4;margin:16mm}
@media print{
  :root{color-scheme:light!important;--bg:#fff;--text:#20242a}
  html,body{background:#fff!important;color:#20242a!important}
  #association-header,#association-footer,.cert-controls,#lbc-chatbot-root,[data-lbc-chatbot],.chatbot-launcher,.chatbot-panel{display:none!important}
  body>*:not(main){display:none!important}
  main,.association-page{margin:0!important;padding:0!important}
  .cert-paper{width:100%;margin:0;padding:0;box-shadow:none;border-top:5px solid #641c32;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .cert-paper thead{display:table-header-group}.cert-signer,.cert-footer{break-inside:avoid}
}
/* Diseño institucional del certificado aprobado: nombre protagonista y tabla azul. */
.cert-paper{padding:14mm 16mm 12mm;border-top:0;font:10.5pt/1.55 Arial,sans-serif;color:#182434;text-align:center}
.cert-paper .cert-logos{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:5mm;min-height:19mm}
.cert-paper .cert-logos img{width:19mm;height:19mm;object-fit:contain}
.cert-paper .cert-brand{color:#000;font:bold 10pt/1.4 Arial,sans-serif;letter-spacing:.5px;margin-bottom:5mm}
.cert-paper h1{font:bold 27pt/1.1 Georgia,'Times New Roman',serif;color:#000;margin:0 0 2mm}
.cert-paper .cert-subtitle{font:bold 10pt/1.4 Arial,sans-serif;margin:0 0 6mm;color:#000}
.cert-paper .cert-event{margin:0 0 6mm}.cert-paper .cert-event strong{font-size:12pt}.cert-paper .cert-event span{font-size:9pt;color:#57616b}
.cert-paper h2.cert-athlete{font:bold 24pt/1.2 Georgia,'Times New Roman',serif;text-transform:uppercase;color:#000;margin:5mm 0 2mm;overflow-wrap:anywhere}
.cert-paper .cert-membership{font-size:9pt;color:#57616b;margin:0 0 4mm}
.cert-paper table{margin:5mm 0;font:9pt/1.4 Arial,sans-serif}
.cert-paper th,.cert-paper td{border:0;padding:9px 6px;text-align:center;vertical-align:middle}
.cert-paper th{background:#172c45;color:#fff}.cert-paper tbody tr:nth-child(odd){background:#f0f3f6}
.cert-paper .cert-balance{margin:5mm 0}.cert-paper .cert-balance>span{font:bold 8pt Arial,sans-serif;text-transform:uppercase;letter-spacing:.7px;color:#8b692f}
.cert-paper .cert-medals{font-size:10pt;margin:2mm 0}
.cert-paper .cert-coverage{font-size:8pt;color:#57616b;line-height:1.5}
.cert-paper .cert-signer{margin-top:7mm;font-size:9pt;break-inside:avoid}
.cert-paper .cert-footer{margin-top:6mm;padding-top:3mm;border-top:1px solid #dde1e6;font:7pt/1.5 Arial,sans-serif;color:#57616b}
.cert-paper a{color:#172c45}
@media(max-width:720px){.cert-paper{padding:7mm 5mm}.cert-paper h1{font-size:23pt}.cert-paper h2.cert-athlete{font-size:21pt}.cert-paper th,.cert-paper td{padding:7px 3px;font-size:8pt}}
@media print{.cert-paper{width:100%;margin:0;padding:0;border:0;box-shadow:none}.cert-paper h1{font-size:27pt}.cert-paper h2.cert-athlete{font-size:24pt}}
