/* Shared participant authentication layout, following Zentry's main sign-in UI. */
body.zentry-auth-entry { margin:0; background:#f2f4f7 !important; color:#0f1e3d; font-family:'DM Sans','Segoe UI',sans-serif !important; }
.zentry-auth-entry * { box-sizing:border-box; }
.zentry-auth-layout { min-height:100vh; display:grid; grid-template-columns:1.15fr .85fr; }
.zentry-auth-entry main.zentry-auth-layout { max-width:none; width:100%; padding:0; }
.zentry-auth-story { position:relative; overflow:hidden; padding:clamp(42px,6vw,90px); color:#fff; background:linear-gradient(145deg,#0f1e3d,#2563eb); display:flex; flex-direction:column; justify-content:space-between; gap:48px; min-width:0; }
.zentry-auth-story::after { content:''; position:absolute; width:520px; height:520px; border:90px solid #ffffff0a; border-radius:50%; right:-260px; top:-190px; pointer-events:none; }
.zentry-auth-story > * { position:relative; z-index:1; }
.zentry-auth-story .zentry-auth-logo { display:block; width:min(245px,75%); height:auto; }
.zentry-auth-entry .zentry-auth-story h1 { font:800 clamp(42px,5vw,72px)/1.05 'Manrope','Segoe UI',sans-serif; letter-spacing:-.055em; color:#fff; margin:16px 0 22px; overflow-wrap:anywhere; }
.zentry-auth-story p { max-width:590px; color:#dbe7f8; font-size:18px; line-height:1.65; margin:0; }
.zentry-auth-kicker { font-size:12px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:#d8e6fa; }
.zentry-auth-story a { color:#fff; text-decoration:none; }
.zentry-auth-story .zentry-auth-back { font-size:14px; text-underline-offset:4px; }
.zentry-auth-story .zentry-auth-back:hover { text-decoration:underline; }
.zentry-auth-panel { background:radial-gradient(circle at 100% 0,#def4b4,transparent 27rem),#fafaf8; display:grid; place-items:center; padding:45px clamp(28px,6vw,90px); min-width:0; }
.zentry-auth-box { width:min(520px,100%); min-width:0; }
.zentry-auth-box > .zentry-auth-kicker { color:#2563eb; }
.zentry-auth-entry .zentry-auth-box h2 { font:800 clamp(34px,4vw,50px)/1.12 'Manrope','Segoe UI',sans-serif; letter-spacing:-.055em; margin:10px 0 12px; color:#0f1e3d; }
.zentry-auth-intro { color:#60708a; margin-bottom:27px; line-height:1.6; }
.zentry-auth-entry .zentry-auth-box .form-label { display:block; margin-bottom:7px; font-size:13px; font-weight:800; color:#0f1e3d; }
.zentry-auth-entry .zentry-auth-box :is(.form-control,.form-select) { min-height:52px; border:1px solid #c9d2ce !important; border-radius:9px; padding:12px 13px; background:#fff !important; font:500 16px/1.4 'DM Sans','Segoe UI',sans-serif; color:#0f1e3d; box-shadow:none; }
.zentry-auth-entry .zentry-auth-box :is(.form-control,.form-select):focus { border-color:#2563eb !important; box-shadow:0 0 0 3px #275fb121 !important; }
.zentry-auth-entry .zentry-auth-box .btn-primary { width:100%; min-height:52px; border:0; border-radius:9px; background:#2563eb !important; color:#fff; font-weight:800; font-size:16px; box-shadow:0 9px 20px #275fb133 !important; }
.zentry-auth-entry .zentry-auth-box .alert { padding:13px; border-radius:9px; box-shadow:none !important; font-size:14px; }
.zentry-auth-box .form-text { color:#60708a; font-size:12px; line-height:1.5; }
.zentry-auth-recovery { display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:20px; font-size:13px; }
.zentry-auth-recovery a { color:#2563eb; text-underline-offset:3px; }
.zentry-auth-box .zentry-auth-footer { margin-top:35px; border-top:1px solid #dbe1de; padding-top:18px; color:#60708a; font-size:12px; text-align:left; }
.zentry-auth-entry .zentry-auth-wide { grid-template-columns:.8fr 1.2fr; }
.zentry-auth-wide .zentry-auth-box { width:min(760px,100%); }
.zentry-auth-wide .zentry-auth-story { position:sticky; top:0; height:100vh; }
@media(max-width:950px) { .zentry-auth-layout,.zentry-auth-entry .zentry-auth-wide { grid-template-columns:minmax(0,1fr); } .zentry-auth-story,.zentry-auth-wide .zentry-auth-story { min-height:310px; height:auto; padding:32px; position:relative; gap:24px; } .zentry-auth-entry .zentry-auth-story h1 { font-size:42px; } .zentry-auth-panel { padding:45px 22px; } }
@media(max-width:520px) { .zentry-auth-story,.zentry-auth-wide .zentry-auth-story { min-height:235px; padding:23px; gap:20px; } .zentry-auth-entry .zentry-auth-story h1 { font-size:32px; margin:12px 0; } .zentry-auth-story p { font-size:14px; } .zentry-auth-panel { padding:32px 16px; align-items:start; } .zentry-auth-entry .zentry-auth-box h2 { font-size:34px; } .zentry-auth-logo { max-width:200px; } }
