/* DIVSA Account / My Bookings — Phase 6 premium UI.
 * Wallet and Customer Support are standalone destinations. Profile is identity
 * and personal data only. Brand appearance is token-driven. */

.tap-dashboard-root{
  container-type:inline-size;
  min-inline-size:0;
  min-block-size:400px;
  color:var(--tap-ink);
}
.tap-dashboard-root :where(*){box-sizing:border-box}
.tap-dashboard-root > :first-child{margin-block-start:0}

/* Profile/account summary */
.tap-dashboard-root .tap-phub-card{
  inline-size:100%;
  margin:0 0 var(--tap-space-4);
  padding:clamp(16px,3.5cqi,24px);
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius-xl);
  background:var(--tap-card);
  box-shadow:var(--tap-shadow-md);
}
.tap-dashboard-root .tap-phub-top{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:var(--tap-space-3);
}
.tap-dashboard-root .tap-phub-avatar{
  inline-size:52px;
  block-size:52px;
  display:grid;
  place-items:center;
  border-radius:var(--tap-radius-full);
  background:var(--tap-primary-soft);
  color:var(--tap-brand-ink-safe);
  font-family:var(--tap-font-heading);
  font-size:1.35rem;
  font-weight:800;
  border:1px solid color-mix(in srgb,var(--tap-primary) 28%,var(--tap-line));
}
.tap-dashboard-root .tap-phub-id{min-inline-size:0}
.tap-dashboard-root .tap-phub-name{
  margin:0;
  font-family:var(--tap-font-heading);
  font-size:clamp(1.35rem,1.1rem + 1.15cqi,1.9rem);
  font-weight:var(--tap-font-heading-weight);
  line-height:1.15;
  color:var(--tap-ink);
  overflow-wrap:anywhere;
}
.tap-dashboard-root .tap-phub-meta{margin-block-start:4px;color:var(--tap-muted);font-size:calc(.8125 * var(--tap-fs));line-height:1.4}
.tap-dashboard-root .tap-phub-tier{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 9px;
  border-radius:var(--tap-radius-full);
  background:var(--tap-cta-pale);
  color:var(--tap-ink);
  font-size:calc(.6875 * var(--tap-fs));
  font-weight:750;
  white-space:nowrap;
}
.tap-dashboard-root .tap-phub-tier-star{color:var(--tap-cta-deep)}
.tap-dashboard-root .tap-phub-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin-block-start:var(--tap-space-4);
  padding-block-start:var(--tap-space-3);
  border-block-start:1px solid var(--tap-line);
}
.tap-dashboard-root .tap-phub-stat{
  min-inline-size:0;
  padding:8px 12px;
  text-align:center;
  cursor:pointer;
}
.tap-dashboard-root .tap-phub-stat + .tap-phub-stat{border-inline-start:1px solid var(--tap-line)}
.tap-dashboard-root .tap-phub-stat-num{
  display:block;
  max-inline-size:100%;
  color:var(--tap-ink);
  font-family:var(--tap-font-heading);
  font-size:clamp(1.05rem,.9rem + .7cqi,1.35rem);
  font-weight:800;
  letter-spacing:-.02em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.tap-dashboard-root .tap-phub-stat-lbl{margin-block-start:2px;color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));font-weight:650}
.tap-dashboard-root .tap-phub-uid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--tap-space-3);
  margin-block-start:var(--tap-space-3);
  padding:9px 11px;
  border-radius:var(--tap-radius-sm);
  background:var(--tap-surface-2);
  color:var(--tap-muted);
  font-size:calc(.75 * var(--tap-fs));
}
.tap-dashboard-root .tap-phub-uid-val{color:var(--tap-ink);font-family:var(--tap-font-mono);font-weight:750;overflow-wrap:anywhere;text-align:end}

