/* Shared theme presentation for guided setup, membership, optional tools and launch.
 * Explicit classes only: no generic .card/.btn reset and no feature-content layout rules.
 */
.jse-surface{
 --jse-ink:var(--jsv-brand-ink,var(--jsf-user-card-text,#102f4c));
 --jse-muted:var(--jsv-brand-muted,#536a7d);
 --jse-navy:var(--jsv-brand-navy,var(--jsf-user-rail-bg,#102f4c));
 --jse-paper:var(--jsv-brand-paper,var(--jsf-user-card-bg,#fffdf8));
 --jse-cream:var(--jsv-brand-cream,var(--jsf-user-surface-bg,#f7f4ed));
 --jse-blue:var(--jsv-brand-blue,var(--jsf-user-button-bg,#c9e4f3));
 --jse-gold:var(--jsv-brand-gold,var(--jsf-user-accent,#f4c542));
 --jse-line:var(--jsv-border,var(--jsf-user-border,#d7e1e8));
 --jse-radius:var(--jsv-radius-card,14px);
 --jse-field-radius:var(--jsv-radius-field,9px);
 color:var(--jse-ink);font-family:inherit;font-size:15px;line-height:1.6;max-width:100%;min-width:0;box-sizing:border-box;
}
.jse-surface :where(.jse-grid,.jse-card,.jse-heading,.jse-actions,.jse-row,.jse-form,.jse-field,.jse-details){min-width:0;box-sizing:border-box}
.jse-surface :where(h1,h2,h3,h4){color:var(--jse-ink);line-height:1.25;overflow-wrap:anywhere}
.jse-surface :where(h1){font-size:clamp(26px,3vw,38px);margin:0 0 12px}
.jse-surface :where(h2){font-size:22px;margin:0 0 10px}
.jse-surface :where(h3){font-size:17px;margin:0 0 8px}
.jse-surface :where(p){margin:0 0 12px;overflow-wrap:anywhere}
.jse-surface :where(p:last-child){margin-block-end:0}
.jse-surface :where(a){color:var(--jse-ink);text-underline-offset:3px}
.jse-surface :where(a:hover){text-decoration-thickness:2px}
.jse-surface :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #236a9b;outline-offset:3px}
.jse-surface .jse-heading{margin-block-end:22px}
.jse-surface .jse-heading p{max-width:74ch;color:var(--jse-muted)}
.jse-surface .jse-eyebrow{display:block;margin-block-end:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--jse-muted)}
.jse-surface .jse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px;margin-block:18px;align-items:stretch}
.jse-surface .jse-card{padding:22px;border:1px solid var(--jse-line);border-radius:var(--jse-radius);background:var(--jse-paper);color:var(--jse-ink);box-shadow:0 5px 18px rgba(16,47,76,.04);overflow-wrap:anywhere}
.jse-surface .jse-actions,.jse-surface .jse-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.jse-surface .jse-actions{margin-block-start:16px}
.jse-surface .jse-row{justify-content:space-between}
.jse-surface .jse-actions+h3{margin-block-start:20px}
.jse-surface .jse-actions form{margin:0;min-width:0}
.jse-surface .jse-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:10px 17px;border:1px solid transparent;border-radius:var(--jse-field-radius);background:var(--jse-gold);color:var(--jsf-user-button-text,var(--jse-ink));font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;text-decoration:none;text-align:center;white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;cursor:pointer;box-shadow:none}
.jse-surface .jse-button:hover{filter:brightness(.97);text-decoration:none}
.jse-surface .jse-button.is-secondary{background:var(--jse-blue);border-color:var(--jse-line);color:var(--jse-ink)}
.jse-surface .jse-button.is-quiet{background:transparent;border-color:var(--jse-line);color:var(--jse-ink)}
.jse-surface .jse-button:disabled,.jse-surface .jse-button[aria-disabled=true]{opacity:.65;cursor:not-allowed}
.jse-surface .jse-badge,.jse-surface .jse-status{display:inline-block;max-width:100%;padding:4px 9px;border:1px solid var(--jse-line);border-radius:7px;background:var(--jse-cream);color:var(--jse-ink);font-size:12px;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.jse-surface .jse-status.is-complete,.jse-surface .jse-badge.is-current{background:#e9f3ee;color:#214e3c;border-color:#c7ddcf}
.jse-surface .jse-status.is-pending{background:#fff4d5;color:#664b15;border-color:#e8d397}
.jse-surface .jse-status.is-blocked{background:#fff0ed;color:#8a3327;border-color:#eccbc5}
.jse-surface .jse-status.is-available{background:#eaf3f9;color:#214d6a;border-color:#cbdde9}
.jse-surface .jse-muted{color:var(--jse-muted);font-size:14px}
.jse-surface .jse-price{display:block;font-size:26px;font-weight:800;line-height:1.3;color:var(--jse-ink);margin-block:12px}
.jse-surface .jse-price small{display:block;margin-block-start:4px;font-size:13px;font-weight:500;line-height:1.5;color:var(--jse-muted)}
.jse-surface .jse-feature-list{padding-inline-start:22px;margin:12px 0 18px}
.jse-surface .jse-feature-list li{margin-block:7px;padding-inline-start:2px}
.jse-surface .jse-plan-card h3{font-size:17px;line-height:1.3}
.jse-surface .jse-plan-card{display:flex;flex-direction:column}
.jse-surface .jse-plan-card .jse-actions{margin-block-start:auto;padding-block-start:18px}
.jse-surface .jse-plan-card.is-current{border:2px solid var(--jse-navy);padding:21px;background:var(--jse-paper)}
.jse-surface .jse-details{margin-block:18px;border:1px solid var(--jse-line);border-radius:var(--jse-radius);background:var(--jse-paper)}
.jse-surface .jse-details>summary{padding:16px 20px;font-weight:700;cursor:pointer;color:var(--jse-ink);min-height:48px;box-sizing:border-box}
.jse-surface .jse-details>summary::marker{color:var(--jse-ink)}
.jse-surface .jse-details[open]>summary{border-block-end:1px solid var(--jse-line);margin-block-end:0}
.jse-surface .jse-details>.jse-details-body{padding:20px}
.jse-surface .jse-details:not([open])>:not(summary){display:none}
.jse-surface .jse-details .jse-grid{margin:0}
.jse-surface .jse-field{display:block;width:100%;max-width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--jse-line);border-radius:var(--jse-field-radius);background:var(--jse-paper);color:var(--jse-ink);font-family:inherit;font-size:16px;line-height:1.4}
.jse-surface label.jse-field{border:0;padding:0;background:transparent}
.jse-surface .jse-form{display:grid;gap:16px}
.jse-surface .jse-form label{display:block;font-weight:650}
.jse-surface .jse-form label>input:not([type=checkbox]):not([type=radio]),.jse-surface .jse-form label>select,.jse-surface .jse-form label>textarea{margin-block-start:6px}
.jse-surface .jse-form input[type=checkbox],.jse-surface .jse-form input[type=radio]{width:auto;min-height:0;accent-color:var(--jse-navy)}
.jse-surface .jse-form fieldset{min-width:0;border:1px solid var(--jse-line);border-radius:var(--jse-field-radius);padding:16px}
.jse-surface .jse-form legend{padding:0 6px;font-weight:700}
.jse-surface .jse-table-wrap{max-width:100%;overflow-x:auto}
.jse-surface .jse-table{width:100%;border-collapse:collapse;text-align:start;font-size:14px;table-layout:fixed}
.jse-surface .jse-table th,.jse-surface .jse-table td{padding:12px 10px;border-block-end:1px solid var(--jse-line);vertical-align:top;overflow-wrap:anywhere}
.jse-surface .jse-table th{font-weight:700;background:var(--jse-cream)}
.jse-surface .jse-table caption{text-align:start;font-weight:700;padding-block-end:12px}
.jse-surface .jse-metric{display:grid;gap:5px}
.jse-surface .jse-metric strong,.jse-surface .jse-metric b{font-size:30px;line-height:1.2}
.jse-surface .jse-checklist{list-style:none;margin:0;padding:0;display:grid;gap:0}
.jse-surface .jse-checklist>li{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:12px;align-items:start;padding:18px 0;border-block-end:1px solid var(--jse-line)}
.jse-surface .jse-checklist>li:last-child{border-block-end:0;padding-block-end:0}
.jse-surface .jse-step-marker{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1px solid var(--jse-line);background:var(--jse-cream);font-size:13px;font-weight:700;color:var(--jse-ink);box-sizing:border-box}
.jse-surface .is-complete>.jse-step-marker{background:#e9f3ee;color:#214e3c;border-color:#c7ddcf}
.jse-surface .jse-step-copy h3{margin:0 0 5px}
.jse-surface .jse-step-copy p{color:var(--jse-muted);font-size:14px;margin:0 0 9px}
.jse-surface .jse-step-link{font-size:13px;font-weight:700;align-self:center;max-width:170px;overflow-wrap:anywhere;text-underline-offset:3px}
.jse-surface .jse-progress{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-block:14px 0;font-size:13px;color:var(--jse-muted)}
.jse-surface progress.jse-progress{display:block;width:100%;height:10px;accent-color:var(--jse-navy)}
.jse-surface .jse-next{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--jse-navy);color:#fff;border-radius:var(--jse-radius);padding:24px;margin-block:22px}
.jse-surface .jse-next>div{min-width:0;flex:1 1 280px}
.jse-surface .jse-next h2,.jse-surface .jse-next p,.jse-surface .jse-next .jse-eyebrow{color:#fff!important}
.jse-surface .jse-next p{opacity:.9;margin:0;font-size:14px;max-width:70ch}
.jse-surface .jse-next .jse-eyebrow{opacity:.8}
.jse-surface .jse-next :is(a,button):focus-visible{outline-color:#fff}
.jse-surface .jse-next .jse-button{flex:none;color:#102f4c}
.jse-surface .jse-notice{padding:16px 20px;margin-block:16px;border:1px solid var(--jse-line);border-inline-start:4px solid var(--jse-gold);border-radius:var(--jse-field-radius);background:var(--jse-paper)}
.jse-surface .jse-notice h2{font-size:17px}
.jse-surface .jse-local-list{list-style:none;margin:14px 0 0;padding:0}
.jse-surface .jse-local-list li{padding:12px 0;border-block-start:1px solid var(--jse-line)}
.jse-surface .jse-local-list small{display:block;color:var(--jse-muted)}
.jse-surface .jse-welcome-help{margin-block-start:24px;padding-block-start:18px;border-block-start:1px solid var(--jse-line)}
.jse-surface .jse-offer-icon{width:44px;height:44px;margin-block-end:12px}
.jse-surface .jse-offer-terms{display:grid;grid-template-columns:minmax(80px,1fr) minmax(0,2fr);gap:8px;font-size:13px;margin:12px 0}
.jse-surface .jse-offer-terms dt{font-weight:700}
.jse-surface .jse-offer-terms dd{margin:0;overflow-wrap:anywhere}
.jse-surface.jse-welcome>.jse-grid{align-items:start}
.jse-surface.jse-welcome{width:min(1080px,100%);margin:24px auto 40px;padding:0 20px}
.jse-surface .jse-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.jsf-cc-main>.jse-surface.jscc-launch{padding:24px}
.jse-surface.jscc-launch>.jse-card{margin-block-end:18px}
@media(max-width:600px){.jsf-cc-main>.jse-surface.jscc-launch{padding:16px}}
/* Shared global chrome only. These selectors never enter Activity, Groups or Messenger content. */
#jsv-primary-header :is(a,button,summary,input):focus-visible{outline:3px solid var(--jsv-brand-gold,var(--jsf-user-accent,#f4c542));outline-offset:3px}
#jsv-primary-header .jsv-menu-link[aria-current],#jsv-primary-header .jsv-account-link[aria-current],.jsv-rail205-link[aria-current]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
#jsv-primary-header .jsv-account-link:focus-visible,.jsv-rail205-link:focus-visible,.jsv-rail205-title:focus-visible,.jsv-rail205-more-toggle:focus-visible{outline:3px solid var(--jsv-brand-gold,var(--jsf-user-accent,#f4c542));outline-offset:-3px}
#jsv-primary-header .jsv-account-group-toggle{font-weight:700}
@media(max-width:640px){
 .jse-surface{font-size:14px}
 .jse-surface.jse-welcome{margin:18px auto 28px;padding:0 12px}
 .jse-surface .jse-card{padding:18px}
 .jse-surface .jse-plan-card.is-current{padding:17px}
 .jse-surface .jse-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .jse-surface .jse-next{padding:20px;gap:16px}
 .jse-surface .jse-next .jse-button{width:100%}
 .jse-surface .jse-checklist>li{grid-template-columns:28px minmax(0,1fr);gap:10px}
 .jse-surface .jse-step-link{grid-column:2;max-width:none;min-height:36px;display:flex;align-items:center}
 .jse-surface .jse-details>summary{padding:16px}
 .jse-surface .jse-details>.jse-details-body{padding:16px}
 .jse-surface .jse-table{font-size:12px}
 .jse-surface .jse-table th,.jse-surface .jse-table td{padding:9px 6px}
}
@media(prefers-reduced-motion:reduce){.jse-surface *,.jsv-219-universal-nav *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.jse-surface .jse-button,.jse-surface .jse-status,.jsv-219-nav-more>summary{border:1px solid ButtonText}.jsv-219-universal-nav a[aria-current]{border-block-end:3px solid Highlight}.jse-surface .jse-next{border:1px solid CanvasText}}
