/* Primary shared customer layout. The dashboard's shared-runtime.css is not a
   dependency: purchase and recovery pages use the customer task foundation. */
.customer-page{min-height:100dvh;padding:28px 20px}
.customer-card{width:100%;max-width:440px;margin:0 auto}
.customer-brand{display:flex;align-items:center;gap:12px;padding:0 0 20px;margin-bottom:24px;border-bottom:1px solid var(--journey-line)}
.customer-brand img{width:40px;height:40px;flex:none}
.customer-brand img{box-shadow:0 3px 0 var(--journey-accent)}.customer-brand>div{min-width:0}.customer-brand strong{display:block;font-size:15px;font-weight:600}.customer-brand small{display:block;font-size:12px;color:var(--journey-muted);margin-top:2px}
.customer-secure{margin-left:auto;font-size:11px;color:var(--journey-muted)}
.customer-hero{margin-bottom:24px}.customer-kicker,.customer-section-heading span{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--journey-muted)}
.customer-page h1{margin:6px 0 10px;font-size:26px}.customer-page h2{margin:0 0 8px;font-size:18px}.customer-page p{color:var(--journey-muted);margin:8px 0 16px}
.customer-access,.customer-checkout{padding:20px;border:1px solid var(--journey-line);border-radius:16px;background:var(--journey-surface);margin:20px 0}
.customer-access-copy{display:flex;gap:12px}.customer-access-icon{font-size:24px;color:var(--journey-primary)}.customer-access-copy p{font-size:13px;margin-top:4px}
.customer-page label{display:grid;gap:6px;margin-bottom:16px;font-size:13px;font-weight:500}.customer-page label>span{display:block}.customer-page input,.customer-page select,.customer-page textarea{width:100%}.customer-page textarea{resize:vertical}
.shared-field-grid{display:grid;grid-template-columns:1fr;gap:0}
.customer-section-heading{display:flex;gap:16px;align-items:end;justify-content:space-between;margin-top:24px}.customer-section-heading small{font-size:11px;color:var(--journey-muted);max-width:115px;text-align:right}
.customer-plans{display:grid;gap:12px;margin:12px 0 20px}
.customer-plan{display:block;padding:18px;border:1px solid var(--journey-line);border-radius:14px;background:var(--journey-surface);color:var(--journey-ink);text-align:left;width:100%}
.customer-plan.selected{border-color:var(--journey-primary);box-shadow:inset 3px 0 var(--journey-accent)}
.customer-plan-top{display:flex;align-items:start;justify-content:space-between;gap:16px}.customer-plan-top strong{font-weight:600;font-size:16px;min-width:0}.customer-plan-top em{font:600 22px var(--journey-mono);font-style:normal;white-space:nowrap}
.customer-plan small{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:12px;color:var(--journey-muted)}.customer-plan small b{font-weight:400;font-size:12px}.customer-plan-action{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:500;margin-top:16px;color:var(--journey-primary)}.customer-plan-action i{font-style:normal;font-size:18px}
.customer-page .shared-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:12px 16px;border:1px solid transparent;border-radius:10px;background:var(--customer-button,#0a2e6b);color:#fff;font-weight:600;text-decoration:none;text-align:center}
.customer-page .shared-button.secondary{background:var(--journey-surface);border-color:var(--journey-line);color:var(--journey-primary)}
.customer-pay{width:100%;margin-top:6px}.customer-checkout h2{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--journey-line)}
.customer-message,.customer-network-alert,.customer-access-banner,.customer-error-message{padding:14px;border:1px solid var(--journey-line);border-radius:10px;font-size:13px;background:var(--journey-surface);margin:16px 0}
.customer-message>*{display:block;margin:4px 0}.customer-message span{font:600 22px var(--journey-mono)}
.customer-network-alert,.customer-error-message{color:var(--journey-danger);border-color:#e9c2c6;background:#fff5f6}.customer-error-message>span,.customer-network-alert>span{display:block;margin:8px 0}
.customer-error-message>div,.customer-network-alert>div{display:flex;flex-wrap:wrap;gap:12px}.customer-error-message button,.customer-network-alert button{min-height:44px;border:1px solid currentColor;color:inherit;background:transparent;padding:8px 12px;border-radius:8px}
.customer-access-banner strong{display:block;font-size:14px}.customer-access-banner p{font-size:13px;margin-bottom:0}.customer-access-banner .shared-button{margin-top:12px}.customer-access-banner.paused{border-left:3px solid #c98a00}.customer-access-banner.stopped{border-left:3px solid #d64550}.customer-access-banner.active{border-left:3px solid #0f9d58}
.customer-recovery{border-top:1px solid var(--journey-line);margin-top:24px;padding-top:12px;font-size:12px;color:var(--journey-muted)}.customer-recovery summary{font-weight:500;cursor:pointer;min-height:44px;padding:10px 0}.customer-recovery ol{padding-left:20px}.customer-recovery li{margin-bottom:8px}.customer-recovery>div{display:flex;flex-wrap:wrap;gap:16px}.customer-recovery a{min-height:44px;display:flex;align-items:center}
.customer-footer{display:grid;gap:4px;padding:20px 0;color:var(--journey-muted);font-size:11px;text-align:center}
.customer-footer #operator-sign-in{justify-self:center;padding:12px 8px;color:var(--journey-primary);text-decoration:underline;text-underline-offset:3px}
.customer-result{padding:4px 0}.customer-result-icon{display:grid;place-items:center;width:44px;height:44px;background:var(--journey-surface);border:1px solid var(--journey-line);border-radius:12px;font-size:20px;color:var(--journey-primary);margin-bottom:20px}
.customer-voucher,.customer-transfer{display:grid;gap:8px;border:1px solid var(--journey-line);border-left:3px solid var(--journey-primary);border-radius:12px;background:var(--journey-surface);padding:20px;margin:24px 0}.customer-voucher small{font-size:10px;letter-spacing:.08em;color:var(--journey-muted)}.customer-voucher strong{font:600 26px var(--journey-mono);overflow-wrap:anywhere}.customer-voucher span{color:var(--journey-muted);font-size:13px}
.customer-transfer{border-left:3px solid var(--journey-accent);background:#edf4ff}
.customer-transfer dl{display:grid;gap:14px;margin:0}.customer-transfer dl>div{min-width:0}.customer-transfer dt{font-size:11px;color:var(--journey-muted);margin-bottom:3px}.customer-transfer dd{margin:0;font:600 16px var(--journey-mono);color:var(--journey-ink);overflow-wrap:anywhere}.customer-transfer p{font-size:12px;margin:4px 0 0;color:var(--journey-muted)}
.customer-page:is([data-portal-template=slate],[data-portal-template=night]) .customer-transfer{background:#132d49}
.customer-result-actions{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:18px}.customer-result-actions .shared-button{width:100%}
.customer-recovery-actions{display:grid;gap:10px;margin-top:16px;font-size:13px}.customer-recovery-actions span{color:var(--journey-muted)}.customer-empty{display:grid;gap:6px;padding:20px;border:1px dashed var(--journey-line);border-radius:12px;color:var(--journey-muted);font-size:13px}
/* Existing template identities remain available, with the same compact task
   hierarchy and accessible controls in every presentation. */
.customer-page[data-portal-template=signal] .customer-brand{border-bottom-color:var(--journey-accent)}
.customer-page[data-portal-template=orbit]{--journey-page:#eef3fa}.customer-page[data-portal-template=orbit] .customer-brand img{border-radius:50%}
.customer-page[data-portal-template=metro] .customer-plan{border-radius:8px}
.customer-page[data-portal-template=horizon] .customer-brand{border-bottom:3px solid var(--journey-accent)}
.customer-page[data-portal-template=pulse] .customer-plan.selected{border-color:var(--journey-primary);border-width:2px}
.customer-page[data-portal-template=kiosk] .shared-button,.customer-page[data-portal-template=kiosk] input{min-height:56px}
.customer-page[data-portal-template=grid] .customer-plan{border-radius:6px}
.customer-page[data-portal-template=breeze] .customer-plan,.customer-page[data-portal-template=breeze] .customer-checkout{border-radius:20px}
.customer-page:is([data-portal-template=slate],[data-portal-template=night]){color-scheme:dark;--journey-page:#071426;--journey-surface:#0e2038;--journey-ink:#f4f7ff;--journey-muted:#b4c2d6;--journey-line:#304766;--journey-primary:#9bc6ff;--customer-button:#0a2e6b}
.customer-page[data-portal-template=night] .customer-brand{border-bottom-color:var(--journey-accent)}
@media(max-width:360px){.customer-page{padding:20px 14px}.customer-access,.customer-checkout{padding:16px}.customer-plan{padding:16px}.customer-plan-top{gap:8px;flex-direction:column}.customer-plan-top em{font-size:20px}.customer-secure{display:none}}
