/* Stage66.52R66.149 — canonical consolidated release cascade. */

/* source:release-base-a-r66-145.css */
/* R66.145 consolidated cascade segment; source order preserved. */

/* source release-r66-66.css */
/* Stage66.52R66.66 — scoped launch-safe visual/auth owner. */
:root,
html[data-ps-theme="light"] {
  --ps-r66-ink: #102f40;
  --ps-r66-muted: #587180;
  --ps-r66-blue: #126fbd;
  --ps-r66-blue-deep: #0b568f;
  --ps-r66-cyan: #0aa6b4;
  --ps-r66-teal: #087f72;
  --ps-r66-line: rgba(32, 101, 127, .18);
  --ps-r66-line-strong: rgba(20, 118, 154, .30);
  --ps-r66-panel: rgba(255, 255, 255, .88);
  --ps-r66-panel-soft: rgba(240, 248, 251, .82);
  --ps-r66-control: rgba(252, 254, 255, .96);
  --ps-r66-glow: rgba(18, 130, 177, .20);
  --ps-r66-shadow: 0 24px 70px rgba(13, 65, 91, .14), inset 0 1px 0 rgba(255, 255, 255, .94);
  --ps-r66-shadow-soft: 0 12px 36px rgba(13, 65, 91, .09), inset 0 1px 0 rgba(255, 255, 255, .90);
}

html[data-ps-theme="dark"] {
  --ps-r66-ink: #ecf8fc;
  --ps-r66-muted: #a9c4cf;
  --ps-r66-blue: #5bbcf2;
  --ps-r66-blue-deep: #3299d3;
  --ps-r66-cyan: #4bd5dd;
  --ps-r66-teal: #53d5be;
  --ps-r66-line: rgba(117, 194, 221, .22);
  --ps-r66-line-strong: rgba(108, 210, 230, .37);
  --ps-r66-panel: rgba(7, 30, 42, .92);
  --ps-r66-panel-soft: rgba(12, 48, 63, .78);
  --ps-r66-control: rgba(7, 37, 51, .96);
  --ps-r66-glow: rgba(55, 181, 218, .24);
  --ps-r66-shadow: 0 28px 76px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(203, 241, 250, .08);
  --ps-r66-shadow-soft: 0 14px 38px rgba(0, 0, 0, .26), inset 0 1px 0 rgba(203, 241, 250, .06);
}

body.pcbshop-theme .ps-button-primary {
  background: linear-gradient(135deg, var(--ps-r66-blue-deep), var(--ps-r66-cyan));
  border-color: rgba(9, 111, 151, .34);
  color: #fff;
  box-shadow: 0 10px 26px rgba(10, 112, 157, .23), inset 0 1px 0 rgba(255, 255, 255, .24);
}

body.pcbshop-theme .ps-button-primary:is(:hover, :focus-visible) {
  background: linear-gradient(135deg, #094c80, #078f9c);
  box-shadow: 0 14px 32px rgba(8, 100, 143, .29), 0 0 0 4px rgba(25, 164, 190, .13);
}

html[data-ps-theme="dark"] body.pcbshop-theme .ps-button-primary:is(:hover, :focus-visible) {
  background: linear-gradient(135deg, #277fb1, #159eaa);
}

body.pcbshop-theme .ps-distributor-header,
body.pcbshop-theme .ps-distributor-nav,
body.pcbshop-theme .ps-mobile-dock {
  border-color: var(--ps-r66-line);
}

body.pcbshop-theme .ps-header-action:is(:hover, :focus-visible),
body.pcbshop-theme .ps-drawer-action:is(:hover, :focus-visible),
body.pcbshop-theme .ps-primary-menu-services > li > a:is(:hover, :focus-visible) {
  border-color: var(--ps-r66-line-strong);
  background: linear-gradient(135deg, rgba(18, 111, 189, .13), rgba(10, 166, 180, .12));
  color: var(--ps-r66-blue-deep);
}

html[data-ps-theme="dark"] body.pcbshop-theme .ps-header-action:is(:hover, :focus-visible),
html[data-ps-theme="dark"] body.pcbshop-theme .ps-drawer-action:is(:hover, :focus-visible),
html[data-ps-theme="dark"] body.pcbshop-theme .ps-primary-menu-services > li > a:is(:hover, :focus-visible) {
  color: var(--ps-r66-ink);
}

/* Public authentication shell. */
body.ps-stage66-public-auth {
  padding-block-end: 0;
}

body.ps-stage66-public-auth #ps-mobile-dock {
  display: none !important;
}

body.ps-stage66-public-auth .ps-auth-main {
  min-height: min(820px, calc(100dvh - 130px));
  padding-block: clamp(18px, 4vw, 50px);
  background:
    radial-gradient(38rem 22rem at 8% 8%, rgba(10, 166, 180, .16), transparent 72%),
    radial-gradient(34rem 24rem at 96% 90%, rgba(18, 111, 189, .14), transparent 72%);
}

body.ps-stage66-public-auth .ps-auth-woo-shell {
  width: min(1180px, calc(100% - 32px));
}

body.ps-stage66-public-auth .ps-auth-section,
body.ps-stage66-public-auth .ps-auth-content-card {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.ps-auth-shell {
  direction: ltr;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(420px, 1.12fr);
  min-height: 650px;
  overflow: hidden;
  border: 1px solid var(--ps-r66-line);
  border-radius: 30px;
  background: var(--ps-r66-panel);
  box-shadow: var(--ps-r66-shadow);
  isolation: isolate;
}

.ps-auth-shell::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .62);
}

.ps-auth-story,
.ps-auth-card {
  direction: rtl;
  min-width: 0;
}

.ps-auth-story {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 28px;
  overflow: hidden;
  padding: clamp(32px, 4vw, 54px);
  color: #eefaff;
  background:
    linear-gradient(100deg, rgba(3, 23, 34, .92), rgba(4, 40, 55, .72)),
    url("../images/home/bayat-banner-ic-programming-r66-66.webp") 38% center / cover no-repeat;
}

.ps-auth-story::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 16%, rgba(54, 207, 224, .22), transparent 34%),
    linear-gradient(180deg, transparent 42%, rgba(3, 21, 31, .64));
}

.ps-auth-story > * {
  position: relative;
  z-index: 1;
}

.ps-auth-brand {
  display: inline-flex;
  align-self: flex-start;
  width: min(260px, 80%);
  min-height: 58px;
  align-items: center;
  border-radius: 16px;
}

.ps-auth-logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.ps-auth-logo--color {
  display: none;
}

.ps-auth-story-copy > span,
.ps-auth-heading .ps-eyebrow,
.ps-auth-recovery .ps-eyebrow {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 11px;
  border: 1px solid rgba(102, 216, 231, .30);
  border-radius: 999px;
  background: rgba(20, 137, 163, .18);
  color: #bfefff;
  font-size: .78rem;
  font-weight: 800;
}

.ps-auth-story-copy h2 {
  max-width: 15ch;
  margin: 16px 0 12px;
  color: #fff;
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  line-height: 1.45;
  letter-spacing: -.025em;
}

.ps-auth-story-copy p {
  max-width: 42ch;
  margin: 0;
  color: #b9d3de;
  font-size: .95rem;
  line-height: 2;
}

.ps-auth-benefits {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ps-auth-benefits li {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 11px 13px;
  border: 1px solid rgba(155, 219, 232, .16);
  border-radius: 15px;
  background: rgba(7, 39, 52, .54);
  backdrop-filter: blur(12px) saturate(120%);
}

.ps-auth-benefits i {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(47, 170, 213, .34), rgba(24, 193, 184, .30));
  color: #c9f7ff;
  font-size: .72rem;
  font-style: normal;
  font-weight: 900;
}

.ps-auth-benefits span {
  display: grid;
  gap: 1px;
}

.ps-auth-benefits strong {
  color: #f4fcff;
  font-size: .88rem;
}

.ps-auth-benefits small {
  color: #a9c7d2;
  font-size: .72rem;
}

.ps-auth-circuit {
  position: absolute;
  z-index: 0;
  inset: auto -40px -55px auto;
  width: 220px;
  height: 220px;
  opacity: .28;
  border: 1px solid #4ed9e5;
  border-radius: 50%;
}

.ps-auth-circuit span {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #72edf2;
  box-shadow: 0 0 14px #36ccd8;
}

.ps-auth-circuit span:nth-child(1) { inset: 12% auto auto 45%; }
.ps-auth-circuit span:nth-child(2) { inset: 40% 8% auto auto; }
.ps-auth-circuit span:nth-child(3) { inset: auto 24% 12% auto; }
.ps-auth-circuit span:nth-child(4) { inset: auto auto 22% 10%; }
.ps-auth-circuit span:nth-child(5) { inset: 34% auto auto 4%; }

.ps-auth-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(30px, 5vw, 64px) clamp(30px, 6vw, 74px);
  color: var(--ps-r66-ink);
  background:
    radial-gradient(24rem 14rem at 90% 0, rgba(32, 171, 195, .10), transparent 72%),
    linear-gradient(145deg, var(--ps-r66-panel), var(--ps-r66-panel-soft));
  backdrop-filter: blur(24px) saturate(135%);
}

.ps-auth-heading {
  margin-block-end: 22px;
}

.ps-auth-heading .ps-eyebrow,
.ps-auth-recovery .ps-eyebrow {
  border-color: rgba(11, 145, 165, .20);
  background: rgba(10, 166, 180, .09);
  color: var(--ps-r66-teal);
}

.ps-auth-heading h1,
.ps-auth-recovery h1 {
  margin: 10px 0 6px;
  color: var(--ps-r66-ink);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  line-height: 1.45;
}

.ps-auth-heading p,
.ps-auth-recovery header p {
  margin: 0;
  color: var(--ps-r66-muted);
  font-size: .88rem;
  line-height: 1.9;
}

.ps-auth-tabs {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  min-height: 48px;
  margin-block-end: 24px;
  padding: 4px;
  overflow: hidden;
  border: 1px solid var(--ps-r66-line);
  border-radius: 15px;
  background: var(--ps-r66-panel-soft);
}

.ps-auth-tabs button {
  position: relative;
  z-index: 2;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--ps-r66-muted);
  font: inherit;
  font-size: .9rem;
  font-weight: 850;
  cursor: pointer;
}

.ps-auth-tabs button.is-active {
  color: var(--ps-r66-blue-deep);
}

html[data-ps-theme="dark"] .ps-auth-tabs button.is-active {
  color: #eafaff;
}

.ps-auth-tabs > span {
  position: absolute;
  z-index: 1;
  inset-block: 4px;
  inset-inline-start: 4px;
  width: calc(50% - 4px);
  border: 1px solid rgba(29, 137, 169, .16);
  border-radius: 11px;
  background: var(--ps-r66-panel);
  box-shadow: 0 7px 20px rgba(15, 85, 112, .12);
  transition: transform .22s ease;
}

.ps-auth-shell[data-ps-auth-mode="register"] .ps-auth-tabs > span {
  transform: translateX(-100%);
}

.ps-auth-panel[hidden],
.ps-otp-login [hidden] {
  display: none !important;
}

.ps-auth-panel.is-active {
  animation: ps-r66-auth-enter .24s ease both;
}

.ps-otp-login,
.ps-otp-fields,
.ps-otp-verify,
.ps-otp-reset,
.ps-auth-password-form,
.ps-auth-email-recovery {
  display: grid;
  gap: 15px;
}

.ps-auth-field {
  display: grid;
  gap: 7px;
  margin: 0;
  color: var(--ps-r66-ink);
  font-size: .84rem;
  font-weight: 800;
}

.ps-auth-field > span:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
}

.ps-auth-field > span:first-child small,
.ps-auth-field > small {
  color: var(--ps-r66-muted);
  font-size: .72rem;
  font-weight: 500;
  line-height: 1.7;
}

.ps-auth-field [data-ps-field-error]:empty {
  display: none;
}

.ps-auth-field [data-ps-field-error] {
  color: #ae3344;
  font-weight: 700;
}

html[data-ps-theme="dark"] .ps-auth-field [data-ps-field-error] {
  color: #ffabb8;
}

.ps-auth-field input,
.ps-auth-input-wrap {
  width: 100%;
  min-width: 0;
}

.ps-auth-field input {
  min-height: 51px;
  margin: 0;
  padding: 10px 13px;
  border: 1px solid var(--ps-r66-line);
  border-radius: 13px;
  outline: 0;
  background: var(--ps-r66-control);
  color: var(--ps-r66-ink);
  font: inherit;
  font-size: .92rem;
  font-weight: 650;
  box-shadow: inset 0 1px 2px rgba(22, 63, 80, .04);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.ps-auth-field input::placeholder {
  color: color-mix(in srgb, var(--ps-r66-muted) 70%, transparent);
  font-weight: 500;
}

.ps-auth-field input:is(:focus, :focus-visible) {
  border-color: var(--ps-r66-cyan);
  background: var(--ps-r66-panel);
  box-shadow: 0 0 0 4px rgba(10, 166, 180, .12), 0 8px 22px rgba(9, 92, 124, .08);
}

.ps-auth-field input[aria-invalid="true"],
.ps-otp-code-cells input[aria-invalid="true"] {
  border-color: #c64c5b;
  box-shadow: 0 0 0 3px rgba(198, 76, 91, .11);
}

.ps-auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.ps-auth-input-wrap > input {
  flex: 1 1 auto;
}

.ps-auth-input-icon {
  position: absolute;
  z-index: 2;
  inset-inline-end: 12px;
  display: inline-grid;
  min-width: 39px;
  height: 28px;
  place-items: center;
  border-inline-start: 1px solid var(--ps-r66-line);
  color: var(--ps-r66-muted);
  font-size: .72rem;
  direction: ltr;
}

.ps-auth-input-icon + input {
  padding-inline-end: 61px;
}

.ps-password-toggle {
  position: absolute;
  z-index: 2;
  inset-inline-start: 8px;
  min-width: 56px;
  min-height: 35px;
  padding: 4px 8px;
  border: 0;
  border-radius: 9px;
  background: var(--ps-r66-panel-soft);
  color: var(--ps-r66-blue-deep);
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}

.ps-auth-input-wrap:has(.ps-password-toggle) > input {
  padding-inline-start: 74px;
}

.ps-auth-submit {
  position: relative;
  width: 100%;
  min-height: 50px;
  margin: 1px 0 0;
  overflow: hidden;
  font: inherit;
  font-size: .9rem;
  cursor: pointer;
}

.ps-auth-submit i {
  display: none;
  width: 18px;
  height: 18px;
  border: 2px solid rgba(255, 255, 255, .42);
  border-top-color: #fff;
  border-radius: 50%;
  animation: ps-r66-spin .7s linear infinite;
}

.ps-auth-submit.is-loading i {
  display: block;
}

.ps-auth-submit.is-loading span {
  opacity: .74;
}

.ps-auth-submit:disabled,
.ps-otp-resend:disabled {
  cursor: not-allowed;
  opacity: .58;
  transform: none;
}

.ps-otp-destination {
  padding: 9px 11px;
  border: 1px solid var(--ps-r66-line);
  border-radius: 12px;
  background: var(--ps-r66-panel-soft);
  color: var(--ps-r66-muted);
  text-align: center;
  font-size: .78rem;
  direction: rtl;
}

.ps-otp-code-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.ps-otp-code-fieldset legend {
  width: 100%;
  margin-block-end: 9px;
  color: var(--ps-r66-ink);
  text-align: center;
  font-size: .82rem;
  font-weight: 800;
}

.ps-otp-code-cells {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(6px, 1.2vw, 10px);
}

.ps-otp-code-cells input {
  width: 100%;
  min-width: 0;
  height: clamp(48px, 5vw, 56px);
  padding: 0;
  border: 1px solid var(--ps-r66-line);
  border-radius: 13px;
  outline: 0;
  background: var(--ps-r66-control);
  color: var(--ps-r66-ink);
  text-align: center;
  font: 850 1.25rem/1 Tahoma, "Segoe UI", sans-serif;
  caret-color: var(--ps-r66-cyan);
}

.ps-otp-code-cells input:is(:focus, :focus-visible) {
  border-color: var(--ps-r66-cyan);
  box-shadow: 0 0 0 4px rgba(10, 166, 180, .13);
}

.ps-otp-meta,
.ps-auth-password-options,
.ps-auth-alternate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 14px;
}

.ps-otp-meta small,
.ps-otp-resend,
.ps-auth-back,
.ps-auth-password-options,
.ps-auth-alternate,
.ps-auth-return {
  color: var(--ps-r66-muted);
  font-size: .76rem;
}

.ps-otp-resend,
.ps-auth-back {
  min-height: 36px;
  padding: 4px 7px;
  border: 0;
  background: transparent;
  color: var(--ps-r66-blue-deep);
  font: inherit;
  font-size: .76rem;
  font-weight: 800;
  cursor: pointer;
}

.ps-auth-back {
  justify-self: center;
}

.ps-otp-message {
  min-height: 25px;
  margin-top: 4px;
  padding: 0 3px;
  color: var(--ps-r66-teal);
  font-size: .76rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

.ps-otp-message:empty {
  visibility: hidden;
}

.ps-otp-message.is-error {
  color: #ad3445;
}

html[data-ps-theme="dark"] .ps-otp-message.is-error {
  color: #ffadba;
}

.ps-auth-password-fallback {
  margin-block-start: 9px;
  border-top: 1px solid var(--ps-r66-line);
}

.ps-auth-password-fallback summary {
  display: flex;
  min-height: 47px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--ps-r66-blue-deep);
  font-size: .8rem;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

.ps-auth-password-fallback summary::-webkit-details-marker {
  display: none;
}

.ps-auth-password-fallback[open] summary span {
  transform: rotate(180deg);
}

.ps-auth-password-form {
  padding: 15px;
  border: 1px solid var(--ps-r66-line);
  border-radius: 16px;
  background: var(--ps-r66-panel-soft);
  animation: ps-r66-auth-enter .2s ease both;
}

.ps-auth-password-options label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ps-r66-muted);
  font-size: .76rem;
  cursor: pointer;
}

.ps-auth-password-options input {
  width: 17px;
  height: 17px;
  accent-color: var(--ps-r66-cyan);
}

.ps-auth-password-options a,
.ps-auth-alternate a,
.ps-auth-return,
.ps-auth-policy a {
  color: var(--ps-r66-blue-deep);
  font-weight: 800;
  text-decoration: none;
}

.ps-auth-policy {
  margin-top: 16px;
  color: var(--ps-r66-muted);
  text-align: center;
  font-size: .69rem;
  line-height: 1.8;
}

.ps-auth-availability {
  padding: 14px 15px;
  border: 1px solid rgba(176, 126, 31, .25);
  border-radius: 15px;
  background: rgba(255, 190, 55, .09);
}

.ps-auth-availability strong {
  color: var(--ps-r66-ink);
}

.ps-auth-availability p {
  margin: 4px 0 0;
  color: var(--ps-r66-muted);
  font-size: .78rem;
}

.ps-otp-reset {
  text-align: center;
}

.ps-otp-reset > strong {
  color: var(--ps-r66-ink);
  font-size: 1.05rem;
}

.ps-otp-reset > p {
  margin: -8px 0 2px;
  color: var(--ps-r66-muted);
  font-size: .8rem;
}

.ps-auth-success-mark {
  display: grid;
  width: 52px;
  height: 52px;
  margin-inline: auto;
  place-items: center;
  border: 1px solid rgba(29, 163, 132, .28);
  border-radius: 17px;
  background: rgba(29, 163, 132, .12);
  color: var(--ps-r66-teal);
  font-size: 1.4rem;
  font-weight: 900;
}

/* Lost/reset endpoints use the same compact, real account surface. */
.ps-auth-recovery {
  width: min(560px, 100%);
  margin-inline: auto;
  padding: clamp(24px, 5vw, 44px);
  border: 1px solid var(--ps-r66-line);
  border-radius: 26px;
  background: linear-gradient(145deg, var(--ps-r66-panel), var(--ps-r66-panel-soft));
  color: var(--ps-r66-ink);
  box-shadow: var(--ps-r66-shadow);
  backdrop-filter: blur(22px) saturate(135%);
}

.ps-auth-recovery header {
  margin-block-end: 22px;
  text-align: center;
}

.ps-auth-alternate {
  justify-content: center;
  margin-top: 17px;
  padding-top: 14px;
  border-top: 1px solid var(--ps-r66-line);
}

.ps-auth-return {
  display: table;
  margin: 18px auto 0;
}

.ps-auth-recovery--confirmation {
  display: grid;
  gap: 12px;
  text-align: center;
}

.ps-auth-recovery--confirmation p {
  margin: 0;
  color: var(--ps-r66-muted);
}

.ps-auth-recovery--confirmation .ps-button {
  margin-top: 8px;
}

/* First-party banner images and richer contrast; registry/media remain owners. */
body.pcbshop-theme .ps-home-banners {
  overflow: hidden;
  border-color: rgba(75, 164, 194, .23);
  border-radius: clamp(20px, 3vw, 30px);
  background: #071f2d;
  box-shadow: 0 24px 70px rgba(5, 43, 64, .22), inset 0 1px 0 rgba(201, 240, 249, .12);
}

body.pcbshop-theme .ps-banner-slide {
  isolation: isolate;
  overflow: hidden;
  background: #071f2d;
}

body.pcbshop-theme .ps-banner-media,
body.pcbshop-theme .ps-banner-media picture,
body.pcbshop-theme .ps-banner-media img {
  width: 100%;
  height: 100%;
}

body.pcbshop-theme .ps-banner-media picture {
  display: block;
}

body.pcbshop-theme .ps-banner-media img {
  display: block;
  object-fit: cover;
  object-position: center;
}

body.pcbshop-theme .ps-banner-slide::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(2, 17, 27, .10) 0, rgba(3, 22, 33, .50) 50%, rgba(3, 20, 30, .94) 100%);
}

