.auth-gate{background:linear-gradient(125deg,#241912,#51392a);padding:28px;min-height:100dvh;align-items:center}
.auth-card{background:#fffdf9;border:1px solid #d8bd94;border-radius:26px;padding:32px;width:min(100%,460px);box-shadow:0 24px 80px #0005}
.access-brand{display:flex;align-items:center;justify-content:center;gap:16px;padding:0 0 26px;margin-bottom:24px;border-bottom:1px solid #e8dac8}
.access-brand img{width:72px;height:72px;border-radius:18px;flex-shrink:0}
.access-brand h1{text-align:left;font:700 clamp(1.6rem,6vw,2rem)/1.15 Georgia,serif;color:#402d22;margin:0}
.access-brand p{margin:6px 0 0;color:#80613e;font-size:.875rem;letter-spacing:.06em}
.auth-tabs{background:#f1e8db;border-radius:12px;gap:4px}
.auth-tabs button{font-size:.875rem;min-height:44px;font-weight:650;color:#614b3c}
.auth-tabs button.active{background:#51392a;color:#fff;box-shadow:none}
.auth-form{gap:16px;margin-top:24px}
.auth-panel-title{font-size:1.5rem;line-height:1.2}
.auth-panel-copy{font-size:.875rem;line-height:1.5}
.auth-form label{font-size:.875rem;font-weight:650;gap:7px}
.auth-form input{background:#fff;min-height:48px;font-size:1rem;border:1px solid #d7c5af}
.auth-submit{min-height:48px;background:#51392a;font-weight:700}
.auth-link{font-size:.875rem;min-height:44px}
.auth-message{font-size:.875rem;line-height:1.5}
.auth-tabs button:focus-visible,.auth-submit:focus-visible,.auth-link:focus-visible,.access-install summary:focus-visible{outline:3px solid #b99059;outline-offset:3px}
.access-install{margin-top:20px;border-top:1px solid #e8dac8;padding-top:16px;color:#705943;font-size:.875rem}
.access-install summary{cursor:pointer;min-height:32px;font-weight:600}
.access-install p{line-height:1.5;margin:10px 0 0}
@media(max-width:430px){.auth-gate{padding:18px 12px}.auth-card{padding:24px 18px}.access-brand{gap:12px;padding-bottom:20px;margin-bottom:20px}.access-brand img{width:60px;height:60px}.auth-tabs button{padding:10px 4px;font-size:.875rem}}
@media(display-mode:standalone){.access-install{display:none}}
