/* Checkpoint 4: customer card and its sheets. No staff overrides. */
.is-member .shell{padding-bottom: 0}
.is-member .topbar{padding-top: env(safe-area-inset-top);border: 0;justify-content: space-between}
#member-menu{min-width: 64px;min-height: 48px;padding: var(--space-3) 0 var(--space-3) var(--space-3);font-size:var(--text-small);font-weight: 400;color: var(--muted)}
.member-card{padding: var(--space-3) 0 calc(6rem + var(--space-4) + env(safe-area-inset-bottom))}
.card-identity > p{font-size:var(--text-small);letter-spacing: .055em;line-height: 1.5;margin-top: 7px;color: var(--muted);overflow-wrap: break-word}
.card-progress .dots{gap: 11px}
.card-progress .dots span{border-color: var(--muted)}
.card-progress .dots span.filled{background: var(--orange);border-color: var(--orange)}
.card-progress > p{font-size:var(--text-small);margin-top: var(--space-3);line-height: 1.45}
.card-progress > .card-caption{margin-top: 6px;font-size:var(--text-small)}
.card-bento{display: grid}
.card-calendar{display:grid;gap:var(--space-3);margin-top:var(--space-3)}
.card-calendar .card-panel strong{display:block}
.calendar-detail{display:block;color:var(--muted);font-size:var(--text-small);line-height:1.5}
.card-calendar .entry-secondary{min-height:52px}
.calendar-day{padding-top:14px}
.calendar-day>h3{font-size:var(--text-body);color:var(--muted);margin:var(--space-4) 0 6px}
#edit-config [data-calendar-group]:not([hidden]){display:grid;gap:18px}
#edit-config details>summary{min-height:48px;padding:14px 0;cursor:pointer}
#edit-config details[open]{display:grid;gap:18px}
#seat-fallback{display:grid;gap:var(--space-4);margin-top:var(--space-4)}
.calendar-day>small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.card-panel{display: block;text-align: left;width: 100%;min-width: 0;color: var(--ink)}
.card-section-label{display: flex;align-items: center;gap: 10px;line-height: 1.4}
.card-count{margin-left: auto;color: var(--muted);font-weight: 400;white-space: nowrap}
.card-chevron{display:inline-flex;margin-left:auto;color: var(--muted);font-size:var(--text-heading);line-height: 1;font-weight: 400;flex-shrink: 0}
.card-wallet > strong{display: block;font-size:var(--text-section);font-weight: 600;line-height: 1.3;letter-spacing: -.025em;margin: 18px 0 var(--space-2);overflow-wrap: break-word}
.card-reward-description{display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;color: var(--muted);line-height: 1.5}
.card-caption{display: block;color: var(--muted);font-weight: 400}
.card-wallet > .card-caption{margin-top: 10px}
.card-empty{display: block;margin-top: var(--space-4);color: var(--muted);font-size:var(--text-small);line-height: 1.5}
.card-experience-grid{display: grid;column-gap: 14px;row-gap: 9px;margin-top: 18px}
.card-experience{display: flex;align-items: center;min-width: 0;line-height: 1.4}
.card-check{display: inline-flex;align-items: center;justify-content: center;width: 18px;flex-shrink: 0;color: var(--muted);font-size:var(--text-section)}
.card-lifetime{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);width: 100%;text-align: left;color: var(--muted);font-size:var(--text-small);line-height: 1.4}
.card-lifetime strong{color: var(--ink);font-size:var(--text-heading);font-weight: 500;margin-right: 5px}
.card-actions{position: fixed;z-index: 5;bottom: 0;left: 50%;transform: translateX(-50%);width: 100%;border-top: 1px solid var(--surface)}
.is-member .toast{bottom: calc(96px + env(safe-area-inset-bottom))}
.is-customer dialog{max-width: 460px;padding: 28px var(--space-6) var(--space-6);border-radius:var(--radius-card);background: var(--bg);border-color: var(--line)}
.is-customer dialog h2{font-size:var(--text-heading);font-weight: 600;line-height: 1.3;letter-spacing: -.025em;margin: 0 0 var(--space-5);padding-right: var(--space-8)}
.is-customer dialog h3{font-size:var(--text-body);letter-spacing: 0;font-weight: 600;margin-top: var(--space-6)}
.is-customer dialog p{font-size:var(--text-body);line-height: 1.55}
.is-customer dialog .sheet-muted{color: var(--muted);font-size:var(--text-small);line-height: 1.5}
.sheet-row{display: flex;align-items: center;justify-content: space-between;gap: var(--space-4);width: 100%;border-top: 1px solid var(--line);text-align: left;font-size:var(--text-body);line-height: 1.45;overflow-wrap: break-word}
.sheet-row > span:first-child{min-width: 0}
.sheet-row strong{display: block;font-weight: 500;font-size:var(--text-body);line-height: 1.4}
.sheet-row .sheet-muted{display: block;margin-top: 5px}
.sheet-row small{display: block;color: var(--muted);font-size:var(--text-small);line-height: 1.4;margin-top: var(--space-2)}
.sheet-tabs{display: grid;grid-template-columns: repeat(2,minmax(0,1fr));gap: var(--space-1);padding: var(--space-1);margin-top: var(--space-2);border-radius:var(--radius-control);background: var(--surface)}
.sheet-tabs button{min-height: 48px;padding: var(--space-3) 2px;border-radius: 10px;font-size:var(--text-small);font-weight: 500;line-height: 1.4;overflow-wrap: break-word}
.sheet-tabs button span{margin-top: 2px;color: var(--muted)}
.is-customer dialog .sheet-status{font-size:var(--text-small);font-weight: 500}
.is-customer dialog .sheet-empty{padding: var(--space-5) 0 var(--space-2);color: var(--muted)}
.is-customer dialog .reward-terms{margin-top: var(--space-6)}
.reward-dates{margin-top: var(--space-6)}
.is-customer dialog .reward-dates p{font-size:var(--text-small);color: var(--muted);margin: var(--space-2) 0}
.sheet-back{display: block;width: 100%;padding: 14px 0;margin-top: var(--space-3);color: var(--muted);font-size:var(--text-small);line-height: 1.4}
.is-customer dialog .qr-caption{text-align: center;font-size:var(--text-small)}
.is-customer dialog canvas{max-width: 100% !important;height: auto !important;border-radius:var(--radius-control)}
.is-customer .connection, .is-customer .pending{border: 1px solid var(--line);border-radius:var(--radius-control);background: var(--surface);color: var(--ink)}
.is-customer .pending button{border-color: var(--line);border-radius: 10px}
@media(max-width:360px) {.is-member .shell{ padding-left: var(--space-5); padding-right: var(--space-5); }
.card-panel{ padding: 18px var(--space-4); }
.card-experience-grid{ column-gap: 10px; }
.card-experience{ gap: 6px; }
.card-actions{ padding-left: var(--space-5); padding-right: var(--space-5); }
}
@media(min-width:650px) {.is-member .shell{ padding-left: var(--space-8); padding-right: var(--space-8); }
.card-actions{ padding-left: var(--space-8); padding-right: var(--space-8); }
}
