:root{font-family:Inter,"Segoe UI",system-ui,sans-serif;color:#ebf0ef;background:#08131e;color-scheme:dark;font-synthesis:none}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 12% 18%,#244d603d,transparent 55%),radial-gradient(ellipse at 90% 88%,#76372824,transparent 48%),linear-gradient(130deg,#101f2d,#08131e 65%);display:flex;flex-direction:column}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(125deg,transparent 0 139px,#afc3c906 140px 141px);z-index:0}
.login-shell{position:relative;width:min(1080px,100%);padding:64px 40px 36px;flex:1;margin:auto;display:grid;grid-template-columns:1fr 410px;align-items:center;gap:72px}
.login-brand{text-align:left;padding-bottom:24px}
.brand-mark{width:68px;height:77px;display:grid;place-items:center;border:1px solid #b7a274;color:#e8d19c;font-family:Georgia,serif;font-size:40px;background:linear-gradient(140deg,#e0c58b17,transparent);clip-path:polygon(0 0,100% 0,100% 76%,50% 100%,0 76%);margin-bottom:35px}
.brand-eyebrow{font-size:12px;letter-spacing:.38em;color:#b8c6cc;margin:0 0 14px}
h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;line-height:1.04;font-size:clamp(37px,4.5vw,58px);letter-spacing:-.025em;margin:0;text-shadow:0 2px 24px #0005}
h1 span{color:#e6cca0;letter-spacing:.06em}
.brand-rule{display:flex;align-items:center;gap:12px;margin:27px 0 20px;color:#bfa67a;max-width:280px}
.brand-rule::before,.brand-rule::after{content:"";height:1px;background:linear-gradient(90deg,#bca27680,transparent);flex:1}.brand-rule::before{transform:rotate(180deg)}
.brand-copy{font-size:15px;line-height:1.6;color:#b2c0c9;margin:0}.brand-version{font-size:11px;letter-spacing:.15em;color:#7d919e;margin-top:32px}
.login-card{padding:34px 32px 24px;border:1px solid #a5b7c329;border-radius:16px;background:linear-gradient(150deg,#1b2b39f5,#0f1d29fa);box-shadow:0 24px 100px #0005,inset 0 1px #ffffff08}
.card-eyebrow{font-size:9px;line-height:1.6;letter-spacing:.2em;font-weight:600;color:#c9b68e;margin:0 0 18px}
h2{font-size:29px;font-weight:600;letter-spacing:-.025em;margin:0 0 8px}.card-description{font-size:13px;color:#abbcc8;line-height:1.6;margin:0 0 25px}
label{display:block;font-size:12px;font-weight:600;color:#dce5e9;margin:18px 0 9px}
input{font:inherit;font-size:14px;display:block;width:100%;min-height:48px;padding:12px 14px;border:1px solid #485c6b;border-radius:7px;background:#081520;color:#f4f6f5;transition:border-color .15s}
input::placeholder{color:#8195a5}input:hover{border-color:#728998}input:focus-visible,button:focus-visible{outline:2px solid #e0c695;outline-offset:3px}input:focus{border-color:#ddc38e}
.password-field{position:relative}.password-field input{padding-right:64px}
button{font:inherit;cursor:pointer}button:disabled{opacity:.6;cursor:wait}
.reveal{position:absolute;right:7px;top:5px;height:38px;min-width:47px;padding:0 8px;background:none;border:none;border-radius:4px;color:#adbecb;font-size:11px}
.reveal:hover{color:#fff;background:#ffffff0a}
.primary{display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-height:48px;border:1px solid #f0d9a6;border-radius:7px;background:linear-gradient(110deg,#e4c992,#d2ae74);color:#19232b;font-size:13px;font-weight:750;letter-spacing:.015em;margin:25px 0 0;box-shadow:0 4px 20px #d6b17d12}
.primary:hover{filter:brightness(1.07)}.primary span{font-size:20px;font-weight:400}
.account-help{font-size:11px;color:#a2b5c3;line-height:1.8;text-align:center;margin:19px 0 0}
.login-footnote{border-top:1px solid #92a8b41f;padding-top:19px;margin:26px 0 0;font-size:10px;line-height:1.6;text-align:center;color:#92a9b9}
.auth-status{font-size:12px;line-height:1.6;color:#c6d5df;overflow-wrap:anywhere}.auth-status:empty{display:none}.auth-status.error{padding:11px 12px;border:1px solid #b76c6860;border-radius:6px;background:#7e31312e;color:#ffc5be;margin-bottom:17px}
.field-hint{font-size:11px;line-height:1.6;color:#a2b5c3;margin:9px 0 18px}.text-button{display:block;border:none;background:none;color:#d5c49e;font-size:12px;min-height:44px;margin:8px auto 0;padding:8px 14px}
.site-footer{position:relative;text-align:center;padding:24px max(20px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom));font-size:8px;letter-spacing:.19em;color:#7c929f;line-height:1.8}.site-footer span{padding:0 11px}
@media(max-width:800px){.login-shell{grid-template-columns:1fr;gap:25px;max-width:480px;padding:38px 24px 12px}.login-brand{text-align:center;padding:0}.brand-mark{display:none}.brand-eyebrow{font-size:9px;margin-bottom:8px}h1{font-size:32px;line-height:1.12}h1 br{display:none}h1 span{letter-spacing:0}.brand-rule{max-width:160px;margin:14px auto}.brand-copy{font-size:12px}.brand-version{display:none}.login-card{padding:28px 26px 22px}.site-footer{padding-top:24px}}
@media(max-width:380px){.login-shell{padding:26px 16px 12px}.login-card{padding:24px 21px}h1{font-size:28px}.card-eyebrow{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
