/* Account presentation belongs to the theme; verification stays in the engine. */
.pws-auth-page{position:relative;isolation:isolate;display:block;min-height:calc(100svh - 174px);padding:48px 20px 64px;background:radial-gradient(ellipse at 12% 20%,color-mix(in srgb,var(--brand-soft) 70%,transparent),transparent 55%),linear-gradient(135deg,var(--bg-soft),color-mix(in srgb,var(--brand-soft) 32%,var(--bg-soft)));}
.pws-auth-layout{width:100%;max-width:480px;margin:0 auto;border:1px solid color-mix(in srgb,var(--brand) 10%,var(--border));border-radius:24px;background:var(--bg-elev);box-shadow:0 24px 64px -32px rgba(40,20,75,.26),0 4px 12px -6px rgba(30,15,60,.08);}
.pws-auth-content{padding:36px 36px 30px;min-width:0;}
.pws-auth-content .pwe-auth,.pwe-modal .pwe-auth{--pwe-text:var(--text);--pwe-muted:var(--text-soft);--pwe-border:var(--border);--pwe-accent:var(--brand);--pwe-accent-dark:var(--action);--pwe-accent-2:var(--action-2);--pwe-accent-text:#fff;--pwe-max:100%;--pwe-error-text:var(--pws-color-danger);--pwe-ok-text:var(--pws-color-success);--pwe-error-bg:var(--bg-soft);--pwe-ok-bg:var(--bg-soft);width:100%;}
.pws-auth-content .pwe-form,.pwe-modal .pwe-form{background:none;border:0;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;gap:20px;}
.pwe-auth .pwe-form-heading{text-align:center;margin:0 0 6px;}
.pwe-auth .pwe-heading-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 20px;border:1px solid color-mix(in srgb,var(--brand) 12%,var(--border));border-radius:16px;background:var(--brand-soft);color:var(--brand);}
.pwe-auth .pwe-heading-icon svg{display:block;}
.pws-auth-content .pwe-title,.pwe-modal .pwe-title{font-size:clamp(25px,2.5vw,30px);font-weight:750;letter-spacing:-.035em;line-height:1.25;text-align:center;margin:0;color:var(--text);overflow-wrap:normal;}
.pws-auth-content .pwe-lead,.pwe-modal .pwe-lead{font-size:14px;line-height:1.65;color:var(--text-soft);margin:12px auto 0;text-align:center;max-width:36ch;}
.pws-auth-content .pwe-field,.pwe-modal .pwe-field{display:flex;flex-direction:column;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--text);}
.pws-auth-content .pwe-field>span,.pwe-modal .pwe-field>span{font-size:13px;}
.pws-auth-content .pwe-field input,.pwe-modal .pwe-field input{width:100%;min-width:0;min-height:50px;padding:12px 14px;font:inherit;font-size:16px;font-weight:400;line-height:1.4;color:var(--text);background:var(--bg-elev);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px rgba(15,10,35,.025);}
.pws-auth-content .pwe-field input:hover,.pwe-modal .pwe-field input:hover{border-color:color-mix(in srgb,var(--brand) 35%,var(--border));}
.pws-auth-content .pwe-field input:focus,.pwe-modal .pwe-field input:focus{outline:3px solid color-mix(in srgb,var(--brand) 18%,transparent);outline-offset:1px;border-color:var(--brand);box-shadow:none;}
.pws-auth-content .pwe-input-holder input,.pwe-modal .pwe-input-holder input{padding-right:50px;}
.pws-auth-content .pwe-pass-toggle,.pwe-modal .pwe-pass-toggle{width:44px;height:44px;right:3px;display:grid;place-items:center;color:var(--text-soft);}
.pwe-auth .pwe-options{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin-top:-6px;font-size:13px;}
.pwe-auth .pwe-options>a{display:inline-flex;align-items:center;min-height:36px;color:var(--brand);font-weight:600;text-decoration:none;}
.pwe-auth .pwe-options>a:hover{text-decoration:underline;text-underline-offset:3px;}
.pws-auth-content .pwe-check,.pwe-modal .pwe-check{font-size:13px;color:var(--text-soft);display:flex;align-items:center;gap:8px;min-height:36px;margin:0;cursor:pointer;}
.pwe-auth .pwe-check input{width:17px;height:17px;accent-color:var(--action);flex:none;}
.pws-auth-content .pwe-btn,.pwe-modal .pwe-btn{min-height:50px;border-radius:10px;background:linear-gradient(110deg,var(--action),var(--action-2));color:#fff;font-size:14px;font-weight:700;box-shadow:0 4px 8px -4px rgba(80,30,150,.28);padding:13px 18px;transition:background-color .15s ease;}
.pws-auth-content .pwe-btn:enabled:hover,.pwe-modal .pwe-btn:enabled:hover{transform:none;filter:none;background:var(--pws-color-primary-dark);box-shadow:0 4px 8px -4px rgba(80,30,150,.28);}
.pws-auth-content .pwe-links,.pwe-modal .pwe-links{font-size:13px;line-height:1.6;margin:4px 0 0;padding-top:16px;border-top:1px solid var(--border);color:var(--text-soft);text-align:center;}
.pwe-auth .pwe-links a{display:inline-flex;align-items:center;min-height:36px;padding:2px;font-weight:650;text-underline-offset:3px;}
.pws-auth-content .pwe-terms,.pwe-modal .pwe-terms{font-size:12px;line-height:1.7;text-align:left;margin:0;color:var(--text-soft);}
.pws-auth-content .pwe-pass-reqs,.pwe-modal .pwe-pass-reqs{padding:10px 12px;margin:0;gap:4px 10px;background:var(--bg-soft);border:1px solid var(--border);border-radius:10px;}
.pws-auth-content .pwe-pass-reqs li,.pwe-modal .pwe-pass-reqs li{font-size:12px;line-height:1.6;}
.pws-auth-content .pwe-pass-meter,.pwe-modal .pwe-pass-meter{margin:-6px 0 -8px;}
.pws-auth-content .pwe-field-feedback,.pwe-modal .pwe-field-feedback{margin-top:-8px;}
.pws-auth-content .pwe-field input.pwe-invalid,.pwe-modal .pwe-field input.pwe-invalid{border-color:var(--pws-color-danger);background-color:color-mix(in srgb,var(--brand-soft) 18%,var(--bg-elev));}
.pws-auth-content .pwe-field input.pwe-valid,.pwe-modal .pwe-field input.pwe-valid{border-color:var(--border);}
.pwe-auth .pwe-form-message{margin:0;font-size:13px;border-radius:10px;box-shadow:none;}
.pwe-auth .pwe-pass-meter[data-level="1"] .pwe-pass-meter__label{color:var(--pws-color-danger);}
.pwe-auth .pwe-pass-meter[data-level="2"] .pwe-pass-meter__label,.pwe-auth .pwe-caps-warn{color:var(--pws-color-warning);}
.pwe-auth .pwe-pass-reqs li.is-met::before{background:var(--success-fill);border-color:var(--success-fill);color:#fff;}
.pwe-auth .pwe-captcha,.pwe-auth .pwe-turnstile{min-width:0;width:100%;}
.pwe-auth .pwe-turnstile{display:flex;justify-content:center;min-height:0;line-height:0;}
/* Keep normal form spacing around the always-visible Cloudflare widget. */
.pwe-auth .pwe-captcha{margin-block:0;}
.pwe-auth .pwe-btn:disabled{opacity:.65;cursor:not-allowed;box-shadow:none;transform:none;filter:none;}
.pwe-auth .pwe-form[aria-busy="true"] .pwe-btn{cursor:progress;}
.pwe-auth .pwe-captcha-status{font-size:12px;line-height:1.6;color:var(--pwe-text);margin:10px 0 0;padding:10px 12px;border:1px solid var(--pwe-border);border-radius:10px;background:var(--bg-soft);overflow-wrap:anywhere;}
.pwe-auth .pwe-captcha-retry{border:1px solid var(--pwe-border);color:var(--pwe-accent);background:var(--bg-elev);border-radius:8px;padding:9px 12px;margin-top:8px;min-height:44px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;}
.pwe-auth .pwe-captcha-retry:hover{border-color:var(--pwe-accent);background:var(--brand-soft);}
.pwe-auth [hidden]{display:none!important;}
.pws-auth-layout a:focus-visible,.pwe-auth button:focus-visible{outline:3px solid var(--brand);outline-offset:3px;}
/* Keep Google recognizable, quiet, and aligned with the email controls. */
.pwe-auth .pwe-gbtn{display:block;width:100%;min-height:50px;border:1px solid #dadce0;border-radius:10px;background:#fff;box-shadow:0 1px 2px rgba(20,20,30,.05);animation:none;transform:none;will-change:auto;text-decoration:none;}
.pwe-auth .pwe-gbtn:hover{background:#f8faff;border-color:#bfc5ce;transform:none;box-shadow:0 1px 2px rgba(20,20,30,.05);}
.pwe-auth .pwe-gbtn::after{display:none;}
.pwe-auth .pwe-gbtn__inner{display:flex;align-items:center;justify-content:center;gap:12px;padding:14px 16px;}
.pwe-auth .pwe-gbtn__label{font-family:inherit;font-size:14px;font-weight:600;letter-spacing:0;color:#303642;}
.pwe-auth .pwe-g-icon,.pwe-auth .pwe-gbtn:hover .pwe-g-icon{flex:none;width:20px;height:20px;transform:none;}
.pwe-auth .pwe-divider{font-size:11px;font-weight:500;margin:0;line-height:1.5;color:var(--text-soft);}
.pwe-auth .pwe-divider span{padding:0 14px;}
@media(max-width:520px){.pws-auth-page{padding:24px 16px 36px;min-height:0;}.pws-auth-layout{border-radius:20px;}.pws-auth-content{padding:30px 24px 24px;}.pws-auth-content .pwe-title{font-size:27px;}}
@media(max-width:360px){.pws-auth-page{padding:16px 12px 28px;}.pws-auth-content{padding:26px 20px 22px;}.pws-auth-content .pwe-title{font-size:25px;}.pws-auth-content .pwe-pass-reqs{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.pws-auth-page *,.pwe-modal *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Soft mesh, fine grid and sculpted arcs frame the shared account card. */
.pws-auth-page{
 overflow:clip;
 background:
  radial-gradient(ellipse at 15% 22%,color-mix(in srgb,var(--brand) 20%,transparent),transparent 52%),
  radial-gradient(ellipse at 86% 68%,color-mix(in srgb,#b586d6 20%,transparent),transparent 48%),
  radial-gradient(ellipse at 82% 4%,color-mix(in srgb,#8ca7ed 16%,transparent),transparent 44%),
  linear-gradient(155deg,var(--bg-soft),var(--bg-elev));
}
.pws-auth-decor{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;}
.pws-auth-decor::before{
 content:"";position:absolute;inset:0;
 background-image:linear-gradient(color-mix(in srgb,var(--brand) 7%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--brand) 7%,transparent) 1px,transparent 1px);
 background-size:64px 64px;
 mask-image:linear-gradient(135deg,#000,transparent 48%,#000);
}
.pws-auth-decor span{position:absolute;display:block;}
.pws-auth-orbit{
 width:560px;height:560px;left:calc(50% - 860px);top:-170px;
 border:1px solid color-mix(in srgb,var(--brand) 15%,transparent);border-radius:50%;
 box-shadow:0 0 0 36px color-mix(in srgb,var(--brand) 3%,transparent),0 0 0 37px color-mix(in srgb,var(--brand) 8%,transparent),0 0 0 92px color-mix(in srgb,var(--brand) 2%,transparent),0 0 0 93px color-mix(in srgb,var(--brand) 6%,transparent);
}
.pws-auth-dots{width:150px;height:100px;right:calc(50% - 520px);top:80px;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 23%,transparent) 1px,transparent 1.5px) 0 0/14px 14px;mask-image:linear-gradient(135deg,#000,transparent);}
.pws-auth-gem{
 width:480px;height:480px;right:calc(50% - 820px);bottom:-170px;
 border:1px solid color-mix(in srgb,var(--brand) 13%,transparent);border-radius:50%;
 background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 6%,transparent),transparent 65%);
 box-shadow:0 0 0 34px color-mix(in srgb,var(--brand) 3%,transparent),0 0 0 35px color-mix(in srgb,var(--brand) 8%,transparent),0 0 0 76px color-mix(in srgb,var(--brand) 2%,transparent);
}
.pws-auth-spark{width:200px;height:1px;left:calc(50% - 540px);top:65%;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand) 30%,transparent),transparent);transform:rotate(-35deg);}
.pws-auth-layout{position:relative;max-width:496px;border:1px solid color-mix(in srgb,var(--brand) 16%,var(--border));border-radius:28px;background:radial-gradient(ellipse at 50% 0,color-mix(in srgb,var(--brand-soft) 55%,transparent),transparent 44%),var(--bg-elev);box-shadow:0 28px 64px -30px color-mix(in srgb,var(--brand) 32%,transparent),0 8px 24px -16px color-mix(in srgb,var(--text) 20%,transparent),inset 0 1px 0 color-mix(in srgb,var(--bg-elev) 85%,transparent);animation:pws-auth-enter .45s cubic-bezier(.2,.7,.3,1) both;}
.pws-auth-layout::before{content:"";position:absolute;top:-1px;left:32%;right:32%;height:3px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,transparent,var(--brand),#b697e0,transparent);}
.pwe-auth .pwe-heading-icon{width:58px;height:58px;border-radius:19px;background:linear-gradient(135deg,var(--brand-soft),color-mix(in srgb,#dc73ad 14%,var(--bg-elev)));box-shadow:0 5px 12px -7px color-mix(in srgb,var(--brand) 40%,transparent);transition:transform .25s ease;}
/* Keep permanent accessible names while showing placeholders in the visual design. */
.pwe-auth .pwe-field>.pwe-field-name{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;}
.pws-auth-content .pwe-field,.pwe-modal .pwe-field{gap:0;}
.pws-auth-content .pwe-field-feedback,.pwe-modal .pwe-field-feedback{margin-top:0;}
/* Compact popup forms retain labels and actionable feedback in both themes. */
.pwe-modal .pwe-form { gap: 14px; }
.pwe-modal .pwe-heading-icon { display: none; }
.pwe-modal .pwe-form-heading { margin: 0; }
.pwe-modal .pwe-lead { margin: 0; font-size: 13px; line-height: 1.5; max-width: 38ch; }
.pwe-modal .pwe-form-heading .pwe-title { position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal; font-size: 22px; margin: 0 0 8px; }
.pwe-modal .pwe-field > .pwe-field-name { position: static; width: auto; height: auto; padding: 0; margin: 0 0 6px; overflow: visible; clip: auto; clip-path: none; white-space: normal; font-size: 13px; }
.pwe-modal .pwe-field-feedback { position: static !important; width: auto !important; height: auto !important; padding: 0 !important; margin: 0 !important; overflow: visible !important; clip: auto !important; clip-path: none; white-space: normal; }
.pwe-modal .pwe-field-error { color: var(--pws-color-danger); font-size: 12px; line-height: 1.45; padding-top: 6px; }
.pwe-modal .pwe-links { padding-top: 10px; margin: 0; }
.pwe-modal__panel[data-pwe-panel="forgot"] { padding-top: 20px; }
.pws-auth-content .pwe-field input,.pwe-modal .pwe-field input{min-height:54px;padding-left:44px;border-radius:12px;background-color:color-mix(in srgb,var(--brand-soft) 18%,var(--bg-elev));background-repeat:no-repeat;background-size:19px 19px;background-position:15px center;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;}
.pwe-auth .pwe-field input::placeholder{color:var(--text-soft);opacity:1;font-size:14px;}
.pwe-auth .pwe-field input[type="email"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a83b8' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='3'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E");}
.pwe-auth .pwe-field input[name="pwe_name"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a83b8' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21v-2a6 6 0 0 1 6-6h4a6 6 0 0 1 6 6v2'/%3E%3C/svg%3E");}
.pwe-auth .pwe-field input[name="pwe_password"],.pwe-auth .pwe-field input[name="pwe_password2"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239a83b8' stroke-width='1.6' stroke-linecap='round'%3E%3Crect x='4' y='10' width='16' height='11' rx='3'/%3E%3Cpath d='M8 10V7a4 4 0 0 1 8 0v3M12 14v3'/%3E%3C/svg%3E");}
.pws-auth-content .pwe-field input:focus,.pwe-modal .pwe-field input:focus{background-color:var(--bg-elev);box-shadow:0 4px 12px -7px color-mix(in srgb,var(--brand) 40%,transparent);}
.pws-auth-content .pwe-pass-toggle,.pwe-modal .pwe-pass-toggle{height:44px;right:5px;}
.pws-auth-content .pwe-btn,.pwe-modal .pwe-btn{min-height:52px;border-radius:12px;background:linear-gradient(110deg,var(--action),var(--action-2));transition:transform .18s ease,box-shadow .18s ease;}
.pws-auth-content .pwe-gbtn,.pwe-modal .pwe-gbtn{border-radius:12px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
@media(hover:hover) and (pointer:fine){.pws-auth-layout:hover .pwe-heading-icon{transform:translateY(-2px) rotate(-4deg);}.pws-auth-content .pwe-btn:not(:disabled):hover,.pwe-modal .pwe-btn:not(:disabled):hover{transform:translateY(-2px);background:linear-gradient(110deg,var(--action),var(--action-2));box-shadow:0 8px 18px -8px color-mix(in srgb,var(--brand) 65%,transparent);}.pwe-auth .pwe-gbtn:hover{transform:translateY(-1px);box-shadow:0 4px 10px -6px rgba(25,15,45,.25);}}
.pws-auth-content .pwe-btn:active,.pwe-modal .pwe-btn:active{transform:translateY(0);}
@keyframes pws-auth-enter{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@media(max-width:760px){.pws-auth-orbit{left:-440px;top:-240px;}.pws-auth-dots{right:-60px;top:28px;}.pws-auth-gem{right:-410px;bottom:-210px;}.pws-auth-spark{display:none;}.pws-auth-decor::before{background-size:48px 48px;}}
/* Page card: clear heading, persistent labels and a quiet account-navigation footer. */
.pws-auth-content{--auth-inset:36px;padding:32px var(--auth-inset) 0;}
.pws-auth-content .pwe-form{gap:18px;}
.pws-auth-content .pwe-form-heading{padding-bottom:22px;margin-bottom:2px;border-bottom:1px solid color-mix(in srgb,var(--brand) 9%,var(--border));}
.pws-auth-content .pwe-heading-icon{width:60px;height:60px;margin-bottom:18px;border-radius:20px;box-shadow:0 6px 16px -10px var(--brand),0 0 0 6px color-mix(in srgb,var(--brand) 4%,transparent);}
.pws-auth-content .pwe-lead{margin-top:10px;max-width:37ch;}
.pws-auth-content .pwe-field>.pwe-field-name{position:static;width:auto;height:auto;margin:0 0 8px;padding:0;overflow:visible;clip:auto;clip-path:none;white-space:normal;font-size:12px;font-weight:650;letter-spacing:.01em;}
.pws-auth-content .pwe-field input{min-height:52px;border-color:color-mix(in srgb,var(--brand) 10%,var(--border));background-color:var(--bg-elev);box-shadow:0 2px 4px -3px color-mix(in srgb,var(--text) 12%,transparent);}
.pws-auth-content .pwe-btn{min-height:52px;box-shadow:0 6px 14px -8px var(--action);}
.pws-auth-content .pwe-links{margin:6px calc(-1 * var(--auth-inset)) 0;padding:16px var(--auth-inset);border-top:1px solid color-mix(in srgb,var(--brand) 10%,var(--border));border-radius:0 0 27px 27px;background:color-mix(in srgb,var(--brand-soft) 30%,var(--bg-elev));}
.pws-auth-content .pwe-notice-panel,.pws-auth-content .pwe-recover{padding-bottom:24px;}
.pws-auth-content .pwe-notice-panel .pwe-links,.pws-auth-content .pwe-recover .pwe-links{margin-bottom:-24px;}
.pws-auth-content .pwe-auth>.pwe-alert{margin-bottom:28px;}
@media(max-width:520px){.pws-auth-layout{border-radius:22px;}.pws-auth-content{--auth-inset:24px;padding-top:28px;}.pws-auth-content .pwe-links{border-radius:0 0 21px 21px;}.pws-auth-content .pwe-form-heading{padding-bottom:18px;}}
@media(max-width:360px){.pws-auth-content{--auth-inset:20px;padding-top:24px;}.pws-auth-content .pwe-heading-icon{width:52px;height:52px;border-radius:17px;}.pws-auth-content .pwe-title{font-size:24px;}.pws-auth-content .pwe-lead{font-size:13px;}}
@media(prefers-reduced-motion:reduce){.pws-auth-page,.pws-auth-page *,.pws-auth-page *::before,.pws-auth-page *::after,.pwe-modal *{animation:none!important;transition:none!important;}.pws-auth-layout:hover .pwe-heading-icon,.pwe-auth .pwe-gbtn:hover,.pws-auth-content .pwe-btn:not(:disabled):hover,.pwe-modal .pwe-btn:not(:disabled):hover{transform:none;}}
