/* Account forms share the election canvas, spacing and touch targets. */
[data-election-account] [hidden],.account-dialog [hidden]{display:none!important}
[data-account-modes]{display:flex;gap:4px;padding:4px;background:#f0f3f7;border-radius:16px;margin:20px 0}
[data-account-modes] button{flex:1;border:0!important;background:transparent!important;color:#596579!important;min-height:44px;border-radius:12px;font:inherit;font-weight:600;cursor:pointer}
[data-account-modes] button[aria-pressed=true]{background:white!important;color:#005a9c!important;box-shadow:0 2px 6px #102c4612}
.account-links{display:flex;justify-content:center;gap:8px;margin:16px 0 0;flex-wrap:wrap}
.account-links button{border:0!important;background:transparent!important;color:#536278!important;padding:10px 12px;font:inherit;font-size:14px;cursor:pointer;min-height:44px}
[data-login-dialog]{width:440px;max-width:calc(100vw - 32px);box-sizing:border-box;padding:28px}
[data-login-dialog] h2{font-size:24px;margin:0 0 10px}[data-login-dialog] form>p{color:#596579;line-height:1.65}
[data-login-dialog] label{display:block;font-weight:600;margin-top:16px}[data-login-dialog] input{box-sizing:border-box;width:100%;margin-top:8px}
[data-login-dialog] .actions{display:flex;margin-top:24px;gap:10px}[data-login-dialog] .actions button{flex:1;min-height:50px}
.account-dialog{box-sizing:border-box;width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:28px;border:0;border-radius:28px;background:#fff;color:#192432;box-shadow:0 24px 80px #15283d30;font:inherit;color-scheme:light}
.account-dialog::backdrop{background:#15283d80;backdrop-filter:blur(4px)}
.account-dialog *{box-sizing:border-box}.account-dialog h2{font-size:24px;line-height:1.35;margin:8px 0 12px;letter-spacing:-.6px}.account-dialog p{font-size:15px;line-height:1.7;color:#596579;margin:0 0 20px}
.account-dialog .account-eyebrow{color:#005a9c;font-weight:700;font-size:13px;margin:0}
.account-dialog label{display:block;font-size:15px;font-weight:600;margin:18px 0}
.account-dialog input{display:block;width:100%;min-height:50px;border:1px solid #d7dee8;border-radius:14px;margin-top:8px;padding:12px 14px;font:inherit;font-size:16px;color:#192432;background:#fff}
.account-dialog button{min-height:48px;width:100%;padding:12px 16px;border:1px solid #d7dee8;border-radius:14px;background:white;color:#27384c;font:inherit;font-size:15px;font-weight:600;cursor:pointer;white-space:normal}
.account-dialog button:disabled{opacity:.55;cursor:wait}.account-dialog .account-primary{background:#005a9c;color:white;border-color:#005a9c}
.account-dialog footer{margin-top:24px;padding:0;border:0;display:block}.account-dialog footer button{background:#f3f5f8;border-color:transparent}
.account-dialog .account-result{text-align:left;display:grid;gap:6px;margin:12px 0}.account-result span{font-size:14px;font-weight:400;color:#596579;overflow-wrap:anywhere}
.account-dialog .account-question{background:#f0f5fa;border-radius:16px;padding:18px;color:#203d57;font-weight:600}
.account-error{padding:16px;border-radius:14px;background:#fff1ef;color:#983728;line-height:1.65;font-size:15px;margin-top:16px}
.account-dialog :focus-visible,[data-election-account] :focus-visible{outline:3px solid #7db8ed;outline-offset:3px}
@media(max-width:420px){.account-dialog,[data-login-dialog]{padding:24px}.account-dialog h2,[data-login-dialog] h2{font-size:22px}}
[data-login-dialog] form,.account-dialog form{display:block}
[data-login-dialog] form>p{margin:0 0 16px}
[data-login-dialog] [data-login-error]:empty{display:none}
[data-login-dialog] label{font-size:15px}
[data-login-dialog] input{font-size:16px;border-radius:14px}
