
@import url('/auth-assets/tokens.css');
@font-face{font-family:Cinzel;font-style:normal;font-weight:400 500;font-display:swap;src:url('/auth-assets/cinzel.woff2') format('woff2')}
@font-face{font-family:Inter;font-style:normal;font-weight:300 700;font-display:swap;src:url('/auth-assets/inter.woff2') format('woff2')}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font:14px/1.6 var(--interface);-webkit-font-smoothing:antialiased}
.preview{padding:10px 20px;border-bottom:1px solid var(--line);font-size:11px;text-align:center;color:var(--ink-soft);background:var(--paper)}
.access-shell{max-width:1200px;margin:auto;padding:0 54px}.access-header{display:flex;align-items:center;justify-content:space-between;padding:32px 0;border-bottom:1px solid var(--line-strong);gap:24px}
.access-logo{display:block;width:86px;height:86px;object-fit:contain}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--muted)}
.access-header .eyebrow{text-align:right}.access-main{display:grid;grid-template-columns:1fr 1fr;padding:76px 0 80px;gap:80px;align-items:start}
.access-intro{padding-top:12px}.access-intro h2{font:400 clamp(38px,4.5vw,58px)/1.16 var(--display);letter-spacing:0;margin:22px 0 28px}.access-intro p{max-width:350px;color:var(--ink-soft);font-size:14px;line-height:1.85;margin-bottom:38px}
.access-index{display:flex;gap:20px;align-items:center;border-top:1px solid var(--line-strong);padding-top:20px;max-width:350px}.access-index span:first-child{font:400 26px var(--display);color:var(--accent-dark)}.access-index span:last-child{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.access-form-area{border-left:1px solid var(--line-strong);padding-left:54px}.access-form-area h1{font:400 30px/1.25 var(--display);letter-spacing:0;margin:16px 0 18px}.access-description{font-size:13px;color:var(--ink-soft);line-height:1.8;margin:0 0 28px}
form{margin:0}label{display:block;font-size:12px;font-weight:500;margin:18px 0 8px}input{font:400 15px var(--interface);width:100%;height:50px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:0;background:var(--paper);color:var(--ink);transition:border-color 180ms}
input:hover{border-color:var(--muted)}input[aria-invalid=true]{border-color:var(--danger)}button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:50px;margin-top:20px;padding:14px 18px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font:500 11px var(--interface);letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background-color 180ms}
button:hover{background:var(--ink-soft)}button:disabled{opacity:.65;cursor:wait}button svg{width:18px;height:18px;flex:none}:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}
#message{font-size:12px;line-height:1.6;min-height:40px;margin:12px 0;color:var(--danger)}.access-security{display:flex;align-items:flex-start;gap:9px;border-top:1px solid var(--line);padding-top:18px;color:var(--muted);font-size:11px;line-height:1.7}.access-security svg{width:16px;height:16px;flex:none;margin-top:1px}.access-back{display:inline-block;padding:10px 0;color:var(--ink-soft);font-size:12px;text-underline-offset:4px}
.access-footer{display:flex;justify-content:space-between;gap:20px;padding:22px 0;border-top:1px solid var(--line-strong);color:var(--muted);font-size:10px;letter-spacing:.05em}.access-footer span:first-child{font-weight:600;color:var(--accent-dark)}
@media(max-width:800px){.access-shell{padding:0 28px}.access-main{gap:36px;padding:52px 0}.access-form-area{padding-left:28px}.access-intro h2{font-size:36px}}
@media(max-width:580px){.access-shell{padding:0 24px}.access-header{padding:20px 0}.access-logo{width:70px;height:70px}.access-header .eyebrow{max-width:140px;font-size:9px}.access-main{display:block;padding:28px 0 30px}.access-intro{padding:0}.access-intro>.eyebrow,.access-intro p,.access-index{display:none}.access-intro h2{font-size:31px;line-height:1.2;margin:0 0 28px}.access-intro h2 br{display:none}.access-form-area{padding:26px 0 0;border-left:0;border-top:1px solid var(--line-strong)}.access-form-area h1{font-size:25px;margin-top:12px}.access-description{margin-bottom:24px}.access-footer{font-size:9px}.preview{font-size:10px;padding:8px 20px}}
@media(prefers-reduced-motion:reduce){input,button{transition:none}}
.login-page{min-height:100svh;display:grid;grid-template-rows:auto 1fr}
.login-header{position:relative;display:flex;justify-content:center;padding:36px 24px 0}
.login-header .access-logo{width:112px;height:112px}
.login-languages{position:absolute;top:28px;right:36px;display:flex;gap:2px}
.login-languages button{display:block;width:44px;min-height:44px;margin:0;padding:10px 8px;border:0;background:transparent;color:var(--muted);font:500 12px var(--interface);letter-spacing:.04em}
.login-languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.login-languages button:hover{background:var(--soft);color:var(--ink)}
.login-main{display:flex;align-items:center;justify-content:center;padding:48px 24px 100px}
.login-content{width:100%;max-width:360px;text-align:center}
.login-content h1{font:400 clamp(32px,4vw,42px)/1.2 var(--display);letter-spacing:0;margin:0 0 32px}
.login-content input{font-size:16px}
.login-content button{justify-content:center;margin-top:14px;font-size:13px;letter-spacing:0;text-transform:none}
.login-content #message{min-height:0;margin:12px 0 0;text-align:left}
.login-content #message:empty{display:none}
.login-privacy{margin:24px 0 0;font-size:12px;line-height:1.8;color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:580px){.login-header{padding-top:72px}.login-header .access-logo{width:96px;height:96px}.login-languages{top:16px;right:18px}.login-main{padding:40px 24px 88px}.login-content h1{margin-bottom:28px}}
