*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;color:#222;background:#fff}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.65;cursor:wait}[hidden]{display:none!important}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #967500;outline-offset:4px}#access-screen{min-height:100dvh;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:24px;width:100%;padding:28px max(28px,calc((100vw - 1160px)/2));border-bottom:1px solid #ececec}.brand img{object-fit:contain;width:174px;height:auto}.brand span{border-left:1px solid #ddd;padding-left:24px;font-size:15px;font-weight:600;color:#555}.access-card{width:min(630px,calc(100% - 48px));margin:80px auto 64px;flex:1}.accent{width:46px;height:5px;background:#f4d000;margin-bottom:32px}.eyebrow{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:#6b6b6b}h1{font-size:48px;line-height:1.12;letter-spacing:-1.7px;margin:18px 0 24px}.intro{font-size:20px;line-height:1.55;color:#555}.security-note{font-size:15px;line-height:1.6;margin:30px 0 16px;color:#555}.actions{display:flex;gap:12px;flex-wrap:wrap}.primary,.secondary{border:1px solid transparent;border-radius:7px;padding:16px 22px;font-weight:700;min-height:51px}.primary{background:#f4d000;color:#181818}.primary span{margin-left:20px}.secondary{border-color:#d9d9d9;background:white}.status{min-height:26px;margin:20px 0 0;line-height:1.6;font-size:15px;color:#555}.pending{margin-top:22px;padding:18px 22px;border-left:3px solid #f4d000;background:#fafafa;font-size:14px;line-height:1.65;overflow-wrap:anywhere}.pending a{font-weight:700}.pending p:first-child{margin-top:0}footer{border-top:1px solid #eee;padding:24px;text-align:center;font-size:13px;color:#666}footer span{padding:0 12px}#portal-frame{position:fixed;inset:0;border:0;width:100%;height:100dvh;background:#fff}#portal-notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:min(620px,calc(100% - 32px));padding:16px 22px;line-height:1.5;background:#222;color:white;border-radius:8px;z-index:10000;box-shadow:0 3px 20px #0002}@media(max-width:600px){.brand{padding:22px 24px;gap:18px}.brand img{width:145px}.brand span{padding-left:18px;font-size:13px}.access-card{margin:46px auto 35px}h1{font-size:37px;letter-spacing:-1px}.intro{font-size:18px}.security-note{font-size:14px}.primary{width:100%}footer{line-height:1.8}.accent{margin-bottom:24px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Sign-in repair: real credential inputs, with the existing private portal preserved. */
.signin-card{width:min(510px,calc(100% - 48px));margin-top:48px;margin-bottom:45px}
.signin-card h1{font-size:40px;letter-spacing:-1.2px;margin-top:14px;margin-bottom:18px}
.signin-card .accent{margin-bottom:24px}.signin-card .intro{font-size:18px}
.signin-card .security-note{margin-top:22px}.login-form{display:grid;gap:10px}
.login-form label{font-size:14px;font-weight:700;margin-top:7px}
.login-form input{min-width:0;width:100%;height:51px;padding:12px 14px;font:inherit;font-size:16px;color:#222;background:white;border:1px solid #bbb;border-radius:7px}
.login-form input:focus-visible{outline:3px solid #967500;outline-offset:2px;border-color:#967500}
.password-wrap{position:relative}.password-wrap input{padding-right:76px}
.password-toggle{position:absolute;top:4px;right:4px;min-width:62px;height:43px;border:0;border-radius:5px;background:#f5f5f5;color:#333;font-size:13px;font-weight:700}
.field-note{font-size:13px;line-height:1.55;color:#666;margin:0 0 8px}
.login-form .primary{width:100%;margin-top:3px}.login-alternative{display:flex;align-items:center;gap:13px;margin:17px 0;color:#777;font-size:13px}
.login-alternative:before,.login-alternative:after{content:"";height:1px;background:#e5e5e5;flex:1}
#sign-in{width:100%}.alternate-note{margin:11px 0 0}.verification-form h2{margin:8px 0 0;font-size:24px}.verification-form p{line-height:1.6}
.actions:empty{display:none}.actions{margin-top:14px}.status[data-error="true"]{border-left:3px solid #9b321d;background:#fff7f4;padding:12px 14px;color:#753221}
@media(max-width:600px){.signin-card{margin-top:32px}.signin-card h1{font-size:33px}.signin-card .intro{font-size:17px}.signin-card .security-note{font-size:14px}.brand{padding-top:20px;padding-bottom:20px}.status{font-size:14px}}