/* Standalone Wallet + Support shortcuts on account home */
.tap-account-destinations{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--tap-space-3);
  margin:0 0 var(--tap-space-4);
}
.tap-account-destination{
  min-inline-size:0;
  min-block-size:92px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  grid-template-areas:"icon copy arrow" "icon value arrow";
  align-items:center;
  gap:4px 10px;
  padding:14px;
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius);
  background:var(--tap-card);
  color:var(--tap-ink);
  text-decoration:none;
  box-shadow:var(--tap-shadow-sm);
  transition:border-color var(--dur-fast),box-shadow var(--dur-fast),transform var(--dur-fast);
}
.tap-account-destination:hover{border-color:color-mix(in srgb,var(--tap-primary) 35%,var(--tap-line));box-shadow:var(--tap-shadow-md);transform:translateY(-1px)}
.tap-account-destination:focus-visible{outline:3px solid var(--tap-focus);outline-offset:3px}
.tap-account-destination-ic{
  grid-area:icon;
  inline-size:44px;
  block-size:44px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:var(--tap-primary-soft);
  color:var(--tap-brand-ink-safe);
}
.tap-account-destination-copy{grid-area:copy;min-inline-size:0;display:flex;flex-direction:column;gap:2px}
.tap-account-destination-copy strong{font-size:calc(.875 * var(--tap-fs));line-height:1.25}
.tap-account-destination-copy small{color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));line-height:1.35}
.tap-account-destination-value{grid-area:value;color:var(--tap-ink);font-size:calc(.8125 * var(--tap-fs));font-weight:800;white-space:nowrap}
.tap-account-destination-arrow{grid-area:arrow;color:var(--tap-muted)}

/* Account navigation is one responsive DOM. */
.tap-dashboard-root .tap-account-tabs{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--tap-space-2);
  margin:0 0 var(--tap-space-4);
  padding:0;
  border:0;
  overflow:visible;
}
.tap-dashboard-root .tap-account-tabs .tap-tab{
  min-inline-size:0;
  min-block-size:62px;
  margin:0;
  padding:9px 8px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius-sm);
  background:var(--tap-card);
  color:var(--tap-muted);
  text-align:center;
  white-space:normal;
  font-size:calc(.75 * var(--tap-fs));
  font-weight:700;
}
.tap-dashboard-root .tap-account-tabs .tap-tab.active{
  border-color:var(--tap-primary);
  background:var(--tap-primary-soft);
  color:var(--tap-brand-ink-safe);
  box-shadow:var(--tap-glow);
}
.tap-dashboard-root .tap-account-tabs .tap-tab-ic{display:grid;place-items:center;min-block-size:22px}
.tap-dashboard-root .tap-dashboard-panel{min-inline-size:0;inline-size:100%}
.tap-dashboard-root .tap-dashboard-panel > h2,
.tap-dashboard-root .tap-dashboard-panel > h3{
  margin:0 0 var(--tap-space-3);
  color:var(--tap-ink);
  font-family:var(--tap-font-heading);
  font-weight:var(--tap-font-heading-weight);
  line-height:1.2;
}
.tap-dashboard-root .tap-dashboard-panel > h2{font-size:clamp(1.35rem,1.1rem + 1cqi,1.8rem)}

/* Bookings are compact, readable cards rather than huge page blocks. */
.tap-dashboard-root .tap-booking-card,
.tap-dashboard-root .tap-bkcard{
  min-inline-size:0;
  margin-block-end:var(--tap-space-3);
  padding:var(--tap-space-4);
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius);
  background:var(--tap-card);
  box-shadow:var(--tap-shadow-sm);
}
.tap-dashboard-root .tap-bkcard-name{color:var(--tap-ink);font-weight:800;line-height:1.35}
.tap-dashboard-root .tap-bkcard-actions{display:flex;flex-wrap:wrap;gap:var(--tap-space-2);margin-block-start:var(--tap-space-3)}

/* Profile editor and completion surfaces */
.tap-dashboard-root .tap-prof-card,
.tap-dashboard-root .tap-prof-completion{
  margin:0 0 var(--tap-space-3);
  padding:var(--tap-space-4);
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius);
  background:var(--tap-card);
  box-shadow:var(--tap-shadow-sm);
}
.tap-dashboard-root .tap-prof-completion-row{display:flex;justify-content:space-between;gap:var(--tap-space-3);font-size:calc(.8125 * var(--tap-fs))}
.tap-dashboard-root .tap-prof-progress{block-size:8px;margin:10px 0 8px;border-radius:var(--tap-radius-full);background:var(--tap-surface-2);overflow:hidden}
.tap-dashboard-root .tap-prof-progress span{display:block;block-size:100%;border-radius:inherit;background:var(--tap-primary);transition:inline-size var(--dur-std) var(--ease-out)}
.tap-dashboard-root .tap-prof-completion p{margin:0;color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs));line-height:1.45}
.tap-dashboard-root .tap-profile-form{inline-size:100%;max-inline-size:680px}

