/* Customer sign-in: a single, responsive frame in the shared storefront palette. */
.acct-page .acct-shell:has(#acctGate:not([hidden])){min-height:0;padding:clamp(28px,4vw,64px) var(--page-gutter);background:radial-gradient(ellipse at 12% 30%,var(--hero-2),transparent 65%)}
.acct-page #acctGate{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:stretch;max-width:1100px;margin:auto;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 20px 65px rgb(16 56 73 / 7%)}
.account-welcome{position:relative;isolation:isolate;padding:40px 40px 30px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 100% 60%,#2d6579,transparent 75%),var(--accent-2);color:#fff;overflow:hidden}
.account-welcome:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.16;background-image:radial-gradient(#b4d7e3 .7px,transparent .7px);background-size:22px 22px;mask-image:linear-gradient(transparent,#000)}
.account-eyebrow,.account-form-eyebrow{font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.5}
.account-eyebrow{color:#b9d6e1;display:flex;align-items:center;gap:10px}
.account-eyebrow:before{content:'';width:6px;height:6px;border-radius:50%;background:#b9d6e1;box-shadow:0 0 0 4px rgb(185 214 225 / 9%)}
.account-welcome h2{color:#fff;font-size:clamp(32px,3.2vw,44px);font-weight:650;line-height:1.12;letter-spacing:-.05em;margin:21px 0 17px}
.account-welcome h2 span{color:#b9d6e1}
.account-welcome-copy>p{font-size:13px;line-height:1.75;color:#c3d8e1;max-width:310px;margin:0}
.account-studio{height:258px;position:relative;margin:10px -10px 8px;pointer-events:none}
.account-orbit{position:absolute;width:340px;height:170px;border:1px solid rgb(185 214 225 / 18%);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-19deg)}
.account-orbit-inner{width:275px;height:220px;transform:translate(-50%,-50%) rotate(25deg);border-style:dashed;border-color:rgb(185 214 225 / 12%)}
.account-product{position:absolute;object-fit:contain;filter:drop-shadow(0 16px 20px rgb(4 23 36 / 28%));height:240px;width:192px;top:0}
.account-product-first{left:calc(50% - 165px);transform:rotate(-13deg)}
.account-product-second{left:calc(50% - 10px);top:24px;transform:rotate(13deg);width:165px;height:207px}
.account-studio-cross{position:absolute;font-size:16px;font-weight:300;color:#93bacb;opacity:.7}
.account-studio-cross-a{left:10px;top:83px}.account-studio-cross-b{right:14px;top:160px}
.account-studio-label{position:absolute;bottom:0;left:50%;transform:translateX(-50%);white-space:nowrap;color:#a6c6d4;font-size:8px;letter-spacing:.14em}
.account-benefits{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid rgb(185 214 225 / 18%);padding-top:22px;margin-top:auto}
.account-benefits>div{display:flex;align-items:flex-start;gap:10px}
.account-benefits svg{width:21px;height:21px;flex:none;color:#b9d6e1}
.account-benefits strong{font-size:11px;font-weight:650;display:block}
.account-benefits small{display:block;color:#b9ced9;font-size:10px;line-height:1.6;margin-top:5px}
.acct-page .acct-card-auth{width:100%;max-width:none;min-width:0;border:0;border-radius:0;box-shadow:none;background:linear-gradient(150deg,#fff 55%,var(--bg-soft));padding:44px clamp(28px,3.5vw,52px);gap:0;justify-content:center}
.account-form-eyebrow{color:var(--data);margin:0;font-size:9px;letter-spacing:.13em}
.acct-page .acct-head{display:flex;flex-direction:column;align-items:flex-start;border:0;padding:0;margin-bottom:13px;gap:0}
.acct-page .acct-head-icon{height:42px;width:42px;border:1px solid var(--accent-line);background:var(--bg-soft);border-radius:12px}
.acct-page .acct-head-icon svg{height:20px;width:20px}
.acct-page .acct-head-title{font-size:clamp(29px,2.7vw,38px);line-height:1.12;letter-spacing:-.05em;font-weight:700;max-width:360px}
.account-step-description{font-size:13px;line-height:1.7;color:var(--muted);margin:0 0 30px;max-width:320px}
.acct-page .acct-status:empty,.acct-page .field-error:empty{display:none}
.acct-page .acct-status:not(:empty){margin:0 0 18px;padding:12px;border-radius:9px;background:var(--bg-soft);font-size:12px;line-height:1.6}
.acct-page .acct-status.is-error{background:var(--danger-soft);color:var(--danger)}
.acct-page .acct-form{gap:14px}
.acct-page .acct-form label{font-size:12px;gap:8px}
.acct-page .acct-form input{min-height:50px;border-radius:11px;background:var(--bg);border:1px solid #c9dbe3;padding:13px 14px;transition:border-color .18s,box-shadow .18s;font-size:15px}
.acct-page .acct-form input::placeholder{color:var(--muted-2)}
.acct-page .acct-form input:focus-visible{outline:0;border-color:var(--data);box-shadow:0 0 0 4px var(--data-soft)}
.acct-page .acct-form input[aria-invalid=true]{border-color:var(--danger)}
.acct-page .acct-form .btn{min-height:52px;border-radius:12px;font-size:13px;transition:transform .18s,background .18s,box-shadow .18s}
.acct-page .acct-form .btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px var(--accent-soft)}
.acct-page .acct-form .btn:active{transform:translateY(0)}
.acct-page .acct-context{overflow-wrap:anywhere;font-size:12px;line-height:1.6}
.acct-page .acct-hint{font-size:11px;line-height:1.7}
.acct-page .code-boxes{gap:7px;grid-template-columns:repeat(6,minmax(0,1fr))}
.acct-page .acct-form .code-box{width:100%;min-width:0;padding:10px 0;text-align:center;font-size:21px}
.acct-page .acct-foot{margin-top:26px;padding-top:20px;font-size:11px;border-top:1px solid var(--line)}
.acct-page .acct-foot a{color:var(--accent);text-underline-offset:4px}
.account-help-link{font-weight:400!important}
.account-entry-footer{border-top:1px solid var(--line);padding:24px 0;background:var(--bg)}
.account-entry-footer>.container{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:var(--muted);max-width:1260px}
.account-entry-footer p{margin:0;line-height:1.7}.account-entry-footer p span{margin:0 6px}
.account-entry-footer nav{display:flex;gap:22px}.account-entry-footer a{color:var(--muted);text-decoration:none}.account-entry-footer a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:no-preference){
 .account-product-first{animation:account-product-drift 9s ease-in-out infinite}
 .account-product-second{animation:account-product-drift-right 11s ease-in-out -3s infinite}
 .acct-page #acctGate{animation:account-arrive .45s ease-out both}
 .acct-step:not([hidden]){animation:account-step-in .22s ease-out both}
 @keyframes account-product-drift{0%,100%{transform:translateY(0) rotate(-13deg)}50%{transform:translateY(-7px) rotate(-10deg)}}
 @keyframes account-product-drift-right{0%,100%{transform:translateY(0) rotate(13deg)}50%{transform:translateY(8px) rotate(10deg)}}
 @keyframes account-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
 @keyframes account-step-in{from{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:none}}
}
@media(max-width:950px){.account-welcome{padding:32px 28px 26px}.account-benefits{grid-template-columns:1fr;gap:12px}.account-benefits small{display:none}.acct-page .acct-card-auth{padding:36px 28px}.account-welcome h2{font-size:35px}.account-studio{height:250px}}
@media(max-width:720px){
 .acct-page .acct-shell:has(#acctGate:not([hidden])){padding:24px var(--page-gutter) 32px}
 .acct-page #acctGate{grid-template-columns:minmax(0,1fr);max-width:500px;border-radius:21px}
 .account-welcome{padding:26px 28px;min-height:175px}
 .account-welcome-copy{position:relative;z-index:1;max-width:75%}
 .account-welcome h2{font-size:29px;margin:14px 0 0}
 .account-welcome-copy>p,.account-benefits,.account-studio-label,.account-studio-cross{display:none}
 .account-eyebrow{font-size:9px}
 .account-studio{position:absolute;right:-35px;top:32px;width:150px;height:170px;margin:0;opacity:.85}
 .account-product-first{width:103px;height:140px;left:0;top:0}.account-product-second{width:82px;height:110px;left:68px;top:37px}
 .account-orbit{width:170px;height:100px}.account-orbit-inner{width:140px;height:130px}
 .acct-page .acct-card-auth{padding:30px 28px}
 .account-form-eyebrow{display:block}
 .acct-page .acct-head{flex-direction:row;align-items:center;gap:13px;margin-bottom:14px}
 .acct-page .acct-head-icon{width:34px;height:34px;flex-shrink:0;border-radius:10px}
 .acct-page .acct-head-title{font-size:30px}
 .account-step-description{margin-bottom:22px;font-size:12px}
 .acct-page .acct-form input{font-size:16px}
 .account-entry-footer>.container{flex-direction:column;align-items:flex-start;gap:13px;font-size:10px}
}
@media(max-width:380px){.account-welcome{padding:24px 21px;min-height:164px}.account-welcome h2{font-size:25px}.account-studio{right:-55px;opacity:.6}.acct-page .acct-card-auth{padding:26px 21px}.acct-page .acct-head-title{font-size:28px}.acct-page .code-boxes{gap:5px}.acct-page .acct-form .code-box{font-size:18px}}
@media(prefers-reduced-motion:reduce){.acct-page *,.acct-page *:before,.acct-page *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* A single, calm vertical flow through the account form. */
.account-form-top{display:flex;align-items:center;gap:12px;margin-bottom:26px}
.acct-page .account-form-top .acct-head-icon{width:35px;height:35px;border-radius:11px;box-shadow:inset 0 1px 0 #fff}
.acct-page .account-form-top .acct-head-icon svg{width:17px;height:17px}
.account-email-input{position:relative;display:block;color:var(--muted-2)}
.account-email-input>svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:19px;height:19px;pointer-events:none;transition:color .2s}
.acct-page .account-email-input>input{display:block;width:100%;padding-left:44px;background:#fff;min-height:54px}
.account-email-input:focus-within{color:var(--accent)}
.acct-page .acct-form #emSubmit{position:relative;text-align:left;padding:15px 48px 15px 19px;background:linear-gradient(110deg,var(--accent),var(--accent-2));box-shadow:0 3px 8px var(--accent-soft)}
#emSubmit:after{content:'';position:absolute;right:18px;top:calc(50% - 5px);width:8px;height:8px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg);transition:right .18s}
#emSubmit:hover:not(:disabled):after{right:15px}
#emSubmit[aria-busy=true]:after{width:14px;height:14px;right:18px;top:calc(50% - 7px);border:1.5px solid #ffffff55;border-top-color:#fff;border-radius:50%;transform:none}
.acct-page .acct-foot{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:14px;margin-top:28px;padding-top:0;border:0}
.account-alternative{display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:10px;text-align:center;white-space:nowrap}
.account-alternative:before,.account-alternative:after{content:'';height:1px;flex:1;background:var(--line)}
.acct-page .acct-foot .account-guest-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:47px;padding:12px 17px;border:1px solid #d6e2e7;border-radius:12px;background:#fff;font-size:12px;text-decoration:none;font-weight:600;transition:border-color .2s,background .2s}
.acct-page .acct-foot .account-guest-link:hover{border-color:var(--accent-line);background:var(--bg-soft)}
.account-guest-link>span{font-size:18px;font-weight:400;color:var(--data)}
.account-form-help{font-size:10px;line-height:1.7;text-align:center;color:var(--muted-2);margin:22px 0 0}
.account-form-help a{color:var(--accent);font-weight:600;text-underline-offset:3px;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){#emSubmit[aria-busy=true]:after{animation:account-button-spin .7s linear infinite}@keyframes account-button-spin{to{transform:rotate(360deg)}}}
@media(max-width:720px){.account-form-top{margin-bottom:22px}.acct-page .acct-head{display:block}.account-step-description{margin-bottom:25px}.acct-page .acct-foot{margin-top:25px}.account-form-help{margin-top:19px}.acct-page .account-email-input>input{font-size:16px}}

/* Shared with the finished verification email: quieter labels and readable copy. */
.acct-page .acct-shell:has(#acctGate:not([hidden])) { background:#f2f6f4; }
.acct-page #acctGate { border-color:#d3e1da; box-shadow:0 18px 55px #14384709; }
.account-welcome { background:linear-gradient(130deg,#143847,#1d4a58); }
.account-welcome:before { display:none; }
.account-eyebrow,.account-form-eyebrow { font-size:12px; letter-spacing:0; font-weight:500; }
.account-eyebrow:before { display:none; }
.account-welcome h2 { letter-spacing:-1.4px; font-weight:600; }
.account-welcome h2 span { color:#b4eee5; }
.account-welcome-copy>p { font-size:14px; color:#c1d8db; }
.account-studio-label,.account-studio-cross { display:none; }
.account-benefits strong { font-size:12px; font-weight:500; }
.account-benefits small { font-size:11px; }
.acct-page .acct-card-auth { background:#fcfefb; }
.acct-page .acct-head-title { font-weight:600; letter-spacing:-1px; }
.account-step-description { font-size:14px; line-height:1.75; max-width:340px; color:#58727b; }
.acct-page .acct-form label { font-size:13px; font-weight:500; }
.acct-page .acct-form input { border-color:#cadbd3; background:#fff; }
.acct-page .acct-context { font-size:13px; line-height:1.7; }
.acct-page .acct-hint { font-size:12px; line-height:1.7; }
.acct-page .acct-form .btn { font-size:14px; background:#234e5b; }
.acct-page .acct-form #emSubmit { background:#234e5b; box-shadow:none; }
.account-form-help { font-size:12px; color:#5b7580; }
.account-password-input { display:block; position:relative; }
.acct-page .account-password-input > input { display:block; width:100%; padding-right:67px; }
.account-password-input > button { position:absolute; right:8px; top:50%; transform:translateY(-50%); min-width:48px; min-height:38px; padding:7px; background:transparent; border:0; font:inherit; font-size:11px; color:#366572; cursor:pointer; border-radius:6px; }
.account-password-input > button:hover { background:#edf4ef; }
.account-password-input > button:focus-visible { outline:2px solid #447f7f; outline-offset:0; }
.account-signup-progress { display:flex; gap:8px; list-style:none; padding:0; margin:0 0 24px; width:100%; }
.account-signup-progress li { flex:1; font-size:11px; color:#69828a; border-top:2px solid #d7e3dc; padding-top:8px; }
.account-signup-progress .is-done { border-color:#9bc7b8; color:#39656a; }
.account-signup-progress [aria-current=step] { border-color:#2e7176; color:#254f5b; font-weight:600; }
.acct-page .code-boxes { margin:0; gap:6px; }
.acct-page .acct-form .code-box { background:#eaf3ed; border-color:#c4dacf; font-size:25px; border-radius:8px; }
@media(max-width:720px) {
 .account-step-description { font-size:14px; }
 .account-welcome-copy { max-width:78%; }
 .account-eyebrow,.account-form-eyebrow { font-size:11px; }
 .account-form-top { margin-bottom:22px; }
 .account-form-help { font-size:11px; }
}

/* Account experience: the same warm paper and sage as the dashboard. */
.acct-page .acct-shell:has(#acctGate:not([hidden])) { background:#f7f8f2; padding-top:40px; padding-bottom:48px; }
.acct-page #acctGate { border:1px solid #dce5d7; border-radius:23px; box-shadow:0 12px 45px #254c3c05; }
.account-welcome { background:radial-gradient(ellipse at 70% 45%,#eef4e4,#dae7d2); padding:40px; color:#264f4b; }
.account-eyebrow { color:#5f7d6a; font-size:11px; }
.account-welcome h2 { color:#224b49; font-weight:500; font-size:clamp(34px,3.3vw,46px); letter-spacing:-1.7px; margin-top:23px; }
.account-welcome h2 span { color:#66856a; }
.account-welcome-copy > p { color:#627d6c; font-size:14px; line-height:1.8; }
.account-product { filter:drop-shadow(0 18px 18px #47664322); }
.account-benefits { border-color:#b9ceaf80; }
.account-benefits strong { font-weight:500; color:#345e4d; }
.account-benefits svg,.account-benefits small { color:#62816b; }
.acct-page .acct-card-auth { background:#fffef9; }
.acct-page .account-form-top .acct-head-icon { display:none; }
.account-form-eyebrow { letter-spacing:0; font-size:11px; color:#6c8477; font-weight:400; }
.acct-page .acct-head-title { font-weight:500; letter-spacing:-1.3px; color:#244a4c; }
.account-step-description { color:#6a7c77; }
.acct-page .acct-form input { border-color:#d4dfd0; border-radius:9px; }
.acct-page .acct-form .btn,.acct-page .acct-form #emSubmit { border-radius:9px; background:#284f51; font-weight:500; }
.acct-page .acct-foot .account-guest-link { border-color:#dbe3d5; background:transparent; border-radius:9px; font-weight:400; }
.account-entry-footer { background:#f7f8f2; border-color:#dce5df; }
@media(max-width:720px) {
 .acct-page .acct-shell:has(#acctGate:not([hidden])) { padding-top:22px; }
 .account-welcome { padding:28px; }
 .account-welcome h2 { font-size:30px; letter-spacing:-1.1px; margin-top:17px; }
 .account-welcome-copy { max-width:80%; }
 .account-studio { opacity:.75; right:-47px; }
}
@media(max-width:380px) {
 .account-welcome { padding:24px 21px; }.account-welcome h2 { font-size:26px; }
 .account-studio { right:-65px; opacity:.5; }
}
