/* SIGDA V92-QR3 · Activacion publica del instructor.
   Owner unico de /instructor-acceso y /i/**. Reutiliza tokens V92. */
body.si-access-page{margin:0;min-height:100vh;background:var(--sg-bg);color:var(--sg-text)}
/* Esta pagina no carga global.css, el unico sitio con *{box-sizing:border-box}.
   Sin ese reset, todo width:100% sumaba padding y borde y la tarjeta lo recortaba
   con overflow:hidden: el boton median 370px dentro de 336 (336+32+2) y el
   formulario 696 dentro de 670 (670+24+2). El reset vive aqui, en el owner. */
.si-access-page *,.si-access-page *::before,.si-access-page *::after{box-sizing:border-box}
.si-access-shell{width:min(720px,calc(100% - 28px));margin:clamp(20px,6vh,64px) auto 28px}
.si-access-card{overflow:hidden;border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);background:var(--sg-surface)}
.si-access-brandbar{min-height:72px;padding:15px 20px;background:var(--sg-navy-800);color:var(--sg-text-invert);display:flex;justify-content:space-between;align-items:center;gap:var(--sg-3)}
.si-access-brand{display:flex;align-items:center;gap:var(--sg-3);color:inherit;text-decoration:none}
/* V107 · mismo isotipo oficial que la portada, el acceso institucional y el
   shell de administracion. Antes: cuadro blanco con una "S" navy. */
.si-access-mark{display:block;width:40px;height:40px;border-radius:0;background:transparent url('/assets/sigda-mark-v91.png') center / contain no-repeat;color:transparent;font-size:0;overflow:hidden}
.si-access-brand strong,.si-access-brand small{display:block}.si-access-brand strong{font-size:var(--sg-fs-xl)}.si-access-brand small{margin-top:2px;color:#c6d0e0;font-size:var(--sg-fs-xs)}
.si-access-secure{font-size:var(--sg-fs-xs);border:1px solid rgba(255,255,255,.4);border-radius:var(--sg-radius-pill);padding:5px 8px}
.si-access-loading{padding:var(--sg-10) var(--sg-6);text-align:center;color:var(--sg-text-muted)}
.si-access-hero{padding:var(--sg-6);border-bottom:1px solid var(--sg-border)}
.si-access-hero h1{margin:6px 0 8px;color:var(--sg-navy-800);font-size:clamp(24px,4vw,30px);line-height:1.15;letter-spacing:var(--sg-ls-tight)}
.si-access-hero p{margin:0;color:var(--sg-text-muted);font-size:var(--sg-fs-md);line-height:var(--sg-lh-normal)}
.si-access-kicker{font-size:var(--sg-fs-xs);font-weight:var(--sg-fw-black);letter-spacing:var(--sg-ls-caps);text-transform:uppercase;color:var(--sg-accent)}
.si-access-meta{display:flex;flex-wrap:wrap;gap:var(--sg-2);margin-top:var(--sg-4)}
.si-access-meta span{padding:5px 8px;border:1px solid var(--sg-border);border-radius:var(--sg-radius-pill);background:var(--sg-surface-alt);color:var(--sg-text-muted);font-size:var(--sg-fs-xs)}
.si-access-stage{padding:var(--sg-6)}.si-access-stage h2{margin:0 0 var(--sg-2);font-size:var(--sg-fs-2xl);color:var(--sg-navy-800)}
.si-access-copy{margin:0 0 var(--sg-5);color:var(--sg-text-muted);font-size:var(--sg-fs-md);line-height:var(--sg-lh-normal)}
.si-access-form{display:grid;gap:var(--sg-4)}.si-access-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--sg-3)}
.si-access-actions{display:flex;flex-wrap:wrap;gap:var(--sg-2);margin-top:var(--sg-1)}
.si-access-code{font-size:20px;letter-spacing:.15em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.si-access-pin{text-align:center;letter-spacing:.22em;font-size:18px;font-variant-numeric:tabular-nums}
.si-access-message{margin:var(--sg-4) var(--sg-6) 0;padding:var(--sg-3);border:1px solid var(--sg-border);border-radius:var(--sg-radius);background:var(--sg-accent-soft);color:var(--sg-accent-strong);font-size:var(--sg-fs-sm);line-height:var(--sg-lh-normal)}
.si-access-message[data-kind="error"]{background:var(--sg-danger-soft);color:var(--sg-danger)}
.si-access-message[data-kind="success"]{background:var(--sg-ok-soft);color:var(--sg-ok)}
.si-access-message[data-kind="warning"]{background:var(--sg-warn-soft);color:var(--sg-warn)}
.si-access-identity{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--sg-3);align-items:center;padding:var(--sg-4);border:1px solid var(--sg-border);border-radius:var(--sg-radius-lg);background:var(--sg-surface-alt);margin-bottom:var(--sg-5)}
.si-access-avatar{width:48px;height:48px;border-radius:var(--sg-radius-pill);display:grid;place-items:center;background:var(--sg-accent-soft);color:var(--sg-accent-strong);font-weight:var(--sg-fw-black);font-size:var(--sg-fs-xl)}
.si-access-identity strong,.si-access-identity span{display:block}.si-access-identity span{margin-top:3px;color:var(--sg-text-muted);font-size:var(--sg-fs-sm)}
.si-access-note{padding:var(--sg-3);border-left:3px solid var(--sg-accent);background:var(--sg-surface-alt);color:var(--sg-text-muted);font-size:var(--sg-fs-sm);line-height:var(--sg-lh-normal)}
.si-access-foot{text-align:center;color:var(--sg-text-muted);font-size:var(--sg-fs-xs);margin:var(--sg-3) var(--sg-2)}
@media(max-width:560px){.si-access-shell{width:min(100% - 16px,720px);margin:8px auto 16px}.si-access-brandbar{padding:13px 15px}.si-access-secure{display:none}.si-access-hero,.si-access-stage{padding-left:18px;padding-right:18px}.si-access-message{margin-left:18px;margin-right:18px}.si-access-row{grid-template-columns:1fr}.si-access-actions{display:grid}.si-access-actions .sg-btn{width:100%}}