/* Standalone destinations */
.tap-dashboard-root[data-standalone="wallet"],
.tap-dashboard-root[data-standalone="support"]{max-inline-size:860px;margin-inline:auto}
.tap-dashboard-root[data-standalone] .tap-dashboard-panel{margin-block-start:0}

.tap-dashboard-root .tap-logout{inline-size:100%;margin-block-start:var(--tap-space-4)}

/* Devotee trust strip stays secondary to account actions. */
.tap-dashboard-root .tap-devotee-trust-strip{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:var(--tap-space-2);
  margin:0 0 var(--tap-space-4);
}
.tap-dashboard-root .tap-devotee-trust-item{
  min-inline-size:0;
  display:flex;
  gap:var(--tap-space-2);
  align-items:flex-start;
  padding:10px 12px;
  border:1px solid var(--tap-line);
  border-radius:var(--tap-radius-sm);
  background:var(--tap-surface-2);
}
.tap-dashboard-root .tap-devotee-trust-title{font-size:calc(.75 * var(--tap-fs));font-weight:750}
.tap-dashboard-root .tap-devotee-trust-desc{margin-block-start:2px;color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));line-height:1.35}

@media(max-width:767.98px){
  .tap-dashboard-root .tap-phub-top{grid-template-columns:auto minmax(0,1fr)}
  .tap-dashboard-root .tap-phub-tier{grid-column:1/-1;justify-self:start}
  .tap-account-destinations{grid-template-columns:1fr}
  .tap-account-destination{min-block-size:80px}
  .tap-dashboard-root .tap-account-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tap-account-route .tap-chrome-footer{display:none}
}
@media(min-width:768px){
  .tap-dashboard-root .tap-account-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(min-width:1024px){
  .tap-dashboard-root .tap-phub-card{max-inline-size:920px}
  .tap-account-destinations{max-inline-size:920px}
}
@media(prefers-reduced-motion:reduce){
  .tap-account-destination,.tap-dashboard-root .tap-prof-progress span{transition:none}
}

/* ---------- Account details, wallet activity and booking-card anatomy ---------- */
.tap-dashboard-root .tap-phub-stat:focus-visible{outline:3px solid var(--tap-focus);outline-offset:3px;border-radius:var(--tap-radius-sm)}

.tap-dashboard-root .tap-wallet-card{
  inline-size:100%;margin:0 0 var(--tap-space-4);padding:clamp(18px,4cqi,28px);
  border:1px solid var(--tap-line);border-radius:var(--tap-radius-xl);background:var(--tap-card);box-shadow:var(--tap-shadow-md)
}
.tap-dashboard-root .tap-wallet-lbl{color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs));font-weight:700;text-transform:uppercase;letter-spacing:.055em}
.tap-dashboard-root .tap-wallet-bal{margin:4px 0 6px;color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:clamp(1.8rem,1.45rem + 1.5cqi,2.45rem);font-weight:800;font-variant-numeric:tabular-nums}
.tap-dashboard-root .tap-wallet-note{margin:0;color:var(--tap-muted);font-size:calc(.8125 * var(--tap-fs));line-height:1.5}
.tap-dashboard-root .tap-wallet-recharge{margin:0 0 var(--tap-space-5);padding:var(--tap-space-4);border:1px solid var(--tap-line);border-radius:var(--tap-radius);background:var(--tap-surface-2)}
.tap-dashboard-root .tap-wallet-recharge-title{margin:2px 0 10px;color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:clamp(1.15rem,1rem + .55cqi,1.4rem)}
.tap-dashboard-root .tap-wallet-amount-input{inline-size:100%;margin-block-end:10px}
.tap-dashboard-root .tap-wallet-bonus-hint{min-block-size:18px;margin-block-end:10px}
.tap-dashboard-root .tap-wallet-quickpicks{display:flex;flex-wrap:wrap;gap:var(--tap-space-2);margin-block-end:10px}
.tap-dashboard-root .tap-wallet-activity-head{margin:22px 0 12px}
.tap-dashboard-root .tap-wtxn-list{display:flex;flex-direction:column;border:1px solid var(--tap-line);border-radius:var(--tap-radius);background:var(--tap-card);overflow:hidden}
.tap-dashboard-root .tap-wtxn{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:var(--tap-space-3);padding:12px 14px;border-block-end:1px solid var(--tap-line)}
.tap-dashboard-root .tap-wtxn:last-child{border-block-end:0}
.tap-dashboard-root .tap-wtxn-ic{inline-size:40px;block-size:40px;display:grid;place-items:center;border-radius:12px;background:var(--tap-surface-2);color:var(--tap-brand-ink-safe);font-weight:800}
.tap-dashboard-root .tap-wtxn-ic.is-credit{background:var(--tap-ok-pale);color:var(--tap-success)}
.tap-dashboard-root .tap-wtxn-mid{min-inline-size:0}
.tap-dashboard-root .tap-wtxn-reason{color:var(--tap-ink);font-size:calc(.84375 * var(--tap-fs));font-weight:700;overflow-wrap:anywhere}
.tap-dashboard-root .tap-wtxn-date{margin-block-start:2px;color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs))}
.tap-dashboard-root .tap-wtxn-amt{color:var(--tap-ink);font-size:calc(.84375 * var(--tap-fs));font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.tap-dashboard-root .tap-wtxn-amt.is-credit{color:var(--tap-success)}

.tap-dashboard-root .tap-bkcard-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-block-end:10px}
.tap-dashboard-root .tap-bkcard-code{color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));font-weight:700;letter-spacing:.035em}
.tap-dashboard-root .tap-bkcard-badge{display:inline-flex;align-items:center;min-block-size:28px;padding:4px 9px;border-radius:var(--tap-radius-full);background:var(--tap-surface-2);color:var(--tap-brand-ink-safe);font-size:calc(.6875 * var(--tap-fs));font-weight:750}
.tap-dashboard-root .tap-bkcard-badge.is-completed{background:var(--tap-ok-pale);color:var(--tap-success)}
.tap-dashboard-root .tap-bkcard-badge.is-cancelled{background:color-mix(in srgb,var(--tap-card) 90%,var(--tap-danger));color:var(--tap-danger)}
.tap-dashboard-root .tap-bkcard-badge.is-pendingpay{background:var(--tap-cta-pale);color:var(--tap-ink)}
.tap-dashboard-root .tap-bkcard-temple{display:flex;align-items:center;gap:5px;margin-block-start:5px;color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs))}
.tap-dashboard-root .tap-bkcard-amt{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-block-start:10px;padding-block-start:10px;border-block-start:1px dashed var(--tap-line)}
.tap-dashboard-root .tap-bkcard-amt-l{color:var(--tap-muted);font-size:calc(.6875 * var(--tap-fs));font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.tap-dashboard-root .tap-bkcard-amt-v{color:var(--tap-ink);font-size:calc(1 * var(--tap-fs));font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.tap-dashboard-root .tap-bkcard-amt.is-due .tap-bkcard-amt-v{color:var(--tap-warn)}
.tap-dashboard-root .tap-bkcard-fulfilment{margin-block-start:10px;padding:9px 11px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);color:var(--tap-ink);font-size:calc(.75 * var(--tap-fs));line-height:1.45}
.tap-dashboard-root .tap-bkcard-foot{display:grid;grid-template-columns:1fr;gap:10px;margin-block-start:14px;padding-block-start:12px;border-block-start:1px solid var(--tap-line)}
.tap-dashboard-root .tap-bkcard-date{display:flex;align-items:center;gap:6px;color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs));white-space:nowrap}
.tap-dashboard-root .tap-bkcard-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:var(--tap-space-2);inline-size:100%;margin:0}
.tap-dashboard-root .tap-bkcard-actions > :is(.tap-btn,button,a){inline-size:100%;min-inline-size:0;min-block-size:44px;margin:0;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--tap-line);border-radius:var(--tap-radius-sm);background:var(--tap-surface-2);color:var(--tap-brand-ink-safe);font-size:calc(.75 * var(--tap-fs));font-weight:700;line-height:1.2;text-align:center;white-space:normal}
.tap-dashboard-root .tap-bkcard-actions > :is(.tap-sankalp-btn,.tap-snk-btn,.tap-btn-primary,.tap-btn-cta){background:var(--tap-primary);border-color:var(--tap-primary);color:var(--tap-on-primary)}

