/* Clean-room public setup and account foundations. */
:root{--ae-setup-ink:#17322b;--ae-setup-muted:#5b6f68;--ae-setup-line:#d7e1dc;--ae-setup-paper:#fffefa;--ae-setup-accent:#ef6a43;--ae-setup-focus:#1d7463}
.ae-auth-shell{width:min(100% - 2rem,36rem);margin:clamp(2rem,8vh,6rem) auto;padding:clamp(1.35rem,5vw,3rem);border:1px solid var(--ae-setup-line);border-radius:1.2rem;background:var(--ae-setup-paper);box-shadow:0 1rem 3rem #17322b16}.ae-auth-shell h1{margin:.45rem 0;font:700 clamp(1.8rem,7vw,3rem)/1.05 system-ui,sans-serif;color:var(--ae-setup-ink)}.ae-auth-shell p{color:var(--ae-setup-muted)}.ae-auth-shell :is(input,button,a){min-height:44px}.ae-auth-shell :is(input,button){box-sizing:border-box;width:100%;border-radius:.65rem}.ae-auth-shell input{border:1px solid var(--ae-setup-line);padding:.7rem;font:inherit}.ae-auth-shell input:focus-visible,.ae-auth-shell button:focus-visible,.ae-auth-shell a:focus-visible{outline:3px solid var(--ae-setup-focus);outline-offset:3px}
.ae-coming{min-height:70vh;display:grid;place-items:center;padding:2rem;background:linear-gradient(135deg,#f7fbf7,#e7f0eb)}.ae-coming__card{width:min(100%,40rem);padding:clamp(2rem,8vw,5rem);border:1px solid var(--ae-setup-line);border-radius:1.5rem;background:var(--ae-setup-paper);box-shadow:0 1.25rem 4rem #17322b18;text-align:center}.ae-coming__mark{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:1rem;background:var(--ae-setup-ink);color:#fff;font-size:1.4rem}.ae-coming h1{margin:0;font:700 clamp(2rem,8vw,4rem)/1 system-ui,sans-serif;color:var(--ae-setup-ink)}.ae-coming p{max-width:31rem;margin:1rem auto 0;color:var(--ae-setup-muted)}
.ae-installer{min-height:100vh;padding:clamp(1rem,5vw,4rem);background:linear-gradient(135deg,#edf5ef,#f9f6ee);color:var(--ae-setup-ink);font:16px/1.5 system-ui,sans-serif}.ae-installer__card{width:min(100%,58rem);margin:auto;padding:clamp(1.25rem,5vw,3rem);border:1px solid var(--ae-setup-line);border-radius:1.25rem;background:var(--ae-setup-paper);box-shadow:0 1.25rem 4rem #17322b17}.ae-installer h1{font-size:clamp(1.8rem,5vw,3rem);margin:0 0 1rem}.ae-installer h2{margin-top:2rem;font-size:1.3rem}.ae-installer label{display:block;margin:1rem 0 .3rem;font-weight:700}.ae-installer input{box-sizing:border-box;width:100%;min-height:44px;padding:.7rem;border:1px solid var(--ae-setup-line);border-radius:.6rem;font:inherit}.ae-installer input[type=checkbox]{width:auto;min-height:0;margin-right:.5rem}.ae-installer button,.ae-installer .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.7rem 1rem;margin:1rem 0;border:0;border-radius:.65rem;background:var(--ae-setup-ink);color:#fff;font:700 1rem system-ui,sans-serif;text-decoration:none;cursor:pointer}.ae-installer button:focus-visible,.ae-installer a:focus-visible,.ae-installer input:focus-visible{outline:3px solid var(--ae-setup-focus);outline-offset:3px}.ae-installer .check{padding:1rem 0;border-bottom:1px solid var(--ae-setup-line)}.ae-installer .pass{color:#176333}.ae-installer .fail,.ae-installer .errors{color:#9b2020}.ae-installer code{white-space:pre-wrap;overflow-wrap:anywhere;background:#f2f4f0;padding:.15rem .3rem;border-radius:.3rem}.ae-installer meter{display:block;width:100%;margin-top:.5rem}
.account-page .customer-account-page{min-height:70vh;padding:clamp(1.5rem,6vw,4rem) 1rem;background:linear-gradient(135deg,#f7fbf7,#edf3ee)}.account-page .account-panel{border-color:var(--ae-setup-line);border-radius:1.2rem;background:var(--ae-setup-paper);box-shadow:0 1rem 3rem #17322b14}.account-page .account-panel h1,.account-page .account-panel h2{color:var(--ae-setup-ink)}.account-page .account-field input{min-height:44px;border-color:var(--ae-setup-line)}.account-page .account-submit{min-height:48px;border-radius:.65rem}.account-page :is(a,input,button):focus-visible{outline:3px solid var(--ae-setup-focus);outline-offset:3px}

/* Include padding within setup cards on narrow screens. */
.ae-installer,.ae-installer *,.ae-coming,.ae-coming *{box-sizing:border-box}.ae-installer{margin:0}.ae-installer__card{min-width:0;overflow-wrap:anywhere}

.ae-auth-shell .login-form{display:grid;gap:1.25rem;margin-top:1.5rem}.ae-auth-shell .login-field{display:grid;gap:.4rem}.ae-auth-shell .login-label-row{display:flex;justify-content:space-between;gap:.75rem;align-items:center;flex-wrap:wrap}.ae-auth-shell .login-label-row a{display:inline-flex;align-items:center;font-size:.875rem}.ae-auth-shell .login-password{position:relative}.ae-auth-shell .login-password input{padding-right:3.5rem}.ae-auth-shell .login-eye{position:absolute;right:.2rem;top:.2rem;width:44px;min-height:44px;border:0;background:transparent;color:inherit}.ae-auth-shell .login-eye svg{width:24px;height:24px}.ae-auth-shell .login-submit{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:.8rem 1rem;border:0;background:var(--ae-primary,var(--ae-setup-ink));color:var(--ae-on-primary,#fff);font-weight:700}.ae-auth-shell .login-switch{margin-top:1.5rem}.ae-auth-shell input{background:var(--ae-surface,#fff);color:var(--ae-ink,var(--ae-setup-ink))}

.ae-account-art{width:100%;max-height:14rem;display:block;margin-bottom:1.5rem}.ae-auth-trust{display:grid;gap:.75rem;list-style:none;padding:1rem 0 0;margin:1.5rem 0 0;border-top:1px solid var(--ae-line)}.ae-auth-trust li::before{content:"✓";margin-right:.6rem;color:var(--ae-success)}
.ae-site .ae-auth-shell{color:var(--ae-ink);background:var(--ae-surface);border-color:var(--ae-line)}.ae-site .ae-auth-shell h1{color:var(--ae-ink)}.ae-site .ae-auth-shell p{color:var(--ae-muted)}

.ae-installer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}.ae-installer label:has(input[type=checkbox]){display:flex;align-items:center;min-height:44px}
.ae-installer .steps{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin:0 0 1.5rem;padding:0;list-style:none;color:var(--ae-setup-muted);font-weight:600}
.ae-installer .steps li{display:flex;align-items:center;gap:.45rem}
.ae-installer .steps span{display:grid;place-items:center;width:1.8rem;height:1.8rem;border:2px solid var(--ae-setup-line);border-radius:50%;font-size:.9rem}
.ae-installer .steps .current{color:var(--ae-setup-ink)}.ae-installer .steps .current span{border-color:var(--ae-setup-ink);background:var(--ae-setup-ink);color:#fff}
.ae-installer .steps .done span{border-color:#176333;background:#176333;color:#fff}
.ae-installer .panel{margin-top:1.5rem;padding-top:.25rem}.ae-installer .panel h2{margin-top:0}
.ae-installer .summary{font-weight:700;font-size:1.05rem}
.ae-installer .errors,.ae-installer .warning{margin:0 0 1rem;padding:.8rem 1rem;border-radius:.65rem;background:#fdf0ee;border:1px solid #f1c7bf}.ae-installer .warning{color:#7a4b00;background:#fff7e6;border-color:#f3d9a4}
.ae-installer .errors ul,.ae-installer .warning ul{margin:.4rem 0 0;padding-left:1.2rem}
.ae-installer fieldset{margin:1.25rem 0 0;padding:0;border:0}.ae-installer legend{padding:0;font-weight:800;font-size:1.05rem}
.ae-installer .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:0 1rem}
.ae-installer .row{display:flex;flex-wrap:wrap;align-items:center;gap:0 1rem}.ae-installer .row label{margin:0;font-weight:600}
.ae-installer .hint{margin:.35rem 0 0;color:var(--ae-setup-muted);font-size:.92rem}
.ae-installer button.secondary{background:transparent;color:var(--ae-setup-ink);border:1px solid var(--ae-setup-ink)}
.ae-installer details{margin:1rem 0}.ae-installer summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
.ae-installer details.passed ul{columns:2 16rem;margin:.25rem 0;padding-left:0;list-style:none;font-size:.92rem}
.ae-installer details.advanced{padding:.25rem 1rem .75rem;border:1px solid var(--ae-setup-line);border-radius:.65rem}
.ae-installer .review{display:grid;grid-template-columns:max-content 1fr;gap:.6rem 1.25rem;margin:1rem 0}.ae-installer .review dt{font-weight:700}.ae-installer .review dd{margin:0}
@media (max-width:30rem){.ae-installer .review{grid-template-columns:1fr}.ae-installer .review dd{margin-bottom:.5rem}.ae-installer form>button[type=submit]{width:100%}}
