/* Account controls inherit the portal's configured branding. */
.catalog-page>header #account-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;margin:0;padding:6px 10px;border:1px solid #ffffff38;border-radius:8px;background:linear-gradient(#ffffff12,#ffffff04);color:#fff;font-size:12px;font-weight:500;white-space:nowrap;box-shadow:inset 0 1px #ffffff0d}
.catalog-page>header #account-open:hover{background:#ffffff1c;border-color:#ffffff70}
#account-open svg{width:16px;height:16px;flex-shrink:0}
#account-dialog{box-sizing:border-box;width:440px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);padding:28px;border:1px solid color-mix(in srgb,var(--portal-accent) 16%,#dce3ed);border-radius:20px;background:#fff;color:#17263e;box-shadow:0 24px 80px #08162740,0 2px 8px #08162714;font-family:var(--portal-font);font-size:calc(var(--portal-font-size)*.875);line-height:1.5;overflow:auto}
#account-dialog::backdrop{background:#10203380;backdrop-filter:blur(4px)}
#account-dialog[open]{animation:account-enter .16s ease-out}
.account-heading{display:flex;align-items:center;gap:13px}
.account-symbol{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:14px;background:color-mix(in srgb,var(--portal-accent) 12%,white);color:color-mix(in srgb,var(--portal-accent) 78%,#17263e)}
.account-symbol svg{width:26px;height:26px}
#account-dialog .account-eyebrow{margin:0 0 2px;font-size:.67em;font-weight:650;letter-spacing:.12em;color:#718095}
#account-dialog h2{margin:0;font-size:calc(var(--portal-heading-size)*.78);line-height:1.2;font-weight:650;letter-spacing:-.4px}
#account-dismiss{display:grid;place-items:center;align-self:flex-start;width:30px;height:30px;margin:-6px -6px 0 auto;padding:6px;border:0;border-radius:8px;background:transparent;color:#718095}
#account-dismiss:hover{background:#f0f4f8;color:#17263e}#account-dismiss svg{width:18px;height:18px}
#account-description{margin:18px 0 24px;color:#66758a;font-size:.94em;line-height:1.6}
.account-fields{display:grid;gap:8px}
#account-password label{display:block;margin:0;font-size:.9em;font-weight:600;color:#3b4d63}
#account-password input{display:block;box-sizing:border-box;width:100%;min-height:44px;margin:0 0 10px;padding:10px 12px;border:1px solid #d3dce8;border-radius:9px;background:#fbfcfe;color:#17263e;font:inherit;transition:border-color .15s,box-shadow .15s}
#account-password input:last-child{margin-bottom:0}
#account-password input:focus{outline:none;border-color:var(--portal-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent) 15%,transparent)}
#password-policy{margin:10px 0 0;font-size:.8em;color:#7a8798}
#password-status:empty{display:none}
#password-status:not(:empty){margin:16px 0 0;padding:10px 12px;border-radius:9px;background:#f1f5f9;color:#46566d;font-size:.9em;overflow-wrap:anywhere}
#password-status[data-state=error]{background:#fff3f2;color:#a52b30;border:1px solid #f4d3d3}
#password-status[data-state=success]{background:#edf8f2;color:#256444;border:1px solid #cce9da}
.account-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:24px}
#account-close,#password-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;margin:0;padding:10px 15px;border:1px solid #d6dfe9;border-radius:9px;font:inherit;font-size:.9em;font-weight:600;cursor:pointer}
#account-close{background:#fff;color:#59697e}#account-close:hover{background:#f5f7fa}
#password-submit{background:var(--portal-accent);border-color:var(--portal-accent);color:var(--account-accent-text,#17263e);box-shadow:0 2px 4px color-mix(in srgb,var(--portal-accent) 20%,transparent)}
#password-submit:hover{filter:brightness(.96)}#password-submit:disabled{opacity:.55;cursor:wait}#password-submit svg{width:16px;height:16px}
#account-dialog button:focus-visible,#account-open:focus-visible{outline:2px solid var(--portal-accent);outline-offset:3px}
.account-recovery{display:flex;gap:10px;align-items:center;margin-top:24px;padding-top:19px;border-top:1px solid #edf0f5;color:#8a97a8}
.account-recovery>svg{width:19px;height:19px;flex-shrink:0}.account-recovery p{margin:0;font-size:.8em;line-height:1.6}.account-recovery strong{display:block;color:#66758a;font-weight:600}.account-recovery span{display:block;color:#8390a2}
@keyframes account-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){#account-dialog{padding:23px;border-radius:16px}.account-actions{display:grid;grid-template-columns:1fr 1.6fr}#account-close,#password-submit{padding:10px 9px}}
@media(prefers-reduced-motion:reduce){#account-dialog[open]{animation:none}#account-password input{transition:none}}
/* Text clipboard panel shares the portal typography and accent focus. */
#clipboard-dialog{box-sizing:border-box;max-width:min(560px,90vw);padding:24px;border:1px solid #d3dce8;border-radius:16px;color:#17263e;background:#fff;box-shadow:0 24px 80px #08162740;font-family:var(--portal-font);font-size:calc(var(--portal-font-size)*.875);line-height:1.5}
#clipboard-dialog::backdrop{background:#10203380;backdrop-filter:blur(4px)}#clipboard-text{display:block;box-sizing:border-box;width:100%;max-width:100%;padding:10px;border:1px solid #d3dce8;border-radius:8px;font:inherit;resize:vertical}#clipboard-text:focus{outline:2px solid var(--portal-accent);outline-offset:2px}
#clipboard-dialog button{padding:8px 12px;margin:4px;border:1px solid #cbd5e2;border-radius:8px;cursor:pointer;font:inherit}#clipboard-status{min-height:1.5em}#clipboard-dialog h2{margin-top:0}
/* Two-factor enrollment, using the same account dialog and portal theme. */
.account-tabs{display:flex;gap:4px;padding:4px;margin:-5px 0 23px;border-radius:10px;background:#f1f5f9}.account-tabs button{flex:1;min-width:0;margin:0;padding:9px 6px;border:0;border-radius:7px;background:transparent;color:#718095;font-size:.82em;font-weight:600;line-height:1.4}.account-tabs button[aria-selected=true]{background:#fff;color:#17263e;box-shadow:0 1px 4px #17263e12}
#account-mfa-panel label{display:block;margin:16px 0 7px;font-size:.9em;font-weight:600;color:#3b4d63}#account-mfa-panel input{box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid #d3dce8;border-radius:9px;background:#fbfcfe;font:inherit;color:#17263e}#account-mfa-panel input:focus{outline:none;border-color:var(--portal-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--portal-accent) 15%,transparent)}
.account-primary,.account-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;margin:15px 0 0;border:1px solid #d6dfe9;border-radius:9px;font:inherit;font-size:.9em;font-weight:600;cursor:pointer}.account-primary{background:var(--portal-accent);border-color:var(--portal-accent);color:var(--account-accent-text,#17263e)}.account-primary:disabled,.account-secondary:disabled{opacity:.55;cursor:wait}.account-secondary{background:#fff;color:#59697e}.account-secondary:hover{background:#f5f7fa}
.mfa-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.88em}.mfa-status-dot{width:7px;height:7px;border-radius:50%;background:#9aa7b9}.mfa-summary[data-enabled=true] .mfa-status-dot{background:#2b9a67}.mfa-summary strong{font-weight:600;color:#46566d}.mfa-summary>span:last-child{width:100%;padding-left:15px;color:#8390a2;font-size:.9em}.mfa-summary>span:last-child:empty{display:none}
.mfa-note{font-size:.9em;line-height:1.65;color:#718095;margin:14px 0}.mfa-step{margin:21px 0 7px;font-weight:600;color:#3b4d63;font-size:.94em}.mfa-qr-wrap{display:flex;justify-content:center;margin:18px 0;padding:12px;border:1px solid #e4eaf2;border-radius:13px;background:#fff}.mfa-qr-wrap img{display:block;width:216px;max-width:100%;height:auto;image-rendering:pixelated}.mfa-manual{font-size:.83em;color:#718095}.mfa-manual summary{cursor:pointer}.mfa-manual code{display:block;overflow-wrap:anywhere;margin-top:8px;padding:10px;border:1px solid #e4eaf2;border-radius:7px;background:#f8fafc;font-size:1em;letter-spacing:.04em}
#mfa-confirm-code{max-width:220px;letter-spacing:.25em;font-size:1.2em}#mfa-complete{display:flex}#mfa-recovery-codes{padding:16px;margin:16px 0 0;border:1px solid #dce5ee;border-radius:10px;background:#f8fafc;color:#33465e;font:12px/2 ui-monospace,Consolas,monospace;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere}.mfa-backup-actions{display:flex;gap:8px;flex-wrap:wrap}#mfa-done{width:100%}#mfa-message:empty{display:none}#mfa-message:not(:empty){padding:10px 12px;margin:16px 0 0;border-radius:9px;background:#f1f5f9;color:#46566d;font-size:.88em}#mfa-message[data-state=error]{background:#fff3f2;color:#a52b30}#mfa-message[data-state=success]{background:#edf8f2;color:#256444}.mfa-admin-help{padding-top:17px;margin:22px 0 0;border-top:1px solid #edf0f5;font-size:.79em;color:#8390a2;line-height:1.6}
#mfa-login-row small{display:block;margin-top:7px;color:#718095;font-size:.8em;line-height:1.5}

#mfa-disable{color:#a52b30;border-color:#f0d5d5;background:#fff9f8}#mfa-disable:hover{background:#fff0ee}

