.account-gate { min-height:100dvh; display:grid; place-items:center; padding:24px; }
.account-gate section { max-width:540px; width:100%; padding:clamp(25px,6vw,52px); text-align:center; }
.account-gate img { display:block; margin:0 auto 15px; border-radius:16px; }
.account-gate span { font-weight:750; color:#116788; }
.account-gate h1 { font-size:clamp(28px,5vw,42px); color:#153b74; line-height:1.15; margin:10px 0 20px; }
.account-gate p { margin:16px auto 0; max-width:36ch; color:var(--soft); font-size:16px; }
.account-gate a { display:inline-flex; text-decoration:none; }
.cloud-library { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:14px; }
.cloud-library span { font-size:14px; color:var(--soft); margin-right:auto; }
.cloud-library [hidden] { display:none; }
.account-form { display:grid; gap:10px; margin:24px auto 0; text-align:left; max-width:350px; }
.account-form label { display:grid; gap:4px; font-weight:650; color:var(--ink); }
.account-form input,.account-code { width:100%; min-height:44px; border:1px solid var(--edge); border-radius:10px; padding:8px 12px; font-size:16px; }
.account-form small { color:var(--soft); }
.account-form [role=status] { font-size:14px; color:var(--ink); }
.account-form [role=status]:empty { display:none; }
.account-form .btn { margin-top:5px; }
.account-links { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; margin-top:14px; }
.account-code { display:block; margin:20px auto 14px; font-family:monospace; }
