/* Prometeo access skin para el onboarding. Solo afecta a la pantalla de acceso (.access-page). */
@font-face { font-family: "Cereal"; src: url("/prometeo-fonts/cereal-light.woff") format("woff"); font-weight: 100 349; font-display: swap; }
@font-face { font-family: "Cereal"; src: url("/prometeo-fonts/cereal-book.woff") format("woff"); font-weight: 350 499; font-display: swap; }
@font-face { font-family: "Cereal"; src: url("/prometeo-fonts/cereal-medium.woff") format("woff"); font-weight: 500 900; font-display: swap; }

html:has(.access-page), html body:has(.access-page) {
    background:
        radial-gradient(90% 55% at 50% 118%, #0b73c4 0%, rgba(11,115,196,0) 70%),
        radial-gradient(120% 70% at 50% 125%, #00279c 0%, rgba(0,39,156,0) 75%),
        linear-gradient(180deg, #02070d 0%, #051429 55%, #072750 100%) fixed !important;
    color: #eef1f6 !important;
    font-family: "Cereal", system-ui, -apple-system, "Segoe UI", sans-serif !important;
    -webkit-font-smoothing: antialiased;
}
html body .shell:has(.access-page) {
    min-height: 100vh !important; min-height: 100dvh !important; width: 100% !important; max-width: none !important;
    margin: 0 !important; padding: 24px 16px !important; background: transparent !important;
    display: grid !important; place-items: center !important;
}
html body .shell:has(.access-page) .top-bar { display: none !important; }

html body .access-page:not(#p#p#p#p#p#p) {
    display: block !important; width: 100% !important; max-width: 380px !important; min-height: 0 !important;
    margin: 0 auto !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; border-radius: 0 !important;
}
html body .access-aside:not(#p#p#p#p#p#p) { display: none !important; }

html body .access-panel:not(#p#p#p#p#p#p) {
    display: block !important; min-height: 0 !important; width: 100% !important; box-sizing: border-box !important;
    padding: 40px 28px 28px !important; text-align: center;
    color: #eef1f6 !important;
    background: rgba(255,255,255,.04) !important;
    border: 1px solid rgba(255,255,255,.12) !important; border-radius: 22px !important;
    box-shadow: 0 30px 80px rgba(0,0,0,.45) !important;
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
}
html body .access-panel h1:not(#p#p#p#p#p#p) { margin: 0 0 10px !important; font-size: 26px !important; font-weight: 300 !important; letter-spacing: normal !important; line-height: 1.2 !important; color: #fff !important; text-align: center; }
html body .access-copy:not(#p#p#p#p#p#p) { margin: 0 0 26px !important; color: #aab4c6 !important; font-size: 15px !important; font-weight: 300; line-height: 1.55; }
html body .access-form:not(#p#p#p#p#p#p) { display: grid !important; gap: 12px !important; width: 100% !important; max-width: none !important; margin: 0 !important; text-align: left; }
html body .access-form label:not(#p#p#p#p#p#p) { display: grid !important; gap: 6px !important; }
html body .access-form label span:not(#p#p#p#p#p#p) { color: #7584a0 !important; font-size: 13px !important; font-weight: 400 !important; padding-left: 18px; }
html body .access-form input:not(#p#p#p#p#p#p) {
    width: 100% !important; box-sizing: border-box !important; height: 48px !important; padding: 0 20px !important;
    font: inherit !important; font-size: 16px !important; font-weight: 300 !important; color: #fff !important;
    background: rgba(2,7,13,.55) !important; border: 1px solid rgba(255,255,255,.14) !important; border-radius: 999px !important;
    outline: none !important; box-shadow: none !important;
}
html body .access-form input:not(#p#p#p#p#p#p):focus { border-color: #3a83ff !important; box-shadow: 0 0 0 3px rgba(58,131,255,.25) !important; }
html body .access-form input:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 40px #07182e inset; }
html body .access-submit:not(#p#p#p#p#p#p) {
    width: 100% !important; height: 48px !important; margin-top: 6px !important; padding: 0 !important; cursor: pointer;
    font: inherit !important; font-size: 16px !important; font-weight: 500 !important; color: #050b16 !important;
    background: #aaadb2 !important; border: 0 !important; border-radius: 999px !important; transition: background .2s;
}
html body .access-submit:not(#p#p#p#p#p#p):hover { background: #c9ccd1 !important; }
html body .access-submit:not(#p#p#p#p#p#p):disabled { opacity: .6 !important; cursor: wait; }
html body .access-error:not(#p#p#p#p#p#p) { margin: 0 !important; color: #ef7a6f !important; font-size: 14px !important; text-align: center; }
html body .access-foot:not(#p#p#p#p#p#p) { margin: 22px 0 0 !important; padding: 0 !important; color: #7584a0 !important; font-size: 13px !important; text-align: center; }
html body .shell:has(.access-page):not(#p#p#p#p#p#p) { display: flex !important; align-items: center !important; justify-content: center !important; align-content: center !important; height: auto !important; }
html body .shell:has(.access-page) > * { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ===== modo incrustado en prometeo.cloud (solo el formulario, sin caja propia) ===== */
html.pm-embed, html.pm-embed:has(.access-page), html.pm-embed body:has(.access-page) { background: transparent !important; color-scheme: dark; }
html.pm-embed body .shell:has(.access-page):not(#p#p#p#p#p#p#p#p) { padding: 0 !important; min-height: 100vh !important; }
html.pm-embed body .access-page:not(#p#p#p#p#p#p#p#p) { max-width: none !important; }
html.pm-embed body .access-panel:not(#p#p#p#p#p#p#p#p) { padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html.pm-embed body .access-panel h1:not(#p#p#p#p#p#p#p#p), html.pm-embed body .access-copy:not(#p#p#p#p#p#p#p#p), html.pm-embed body .access-foot:not(#p#p#p#p#p#p#p#p) { display: none !important; }
/* English UI text without touching the React DOM (avoids hydration mismatches) */
html body .access-panel h1:not(#p#p#p#p#p#p#p#p) { font-size: 0 !important; line-height: 0 !important; }
html body .access-panel h1:not(#p#p#p#p#p#p#p#p)::after { content: "Welcome back."; display: block; font-size: 26px; line-height: 1.2; font-weight: 300; }
html body .access-copy:not(#p#p#p#p#p#p#p#p) { font-size: 0 !important; line-height: 0 !important; }
html body .access-copy:not(#p#p#p#p#p#p#p#p)::after { content: "Sign in to start or check your company's application."; display: block; font-size: 15px; line-height: 1.55; }
html body .access-form label span:not(#p#p#p#p#p#p#p#p) { font-size: 0 !important; line-height: 0 !important; }
html body .access-form label span:not(#p#p#p#p#p#p#p#p)::after { font-size: 13px; line-height: 1.2; }
html body .access-form label:nth-of-type(1) span:not(#p#p#p#p#p#p#p#p)::after { content: "Username"; }
html body .access-form label:nth-of-type(2) span:not(#p#p#p#p#p#p#p#p)::after { content: "Password"; }
html body .access-submit:not(#p#p#p#p#p#p#p#p) { font-size: 0 !important; }
html body .access-submit:not(#p#p#p#p#p#p#p#p)::after { content: "Sign in"; font-size: 16px; font-weight: 500; }
html body .access-submit:not(#p#p#p#p#p#p#p#p):disabled::after { content: "Verifying\2026"; }
html body .access-error:not(#p#p#p#p#p#p#p#p) { font-size: 0 !important; }
html body .access-error:not(#p#p#p#p#p#p#p#p)::after { content: "We couldn't sign you in. Check your details and try again."; font-size: 14px; }
html body .access-foot:not(#p#p#p#p#p#p#p#p) { font-size: 0 !important; }
html body .access-foot:not(#p#p#p#p#p#p#p#p)::after { content: "Temporary protected access \B7  Prometeo"; font-size: 13px; }

/* sin scroll vertical */
html:has(.access-page), html body:has(.access-page), html.pm-embed, html.pm-embed body { overflow: hidden !important; }