/* Shared public entry system. Workspace layouts retain their own styles. */
body.entry-page{margin:0;min-width:320px;min-height:100vh;color:#07345d;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(90deg,rgba(3,41,79,.92),rgba(3,41,79,.38)),url('/assets/facade-navy.png') center bottom/cover fixed no-repeat,#03294f}
.entry-page .top-rule{height:4px;background:#ff0066}
.entry-header,.entry-shell,.entry-footer{width:100%;max-width:1240px;margin:0 auto;padding-left:40px;padding-right:40px;box-sizing:border-box}
.entry-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:28px;padding-bottom:40px;color:#d3e2f1}
.entry-header img{display:block;width:180px;height:auto;transform:translateX(-5.62%)}
.entry-header>span{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;text-align:right}
.entry-shell,.entry-shell.auth-layout,.entry-shell.access-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start;min-height:0;background:none;padding-top:0;padding-bottom:48px}
.entry-intro,.entry-shell .auth-intro{display:block;min-height:0;padding:12px 0 0;background:none;color:white;overflow:visible}
.entry-intro .eyebrow{color:#c3d7eb;font-size:.8rem;font-weight:700;letter-spacing:.14em;margin:0 0 20px;text-transform:uppercase}
.entry-intro h1,.entry-shell .auth-intro h1{color:white;font-size:clamp(2.4rem,4.2vw,3.8rem);font-weight:800;line-height:1.06;letter-spacing:-.04em;max-width:15ch;margin:0 0 24px}
.entry-intro h1::after{content:'';display:block;width:48px;height:4px;background:#ff0066;margin-top:26px}
.entry-intro p,.entry-intro .lead{max-width:34rem;color:#dce9f5;font-size:1rem;line-height:1.65}
.entry-shell .auth-panel{padding:0;background:none;display:block}
.entry-shell .auth-card,.entry-shell .card,.entry-shell .access-card,.entry-card{width:100%;max-width:none;margin:0;min-height:0;padding:36px;border:1px solid #d6e1ed;border-top:4px solid #ff0066;border-radius:5px;background:#fff;color:#07345d;box-shadow:0 20px 55px #00132840;box-sizing:border-box}
.entry-shell h2,.entry-page .setup-card h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.16;letter-spacing:-.035em;font-weight:800;margin:0 0 16px}
.entry-shell .card p,.entry-card p,.entry-shell .access-card p{line-height:1.6}
.entry-shell .card .eyebrow,.entry-shell .auth-card .eyebrow,.entry-card .eyebrow,.entry-shell .access-card .eyebrow{color:#47627b;font-size:.78rem;letter-spacing:.14em;margin:0 0 12px}
.entry-page .button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 20px;border-radius:4px;font-size:1rem;line-height:1.3;font-weight:700;text-decoration:none;box-sizing:border-box;cursor:pointer}
.entry-page .button.primary{background:#cf0053;color:white;border:1px solid #cf0053;box-shadow:inset 0 3px #ff0066}
.entry-page .button.primary:hover{background:#b80049}
.entry-page .button.secondary{background:#073d73;border:1px solid #073d73;color:#fff}
.entry-page input:not([type=radio]):not([type=checkbox]),.entry-page select,.entry-page textarea{font:inherit;min-height:46px;border:1px solid #8ba3bc;border-radius:4px;padding:11px 12px;background:#fff;color:#03294f;box-sizing:border-box;max-width:100%}
.entry-page a:focus-visible,.entry-page button:focus-visible,.entry-page input:focus-visible,.entry-page select:focus-visible,.entry-page textarea:focus-visible{outline:3px solid #ff0066;outline-offset:3px}
.entry-shell #login-form,.entry-card form{display:grid;gap:16px}
.entry-shell #login-form p{margin:0}
.entry-shell #login-form .button,.entry-card form .button{justify-self:start}
.entry-shell label{font-size:.9rem;font-weight:700}
.entry-note,.entry-new{border-top:1px solid #ffffff35;margin-top:30px;padding-top:24px}
.entry-new h2{font-size:1.2rem;color:white;margin-bottom:8px}
.entry-new p{margin-bottom:20px}
.entry-note{color:#c3d7eb;font-size:.9rem}
.entry-shell .trust-list{margin:28px 0 0;padding:0;border:0;gap:10px;list-style:none;color:#dce9f5}
.entry-shell .trust-list li{display:flex;gap:14px;font-size:.9rem}
.entry-shell .trust-list span{color:#ff70aa}
.entry-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;color:#c3d7eb;font-size:.8rem;padding-top:24px;padding-bottom:28px;text-align:left}
.entry-footer nav{display:flex;gap:24px}.entry-footer a{color:#dce9f5;text-underline-offset:3px}
body:not(.entry-page)>.entry-header,body:not(.entry-page)>.entry-footer{display:none}
.entry-page .centered-view{min-height:360px;background:none;padding:0 24px 48px;color:#fff}
.entry-page .setup-card{width:min(100%,580px);background:white;color:#07345d;padding:36px;border:1px solid #d6e1ed;border-top:4px solid #ff0066;border-radius:5px;box-sizing:border-box}
.account-choices{display:grid;gap:12px;border:0;padding:0;margin:24px 0}
.account-choices legend{font-weight:700;margin-bottom:10px}
.account-choices label{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #c3d2e1;border-radius:4px;cursor:pointer}
.account-choices label:has(input:checked){border-color:#cf0053;background:#fff5f9}
.account-choices input{accent-color:#cf0053;margin-top:4px;flex-shrink:0}
.account-choices strong,.account-choices small{display:block}.account-choices small{font-weight:400;color:#47627b;line-height:1.5;margin-top:6px}
.entry-hint{color:#47627b;font-size:.85rem;line-height:1.5}
.entry-page #success-stage,.entry-page #verify-stage,.entry-page #submit-stage{padding:0}
.entry-page.is-complete .steps,.entry-page.is-complete .reassurance{display:none}
.entry-page .access-card{align-self:start}.entry-page .access-card .access-logo{display:none}
.operator-shell>.entry-header{padding-bottom:40px}.operator-shell #operator-dashboard{max-width:1160px;margin:0 auto 40px}
.entry-page #operator-login-message.error{color:#a6243d}
@media(max-width:860px){.entry-header,.entry-shell,.entry-footer{padding-left:24px;padding-right:24px}.entry-header{padding-top:20px;padding-bottom:26px}.entry-header img{width:145px}.entry-shell,.entry-shell.auth-layout,.entry-shell.access-stage{grid-template-columns:1fr;gap:26px;padding-bottom:28px}.entry-intro,.entry-shell .auth-intro{padding:0}.entry-intro h1,.entry-shell .auth-intro h1{max-width:22ch;font-size:2.5rem}.entry-intro h1::after{margin-top:18px}.entry-shell .trust-list,.entry-note{display:none}.entry-new{margin-top:20px;padding-top:18px}.entry-shell .auth-card,.entry-shell .card,.entry-shell .access-card,.entry-card{padding:26px}.entry-footer{padding-top:16px}.entry-intro .reassurance{display:none}}
@media(max-width:480px){.entry-header,.entry-shell,.entry-footer{padding-left:18px;padding-right:18px}.entry-header{gap:12px}.entry-header img{width:128px}.entry-header>span{font-size:.65rem;max-width:130px}.entry-intro h1,.entry-shell .auth-intro h1{font-size:2.1rem}.entry-shell .auth-card,.entry-shell .card,.entry-shell .access-card,.entry-card,.entry-page .setup-card{padding:24px 20px}.entry-page .button{white-space:normal}.entry-footer{font-size:.75rem}}
.entry-shell #login-form>.button,.entry-card form>.button{width:100%;justify-self:stretch}
.entry-shell .muted,.entry-shell #access-intro,.entry-card>p:not(.eyebrow){color:#47627b}
.entry-page .button:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){.entry-header{padding-top:16px;padding-bottom:20px}.entry-header img{width:96px}.entry-intro>.eyebrow,.auth-intro>div>.eyebrow{display:none}.entry-intro h1,.entry-shell .auth-intro h1{font-size:1.9rem;margin-bottom:16px}.entry-intro h1::after{margin-top:16px}.entry-intro p,.entry-intro .lead{font-size:.94rem;line-height:1.5}.auth-intro>div>.lead{display:none}.entry-new{padding-top:16px;margin-top:16px}.entry-new p{margin-bottom:16px}.entry-shell,.entry-shell.auth-layout,.entry-shell.access-stage{gap:22px}}

.entry-page .account-choices { min-width: 0; }
.entry-page .account-choices label { display: flex; min-width: 0; align-items: flex-start; }
.entry-page .account-choices input[type="radio"] { width: 20px; height: 20px; min-height: 20px; padding: 0; margin: 3px 0 0; flex: 0 0 20px; }
.entry-page .account-choices label > span { min-width: 0; flex: 1; }
