.auth-page{margin:0;background:#f3f5f1;color:#183139;font:16px/1.55 system-ui,sans-serif;min-height:100vh;display:grid;place-items:center;padding:24px;box-sizing:border-box}
.auth-card{background:#fff;border:1px solid #d9e4df;border-radius:20px;padding:32px;width:min(100%,440px);box-sizing:border-box;box-shadow:0 12px 40px #193d2910}
.auth-card h1{font-size:28px;line-height:1.2;margin:12px 0 20px}.auth-brand{color:#176b5b;font-size:14px;font-weight:650}
.auth-card label{display:block;font-weight:600;margin:20px 0 6px}.auth-card input:not([type=hidden]){width:100%;box-sizing:border-box;border:1px solid #9bafa9;border-radius:8px;padding:12px;font:inherit}
.auth-card button,.auth-dialog button,.auth-dialog a{font:inherit;border:0;border-radius:8px;padding:12px 18px;cursor:pointer;background:#176b5b;color:#fff;text-decoration:none}
.auth-card button{width:100%;margin:24px 0 12px;font-weight:650}.auth-hint{font-size:14px;color:#536c72}.auth-error{padding:12px;background:#fff1ec;border-left:4px solid #b5412d}.auth-notice{padding:12px;background:#edf6f2}
.auth-back{display:inline-block;color:#176b5b;margin-top:12px}.auth-account{display:flex;justify-content:flex-end;align-items:center;gap:16px;margin:8px 0 16px;font-size:14px;color:#536c72}.auth-account a{color:#176b5b}
.auth-dialog{max-width:470px;border:1px solid #cadbd2;border-radius:16px;padding:28px;color:#183139;font:16px/1.5 system-ui,sans-serif}.auth-dialog::backdrop{background:#122b38aa}.auth-dialog h2{margin-top:0}.auth-dialog .auth-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px}.auth-dialog button{background:#e5eeea;color:#183139}.auth-dialog p[role=status]{margin-bottom:0}
.auth-page :focus-visible,.auth-dialog :focus-visible,.auth-account :focus-visible{outline:3px solid #d99720;outline-offset:3px}
@media(max-width:520px){.auth-card{padding:24px}.auth-dialog{margin:16px}}
