.app-shell[hidden], #printLogin[hidden] { display: none !important; }
body.print-login-active { margin: 0; overflow: auto; background: #111c21; }
.print-access { min-height: 100svh; position: relative; isolation: isolate; color: #fff; font-family: Inter, sans-serif; }
.print-access-photo { position: fixed; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(7,19,24,.74), rgba(7,19,24,.14) 65%, rgba(7,19,24,.35)), url('../assets/login-imprenta.png') center / cover no-repeat; }
.print-access-layout { width: min(1440px,100%); min-height: 100svh; margin: auto; display: grid; grid-template-columns: 1fr minmax(360px,440px); align-items: center; gap: clamp(36px,6vw,100px); padding: clamp(24px,5vw,76px); }
.print-access-story { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; gap: 56px; padding: 12px 0; }
.print-access-logo { width: 240px; max-width: 80%; filter: brightness(0) invert(1); }
.print-access-kicker, .print-form-kicker { font-size: 10px; letter-spacing: .2em; font-weight: 800; }
.print-access-kicker { color: #83e7ef; margin: 0 0 24px; }
.print-access-message h1 { font-size: clamp(36px,4.2vw,62px); font-weight: 700; line-height: 1.1; letter-spacing: -.05em; color: white; margin: 0 0 26px; }
.print-access-message h1 span { font-weight: 400; }
.print-access-message > p:not(.print-access-kicker) { font-size: 15px; line-height: 1.8; color: #e3e9eb; }
.print-ink-dots { display: flex; gap: 9px; margin-top: 32px; }
.print-ink-dots i { width: 15px; height: 15px; border-radius: 50%; background: #00bed9; }
.print-ink-dots i:nth-child(2) { background: #ed168c; }
.print-ink-dots i:nth-child(3) { background: #ffe244; }
.print-ink-dots i:nth-child(4) { background: #19272b; border: 1px solid #819093; }
.print-access-caption { font-size: 9px; letter-spacing: .18em; color: #e3e9eb; }
.print-access-panel { position: relative; overflow: hidden; background: #faf9f5; color: #18353c; border-radius: 4px 28px 4px 4px; padding: 38px; box-shadow: 0 24px 80px #0005; }
.print-access-panel::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px; background: linear-gradient(90deg,#00bed9 0 25%,#ed168c 25% 50%,#ffe244 50% 75%,#18353c 75%); }
.print-card-top { display: flex; justify-content: space-between; gap: 10px; font-size: 8px; font-weight: 800; letter-spacing: .06em; padding-bottom: 30px; border-bottom: 1px solid #dce1de; }
.print-edition { color: #637578; white-space: nowrap; }
.print-form-kicker { color: #697d7e; margin: 32px 0 14px; font-size: 9px; }
.print-access-panel h2 { font-size: 42px; font-weight: 700; line-height: 1.06; letter-spacing: -.05em; margin: 0 0 16px; color: #18353c; }
.print-form-intro { font-size: 12px; line-height: 1.7; color: #677879; margin-bottom: 26px; }
#printLoginForm > label { display: block; font-size: 12px; font-weight: 700; margin: 18px 0 9px; }
#printLoginForm input { box-sizing: border-box; width: 100%; min-width: 0; height: 49px; background: #fff; color: #18353c; border: 1px solid #ccd6d4; border-radius: 6px; padding: 0 14px; font: inherit; font-size: 13px; }
#printLoginForm input::placeholder { color: #7b898c; }
#printLoginForm input:focus-visible, #printLoginForm button:focus-visible { outline: 3px solid #08a8bd; outline-offset: 3px; }
.print-password-entry { position: relative; }
#printLoginForm .print-password-entry input { padding-right: 80px; }
.print-password-eye { position: absolute; top: 5px; right: 6px; height: 39px; padding: 0 10px; border: 0; background: transparent; color: #45666c; font: inherit; font-size: 11px; cursor: pointer; }
.print-login-error { min-height: 18px; color: #b3234f; font-size: 12px; margin: 12px 0; }
.print-login-submit { display: flex; justify-content: space-between; align-items: center; width: 100%; min-height: 51px; padding: 12px 19px; background: #183e47; color: white; border: 0; border-radius: 6px; font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.print-login-submit:hover { background: #245762; }
.print-login-submit span { font-size: 23px; }
.print-access-footnote { color: #718181; font-size: 10px; text-align: center; margin: 26px 0 0; line-height: 1.7; }
@media(max-width: 850px) { .print-access-layout { grid-template-columns: 1fr minmax(330px,390px); gap: 28px; padding: 30px; } .print-access-panel { padding: 28px; } .print-access-message h1 { font-size: 36px; } }
@media(max-width: 680px) { .print-access-layout { grid-template-columns: 1fr; padding: 28px 20px; gap: 28px; max-width: 480px; } .print-access-story { gap: 24px; padding: 0; } .print-access-logo { width: 200px; } .print-access-message h1 { font-size: 32px; margin-bottom: 0; } .print-access-message > p:not(.print-access-kicker), .print-access-caption, .print-ink-dots { display: none; } .print-access-kicker { margin-bottom: 12px; } .print-access-panel { padding: 28px; } .print-access-panel h2 { font-size: 36px; } .print-access-photo { background-position: 42% center; } }

/* Navegación de regreso al selector de interfaces. */
.portfolio-return {display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:18px;padding:10px 14px;border:1px solid #aebfbe;border-radius:6px;background:transparent;color:#183e47;font:600 14px/1.4 inherit;text-decoration:none;text-align:center;} .portfolio-return:hover {background:#e7efed;color:#183e47;} .portfolio-return:focus-visible {outline:3px solid #08a8bd;outline-offset:3px;}