.tap-dashboard-root .tap-prof-card-hd{display:flex;align-items:flex-start;gap:10px;margin-block-end:var(--tap-space-3)}
.tap-dashboard-root .tap-prof-card-ic{inline-size:38px;block-size:38px;display:grid;place-items:center;flex:none;border-radius:12px;background:var(--tap-primary-soft);color:var(--tap-brand-ink-safe)}
.tap-dashboard-root .tap-prof-card-tt{color:var(--tap-ink);font-weight:800;line-height:1.25}
.tap-dashboard-root .tap-prof-card-sub{margin-block-start:2px;color:var(--tap-muted);font-size:calc(.75 * var(--tap-fs));line-height:1.45}

/* Existing admin profile-style choices remain white-label: they resolve only
 * through semantic tokens, never component-level brand literals. */
.tap-profile-gold .tap-dashboard-root .tap-phub-card,
.tap-profile-gold .tap-dashboard-root .tap-wallet-card{background:var(--grad-gold);color:var(--tap-gold-dark);border-color:color-mix(in srgb,var(--tap-gold-dark) 18%,transparent)}
.tap-profile-gold .tap-dashboard-root :is(.tap-phub-name,.tap-phub-stat-num,.tap-phub-uid-val,.tap-wallet-bal){color:var(--tap-gold-dark)}
.tap-profile-gold .tap-dashboard-root :is(.tap-phub-meta,.tap-phub-stat-lbl,.tap-phub-uid-lbl,.tap-wallet-lbl,.tap-wallet-note){color:color-mix(in srgb,var(--tap-gold-dark) 72%,transparent)}
.tap-profile-gold .tap-dashboard-root :is(.tap-phub-avatar,.tap-phub-tier,.tap-phub-uid){background:color-mix(in srgb,var(--tap-card) 36%,transparent);color:var(--tap-gold-dark)}
.tap-profile-soft .tap-dashboard-root :is(.tap-phub-card,.tap-wallet-card){background:var(--tap-card);color:var(--tap-ink);border-color:var(--tap-line);box-shadow:var(--tap-shadow-sm)}

