/* Guía práctica de prompting — estilos de la versión web */

/* ---- Base (del diseño) ---- */
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;font-family:"Karla",system-ui,sans-serif;color:#333C3F;font-size:16px;line-height:1.65}
h1,h2,h3,h4{font-family:"Inter",system-ui,sans-serif;color:#012C3D;line-height:1.2;margin:0}
p{margin:0 0 12px}
ul,ol{margin:0 0 14px;padding-left:22px}
li{margin-bottom:5px}
table{border-collapse:collapse;width:100%}
a{color:#D32B36;text-decoration:none}
a:hover{color:#012C3D;text-decoration:underline}
[hidden]{display:none!important}
:focus-visible{outline:none;box-shadow:var(--shadow-focus)}

[data-show-mobile]{display:none}
@media (max-width:640px){
  table{font-size:13px!important}
  td,th{padding:6px 8px!important}
  [data-hide-mobile]{display:none!important}
  [data-show-mobile]{display:inline}
}

.skip-link{position:absolute;left:12px;top:-60px;z-index:50;background:#012C3D;color:#fff;padding:10px 14px;border-radius:8px;font:600 14px/1 Inter,sans-serif}
.skip-link:focus{top:12px;color:#fff;text-decoration:none}

/* ---- Logo (componente Logo del design system) ---- */
.st-logo{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1}
.st-logo img{width:auto;display:block}
.st-logo__desc{font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:.01em;color:var(--st-petroleo);align-self:stretch;text-align:left}

/* ---- Button primario (componente Button del design system) ---- */
.st-btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:var(--fw-semibold);letter-spacing:.01em;border-radius:var(--radius-pill);cursor:pointer;background:var(--st-coral);color:var(--st-white);border:1.5px solid var(--st-coral);box-shadow:var(--shadow-coral);transition:transform var(--dur-fast) var(--ease-standard),filter var(--dur-fast) var(--ease-standard)}
.st-btn:hover{filter:brightness(1.06)}
.st-btn:active{transform:scale(.97)}
.st-btn:focus-visible{box-shadow:var(--shadow-coral),var(--shadow-focus)}
.st-btn--sm{font-size:var(--fs-sm);padding:8px 16px;gap:8px;min-height:36px}
.st-btn--md{font-size:var(--fs-md);padding:11px 22px;gap:9px;min-height:44px}
.st-btn--lg{font-size:var(--fs-lg);padding:14px 30px;gap:10px;min-height:52px}
.st-btn--full{width:100%;box-sizing:border-box}
a.st-btn,a.st-btn:hover{color:var(--st-white);text-decoration:none;line-height:1.2;box-sizing:border-box}
.avance-btn{justify-content:center;height:40px}
.account-menu__pdf{margin-top:12px;width:100%;height:36px;border:0;border-radius:8px;background:#012C3D;font:600 14px/1 Inter,sans-serif;color:#fff;cursor:pointer}
.account-menu__pdf:hover{background:#14566D}
.account-menu__pdf+.account-menu__logout{margin-top:8px}
.link-btn{border:0;background:none;padding:0;font:inherit;font-weight:600;color:#D32B36;text-decoration:underline;cursor:pointer}
[aria-busy="true"]{opacity:.6;cursor:progress}

/* ---- Barra superior ---- */
.tool-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border:1px solid #C3C9C4;border-radius:8px;background:#fff;font:600 14px/1 Inter,sans-serif;color:#012C3D;cursor:pointer;white-space:nowrap}
.tool-btn:hover{border-color:#012C3D}

/* ---- Índice lateral ---- */
#banner:not([hidden]){display:flex}
.drawer-item{display:grid;grid-template-columns:30px minmax(0,1fr) 22px;gap:8px;align-items:center;padding:10px 20px;text-decoration:none;color:#012C3D;font:500 14px/1.35 Karla,sans-serif;background:transparent}
.drawer-item:hover{background:#F7F8F3;text-decoration:none;color:#012C3D}
.drawer-item.is-current{background:#DCEEF0;font-weight:700}
.drawer-item__num{font:700 13px/1 Inter,sans-serif;color:#5CA8AF}
.drawer-item__mark{font:700 13px/1 Inter,sans-serif;color:#1F8A5B;text-align:right}
.drawer-item__mark.is-bookmark{color:#D32B36}

/* ---- Cuenta (login con Google) ----
   body.auth-none: sin Firebase configurado · auth-out: sin sesión · auth-in: con sesión */
.auth-none [data-auth],.auth-out [data-auth="in"],.auth-in [data-auth="out"],.auth-pending [data-auth]{display:none!important}
.google-btn{gap:8px;color:#1C2429}
.google-btn--full{width:100%;justify-content:center;height:40px}
.google-btn--lg{height:48px;padding:0 20px;font-size:15px;border-color:#012C3D;border-width:1.5px}
.g-icon{flex:none}
.cover-hint{font-size:14px;line-height:1.5;color:#4D5759;margin:14px 0 0;max-width:560px}
.account{position:relative;display:flex;align-items:center;gap:10px}
.save-pill{font:500 12px/1 Inter,sans-serif;color:#6F7A7C;white-space:nowrap}
.save-pill.is-saving{color:#2A6F88}
.save-pill.is-error{color:#D32B36}
.avatar-btn{width:36px;height:36px;border-radius:999px;border:1.5px solid #C3C9C4;background:#012C3D;color:#fff;font:700 15px/1 Inter,sans-serif;cursor:pointer;padding:0;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}
.avatar-btn:hover{border-color:#012C3D}
.avatar-btn img{width:100%;height:100%;object-fit:cover;display:block}
.account-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(280px,calc(100vw - 32px));background:#fff;border:1px solid #DDE1DB;border-radius:12px;box-shadow:var(--shadow-lg);padding:16px;z-index:25}
.account-menu__name{font:700 15px/1.3 Inter,sans-serif;color:#012C3D}
.account-menu__email{font-size:13px;color:#6F7A7C;margin-top:2px;word-break:break-all}
.account-menu__stat{font-size:14px;color:#333C3F;margin-top:12px;padding-top:12px;border-top:1px solid #DDE1DB}
.account-menu__save{font-size:13px;color:#6F7A7C;margin-top:4px}
.account-menu__logout{margin-top:14px;width:100%;height:36px;border:1px solid #C3C9C4;border-radius:8px;background:#fff;font:600 14px/1 Inter,sans-serif;color:#012C3D;cursor:pointer}
.account-menu__logout:hover{border-color:#012C3D}
.drawer-account{padding:14px 20px;border-bottom:1px solid #DDE1DB;background:#F7F8F3}
.drawer-account p{font-size:13px;line-height:1.45;color:#4D5759;margin:0 0 10px}
.drawer-account--in{display:flex;flex-direction:column;gap:2px;font-size:13px;color:#4D5759}
.drawer-account--in #drawer-user{font:700 14px/1.3 Inter,sans-serif;color:#012C3D}

/* ---- Campos completables ---- */
.field{display:block;width:100%;box-sizing:border-box;margin:0;border:0;background:transparent;resize:none;overflow:hidden;font:400 14px/1.5 Karla,sans-serif;color:#1C2429;padding:8px 12px;min-height:100%}
td[data-field]{padding:0;vertical-align:top;height:40px}
td[data-field]>.field{min-height:inherit}
[data-kind="lines"]{height:auto!important}
.field--lines{font-size:15px;line-height:32px;padding:0 4px;min-height:var(--h,64px);background:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,#DDE1DB 31px,#DDE1DB 32px)}
.field::placeholder{color:#9AA3A2}
.auth-in .field--lines,.auth-in td[data-field]{background-color:#FFFDF5;cursor:text}
.auth-in .field--lines:hover,.auth-in td[data-field]:hover{background-color:#FFF8E6}
.auth-in td[data-field]:focus-within{background-color:#fff;box-shadow:inset 0 0 0 2px #78BDC4}
.field:focus{outline:none}
.field--lines:focus{box-shadow:inset 0 0 0 2px #78BDC4;background-color:#fff}
.auth-out .field,.auth-out .chk{cursor:pointer}
select.field{appearance:none;-webkit-appearance:none;cursor:pointer;height:100%;min-height:40px;padding-right:28px;background-image:linear-gradient(45deg,transparent 50%,#6F7A7C 50%),linear-gradient(135deg,#6F7A7C 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.field-print{display:none;white-space:pre-wrap}
.chk{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid #2A6F88;border-radius:3px;background:#fff;margin:0;cursor:pointer;display:inline-grid;place-content:center;flex:none}
.chk::after{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg);opacity:0}
.chk:checked{background:#1F8A5B;border-color:#1F8A5B}
.chk:checked::after{opacity:1}
label:has(>.chk){cursor:pointer}
label:has(>.chk:checked)>span{color:#6F7A7C}
.chk-line{display:flex;gap:10px;align-items:flex-start;margin:2px 0 6px}
.chk-line:last-child{margin-bottom:0}

/* ---- Prompts copiables ---- */
.prompt-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.copy-btn{flex:none;display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid rgba(255,255,255,0.35);border-radius:999px;background:transparent;color:#fff;font:600 12px/1 Inter,sans-serif;letter-spacing:.02em;cursor:pointer;text-transform:none}
.copy-btn::before{content:"";width:12px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4'%3E%3Crect x='9' y='9' width='12' height='12' rx='2'/%3E%3Cpath d='M5 15H4a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1'/%3E%3C/svg%3E") center/contain no-repeat}
.copy-btn:hover{background:rgba(255,255,255,0.12);border-color:#fff}
.copy-btn.is-done{background:#1F8A5B;border-color:#1F8A5B}
.copy-btn.is-done::before{-webkit-mask:none;mask:none;content:"✓";background:none;width:auto;height:auto;font-size:12px}

/* ---- Marcar capítulo terminado ---- */
.finish{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:40px 0 8px;padding:16px 18px;border:1.5px solid #DDE1DB;border-radius:12px;background:#F7F8F3}
.finish__icon{flex:none;width:36px;height:36px;border-radius:999px;border:2px solid #C3C9C4;color:#C3C9C4;display:inline-flex;align-items:center;justify-content:center;font:700 18px/1 Inter,sans-serif}
.finish__text{flex:1 1 220px;display:flex;flex-direction:column;gap:2px}
.finish__text strong{font:700 16px/1.3 Inter,sans-serif;color:#012C3D}
.finish__sub{font-size:14px;color:#4D5759}
.finish__btn{flex:none;height:44px;padding:0 20px;border:0;border-radius:999px;background:#012C3D;color:#fff;font:600 15px/1 Inter,sans-serif;cursor:pointer}
.finish__btn:hover{background:#14566D}
.finish.is-done{background:#E4F3EC;border-color:#1F8A5B}
.finish.is-done .finish__icon{background:#1F8A5B;border-color:#1F8A5B;color:#fff}
.finish.is-done .finish__btn{background:transparent;border:1px solid #9AA3A2;color:#4D5759;height:36px;font-size:13px}
@media (max-width:480px){.finish__btn{width:100%}}

/* ---- Certificado ---- */
.cert-card{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:28px 0 8px;padding:22px 24px;border-radius:14px;background:#012C3D;color:#fff;box-shadow:var(--shadow-md)}
.cert-card__seal{flex:none;width:56px;height:56px;border-radius:999px;background:#F8444F;display:flex;align-items:center;justify-content:center;font-size:28px}
.cert-card__text{flex:1 1 240px;display:flex;flex-direction:column;gap:4px}
.cert-card__eyebrow{font:700 11px/1 Inter,sans-serif;letter-spacing:.12em;color:#FB8990}
.cert-card__text strong{font:700 19px/1.3 Inter,sans-serif;color:#fff}
.cert-card__sub{font-size:14px;color:#A7D5DA}
.cert-card.is-locked{background:#F7F8F3;color:#333C3F;box-shadow:none;border:1.5px dashed #C3C9C4}
.cert-card.is-locked .cert-card__seal{background:#DDE1DB;filter:grayscale(1);opacity:.7}
.cert-card.is-locked .cert-card__text strong{color:#012C3D}
.cert-card.is-locked .cert-card__sub{color:#4D5759}
.cert-card.is-locked .cert-card__eyebrow{color:#D32B36}
body:not(.cert-ready) .cert-only{display:none!important}
.cert-card__actions{display:flex;flex-wrap:wrap;gap:10px}
.li-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 20px;border-radius:999px;background:#0A66C2;color:#fff;font:600 15px/1 Inter,sans-serif;text-decoration:none;box-sizing:border-box}
.li-btn:hover{background:#004182;color:#fff;text-decoration:none}
.li-btn span{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:3px;background:#fff;color:#0A66C2;font:800 13px/1 Inter,sans-serif}
.li-btn[hidden],.account-menu__li[hidden]{display:none!important}
button.li-btn{border:0;cursor:pointer}
.li-btn--outline,button.li-btn--outline{background:#fff;color:#0A66C2;border:1.5px solid #0A66C2}
.li-btn--outline:hover{background:#EAF3FC;color:#004182}
.li-btn--outline span{background:#0A66C2;color:#fff}
.account-menu__li--outline{width:100%;border:1.5px solid #0A66C2;background:#fff;color:#0A66C2;cursor:pointer;line-height:1}
.account-menu__li--outline:hover{background:#EAF3FC;color:#004182}
.account-menu__li{display:block;margin-top:8px;text-align:center;height:36px;line-height:36px;border-radius:8px;background:#0A66C2;color:#fff;font:600 13px/36px Inter,sans-serif;text-decoration:none}
.account-menu__li:hover{background:#004182;color:#fff;text-decoration:none}
@media (max-width:480px){.cert-card__actions,.li-btn{width:100%}}
.account-menu__cert{margin-top:8px;width:100%;height:36px;border:0;border-radius:8px;background:#F8444F;font:600 14px/1 Inter,sans-serif;color:#fff;cursor:pointer}
@media (max-width:480px){.cert-card .st-btn{width:100%}}

/* ---- Certificado en la portada ---- */
.hero-cert{margin-top:32px;background:#fff;border:1px solid #DDE1DB;border-radius:16px;padding:18px;box-shadow:var(--shadow-md);max-width:420px}
.hero-cert__preview{position:relative;border-radius:10px;overflow:hidden;background:#fff;border:1px solid #DDE1DB;aspect-ratio:1.414/1;display:flex;flex-direction:column}
.hero-cert__band{height:12px;background:#012C3D;border-bottom:3px solid #F8444F;flex:none}
.hero-cert__doc{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 14px 26px;text-align:center}
.hero-cert__eyebrow{font:700 9px/1 Inter,sans-serif;letter-spacing:.14em;color:#F8444F}
.hero-cert__name{font:800 clamp(18px,2.2vw,24px)/1.15 Inter,sans-serif;color:#012C3D;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hero-cert__line{width:44px;height:2px;background:#F8444F}
.hero-cert__course{font:600 12px/1.3 Inter,sans-serif;color:#14566D}
.hero-cert__idea{font:800 12px/1 Inter,sans-serif;letter-spacing:.5em;color:#F8444F;margin-top:2px}
.hero-cert__li{position:absolute;left:10px;bottom:8px;display:inline-flex;align-items:center;gap:6px;font:600 10px/1 Inter,sans-serif;color:#0A66C2}
.hero-cert__li b{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:3px;background:#0A66C2;color:#fff;font:800 9px/1 Inter,sans-serif}
.hero-cert__body{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.hero-cert__title{font:700 18px/1.3 Inter,sans-serif;color:#012C3D}
.hero-cert__sub{font-size:14px;line-height:1.45;color:#4D5759}
.hero-cert__progress{display:flex;align-items:center;gap:10px;margin-top:6px;font:600 12px/1 Inter,sans-serif;color:#4D5759}
.hero-cert__progress[hidden],.hero-cert__actions[hidden]{display:none!important}
.hero-cert__bar{flex:1;height:6px;border-radius:999px;background:#EDEFE8;overflow:hidden}
.hero-cert__bar span{display:block;height:6px;background:#F8444F;transition:width .3s}
.hero-cert__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.hero-cert__actions .st-btn,.hero-cert__actions .li-btn{flex:1 1 100%;white-space:nowrap}
.hero-cert.is-ready{border:2px solid #1F8A5B}
@media (min-width:980px){
  .hero{display:grid;grid-template-columns:minmax(0,1fr) 380px;column-gap:56px}
  .hero>*{grid-column:1}
  .hero>.hero-cert{grid-column:2;grid-row:1 / span 8;align-self:center;margin-top:0}
  .hero>div:last-child{grid-column:1 / -1}
}

/* ---- Videos y enlaces cargados por la docente ---- */
.media{margin:14px 0;border:1px solid #DDE1DB;border-radius:10px;overflow:hidden;background:#fff;break-inside:avoid;position:relative}
.media__frame{position:relative;padding-top:56.25%;background:#0C161B}
.media__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.media__link{display:flex;flex-direction:column;gap:2px;padding:10px 14px;color:#012C3D;text-decoration:none}
.media__link:hover{background:#F7F8F3;text-decoration:none;color:#012C3D}
.media__link strong{font:600 14px/1.35 Inter,sans-serif}
.media__url{font-size:12px;color:#6F7A7C;word-break:break-all}
.media--link .media__link::before{content:"↗ ENLACE";font:700 10px/1 Inter,sans-serif;letter-spacing:.12em;color:#D32B36;margin-bottom:4px}
.media--video .media__link::before{content:"▶ VIDEO";font:700 10px/1 Inter,sans-serif;letter-spacing:.12em;color:#D32B36;margin-bottom:4px}
.media__remove{position:absolute;top:8px;right:8px;z-index:2}

/* ---- Modo edición (solo docente) ---- */
body:not(.is-admin) .admin-only{display:none!important}
body:not(.edit-mode) .edit-only{display:none!important}
.edit-guide-btn{color:#D32B36;border-color:#F8444F}
.account-menu__edit{margin-top:8px;width:100%;height:36px;border:1px solid #F8444F;border-radius:8px;background:#fff;font:600 14px/1 Inter,sans-serif;color:#D32B36;cursor:pointer}
.account-menu__panel{display:block;margin-top:8px;text-align:center;font:600 13px/36px Inter,sans-serif;color:#012C3D}
.edit-mode [data-edit]{outline:1px dashed transparent;outline-offset:3px;border-radius:2px;cursor:text;transition:outline-color .12s}
.edit-mode [data-edit]:hover{outline-color:#78BDC4}
.edit-mode [data-edit]:focus,.edit-mode [data-edit].is-active{outline:2px solid #F8444F;background-color:rgba(248,68,79,0.04)}
.edit-mode [data-edit][data-locked]{cursor:default}
.edit-mode{padding-bottom:200px}
.edit-mode #banner{bottom:auto!important;top:84px;z-index:61!important}
.edit-only{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border:1.5px dashed #F8444F;border-radius:8px;background:#fff;color:#D32B36;font:600 13px/1 Inter,sans-serif;cursor:pointer}
.video-edit{margin-top:12px}
.ed-bar{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);z-index:60;width:min(1100px,calc(100% - 24px));box-sizing:border-box;background:#012C3D;color:#fff;border-radius:14px;box-shadow:var(--shadow-lg);padding:10px 12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font:500 13px/1.3 Inter,sans-serif}
.ed-bar.is-moved{transform:none;bottom:auto}
.ed-grip{flex:none;align-self:stretch;display:flex;align-items:center;padding:0 4px;margin:-4px 0;font-size:20px;line-height:1;color:#A7D5DA;cursor:grab;touch-action:none;user-select:none;border-radius:6px}
.ed-grip:hover{background:rgba(255,255,255,0.1)}
.ed-grip:active{cursor:grabbing}
.ed-bar__info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1 1 200px}
.ed-jump{max-width:100%;height:28px;border:1px solid rgba(255,255,255,0.3);border-radius:6px;background:#073F53;color:#fff;font:600 13px/1 Inter,sans-serif;padding:0 6px;cursor:pointer}
.ed-bar__info strong{color:#FB8990;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.ed-where{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#A7D5DA;font-size:12px}
.ed-bar__tools,.ed-bar__save{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ed-bar button{height:34px;padding:0 12px;border:1px solid rgba(255,255,255,0.3);border-radius:8px;background:transparent;color:#fff;font:600 13px/1 Inter,sans-serif;cursor:pointer}
.ed-bar button:hover{background:rgba(255,255,255,0.1)}
.ed-bar .ed-primary,.ed-dlg .ed-primary{background:#F8444F;border-color:#F8444F;color:#fff}
.ed-bar .ed-primary:disabled{opacity:.45;cursor:default}
.ed-status{color:#A7D5DA;margin-right:4px}
.ed-dlg{border:0;border-radius:14px;padding:0;width:min(480px,calc(100% - 32px));box-shadow:var(--shadow-lg)}
.ed-dlg::backdrop{background:rgba(1,44,61,0.45)}
.ed-dlg form{padding:22px}
.ed-dlg__title{font-size:20px;margin:0 0 6px}
.ed-dlg__hint{font-size:14px;color:#4D5759;margin:0 0 14px}
.ed-dlg__row{display:flex;flex-direction:column;gap:6px;font:600 13px Inter,sans-serif;color:#012C3D;margin-bottom:12px}
.ed-dlg__row[hidden]{display:none}
.ed-dlg input{height:42px;border:1px solid #C3C9C4;border-radius:8px;padding:0 12px;font:400 16px Karla,sans-serif;color:#1C2429}
.ed-dlg input:focus{outline:none;border-color:#78BDC4;box-shadow:var(--shadow-focus)}
.ed-dlg__error{color:#D32B36;font-size:13px;min-height:1em;margin:0 0 8px}
.ed-dlg__actions{display:flex;gap:8px;align-items:center}
.ed-dlg__actions span{flex:1}
.ed-dlg__actions button{height:38px;padding:0 14px;border:1px solid #C3C9C4;border-radius:8px;background:#fff;font:600 14px/1 Inter,sans-serif;color:#012C3D;cursor:pointer}
.ed-dlg .ed-danger{border-color:#F8444F;color:#D32B36}

[data-hide-narrow]{display:inline}
@media (max-width:640px){
  td[data-field]{padding:0!important}
  table:has(td[data-field]){min-width:600px}
  .field{font-size:16px} /* evita el zoom automático de iOS al tocar un campo */
  .field--lines{font-size:16px}
}
@media (max-width:420px){
  [data-hide-narrow]{display:none}
  .tool-btn{padding:0 10px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .st-btn,#progress-bar{transition:none!important}
}

/* ---- PDF / impresión ---- */
@page{size:A4;margin:16mm 15mm 18mm}
@media print{
  [data-noprint],.skip-link,#banner,#drawer,header{display:none!important}
  html{scroll-padding-top:0}
  body{font-size:11pt;line-height:1.55;background:#fff}
  main{padding:0!important;max-width:none!important}
  #portada{background:#fff!important;border:0!important;min-height:250mm;display:flex;align-items:center}
  #portada>div{padding:0!important;width:100%}
  section{padding-top:0!important}
  h2,h3,h4{break-after:avoid}
  p,li{orphans:3;widows:3}
  /* Las tablas anchas se imprimen completas, sin scroll ni recortes */
  div[style*="overflow-x"]{overflow:visible!important}
  table{width:100%!important;min-width:0!important;font-size:9.5pt!important}
  thead{display:table-header-group}
  tr{break-inside:avoid}
  td,th{padding:5px 7px!important}
  .field{display:none!important}
  .field-print{display:block;font-size:10pt;line-height:1.45;padding:4px 6px;white-space:pre-wrap}
  .field--lines+.field-print{line-height:30px;padding:0 4px;background:repeating-linear-gradient(to bottom,transparent 0,transparent 29px,#DDE1DB 29px,#DDE1DB 30px);min-height:var(--h,64px)}
  a{color:inherit}
  .media__frame,.edit-only,.ed-bar{display:none!important}
  .media{border-color:#C3C9C4}
}

/* ---- Vista de curso (solo pantalla): "Mi curso" + un capítulo por pantalla ---- */
@media screen{
  body.lms main>section{display:none}
  body.lms.view-home main>#indice,body.lms.view-chapter main>section.is-open{display:block}
  body.lms.view-chapter #portada,body.lms.view-chapter #curso{display:none}
  /* En el inicio, del índice impreso queda solo la tabla de videos (los módulos ya están en tarjetas) */
  body.lms.view-home #indice>[data-edit="indice-e1"],body.lms.view-home #indice>[data-edit="indice-e2"],body.lms.view-home #indice>[data-edit="indice-e3"]{display:none}
  body.lms.view-home #indice{padding-top:40px!important}
  body.lms.view-home #indice>h3{margin-top:0!important}
  body.lms .hero{padding-top:clamp(32px,6vw,72px)!important;padding-bottom:clamp(28px,4vw,48px)!important}
  body.lms main>section{padding-top:20px!important}
  /* Portada más compacta, para que "Mi curso" se vea enseguida (IDEA se explica en el capítulo 2) */
  body.lms .hero h1{font-size:clamp(36px,6vw,64px)!important;margin-top:12px!important}
  body.lms .hero h1+p{margin-top:16px!important}
  body.lms .hero>div[style*="height:4px"]{margin:20px 0!important}
  body.lms .hero>div[style*="grid-template-columns"]{display:none!important}
  /* La acción principal es avanzar en el curso; el PDF queda como secundaria */
  body.lms .hero-go{order:-1;height:52px!important;padding:0 30px!important;border-radius:999px!important;background:#F8444F!important;border-color:#F8444F!important;color:#fff!important;font-size:var(--fs-lg)!important;box-shadow:var(--shadow-coral)}
  body.lms .hero-go:hover{text-decoration:none;filter:brightness(1.06)}
  body.lms #portada a.st-btn[download]{background:transparent;color:#012C3D;border-color:#012C3D;box-shadow:none}
}
.course{padding-top:clamp(32px,6vw,56px)}
.course__head{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:flex-end;justify-content:space-between}
.course__eyebrow{font:600 12px/1 Inter,sans-serif;letter-spacing:.12em;color:#D32B36}
.course__title{font-size:clamp(26px,4.4vw,34px);margin:10px 0 8px}
.course__lead{max-width:520px;color:#4D5759;margin:0}
.course__stat{min-width:220px;flex:0 1 260px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;font:500 14px/1.3 Inter,sans-serif;color:#4D5759}
.course__stat strong{font:800 40px/1 Inter,sans-serif;color:#012C3D}
.course__bar{flex:1 1 100%;height:8px;border-radius:999px;background:#EDEFE8;overflow:hidden;margin-top:6px}
.course__bar span{display:block;height:100%;width:0;background:#1F8A5B;border-radius:999px;transition:width .3s}
.course__go{margin-top:24px;max-width:100%;box-sizing:border-box;text-align:center;line-height:1.3}
.course__go:hover{text-decoration:none;color:#fff}
.course__group{font:700 13px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#5CA8AF;margin:36px 0 12px}
.course__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.course__grid li{margin:0}
.mod{position:relative;display:flex;flex-direction:column;gap:8px;height:100%;box-sizing:border-box;padding:16px 16px 14px;background:#fff;border:1px solid #DDE1DB;border-radius:12px;color:#012C3D;transition:border-color .15s,box-shadow .15s,transform .15s}
.mod:hover{text-decoration:none;color:#012C3D;border-color:#78BDC4;box-shadow:var(--shadow-md);transform:translateY(-1px)}
.mod__chip{font:700 11px/1.2 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#D32B36}
.mod__title{font:700 16px/1.3 Inter,sans-serif;flex:1}
.mod__meta{font-size:13px;color:#6F7A7C}
.mod__status{align-self:flex-start;font:700 12px/1 Inter,sans-serif;padding:6px 10px;border-radius:999px;background:#EDEFE8;color:#4D5759}
.mod.is-doing{border-color:#E0A33A}
.mod.is-doing .mod__status{background:#FBF1DD;color:#8A5A0B}
.mod.is-done{background:#F6FBF8;border-color:#BFE3D0}
.mod.is-done .mod__status{background:#E4F3EC;color:#1F8A5B}

.lms-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:clamp(20px,4vw,36px);padding-bottom:12px;border-bottom:1px solid #EDEFE8;font:600 13px/1.3 Inter,sans-serif;color:#6F7A7C}
.lms-top a{color:#012C3D}
.lms-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.lms-nav a{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #DDE1DB;border-radius:12px;color:#012C3D;font:700 15px/1.3 Inter,sans-serif;background:#fff}
.lms-nav a:hover{text-decoration:none;border-color:#78BDC4;color:#012C3D}
.lms-nav small{font:600 12px/1 Inter,sans-serif;color:#6F7A7C}
.lms-nav__next{text-align:right;align-items:flex-end;grid-column:2}
.lms-nav__next{background:#012C3D!important;border-color:#012C3D!important;color:#fff!important}
.lms-nav__next small{color:#A7D5DA}
@media (max-width:520px){.lms-nav{grid-template-columns:1fr}.lms-nav__next{grid-column:1;grid-row:1}}

.lms-side{display:none}
@media screen and (min-width:1180px){
  body.lms.view-chapter .lms-side{display:flex;flex-direction:column;position:fixed;z-index:10;top:var(--header-h,61px);left:0;bottom:0;width:272px;box-sizing:border-box;padding:18px 0 24px;background:#F7F8F3;border-right:1px solid #DDE1DB;overflow-y:auto}
  body.lms.view-chapter main{margin-left:max(300px,calc(50vw - 340px))!important}
  body.lms.view-chapter footer>div{padding-left:300px!important}
}
.lms-side__home{margin:0 20px 14px;font:600 14px/1.3 Inter,sans-serif;color:#012C3D}
.lms-side__stat{margin:0 20px 12px;font:500 12px/1 Inter,sans-serif;color:#4D5759}
.lms-side__list{list-style:none;margin:0;padding:0}
.lms-side__list li{margin:0}
.lms-side__list a{display:grid;grid-template-columns:20px 22px minmax(0,1fr);gap:6px;align-items:baseline;padding:8px 20px;font:500 14px/1.35 Karla,sans-serif;color:#012C3D}
.lms-side__list a:hover{background:#EDEFE8;text-decoration:none;color:#012C3D}
.lms-side__list a.is-current{background:#DCEEF0;font-weight:700;box-shadow:inset 3px 0 0 #F8444F}
.lms-side__mark{font:700 13px/1 Inter,sans-serif;color:#1F8A5B}
.lms-side__num{font:700 12px/1 Inter,sans-serif;color:#5CA8AF}
