:root {
  --sncp-ink: #132b3c;
  --sncp-muted: #647887;
  --sncp-blue: #1678a5;
  --sncp-cyan: #39b9c5;
  --sncp-cream: #f6f2e8;
  --sncp-paper: #fff;
  --sncp-line: #deeaee;
  --sncp-success: #16986f;
  --sncp-danger: #bc4356;
}

.sn-customer-portal,
.sn-customer-portal * { box-sizing: border-box; }
.sn-customer-portal {
  width: 100%; min-height: 100vh; margin: 0; color: var(--sncp-ink);
  background: #f5f9fa; font-family: inherit; line-height: 1.7;
}
.sn-customer-portal button,
.sn-customer-portal input { font: inherit; }

.sn-customer-login { display: grid; place-items: center; padding: 32px 18px; overflow: hidden; position: relative; }
.sn-customer-login::before,
.sn-customer-login::after { content: ""; position: fixed; border-radius: 50%; filter: blur(4px); pointer-events: none; }
.sn-customer-login::before { width: 420px; height: 420px; top: -210px; right: -150px; background: rgba(57,185,197,.18); }
.sn-customer-login::after { width: 360px; height: 360px; bottom: -210px; left: -120px; background: rgba(246,206,115,.2); }
.sn-customer-login-shell { width: min(440px, 100%); position: relative; z-index: 1; }
.sn-customer-login-brand { display: flex; align-items: center; gap: 12px; margin: 0 8px 22px; }
.sn-customer-brand-mark,
.sn-customer-logo span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(135deg,var(--sncp-blue),var(--sncp-cyan)); font-size: 24px; font-weight: 900; box-shadow: 0 9px 24px rgba(22,120,165,.22); }
.sn-customer-login-brand strong { display: block; font-size: 18px; }
.sn-customer-login-brand small { display: block; color: var(--sncp-muted); font-size: 12px; }
.sn-customer-login-card { padding: 36px; border: 1px solid rgba(222,234,238,.9); border-radius: 28px; background: rgba(255,255,255,.94); box-shadow: 0 24px 70px rgba(28,65,82,.12); backdrop-filter: blur(12px); }
.sn-customer-login-icon { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 18px; border-radius: 20px; color: var(--sncp-blue); background: #e9f7f8; font-size: 27px; }
.sn-customer-login-card h1 { margin: 0 0 6px; color: var(--sncp-ink) !important; font-size: 28px; line-height: 1.35; letter-spacing: -.5px; }
.sn-customer-login-card > p { margin: 0 0 25px; color: var(--sncp-muted); font-size: 14px; }
.sn-customer-login-card form label { display: block; margin-bottom: 7px; font-size: 13px; font-weight: 700; }
.sn-customer-login-card input { width: 100%; height: 54px; border: 1px solid #cadde2; border-radius: 15px; padding: 0 16px; background: #fbfdfd; color: var(--sncp-ink); outline: none; text-align: left; direction: ltr; transition: .2s ease; }
.sn-customer-login-card input:focus { border-color: var(--sncp-cyan); box-shadow: 0 0 0 4px rgba(57,185,197,.13); background: #fff; }
.sn-customer-login-card button[type="submit"] { width: 100%; height: 54px; margin-top: 14px; border: 0; border-radius: 15px; color: #fff; background: linear-gradient(135deg,var(--sncp-blue),#1a91b4); cursor: pointer; font-weight: 800; box-shadow: 0 10px 24px rgba(22,120,165,.2); transition: transform .15s ease,opacity .15s ease; }
.sn-customer-login-card button[type="submit"]:hover { transform: translateY(-1px); }
.sn-customer-login-card button:disabled { cursor: wait; opacity: .65; }
.sn-customer-login-card button.is-loading { color: transparent; position: relative; }
.sn-customer-login-card button.is-loading::after { content: ""; position: absolute; inset: 0; margin: auto; width: 20px; height: 20px; border: 2px solid rgba(255,255,255,.4); border-top-color: #fff; border-radius: 50%; animation: sncp-spin .7s linear infinite; }
.sn-customer-otp-caption { margin: 6px 0 14px; color: var(--sncp-muted); font-size: 14px; }
.sn-customer-otp-input { text-align: center !important; letter-spacing: 9px; font-size: 25px !important; font-weight: 800; }
.sn-customer-back,
.sn-customer-resend { border: 0; padding: 5px 0; color: var(--sncp-blue); background: transparent; cursor: pointer; font-size: 13px; font-weight: 700; }
.sn-customer-resend { width: 100%; margin-top: 10px; }
.sn-customer-resend:disabled { color: #8da0aa; }
.sn-customer-login-message { min-height: 28px; margin-top: 13px; font-size: 13px; text-align: center; }
.sn-customer-login-message.is-error { color: var(--sncp-danger); }
.sn-customer-login-message.is-success { color: var(--sncp-success); }
.sn-customer-login-message.is-info { color: var(--sncp-blue); }
.sn-customer-login-trust { display: grid; gap: 4px; margin-top: 20px; padding-top: 17px; border-top: 1px solid var(--sncp-line); color: var(--sncp-muted); font-size: 11px; }
.sn-customer-login-trust span::before { content: "✓"; margin-left: 6px; color: var(--sncp-success); font-weight: 900; }

.sn-customer-hero { min-height: 390px; position: relative; overflow: hidden; padding: 28px max(24px,calc((100% - 1160px)/2)); color: #fff; background: linear-gradient(125deg,#102d40 0%,#155e79 56%,#2da5ad 100%); }
.sn-customer-hero::after { content: ""; position: absolute; width: 430px; height: 430px; left: -110px; top: -190px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 70px rgba(255,255,255,.035),0 0 0 140px rgba(255,255,255,.025); }
.sn-customer-hero-glow { position: absolute; width: 380px; height: 300px; right: 18%; bottom: -220px; border-radius: 50%; background: #5ad2ca; filter: blur(90px); opacity: .3; }
.sn-customer-hero nav { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; }
.sn-customer-logo { display: flex; align-items: center; gap: 10px; }
.sn-customer-logo span { width: 38px; height: 38px; border-radius: 12px; background: rgba(255,255,255,.17); box-shadow: none; }
.sn-customer-logo strong { font-size: 20px; }
.sn-customer-hero nav a { padding: 8px 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; color: #fff; text-decoration: none; font-size: 12px; }
.sn-customer-welcome { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; margin-top: 58px; }
.sn-customer-welcome small { color: #b9e6e7; }
.sn-customer-welcome h1 { margin: 3px 0 5px; color: #fff; font-size: clamp(28px,4vw,44px); }
.sn-customer-welcome p { margin: 0; max-width: 560px; color: rgba(255,255,255,.73); font-size: 14px; }
.sn-customer-avatar { width: 92px; height: 92px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,255,255,.3); border-radius: 30px; background: rgba(255,255,255,.13); font-size: 42px; font-weight: 900; backdrop-filter: blur(10px); }
.sn-customer-kpis { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 36px; }
.sn-customer-kpis div { padding: 16px 19px; border: 1px solid rgba(255,255,255,.16); border-radius: 17px; background: rgba(255,255,255,.08); backdrop-filter: blur(9px); }
.sn-customer-kpis strong,.sn-customer-kpis span { display: block; }
.sn-customer-kpis strong { color: #fff; font-size: 20px; }
.sn-customer-kpis span { color: rgba(255,255,255,.68); font-size: 11px; }

.sn-customer-main { width: min(1160px,calc(100% - 36px)); margin: -2px auto 0; padding: 32px 0 76px; }
.sn-customer-identity { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; overflow: hidden; margin-bottom: 44px; border: 1px solid var(--sncp-line); border-radius: 19px; background: var(--sncp-line); box-shadow: 0 12px 30px rgba(27,73,92,.05); }
.sn-customer-identity div { padding: 19px 22px; background: #fff; }
.sn-customer-identity span,.sn-customer-identity strong { display: block; }
.sn-customer-identity span { color: var(--sncp-muted); font-size: 11px; }
.sn-customer-identity strong { margin-top: 3px; font-size: 14px; }
.sn-customer-section { margin-top: 44px; }
.sn-customer-section-head { display: flex; justify-content: space-between; align-items: center; gap: 28px; margin-bottom: 18px; }
.sn-customer-section-head > div { position: relative; padding-right: 16px; }
.sn-customer-section-head > div::before { content: ""; position: absolute; top: 5px; right: 0; width: 4px; height: 42px; border-radius: 99px; background: linear-gradient(180deg,var(--sncp-blue),var(--sncp-cyan)); }
.sn-customer-section-head span { display: block; margin-bottom: 1px; color: var(--sncp-blue) !important; font-size: 11px; font-weight: 800; line-height: 1.5; }
.sn-customer-section-head h2 { margin: 0 !important; padding: 0 !important; color: var(--sncp-ink) !important; font-size: 24px; font-weight: 900; line-height: 1.45; letter-spacing: -.25px; }
.sn-customer-section-head > small { max-width: 460px; color: var(--sncp-muted) !important; font-size: 12px; line-height: 1.8; text-align: left; }
.sn-customer-memberships { display: grid; gap: 22px; }
.sn-customer-membership { overflow: hidden; border: 1px solid var(--sncp-line); border-radius: 24px; background: #fff; box-shadow: 0 11px 30px rgba(27,73,92,.055); }
.sn-customer-membership > header { position: relative; display: flex; align-items: center; gap: 15px; min-height: 106px !important; margin: 0 !important; padding: 20px 22px !important; border-bottom: 1px solid var(--sncp-line); background: linear-gradient(90deg,#fff,#f5fbfb); }
.sn-customer-membership > header img,.sn-customer-membership-placeholder { width: 66px; height: 66px; flex: 0 0 auto; border-radius: 18px; object-fit: cover; }
.sn-customer-membership-placeholder { display: grid; place-items: center; color: var(--sncp-blue); background: #e6f5f6; font-size: 25px; }
.sn-customer-membership > header div:nth-child(2) { min-width: 0; flex: 1; }
.sn-customer-membership > header span,.sn-customer-membership > header small { display: block; color: var(--sncp-muted) !important; font-size: 11px; line-height: 1.7; }
.sn-customer-membership > header h3 { margin: 1px 0 !important; padding: 0 !important; overflow: hidden; color: var(--sncp-ink) !important; font-size: 19px; font-weight: 900; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.sn-customer-membership > header b { padding: 6px 11px; border-radius: 999px; color: var(--sncp-success); background: #e8f8f2; font-size: 11px; }
.sn-customer-membership.is-suspended > header b { color: var(--sncp-danger); background: #fcecef; }
.sn-customer-cards { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr)); gap: 14px; padding: 18px; }
.sn-customer-card { display: flex; min-width: 0; min-height: 172px !important; margin: 0 !important; overflow: hidden; border: 1px solid var(--sncp-line); border-radius: 19px; background: #fff; }
.sn-customer-card-image { width: 118px; min-height: 172px; flex: 0 0 auto; background: var(--sncp-cream); }
.sn-customer-card-image img { width: 100%; height: 100%; object-fit: cover; }
.sn-customer-card-image span { width: 100%; height: 100%; min-height: 172px; display: grid; place-items: center; color: #9e8656; font-weight: 900; }
.sn-customer-card-content { flex: 1; min-width: 0; padding: 15px; }
.sn-customer-card-state { display: inline-block; padding: 4px 8px; border-radius: 8px; color: var(--sncp-blue); background: #edf7f9; font-size: 10px; }
.sn-customer-card h4 { margin: 8px 0 13px !important; padding: 0 !important; color: var(--sncp-ink) !important; font-size: 16px; font-weight: 900; line-height: 1.55; }
.sn-customer-card-credit { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px dashed var(--sncp-line); }
.sn-customer-card-credit small { color: var(--sncp-muted); font-size: 10px; }
.sn-customer-card-credit strong { color: var(--sncp-ink); font-size: 12px; white-space: nowrap; }
.sn-customer-upgrades { margin-top: 11px; }
.sn-customer-upgrades summary { color: var(--sncp-blue); cursor: pointer; font-size: 11px; font-weight: 800; }
.sn-customer-upgrades > div { display: grid; gap: 6px; margin-top: 8px; }
.sn-customer-upgrades article { display: grid; padding: 8px 10px; border-radius: 10px; background: #f6fafb; }
.sn-customer-upgrades article strong { font-size: 11px; }
.sn-customer-upgrades article span,.sn-customer-upgrades article small,.sn-customer-card-no-upgrade { color: var(--sncp-muted); font-size: 9px; }
.sn-customer-card-no-upgrade { display: block; margin-top: 10px; }
.sn-customer-payment-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.sn-customer-payment-summary > div { min-width: 0; padding: 15px 17px; border: 1px solid var(--sncp-line); border-radius: 16px; background: linear-gradient(145deg,#fff,#f6fbfb); box-shadow: 0 7px 18px rgba(27,73,92,.035); }
.sn-customer-payment-summary span,.sn-customer-payment-summary strong { display: block; }
.sn-customer-payment-summary span { margin-bottom: 3px; color: var(--sncp-muted); font-size: 10px; }
.sn-customer-payment-summary strong { overflow: hidden; color: var(--sncp-ink); font-size: 14px; line-height: 1.65; text-overflow: ellipsis; white-space: nowrap; }
.sn-customer-payment-list { overflow: hidden; border: 1px solid var(--sncp-line); border-radius: 19px; background: #fff; box-shadow: 0 11px 30px rgba(27,73,92,.045); }
.sn-customer-payment-head,.sn-customer-payment-row { display: grid; grid-template-columns: 1.25fr 1fr 1.15fr .8fr 1fr; align-items: center; gap: 14px; }
.sn-customer-payment-head { padding: 11px 18px; color: var(--sncp-muted); background: #f2f8f9; font-size: 10px; font-weight: 800; }
.sn-customer-payment-row { min-height: 82px !important; margin: 0 !important; padding: 14px 18px !important; border-top: 1px solid #edf3f4; background: #fff; }
.sn-customer-payment-row:first-of-type { border-top: 0; }
.sn-customer-payment-row > div { min-width: 0; margin: 0 !important; padding: 0 !important; }
.sn-customer-payment-row strong,.sn-customer-payment-row span,.sn-customer-payment-row small,.sn-customer-payment-row time { display: block; margin: 0; color: var(--sncp-ink); line-height: 1.65; }
.sn-customer-payment-row strong { font-size: 12px; }
.sn-customer-payment-row small,.sn-customer-payment-row time { color: var(--sncp-muted); font-size: 9px; }
.sn-customer-payment-row bdi { direction: ltr; unicode-bidi: isolate; }
.sn-customer-payment-status { width: fit-content; padding: 4px 9px; border-radius: 999px; color: #85670d !important; background: #fff6d8; font-size: 10px; font-weight: 800; }
.sn-customer-payment-row.is-success .sn-customer-payment-status { color: var(--sncp-success) !important; background: #e8f8f2; }
.sn-customer-payment-row.is-failed .sn-customer-payment-status { color: var(--sncp-danger) !important; background: #fcecef; }
.sn-customer-payment-empty { padding-block: 26px; }
.sn-customer-timeline-section { margin-top: 52px; }
.sn-customer-timeline { position: relative; padding-right: 17px; }
.sn-customer-timeline::before { content: ""; position: absolute; top: 8px; bottom: 8px; right: 5px; width: 1px; background: #cde0e4; }
.sn-customer-timeline article { position: relative; display: flex; gap: 17px; min-height: 0 !important; margin: 0 !important; padding: 0 0 14px !important; }
.sn-customer-timeline article > i { position: absolute; right: -17px; top: 7px; width: 11px; height: 11px; border: 3px solid #f5f9fa; border-radius: 50%; background: var(--sncp-cyan); box-shadow: 0 0 0 1px var(--sncp-cyan); }
.sn-customer-timeline article > div { display: grid !important; width: 100%; min-height: 0 !important; margin: 0 !important; padding: 13px 17px !important; align-content: start !important; gap: 2px; border: 1px solid var(--sncp-line); border-radius: 15px; background: #fff; }
.sn-customer-timeline time { margin: 0 !important; color: var(--sncp-muted) !important; font-size: 10px; line-height: 1.6; }
.sn-customer-timeline h3 { margin: 0 !important; padding: 0 !important; color: var(--sncp-ink) !important; font-size: 14px; font-weight: 900; line-height: 1.65; }
.sn-customer-timeline p { margin: 0 !important; padding: 0 !important; color: var(--sncp-muted) !important; font-size: 12px; line-height: 1.7; }
.sn-customer-empty,.sn-customer-access-error { padding: 36px; border: 1px dashed #cbdde2; border-radius: 20px; background: #fff; text-align: center; }
.sn-customer-empty span { display: block; color: var(--sncp-cyan); font-size: 35px; }
.sn-customer-empty p,.sn-customer-access-error p { margin: 5px 0; color: var(--sncp-muted); }
.sn-customer-access-error { width: min(520px,calc(100% - 32px)); margin: 80px auto; }
.sn-customer-access-error a { display: inline-block; margin-top: 14px; color: var(--sncp-blue); }
.sn-customer-global-notice { position:fixed; top:18px; left:50%; z-index:50; transform:translateX(-50%); max-width:calc(100% - 32px); padding:11px 16px; border-radius:12px; color:#12694f; background:#e8f8f2; box-shadow:0 10px 30px rgba(19,43,60,.16); font-size:13px; font-weight:700; }
.sn-customer-global-notice.is-error { color:#9d3447; background:#fcecef; }

@keyframes sncp-spin { to { transform: rotate(360deg); } }
@media (max-width: 780px) {
  .sn-customer-hero { min-height: 450px; padding-inline: 20px; }
  .sn-customer-welcome { align-items: flex-end; margin-top: 48px; }
  .sn-customer-avatar { width: 68px; height: 68px; border-radius: 22px; font-size: 30px; }
  .sn-customer-kpis { grid-template-columns: 1fr; gap: 7px; margin-top: 26px; }
  .sn-customer-kpis div { display: flex; justify-content: space-between; align-items: center; padding: 10px 15px; }
  .sn-customer-kpis strong { font-size: 16px; }
  .sn-customer-identity,.sn-customer-cards { grid-template-columns: 1fr; }
	.sn-customer-payment-summary { grid-template-columns: 1fr; gap: 8px; }
  .sn-customer-identity { gap: 0; }
  .sn-customer-identity div + div { border-top: 1px solid var(--sncp-line); }
  .sn-customer-section-head { display: block; }
  .sn-customer-section-head > small { display: block; margin-top: 5px; text-align: right; }
	.sn-customer-payment-head { display: none; }
	.sn-customer-payment-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px 16px; padding: 15px !important; }
	.sn-customer-payment-row > div:first-child { grid-column: 1 / -1; padding-bottom: 9px !important; border-bottom: 1px dashed var(--sncp-line); }
	.sn-customer-payment-row > div::before { content: attr(data-label); display: block; margin-bottom: 2px; color: var(--sncp-muted); font-size: 9px; font-weight: 700; }
}
@media (max-width: 480px) {
  .sn-customer-login-card { padding: 26px 20px; border-radius: 22px; }
  .sn-customer-main { width: calc(100% - 24px); }
  .sn-customer-welcome p { font-size: 12px; }
  .sn-customer-avatar { display: none; }
  .sn-customer-membership > header { align-items: flex-start; padding: 16px; }
  .sn-customer-membership > header img,.sn-customer-membership-placeholder { width: 50px; height: 50px; border-radius: 14px; }
  .sn-customer-membership > header b { position: absolute; margin-top: 58px; }
  .sn-customer-cards { padding: 12px; }
  .sn-customer-card { display: block; }
  .sn-customer-card-image { width: 100%; min-height: 132px; height: 132px; }
	.sn-customer-payment-row { grid-template-columns: 1fr; }
	.sn-customer-payment-row > div:first-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .sn-customer-portal * { scroll-behavior: auto !important; transition: none !important; animation-duration: .01ms !important; }
}

/* Customer profile refresh v5 */
.sn-customer-portal { background: linear-gradient(180deg,#eef6f7 0,#f7fafb 440px,#f7fafb 100%); }
.sn-customer-hero { min-height: 350px; padding-top: 22px; padding-bottom: 50px; background: radial-gradient(circle at 15% 5%,rgba(74,206,199,.27),transparent 32%),linear-gradient(128deg,#0c293b 0%,#155d77 58%,#1f929e 100%); }
.sn-customer-hero nav { gap: 24px; }
.sn-customer-nav-links { display: flex; align-items: center; gap: 6px; }
.sn-customer-hero nav .sn-customer-nav-links a { padding: 7px 11px; border-color: transparent; color: rgba(255,255,255,.76); }
.sn-customer-hero nav .sn-customer-nav-links a:hover { color: #fff; background: rgba(255,255,255,.1); }
.sn-customer-hero nav .sn-customer-nav-links a.is-logout { margin-right: 6px; border-color: rgba(255,255,255,.28); color: #fff; }
.sn-customer-welcome { margin-top: 48px; }
.sn-customer-welcome h1 { letter-spacing: -.8px; }
.sn-customer-avatar { box-shadow: inset 0 1px 0 rgba(255,255,255,.22),0 18px 45px rgba(2,32,47,.2); }
.sn-customer-kpis { max-width: 820px; margin-top: 27px; }
.sn-customer-kpis div { padding: 13px 17px; background: rgba(255,255,255,.105); }
.sn-customer-main { position: relative; z-index: 3; margin-top: -30px; padding-top: 0; }
.sn-customer-identity { position: relative; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 34px; border: 0; border-radius: 22px; background: #fff; box-shadow: 0 20px 55px rgba(20,65,83,.12); }
.sn-customer-identity div { position: relative; display: grid; grid-template-columns: 42px 1fr; column-gap: 11px; align-items: center; min-width: 0; padding: 18px 20px; }
.sn-customer-identity div + div::before { position: absolute; inset-block: 18px; right: 0; width: 1px; background: var(--sncp-line); content: ""; }
.sn-customer-identity i { grid-row: 1/3; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 13px; color: var(--sncp-blue); background: #eaf6f7; font-size: 11px; font-style: normal; font-weight: 900; }
.sn-customer-identity span,.sn-customer-identity strong { grid-column: 2; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sn-customer-section { scroll-margin-top: 20px; margin-top: 38px; }
.sn-customer-section-head { padding-inline: 3px; }
.sn-customer-section-head h2 { font-size: 22px; }
.sn-customer-memberships { gap: 18px; }
.sn-customer-membership { border-radius: 22px; box-shadow: 0 14px 38px rgba(22,69,88,.07); }
.sn-customer-membership > header { background: linear-gradient(105deg,#fff 25%,#edf8f8); }
.sn-customer-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.sn-customer-card { position: relative; border-color: #e2edef; box-shadow: 0 5px 18px rgba(22,69,88,.035); transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.sn-customer-card:hover { transform: translateY(-2px); border-color: #c9e2e6; box-shadow: 0 13px 28px rgba(22,69,88,.09); }
.sn-customer-card-image { width: 108px; }
.sn-customer-card-content { padding: 16px; }
.sn-customer-card-actions { margin-top: 14px; padding-top: 12px; border-top: 1px solid #e8f0f2; }
.sn-customer-choice-grid { gap: 8px; }
.sn-customer-choice-grid > details,.sn-customer-expert-choice { border-radius: 13px; }
.sn-customer-global-notice { z-index:2147482000; display:flex; align-items:center; gap:8px; min-width:220px; padding:9px 13px; border:1px solid #cfeade; font-size:11px; }
.sn-customer-global-notice b { font-size:12px; }
.sn-customer-global-notice.is-error { border-color:#f0d0d7; }
@media (max-width: 900px) {
  .sn-customer-cards { grid-template-columns: 1fr; }
}
@media (max-width: 780px) {
  .sn-customer-hero { min-height: 410px; }
  .sn-customer-nav-links a:not(.is-logout) { display: none; }
  .sn-customer-main { margin-top: -22px; }
  .sn-customer-identity { grid-template-columns: 1fr; }
  .sn-customer-identity div + div::before { inset: 0 18px auto; width: auto; height: 1px; }
  .sn-customer-identity div + div { border-top: 0; }
}
@media (max-width: 480px) {
  .sn-customer-hero { min-height: 385px; padding-inline: 16px; }
  .sn-customer-logo strong { font-size: 17px; }
  .sn-customer-welcome { margin-top: 42px; }
  .sn-customer-kpis { margin-top: 22px; }
  .sn-customer-identity div { padding: 15px 16px; }
  .sn-customer-section-head h2 { font-size: 19px; }
  .sn-customer-membership > header b { position: static; margin: 0; }
  .sn-customer-card { display: grid; grid-template-columns: 1fr; }
  .sn-customer-card-image { width: 100%; min-height: 145px; height: 145px; }
}

/* Customer profile and asset-card UX v7 */
body.sn-customer-modal-open { overflow: hidden; }
.sn-customer-portal { background: #f4f7f8; }
.sn-customer-hero { min-height: 300px; padding-top: 20px; padding-bottom: 44px; background: radial-gradient(circle at 12% -10%,rgba(58,196,192,.3),transparent 34%),linear-gradient(128deg,#0b2637 0%,#114f68 58%,#168593 100%); }
.sn-customer-welcome { margin-top: 36px; }
.sn-customer-welcome h1 { font-size: clamp(27px,3.4vw,39px); }
.sn-customer-welcome p { max-width: 620px; }
.sn-customer-avatar { width: 76px; height: 76px; border-radius: 24px; font-size: 34px; }
.sn-customer-kpis { max-width: 760px; margin-top: 24px; }
.sn-customer-kpis div { padding: 11px 15px; border-radius: 14px; }
.sn-customer-kpis strong { font-size: 17px; }
.sn-customer-main { width: min(1180px,calc(100% - 32px)); margin-top: -25px; }
.sn-customer-identity { margin-bottom: 30px; border: 1px solid rgba(218,232,235,.9); border-radius: 18px; box-shadow: 0 14px 40px rgba(14,52,69,.1); }
.sn-customer-identity div { padding: 14px 17px; }
.sn-customer-identity i { width: 38px; height: 38px; border-radius: 11px; }
.sn-customer-section { margin-top: 32px; }
.sn-customer-section-head { margin-bottom: 14px; }
.sn-customer-section-head > div { padding-right: 13px; }
.sn-customer-section-head > div::before { top: 6px; width: 3px; height: 35px; }
.sn-customer-section-head h2 { font-size: 20px !important; }
.sn-customer-section-head > small { font-size: 11px; }
.sn-customer-memberships { gap: 14px; }
.sn-customer-membership { border-color: #dce8eb; border-radius: 20px; box-shadow: 0 9px 28px rgba(17,58,75,.06); }
.sn-customer-membership > header { min-height: 82px !important; padding: 14px 17px !important; gap: 12px; background: #fff; }
.sn-customer-membership > header img,.sn-customer-membership-placeholder { width: 50px; height: 50px; border-radius: 14px; }
.sn-customer-membership-placeholder { font-size: 20px; }
.sn-customer-membership-copy { min-width: 0; flex: 1; }
.sn-customer-membership > header .sn-customer-membership-copy span { color: #1a8296 !important; font-size: 9px; font-weight: 800; }
.sn-customer-membership > header .sn-customer-membership-copy h3 { margin: 0 !important; font-size: 16px; }
.sn-customer-membership > header .sn-customer-membership-copy small { font-size: 9px; }
.sn-customer-membership > header b { padding: 5px 10px; font-size: 9px; }
.sn-customer-cards { grid-template-columns: repeat(auto-fill,minmax(min(100%,285px),1fr)); gap: 12px; padding: 15px; background: #f7fafb; }
.sn-customer-card { display: grid !important; grid-template-columns: 84px minmax(0,1fr) !important; min-height: 150px !important; padding: 11px !important; gap: 12px; overflow: visible; border-color: #dfeaec; border-radius: 17px; background: #fff; box-shadow: 0 5px 15px rgba(17,58,75,.04); transition: transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.sn-customer-card:hover { transform: translateY(-2px); border-color: #bcdce1; box-shadow: 0 12px 27px rgba(17,74,93,.1); }
.sn-customer-card-image { width: 84px !important; height: 100% !important; min-height: 128px !important; overflow: hidden; border-radius: 13px; background: linear-gradient(145deg,#eef8f8,#f6f1e6); }
.sn-customer-card-image img { width: 100%; height: 100%; object-fit: cover; }
.sn-customer-card-image span { min-height: 128px !important; color: #247d91; background: radial-gradient(circle at 30% 20%,#fff,transparent 35%),linear-gradient(145deg,#e4f4f4,#f5eee1); font-size: 11px; }
.sn-customer-card-content { display: flex; min-width: 0; padding: 0 !important; flex-direction: column; align-items: stretch; }
.sn-customer-card-meta { display: flex; min-width: 0; align-items: center; gap: 5px; }
.sn-customer-card-state,.sn-customer-card-mode { display: block; width: fit-content; max-width: 100%; overflow: hidden; padding: 3px 7px; border-radius: 999px; font-size: 9px; font-weight: 800; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.sn-customer-card-state.is-progress { color: #176b88; background: #e9f5f8; }
.sn-customer-card-state.is-attention { color: #8a6509; background: #fff4d2; }
.sn-customer-card-state.is-success { color: #157455; background: #e6f6ef; }
.sn-customer-card-mode { flex: 0 0 auto; color: #6d7780; background: #f0f3f4; }
.sn-customer-card h4 { display: -webkit-box; overflow: hidden; margin: 7px 0 6px !important; color: #142f3f !important; font-size: 14px; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sn-customer-card-credit { margin-top: auto; padding: 6px 8px; border: 0; border-radius: 9px; background: #f3f8f9; }
.sn-customer-card-credit small { color: #71828b; font-size: 9px; }
.sn-customer-card-credit strong { color: #12384b; font-size: 11px; }
.sn-customer-card-open { display: flex; width: 100%; min-height: 32px; margin-top: 7px; padding: 5px 9px; justify-content: space-between; align-items: center; border: 1px solid #cde3e7; border-radius: 9px; color: #176f8d; background: #fff; cursor: pointer; font-family: inherit; font-size: 10px; font-weight: 900; transition: color .15s ease,background .15s ease,border-color .15s ease; }
.sn-customer-card-open i { font-size: 13px; font-style: normal; line-height: 1; transition: transform .15s ease; }
.sn-customer-card-open:hover,.sn-customer-card-open:focus-visible { color: #fff; border-color: #177c9b; outline: none; background: #177c9b; box-shadow: 0 0 0 3px rgba(57,185,197,.16); }
.sn-customer-card-open:hover i { transform: translateX(-2px); }
.sn-customer-card-modal[hidden] { display: none !important; }
.sn-customer-card-modal { position: fixed; inset: 0; z-index: 2147481000; display: grid; padding: 20px; place-items: center; direction: rtl; }
.sn-customer-card-modal,.sn-customer-card-modal * { box-sizing: border-box; }
.sn-customer-card-modal button,.sn-customer-card-modal input,.sn-customer-card-modal select,.sn-customer-card-modal textarea { font-family: inherit; }
.sn-customer-card-modal-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(7,26,37,.66); cursor: default; backdrop-filter: blur(5px); }
.sn-customer-card-dialog { position: relative; z-index: 1; width: min(760px,100%); max-height: min(90dvh,850px); overflow: hidden; border: 1px solid rgba(220,235,238,.95); border-radius: 22px; background: #fff; box-shadow: 0 34px 100px rgba(3,25,37,.34); color: var(--sncp-ink); animation: sncp-dialog-in .2s ease-out; }
.sn-customer-card-dialog > header { display: flex; min-height: 91px; justify-content: space-between; align-items: center; gap: 20px; padding: 15px 18px; border-bottom: 1px solid #e3edef; background: linear-gradient(112deg,#fff 40%,#edf7f7); }
.sn-customer-card-dialog-heading { display: flex; min-width: 0; align-items: center; gap: 12px; }
.sn-customer-card-dialog-heading > div:last-child { min-width: 0; }
.sn-customer-card-dialog-thumb { width: 58px; height: 58px; flex: 0 0 auto; overflow: hidden; border-radius: 15px; background: #edf5f6; }
.sn-customer-card-dialog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.sn-customer-card-dialog-thumb span { display: grid; width: 100%; height: 100%; place-items: center; color: #247d91; font-size: 9px; font-weight: 900; }
.sn-customer-card-dialog > header h3 { overflow: hidden; margin: 4px 0 0 !important; color: var(--sncp-ink) !important; font-size: 17px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.sn-customer-card-modal-close { width: 38px; height: 38px; flex: 0 0 auto; padding: 0; border: 1px solid #d7e7ea; border-radius: 12px; color: #4e6873; background: #fff; cursor: pointer; font: 400 25px/1 sans-serif !important; }
.sn-customer-card-modal-close:hover,.sn-customer-card-modal-close:focus-visible { color: var(--sncp-danger); border-color: #e9c9d0; outline: none; background: #fff7f8; }
.sn-customer-card-dialog-body { max-height: calc(min(90dvh,850px) - 91px); overflow: auto; padding: 18px 20px 24px; overscroll-behavior: contain; }
.sn-customer-card-dialog-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-bottom: 18px; }
.sn-customer-card-dialog-summary > div { min-width: 0; padding: 11px 13px; border: 1px solid #e1ecee; border-radius: 12px; background: #f7fafb; }
.sn-customer-card-dialog-summary span,.sn-customer-card-dialog-summary strong { display: block; }
.sn-customer-card-dialog-summary span { color: var(--sncp-muted); font-size: 9px; }
.sn-customer-card-dialog-summary strong { overflow: hidden; margin-top: 2px; color: #173748; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.sn-customer-card-dialog-section { display: flex; align-items: center; gap: 8px; margin: 2px 0 10px; color: #193b4c; font-size: 12px; font-weight: 900; }
.sn-customer-card-dialog-section::before { width: 4px; height: 18px; border-radius: 999px; background: linear-gradient(180deg,var(--sncp-blue),var(--sncp-cyan)); content: ""; }
.sn-customer-card-dialog .sn-customer-upgrades { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #e2ecee; border-radius: 12px; background: #fff; }
.sn-customer-card-dialog .sn-customer-upgrades > div { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.sn-customer-card-dialog .sn-customer-upgrades article { min-height: 65px; padding: 9px 11px; border: 1px solid #e7eff1; background: #f7fafb; }
.sn-customer-card-dialog .sn-customer-card-no-upgrade { margin: 0 0 11px; padding: 9px 11px; border-radius: 10px; color: #788992; background: #f5f8f9; }
.sn-customer-card-dialog .sn-customer-card-actions { margin-top: 0; padding-top: 12px; border-top: 1px solid #e7eff1; }
.sn-customer-card-dialog .sn-customer-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.sn-customer-card-dialog .sn-customer-choice-grid > details,.sn-customer-card-dialog .sn-customer-expert-choice { min-width: 0; margin: 0; border: 1px solid #dfeaed; border-radius: 13px; background: #fff; }
.sn-customer-card-dialog .sn-customer-choice-grid > details summary { padding: 11px 12px; color: #176f8d; cursor: pointer; font-size: 11px; font-weight: 900; }
.sn-customer-card-dialog .sn-customer-expert-choice { padding: 11px 12px; }
.sn-customer-card-dialog .sn-customer-operation-state,.sn-customer-card-dialog .sn-customer-payment-pending,.sn-customer-card-dialog .sn-customer-callback-time { border-radius: 12px; }
@keyframes sncp-dialog-in { from { opacity: 0; transform: translateY(8px) scale(.985); } to { opacity: 1; transform: none; } }
@media (max-width: 900px) {
  .sn-customer-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .sn-customer-hero { min-height: 370px; padding-inline: 16px; }
  .sn-customer-welcome { margin-top: 38px; }
  .sn-customer-avatar { display: none; }
  .sn-customer-main { width: calc(100% - 22px); }
  .sn-customer-identity { grid-template-columns: 1fr; }
  .sn-customer-cards { grid-template-columns: 1fr; padding: 10px; }
  .sn-customer-card { grid-template-columns: 76px minmax(0,1fr) !important; min-height: 136px !important; padding: 10px !important; gap: 10px; }
  .sn-customer-card-image { width: 76px !important; min-height: 114px !important; }
  .sn-customer-card-image span { min-height: 114px !important; }
  .sn-customer-card-modal { padding: 8px; align-items: end; }
  .sn-customer-card-dialog { width: 100%; max-height: 94dvh; border-radius: 20px 20px 12px 12px; animation-name: sncp-dialog-mobile-in; }
  .sn-customer-card-dialog > header { min-height: 78px; padding: 12px 13px; }
  .sn-customer-card-dialog-thumb { width: 50px; height: 50px; border-radius: 13px; }
  .sn-customer-card-dialog > header h3 { max-width: 230px; font-size: 14px; }
  .sn-customer-card-dialog-body { max-height: calc(94dvh - 78px); padding: 14px 13px 20px; }
  .sn-customer-card-dialog-summary { grid-template-columns: 1fr; gap: 7px; }
  .sn-customer-card-dialog .sn-customer-upgrades > div,.sn-customer-card-dialog .sn-customer-choice-grid { grid-template-columns: 1fr; }
}
@keyframes sncp-dialog-mobile-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* Customer profile refresh v8 — compact wallet dashboard and purchase history. */
.sn-customer-main { width:min(1080px,calc(100% - 32px)); }
.sn-customer-credit-wallet { position:relative; display:grid; min-height:226px; margin:-4px 0 22px; padding:25px 27px; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:25px; color:#fff; background:radial-gradient(circle at 10% 0,rgba(54,204,194,.35),transparent 34%),linear-gradient(128deg,#0b2637 0%,#12546d 54%,#15919b 100%); box-shadow:0 22px 54px rgba(9,54,72,.2); }
.sn-customer-credit-wallet::after { position:absolute; left:-70px; bottom:-112px; width:270px; height:270px; border:34px solid rgba(255,255,255,.055); border-radius:50%; content:""; }
.sn-customer-credit-wallet-top,.sn-customer-credit-wallet-balance,.sn-customer-credit-wallet-actions { position:relative; z-index:1; }
.sn-customer-credit-wallet-top { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; }
.sn-customer-credit-wallet-top small,.sn-customer-credit-wallet-top strong,.sn-customer-credit-wallet-balance small { display:block; }
.sn-customer-credit-wallet-top small { color:rgba(255,255,255,.66); font-size:10px; }
.sn-customer-credit-wallet-top strong { margin-top:3px; font-size:15px; }
.sn-customer-credit-wallet-top > span { padding:7px 10px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:rgba(255,255,255,.8); font-size:9px; font-weight:900; letter-spacing:1px; }
.sn-customer-credit-wallet-balance { align-self:center; margin:24px 0 18px; }
.sn-customer-credit-wallet-balance small { color:rgba(255,255,255,.67); font-size:10px; }
.sn-customer-credit-wallet-balance strong { display:block; margin-top:3px; color:#fff; font-size:clamp(24px,4vw,34px); line-height:1.45; }
.sn-customer-credit-wallet-actions { display:flex; gap:9px; margin-top:auto; }
.sn-customer-credit-wallet-actions a { display:inline-flex; min-height:38px; padding:7px 12px; align-items:center; gap:7px; border:1px solid rgba(255,255,255,.18); border-radius:12px; color:#fff; background:rgba(255,255,255,.09); text-decoration:none; font-size:10px; font-weight:900; backdrop-filter:blur(5px); }
.sn-customer-credit-wallet-actions a:hover { background:rgba(255,255,255,.16); }
.sn-customer-credit-wallet-actions span { display:grid; width:21px; height:21px; place-items:center; border-radius:7px; background:rgba(255,255,255,.13); font-size:13px; }
.sn-customer-profile-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; margin-bottom:22px; }
.sn-customer-profile-summary > div { display:flex; min-height:76px; padding:15px 17px; flex-direction:column; justify-content:center; border:1px solid #dfebed; border-radius:17px; background:#fff; box-shadow:0 8px 25px rgba(19,66,83,.055); }
.sn-customer-profile-summary strong { color:#12374a; font-size:20px; }
.sn-customer-profile-summary span { margin-top:3px; color:#7b8d95; font-size:10px; font-weight:700; }
.sn-customer-purchase-list { overflow:hidden; border:1px solid #dfeaec; border-radius:20px; background:#fff; box-shadow:0 10px 30px rgba(18,63,81,.055); }
.sn-customer-purchase-list article { display:grid; grid-template-columns:42px minmax(0,1fr) auto; min-height:83px; padding:14px 17px; align-items:center; gap:13px; }
.sn-customer-purchase-list article + article { border-top:1px solid #e8eff1; }
.sn-customer-purchase-symbol { display:grid; width:42px; height:42px; place-items:center; border-radius:13px; color:#177e91; background:#eaf6f7; font-size:20px; }
.sn-customer-purchase-list article > div { min-width:0; }
.sn-customer-purchase-list article > div > strong,.sn-customer-purchase-list article > div > small { display:block; }
.sn-customer-purchase-list article > div > strong { overflow:hidden; color:#183848; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.sn-customer-purchase-list article > div > small { margin-top:4px; color:#829198; font-size:9px; }
.sn-customer-purchase-end { text-align:left; }
.sn-customer-purchase-end b,.sn-customer-purchase-end span { display:block; white-space:nowrap; }
.sn-customer-purchase-end b { color:#163b4c; font-size:11px; }
.sn-customer-purchase-end span { width:max-content; margin:5px 0 0 auto; padding:3px 8px; border-radius:999px; color:#157358; background:#e9f7f1; font-size:8px; font-weight:900; }
.sn-customer-payment-head,.sn-customer-payment-row { grid-template-columns:1.05fr 1.65fr .9fr .85fr .8fr .82fr; }
.sn-customer-payment-reason strong { color:#254b5c; font-size:10px; line-height:1.8; }
.sn-customer-profile-logout { display:flex; justify-content:center; margin:38px 0 8px; }
.sn-customer-profile-logout a { display:inline-flex; min-height:42px; padding:9px 18px; align-items:center; border:1px solid #d9e6e8; border-radius:13px; color:#49636e; background:#fff; text-decoration:none; font-size:11px; font-weight:900; }
.sn-customer-profile-logout a:hover { color:#a14351; border-color:#edd0d5; background:#fff8f9; }
@media (max-width:780px) {
  .sn-customer-profile-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sn-customer-payment-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sn-customer-payment-reason { grid-column:1/-1; }
}
@media (max-width:520px) {
  .sn-customer-credit-wallet { min-height:210px; padding:21px 19px; border-radius:21px; }
  .sn-customer-credit-wallet-actions { display:grid; grid-template-columns:1fr 1fr; }
  .sn-customer-credit-wallet-actions a { justify-content:center; padding-inline:8px; }
  .sn-customer-profile-summary { gap:7px; }
  .sn-customer-profile-summary > div { min-height:68px; padding:11px 9px; border-radius:14px; }
  .sn-customer-profile-summary strong { font-size:17px; }
  .sn-customer-profile-summary span { font-size:8px; }
  .sn-customer-purchase-list article { grid-template-columns:36px minmax(0,1fr); padding:12px; gap:10px; }
  .sn-customer-purchase-symbol { width:36px; height:36px; border-radius:11px; }
  .sn-customer-purchase-end { grid-column:2; display:flex; justify-content:space-between; align-items:center; text-align:right; gap:8px; }
  .sn-customer-purchase-end span { margin:0; }
}

/* Customer profile v9 — titled accordions, WooCommerce card media and descriptions. */
.sn-customer-accordion { display:block; margin:14px 0 0; overflow:hidden; border:1px solid #dce8eb; border-radius:21px; background:#fff; box-shadow:0 10px 30px rgba(18,63,81,.055); scroll-margin-top:18px; }
.sn-customer-accordion.sn-customer-section { margin-top:14px; }
.sn-customer-accordion > summary { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) 38px; min-height:78px; padding:15px 18px; align-items:center; gap:16px; color:#173748; background:linear-gradient(105deg,#fff 30%,#f3f9fa); cursor:pointer; list-style:none; user-select:none; }
.sn-customer-accordion > summary::-webkit-details-marker { display:none; }
.sn-customer-accordion > summary::marker { display:none; content:""; }
.sn-customer-accordion > summary:hover { background:linear-gradient(105deg,#fff 24%,#edf7f8); }
.sn-customer-accordion[open] > summary { border-bottom:1px solid #e2edef; }
.sn-customer-accordion-heading { display:block; min-width:0; padding-right:12px; border-right:3px solid #27aeb7; }
.sn-customer-accordion-heading small,.sn-customer-accordion-heading strong { display:block; }
.sn-customer-accordion-heading small { margin-bottom:1px; color:#188096; font-size:9px; font-weight:900; }
.sn-customer-accordion-heading strong { overflow:hidden; color:#173748; font-size:16px; line-height:1.65; text-overflow:ellipsis; white-space:nowrap; }
.sn-customer-accordion-help { color:#71858e; font-size:10px; line-height:1.8; text-align:left; }
.sn-customer-accordion-icon { position:relative; display:grid; width:36px; height:36px; place-items:center; border:1px solid #cfe2e5; border-radius:11px; background:#fff; }
.sn-customer-accordion-icon::before { width:8px; height:8px; border:solid #257b90; border-width:0 2px 2px 0; content:""; transform:translateY(-2px) rotate(45deg); transition:transform .18s ease; }
.sn-customer-accordion[open] .sn-customer-accordion-icon::before { transform:translateY(2px) rotate(225deg); }
.sn-customer-accordion-body { padding:17px; background:#f8fbfb; animation:sncp-accordion-in .18s ease-out; }
.sn-customer-account-accordion .sn-customer-accordion-body { display:grid; gap:14px; }
.sn-customer-account-accordion .sn-customer-identity,.sn-customer-account-accordion .sn-customer-credit-wallet,.sn-customer-account-accordion .sn-customer-profile-summary { margin:0; }
.sn-customer-account-accordion .sn-customer-identity { box-shadow:none; border:1px solid #e0eaec; }
.sn-customer-account-accordion .sn-customer-credit-wallet { min-height:205px; }
.sn-customer-accordion-body > .sn-customer-memberships { gap:14px; }
.sn-customer-card { grid-template-columns:126px minmax(0,1fr) !important; min-height:112px !important; align-items:start; }
.sn-customer-card-image { width:126px !important; height:auto !important; min-height:0 !important; aspect-ratio:3/2; align-self:start; border-radius:13px; }
.sn-customer-card-image img,.sn-customer-card-image span { width:100%; height:100% !important; min-height:0 !important; aspect-ratio:3/2; object-fit:cover; object-position:center; }
.sn-customer-card-image span { padding:8px; text-align:center; font-size:9px; }
.sn-customer-card-dialog-thumb { width:90px; height:auto; aspect-ratio:3/2; border-radius:13px; }
.sn-customer-card-dialog-thumb img,.sn-customer-card-dialog-thumb span { width:100%; height:100%; aspect-ratio:3/2; object-fit:cover; }
.sn-customer-card-description { margin:0 0 18px; padding:14px 16px; border:1px solid #e1ecee; border-radius:13px; color:#425d69; background:#f8fbfb; font-size:11px; line-height:2; }
.sn-customer-card-description > :first-child { margin-top:0 !important; }
.sn-customer-card-description > :last-child { margin-bottom:0 !important; }
.sn-customer-card-description p,.sn-customer-card-description ul,.sn-customer-card-description ol { margin:0 0 9px; }
.sn-customer-card-description img { max-width:100%; height:auto; border-radius:10px; }
.sn-customer-card-description h1,.sn-customer-card-description h2,.sn-customer-card-description h3,.sn-customer-card-description h4 { margin:12px 0 6px !important; color:#173748 !important; font-size:13px !important; line-height:1.8; }
.sn-customer-card-description-empty { color:#819098; }
@keyframes sncp-accordion-in { from { opacity:.25; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media (max-width:680px) {
  .sn-customer-accordion { border-radius:17px; }
  .sn-customer-accordion > summary { grid-template-columns:minmax(0,1fr) 34px; min-height:70px; padding:13px 14px; gap:10px; }
  .sn-customer-accordion-help { display:none; }
  .sn-customer-accordion-icon { width:32px; height:32px; border-radius:10px; }
  .sn-customer-accordion-body { padding:11px; }
  .sn-customer-card { grid-template-columns:108px minmax(0,1fr) !important; min-height:94px !important; }
  .sn-customer-card-image { width:108px !important; min-height:0 !important; }
  .sn-customer-card-dialog-thumb { width:72px; height:auto; }
}

/* Customer profile v11 — per-card execution tracking. */
.sn-customer-execution-track { margin-top:16px; }
.sn-customer-execution-current { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.sn-customer-execution-current > span { display:grid; gap:3px; padding:11px 12px; border:1px solid #dce9ec; border-radius:11px; background:#f6fafb; }
.sn-customer-execution-current small { color:#71858e; font-size:9px; }
.sn-customer-execution-current strong { color:#164b61; font-size:11px; }
.sn-customer-execution-note { display:flex; justify-content:space-between; gap:10px; margin:8px 0 0; padding:10px 12px; color:#285b70; background:#eaf6fa; border-radius:10px; font-size:10px; }
.sn-customer-execution-events { display:grid; gap:0; margin:10px 0 0; padding:0; list-style:none; border:1px solid #e0ebed; border-radius:12px; overflow:hidden; }
.sn-customer-execution-events li { display:flex; justify-content:space-between; gap:10px; padding:9px 11px; background:#fff; font-size:10px; }
.sn-customer-execution-events li + li { border-top:1px solid #edf2f3; }
.sn-customer-execution-events time { color:#748790; font-size:9px; }
@media (max-width:520px) { .sn-customer-execution-current { grid-template-columns:1fr; } .sn-customer-execution-events li { display:grid; } }
@media (max-width:420px) {
  .sn-customer-card { grid-template-columns:96px minmax(0,1fr) !important; gap:9px; }
  .sn-customer-card-image { width:96px !important; }
  .sn-customer-card h4 { font-size:12px; }
  .sn-customer-card-description { padding:12px; }
}

/* Customer profile v10 — persistent account/credit and Dot subscription themes. */
.sn-customer-static-section { display:block; margin:14px 0 0; overflow:hidden; border:1px solid #dce8eb; border-radius:21px; background:#fff; box-shadow:0 10px 30px rgba(18,63,81,.055); scroll-margin-top:18px; }
.sn-customer-static-section-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.8fr); min-height:78px; padding:15px 18px; align-items:center; gap:16px; border-bottom:1px solid #e2edef; background:linear-gradient(105deg,#fff 30%,#f3f9fa); }
.sn-customer-static-section-body { display:grid; gap:14px; padding:17px; background:#f8fbfb; }
.sn-customer-account-section .sn-customer-identity,.sn-customer-account-section .sn-customer-credit-wallet,.sn-customer-account-section .sn-customer-profile-summary { margin:0; }
.sn-customer-account-section .sn-customer-identity { border:1px solid #e0eaec; box-shadow:none; }
.sn-customer-account-section .sn-customer-credit-wallet { min-height:205px; }
.sn-customer-membership { --sn-membership-accent:#177c91; border-color:color-mix(in srgb,var(--sn-membership-accent) 34%,#dce8eb); background:color-mix(in srgb,var(--sn-membership-accent) 7%,#fff); box-shadow:0 10px 30px color-mix(in srgb,var(--sn-membership-accent) 14%,transparent); }
.sn-customer-membership > header { border-bottom:1px solid color-mix(in srgb,var(--sn-membership-accent) 22%,#e4edef); background:linear-gradient(110deg,color-mix(in srgb,var(--sn-membership-accent) 13%,#fff),#fff 72%); }
.sn-customer-membership > header .sn-customer-membership-copy span { color:var(--sn-membership-accent) !important; }
.sn-customer-membership > header b { color:var(--sn-membership-accent); background:color-mix(in srgb,var(--sn-membership-accent) 12%,#fff); }
.sn-customer-membership .sn-customer-membership-placeholder { color:var(--sn-membership-accent); background:color-mix(in srgb,var(--sn-membership-accent) 13%,#fff); }
.sn-customer-membership .sn-customer-cards { background:color-mix(in srgb,var(--sn-membership-accent) 8%,#fff); }
.sn-customer-membership .sn-customer-card { border-color:color-mix(in srgb,var(--sn-membership-accent) 25%,#e6edef); background:linear-gradient(145deg,#fff 55%,color-mix(in srgb,var(--sn-membership-accent) 7%,#fff)); }
.sn-customer-membership .sn-customer-card:hover { border-color:color-mix(in srgb,var(--sn-membership-accent) 55%,#d7e5e8); box-shadow:0 12px 27px color-mix(in srgb,var(--sn-membership-accent) 17%,transparent); }
.sn-customer-membership .sn-customer-card-state.is-progress,.sn-customer-membership .sn-customer-card-credit { color:var(--sn-membership-accent); background:color-mix(in srgb,var(--sn-membership-accent) 10%,#fff); }
.sn-customer-membership .sn-customer-card-credit strong { color:color-mix(in srgb,var(--sn-membership-accent) 76%,#102f3f); }
.sn-customer-membership .sn-customer-card-open { color:var(--sn-membership-accent); border-color:color-mix(in srgb,var(--sn-membership-accent) 34%,#dce8eb); }
.sn-customer-membership .sn-customer-card-open:hover,.sn-customer-membership .sn-customer-card-open:focus-visible { color:#fff; border-color:var(--sn-membership-accent); background:var(--sn-membership-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--sn-membership-accent) 18%,transparent); }
@media (max-width:680px) {
  .sn-customer-static-section { border-radius:17px; }
  .sn-customer-static-section-head { grid-template-columns:1fr; min-height:70px; padding:13px 14px; }
  .sn-customer-static-section-head .sn-customer-accordion-help { display:none; }
  .sn-customer-static-section-body { padding:11px; }
}


/* Customer card action + true viewport-centered dialog v10 */
html.sn-customer-modal-open,body.sn-customer-modal-open{overflow:hidden!important}
.sn-customer-card-open{position:relative;display:flex;min-height:42px!important;margin-top:10px!important;padding:8px 13px!important;justify-content:center!important;gap:9px;border:0!important;border-radius:11px!important;color:#fff!important;background:linear-gradient(135deg,#116f8e,#1b9eaa)!important;box-shadow:0 7px 18px rgba(20,117,143,.17);font-size:11px!important;font-weight:900!important}
.sn-customer-card-open:before{display:inline-grid;width:21px;height:21px;place-items:center;border-radius:7px;background:rgba(255,255,255,.16);content:'◉';font-size:9px;line-height:1}
.sn-customer-card-open i{position:absolute;left:13px;font-size:15px!important}
.sn-customer-card-open:hover,.sn-customer-card-open:focus-visible{border:0!important;color:#fff!important;outline:none;background:linear-gradient(135deg,#0d607c,#168a95)!important;box-shadow:0 10px 25px rgba(20,117,143,.25),0 0 0 3px rgba(57,185,197,.14)!important;transform:translateY(-1px)}
.sn-customer-card-modal{position:fixed!important;inset:0!important;z-index:2147483640!important;display:flex!important;width:100vw!important;height:100dvh!important;padding:24px!important;align-items:center!important;justify-content:center!important;overflow:auto!important;direction:rtl!important}
.sn-customer-card-modal[hidden]{display:none!important}
.sn-customer-card-modal-backdrop{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;background:rgba(6,24,35,.72)!important;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.sn-customer-card-dialog{position:relative!important;z-index:2!important;width:min(820px,calc(100vw - 48px))!important;max-height:calc(100dvh - 48px)!important;margin:auto!important;overflow:hidden!important;border:1px solid rgba(215,232,236,.96)!important;border-radius:24px!important;background:#fff!important;box-shadow:0 38px 120px rgba(2,21,32,.42)!important;animation:sncp-dialog-centered-in .18s ease-out!important}
.sn-customer-card-dialog>header{min-height:96px!important;padding:16px 20px!important;background:linear-gradient(115deg,#fff 38%,#edf8f8)!important}
.sn-customer-card-dialog-body{max-height:calc(100dvh - 144px)!important;padding:20px 22px 26px!important}
.sn-customer-card-modal-close{width:42px!important;height:42px!important;border-radius:13px!important;box-shadow:0 4px 12px rgba(20,70,88,.07)}
@keyframes sncp-dialog-centered-in{from{opacity:0;transform:translateY(10px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:680px){.sn-customer-card-modal{padding:10px!important;align-items:center!important}.sn-customer-card-dialog{width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important;border-radius:20px!important}.sn-customer-card-dialog>header{min-height:82px!important;padding:12px 13px!important}.sn-customer-card-dialog-body{max-height:calc(100dvh - 102px)!important;padding:14px 13px 20px!important}.sn-customer-card-dialog>header h3{max-width:210px!important}}

/* 2.0.80: portrait product images and customer assisted activation. */
.sn-customer-membership .sn-customer-card {
  grid-template-columns: 122px minmax(0, 1fr) !important;
  min-height: 190px !important;
  align-items: start;
}
.sn-customer-membership .sn-customer-card-image {
  width: 122px !important;
  height: 183px !important;
  min-height: 0 !important;
  aspect-ratio: 2 / 3 !important;
  align-self: start;
  overflow: hidden;
}
.sn-customer-membership .sn-customer-card-image img,
.sn-customer-membership .sn-customer-card-image span {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.sn-customer-card-dialog .sn-customer-card-dialog-thumb {
  width: 76px !important;
  height: 114px !important;
  aspect-ratio: 2 / 3 !important;
  flex: 0 0 76px;
}
.sn-customer-card-dialog .sn-customer-card-dialog-thumb img,
.sn-customer-card-dialog .sn-customer-card-dialog-thumb span {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
}
.sn-customer-card-dialog > header { min-height: 136px !important; }
.sn-customer-card-dialog-body { max-height: calc(100dvh - 180px) !important; }
.sn-customer-assisted-choice {
  margin-top: 10px;
  border: 1px solid #d7e8eb;
  border-radius: 13px;
  background: #fff;
  overflow: hidden;
}
.sn-customer-assisted-choice > summary {
  padding: 13px 15px;
  color: #175e78;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  list-style: none;
}
.sn-customer-assisted-choice > summary::-webkit-details-marker { display: none; }
.sn-customer-assisted-choice > summary::after { content: '⌄'; float: left; font-size: 17px; line-height: 1; }
.sn-customer-assisted-choice[open] > summary { border-bottom: 1px solid #e1ecee; }
.sn-customer-assisted-choice[open] > summary::after { transform: rotate(180deg); }
.sn-customer-card-dialog .sn-customer-assisted-choice .sn-customer-expert-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  margin: 0;
  padding: 13px 15px 16px;
  border: 0;
  border-radius: 0;
  background: #fff;
}
.sn-customer-assisted-choice .sn-customer-expert-choice > p { font-size: 12px; line-height: 1.7; }
.sn-customer-assisted-choice .sn-customer-expert-choice label {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
  gap: 6px;
  font-size: 12px;
}
.sn-customer-assisted-choice .sn-ops-jalali-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  width: 100%;
  min-width: 0;
  gap: 8px;
}
.sn-customer-assisted-choice .sn-ops-jalali-wrap > .sn-ops-jalali-date {
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px;
  text-align: right;
  direction: rtl;
  border-radius: 10px;
}
.sn-customer-assisted-choice .sn-ops-jalali-trigger {
  width: auto !important;
  min-width: 92px;
  margin: 0 !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
}
.sn-customer-assisted-choice [data-sn-ops-followup-submit] { min-height: 44px; font-size: 12px; }
body > .sn-ops-jalali-picker.sn-ops-jalali-floating {
  z-index: 2147483647 !important;
  max-width: calc(100vw - 24px);
}
@media (max-width: 680px) {
  .sn-customer-membership .sn-customer-card { grid-template-columns: 108px minmax(0, 1fr) !important; min-height: 170px !important; }
  .sn-customer-membership .sn-customer-card-image { width: 108px !important; height: 162px !important; }
  .sn-customer-card-dialog .sn-customer-card-dialog-thumb { width: 68px !important; height: 102px !important; flex-basis: 68px; }
  .sn-customer-card-dialog > header { min-height: 122px !important; }
  .sn-customer-card-dialog-body { max-height: calc(100dvh - 144px) !important; }
}
@media (max-width: 420px) {
  .sn-customer-membership .sn-customer-card { grid-template-columns: 96px minmax(0, 1fr) !important; min-height: 152px !important; }
  .sn-customer-membership .sn-customer-card-image { width: 96px !important; height: 144px !important; }
}

/* Customer wallet activation: make the one-time code and destination readable. */
.sn-customer-card-dialog .sn-customer-activation-result {
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid #9ccdd5;
  border-radius: 17px;
  background: linear-gradient(135deg, #eefafb, #fff);
  color: #183849;
}
.sn-customer-card-dialog .sn-customer-activation-label {
  font-size: 13px;
  font-weight: 800;
}
.sn-customer-card-dialog .sn-customer-activation-code {
  display: block;
  width: 100%;
  padding: 10px;
  border: 1px solid #1b8299;
  border-radius: 12px;
  background: #fff;
  color: #0d4d65;
  font-size: clamp(19px, 4vw, 24px);
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .08em;
  text-align: center;
  overflow-wrap: anywhere;
  user-select: all;
}
.sn-customer-card-dialog .sn-customer-activation-destination {
  display: grid;
  gap: 7px;
  padding-top: 9px;
  border-top: 1px solid #d0e7eb;
}
.sn-customer-card-dialog .sn-customer-activation-destination > span {
  font-size: 13px;
  font-weight: 800;
}
.sn-customer-card-dialog .sn-customer-activation-url {
  display: block;
  width: 100%;
  padding: 8px 10px;
  border-radius: 10px;
  background: #fff;
  color: #106b89 !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-align: left;
  unicode-bidi: plaintext;
}
.sn-customer-card-dialog .sn-customer-activation-visit {
  display: block;
  padding: 9px 12px;
  border-radius: 11px;
  background: #167f96;
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  text-align: center;
  text-decoration: none;
}
.sn-customer-card-dialog .sn-customer-activation-visit:hover { background: #0c5f79; }
.sn-customer-card-dialog .sn-customer-activation-pending {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid #a9d5dd;
  border-radius: 13px;
  background: #f0fafb;
  color: #174b60;
}
.sn-customer-card-dialog .sn-customer-activation-pending small {
  font-size: 13px;
  line-height: 1.7;
}
.sn-customer-card-dialog .sn-customer-activation-pending strong {
  font-size: 17px;
  font-weight: 850;
  line-height: 1.7;
}
.sn-customer-card-dialog .sn-customer-global-notice {
  position: static;
  transform: none;
  margin: 0 0 14px;
  box-shadow: none;
}
.sn-customer-global-notice {
  min-width: 0;
  width: fit-content;
  max-width: calc(100vw - 32px);
  padding: 8px 11px;
  gap: 13px;
}
.sn-customer-global-notice b { font-size: 14px; }
.sn-customer-global-notice .sn-customer-notice-close {
  display: grid;
  width: 26px;
  height: 26px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: inherit;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.sn-customer-global-notice .sn-customer-notice-close:hover { background: rgba(0,0,0,.08); }
