.account-dialog{width:min(760px,calc(100vw - 28px));border:1px solid #9cabb8;border-radius:8px;background:#f7f9fb;color:#1c2f40;padding:0;box-shadow:0 14px 45px rgba(0,0,0,.3)}
.account-dialog::backdrop{background:rgba(12,24,36,.55)}
.account-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 16px;background:#e3edf5;border-bottom:1px solid #becbd6}
.account-dialog-header h2{font-size:15px;color:#155da8}
.account-dialog-close{border:1px solid #9aa9b5;border-radius:3px;background:#fff;color:#243746;width:30px;height:28px;cursor:pointer;font-size:18px;line-height:1}
.account-dialog-body{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px}
.account-access-message{grid-column:1/-1;margin:0;padding:12px;border:1px solid currentColor;border-radius:4px;font-size:13px;line-height:1.5}
.account-access-message[hidden]{display:none}
.account-form{display:flex;flex-direction:column;gap:9px;padding:15px;background:#fff;border:1px solid #c9d5df}
.account-form h3{font-size:13px;color:#155da8}
.account-form-note{font-size:10px;line-height:1.45;color:#66727d}
.account-form label{font-size:11px;font-weight:700;color:#3e4b59}
.account-form input{width:100%;height:34px;border:1px solid #aebbc6;border-radius:3px;background:#fff;color:#111;padding:5px 8px;font:inherit}
.account-form button{height:34px;border:1px solid #155da8;border-radius:3px;background:#155da8;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.account-form button:hover{background:#0f4c8c}
.account-form button:disabled{opacity:.65;cursor:wait}
.account-form .password-visibility-toggle{align-self:flex-start;height:auto;border:0;background:transparent;color:#155da8;padding:0;font-size:11px;font-weight:700;text-decoration:underline}
.account-form .password-visibility-toggle:hover{background:transparent;color:#0f4c8c}
.account-dialog-status{grid-column:1/-1;min-height:18px;color:#3e4b59;font-size:11px;font-weight:700}
.recovery-dialog{width:min(440px,calc(100vw - 28px))}
.recovery-dialog .account-dialog-body{display:block}
.recovery-dialog .account-form{padding:0;background:transparent;border:0}
.recovery-dialog-status{min-height:18px;color:#3e4b59;font-size:11px;font-weight:700}
.account-notice{position:fixed;right:20px;top:74px;z-index:30;max-width:360px;padding:10px 12px;border:1px solid #91a9bc;border-radius:4px;background:#f6fbff;color:#24445f;box-shadow:0 4px 16px rgba(0,0,0,.18);font-size:11px;font-weight:700}
/* Keep the public calculator page visible behind its own account dialog. */
.calculator-landing .account-dialog{margin:auto;max-height:calc(100vh - 32px);overflow:auto;font:13px/1.5 system-ui,sans-serif;background:var(--paper);color:var(--ink);border-color:var(--line)}
.calculator-landing .account-dialog-header{background:var(--wash);border-color:var(--line)}
.calculator-landing .account-dialog h2,.calculator-landing .account-form h3{color:var(--blue)}
.calculator-landing .account-dialog h2{margin:0;font-size:16px}
.calculator-landing .account-form{background:var(--paper);border-color:var(--line)}
.calculator-landing .account-form h3{margin:0 0 6px;font-size:14px}
.calculator-landing .account-form label,.calculator-landing .account-dialog-status,.calculator-landing .recovery-dialog-status{color:var(--ink)}
.calculator-landing .account-form-note{color:var(--muted);margin:0}
.calculator-landing .account-form input{background:var(--paper);color:var(--ink);border-color:var(--line)}
.calculator-landing .account-dialog-close{background:var(--paper);color:var(--ink);border-color:var(--line)}
.calculator-landing .account-form .password-visibility-toggle{color:var(--blue)}
.calculator-landing .account-notice{background:var(--paper);color:var(--ink);border-color:var(--line)}