@media(min-width:768px){
  .tap-dashboard-root .tap-bkcard-foot{grid-template-columns:auto minmax(0,1fr);align-items:center}
  .tap-dashboard-root .tap-bkcard-actions{grid-auto-flow:column;grid-template-columns:none;justify-content:end}
  .tap-dashboard-root .tap-bkcard-actions > :is(.tap-btn,button,a){inline-size:auto;padding-inline:16px}
}

/* Route heading is part of the account component, not host-theme typography. */
.tap-dashboard-title{
  inline-size:100%;max-inline-size:920px;margin:0 auto var(--tap-space-4);
  color:var(--tap-ink);font-family:var(--tap-font-heading);font-size:clamp(1.55rem,1.3rem + 1.2vw,2.15rem);font-weight:var(--tap-font-heading-weight);line-height:1.15;letter-spacing:-.02em
}
.tap-account-noscript{margin:0;padding:var(--tap-space-5);border:1px solid var(--tap-line);border-radius:var(--tap-radius);background:var(--tap-surface-2);color:var(--tap-muted);text-align:center;line-height:1.5}
@media(max-width:767.98px){.tap-dashboard-title{margin-block-end:var(--tap-space-3);font-size:clamp(1.45rem,7vw,1.85rem)}}

/* Login/welcome artwork. Sized like the glyph it replaces so the gate keeps
   its proportions whether the tenant sets an image or not. */
.tap-auth-hero-img{
  display:block;margin-inline:auto;
  max-inline-size:min(180px,60%);block-size:auto;
  border-radius:var(--tap-radius,14px);
}
