.account-dialog{width:min(500px,calc(100% - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:38px 28px 28px;border:1px solid #d4dae2;border-radius:14px;background:#fff;color:#243044;box-shadow:0 18px 80px #0003;overflow:auto}
.account-dialog::backdrop{background:#0d162bb3;backdrop-filter:blur(3px)}
.account-dialog-top{position:absolute;top:10px;right:10px;display:flex;justify-content:flex-end}
.account-close{border:0;background:transparent;color:inherit;font-size:25px;line-height:1;padding:6px;cursor:pointer}
.account-dialog h1,.account-landing h1{font-size:26px;line-height:1.2;margin:0 0 14px;font-weight:650;letter-spacing:-.6px}
.account-intro{font-size:14px;line-height:1.7;margin:0 0 22px}.account-note{font-size:12px;line-height:1.7;color:#64748b;margin:14px 0}.account-note a,.account-intro a{color:#b93833;text-decoration:underline}
.account-form{display:flex;flex-direction:column;gap:15px}.account-form>label,.account-pair>label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}
.account-form input:not([type=checkbox]),.account-form select,.account-form textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #cbd3df;background:#f7f9fc;color:inherit;border-radius:6px;padding:10px 12px;font:inherit}.account-form small{font-weight:400;color:#64748b;font-size:12px}.account-form button{align-self:flex-start}
.account-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:10px;font-size:12px!important;font-weight:400!important;line-height:1.6}.account-check input{flex:none;margin-top:4px;accent-color:#d84740}.account-check small{display:block}
#account-challenge{padding:12px;border:1px solid #d4dae2;border-radius:8px;box-sizing:border-box}#account-challenge>label{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;font-weight:500}#account-challenge #account-answer{width:5rem}#account-challenge .account-actions{margin-top:10px;gap:8px}#account-challenge .account-actions small{flex:1;min-width:130px}#account-challenge button{width:auto;flex:none}html[data-theme=dark] #account-challenge{border-color:#455468}
.account-pair{display:grid;grid-template-columns:100px minmax(0,1fr);gap:12px}.account-message{font-size:13px;line-height:1.6;margin:0;color:#52627b;white-space:pre-line}.account-honey{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
#account-challenge{min-height:65px;max-width:100%}.account-landing{background:#f3f5f8;padding:32px 16px;font-family:system-ui,sans-serif;color:#243044;min-height:100vh}.account-landing>main{max-width:500px;margin:50px auto;background:white;padding:30px;border:1px solid #d4dae2;border-radius:14px}.account-landing a{color:#b93833;text-decoration:underline}.account-landing button.primary,.account-dialog button.primary{padding:11px 17px;border-radius:6px}
.registration-admin{border:1px solid var(--studio-border,#d4dae2);padding:18px;margin:20px 0;display:flex;flex-direction:column;gap:14px}.registration-admin h3{font-weight:650}.registration-admin details{border-top:1px solid var(--studio-border,#d4dae2);padding-top:12px}.registration-admin summary{cursor:pointer;font-weight:600}.registration-admin .account-form{margin-top:16px;max-width:650px}.registration-admin #marketing-progress{white-space:pre-line}.account-row.needs-review{border-color:#b87d38}.account-row[hidden]{display:none!important}.login-account-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}.login-client-help{font-size:12px;line-height:1.7;border-top:1px solid #cbd3df;padding-top:14px}.login-client-help a{text-decoration:underline}
html[data-theme=dark] .account-dialog{background:#1c242f;color:#edf3fc;border-color:#455468}html[data-theme=dark] :is(.account-dialog,.registration-admin) :is(input:not([type=checkbox]),textarea,select){background:#111a26;border-color:#455468;color:#edf3fc}html[data-theme=dark] .account-dialog :is(.account-note,.account-message,.account-form small){color:#bdcbdd}
@media(max-width:500px){.account-dialog{padding:36px 20px 24px}.account-landing>main{margin:12px auto;padding:22px}.account-dialog h1{font-size:24px}.registration-admin{padding:12px}.account-pair{grid-template-columns:80px minmax(0,1fr)}}

/* Keep account headings centred and form fields easy to scan. */
#login-form>h1,#login-form>h1+p{text-align:center}#login-form>h1{margin-top:0}
#login-form .login-client-help{text-align:center;padding-top:18px;margin-top:20px}
#login-form .login-home{display:block;text-align:center}#login-form>p:last-child{text-align:center}
.account-dialog h1{text-align:center;padding:0 14px;font-size:24px;line-height:1.3;margin-bottom:12px}
#account-dialog-content>.account-intro,#account-dialog-content>.account-note{text-align:center}
#account-dialog-content>.account-intro{margin-bottom:20px}
.account-dialog .account-form>button[type=submit]{align-self:center;margin-top:3px}
.account-capacity-actions{justify-content:center;gap:14px;margin-top:22px}
.account-capacity-actions>a{width:100%;text-align:center;font-size:13px}
.account-close{width:32px;height:32px;display:grid;place-items:center;border-radius:6px}
.account-close:hover{background:#64748b15}.account-close:focus-visible{outline:2px solid #d84740;outline-offset:2px}

/* Account windows share the compact, square studio controls on every entry page. */
#account-dialog,#account-page{--account-border:#cbd3df;--account-muted:#59677a;--account-field:#f7f9fc;box-sizing:border-box;border-radius:4px;color:#243044}
#account-dialog{width:min(440px,calc(100vw - 24px));padding:32px 24px 24px;max-height:calc(100dvh - 24px);overscroll-behavior:contain;scrollbar-width:thin}
#account-dialog h1,#account-page h1{font-size:22px;line-height:1.3;letter-spacing:-.4px;text-align:center;margin:0 18px 12px;padding:0;color:inherit}
#account-dialog .account-intro,#account-page .account-intro{font-size:13px;line-height:1.6;margin:0 0 18px;color:var(--account-muted);text-align:center}
#account-dialog .account-form,#account-page .account-form{gap:12px}
#account-dialog .account-form label,#account-page .account-form label{color:inherit;font-size:12px;line-height:1.5;gap:5px;min-width:0}
#account-dialog input:not([type=checkbox]),#account-page input:not([type=checkbox]){display:block;height:38px;min-height:0;margin:0;padding:8px 10px;border:1px solid var(--account-border);border-radius:2px;background:var(--account-field);color:inherit;font-size:13px;line-height:20px;box-shadow:none}
#account-dialog .account-check,#account-page .account-check{gap:9px;font-size:11px!important;line-height:1.55;color:var(--account-muted)}
#account-dialog input[type=checkbox],#account-page input[type=checkbox]{width:15px;height:15px;margin:2px 0 0;flex:none}
#account-dialog .account-form small,#account-page .account-form small{font-size:11px;line-height:1.5;color:var(--account-muted)}
#account-dialog .account-note,#account-page .account-note{font-size:11px;line-height:1.65;color:var(--account-muted);margin:16px 0 0}
#account-dialog .account-message,#account-page .account-message{font-size:12px;color:var(--account-muted)}
#account-dialog .account-message:empty,#account-page .account-message:empty{display:none}
#account-dialog :is(.primary,.secondary,.quiet),#account-page :is(.primary,.secondary,.quiet){width:auto;min-height:34px;padding:7px 12px;border-radius:2px;font-size:12px;line-height:18px;box-shadow:none}
#account-dialog .account-form>button[type=submit],#account-page .account-form>button[type=submit]{align-self:center;margin-top:4px}
#account-dialog .account-close{width:30px;height:30px;border-radius:2px;font-size:22px}
#account-dialog #account-challenge{padding:10px 12px;min-height:0;border:1px solid var(--account-border);border-radius:2px;background:var(--account-field)}
#account-dialog #account-challenge>label{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:12px;font-weight:600}
#account-dialog #account-challenge #account-answer{width:60px;flex:0 0 60px;text-align:center;background:var(--studio-dialog-bg,#fff)}
#account-dialog #account-challenge .account-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px}
#account-dialog #account-challenge .account-actions small{min-width:0;max-width:220px;font-size:10px;line-height:1.5}
#account-dialog #account-new-question{font-size:10px;line-height:16px;min-height:30px;padding:5px 7px;border:1px solid var(--account-border);background:transparent;color:inherit;white-space:nowrap}
#account-dialog .account-capacity-actions{gap:12px;margin-top:20px}
#account-dialog-content>button.quiet{display:block;margin:12px auto 0}
.account-landing{display:grid;place-items:start center;padding:40px 12px}
.account-landing>#account-page{width:min(440px,100%);max-width:none;margin:24px 0;padding:28px 24px;border:1px solid var(--account-border)}
#account-page>p:not([class]){font-size:13px;line-height:1.6;margin-bottom:16px;color:var(--account-muted)}
#account-page>a{font-size:12px}
html[data-theme=dark] #account-dialog{--account-border:#424c5b;--account-muted:#b5c1d0;--account-field:#141b24;background:#1c2027;color:#edf0f6;border-color:var(--account-border)}
@media(max-width:500px){#account-dialog{padding:34px 18px 20px}#account-dialog h1,#account-page h1{font-size:21px}#account-dialog input:not([type=checkbox]),#account-page input:not([type=checkbox]){font-size:16px}.account-landing{padding:16px 12px}.account-landing>#account-page{margin:12px 0;padding:24px 18px}}

/* Focused sign-in styling; studio controls remain unchanged. */
#login-form{padding:32px;max-width:420px;border:1px solid #c7d1da;border-radius:10px;box-shadow:0 16px 50px #14223514;background:#fff;color:#243044}
#login-form h1{font-size:26px;font-weight:700;letter-spacing:-.6px}#login-form>p{line-height:1.65;font-size:13px;color:#58677a}
#login-form label{font-size:12px;font-weight:650;gap:6px;display:flex;flex-direction:column}#login-form input{height:42px;border-radius:5px;border:1px solid #c5cfdb;padding:9px 12px;background:#f7f9fc;color:#243044;font-size:14px}
#login-form button{border-radius:5px;min-height:38px;font-size:13px;font-weight:650;padding:9px 14px}#login-form>button{width:auto;display:flex;align-items:center;justify-content:center;gap:9px;margin-left:auto;margin-right:auto;min-width:160px}
#login-form .fa-action-icon{width:14px;height:14px;flex-shrink:0}#login-form .login-account-links{gap:10px;justify-content:center}#login-form .login-account-links button{border:1px solid #d1d9e2;background:#f6f8fb;color:#334458;font-size:12px}
#login-form #login-error:empty{display:none}#login-form #login-error:not(:empty){border:1px solid #e7b5ad;background:#fff3f0;color:#913c2f;padding:12px;border-radius:5px;font-size:13px;line-height:1.6}
html[data-theme=dark] #login-form{background:#18212d;color:#eef3f9;border-color:#425268}html[data-theme=dark] #login-form>p{color:#bcc8d7}html[data-theme=dark] #login-form input,html[data-theme=dark] #login-form .login-account-links button{background:#111a25;color:#eef3f9;border-color:#425268}html[data-theme=dark] #login-form #login-error:not(:empty){background:#362323;color:#ffd0c7;border-color:#81554d}
@media(max-width:500px){#login-form{padding:26px 20px}#login-form input{font-size:16px}}

/* Shared close controls: neutral surfaces, vector marks and visible keyboard focus. */
html body button.ui-close{appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important;margin:0!important;padding:0!important;border:1px solid #cbd5df!important;border-radius:3px!important;background:#f5f7fa!important;color:#48586b!important;box-shadow:none!important;text-shadow:none!important;line-height:1!important;transform:none!important;outline:none!important;-webkit-tap-highlight-color:transparent;cursor:pointer;transition:background-color .15s,border-color .15s}
html body button.ui-close::before,html body button.ui-close::after{content:none!important;display:none!important}
html body button.ui-close svg{display:block!important;width:16px!important;height:16px!important;margin:0!important;pointer-events:none;flex:none;color:inherit!important}
html body button.ui-close:focus-visible{outline:2px solid #487baf!important;outline-offset:3px!important}
html[data-theme=dark] body button.ui-close{background:#222e3c!important;border-color:#46566b!important;color:#d6e0eb!important}
@media(hover:hover){html body button.ui-close:hover{background:#e8edf3!important;border-color:#8b9aab!important;color:#23344a!important}html[data-theme=dark] body button.ui-close:hover{background:#344358!important;color:#fff!important}}
@media(pointer:coarse){html body button.ui-close{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important}}
@media(prefers-reduced-motion:reduce){html body button.ui-close{transition:none}}
#login-form>button.primary{border-radius:3px!important;box-shadow:none!important;padding:8px 14px!important;min-height:36px!important;min-width:0!important;font:600 13px/18px system-ui,sans-serif!important}
#login-form .login-account-links{margin-top:12px;justify-content:center}#login-form .login-forgot{display:inline-block;color:#52657c;font-size:12px;line-height:1.6;text-decoration:underline;text-underline-offset:3px;padding:5px 0;background:none;border:0}
#login-form .login-forgot:focus-visible{outline:2px solid #487baf;outline-offset:3px}html[data-theme=dark] #login-form .login-forgot{color:#c0d1e5}

#account-dialog{padding-top:58px}dialog :is(button.primary,button.secondary,button.quiet,button.danger):not(.ui-close){border-radius:3px;box-shadow:none;font-family:system-ui,sans-serif}
@media(pointer:coarse){#account-dialog{padding-top:64px}}

dialog.studio-dialog :is(button.primary,button.secondary,button.quiet,button.danger):not(.ui-close){width:fit-content!important;max-width:100%;font:600 13px/18px system-ui,sans-serif!important;min-height:34px;padding:8px 12px;white-space:normal}

/* Compact, softly shaded sign-in, independent of the studio's saved dark theme. */
body:has(#login:not([hidden])){background:#e8edf3!important}
html body #login-form{display:flex;flex-direction:column;gap:12px;padding:24px;max-width:400px;background:#f4f6f9!important;color:#243044!important;border:1px solid #c4cedb!important;border-radius:6px;box-shadow:0 8px 28px #20334d0c}
html body #login-form>*{margin:0!important}html body #login-form h1{font-size:23px;line-height:1.3}html body #login-form>p{color:#536579!important;font-size:12px}
html body #login-form input{height:38px;background:#eaf0f6!important;border-color:#bfcbd9!important;color:#243044!important;margin-top:0;padding:7px 10px}
html body #login-form .login-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:3px 0}
html body #login-form .login-actions button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto!important;min-width:0;min-height:34px;padding:7px 12px;border-radius:3px;box-shadow:none!important;font:600 13px/18px system-ui,sans-serif}
html body #login-form .login-forgot{color:#465f7a!important;font-size:12px;white-space:nowrap;padding:5px 0}
html body #login-form .login-client-help{padding-top:12px;border-color:#cbd4df;font-size:11px;line-height:1.6}
html body #login-form :is(input,button,a):focus-visible{outline:2px solid #487baf;outline-offset:3px}
@media(max-width:500px){html body #login-form{padding:22px 18px}html body #login-form input{font-size:16px}}

html body #login-form label{color:#40556f!important}html body #login-form #login-error:not(:empty){background:#fff3f0!important;color:#913c2f!important;border-color:#e7b5ad!important}