body.pcbshop-theme .ps-banner-content {
  z-index: 2;
  max-width: min(520px, 48%);
  text-shadow: 0 2px 20px rgba(0, 0, 0, .44);
}

body.pcbshop-theme .ps-banner-title {
  color: #f5fcff;
}

body.pcbshop-theme .ps-banner-subtitle,
body.pcbshop-theme .ps-banner-text {
  color: #c2d8e2;
}

body.pcbshop-theme .ps-banner-eyebrow {
  border-color: rgba(107, 215, 230, .28);
  background: rgba(13, 131, 157, .22);
  color: #c0f4ff;
}

body.pcbshop-theme .ps-banner-controls {
  z-index: 4;
}

body.pcbshop-theme .ps-banner-controls button {
  border-color: rgba(153, 218, 230, .22);
  background: rgba(4, 30, 43, .56);
  color: #e9faff;
  backdrop-filter: blur(12px);
}

/* Logged-in account: polish only; endpoint ownership and navigation logic stay intact. */
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout {
  gap: clamp(16px, 2.6vw, 30px);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout-nav,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout-content,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-panel,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-welcome {
  border-color: var(--ps-r66-line);
  background: linear-gradient(145deg, var(--ps-r66-panel), var(--ps-r66-panel-soft));
  color: var(--ps-r66-ink);
  box-shadow: var(--ps-r66-shadow-soft);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation a {
  border-color: transparent;
  color: var(--ps-r66-muted);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation a:is(:hover, :focus-visible) {
  border-color: var(--ps-r66-line-strong);
  background: linear-gradient(135deg, rgba(18, 111, 189, .12), rgba(10, 166, 180, .11));
  color: var(--ps-r66-blue-deep);
}

html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a,
html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation a:is(:hover, :focus-visible) {
  color: var(--ps-r66-ink);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-content :where(input, select, textarea) {
  border-color: var(--ps-r66-line);
  background: var(--ps-r66-control);
  color: var(--ps-r66-ink);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-content :where(input, select, textarea):focus {
  border-color: var(--ps-r66-cyan);
  box-shadow: 0 0 0 4px rgba(10, 166, 180, .12);
}

@media (max-width: 900px) {
  body.ps-stage66-public-auth .ps-auth-main {
    min-height: 0;
    padding-block: 16px 30px;
  }

  .ps-auth-shell {
    display: block;
    min-height: 0;
    border-radius: 24px;
  }

  .ps-auth-story {
    display: none;
  }

  .ps-auth-card {
    min-height: 0;
    padding: clamp(24px, 6vw, 42px);
  }

  body.ps-stage66-public-auth .ps-site-footer {
    padding-block-end: 0;
  }

  body.pcbshop-theme .ps-banner-content {
    max-width: min(420px, 72%);
  }
}

@media (max-width: 700px) {
  body.ps-stage66-public-auth .ps-auth-woo-shell {
    width: min(calc(100% - 20px),560px);
  }

  .ps-auth-card,
  .ps-auth-recovery {
    padding: 21px 16px;
    border-radius: 20px;
  }

  .ps-auth-heading {
    margin-block-end: 16px;
  }

  .ps-auth-heading h1,
  .ps-auth-recovery h1 {
    font-size: 1.48rem;
  }

  .ps-auth-heading p,
  .ps-auth-recovery header p {
    font-size: .8rem;
  }

  .ps-auth-tabs {
    margin-block-end: 18px;
  }

  .ps-auth-field input {
    min-height: 49px;
    font-size: 16px;
  }

  .ps-otp-code-cells {
    gap: 5px;
  }

  .ps-otp-code-cells input {
    height: 48px;
    border-radius: 11px;
    font-size: 1.08rem;
  }

  .ps-auth-password-form {
    padding: 12px;
  }

  body.pcbshop-theme .ps-home-banners,
  body.pcbshop-theme .ps-banner-slide {
    min-height: clamp(390px, 74vw, 485px);
  }

  body.pcbshop-theme .ps-banner-media img {
    object-position: center;
  }

  body.pcbshop-theme .ps-banner-slide::after {
    background: linear-gradient(180deg, rgba(2, 18, 28, .18) 0, rgba(3, 20, 30, .52) 42%, rgba(3, 19, 29, .96) 100%);
  }

  body.pcbshop-theme .ps-banner-content {
    inset: auto 18px 66px;
    max-width: none;
  }

  body.pcbshop-theme .ps-banner-title {
    font-size: clamp(1.3rem, 6vw, 1.8rem);
  }
}

@media (max-width: 390px) {
  .ps-auth-card,
  .ps-auth-recovery {
    padding-inline: 13px;
  }

  .ps-otp-code-cells {
    gap: 4px;
  }

  .ps-otp-code-cells input {
    height: 44px;
    border-radius: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-auth-panel.is-active,
  .ps-auth-password-form,
  .ps-auth-tabs > span,
  .ps-auth-submit i {
    animation: none;
    transition: none;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ps-auth-card,
  .ps-auth-recovery,
  .ps-auth-benefits li,
  body.pcbshop-theme .ps-banner-controls button {
    backdrop-filter: none;
  }
}

@keyframes ps-r66-auth-enter {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: none; }
}

@keyframes ps-r66-spin {
  to { transform: rotate(360deg); }
}

/* source release-r66-75.css */
/*
 * Stage66.52R66.75 — UI/UX, E2E and visual hardening owner.
 *
 * Runtime contract:
 * - R66.66 remains the stable structural foundation.
 * - This file is the only post-foundation release owner.
 * - R66.69–R66.74 stay in the package as rollback history, but are not enqueued.
 * - No scroll, overlay, authentication transport or order-layout behavior is owned here.
 */

:root,
html[data-ps-theme="light"] {
  /* Locked Bayat action palette. */
  --ps-primary: #0a73e8;
  --ps-primary-hover: #075fc7;
  --ps-primary-deep: #087c9f;
  --ps-primary-hover-deep: #006c86;
  --ps-primary-gradient: linear-gradient(135deg, #0a73e8 0%, #087c9f 100%);
  --ps-primary-hover-gradient: linear-gradient(135deg, #075fc7 0%, #006c86 100%);
  --ps-accent: #18c9d2;
  --ps-focus: #18c9d2;
  --ps-focus-ring: 0 0 0 3px rgba(24, 201, 210, .22);
  --ps-brand: #0a73e8;
  --ps-brand-blue: #0a73e8;
  --ps-brand-strong: #075fc7;
  --ps-brand-turquoise: #18c9d2;
  --ps-brand-soft: rgba(10, 115, 232, .10);
  --ps-blue: #0a73e8;

  /* Semantic colors never borrow the action palette. */
  --ps-success: #16875f;
  --ps-success-soft: rgba(22, 135, 95, .11);
  --ps-warning: #a96808;
  --ps-warning-soft: rgba(245, 158, 11, .13);
  --ps-danger: #b33a4b;
  --ps-danger-soft: rgba(220, 55, 75, .10);

  /* Bounded glass tokens shared by the safe visual surfaces below. */
  --ps-glass-surface: rgba(255, 255, 255, .88);
  --ps-glass-surface-soft: rgba(244, 249, 252, .82);
  --ps-glass-surface-strong: rgba(255, 255, 255, .95);
  --ps-glass-line: rgba(44, 105, 137, .17);
  --ps-glass-edge: rgba(255, 255, 255, .76);
  --ps-glass-specular: rgba(24, 201, 210, .14);
  --ps-glass-shadow: 0 22px 58px rgba(15, 61, 89, .12), inset 0 1px 0 rgba(255, 255, 255, .84);
  --ps-glass-shadow-soft: 0 12px 34px rgba(15, 61, 89, .08), inset 0 1px 0 rgba(255, 255, 255, .76);
  --ps-glass-blur: 12px;

  /* Compatibility aliases used by the R66.66 foundation. */
  --ps-r66-blue: #0a73e8;
  --ps-r66-blue-deep: #075fc7;
  --ps-r66-cyan: #18c9d2;
  --ps-r66-teal: #087c9f;
  --ps-r66-line: var(--ps-glass-line);
  --ps-r66-line-strong: rgba(10, 115, 232, .30);
  --ps-r66-panel: var(--ps-glass-surface);
  --ps-r66-panel-soft: var(--ps-glass-surface-soft);
  --ps-r66-control: var(--ps-glass-surface-strong);
  --ps-r66-glow: rgba(10, 115, 232, .18);
  --ps-r66-shadow: var(--ps-glass-shadow);
  --ps-r66-shadow-soft: var(--ps-glass-shadow-soft);
}

html[data-ps-theme="dark"] {
  --ps-primary: #0a73e8;
  --ps-primary-hover: #075fc7;
  --ps-primary-deep: #087c9f;
  --ps-primary-hover-deep: #006c86;
  --ps-primary-gradient: linear-gradient(135deg, #0a73e8 0%, #087c9f 100%);
  --ps-primary-hover-gradient: linear-gradient(135deg, #075fc7 0%, #006c86 100%);
  --ps-accent: #18c9d2;
  --ps-focus: #18c9d2;
  --ps-focus-ring: 0 0 0 3px rgba(24, 201, 210, .27);
  --ps-brand: #0a73e8;
  --ps-brand-blue: #0a73e8;
  --ps-brand-strong: #075fc7;
  --ps-brand-turquoise: #18c9d2;
  --ps-brand-soft: rgba(10, 115, 232, .18);
  --ps-blue: #0a73e8;

  --ps-success: #71d8af;
  --ps-success-soft: rgba(25, 133, 98, .24);
  --ps-warning: #f4c364;
  --ps-warning-soft: rgba(153, 105, 24, .27);
  --ps-danger: #ffadb9;
  --ps-danger-soft: rgba(159, 49, 66, .27);

  --ps-glass-surface: rgba(8, 29, 43, .90);
  --ps-glass-surface-soft: rgba(12, 43, 60, .82);
  --ps-glass-surface-strong: rgba(8, 36, 52, .96);
  --ps-glass-line: rgba(108, 181, 214, .22);
  --ps-glass-edge: rgba(206, 239, 249, .08);
  --ps-glass-specular: rgba(24, 201, 210, .17);
  --ps-glass-shadow: 0 26px 68px rgba(0, 0, 0, .36), inset 0 1px 0 rgba(210, 242, 251, .07);
  --ps-glass-shadow-soft: 0 14px 38px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(210, 242, 251, .05);
  --ps-glass-blur: 12px;

  --ps-r66-blue: #0a73e8;
  --ps-r66-blue-deep: #65adff;
  --ps-r66-cyan: #18c9d2;
  --ps-r66-teal: #7fd7dc;
  --ps-r66-line: var(--ps-glass-line);
  --ps-r66-line-strong: rgba(24, 201, 210, .35);
  --ps-r66-panel: var(--ps-glass-surface);
  --ps-r66-panel-soft: var(--ps-glass-surface-soft);
  --ps-r66-control: var(--ps-glass-surface-strong);
  --ps-r66-glow: rgba(10, 115, 232, .26);
  --ps-r66-shadow: var(--ps-glass-shadow);
  --ps-r66-shadow-soft: var(--ps-glass-shadow-soft);
}

/* Primary actions: the locked blue is always visually dominant. */
body.pcbshop-theme .ps-button-primary,
body.pcbshop-theme button.ps-button-primary,
body.pcbshop-theme a.ps-button-primary,
body.pcbshop-theme .ps-auth-submit:not(.ps-button-secondary),
body.pcbshop-theme.woocommerce button.button.alt,
body.pcbshop-theme.woocommerce a.button.alt,
body.pcbshop-theme.woocommerce #respond input#submit.alt,
body.pcbshop-theme :where(
  .ps-button-commit,
  .ps-button-pcb,
  .ps-button-bom,
  .ps-button-creator,
  .ps-button-track,
  .ps-submit,
  .ps-submit-final,
  .ps-pay-button,
  .checkout-button,
  #place_order,
  .single_add_to_cart_button,
  .woocommerce button.button.alt,
  .woocommerce a.button.alt,
  .woocommerce #respond input#submit.alt
) {
  border-color: rgba(7, 95, 199, .38) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(0, 34, 77, .18);
  box-shadow: 0 11px 25px rgba(10, 115, 232, .23), inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

body.pcbshop-theme .ps-button-primary:is(:hover, :focus-visible),
body.pcbshop-theme button.ps-button-primary:is(:hover, :focus-visible),
body.pcbshop-theme a.ps-button-primary:is(:hover, :focus-visible),
body.pcbshop-theme .ps-auth-submit:not(.ps-button-secondary):is(:hover, :focus-visible),
body.pcbshop-theme.woocommerce button.button.alt:is(:hover, :focus-visible),
body.pcbshop-theme.woocommerce a.button.alt:is(:hover, :focus-visible),
body.pcbshop-theme.woocommerce #respond input#submit.alt:is(:hover, :focus-visible),
body.pcbshop-theme :where(
  .ps-button-commit,
  .ps-button-pcb,
  .ps-button-bom,
  .ps-button-creator,
  .ps-button-track,
  .ps-submit,
  .ps-submit-final,
  .ps-pay-button,
  .checkout-button,
  #place_order,
  .single_add_to_cart_button,
  .woocommerce button.button.alt,
  .woocommerce a.button.alt,
  .woocommerce #respond input#submit.alt
):is(:hover, :focus-visible) {
  border-color: rgba(0, 108, 134, .50) !important;
  background: var(--ps-primary-hover-gradient) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(7, 95, 199, .27), var(--ps-focus-ring), inset 0 1px 0 rgba(255, 255, 255, .25) !important;
}

body.pcbshop-theme .ps-button-primary:disabled,
body.pcbshop-theme .ps-button-primary[aria-disabled="true"],
body.pcbshop-theme .ps-auth-submit:disabled,
body.pcbshop-theme :where(.ps-submit, .ps-submit-final, .ps-pay-button, #place_order, .single_add_to_cart_button):disabled {
  filter: saturate(.72);
  opacity: .58;
  box-shadow: none !important;
  transform: none !important;
}

/* Secondary actions are neutral/blue; green remains reserved for real success. */
body.pcbshop-theme :where(
  .ps-button-secondary,
  button.ps-button-secondary,
  a.ps-button-secondary
) {
  border-color: rgba(10, 115, 232, .26) !important;
  background: var(--ps-glass-surface-strong) !important;
  color: var(--ps-primary-hover) !important;
  text-shadow: none;
  box-shadow: inset 0 1px 0 var(--ps-glass-edge), 0 7px 18px rgba(15, 61, 89, .07) !important;
}

body.pcbshop-theme :where(
  .ps-button-secondary,
  button.ps-button-secondary,
  a.ps-button-secondary
):is(:hover, :focus-visible) {
  border-color: rgba(10, 115, 232, .38) !important;
  background: linear-gradient(135deg, rgba(10, 115, 232, .12), rgba(24, 201, 210, .065)) !important;
  color: var(--ps-primary-hover) !important;
  box-shadow: var(--ps-focus-ring), inset 0 1px 0 var(--ps-glass-edge) !important;
}

html[data-ps-theme="dark"] body.pcbshop-theme :where(
  .ps-button-secondary,
  button.ps-button-secondary,
  a.ps-button-secondary
) {
  color: #b8dcff !important;
}

/* Historical account-welcome rules used a white PCB button with higher specificity. */
body.pcbshop-theme.woocommerce-account .ps-account-welcome :where(.ps-button-pcb, .ps-button-primary) {
  border-color: rgba(7, 95, 199, .38) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 11px 25px rgba(10, 115, 232, .23), inset 0 1px 0 rgba(255, 255, 255, .28) !important;
}

body.pcbshop-theme.woocommerce-account .ps-account-welcome :where(.ps-button-pcb, .ps-button-primary):is(:hover, :focus-visible) {
  background: var(--ps-primary-hover-gradient) !important;
  color: #fff !important;
  box-shadow: 0 14px 30px rgba(7, 95, 199, .27), var(--ps-focus-ring) !important;
}

/* Safe action and selection surfaces. Success/status selectors remain untouched. */
body.pcbshop-theme .ps-header-search button,
body.pcbshop-theme .ps-mobile-dock a.is-primary {
  background: var(--ps-primary-gradient);
  color: #fff;
}

body.pcbshop-theme .ps-header-search:focus-within {
  border-color: var(--ps-accent);
  box-shadow: var(--ps-focus-ring);
}

body.pcbshop-theme :where(
  .ps-field input,
  .ps-field select,
  .ps-field textarea,
  .ps-track input,
  .ps-attribute-search,
  .woocommerce form input,
  .woocommerce form select,
  .woocommerce form textarea
):is(:focus, :focus-visible) {
  border-color: var(--ps-accent) !important;
  outline: 0;
  box-shadow: var(--ps-focus-ring) !important;
}

body.pcbshop-theme :where(input[type="checkbox"], input[type="radio"]) {
  accent-color: var(--ps-primary);
}

body.pcbshop-theme .ps-header-action:is(:hover, :focus-visible),
body.pcbshop-theme .ps-drawer-action:is(:hover, :focus-visible),
body.pcbshop-theme .ps-primary-menu-services > li > a:is(:hover, :focus-visible) {
  border-color: rgba(10, 115, 232, .27);
  background: linear-gradient(135deg, rgba(10, 115, 232, .12), rgba(24, 201, 210, .07));
  color: var(--ps-primary-hover);
}

body.pcbshop-theme .ps-primary-menu-services > li:is(.is-current, .current-menu-item) > a,
body.pcbshop-theme .ps-information-nav a.is-current,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a {
  border-color: rgba(10, 115, 232, .30);
  background: linear-gradient(135deg, rgba(10, 115, 232, .14), rgba(24, 201, 210, .07));
  color: var(--ps-primary-hover);
  box-shadow: inset 0 -2px 0 var(--ps-primary);
}

html[data-ps-theme="dark"] body.pcbshop-theme .ps-header-action:is(:hover, :focus-visible),
html[data-ps-theme="dark"] body.pcbshop-theme .ps-drawer-action:is(:hover, :focus-visible),
html[data-ps-theme="dark"] body.pcbshop-theme .ps-primary-menu-services > li > a:is(:hover, :focus-visible),
html[data-ps-theme="dark"] body.pcbshop-theme .ps-primary-menu-services > li:is(.is-current, .current-menu-item) > a,
html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a {
  color: #eef8ff;
}

@media (max-width: 900px) {
  body.pcbshop-theme .ps-mobile-dock a:is(.is-current, [aria-current="page"]):not(.is-primary) {
    border-color: rgba(10, 115, 232, .20);
    background: rgba(10, 115, 232, .11);
    color: var(--ps-primary-hover);
    box-shadow: inset 0 0 0 1px rgba(10, 115, 232, .10);
  }

  html[data-ps-theme="dark"] body.pcbshop-theme .ps-mobile-dock a:is(.is-current, [aria-current="page"]):not(.is-primary) {
    background: rgba(10, 115, 232, .22);
    color: #b9dcff;
  }
}

/* Refined glass is bounded to established panels; geometry is intentionally unchanged. */
body.pcbshop-theme :where(
  .ps-distributor-header,
  .ps-distributor-nav,
  .ps-mobile-dock,
  .ps-account-layout-nav,
  .ps-account-layout-content,
  .ps-account-panel,
  .ps-account-welcome,
  .ps-orders-dashboard,
  .ps-order-review,
  .ps-estimate-card,
  .ps-tracking-section
) {
  border-color: var(--ps-glass-line);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) :where(
  .ps-account-layout-nav,
  .ps-account-layout-content,
  .ps-account-panel,
  .ps-account-welcome
) {
  background: linear-gradient(145deg, var(--ps-glass-surface-strong), var(--ps-glass-surface-soft));
  box-shadow: var(--ps-glass-shadow-soft);
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-content :where(input, select, textarea):focus {
  border-color: var(--ps-accent);
  outline: 0;
  box-shadow: var(--ps-focus-ring);
}

/* --------------------------------------------------------------------------
 * Dedicated public Auth experience.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth {
  --ps-auth-edge: rgba(10, 115, 232, .22);
  --ps-auth-ink: #102f40;
  --ps-auth-muted: #5b7180;
  --ps-auth-control: rgba(255, 255, 255, .95);
  padding-block-end: 0;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth {
  --ps-auth-edge: rgba(117, 190, 220, .25);
  --ps-auth-ink: #edf8fc;
  --ps-auth-muted: #adc5d0;
  --ps-auth-control: rgba(7, 34, 49, .96);
}

body.ps-stage66-public-auth .ps-page-header {
  display: none;
}

body.ps-stage66-public-auth :where(.ps-content-shell, .ps-page-article, .ps-auth-woo-shell) {
  width: min(1120px, calc(100% - 32px));
  max-width: none;
  margin-inline: auto;
}

body.ps-stage66-public-auth .ps-container.ps-woo-shell.ps-auth-woo-shell {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
}

body.ps-stage66-public-auth .ps-page-article {
  padding: 0 !important;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.ps-stage66-public-auth .ps-entry-content {
  margin: 0;
}

body.ps-stage66-public-auth :where(main.ps-page-main, .ps-auth-main) {
  min-height: 0;
  padding-block: clamp(16px, 2.7vw, 34px) !important;
  background:
    radial-gradient(38rem 20rem at 7% 4%, rgba(24, 201, 210, .09), transparent 72%),
    radial-gradient(40rem 24rem at 96% 92%, rgba(10, 115, 232, .11), transparent 72%);
}

.ps-auth-shell {
  direction: ltr;
  position: relative;
  display: grid;
  grid-template-columns: minmax(320px, .68fr) minmax(0, 1.08fr);
  min-height: 590px;
  overflow: hidden;
  border: 1px solid var(--ps-auth-edge);
  border-radius: 28px;
  background: var(--ps-glass-surface);
  box-shadow: var(--ps-glass-shadow);
  isolation: isolate;
}

.ps-auth-shell::after {
  content: "";
  position: absolute;
  z-index: 5;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 1px 0 var(--ps-glass-edge);
}

.ps-auth-story,
.ps-auth-card {
  direction: rtl;
  min-width: 0;
}

.ps-auth-story {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 24px;
  overflow: hidden;
  padding: clamp(30px, 3.4vw, 44px);
  color: #effaff;
  background:
    linear-gradient(118deg, rgba(2, 20, 35, .91) 0%, rgba(3, 41, 60, .75) 58%, rgba(7, 77, 94, .50) 100%),
    url("../images/home/bayat-auth-debug-lab-r66-75.webp") center 46% / cover no-repeat;
}

.ps-auth-story::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 16% 13%, rgba(24, 201, 210, .17), transparent 31%),
    linear-gradient(180deg, rgba(2, 18, 31, .02) 18%, rgba(2, 20, 33, .78) 100%);
}

.ps-auth-story > * {
  position: relative;
  z-index: 1;
}

.ps-auth-story-copy > span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 3px 10px;
  border: 1px solid rgba(142, 221, 237, .24);
  border-radius: 999px;
  background: rgba(10, 115, 232, .26);
  color: #d6f6ff;
  font-size: .71rem;
  font-weight: 850;
}

.ps-auth-story-copy h2 {
  max-width: 17ch;
  margin: 13px 0 8px;
  color: #fff;
  font-size: clamp(1.55rem, 2.35vw, 2.16rem);
  line-height: 1.48;
  letter-spacing: -.022em;
}

.ps-auth-story-copy p {
  max-width: 39ch;
  margin: 0;
  color: #c2d7e1;
  font-size: .82rem;
  line-height: 1.95;
}

.ps-auth-benefits {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(160, 218, 232, .15);
  list-style: none;
}

.ps-auth-benefits li {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid rgba(160, 218, 232, .13);
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
}

.ps-auth-benefits i {
  display: grid;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  place-items: center;
  border: 1px solid rgba(171, 229, 241, .17);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(10, 115, 232, .46), rgba(24, 201, 210, .21));
  color: #e0f9ff;
  font-size: .68rem;
  font-style: normal;
  font-weight: 900;
}

.ps-auth-benefits span {
  display: grid;
  gap: 1px;
}

.ps-auth-benefits strong {
  color: #f4fbff;
  font-size: .80rem;
}

.ps-auth-benefits small {
  color: #abc7d2;
  font-size: .65rem;
}

.ps-auth-circuit {
  opacity: .18;
  border-color: var(--ps-accent);
}

.ps-auth-circuit span {
  background: var(--ps-accent);
  box-shadow: 0 0 10px rgba(24, 201, 210, .45);
}

.ps-auth-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px clamp(38px, 4.8vw, 62px);
  color: var(--ps-auth-ink);
  background:
    radial-gradient(27rem 15rem at 98% 0, rgba(24, 201, 210, .08), transparent 70%),
    linear-gradient(145deg, var(--ps-glass-surface-strong), var(--ps-glass-surface-soft));
  -webkit-backdrop-filter: blur(var(--ps-glass-blur)) saturate(118%);
  backdrop-filter: blur(var(--ps-glass-blur)) saturate(118%);
}

.ps-auth-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255, 255, 255, .27);
  border-radius: 18px;
  pointer-events: none;
  -webkit-mask: linear-gradient(#000, transparent 48%);
  mask: linear-gradient(#000, transparent 48%);
  opacity: .68;
}

html[data-ps-theme="dark"] .ps-auth-card::before {
  border-color: rgba(205, 241, 250, .07);
}

.ps-auth-mobile-visual {
  display: none;
}

.ps-auth-heading {
  position: relative;
  z-index: 1;
  margin-block-end: 16px;
}

.ps-auth-heading .ps-eyebrow,
.ps-auth-recovery .ps-eyebrow {
  display: inline-flex;
  min-height: 27px;
  align-items: center;
  gap: 7px;
  padding: 3px 10px;
  border: 1px solid rgba(10, 115, 232, .18);
  border-radius: 999px;
  background: rgba(10, 115, 232, .075);
  color: var(--ps-primary-hover);
  font-size: .70rem;
  font-weight: 850;
}

html[data-ps-theme="dark"] .ps-auth-heading .ps-eyebrow,
html[data-ps-theme="dark"] .ps-auth-recovery .ps-eyebrow {
  color: #9dcdff;
}

.ps-auth-heading .ps-eyebrow i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ps-accent);
  box-shadow: 0 0 0 4px rgba(24, 201, 210, .10);
}

.ps-auth-heading h1,
.ps-auth-recovery h1 {
  margin: 9px 0 5px;
  color: var(--ps-auth-ink);
  font-size: clamp(1.52rem, 2.35vw, 1.94rem);
  line-height: 1.42;
  letter-spacing: -.018em;
}

.ps-auth-heading p,
.ps-auth-recovery header p {
  max-width: 52ch;
  margin: 0;
  color: var(--ps-auth-muted);
  font-size: .79rem;
  line-height: 1.82;
}

.ps-auth-copy--register,
p.ps-auth-copy--register {
  display: none;
}

.ps-auth-shell[data-ps-auth-mode="register"] .ps-auth-copy--login {
  display: none;
}

.ps-auth-shell[data-ps-auth-mode="register"] span.ps-auth-copy--register {
  display: inline;
}

.ps-auth-shell[data-ps-auth-mode="register"] p.ps-auth-copy--register {
  display: block;
}

.ps-auth-tabs {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  min-height: 48px;
  margin-block-end: 17px;
  padding: 4px;
  overflow: hidden;
  border: 1px solid var(--ps-auth-edge);
  border-radius: 15px;
  background: color-mix(in srgb, var(--ps-glass-surface-soft) 88%, transparent);
  box-shadow: inset 0 1px 0 var(--ps-glass-edge);
}

.ps-auth-tabs button {
  position: relative;
  z-index: 2;
  min-height: 38px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: var(--ps-auth-muted);
  font: inherit;
  font-size: .82rem;
  font-weight: 900;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.ps-auth-tabs > span {
  display: none !important;
}

body.ps-stage66-public-auth .ps-auth-tabs button.is-active {
  border-color: rgba(255, 255, 255, .18);
  background: var(--ps-primary-gradient);
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(0, 30, 69, .16);
  box-shadow: 0 8px 20px rgba(10, 115, 232, .21), inset 0 1px 0 rgba(255, 255, 255, .27);
}

/* Beat the historical dark component skin without re-enqueueing release layers. */
html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth .ps-auth-tabs button.is-active {
  border-color: rgba(255, 255, 255, .18) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(10, 115, 232, .21), inset 0 1px 0 rgba(255, 255, 255, .27) !important;
}

.ps-auth-panel[hidden],
.ps-otp-login [hidden] {
  display: none !important;
}

.ps-auth-panel.is-active {
  animation: ps-r6675-auth-enter .22s ease both;
}

.ps-otp-login,
.ps-otp-fields,
.ps-otp-verify,
.ps-otp-reset,
.ps-auth-password-form,
.ps-auth-email-recovery {
  display: grid;
  gap: 12px;
}

.ps-auth-field {
  display: grid;
  min-width: 0;
  align-content: start;
  gap: 6px;
  margin: 0;
  color: var(--ps-auth-ink);
  font-size: .78rem;
  font-weight: 800;
}

.ps-auth-field > span:first-child {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  min-height: 22px;
}

.ps-auth-field > span:first-child small,
.ps-auth-field > small,
.ps-auth-field-help {
  display: block;
  margin: 0;
  color: var(--ps-auth-muted);
  font-size: .64rem;
  font-weight: 500;
  line-height: 1.65;
}

.ps-auth-field [data-ps-field-error],
.ps-auth-field .ps-auth-field-error {
  display: block;
  min-height: 0;
  margin: 0;
  color: var(--ps-danger);
  font-size: .64rem;
  font-weight: 750;
  line-height: 1.65;
}

.ps-auth-field [data-ps-field-error]:empty,
.ps-auth-field .ps-auth-field-error:empty {
  display: none;
}

.ps-auth-field input,
.ps-auth-input-wrap {
  width: 100%;
  min-width: 0;
}

.ps-auth-field input {
  min-height: 49px;
  margin: 0;
  padding: 10px 13px;
  border: 1px solid color-mix(in srgb, var(--ps-auth-edge) 84%, var(--ps-r66-line));
  border-radius: 13px;
  outline: 0;
  background: var(--ps-auth-control);
  color: var(--ps-auth-ink);
  font: inherit;
  font-size: .88rem;
  font-weight: 650;
  box-shadow: inset 0 1px 2px rgba(19, 62, 82, .035);
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.ps-auth-field input::placeholder {
  color: color-mix(in srgb, var(--ps-auth-muted) 68%, transparent);
  font-weight: 500;
}

.ps-auth-field input:is(:focus, :focus-visible),
.ps-otp-code-cells input:is(:focus, :focus-visible) {
  border-color: var(--ps-accent);
  background: var(--ps-auth-control);
  box-shadow: var(--ps-focus-ring), 0 8px 20px rgba(10, 115, 232, .07);
}

.ps-auth-field input[aria-invalid="true"],
.ps-auth-field.has-error input,
.ps-otp-code-cells input[aria-invalid="true"] {
  border-color: var(--ps-danger);
  box-shadow: 0 0 0 3px var(--ps-danger-soft);
}

/* The historical dark component skin used !important white controls. Auth owns
 * its controls explicitly so dark text/background contrast cannot invert. */
html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth .ps-auth-card .ps-auth-field input {
  border-color: color-mix(in srgb, var(--ps-auth-edge) 84%, var(--ps-r66-line)) !important;
  background: var(--ps-auth-control) !important;
  color: var(--ps-auth-ink) !important;
  box-shadow: inset 0 1px 2px rgba(19, 62, 82, .035) !important;
  transition: border-color .16s ease, box-shadow .16s ease !important;
}

html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth .ps-auth-card .ps-auth-field input:is(:focus, :focus-visible) {
  border-color: var(--ps-accent) !important;
  background: var(--ps-auth-control) !important;
  box-shadow: var(--ps-focus-ring), 0 8px 20px rgba(10, 115, 232, .07) !important;
}

html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth .ps-auth-card .ps-auth-field input[aria-invalid="true"],
html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth .ps-auth-card .ps-auth-field.has-error input {
  border-color: var(--ps-danger) !important;
  box-shadow: 0 0 0 3px var(--ps-danger-soft) !important;
}

.ps-auth-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.ps-auth-input-wrap > input {
  flex: 1 1 auto;
}

.ps-password-toggle {
  position: absolute;
  z-index: 2;
  inset-inline-start: 7px;
  top: 50%;
  min-width: 50px;
  min-height: 34px;
  margin: 0;
  padding: 3px 7px;
  border: 1px solid var(--ps-auth-edge);
  border-radius: 9px;
  background: var(--ps-glass-surface-soft);
  color: var(--ps-primary-hover);
  font: inherit;
  font-size: .67rem;
  font-weight: 850;
  cursor: pointer;
  transform: translateY(-50%);
}

html[data-ps-theme="dark"] .ps-password-toggle {
  color: #a7d3ff;
}

.ps-auth-input-wrap:has(.ps-password-toggle) > input {
  padding-inline-start: 66px;
}

.ps-auth-submit {
  position: relative;
  width: 100%;
  min-height: 49px;
  margin: 1px 0 0;
  overflow: hidden;
  border-radius: 13px !important;
  font: inherit;
  font-size: .84rem;
  cursor: pointer;
}

.ps-auth-password-fallback {
  margin-block-start: 8px;
  border-top: 1px solid color-mix(in srgb, var(--ps-auth-edge) 72%, transparent);
}

.ps-auth-password-fallback summary {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  color: var(--ps-primary-hover);
  font-size: .73rem;
  font-weight: 850;
  cursor: pointer;
  list-style: none;
}

html[data-ps-theme="dark"] .ps-auth-password-fallback summary {
  color: #a7d3ff;
}

.ps-auth-password-fallback summary::-webkit-details-marker {
  display: none;
}

.ps-auth-password-fallback[open] summary span {
  transform: rotate(180deg);
}

.ps-auth-password-fallback.is-primary {
  margin-block-start: 0;
  border-top: 0;
}

.ps-auth-password-fallback.is-primary > summary {
  display: none;
}

.ps-auth-password-form {
  padding: 7px 0 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ps-auth-password-options,
.ps-otp-meta,
.ps-auth-alternate {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 13px;
}

.ps-auth-password-options,
.ps-auth-password-options label,
.ps-auth-password-options a,
.ps-otp-meta small,
.ps-otp-resend,
.ps-auth-back,
.ps-auth-alternate,
.ps-auth-return {
  color: var(--ps-auth-muted);
  font-size: .70rem;
}

.ps-auth-password-options label,
.ps-auth-password-options a {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
}

.ps-auth-password-options input {
  width: 17px;
  height: 17px;
  accent-color: var(--ps-primary);
}

.ps-auth-password-options a,
.ps-auth-alternate a,
.ps-auth-return,
.ps-auth-policy a,
.ps-otp-resend,
.ps-auth-back {
  color: var(--ps-primary-hover);
  font-weight: 800;
  text-decoration: none;
}

html[data-ps-theme="dark"] :where(
  .ps-auth-password-options a,
  .ps-auth-alternate a,
  .ps-auth-return,
  .ps-auth-policy a,
  .ps-otp-resend,
  .ps-auth-back
) {
  color: #a7d3ff;
}

.ps-otp-destination {
  padding: 8px 10px;
  border: 1px solid var(--ps-auth-edge);
  border-radius: 11px;
  background: var(--ps-glass-surface-soft);
  color: var(--ps-auth-muted);
  text-align: center;
  font-size: .73rem;
  direction: rtl;
}

.ps-otp-code-cells {
  display: grid;
  grid-template-columns: repeat(6, minmax(42px, 50px));
  justify-content: center;
  gap: 7px;
}

.ps-otp-code-cells input {
  width: 100%;
  min-width: 0;
  height: 50px;
  padding: 0;
  border: 1px solid var(--ps-auth-edge);
  border-radius: 12px;
  outline: 0;
  background: var(--ps-auth-control);
  color: var(--ps-auth-ink);
  text-align: center;
  font: 850 1.16rem/1 Tahoma, "Segoe UI", sans-serif;
  caret-color: var(--ps-accent);
}

.ps-otp-resend,
.ps-auth-back {
  min-height: 32px;
  padding: 4px 7px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: .70rem;
  cursor: pointer;
}

.ps-auth-back {
  justify-self: center;
}

.ps-otp-message {
  min-height: 0;
  margin: 0;
  padding: 0 3px;
  color: var(--ps-success);
  text-align: center;
  font-size: .70rem;
  font-weight: 700;
  line-height: 1.75;
}

.ps-otp-message:empty {
  display: none !important;
}

.ps-otp-message.is-error {
  color: var(--ps-danger);
}

.ps-auth-policy {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 12px;
  color: var(--ps-auth-muted);
  text-align: center;
  font-size: .65rem;
  line-height: 1.8;
}

/* Registration: explicit semantic grid ownership, no positional selectors. */
.ps-auth-register-form {
  display: grid;
  min-width: 0;
  gap: 10px 12px;
  padding-top: 1px;
}

.ps-auth-register-note {
  display: grid;
  gap: 3px;
  padding: 9px 11px;
  border: 1px solid var(--ps-auth-edge);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(10, 115, 232, .055), rgba(24, 201, 210, .045));
  color: var(--ps-auth-muted);
  font-size: .67rem;
  line-height: 1.72;
}

.ps-auth-register-note strong {
  color: var(--ps-auth-ink);
  font-size: .72rem;
}

.ps-auth-register-form .ps-auth-field--username input,
.ps-otp-login--register [data-ps-otp-username] {
  direction: ltr;
  text-align: left;
}

.ps-auth-register-form :where(.woocommerce-form-row, .form-row) {
  margin: 0;
}

.ps-auth-register-form .clear {
  display: none;
}

.ps-auth-register-form :where(.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) {
  margin: 0;
  color: var(--ps-auth-muted);
  font-size: .65rem;
  line-height: 1.75;
}

.ps-auth-register-form :where(.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) p {
  margin: 0;
}

.ps-auth-register-form :where(.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) a {
  color: var(--ps-primary-hover);
  text-underline-offset: 3px;
}

.ps-auth-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

@media (min-width: 901px) {
  .ps-auth-register-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "notice notice"
      "name username"
      "mobile email"
      "password password"
      "confirm confirm"
      "extensions extensions"
      "submit submit";
    align-items: start;
  }

  .ps-auth-register-form > .ps-auth-register-note { grid-area: notice; }
  .ps-auth-register-form > .ps-auth-field--name { grid-area: name; }
  .ps-auth-register-form > .ps-auth-field--username { grid-area: username; }
  .ps-auth-register-form > .ps-auth-field--mobile { grid-area: mobile; }
  .ps-auth-register-form > .ps-auth-field--email { grid-area: email; }
  .ps-auth-register-form > .ps-auth-field--password { grid-area: password; }
  .ps-auth-register-form > .ps-auth-field--password-confirm { grid-area: confirm; }
  .ps-auth-register-form > .ps-auth-register-submit { grid-area: submit; }

  .ps-auth-register-form > :where(
    .woocommerce-form-row,
    .form-row,
    .woocommerce-privacy-policy-text,
    .woocommerce-terms-and-conditions-wrapper
  ) {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .ps-auth-register-form > :where(.ps-auth-field--password, .ps-auth-field--password-confirm) {
    width: 100%;
    min-width: 0;
  }

  /* Real OTP registration uses the same semantic two-column rhythm. */
  .ps-otp-login--register .ps-otp-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "name username"
      "mobile email";
    align-items: start;
  }

  .ps-otp-login--register .ps-otp-fields > .ps-auth-field--name { grid-area: name; }
  .ps-otp-login--register .ps-otp-fields > .ps-auth-field--username { grid-area: username; }
  .ps-otp-login--register .ps-otp-fields > .ps-auth-field--mobile { grid-area: mobile; }
  .ps-otp-login--register .ps-otp-fields > .ps-auth-field--email { grid-area: email; }
  .ps-otp-login--register .ps-otp-fields > [data-ps-otp-request] { grid-column: 1 / -1; }

  .ps-otp-login--register .ps-otp-fields.no-email {
    grid-template-areas:
      "name username"
      "mobile mobile";
  }

  .ps-otp-login--register .ps-otp-fields.no-email > .ps-auth-field--mobile { grid-area: mobile; }
}

/* Lost/reset endpoints share the same palette and bounded glass contract. */
.ps-auth-recovery {
  width: min(570px, 100%);
  margin-inline: auto;
  padding: clamp(24px, 5vw, 43px);
  border: 1px solid var(--ps-auth-edge);
  border-radius: 25px;
  background: linear-gradient(145deg, var(--ps-glass-surface-strong), var(--ps-glass-surface-soft));
  color: var(--ps-auth-ink);
  box-shadow: var(--ps-glass-shadow);
  -webkit-backdrop-filter: blur(var(--ps-glass-blur)) saturate(118%);
  backdrop-filter: blur(var(--ps-glass-blur)) saturate(118%);
}

.ps-auth-recovery header {
  margin-block-end: 20px;
  text-align: center;
}

.ps-auth-success-mark {
  border-color: color-mix(in srgb, var(--ps-success) 30%, transparent);
  background: var(--ps-success-soft);
  color: var(--ps-success);
}

.ps-auth-availability {
  border-color: color-mix(in srgb, var(--ps-warning) 28%, transparent);
  background: var(--ps-warning-soft);
}

/* Compact Auth footer: the site header is the sole brand-logo owner on this route. */
.ps-auth-footer {
  border-top: 1px solid var(--ps-glass-line);
  background: color-mix(in srgb, var(--ps-glass-surface) 78%, transparent);
}

.ps-auth-footer-inner {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding-block: 8px;
}

.ps-auth-footer-brand {
  display: none;
}

.ps-auth-footer-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px 13px;
  color: var(--ps-auth-muted);
  font-size: .63rem;
}

.ps-auth-footer-meta a {
  color: var(--ps-primary-hover);
  font-weight: 800;
  text-decoration: none;
}

html[data-ps-theme="dark"] .ps-auth-footer-meta a {
  color: #a7d3ff;
}

/* First-party R66.75 visual binding. Registry/media remain functional owners. */
body.pcbshop-theme .ps-home-banners {
  border-color: rgba(10, 115, 232, .22);
  background: #071f35;
  box-shadow: 0 24px 68px rgba(4, 38, 69, .22), inset 0 1px 0 rgba(207, 240, 250, .11);
}

body.pcbshop-theme .ps-banner-slide,
body.pcbshop-theme .ps-banner-media {
  background: #071f35;
}

body.pcbshop-theme .ps-banner-eyebrow {
  border-color: rgba(24, 201, 210, .28);
  background: rgba(10, 115, 232, .27);
  color: #d8f8ff;
}

body.pcbshop-theme .ps-banner-controls button:is(:hover, :focus-visible) {
  border-color: rgba(24, 201, 210, .38);
  box-shadow: var(--ps-focus-ring);
}

body.pcbshop-theme .ps-home-pcb-hub::after {
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--ps-surface-elevated) 76%, transparent) 0 45%, color-mix(in srgb, var(--ps-surface-elevated) 94%, transparent) 100%),
    url("../images/home/bayat-banner-ic-programming-r66-75.webp") 42% center / cover no-repeat;
}

/* Dedicated mobile Auth composition, not a scaled desktop card. */
@media (max-width: 900px) {
  body.ps-stage66-public-auth :where(.ps-content-shell, .ps-page-article, .ps-auth-woo-shell) {
    width: min(600px, calc(100% - 20px));
  }

  body.ps-stage66-public-auth :where(main.ps-page-main, .ps-auth-main) {
    padding-block: 10px 22px !important;
  }

  body.ps-stage66-public-auth .ps-site-header.ps-distributor-header > .ps-container.ps-distributor-header-main.ps-header-no-search {
    min-height: 66px !important;
    height: 66px !important;
    padding-block: 5px !important;
    gap: 7px !important;
  }

  body.ps-stage66-public-auth .ps-site-header .ps-official-brand-logo {
    width: clamp(142px, 41vw, 174px) !important;
    max-width: 174px !important;
    height: 45px !important;
    overflow: hidden !important;
  }

  body.ps-stage66-public-auth .ps-site-header .ps-brand-logo-image {
    width: auto !important;
    max-width: 100% !important;
    height: 43px !important;
    max-height: 43px !important;
    object-fit: contain !important;
  }

  body.ps-stage66-public-auth .ps-site-header :where(.ps-header-action, .ps-menu-toggle) {
    width: 43px !important;
    min-width: 43px !important;
    height: 43px !important;
    min-height: 43px !important;
    flex-basis: 43px !important;
    border-radius: 13px !important;
  }

  .ps-auth-shell {
    display: block;
    min-height: 0;
    border-radius: 22px;
  }

  .ps-auth-story {
    display: none;
  }

  .ps-auth-card {
    min-height: 0;
    padding: 0 18px calc(20px + env(safe-area-inset-bottom));
    background: linear-gradient(155deg, var(--ps-glass-surface-strong), var(--ps-glass-surface-soft));
    -webkit-backdrop-filter: blur(9px) saturate(114%);
    backdrop-filter: blur(9px) saturate(114%);
  }

  .ps-auth-card::before {
    inset: 7px;
    border-radius: 15px;
  }

  .ps-auth-mobile-visual {
    position: relative;
    display: block;
    height: 86px;
    margin: 0 -18px 15px;
    overflow: hidden;
    border-bottom: 1px solid rgba(24, 201, 210, .16);
    background:
      linear-gradient(90deg, rgba(3, 30, 52, .86), rgba(4, 71, 92, .28)),
      url("../images/home/bayat-banner-pcb-manufacturing-mobile-r66-75.webp") center 49% / cover no-repeat;
  }

  .ps-auth-mobile-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 18%, color-mix(in srgb, var(--ps-glass-surface-strong) 88%, transparent) 100%);
  }

  .ps-auth-mobile-visual span {
    position: absolute;
    z-index: 1;
    inset: auto 18px 13px auto;
    width: 36px;
    height: 3px;
    border-radius: 999px;
    background: var(--ps-primary-gradient);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .13);
  }

  .ps-auth-heading {
    margin-block-end: 13px;
    text-align: center;
  }

  .ps-auth-heading .ps-eyebrow {
    display: none;
  }

  .ps-auth-heading h1 {
    margin-top: 0;
    font-size: 1.36rem;
  }

  .ps-auth-heading p {
    margin-inline: auto;
    font-size: .74rem;
    line-height: 1.72;
  }

  .ps-auth-tabs {
    margin-block-end: 13px;
  }

  .ps-auth-register-form,
  .ps-otp-login--register .ps-otp-fields {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: none;
    gap: 9px;
  }

  .ps-auth-register-form > *,
  .ps-otp-login--register .ps-otp-fields > * {
    grid-area: auto !important;
    grid-column: 1 / -1 !important;
  }

  .ps-auth-register-note {
    padding: 8px 10px;
  }

  body.ps-stage66-public-auth .ps-site-footer {
    padding-block-end: 0;
  }
}

@media (max-width: 700px) {
  body.ps-stage66-public-auth :where(.ps-content-shell, .ps-page-article, .ps-auth-woo-shell) {
    width: min(calc(100% - 14px),560px);
  }

  .ps-auth-card {
    padding-inline: 14px;
    padding-bottom: calc(17px + env(safe-area-inset-bottom));
  }

  .ps-auth-mobile-visual {
    height: 74px;
    margin-inline: -14px;
    margin-bottom: 12px;
  }

  .ps-auth-heading h1 {
    font-size: 1.29rem;
  }

  .ps-auth-heading p {
    font-size: .72rem;
  }

  .ps-auth-tabs {
    min-height: 45px;
    border-radius: 14px;
  }

  .ps-auth-tabs button {
    min-height: 36px;
    font-size: .78rem;
  }

  .ps-auth-field input {
    min-height: 48px;
    font-size: 16px;
  }

  .ps-otp-code-cells {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 5px;
  }

  .ps-otp-code-cells input {
    height: 47px;
    border-radius: 10px;
    font-size: 1.08rem;
  }

  .ps-auth-footer-inner {
    min-height: 44px;
    padding-block: 7px;
  }

  .ps-auth-footer-meta {
    gap: 5px 10px;
    font-size: .60rem;
  }

  body.pcbshop-theme .ps-home-pcb-hub::after {
    background:
      linear-gradient(180deg, color-mix(in srgb, var(--ps-surface-elevated) 84%, transparent) 0 42%, color-mix(in srgb, var(--ps-surface-elevated) 95%, transparent) 100%),
      url("../images/home/bayat-banner-ic-programming-mobile-r66-75.webp") 44% center / cover no-repeat;
  }
}

@media (max-width: 390px) {
  body.ps-stage66-public-auth :where(.ps-content-shell, .ps-page-article, .ps-auth-woo-shell) {
    width: calc(100% - 10px);
  }

  body.ps-stage66-public-auth .ps-site-header .ps-official-brand-logo {
    width: 134px !important;
  }

  .ps-auth-card {
    padding-inline: 11px;
  }

  .ps-auth-mobile-visual {
    height: 66px;
    margin-inline: -11px;
  }

  .ps-auth-heading h1 {
    font-size: 1.21rem;
  }

  .ps-auth-heading p,
  .ps-auth-register-note {
    font-size: .68rem;
  }

  .ps-auth-password-options {
    gap: 5px 8px;
  }

  .ps-otp-code-cells input {
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-auth-shell *,
  .ps-auth-recovery * {
    animation: none !important;
    transition: none !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  .ps-auth-card,
  .ps-auth-recovery,
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) :where(
    .ps-account-layout-nav,
    .ps-account-layout-content,
    .ps-account-panel,
    .ps-account-welcome
  ) {
    background: var(--ps-glass-surface-strong);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .ps-auth-card,
  .ps-auth-recovery {
    background: var(--ps-glass-surface-strong);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@keyframes ps-r6675-auth-enter {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: none; }
}

/* R66.87 — keep masked mobile visually LTR inside Persian OTP destination copy. */
.ps-otp-destination__mobile {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* source:release-auth-a-r66-145.css */
/* R66.145 consolidated cascade segment; source order preserved. */

/* source release-r66-76.css */
/* Stage66.52R66.76 — Auth responsive/cascade closure.
 * Scope is intentionally limited to public Auth. Global 900/901 scroll/menu ownership is untouched.
 */

/* Prevent the generic page/container !important rules from shrinking the Auth shell twice.
   Public Auth owns its route width explicitly. */
body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-content-shell,
body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-woo-shell.ps-auth-woo-shell {
  width: min(1120px, calc(100% - 32px)) !important;
  max-width: 1120px !important;
  margin-inline: auto !important;
}
body.pcbshop-theme.ps-stage66-public-auth .ps-page-article {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
  padding: 0 !important;
}
body.pcbshop-theme.ps-stage66-public-auth :where(.ps-auth-section, .ps-auth-content-card, .ps-entry-content) {
  width: 100%;
  max-width: none;
  min-width: 0;
}

/* Compact desktop/tablet Auth has its own breakpoint. This does NOT change the
   global menu/scroll 900/901 contract. At 901–1080 the form remains a roomy
   one-column card, avoiding the previous one-pixel split-panel cliff. */
@media (min-width: 901px) and (max-width: 1080px) {
  body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-content-shell,
  body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-woo-shell.ps-auth-woo-shell {
    width: min(720px, calc(100% - 32px)) !important;
    max-width: 720px !important;
  }

  .ps-auth-shell {
    display: block;
    min-height: 0;
    border-radius: 24px;
  }
  .ps-auth-story { display: none; }
  .ps-auth-card {
    min-height: 0;
    padding: 0 34px 30px;
  }
  .ps-auth-mobile-visual {
    position: relative;
    display: block;
    height: 96px;
    margin: 0 -34px 18px;
    overflow: hidden;
    border-bottom: 1px solid rgba(24, 201, 210, .16);
    background:
      linear-gradient(90deg, rgba(3, 30, 52, .86), rgba(4, 71, 92, .28)),
      url("../images/home/bayat-banner-pcb-manufacturing-mobile-r66-75.webp") center 49% / cover no-repeat;
  }
  .ps-auth-mobile-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 18%, color-mix(in srgb, var(--ps-glass-surface-strong) 88%, transparent) 100%);
  }
  .ps-auth-mobile-visual span {
    position: absolute;
    z-index: 1;
    inset: auto 34px 14px auto;
    width: 42px;
    height: 3px;
    border-radius: 999px;
    background: var(--ps-primary-gradient);
    box-shadow: 0 0 0 1px rgba(255,255,255,.13);
  }

  /* Keep registration/OTP single-column in the compact desktop band. */
  .ps-auth-register-form,
  .ps-otp-login--register .ps-otp-fields {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
  }
  .ps-auth-register-form > *,
  .ps-otp-login--register .ps-otp-fields > * {
    grid-area: auto !important;
    grid-column: 1 / -1 !important;
  }
}

/* Wide desktop owns the semantic two-column identity grid. Waiting until 1200px
   keeps each field comfortably wide after the story panel and card padding. */
@media (min-width: 901px) and (max-width: 1199px) {
  .ps-auth-register-form,
  .ps-otp-login--register .ps-otp-fields {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas: none !important;
  }
  .ps-auth-register-form > *,
  .ps-otp-login--register .ps-otp-fields > * {
    grid-area: auto !important;
    grid-column: 1 / -1 !important;
  }
}

@media (min-width: 1200px) {
  /* Align the paired Name/Username blocks despite Username helper copy. */
  .ps-auth-register-form > :where(.ps-auth-field--name, .ps-auth-field--username),
  .ps-otp-login--register .ps-otp-fields > :where(.ps-auth-field--name, .ps-auth-field--username) {
    min-height: 120px;
  }
}

/* Mobile public Auth: one outer width owner, then 100% descendants. This beats
   generic body:not(.home) .ps-page-article !important without global side-effects. */
@media (max-width: 900px) {
  body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-content-shell,
  body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-woo-shell.ps-auth-woo-shell {
    width: min(620px, calc(100% - 14px)) !important;
    max-width: 620px !important;
    margin-inline: auto !important;
  }
  body.pcbshop-theme.ps-stage66-public-auth .ps-page-article {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 390px) {
  body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-content-shell,
  body.pcbshop-theme.ps-stage66-public-auth .ps-container.ps-woo-shell.ps-auth-woo-shell {
    width: calc(100% - 10px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-auth-shell,
  .ps-auth-card,
  .ps-auth-mobile-visual { transition: none !important; }
}

/* Account skin has an intentional high-specificity mobile article padding owner.
   Public Auth is a dedicated edge-to-edge card surface and must override it. */
@media (max-width: 900px) {
  html[data-ps-theme][data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth .ps-page-article {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding: 0 !important;
  }
}

/* source release-r66-77.css */
/* Stage66.52R66.77 — Auth visual polish + OTP ownership guard.
 * Scope: public Auth surface only. Global menu/scroll/order contracts stay untouched.
 */

/* Prefer the cleaner manufacturing hero instead of the muddy top strip look. */
body.ps-stage66-public-auth .ps-auth-story {
  background:
    linear-gradient(140deg, rgba(1, 18, 33, .86) 0%, rgba(4, 42, 63, .76) 48%, rgba(4, 74, 96, .54) 100%),
    url("../images/home/bayat-banner-pcb-manufacturing-r66-75.webp") 33% center / cover no-repeat;
}

body.ps-stage66-public-auth .ps-auth-story::before {
  background:
    radial-gradient(circle at 16% 14%, rgba(24, 201, 210, .16), transparent 29%),
    linear-gradient(180deg, rgba(2, 18, 31, .04) 12%, rgba(2, 20, 33, .72) 100%);
}

/* Auth password rows must remain full-width on every viewport. */
body.ps-stage66-public-auth :is(.ps-auth-password-form, .ps-otp-reset) {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) > * {
  min-width: 0;
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-auth-field > .ps-auth-input-wrap {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-auth-input-wrap > input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding-inline-start: 86px;
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-password-toggle {
  inset-inline-start: 8px;
  min-width: 64px;
  min-height: 40px;
  padding-inline: 10px;
  border-radius: 11px;
  font-size: .72rem;
  line-height: 1;
}

body.ps-stage66-public-auth .ps-auth-password-form .ps-auth-field,
body.ps-stage66-public-auth .ps-auth-register-form > :where(.ps-auth-field--password, .ps-auth-field--password-confirm) {
  width: 100%;
  min-width: 0;
}

/* Compact/wide desktop auth card rhythm. */
@media (min-width: 901px) {
  body.ps-stage66-public-auth .ps-auth-card {
    padding-block: 32px;
  }

  body.ps-stage66-public-auth .ps-auth-heading {
    margin-block-end: 14px;
  }

  body.ps-stage66-public-auth .ps-auth-heading p {
    max-width: 46ch;
  }
}

/* Replace the vague mobile strip with a branded compact header. */
@media (max-width: 1080px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 124px;
    margin-bottom: 16px;
    border-bottom: 1px solid rgba(24, 201, 210, .14);
    background:
      linear-gradient(98deg, rgba(2, 27, 46, .92) 0%, rgba(3, 47, 69, .82) 44%, rgba(6, 77, 95, .30) 100%),
      url("../images/home/bayat-banner-pcb-manufacturing-r66-75.webp") 43% center / cover no-repeat;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 14% 18%, rgba(24, 201, 210, .16), transparent 28%),
      linear-gradient(180deg, rgba(2, 14, 24, .08) 0%, rgba(2, 18, 30, .20) 45%, rgba(2, 18, 30, .52) 100%);
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 3px;
    width: min(100%, 29rem);
    padding: 0 18px 14px;
    color: #f1fbff;
    text-align: right;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner em {
    display: inline-flex;
    justify-self: start;
    align-items: center;
    min-height: 24px;
    padding: 2px 9px;
    border: 1px solid rgba(222, 248, 255, .18);
    border-radius: 999px;
    background: rgba(8, 35, 54, .58);
    color: #e8fbff;
    font-style: normal;
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .02em;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner strong {
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.55;
    font-weight: 900;
    text-shadow: 0 1px 1px rgba(0, 14, 27, .34);
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner small {
    max-width: 30ch;
    color: #e0eef6;
    font-size: .70rem;
    font-weight: 600;
    line-height: 1.72;
  }

  body.ps-stage66-public-auth .ps-auth-card {
    padding-top: 0;
  }
}

@media (max-width: 900px) {
  body.ps-stage66-public-auth .ps-auth-card {
    padding-inline: 16px;
    padding-bottom: calc(18px + env(safe-area-inset-bottom));
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    height: 118px;
    margin-inline: -16px;
  }

  body.ps-stage66-public-auth .ps-auth-heading {
    margin-block-end: 12px;
  }

  body.ps-stage66-public-auth .ps-auth-heading h1 {
    font-size: 1.40rem;
  }

  body.ps-stage66-public-auth .ps-auth-heading p {
    max-width: 32ch;
    font-size: .74rem;
  }

  body.ps-stage66-public-auth .ps-auth-tabs {
    margin-block-end: 12px;
  }
}

@media (max-width: 700px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    height: 110px;
    margin-inline: -14px;
    margin-bottom: 13px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    padding-inline: 14px;
    padding-bottom: 12px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner strong {
    font-size: .94rem;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner small {
    font-size: .68rem;
  }

  body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-auth-input-wrap > input {
    min-height: 50px;
    padding-inline-start: 82px;
  }

  body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-password-toggle {
    min-width: 60px;
    min-height: 38px;
  }
}

@media (max-width: 390px) {
  body.ps-stage66-public-auth .ps-auth-card {
    padding-inline: 12px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    height: 100px;
    margin-inline: -12px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    gap: 2px;
    padding-inline: 12px;
    padding-bottom: 11px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner strong {
    font-size: .88rem;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner small {
    display: none;
    font-size: .66rem;
  }

  body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-auth-input-wrap > input {
    padding-inline-start: 78px;
  }

  body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset) .ps-password-toggle {
    min-width: 56px;
    padding-inline: 8px;
    font-size: .68rem;
  }
}

/* source release-r66-78.css */
/* Stage66.52R66.78 — Auth final polish/backcheck closure.
 * Scope: public customer Auth only. No global scroll/menu/order geometry ownership.
 * Visual ideas are selectively adapted from the supplied Auth/Glass references:
 * bounded translucent layers, a restrained specular rim and compact glass caption.
 */

body.ps-stage66-public-auth {
  --ps-auth-r78-rim: rgba(255, 255, 255, .46);
  --ps-auth-r78-rim-soft: rgba(185, 230, 244, .24);
  --ps-auth-r78-shadow: 0 22px 54px rgba(25, 78, 104, .11), 0 4px 14px rgba(22, 74, 98, .055);
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth {
  --ps-auth-r78-rim: rgba(214, 244, 252, .12);
  --ps-auth-r78-rim-soft: rgba(127, 194, 215, .16);
  --ps-auth-r78-shadow: 0 22px 58px rgba(0, 8, 15, .32), 0 4px 14px rgba(0, 8, 15, .22);
}

/* One coherent, bounded glass shell: fine rim rather than a heavy dark outline. */
body.ps-stage66-public-auth .ps-auth-shell {
  border-color: color-mix(in srgb, var(--ps-auth-edge) 72%, var(--ps-auth-r78-rim-soft));
  box-shadow: var(--ps-auth-r78-shadow), inset 0 1px 0 var(--ps-auth-r78-rim);
}

body.ps-stage66-public-auth .ps-auth-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 1px;
  border-radius: inherit;
  pointer-events: none;
  background:
    linear-gradient(118deg, rgba(255,255,255,.20), transparent 24% 73%, rgba(24,201,210,.055)),
    linear-gradient(180deg, rgba(255,255,255,.11), transparent 17%);
  -webkit-mask: linear-gradient(#000, transparent 48%);
  mask: linear-gradient(#000, transparent 48%);
  opacity: .62;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-card::after {
  opacity: .28;
}

body.ps-stage66-public-auth .ps-auth-card > * {
  position: relative;
  z-index: 1;
}

/* Desktop story: keep the real engineering image visible instead of burying it. */
@media (min-width: 1081px) {
  body.ps-stage66-public-auth .ps-auth-story {
    background:
      linear-gradient(150deg, rgba(2, 20, 34, .70) 0%, rgba(3, 34, 51, .58) 48%, rgba(3, 59, 76, .48) 100%),
      url("../images/home/bayat-auth-debug-lab-r66-75.webp") center 63% / cover no-repeat;
  }

  body.ps-stage66-public-auth .ps-auth-story::before {
    background:
      radial-gradient(circle at 18% 12%, rgba(24, 201, 210, .18), transparent 31%),
      linear-gradient(180deg, rgba(2, 18, 31, .02) 8%, rgba(2, 18, 31, .19) 48%, rgba(2, 18, 31, .72) 100%);
  }

  body.ps-stage66-public-auth .ps-auth-story-copy,
  body.ps-stage66-public-auth .ps-auth-benefits {
    text-shadow: 0 1px 2px rgba(0, 12, 22, .28);
  }
}

/* All Auth inputs now share one geometry; password never looks like a smaller control. */
body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-field input {
  width: 100%;
  min-width: 0;
  min-height: 52px !important;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.52), rgba(255,255,255,.22)),
    var(--ps-auth-control) !important;
  box-shadow:
    inset 0 1px 2px rgba(18, 66, 89, .035),
    inset 0 1px 0 rgba(255,255,255,.42) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-field input {
  background:
    linear-gradient(180deg, rgba(255,255,255,.025), rgba(255,255,255,.008)),
    var(--ps-auth-control) !important;
  box-shadow: inset 0 1px 0 rgba(218, 246, 252, .045) !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-field input:is(:focus, :focus-visible) {
  border-color: var(--ps-primary) !important;
  box-shadow: 0 0 0 3px rgba(10, 115, 232, .13), 0 9px 22px rgba(10, 115, 232, .08) !important;
}

body.ps-stage66-public-auth :where(.ps-auth-field--username, .ps-auth-field--mobile, .ps-auth-field--email) > input,
body.ps-stage66-public-auth .ps-auth-field--mobile .ps-auth-input-wrap > input {
  direction: ltr;
  text-align: left;
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset, .ps-auth-email-recovery) .ps-auth-field > .ps-auth-input-wrap {
  display: flex;
  width: 100%;
  min-width: 0;
  align-items: center;
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset, .ps-auth-email-recovery) .ps-auth-input-wrap > input {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 52px !important;
  padding-inline-start: 88px;
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset, .ps-auth-email-recovery) .ps-password-toggle {
  inset-inline-start: 7px;
  min-width: 66px;
  min-height: 40px;
  padding-inline: 10px;
  border-color: color-mix(in srgb, var(--ps-auth-edge) 78%, transparent);
  border-radius: 11px;
  background: color-mix(in srgb, var(--ps-glass-surface-strong) 86%, transparent);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34);
}

/* Pair geometry in wide OTP registration: equal title/input/helper rhythm. */
@media (min-width: 1200px) {
  body.ps-stage66-public-auth .ps-otp-login--register .ps-otp-fields > :where(.ps-auth-field--mobile, .ps-auth-field--email) {
    min-height: 108px;
  }
}

/* Mobile/compact Auth is intentionally designed, not just the desktop story hidden. */
@media (max-width: 1080px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    position: relative;
    display: flex;
    align-items: flex-end;
    height: 138px;
    margin-bottom: 15px;
    overflow: hidden;
    border-bottom: 1px solid rgba(24, 201, 210, .15);
    background:
      linear-gradient(94deg, rgba(2, 18, 31, .22), rgba(2, 24, 39, .06) 56%, rgba(0, 15, 26, .18)),
      url("../images/home/bayat-auth-debug-lab-r66-75.webp") center 66% / cover no-repeat;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 14% 12%, rgba(24, 201, 210, .12), transparent 31%),
      linear-gradient(180deg, rgba(0, 14, 25, .01) 0 43%, rgba(0, 17, 29, .18) 70%, rgba(0, 17, 29, .54) 100%);
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    position: relative;
    z-index: 1;
    display: grid;
    gap: 2px;
    width: fit-content;
    max-width: calc(100% - 28px);
    margin: 0 14px 12px 0;
    padding: 8px 11px;
    border: 1px solid rgba(222, 248, 255, .20);
    border-radius: 13px;
    background: rgba(2, 28, 45, .48);
    -webkit-backdrop-filter: blur(7px) saturate(120%);
    backdrop-filter: blur(7px) saturate(120%);
    box-shadow: 0 8px 24px rgba(0, 14, 25, .18), inset 0 1px 0 rgba(255,255,255,.13);
    color: #f3fbff;
    text-align: right;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner em {
    color: #bfeff7;
    font-style: normal;
    font-size: .61rem;
    font-weight: 850;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner strong {
    color: #fff;
    font-size: .94rem;
    font-weight: 900;
    line-height: 1.5;
    text-shadow: 0 1px 2px rgba(0, 10, 20, .30);
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner small {
    max-width: 31ch;
    color: #dbeaf2;
    font-size: .67rem;
    font-weight: 550;
    line-height: 1.62;
  }

  body.ps-stage66-public-auth .ps-auth-card {
    padding-top: 0;
  }
}

@media (max-width: 700px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    height: 126px;
    margin-bottom: 12px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    max-width: calc(100% - 22px);
    margin: 0 11px 10px 0;
    padding: 7px 10px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner small {
    display: none;
  }

  body.ps-stage66-public-auth .ps-auth-heading h1 {
    font-size: 1.34rem;
  }

  body.ps-stage66-public-auth .ps-auth-heading p {
    max-width: 34ch;
  }
}

@media (max-width: 390px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    height: 116px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    margin-inline-end: 9px;
    margin-bottom: 9px;
    padding: 6px 9px;
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner strong {
    font-size: .87rem;
  }

  body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset, .ps-auth-email-recovery) .ps-auth-input-wrap > input {
    padding-inline-start: 82px;
  }

  body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-reset, .ps-auth-email-recovery) .ps-password-toggle {
    min-width: 60px;
    min-height: 38px;
    font-size: .69rem;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    background: rgba(2, 28, 45, .88);
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

/* source release-r66-80.css */
/* Stage66.52R66.80 — Auth password parity + single reveal owner + glass polish.
 * Public Auth only. No scroll/menu/order ownership changes.
 */

body.ps-stage66-public-auth {
  --ps-auth-r80-glass: color-mix(in srgb, var(--ps-glass-surface-strong) 78%, transparent);
  --ps-auth-r80-glass-soft: color-mix(in srgb, var(--ps-glass-surface-soft) 82%, transparent);
  --ps-auth-r80-edge: color-mix(in srgb, var(--ps-auth-edge) 76%, rgba(24,201,210,.22));
  --ps-auth-r80-highlight: rgba(255,255,255,.52);
  --ps-auth-r80-shadow: 0 24px 64px rgba(13,66,94,.12), 0 8px 24px rgba(8,74,103,.07);
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth {
  --ps-auth-r80-glass: color-mix(in srgb, var(--ps-glass-surface-strong) 86%, transparent);
  --ps-auth-r80-glass-soft: color-mix(in srgb, var(--ps-glass-surface-soft) 88%, transparent);
  --ps-auth-r80-edge: color-mix(in srgb, var(--ps-auth-edge) 80%, rgba(24,201,210,.16));
  --ps-auth-r80-highlight: rgba(220,248,255,.10);
  --ps-auth-r80-shadow: 0 26px 68px rgba(0,7,14,.38), 0 8px 24px rgba(0,7,14,.24);
}

/* More deliberate liquid-glass shell, but bounded to Auth so scroll/layout stays stable. */
body.ps-stage66-public-auth .ps-auth-shell {
  border: 1px solid var(--ps-auth-r80-edge) !important;
  background:
    radial-gradient(70rem 28rem at 92% -8%, rgba(24,201,210,.075), transparent 60%),
    linear-gradient(145deg, var(--ps-auth-r80-glass), var(--ps-auth-r80-glass-soft)) !important;
  box-shadow:
    var(--ps-auth-r80-shadow),
    inset 0 1px 0 var(--ps-auth-r80-highlight),
    inset 0 -1px 0 rgba(10,115,232,.045) !important;
}

body.ps-stage66-public-auth .ps-auth-shell::after {
  box-shadow:
    inset 0 1px 0 var(--ps-auth-r80-highlight),
    inset 1px 0 0 rgba(255,255,255,.08),
    inset -1px 0 0 rgba(24,201,210,.045) !important;
}

body.ps-stage66-public-auth .ps-auth-card {
  background:
    radial-gradient(34rem 18rem at 96% 2%, rgba(24,201,210,.055), transparent 64%),
    linear-gradient(155deg, var(--ps-auth-r80-glass), var(--ps-auth-r80-glass-soft)) !important;
  -webkit-backdrop-filter: blur(13px) saturate(122%);
  backdrop-filter: blur(13px) saturate(122%);
}

body.ps-stage66-public-auth .ps-auth-tabs {
  border-color: color-mix(in srgb, var(--ps-auth-r80-edge) 72%, transparent) !important;
  background: color-mix(in srgb, var(--ps-auth-r80-glass-soft) 84%, transparent) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    0 8px 22px rgba(15,74,101,.055);
}

body.ps-stage66-public-auth :where(.ps-auth-password-form, .ps-auth-register-form, .ps-otp-login, .ps-auth-email-recovery) {
  border-color: color-mix(in srgb, var(--ps-auth-r80-edge) 72%, transparent) !important;
  background:
    linear-gradient(155deg, color-mix(in srgb, var(--ps-auth-r80-glass) 88%, transparent), color-mix(in srgb, var(--ps-auth-r80-glass-soft) 90%, transparent)) !important;
  box-shadow:
    0 14px 34px rgba(20,78,102,.07),
    inset 0 1px 0 rgba(255,255,255,.34) !important;
}

/*
 * WooCommerce may wrap password inputs at runtime as:
 * .ps-auth-input-wrap > .password-input > input + .show-password-input
 * Previous rules only targeted a direct child input, so production became narrower
 * even though fixture tests looked correct. Own both DOM shapes explicitly.
 */
body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-field > .ps-auth-input-wrap {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  align-items: center !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  margin: 0 !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > input,
body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input > input {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: 52px !important;
  margin: 0 !important;
  padding-inline-start: 90px !important;
  padding-inline-end: 14px !important;
  border-radius: 14px !important;
  box-sizing: border-box !important;
}

/* Keep exactly one password-reveal control: Bayat text button owns this UX. */
body.ps-stage66-public-auth .ps-auth-input-wrap .show-password-input,
body.ps-stage66-public-auth .ps-auth-input-wrap .show-password-input::before,
body.ps-stage66-public-auth .ps-auth-input-wrap .show-password-input::after {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  content: none !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
  position: absolute !important;
  z-index: 4 !important;
  inset-inline-start: 7px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  min-width: 68px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding-inline: 11px !important;
  border: 1px solid color-mix(in srgb, var(--ps-auth-r80-edge) 84%, transparent) !important;
  border-radius: 11px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.06)),
    color-mix(in srgb, var(--ps-auth-r80-glass) 90%, transparent) !important;
  color: var(--ps-primary-hover) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.34), 0 4px 12px rgba(13,75,103,.055) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
  color: #a9d6ff !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.012)),
    color-mix(in srgb, var(--ps-auth-r80-glass) 94%, transparent) !important;
}

/* Cleaner focus: one full-width ring, no second visual owner. */
html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > input:is(:focus,:focus-visible),
html[data-ps-theme] body.pcbshop-theme.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input > input:is(:focus,:focus-visible) {
  border-color: var(--ps-primary) !important;
  box-shadow: 0 0 0 3px rgba(10,115,232,.13), 0 10px 24px rgba(10,115,232,.075) !important;
}

/* Improve the compact engineering visual without darkening the PCB into a strip. */
@media (max-width: 1080px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual {
    border-bottom-color: rgba(24,201,210,.18) !important;
    box-shadow: inset 0 -1px 0 rgba(255,255,255,.12);
  }

  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    border-color: rgba(222,248,255,.24) !important;
    background: rgba(2,28,45,.42) !important;
    -webkit-backdrop-filter: blur(8px) saturate(126%);
    backdrop-filter: blur(8px) saturate(126%);
    box-shadow: 0 10px 26px rgba(0,14,25,.16), inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
}

@media (max-width: 700px) {
  body.ps-stage66-public-auth .ps-auth-card {
    -webkit-backdrop-filter: blur(10px) saturate(118%);
    backdrop-filter: blur(10px) saturate(118%);
  }

  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > input,
  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input > input {
    height: 52px !important;
    min-height: 52px !important;
    padding-inline-start: 86px !important;
  }

  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
    min-width: 64px !important;
    min-height: 40px !important;
    padding-inline: 9px !important;
  }
}

@media (max-width: 390px) {
  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > input,
  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input > input {
    padding-inline-start: 82px !important;
  }

  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
    min-width: 60px !important;
    font-size: .69rem !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.ps-stage66-public-auth .ps-auth-card,
  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ps-stage66-public-auth .ps-password-toggle,
  body.ps-stage66-public-auth .ps-auth-tabs,
  body.ps-stage66-public-auth .ps-auth-shell {
    transition: none !important;
  }
}

/* source:release-base-b-r66-145.css */
/* R66.145 consolidated cascade segment; source order preserved. */

/* source release-r66-81.css */
/* Stage66.52R66.81 — mobile dock primary-label visibility + gate copy closure.
 * Scope intentionally limited to the mobile command dock. No order/scroll/menu behavior changes.
 */
@media (max-width: 900px) {
  /* Keep the dock itself a neutral liquid-glass capsule so the primary action is distinct. */
  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock.ps-mobile-dock {
    background:
      linear-gradient(155deg, color-mix(in srgb, var(--ps-glass-surface-strong) 88%, transparent), color-mix(in srgb, var(--ps-glass-surface-soft) 82%, transparent)) !important;
    border-color: color-mix(in srgb, var(--ps-glass-line) 86%, rgba(24,201,210,.13)) !important;
    box-shadow:
      0 16px 42px rgba(4,22,34,.18),
      inset 0 1px 0 rgba(255,255,255,.56) !important;
  }

  /*
   * Historical CSS painted BOTH the primary anchor and its icon tile blue.
   * That created the double-blue block visible in production and visually swallowed the label.
   * The outer primary cell is now transparent; only the icon tile owns the action gradient.
   */
  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock > a.is-primary {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    min-height: 68px !important;
    margin-top: -18px !important;
    padding: 3px 2px 2px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: transparent !important;
    color: var(--ps-primary-hover) !important;
    box-shadow: none !important;
    transform: translateY(-2px) !important;
    overflow: visible !important;
  }

  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock > a.is-primary > span {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    border: 1px solid rgba(255,255,255,.30) !important;
    border-radius: 15px !important;
    background: var(--ps-primary-gradient) !important;
    color: #fff !important;
    box-shadow:
      0 10px 22px rgba(10,115,232,.25),
      inset 0 1px 0 rgba(255,255,255,.30) !important;
  }

  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock > a.is-primary > span > svg {
    width: 22px !important;
    height: 22px !important;
    color: #fff !important;
    stroke: currentColor !important;
  }

  /* The PCB action label must always be visibly rendered below the icon. */
  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock > a.is-primary > small {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 15px !important;
    margin: 0 !important;
    padding: 0 1px !important;
    overflow: hidden !important;
    color: var(--ps-primary-hover) !important;
    font-size: .65rem !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    text-shadow: none !important;
    white-space: nowrap !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html[data-ps-theme="dark"] body.pcbshop-theme #ps-mobile-dock > a.is-primary > small {
    color: #a9d6ff !important;
  }

  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock > a.is-primary:is(:hover, :focus-visible, :active) {
    background: rgba(10,115,232,.06) !important;
    color: var(--ps-primary-hover) !important;
    box-shadow: inset 0 0 0 1px rgba(10,115,232,.10) !important;
  }

  html[data-ps-theme="dark"] body.pcbshop-theme #ps-mobile-dock > a.is-primary:is(:hover, :focus-visible, :active) {
    background: rgba(24,201,210,.07) !important;
  }
}

@media (max-width: 390px) {
  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock > a.is-primary > small {
    font-size: .61rem !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  html[data-ps-theme] body.pcbshop-theme #ps-mobile-dock.ps-mobile-dock {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

/* source:release-auth-b-r66-145.css */
/* R66.145 consolidated cascade segment; source order preserved. */

/* source release-r66-82.css */
/* Stage66.52R66.82 — Auth control UX closure.
 * Scope: public authentication surfaces only.
 * Owns: remember-me checkbox paint and the single eye-only password reveal control.
 * No order, dock, menu, payment, quote, upload, SEO or scroll ownership changes.
 */

/* --------------------------------------------------------------------------
 * Password reveal: one conventional eye control, physically LEFT in RTL/LTR.
 * WooCommerce's injected native reveal remains suppressed by R66.80.
 * -------------------------------------------------------------------------- */
body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap {
  position: relative !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > input,
body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input > input {
  padding-left: 58px !important;
  padding-right: 14px !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
  position: absolute !important;
  z-index: 5 !important;
  inset: auto auto auto 8px !important;
  top: 50% !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: color-mix(in srgb, var(--ps-auth-ink) 74%, var(--ps-primary) 26%) !important;
  box-shadow: none !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle:is(:hover, :focus-visible) {
  background: color-mix(in srgb, var(--ps-primary) 9%, transparent) !important;
  color: var(--ps-primary) !important;
}

body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle:focus-visible {
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(10,115,232,.14) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
  color: #b8d8ef !important;
  background: transparent !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle:is(:hover, :focus-visible) {
  background: rgba(24,201,210,.10) !important;
  color: #9fe9ef !important;
}

.ps-password-toggle__icon,
.ps-password-toggle__eye {
  display: block;
  width: 22px;
  height: 22px;
}

.ps-password-toggle__eye {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.ps-password-toggle__eye--hide {
  display: none;
}

.ps-password-toggle[aria-pressed="true"] .ps-password-toggle__eye--show,
.ps-password-toggle.is-password-visible .ps-password-toggle__eye--show {
  display: none;
}

.ps-password-toggle[aria-pressed="true"] .ps-password-toggle__eye--hide,
.ps-password-toggle.is-password-visible .ps-password-toggle__eye--hide {
  display: block;
}

/* --------------------------------------------------------------------------
 * Remember me: fully-owned custom checkbox so all four edges remain visible.
 * -------------------------------------------------------------------------- */
body.ps-stage66-public-auth .ps-auth-password-options label {
  gap: 8px !important;
  cursor: pointer;
  user-select: none;
}

body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: inline-grid !important;
  place-content: center !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  min-height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid color-mix(in srgb, var(--ps-auth-ink) 42%, var(--ps-auth-edge) 58%) !important;
  border-radius: 6px !important;
  outline: 0 !important;
  background-color: color-mix(in srgb, var(--ps-auth-control) 94%, transparent) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 13px 13px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.52), 0 2px 7px rgba(13,66,94,.045) !important;
  vertical-align: middle !important;
  cursor: pointer !important;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .12s ease !important;
}

body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"]:hover {
  border-color: color-mix(in srgb, var(--ps-primary) 72%, var(--ps-auth-edge) 28%) !important;
}

body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"]:focus-visible {
  border-color: var(--ps-primary) !important;
  box-shadow: 0 0 0 3px rgba(10,115,232,.14), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"]:checked {
  border-color: #0A73E8 !important;
  background-color: #0A73E8 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.2 10.4 8 14.1 15.8 6.2' fill='none' stroke='%23fff' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  box-shadow: 0 5px 13px rgba(10,115,232,.18), inset 0 1px 0 rgba(255,255,255,.24) !important;
}

body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"]:active {
  transform: scale(.94);
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"] {
  border-color: rgba(190,222,237,.56) !important;
  background-color: rgba(7,34,49,.88) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 2px 8px rgba(0,0,0,.16) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"]:checked {
  border-color: #18C9D2 !important;
  background-color: #0A73E8 !important;
}

@media (max-width: 700px) {
  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-password-toggle {
    inset: auto auto auto 7px !important;
    top: 50% !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > input,
  body.ps-stage66-public-auth :where(.ps-auth-card, .ps-auth-recovery) .ps-auth-input-wrap > .password-input > input {
    padding-left: 56px !important;
    padding-right: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ps-stage66-public-auth .ps-auth-password-options input[type="checkbox"] {
    transition: none !important;
  }
}

/* source release-r66-88.css */
/* Stage66.52R66.88 — Public Auth scroll/compositor paint stability closure.
 * Scope: public logged-out authentication surfaces only.
 * Goal: keep the R66.80/R66.82 visual language while removing nested compositor
 * layers that can produce white/blank repaint tiles during bidirectional scroll
 * on Chromium/Android and some desktop GPU paths.
 */

/* --------------------------------------------------------------------------
 * 1) Public Auth owns a static ambient background. The global distributor shell
 * uses fixed animated body pseudo-elements; combining those with nested glass
 * and masks is a known high-cost repaint path. Auth already has its own radial
 * background, so these fixed compositor layers are unnecessary here.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth::before,
body.ps-stage66-public-auth::after {
  content: none !important;
  animation: none !important;
  filter: none !important;
  opacity: 0 !important;
  transform: none !important;
  will-change: auto !important;
}

/* --------------------------------------------------------------------------
 * 2) The Woo Auth wrapper still carries .ps-glass-surface from the generic
 * shell. Neutralize its pointer-following/specular pseudo layers and isolation;
 * the actual Auth shell below is the sole visual owner.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth .ps-auth-content-card.ps-glass-surface,
body.ps-stage66-public-auth .ps-auth-section,
body.ps-stage66-public-auth .ps-auth-woo-shell,
body.ps-stage66-public-auth .ps-entry-content {
  isolation: auto !important;
  overflow: visible !important;
  contain: none !important;
  content-visibility: visible !important;
  will-change: auto !important;
  transform: none !important;
  filter: none !important;
  perspective: none !important;
  backface-visibility: visible !important;
}

body.ps-stage66-public-auth .ps-auth-content-card.ps-glass-surface::before,
body.ps-stage66-public-auth .ps-auth-content-card.ps-glass-surface::after {
  content: none !important;
  display: none !important;
  animation: none !important;
  filter: none !important;
  opacity: 0 !important;
  transform: none !important;
  mix-blend-mode: normal !important;
}

/* --------------------------------------------------------------------------
 * 3) Keep long Auth content in normal document paint flow. This mirrors the
 * proven PCB-form paint-stability contract, but is intentionally Auth-scoped.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth :where(
  .ps-auth-shell,
  .ps-auth-story,
  .ps-auth-card,
  .ps-auth-heading,
  .ps-auth-tabs,
  .ps-auth-panel,
  .ps-auth-password-fallback,
  .ps-auth-password-form,
  .ps-auth-register-form,
  .ps-auth-recovery,
  .ps-auth-email-recovery,
  .ps-otp-login,
  .ps-otp-fields,
  .ps-otp-step,
  .ps-auth-policy
) {
  contain: none !important;
  content-visibility: visible !important;
  will-change: auto !important;
  filter: none !important;
  perspective: none !important;
  backface-visibility: visible !important;
}

body.ps-stage66-public-auth .ps-auth-shell {
  isolation: auto !important;
  transform: none !important;
}

/* --------------------------------------------------------------------------
 * 4) Remove nested live backdrop sampling from scrolling Auth panels. The same
 * glass depth is reproduced with bounded static translucent gradients/shadows,
 * avoiding re-sampling the viewport on every scroll tile.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth .ps-auth-card,
body.ps-stage66-public-auth .ps-auth-recovery,
body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

body.ps-stage66-public-auth .ps-auth-card {
  background:
    radial-gradient(34rem 18rem at 96% 2%, rgba(24,201,210,.06), transparent 64%),
    linear-gradient(155deg, rgba(255,255,255,.975), rgba(239,248,252,.94)) !important;
  box-shadow:
    0 24px 64px rgba(13,66,94,.11),
    0 8px 24px rgba(8,74,103,.065),
    inset 0 1px 0 rgba(255,255,255,.72) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-card {
  background:
    radial-gradient(34rem 18rem at 96% 2%, rgba(24,201,210,.055), transparent 64%),
    linear-gradient(155deg, rgba(9,38,52,.985), rgba(7,30,43,.97)) !important;
  box-shadow:
    0 26px 68px rgba(0,7,14,.34),
    0 8px 24px rgba(0,7,14,.22),
    inset 0 1px 0 rgba(220,248,255,.09) !important;
}

body.ps-stage66-public-auth .ps-auth-recovery {
  background:
    radial-gradient(30rem 16rem at 96% 0, rgba(24,201,210,.055), transparent 66%),
    linear-gradient(155deg, rgba(255,255,255,.975), rgba(240,248,252,.945)) !important;
  box-shadow:
    0 22px 58px rgba(13,66,94,.10),
    inset 0 1px 0 rgba(255,255,255,.70) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-recovery {
  background:
    radial-gradient(30rem 16rem at 96% 0, rgba(24,201,210,.05), transparent 66%),
    linear-gradient(155deg, rgba(9,38,52,.985), rgba(7,30,43,.97)) !important;
  box-shadow:
    0 24px 62px rgba(0,7,14,.32),
    inset 0 1px 0 rgba(220,248,255,.08) !important;
}

@media (max-width: 1080px) {
  body.ps-stage66-public-auth .ps-auth-mobile-visual__inner {
    background: rgba(2,28,45,.82) !important;
    box-shadow:
      0 9px 24px rgba(0,14,25,.17),
      inset 0 1px 0 rgba(255,255,255,.15) !important;
  }
}

/* --------------------------------------------------------------------------
 * 5) Masked full-card highlights are another expensive/repaint-sensitive layer.
 * Replace them with one stable inset rim on the card itself.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth .ps-auth-card::before,
body.ps-stage66-public-auth .ps-auth-card::after {
  content: none !important;
  display: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  animation: none !important;
  filter: none !important;
  opacity: 0 !important;
}

/* --------------------------------------------------------------------------
 * 6) Header glass is useful globally, but on Auth it is another viewport-wide
 * backdrop sampler. Use a stable translucent header specifically on this route.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth .ps-site-header,
body.ps-stage66-public-auth .ps-primary-nav,
body.ps-stage66-public-auth .ps-header-main {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  will-change: auto !important;
}

body.ps-stage66-public-auth .ps-site-header {
  background: rgba(248,252,254,.97) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-site-header {
  background: rgba(7,24,33,.97) !important;
}

body.ps-stage66-public-auth .ps-primary-nav {
  background: rgba(250,253,255,.98) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-primary-nav {
  background: rgba(9,31,42,.98) !important;
}

/* Inputs/buttons remain normal layers; no inherited compositor hints. */
body.ps-stage66-public-auth :where(input, button, summary, label, a) {
  backface-visibility: visible;
}

/* Coarse-pointer devices are where the Chromium blank-tile symptom is most
 * visible. Reassert normal paint flow at the final cascade owner. */
@media (max-width: 900px), (hover: none) and (pointer: coarse) {
  body.ps-stage66-public-auth :where(
    .ps-auth-shell,
    .ps-auth-card,
    .ps-auth-panel,
    .ps-auth-password-form,
    .ps-auth-register-form,
    .ps-auth-recovery,
    .ps-otp-login,
    .ps-otp-fields,
    .ps-otp-step
  ) {
    contain: none !important;
    content-visibility: visible !important;
    will-change: auto !important;
    filter: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.ps-stage66-public-auth *,
  body.ps-stage66-public-auth *::before,
  body.ps-stage66-public-auth *::after {
    scroll-behavior: auto !important;
  }
}

/* source release-r66-89.css */
/* Stage66.52R66.89 — Auth account guidance + final paint-stability hardening. */

/* Completed entrance animations with `fill-mode: both` can keep long auth panels
 * on composited layers after the transition. The active panel is already obvious
 * from the tab state, so keep the scrolling form in normal paint flow. */
body.ps-stage66-public-auth .ps-auth-panel.is-active,
body.ps-stage66-public-auth .ps-auth-password-form,
body.ps-stage66-public-auth .ps-auth-register-form {
  animation: none !important;
  transform: none !important;
  opacity: 1 !important;
}

/* The moving tab indicator is cosmetic; the active button already owns the
 * selected gradient. Avoid a persistent transformed child above a long form. */
body.ps-stage66-public-auth .ps-auth-tabs > span {
  display: none !important;
  transform: none !important;
  transition: none !important;
}

/* Clear account-not-found guidance with an explicit registration action. */
body.ps-stage66-public-auth .ps-otp-message.has-action {
  display: grid;
  justify-items: center;
  gap: 9px;
  padding-block: 4px;
}

body.ps-stage66-public-auth .ps-otp-message__copy {
  display: block;
}

body.ps-stage66-public-auth .ps-otp-message__action {
  min-height: 40px;
  padding: 7px 16px;
  border: 1px solid rgba(10,115,232,.34);
  border-radius: 999px;
  background: rgba(10,115,232,.08);
  color: var(--ps-primary, #0A73E8);
  font: inherit;
  font-weight: 850;
  line-height: 1.4;
  cursor: pointer;
  touch-action: manipulation;
}

body.ps-stage66-public-auth .ps-otp-message__action:hover,
body.ps-stage66-public-auth .ps-otp-message__action:focus-visible {
  background: rgba(10,115,232,.14);
  outline: 2px solid rgba(10,115,232,.22);
  outline-offset: 2px;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-otp-message__action {
  border-color: rgba(105,190,255,.34);
  background: rgba(10,115,232,.16);
  color: #9ed7ff;
}

@media (max-width: 640px) {
  body.ps-stage66-public-auth .ps-otp-message__action {
    width: min(100%, 260px);
  }
}

/* source:release-base-c-r66-145.css */
/* R66.145 consolidated cascade segment; source order preserved. */

/* source release-r66-91.css */
/*
 * Stage66.52R66.91 — locked brand color-system migration owner.
 * Scope: visual color/gradient ownership only. Geometry, scroll, auth transport,
 * order workflow and semantic success/warning/danger states are not changed here.
 *
 * Locked palette:
 *   Primary        #0A73E8
 *   Primary hover  #075FC7
 *   Accent         #18C9D2
 *   CTA gradient   #0A73E8 -> #087C9F
 *   Hover gradient #075FC7 -> #006C86
 */

:root,
html[data-ps-theme="light"] {
  --ps-primary: #0A73E8;
  --ps-primary-hover: #075FC7;
  --ps-primary-deep: #087C9F;
  --ps-primary-hover-deep: #006C86;
  --ps-accent: #18C9D2;
  --ps-primary-gradient: linear-gradient(135deg, #0A73E8 0%, #087C9F 100%);
  --ps-primary-hover-gradient: linear-gradient(135deg, #075FC7 0%, #006C86 100%);
  --ps-brand-surface: linear-gradient(135deg, rgba(10,115,232,.16) 0%, rgba(24,201,210,.11) 100%);
  --ps-brand-surface-strong: linear-gradient(135deg, rgba(10,115,232,.22) 0%, rgba(24,201,210,.15) 100%);
  --ps-brand-edge: rgba(10,115,232,.36);
  --ps-brand-edge-strong: rgba(24,201,210,.54);
  --ps-brand-glow: 0 12px 30px rgba(10,115,232,.24), 0 4px 14px rgba(8,124,159,.13);
  --ps-brand-glow-hover: 0 16px 38px rgba(7,95,199,.30), 0 5px 16px rgba(0,108,134,.17);
  --ps-brand-focus: 0 0 0 3px rgba(24,201,210,.25);

  /* Compatibility aliases: old shell code now resolves to the locked brand. */
  --ps-green: #0A73E8;
  --ps-green-dark: #075FC7;
  --ps-blue: #0A73E8;
  --ps-brand: #0A73E8;
  --ps-brand-blue: #0A73E8;
  --ps-brand-strong: #075FC7;
  --ps-brand-turquoise: #18C9D2;
  --ps-focus: #18C9D2;
  --ps-r66-blue: #0A73E8;
  --ps-r66-blue-deep: #075FC7;
  --ps-r66-cyan: #18C9D2;
  --ps-r66-teal: #087C9F;
  --ps-r66-line-strong: rgba(10,115,232,.38);
  --ps-r66-glow: rgba(10,115,232,.24);
  --ps-r42-info-bg: rgba(10,115,232,.14);
  --ps-r42-info: #075FC7;
  --ps-r42-info-line: rgba(10,115,232,.34);
}

html[data-ps-theme="dark"] {
  --ps-primary: #0A73E8;
  --ps-primary-hover: #075FC7;
  --ps-primary-deep: #087C9F;
  --ps-primary-hover-deep: #006C86;
  --ps-accent: #18C9D2;
  --ps-primary-gradient: linear-gradient(135deg, #0A73E8 0%, #087C9F 100%);
  --ps-primary-hover-gradient: linear-gradient(135deg, #075FC7 0%, #006C86 100%);
  --ps-brand-surface: linear-gradient(135deg, rgba(10,115,232,.28) 0%, rgba(24,201,210,.17) 100%);
  --ps-brand-surface-strong: linear-gradient(135deg, rgba(10,115,232,.36) 0%, rgba(24,201,210,.22) 100%);
  --ps-brand-edge: rgba(92,173,255,.44);
  --ps-brand-edge-strong: rgba(24,201,210,.58);
  --ps-brand-glow: 0 14px 34px rgba(0,74,165,.30), 0 4px 16px rgba(0,108,134,.19);
  --ps-brand-glow-hover: 0 18px 42px rgba(0,67,151,.38), 0 5px 18px rgba(0,108,134,.23);
  --ps-brand-focus: 0 0 0 3px rgba(24,201,210,.31);

  --ps-green: #0A73E8;
  --ps-green-dark: #075FC7;
  --ps-blue: #0A73E8;
  --ps-brand: #0A73E8;
  --ps-brand-blue: #0A73E8;
  --ps-brand-strong: #075FC7;
  --ps-brand-turquoise: #18C9D2;
  --ps-focus: #18C9D2;
  --ps-r66-blue: #0A73E8;
  --ps-r66-blue-deep: #72B6FF;
  --ps-r66-cyan: #18C9D2;
  --ps-r66-teal: #7EDDE2;
  --ps-r66-line-strong: rgba(24,201,210,.43);
  --ps-r66-glow: rgba(10,115,232,.31);
  --ps-r42-info-bg: rgba(10,115,232,.28);
  --ps-r42-info: #A9D8FF;
  --ps-r42-info-line: rgba(24,201,210,.40);
}

/* --------------------------------------------------------------------------
 * Primary CTA owner — vivid gradient everywhere a committed action is taken.
 * ----------------------------------------------------------------------- */
body.pcbshop-theme :where(
  .ps-button-primary,
  .ps-button-commit,
  .ps-button-pcb,
  .ps-button-bom,
  .ps-button-creator,
  .ps-button-track,
  .ps-submit,
  .ps-submit-final,
  .ps-pay-button,
  .ps-auth-submit:not(.ps-button-secondary),
  .ps-otp-send,
  .ps-otp-submit,
  .ps-otp-verify,
  .ps-recovery-submit,
  .checkout-button,
  #place_order,
  .single_add_to_cart_button,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce #respond input#submit.alt
) {
  border-color: rgba(7,95,199,.54) !important;
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  color: #fff !important;
  text-shadow: 0 1px 1px rgba(0,34,77,.22) !important;
  box-shadow: var(--ps-brand-glow), inset 0 1px 0 rgba(255,255,255,.31) !important;
}

body.pcbshop-theme :where(
  .ps-button-primary,
  .ps-button-commit,
  .ps-button-pcb,
  .ps-button-bom,
  .ps-button-creator,
  .ps-button-track,
  .ps-submit,
  .ps-submit-final,
  .ps-pay-button,
  .ps-auth-submit:not(.ps-button-secondary),
  .ps-otp-send,
  .ps-otp-submit,
  .ps-otp-verify,
  .ps-recovery-submit,
  .checkout-button,
  #place_order,
  .single_add_to_cart_button,
  .woocommerce a.button.alt,
  .woocommerce button.button.alt,
  .woocommerce input.button.alt,
  .woocommerce #respond input#submit.alt
):is(:hover,:focus-visible) {
  border-color: rgba(0,108,134,.64) !important;
  background: var(--ps-primary-hover-gradient) !important;
  background-color: #075FC7 !important;
  color: #fff !important;
  box-shadow: var(--ps-brand-glow-hover), var(--ps-brand-focus), inset 0 1px 0 rgba(255,255,255,.27) !important;
}

body.pcbshop-theme :where(
  .ps-button-primary,
  .ps-button-commit,
  .ps-button-pcb,
  .ps-button-bom,
  .ps-button-creator,
  .ps-button-track,
  .ps-submit,
  .ps-submit-final,
  .ps-pay-button,
  .ps-auth-submit,
  .ps-otp-send,
  .ps-otp-submit,
  #place_order,
  .single_add_to_cart_button
):is(:disabled,[aria-disabled="true"]) {
  opacity: .58 !important;
  filter: saturate(.72) !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Secondary/info controls should still look intentional, not grey/dead. */
body.pcbshop-theme :where(
  .ps-button-secondary,
  .ps-button-info,
  .ps-button-neutral,
  .ps-button-outline,
  .ps-button-light,
  .ps-filter-toggle,
  .ps-view-switch a,
  .ps-auth-tabs button,
  .ps-otp-message__action
):not(.ps-button-danger):not(.ps-button-warning) {
  border-color: var(--ps-brand-edge) !important;
  background: var(--ps-brand-surface) !important;
  color: #075FC7 !important;
  box-shadow: 0 7px 18px rgba(10,115,232,.08), inset 0 1px 0 rgba(255,255,255,.52) !important;
}

body.pcbshop-theme :where(
  .ps-button-secondary,
  .ps-button-info,
  .ps-button-neutral,
  .ps-button-outline,
  .ps-button-light,
  .ps-filter-toggle,
  .ps-view-switch a,
  .ps-auth-tabs button,
  .ps-otp-message__action
):not(.ps-button-danger):not(.ps-button-warning):is(:hover,:focus-visible) {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
  box-shadow: var(--ps-brand-focus), 0 9px 22px rgba(10,115,232,.12) !important;
}

html[data-ps-theme="dark"] body.pcbshop-theme :where(
  .ps-button-secondary,
  .ps-button-info,
  .ps-button-neutral,
  .ps-button-outline,
  .ps-button-light,
  .ps-filter-toggle,
  .ps-view-switch a,
  .ps-auth-tabs button,
  .ps-otp-message__action
):not(.ps-button-danger):not(.ps-button-warning) {
  color: #C7E5FF !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(217,246,255,.08) !important;
}

/* --------------------------------------------------------------------------
 * Active/current/selected state migration.
 * ----------------------------------------------------------------------- */
body.pcbshop-theme :where(
  .ps-primary-menu-services > li.is-current > a,
  .ps-primary-menu-services > li.current-menu-item > a,
  .ps-primary-menu > li.current-menu-item > a,
  .ps-primary-menu > li.current_page_item > a,
  .ps-information-nav a.is-current,
  .ps-view-switch a.is-active,
  .ps-parts-filter .is-active,
  .ps-filter-chip.is-active,
  .ps-tab.is-active,
  [role="tab"].is-active
) {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
  box-shadow: inset 0 -2px 0 #18C9D2, 0 6px 16px rgba(10,115,232,.08) !important;
}

body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-nav-r27 .is-active > a,
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-nav-enhanced .is-active > a {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
  box-shadow: inset -3px 0 0 #18C9D2, 0 7px 18px rgba(10,115,232,.09) !important;
}

html[data-ps-theme="dark"] body.pcbshop-theme :where(
  .ps-primary-menu-services > li.is-current > a,
  .ps-primary-menu-services > li.current-menu-item > a,
  .ps-primary-menu > li.current-menu-item > a,
  .ps-primary-menu > li.current_page_item > a,
  .ps-information-nav a.is-current,
  .ps-view-switch a.is-active,
  .ps-parts-filter .is-active,
  .ps-filter-chip.is-active,
  .ps-tab.is-active,
  [role="tab"].is-active
),
html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a {
  color: #F1FAFF !important;
}

/* Header, drawer, search and mobile command dock. */
body.pcbshop-theme .ps-header-search button,
body.pcbshop-theme .ps-mobile-dock a.is-primary {
  border-color: rgba(7,95,199,.45) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 9px 22px rgba(10,115,232,.22), inset 0 1px 0 rgba(255,255,255,.25) !important;
}

body.pcbshop-theme .ps-header-search button:is(:hover,:focus-visible),
body.pcbshop-theme .ps-mobile-dock a.is-primary:is(:hover,:focus-visible) {
  background: var(--ps-primary-hover-gradient) !important;
  box-shadow: var(--ps-brand-glow-hover), var(--ps-brand-focus) !important;
}

body.pcbshop-theme :where(.ps-header-action,.ps-drawer-action,.ps-category-trigger,.ps-menu-toggle,.ps-theme-toggle):is(:hover,:focus-visible) {
  border-color: var(--ps-brand-edge) !important;
  background: var(--ps-brand-surface) !important;
  color: #075FC7 !important;
}

body.pcbshop-theme .ps-cart-count,
body.pcbshop-theme .ps-action-count {
  background: #0A73E8 !important;
  color: #fff !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.94), 0 5px 12px rgba(10,115,232,.24) !important;
}

@media (max-width: 900px) {
  body.pcbshop-theme .ps-mobile-dock a:is(.is-current,[aria-current="page"]):not(.is-primary) {
    border-color: rgba(24,201,210,.34) !important;
    background: linear-gradient(135deg, rgba(10,115,232,.18), rgba(24,201,210,.12)) !important;
    color: #075FC7 !important;
    box-shadow: inset 0 0 0 1px rgba(10,115,232,.12) !important;
  }
  html[data-ps-theme="dark"] body.pcbshop-theme .ps-mobile-dock a:is(.is-current,[aria-current="page"]):not(.is-primary) {
    background: linear-gradient(135deg, rgba(10,115,232,.31), rgba(24,201,210,.18)) !important;
    color: #D8EEFF !important;
  }
}

/* --------------------------------------------------------------------------
 * PCB order UI — selected choices, steps, upload/progress and final commit.
 * Geometry is deliberately untouched.
 * ----------------------------------------------------------------------- */
body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,
  .ps-pcb-service-card[aria-selected="true"]
) {
  border-color: rgba(24,201,210,.64) !important;
  background: linear-gradient(135deg, rgba(10,115,232,.19), rgba(24,201,210,.14)) !important;
  color: #075FC7 !important;
  box-shadow: inset 0 0 0 1px rgba(10,115,232,.16), 0 8px 20px rgba(10,115,232,.10) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,
  .ps-pcb-service-card[aria-selected="true"]
) {
  background: linear-gradient(135deg, rgba(10,115,232,.35), rgba(24,201,210,.21)) !important;
  color: #F2FBFF !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"]
) > i {
  border-color: #18C9D2 !important;
  background: #0A73E8 !important;
  color: #fff !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-help-button,
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-nav-icon {
  border-color: rgba(10,115,232,.28) !important;
  background: linear-gradient(135deg, rgba(10,115,232,.13), rgba(24,201,210,.09)) !important;
  color: #0A73E8 !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-help-button:is(:hover,:focus-visible) {
  border-color: rgba(24,201,210,.56) !important;
  background: var(--ps-brand-surface-strong) !important;
  box-shadow: var(--ps-brand-focus) !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-steps :where(button,.ps-pcb-step):is(.is-active,[aria-current="step"]),
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-steps :where(button,.ps-pcb-step).is-complete {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(.ps-upload-progress > span,.ps-progress > span,.ps-progress-bar > span) {
  background: var(--ps-primary-gradient) !important;
  box-shadow: 0 0 16px rgba(24,201,210,.24) !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(.ps-pcb-upload,.ps-pcb-consent-body,.ps-pcb-estimate):focus-within {
  border-color: rgba(24,201,210,.48) !important;
  box-shadow: var(--ps-brand-focus) !important;
}

body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-section-head :where([data-ps-step-badge],.ps-eyebrow),
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-nav-copy strong {
  color: #0A73E8 !important;
}

/* --------------------------------------------------------------------------
 * Auth — stronger visual color while preserving R66.88/R66.89 paint contract.
 * No backdrop-filter/filter/animation/transform is introduced here.
 * ----------------------------------------------------------------------- */
body.ps-stage66-public-auth :where(main.ps-page-main,.ps-auth-main) {
  background:
    radial-gradient(42rem 23rem at 5% 3%, rgba(24,201,210,.15), transparent 70%),
    radial-gradient(46rem 28rem at 98% 94%, rgba(10,115,232,.18), transparent 72%) !important;
}

body.ps-stage66-public-auth .ps-auth-card,
body.ps-stage66-public-auth .ps-auth-recovery {
  border-color: rgba(10,115,232,.24) !important;
  background:
    radial-gradient(36rem 20rem at 98% 0, rgba(24,201,210,.105), transparent 64%),
    radial-gradient(30rem 18rem at 0 100%, rgba(10,115,232,.075), transparent 66%),
    linear-gradient(155deg, rgba(255,255,255,.985), rgba(236,247,253,.955)) !important;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-card,
html[data-ps-theme="dark"] body.ps-stage66-public-auth .ps-auth-recovery {
  border-color: rgba(76,166,255,.30) !important;
  background:
    radial-gradient(36rem 20rem at 98% 0, rgba(24,201,210,.105), transparent 64%),
    radial-gradient(30rem 18rem at 0 100%, rgba(10,115,232,.13), transparent 66%),
    linear-gradient(155deg, rgba(9,38,52,.99), rgba(6,28,42,.985)) !important;
}

body.ps-stage66-public-auth .ps-auth-tabs button.is-active {
  border-color: rgba(7,95,199,.50) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 9px 22px rgba(10,115,232,.22), inset 0 1px 0 rgba(255,255,255,.26) !important;
}

body.ps-stage66-public-auth :where(.ps-auth-field,.ps-auth-input-wrap):focus-within {
  border-color: #18C9D2 !important;
  box-shadow: var(--ps-brand-focus) !important;
}

body.ps-stage66-public-auth :where(.ps-auth-heading small,.ps-auth-heading a,.ps-auth-policy a,.ps-auth-benefits strong) {
  color: #0A73E8;
}

html[data-ps-theme="dark"] body.ps-stage66-public-auth :where(.ps-auth-heading small,.ps-auth-heading a,.ps-auth-policy a,.ps-auth-benefits strong) {
  color: #9DD5FF;
}

/* --------------------------------------------------------------------------
 * Store/account/general interaction colors.
 * ----------------------------------------------------------------------- */
body.pcbshop-theme :where(
  .ps-eyebrow,
  .ps-section-heading > span,
  .ps-section-heading > a,
  .ps-entry-content a,
  .ps-lab-link,
  .woocommerce a:not(.button),
  .woocommerce-MyAccount-content a:not(.button)
) {
  color: #0A73E8;
}

html[data-ps-theme="dark"] body.pcbshop-theme :where(
  .ps-eyebrow,
  .ps-section-heading > span,
  .ps-section-heading > a,
  .ps-entry-content a,
  .ps-lab-link,
  .woocommerce a:not(.button),
  .woocommerce-MyAccount-content a:not(.button)
) {
  color: #9DD5FF;
}

body.pcbshop-theme :where(
  .ps-category-card,
  .ps-distributor-category-card,
  .ps-distributor-service-card,
  .ps-quick-path-grid > *,
  .ps-account-quick-grid > *,
  .ps-request-card,
  .ps-address-card
):is(:hover,:focus-within) {
  border-color: rgba(24,201,210,.42) !important;
  box-shadow: 0 14px 34px rgba(10,115,232,.11) !important;
}

body.pcbshop-theme :where(
  .ps-process-list li > span,
  .ps-benefit-grid article > span,
  .ps-service-type-grid .is-selected,
  .ps-badge-primary,
  .ps-chip-primary
) {
  border-color: rgba(10,115,232,.26) !important;
  background: var(--ps-brand-surface) !important;
  color: #075FC7 !important;
}

body.pcbshop-theme :where(
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .wc-block-components-text-input input,
  .wc-block-components-combobox .wc-block-components-combobox-control input
):is(:focus,:focus-visible) {
  border-color: #18C9D2 !important;
  outline: 0 !important;
  box-shadow: var(--ps-brand-focus) !important;
}

body.pcbshop-theme :where(input[type="checkbox"],input[type="radio"]) {
  accent-color: #0A73E8 !important;
}

body.pcbshop-theme :where(.woocommerce-pagination .page-numbers.current,.woocommerce nav.woocommerce-pagination ul li span.current) {
  border-color: rgba(7,95,199,.48) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
}

/* Keep semantic states semantic. These explicit guards stop broad legacy brand
 * aliases from turning success/warning/danger controls blue. */
body.pcbshop-theme :where(.ps-button-danger,.ps-alert.is-danger,.woocommerce-error) {
  color: var(--ps-danger) !important;
}
body.pcbshop-theme .ps-button-danger {
  border-color: rgba(179,58,75,.42) !important;
  background: var(--ps-danger-soft) !important;
}
body.pcbshop-theme :where(.ps-button-warning,.ps-alert.is-warning) {
  color: var(--ps-warning) !important;
}
body.pcbshop-theme .ps-button-warning {
  border-color: rgba(169,104,8,.42) !important;
  background: var(--ps-warning-soft) !important;
}
body.pcbshop-theme :where(.ps-alert.is-success,.woocommerce-message) {
  color: var(--ps-success) !important;
}

/* Disabled controls remain quiet; only actionable surfaces get visual energy. */
body.pcbshop-theme :where(button,a,input,select,textarea):disabled,
body.pcbshop-theme :where(button,a)[aria-disabled="true"] {
  cursor: not-allowed;
}

/* Final semantic specificity guards. */
body.pcbshop-theme .ps-button-danger {
  border-color: rgba(179,58,75,.50) !important;
  background: linear-gradient(135deg, rgba(179,58,75,.16), rgba(220,55,75,.10)) !important;
  color: #9D2F40 !important;
  box-shadow: 0 9px 22px rgba(179,58,75,.14), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
body.pcbshop-theme .ps-button-warning {
  border-color: rgba(169,104,8,.48) !important;
  background: linear-gradient(135deg, rgba(245,158,11,.17), rgba(169,104,8,.10)) !important;
  color: #8B5608 !important;
  box-shadow: 0 9px 22px rgba(169,104,8,.12), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
html[data-ps-theme="dark"] body.pcbshop-theme .ps-button-danger { color: #FFD5DC !important; }
html[data-ps-theme="dark"] body.pcbshop-theme .ps-button-warning { color: #FFE0A0 !important; }

/* --------------------------------------------------------------------------
 * R66.91 final legacy-surface closure.
 * These selectors are intentionally late and visual-only so the locked Sol
 * palette also owns small/rare public surfaces that still carried legacy
 * green/blue literals from rollback CSS.
 * ----------------------------------------------------------------------- */
body.ps-information-page {
  --ps-info-accent: #0A73E8;
  --ps-info-accent-2: #18C9D2;
}

body.ps-stage66-pcb-order-page .ps-pcb-noscript-services a[aria-current="page"] {
  border-color: #0A73E8 !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 9px 22px rgba(10,115,232,.20) !important;
}

body.pcbshop-theme .ps-final-cta-inner {
  background: var(--ps-primary-gradient) !important;
  box-shadow: 0 20px 46px rgba(10,115,232,.22), inset 0 1px 0 rgba(255,255,255,.24) !important;
}
body.pcbshop-theme .ps-final-cta span { color: #D7FBFF !important; }

body.pcbshop-theme .ps-floating-support {
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 16px 38px rgba(10,115,232,.25) !important;
}

body.pcbshop-theme .ps-distributor-product-price {
  color: #0A73E8 !important;
}
body.pcbshop-theme .ps-distributor-buy-box button {
  border-color: transparent !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(10,115,232,.20) !important;
}
body.pcbshop-theme .ps-distributor-buy-box button:is(:hover,:focus-visible) {
  background: var(--ps-primary-hover-gradient) !important;
}

body.pcbshop-theme .ps-account-quick-grid > a > span {
  border: 1px solid rgba(24,201,210,.22) !important;
  background: linear-gradient(145deg, rgba(10,115,232,.15), rgba(24,201,210,.13)) !important;
  color: #075FC7 !important;
}
html[data-ps-theme="dark"] body.pcbshop-theme .ps-account-quick-grid > a > span {
  border-color: rgba(109,218,225,.24) !important;
  background: linear-gradient(145deg, rgba(10,115,232,.28), rgba(24,201,210,.18)) !important;
  color: #B9F4F7 !important;
}

html body.pcbshop-theme #wpadminbar #wp-admin-bar-my-account.ps-r6627-avatar-missing > .ab-item:after {
  background: var(--ps-primary-gradient) !important;
}

/* source release-r66-92.css */
/*
 * Stage66.52R66.92 — final locked Sol palette closure.
 * Visual-only late owner. No geometry, scrolling, transport or workflow rules.
 * Locked palette: #0A73E8 / #075FC7 / #18C9D2 / #087C9F.
 */
:root,
html[data-ps-theme="light"],
html[data-ps-theme="dark"] {
  --ps-primary: #0A73E8;
  --ps-primary-hover: #075FC7;
  --ps-primary-deep: #087C9F;
  --ps-accent: #18C9D2;
  --ps-primary-gradient: linear-gradient(135deg, #0A73E8 0%, #087C9F 100%);
  --ps-primary-hover-gradient: linear-gradient(135deg, #075FC7 0%, #006C86 100%);
}

/* Keep the brand surfaces visibly alive rather than near-grey, while still
 * leaving semantic danger/warning/success states under their own colors. */
html[data-ps-theme="light"] {
  --ps-brand-surface: linear-gradient(135deg, rgba(10,115,232,.21) 0%, rgba(24,201,210,.15) 100%);
  --ps-brand-surface-strong: linear-gradient(135deg, rgba(10,115,232,.29) 0%, rgba(24,201,210,.20) 100%);
  --ps-brand-edge: rgba(10,115,232,.43);
  --ps-brand-edge-strong: rgba(24,201,210,.67);
}
html[data-ps-theme="dark"] {
  --ps-brand-surface: linear-gradient(135deg, rgba(10,115,232,.34) 0%, rgba(24,201,210,.21) 100%);
  --ps-brand-surface-strong: linear-gradient(135deg, rgba(10,115,232,.44) 0%, rgba(24,201,210,.27) 100%);
  --ps-brand-edge: rgba(72,159,255,.52);
  --ps-brand-edge-strong: rgba(24,201,210,.70);
}

/* Primary committed actions — explicit final owner. */
body.pcbshop-theme :where(
  .ps-button-primary,.ps-button-commit,.ps-button-pcb,.ps-button-bom,.ps-button-creator,.ps-button-track,
  .ps-submit,.ps-submit-final,.ps-pay-button,.ps-otp-send,.ps-otp-submit,.ps-otp-verify,.ps-recovery-submit,
  .ps-auth-submit:not(.ps-button-secondary),.checkout-button,#place_order,.single_add_to_cart_button,
  .woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
  .woocommerce #respond input#submit.alt
) {
  border-color: rgba(7,95,199,.62) !important;
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(10,115,232,.27), 0 4px 12px rgba(8,124,159,.15), inset 0 1px 0 rgba(255,255,255,.32) !important;
}
body.pcbshop-theme :where(
  .ps-button-primary,.ps-button-commit,.ps-button-pcb,.ps-button-bom,.ps-button-creator,.ps-button-track,
  .ps-submit,.ps-submit-final,.ps-pay-button,.ps-otp-send,.ps-otp-submit,.ps-otp-verify,.ps-recovery-submit,
  .ps-auth-submit:not(.ps-button-secondary),.checkout-button,#place_order,.single_add_to_cart_button,
  .woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,
  .woocommerce #respond input#submit.alt
):is(:hover,:focus-visible) {
  border-color: rgba(0,108,134,.72) !important;
  background: var(--ps-primary-hover-gradient) !important;
  background-color: #075FC7 !important;
  color: #fff !important;
  box-shadow: 0 16px 36px rgba(7,95,199,.32), 0 5px 16px rgba(0,108,134,.20), var(--ps-brand-focus) !important;
}

/* Secondary controls that previously inherited low-contrast legacy grey/green. */
body.pcbshop-theme :where(
  .ps-button-secondary,.ps-button-info,.ps-button-neutral,.ps-button-outline,.ps-button-light,
  .ps-reference-copy-btn,.ps-filter-toggle,.ps-view-switch a,.ps-otp-message__action
):not(.ps-button-danger):not(.ps-button-warning) {
  border-color: var(--ps-brand-edge) !important;
  background: var(--ps-brand-surface) !important;
  color: #075FC7 !important;
  box-shadow: 0 8px 20px rgba(10,115,232,.10), inset 0 1px 0 rgba(255,255,255,.50) !important;
}
body.pcbshop-theme :where(
  .ps-button-secondary,.ps-button-info,.ps-button-neutral,.ps-button-outline,.ps-button-light,
  .ps-reference-copy-btn,.ps-filter-toggle,.ps-view-switch a,.ps-otp-message__action
):not(.ps-button-danger):not(.ps-button-warning):is(:hover,:focus-visible) {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
  box-shadow: var(--ps-brand-focus), 0 10px 24px rgba(10,115,232,.14) !important;
}
html[data-ps-theme="dark"] body.pcbshop-theme :where(
  .ps-button-secondary,.ps-button-info,.ps-button-neutral,.ps-button-outline,.ps-button-light,
  .ps-reference-copy-btn,.ps-filter-toggle,.ps-view-switch a,.ps-otp-message__action
):not(.ps-button-danger):not(.ps-button-warning) { color: #D9EFFF !important; }

/* PCB configurator: exact active/selected color ownership. */
body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,.ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,.ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,.ps-pcb-service-card[aria-selected="true"]
) {
  border-color: rgba(24,201,210,.76) !important;
  background: linear-gradient(135deg, rgba(10,115,232,.27), rgba(24,201,210,.20)) !important;
  color: #075FC7 !important;
  box-shadow: inset 0 0 0 1px rgba(10,115,232,.20), 0 9px 22px rgba(10,115,232,.13) !important;
}
html[data-ps-theme="dark"] body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,.ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,.ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,.ps-pcb-service-card[aria-selected="true"]
) {
  background: linear-gradient(135deg, rgba(10,115,232,.46), rgba(24,201,210,.28)) !important;
  color: #F4FBFF !important;
}
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-steps :where(button,.ps-pcb-step):is(.is-active,[aria-current="step"],.is-complete) {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
  box-shadow: inset 0 -2px 0 #18C9D2, 0 7px 18px rgba(10,115,232,.10) !important;
}
html[data-ps-theme="dark"] body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-steps :where(button,.ps-pcb-step):is(.is-active,[aria-current="step"],.is-complete) {
  color: #F2FBFF !important;
}

/* Header/menu/account current state: stop old green literals from surfacing. */
body.pcbshop-theme :where(
  .ps-primary-menu-services > li.is-current > a,.ps-primary-menu-services > li.current-menu-item > a,
  .ps-primary-menu > li.current-menu-item > a,.ps-primary-menu > li.current_page_item > a,
  .ps-information-nav a.is-current,.ps-view-switch a.is-active,.ps-filter-chip.is-active,.ps-tab.is-active,
  [role="tab"].is-active
) {
  border-color: var(--ps-brand-edge-strong) !important;
  background: var(--ps-brand-surface-strong) !important;
  color: #075FC7 !important;
  box-shadow: inset 0 -2px 0 #18C9D2, 0 7px 18px rgba(10,115,232,.10) !important;
}
@media (max-width:900px) {
  body.pcbshop-theme .ps-mobile-dock a:is(.is-current,[aria-current="page"]):not(.is-primary) {
    border-color: rgba(24,201,210,.42) !important;
    background: linear-gradient(135deg, rgba(10,115,232,.24), rgba(24,201,210,.16)) !important;
    color: #075FC7 !important;
    box-shadow: inset 0 0 0 1px rgba(10,115,232,.16) !important;
  }
  html[data-ps-theme="dark"] body.pcbshop-theme .ps-mobile-dock a:is(.is-current,[aria-current="page"]):not(.is-primary) {
    background: linear-gradient(135deg, rgba(10,115,232,.39), rgba(24,201,210,.23)) !important;
    color: #E0F3FF !important;
  }
}

/* Auth stays compositor-safe: only static paint, stronger locked accents. */
body.ps-stage66-public-auth .ps-auth-tabs button.is-active {
  border-color: rgba(7,95,199,.62) !important;
  background: var(--ps-primary-gradient) !important;
  color: #fff !important;
  box-shadow: 0 11px 26px rgba(10,115,232,.25), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
body.ps-stage66-public-auth :where(.ps-auth-field,.ps-auth-input-wrap):focus-within {
  border-color: #18C9D2 !important;
  box-shadow: var(--ps-brand-focus) !important;
}

/* Rare late public surfaces missed by R66.91. */
body.pcbshop-theme .ps-distributor-buy-box button:is(:hover,:focus-visible) {
  background: var(--ps-primary-hover-gradient) !important;
  background-color: #075FC7 !important;
  color: #fff !important;
}
body.pcbshop-theme .ps-floating-support:is(:hover,:focus-visible),
body.pcbshop-theme .ps-final-cta .ps-button:is(:hover,:focus-visible) {
  background: var(--ps-primary-hover-gradient) !important;
  color: #fff !important;
}

/* Semantic colors remain semantic after broad button ownership. */
body.pcbshop-theme .ps-button-danger {
  border-color: rgba(179,58,75,.50) !important;
  background: linear-gradient(135deg, rgba(179,58,75,.16), rgba(220,55,75,.10)) !important;
  color: #9D2F40 !important;
}
body.pcbshop-theme .ps-button-warning {
  border-color: rgba(169,104,8,.48) !important;
  background: linear-gradient(135deg, rgba(245,158,11,.17), rgba(169,104,8,.10)) !important;
  color: #8B5608 !important;
}
html[data-ps-theme="dark"] body.pcbshop-theme .ps-button-danger { color: #FFD5DC !important; }
html[data-ps-theme="dark"] body.pcbshop-theme .ps-button-warning { color: #FFE0A0 !important; }

/* source release-r66-93.css */
/*
 * Stage66.52R66.93 — locked Sol palette visual truth + PCB active-state closure.
 * Final visual owner loaded after R66.92. No layout/scroll/workflow changes.
 * LOCKED: Primary #0A73E8 | Hover #075FC7 | Accent #18C9D2
 *         Primary gradient 135deg #0A73E8 -> #087C9F.
 */
:root,
html[data-ps-theme="light"],
html[data-ps-theme="dark"] {
  --ps-primary: #0A73E8;
  --ps-primary-hover: #075FC7;
  --ps-primary-deep: #087C9F;
  --ps-accent: #18C9D2;
  --ps-primary-gradient: linear-gradient(135deg, #0A73E8 0%, #087C9F 100%);
  --ps-primary-hover-gradient: linear-gradient(135deg, #075FC7 0%, #006C86 100%);
}

/* R66.92 accidentally used translucent brand washes for the exact states that
 * were contractually locked as Primary/Active/Selected. The selected control
 * itself now carries the full approved gradient; cyan is an accent/edge only. */
body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,
  .ps-pcb-service-card[aria-selected="true"]
) {
  border-color: #18C9D2 !important;
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow:
    0 11px 26px rgba(10,115,232,.27),
    0 4px 13px rgba(8,124,159,.18),
    inset 0 1px 0 rgba(255,255,255,.30) !important;
}
body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,
  .ps-pcb-service-card[aria-selected="true"]
) :where(span,strong,small,b,i,svg,path) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"]
):is(:hover,:focus-visible) {
  border-color: #18C9D2 !important;
  background: var(--ps-primary-hover-gradient) !important;
  background-color: #075FC7 !important;
  color: #fff !important;
  box-shadow: 0 14px 31px rgba(7,95,199,.31), 0 0 0 4px rgba(24,201,210,.15) !important;
}

/* Current wizard step is an active state; completed history stays quieter so
 * the user's current position remains visually singular. */
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-steps :where(button,.ps-pcb-step):is(.is-active,[aria-current="step"]) {
  border-color: #18C9D2 !important;
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 9px 23px rgba(10,115,232,.23), inset 0 1px 0 rgba(255,255,255,.26) !important;
}
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-steps :where(button,.ps-pcb-step):is(.is-active,[aria-current="step"]) * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Actual form/upload progress bars use <i>, not <span>. Earlier palette owners
 * missed these exact elements, leaving the legacy #2773CF -> #2AC4CF ramp live. */
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-form-progress > i,
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-upload-progress > i,
body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(.ps-progress > span,.ps-progress-bar > span) {
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  box-shadow: 0 0 14px rgba(10,115,232,.25) !important;
}
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-form-progress-wrap > b,
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-upload-progress > b {
  color: #075FC7 !important;
}
html[data-ps-theme="dark"] body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-form-progress-wrap > b,
  .ps-upload-progress > b
) { color: #A9D8FF !important; }

/* Keep progress/status supporting accents inside the approved palette too. */
body.ps-stage66-pcb-order-page .ps-pcb-order-reference .ps-pcb-form-status-icon {
  background: linear-gradient(135deg, rgba(10,115,232,.17), rgba(8,124,159,.14)) !important;
  color: #0A73E8 !important;
}

/* Active tab/current account entry are committed navigation states. */
body.pcbshop-theme :where(.ps-tab.is-active,[role="tab"].is-active),
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a {
  border-color: #18C9D2 !important;
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 9px 23px rgba(10,115,232,.22), inset 0 1px 0 rgba(255,255,255,.25) !important;
}
body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Focus/highlight stays cyan as the approved accent, without replacing Primary. */
body.pcbshop-theme :where(a,button,input,select,textarea):focus-visible {
  outline-color: rgba(24,201,210,.62) !important;
}

/* Dark-mode specificity closure: older dark rules carry an html[data-ps-theme]
 * prefix, so the final owner mirrors that prefix to keep the locked palette
 * authoritative in Dark as well as Light. */
html[data-ps-theme="dark"] body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,
  .ps-pcb-service-card[aria-selected="true"]
) {
  border-color: #18C9D2 !important;
  background: var(--ps-primary-gradient) !important;
  background-color: #0A73E8 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html[data-ps-theme="dark"] body.ps-stage66-pcb-order-page .ps-pcb-order-reference :where(
  .ps-pcb-inline-choice.is-selected,
  .ps-pcb-inline-choice[aria-checked="true"],
  .ps-pcb-service-choice-r20.is-selected,
  .ps-pcb-service-choice-r20[aria-pressed="true"],
  .ps-pcb-service-card.is-selected,
  .ps-pcb-service-card[aria-selected="true"]
) :where(span,strong,small,b,i,svg,path) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a,
html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .woocommerce-MyAccount-navigation .is-active > a * {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* source release-r66-134.css */
/* Stage66.52R66.134 — mobile account navigation stability polish on R66.131 safety baseline.
 * Progressive enhancement: the native WooCommerce navigation remains usable until
 * the picker/sheet runtime reaches READY. Hidden overlays can never capture input.
 */
.ps-account-mobile-picker,
.ps-account-mobile-sheet-layer {
  display: none;
}

@media (max-width: 900px) {
  /* R66.133 first-paint guard. The account runtime is a tiny head script and
   * adds this class before body paint. This prevents the legacy horizontal
   * WooCommerce nav from flashing during endpoint navigation. If runtime
   * initialization fails, the JS fail-open timer removes the class. */
  html.ps-account-mobile-nav-booting body.ps-stage66-account-page:not(.ps-stage66-public-auth)
  .ps-account-layout:not(.ps-account-mobile-enhanced) .ps-account-layout-nav > .woocommerce-MyAccount-navigation {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  /* Fail-open contract: if JavaScript is delayed, blocked, or crashes, the
   * original WooCommerce navigation stays visible and touchable. These rules
   * also override any stale R66.128/R66.129 stylesheet still present in cache. */
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout:not(.ps-account-mobile-enhanced) .ps-account-layout-nav > .woocommerce-MyAccount-navigation {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    clip: auto !important;
    clip-path: none !important;
    white-space: normal !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout:not(.ps-account-mobile-enhanced) .ps-account-mobile-picker {
    display: none !important;
  }

  /* A closed/hidden sheet is never allowed to become an invisible click shield. */
  .ps-account-mobile-sheet-layer:not(.is-open),
  .ps-account-mobile-sheet-layer[hidden] {
    pointer-events: none !important;
    visibility: hidden !important;
  }

  /* Primary mobile navigation is overlayless. Only the explicit open state can
   * receive pointer input; stale classes/attributes therefore fail closed. */
  html body.pcbshop-theme:not(.ps-menu-open) #ps-primary-nav,
  html body.pcbshop-theme #ps-primary-nav:not(.is-open) {
    pointer-events: none !important;
  }
  html body.pcbshop-theme.ps-menu-open #ps-primary-nav.is-open {
    pointer-events: auto !important;
  }
  html body.pcbshop-theme .ps-menu-toggle {
    touch-action: manipulation !important;
    pointer-events: auto !important;
  }
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced {
    --ps-account-picker-top: 8px;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-layout-nav {
    position: sticky !important;
    top: var(--ps-account-picker-top) !important;
    z-index: 180 !important;
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 10px !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-layout-nav > .woocommerce-MyAccount-navigation {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker {
    display: block !important;
    width: min(100%, 520px);
    margin-inline: auto;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button {
    appearance: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 8px 12px 8px 15px;
    border: 1px solid rgba(10,115,232,.20);
    border-radius: 18px;
    background: linear-gradient(145deg,rgba(255,255,255,.93),rgba(237,248,252,.88));
    color: #12394f;
    box-shadow: 0 10px 26px rgba(26,77,103,.10), inset 0 1px 0 rgba(255,255,255,.90);
    -webkit-backdrop-filter: blur(18px) saturate(145%);
    backdrop-filter: blur(18px) saturate(145%);
    text-align: start;
    font: inherit;
    cursor: pointer;
    touch-action: manipulation;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy {
    display: grid;
    min-width: 0;
    gap: 1px;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy small {
    color: #69808d;
    font-size: .68rem;
    line-height: 1.35;
    font-weight: 700;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy strong {
    min-width: 0;
    overflow: hidden;
    color: #0c4e75;
    font-size: .95rem;
    line-height: 1.55;
    font-weight: 900;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-chevron {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(24,201,210,.22);
    border-radius: 12px;
    background: rgba(24,201,210,.10);
    color: #0A73E8;
    font-size: 1.25rem;
    font-weight: 900;
    transition: transform .2s ease;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button[aria-expanded="true"] .ps-account-mobile-picker-chevron {
    transform: rotate(180deg);
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout-content {
    grid-column: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 2px 10px 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  /* R66.127 screenshot closure: remove the square/rectangular dashboard frame.
   * The actual rounded welcome card remains the visible glass surface. */
  html[data-ps-theme] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-dashboard,
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-dashboard-r27,
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-dashboard-r28 {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border: 0 !important;
    border-width: 0 !important;
    border-style: none !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-welcome-r27,
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-welcome-r28 {
    margin: 0 !important;
  }

  body.ps-account-sheet-open {
    /* Do not mutate body/html overflow: on Android Chrome this changes the
     * sticky containing block and visibly drops the site header. The fixed
     * layer owns touch/wheel containment instead. */
    overscroll-behavior: none !important;
  }

  .ps-account-mobile-sheet-layer {
    position: fixed;
    inset: 0;
    z-index: 100250;
    display: block;
    pointer-events: none;
    visibility: hidden;
    overscroll-behavior: contain;
    touch-action: none;
  }

  .ps-account-mobile-sheet-layer[hidden] {
    display: none !important;
  }

  .ps-account-mobile-sheet-layer.is-open {
    pointer-events: auto;
    visibility: visible;
  }

  .ps-account-mobile-sheet-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(4,24,36,.42);
    opacity: 0;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    touch-action: none;
    transition: opacity .2s ease;
  }

  .ps-account-mobile-sheet-layer.is-open .ps-account-mobile-sheet-backdrop {
    opacity: 1;
  }

  .ps-account-mobile-sheet {
    position: absolute;
    inset-inline: 8px;
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    width: auto;
    max-height: min(72dvh, 590px);
    padding: 7px 12px calc(14px + env(safe-area-inset-bottom,0px));
    overflow: auto;
    overscroll-behavior: contain;
    touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 26px;
    background: linear-gradient(160deg,rgba(250,253,255,.985),rgba(235,247,251,.975));
    color: #12394f;
    box-shadow: 0 28px 70px rgba(4,32,48,.32), inset 0 1px 0 rgba(255,255,255,.96);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
    backdrop-filter: blur(24px) saturate(150%);
    transform: translateY(calc(100% + 28px));
    opacity: .86;
    transition: transform .22s cubic-bezier(.22,.7,.25,1), opacity .18s ease;
    outline: 0;
    direction: rtl;
  }

  .ps-account-mobile-sheet.is-open {
    transform: translateY(0);
    opacity: 1;
  }

  .ps-account-mobile-sheet-handle {
    width: 44px;
    height: 4px;
    margin: 2px auto 9px;
    border-radius: 999px;
    background: rgba(76,111,129,.26);
  }

  .ps-account-mobile-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 11px;
    padding: 0 2px;
  }

  .ps-account-mobile-sheet-head div {
    min-width: 0;
  }

  .ps-account-mobile-sheet-head small {
    display: block;
    color: #6c818d;
    font-size: .69rem;
    font-weight: 750;
  }

  .ps-account-mobile-sheet-head h2 {
    margin: 1px 0 0;
    color: #103e58;
    font-size: 1.08rem;
    line-height: 1.5;
  }

  .ps-account-mobile-sheet-close {
    appearance: none;
    display: grid;
    place-items: center;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid rgba(91,136,158,.18);
    border-radius: 14px;
    background: rgba(255,255,255,.72);
    color: #315467;
    font: 700 1.55rem/1 sans-serif;
    cursor: pointer;
    touch-action: manipulation;
  }

  .ps-account-mobile-sheet-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  .ps-account-mobile-sheet-item {
    display: grid;
    grid-template-columns: 34px minmax(0,1fr);
    align-items: center;
    gap: 8px;
    min-width: 0;
    min-height: 58px;
    padding: 8px 10px;
    border: 1px solid rgba(93,142,166,.17);
    border-radius: 17px;
    background: rgba(255,255,255,.70);
    color: #23485c;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.88);
    text-decoration: none;
    font-size: .82rem;
    font-weight: 850;
    line-height: 1.55;
    touch-action: manipulation;
  }

  .ps-account-mobile-sheet-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(10,115,232,.08);
    color: #0A73E8;
    font-size: .74rem;
    font-weight: 950;
    direction: ltr;
  }

  .ps-account-mobile-sheet-label {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .ps-account-mobile-sheet-item.is-active {
    border-color: rgba(24,201,210,.78) !important;
    background: linear-gradient(135deg,#0A73E8 0%,#087C9F 100%) !important;
    color: #fff !important;
    box-shadow: 0 9px 22px rgba(10,115,232,.23), inset 0 1px 0 rgba(255,255,255,.25) !important;
  }

  .ps-account-mobile-sheet-item.is-active .ps-account-mobile-sheet-icon {
    background: rgba(255,255,255,.18);
    color: #fff;
  }

  .ps-account-mobile-sheet-item.is-logout {
    grid-column: 1 / -1;
    border-color: rgba(194,56,69,.18);
    background: rgba(194,56,69,.055);
    color: #a72c3a;
  }

  .ps-account-mobile-sheet-item.is-logout .ps-account-mobile-sheet-icon {
    background: rgba(194,56,69,.10);
    color: #b83443;
  }

  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button {
    border-color: rgba(92,177,210,.24);
    background: linear-gradient(145deg,rgba(13,45,59,.95),rgba(9,36,49,.92));
    color: #ecf8fd;
    box-shadow: 0 12px 30px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.05);
  }

  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy small {
    color: #9eb9c6;
  }

  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy strong {
    color: #e7f7ff;
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet {
    border-color: rgba(106,180,207,.20);
    background: linear-gradient(160deg,rgba(11,39,52,.99),rgba(7,29,40,.985));
    color: #edf9fd;
    box-shadow: 0 30px 74px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.045);
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet-head small {
    color: #9bb7c4;
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet-head h2 {
    color: #effaff;
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet-close,
  html[data-ps-theme="dark"] .ps-account-mobile-sheet-item {
    border-color: rgba(108,171,197,.18);
    background: rgba(16,53,68,.80);
    color: #deeff6;
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet-icon {
    background: rgba(24,201,210,.10);
    color: #79dbe2;
  }
}

@media (max-width: 360px) {
  .ps-account-mobile-sheet {
    inset-inline: 5px;
    padding-inline: 9px;
    border-radius: 23px;
  }
  .ps-account-mobile-sheet-grid {
    gap: 7px;
  }
  .ps-account-mobile-sheet-item {
    grid-template-columns: 30px minmax(0,1fr);
    gap: 6px;
    min-height: 54px;
    padding: 7px 8px;
    border-radius: 15px;
    font-size: .77rem;
  }
  .ps-account-mobile-sheet-icon {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    font-size: .68rem;
  }
}

@media (min-width: 901px) {
  .ps-account-mobile-picker,
  .ps-account-mobile-sheet-layer {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-account-mobile-sheet,
  .ps-account-mobile-sheet-backdrop,
  .ps-account-mobile-picker-chevron {
    transition: none !important;
  }
}

/* Stage66.52R66.134 — mobile account UX polish.
 * Keeps the R66.131 interaction/deadlock safety contract intact and only
 * refines hierarchy, density, hit targets and visual noise on account pages.
 */
@media (max-width: 900px) {
  /* Remove the last generic page-card frame on My Account. The account surfaces
   * themselves provide the visual grouping, so a second outer rectangle only
   * wastes mobile space and makes the hierarchy feel boxed-in. */
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-content-shell {
    width: min(100%, 760px) !important;
    padding-inline: 10px !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-page-article {
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 0 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-page-header {
    margin: 0 0 7px !important;
    padding: 0 10px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-page-header h1,
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-page-article > h1 {
    margin: 0 !important;
    color: #12384e;
    font-size: clamp(1.34rem, 5.6vw, 1.62rem) !important;
    line-height: 1.55 !important;
    font-weight: 900 !important;
    letter-spacing: -.015em;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-entry-content {
    margin: 0 !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced {
    gap: 8px !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-layout-nav {
    padding-inline: 4px !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker {
    width: 100% !important;
    max-width: 620px;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button {
    position: relative;
    grid-template-columns: 40px minmax(0, 1fr) 30px;
    gap: 10px;
    min-height: 54px;
    padding: 6px 8px 6px 10px;
    overflow: hidden;
    border-color: rgba(35,126,171,.17);
    border-radius: 17px;
    background:
      radial-gradient(circle at 86% 18%, rgba(24,201,210,.12), transparent 34%),
      linear-gradient(145deg, rgba(255,255,255,.96), rgba(241,249,252,.92));
    box-shadow: 0 7px 18px rgba(29,78,104,.085), inset 0 1px 0 rgba(255,255,255,.92);
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button::after {
    content: '';
    position: absolute;
    inset-inline-start: 0;
    top: 12px;
    bottom: 12px;
    width: 3px;
    border-radius: 999px;
    background: linear-gradient(180deg, #0A73E8, #18C9D2);
    opacity: .88;
    pointer-events: none;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-mobile-picker-current-icon {
    display: grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(24,201,210,.20);
    border-radius: 13px;
    background: linear-gradient(145deg, rgba(10,115,232,.11), rgba(24,201,210,.12));
    color: #0A73E8;
    font-size: .78rem;
    line-height: 1;
    font-weight: 950;
    direction: ltr;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy {
    gap: 0;
    align-content: center;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy strong {
    order: 1;
    color: #0c4568;
    font-size: .94rem;
    line-height: 1.35;
    font-weight: 900;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-copy small {
    order: 2;
    margin-top: 1px;
    color: #708692;
    font-size: .63rem;
    line-height: 1.35;
    font-weight: 700;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-chevron {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 10px;
    background: rgba(10,115,232,.065);
    font-size: 1.05rem;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout-content {
    padding: 1px 4px 0 !important;
  }

  .ps-account-mobile-sheet-backdrop {
    background: rgba(6,26,38,.36);
    -webkit-backdrop-filter: blur(5px) saturate(112%);
    backdrop-filter: blur(5px) saturate(112%);
  }

  .ps-account-mobile-sheet {
    inset-inline: 9px;
    bottom: max(8px, env(safe-area-inset-bottom, 0px));
    max-height: min(70dvh, 570px);
    padding: 6px 10px calc(12px + env(safe-area-inset-bottom,0px));
    border-color: rgba(255,255,255,.9);
    border-radius: 29px;
    background:
      radial-gradient(circle at 88% 7%, rgba(24,201,210,.10), transparent 27%),
      linear-gradient(160deg, rgba(253,255,255,.99), rgba(239,248,252,.985));
    box-shadow: 0 26px 64px rgba(4,32,48,.28), inset 0 1px 0 rgba(255,255,255,.98);
  }

  .ps-account-mobile-sheet-handle {
    width: 40px;
    height: 4px;
    margin: 1px auto 7px;
    background: rgba(74,111,130,.22);
  }

  .ps-account-mobile-sheet-head {
    gap: 10px;
    margin-bottom: 9px;
    padding: 0 2px 2px;
  }

  .ps-account-mobile-sheet-head small {
    color: #718591;
    font-size: .64rem;
    line-height: 1.35;
  }

  .ps-account-mobile-sheet-head h2 {
    margin-top: 0;
    color: #103b55;
    font-size: 1.02rem;
    line-height: 1.45;
    font-weight: 950;
  }

  .ps-account-mobile-sheet-close {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
    border-radius: 13px;
    background: rgba(255,255,255,.76);
    color: #2e5266;
    font-size: 1.35rem;
  }

  .ps-account-mobile-sheet-grid {
    gap: 8px;
  }

  .ps-account-mobile-sheet-item {
    grid-template-columns: 32px minmax(0,1fr);
    gap: 8px;
    min-height: 54px;
    padding: 7px 9px;
    border-color: rgba(84,136,160,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.76);
    color: #24475a;
    box-shadow: 0 3px 9px rgba(28,76,100,.04), inset 0 1px 0 rgba(255,255,255,.92);
    font-size: .79rem;
    line-height: 1.48;
  }

  .ps-account-mobile-sheet-icon {
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: rgba(10,115,232,.07);
    font-size: .70rem;
  }

  .ps-account-mobile-sheet-label {
    display: -webkit-box;
    min-width: 0;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
  }

  .ps-account-mobile-sheet-item.is-active {
    border-color: rgba(24,201,210,.56) !important;
    background: linear-gradient(135deg,#0A73E8 0%,#087C9F 100%) !important;
    box-shadow: 0 8px 19px rgba(10,115,232,.20), inset 0 1px 0 rgba(255,255,255,.24) !important;
  }

  .ps-account-mobile-sheet-item.is-active::after {
    content: none;
    display: none;
  }

  .ps-account-mobile-sheet-item.is-active {
    grid-template-columns: 32px minmax(0,1fr);
  }

  .ps-account-mobile-sheet-item.is-logout {
    min-height: 50px;
    margin-top: 1px;
    border-color: rgba(188,56,70,.15);
    background: rgba(188,56,70,.045);
  }

  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-page-header h1,
  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-page-article > h1 {
    color: #eaf8fd;
  }

  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button {
    border-color: rgba(91,173,204,.20);
    background:
      radial-gradient(circle at 86% 18%, rgba(24,201,210,.12), transparent 34%),
      linear-gradient(145deg, rgba(13,44,58,.97), rgba(8,34,46,.95));
    box-shadow: 0 9px 22px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.055);
  }

  html[data-ps-theme="dark"] body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-mobile-picker-current-icon {
    border-color: rgba(80,184,207,.18);
    background: linear-gradient(145deg, rgba(10,115,232,.18), rgba(24,201,210,.12));
    color: #8fe5ea;
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet {
    border-color: rgba(111,180,205,.20);
    background:
      radial-gradient(circle at 88% 7%, rgba(24,201,210,.08), transparent 27%),
      linear-gradient(160deg, rgba(11,39,52,.995), rgba(7,29,40,.99));
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet-item {
    border-color: rgba(104,168,193,.15);
    background: rgba(16,53,68,.72);
  }

  html[data-ps-theme="dark"] .ps-account-mobile-sheet-close {
    background: rgba(18,55,69,.80);
  }
}

@media (max-width: 360px) {
  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-content-shell {
    padding-inline: 7px !important;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-layout.ps-account-mobile-enhanced .ps-account-mobile-picker-button {
    grid-template-columns: 36px minmax(0,1fr) 28px;
    gap: 8px;
    min-height: 52px;
    padding-inline: 7px 9px;
  }

  body.ps-stage66-account-page:not(.ps-stage66-public-auth) .ps-account-mobile-picker-current-icon {
    width: 36px;
    height: 36px;
    border-radius: 12px;
  }

  .ps-account-mobile-sheet {
    inset-inline: 5px;
    border-radius: 25px;
  }

  .ps-account-mobile-sheet-item,
  .ps-account-mobile-sheet-item.is-active {
    grid-template-columns: 29px minmax(0,1fr);
    min-height: 52px;
    gap: 6px;
    padding: 7px;
    font-size: .74rem;
  }

  .ps-account-mobile-sheet-item.is-active::after {
    display: none;
  }

  .ps-account-mobile-sheet-icon {
    width: 29px;
    height: 29px;
    border-radius: 9px;
    font-size: .65rem;
  }
}


/* Stage66.52R66.134 — accessibility/recovery/gesture closure.
 * Keeps R66.131–R66.133 interaction and layout-shift fixes intact. */
@media (max-width: 900px) {
  .ps-account-mobile-sheet.is-open {
    transform: translateY(var(--ps-account-sheet-drag-y, 0px));
    will-change: transform;
  }

  .ps-account-mobile-sheet.is-dragging {
    transition: none !important;
    user-select: none;
    -webkit-user-select: none;
  }

  /* The visual pill stays small, but its gesture hit-area is deliberately
   * larger so a downward swipe is reliable on Android without touching cards. */
  .ps-account-mobile-sheet-handle {
    position: relative;
    width: 72px !important;
    height: 26px !important;
    margin: -2px auto 0 !important;
    border-radius: 999px;
    background: transparent !important;
    touch-action: none;
    cursor: grab;
  }

  .ps-account-mobile-sheet-handle::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 10px;
    width: 42px;
    height: 4px;
    border-radius: 999px;
    background: rgba(74,111,130,.24);
    transform: translateX(-50%);
    pointer-events: none;
  }

  .ps-account-mobile-sheet.is-dragging .ps-account-mobile-sheet-handle {
    cursor: grabbing;
  }

  /* Seven functional account sections are an odd count. Let the last
   * non-logout item span the row instead of leaving a visually empty cell. */
  .ps-account-mobile-sheet-item.is-wide:not(.is-logout) {
    grid-column: 1 / -1;
    min-height: 52px;
  }

  /* The backdrop closes on pointer/touch but is not part of keyboard focus
   * order; the close button inside the dialog is the semantic control. */
  .ps-account-mobile-sheet-backdrop[tabindex="-1"] {
    outline: 0 !important;
  }
}

@media (max-height: 520px) and (max-width: 900px) {
  .ps-account-mobile-sheet {
    max-height: calc(100dvh - 16px);
  }

  .ps-account-mobile-sheet-handle {
    height: 22px !important;
  }

  .ps-account-mobile-sheet-handle::before {
    top: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-account-mobile-sheet.is-open {
    will-change: auto;
  }
}

/* source:release-auth-c-r66-145.css */
/* R66.145 consolidated cascade segment; source order preserved. */

/* source release-r66-127.css */
/* Stage66.52R66.127 — Auth OTP visual repair.
 * Final owner for the OTP verification PANEL. Historical CTA selectors
 * accidentally treated `.ps-otp-verify` (a container) as a primary button.
 */
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 15px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-text-fill-color: initial !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box][hidden] {
  display: none !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] > * {
  min-width: 0;
  max-width: 100%;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-destination {
  color: var(--ps-r66-muted) !important;
  background: var(--ps-r66-panel-soft) !important;
  border-color: var(--ps-r66-line) !important;
  box-shadow: none !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-code-fieldset {
  background: transparent !important;
  color: var(--ps-r66-ink) !important;
  box-shadow: none !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-code-cells {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: clamp(6px, 2.2vw, 10px) !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-code-cells input {
  width: 100% !important;
  min-width: 0 !important;
  height: clamp(48px, 13vw, 56px) !important;
  padding: 0 !important;
  border: 1px solid var(--ps-r66-line) !important;
  border-radius: 13px !important;
  background: var(--ps-r66-control) !important;
  color: var(--ps-r66-ink) !important;
  -webkit-text-fill-color: var(--ps-r66-ink) !important;
  box-shadow: inset 0 1px 2px rgba(22,63,80,.04) !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-code-cells input:is(:focus,:focus-visible) {
  border-color: #18C9D2 !important;
  background: var(--ps-r66-panel) !important;
  box-shadow: 0 0 0 4px rgba(24,201,210,.13) !important;
  outline: 0 !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-meta {
  color: var(--ps-r66-muted) !important;
}
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-resend,
body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-auth-back {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--ps-r66-blue-deep) !important;
}
@media (max-width: 390px) {
  body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-code-cells {
    gap: 5px !important;
  }
  body.ps-stage66-public-auth .ps-otp-verify[data-ps-otp-verify-box] .ps-otp-code-cells input {
    height: 46px !important;
    border-radius: 11px !important;
    font-size: 1.1rem !important;
  }
}
