/* MLV V20 · Phase 7 Final Production Seal · Health 100 closure R2
   Real rendered accessibility/performance closure. No diagnostic-score override. */

/* Emerald Concierge light: small text/actions/badges must clear WCAG 4.5:1. */
html[data-app-theme="emerald-concierge"][data-theme="light"]{
  --gold:#765318;
  --gold-text:#65450f;
  --ui-accent:#765318;
  --ui-muted:#554d45;
  --muted:#554d45;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.admin-page .mlv-notification-badge{
  background:#765318!important;
  color:#fff!important;
  border-color:var(--notify-panel,var(--ui-panel,#fff))!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.admin-page .admin-main :is(.eyebrow,.eyebrow *,small){
  opacity:1!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.admin-page .admin-main .eyebrow,
html[data-app-theme="emerald-concierge"][data-theme="light"] body.admin-page .admin-main p.eyebrow{
  color:#65450f!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.admin-page .admin-main small{
  color:#554d45!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.system-updates-page .system-updates-main :is(span,small,p){
  opacity:1!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.system-updates-page .system-updates-main span:not(.system-status-icon):not(.system-file-mark){
  color:#554d45!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.system-updates-page .system-file-mark{
  color:#65450f!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.system-updates-page .system-status-card.is-good .system-status-icon{
  color:#245d38!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.system-updates-page .system-status-card.is-bad .system-status-icon{
  color:#87382f!important;
}

/* Current MLV Travel Agent command center: light cards previously inherited
   pale accent copy. Preserve semantic backgrounds but use readable ink. */
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .account-main :is(.client-command-kpis,.client-department-card,.account-card,.account-panel) :is(span,strong){
  color:#3d3328!important;
  opacity:1!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .account-main :is(.client-command-kpis,.client-department-card,.account-card,.account-panel) small{
  color:#5b5147!important;
  opacity:1!important;
}

/* Full desktop labels are the real geometry contract; no ellipsis clipping. */
@media (min-width:821px){
  body.admin-has-sidebar:not(.admin-sidebar-collapsed) .admin-sidebar{width:292px!important;overflow:hidden!important}
  body.admin-has-sidebar:not(.admin-sidebar-collapsed) .admin-main{margin-left:292px!important}
  body.admin-has-sidebar:not(.admin-sidebar-collapsed) .admin-sidebar-nav a{
    grid-template-columns:30px minmax(0,1fr) auto auto!important;
    white-space:normal!important;
    overflow:visible!important;
    min-height:46px!important;
    height:auto!important;
  }
  body.admin-has-sidebar:not(.admin-sidebar-collapsed) .admin-sidebar-label{
    display:block!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.25!important;
    max-width:none!important;
  }
}

/* AI shortcut is a real read-only field: allow its value to wrap/scroll instead
   of geometrically clipping the control inside the card. */
html[data-theme="light"] body.admin-page #ai-diagnostic-bridge label{min-width:0!important;max-width:100%!important}
html[data-theme="light"] body.admin-page #mlvAiPublicShortcut{
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}

/* Public mobile: skip layout/paint work for genuinely below-fold collections.
   These sections become fully rendered as they approach the viewport. */
@media (max-width:900px){
  body:not(.admin-page):not(.account-page) :is(.category-section,.experience-section,.home-hotels-section,.featured-reviews,.homepage-about,.homepage-proof){
    content-visibility:auto;
    contain-intrinsic-size:900px;
  }
  body.hotels-marketplace .hotel-market-layout{
    content-visibility:auto;
    contain-intrinsic-size:1400px;
  }
}
