/* MLV V20 · Post-Seal C11 R20
   CONSOLIDATED VISUAL OWNER & THEME INTEGRITY CLOSURE

   Purpose:
   - retire the stacked R12-R18 runtime color painters;
   - make the actual component surfaces authoritative in CSS;
   - keep theme switching deterministic (no stale inline !important colors);
   - repair the screenshot-proven category-card and booking-workspace visibility;
   - preserve prior Admin / verification / Atlas accessibility owners without
     changing Diagnostics, commerce, Hotel pricing, SEO, layout geometry or data.
*/

/* --------------------------------------------------------------------------
   1. PUBLIC CATEGORY CARDS — exact original full-photo composition.
   One full-bleed image, fixed 30% dark overlay, all card text white in every
   theme/mode. No separate caption panel and no theme-driven text recoloring.
   -------------------------------------------------------------------------- */
body:not(.admin-page):not(.account-page) .category-section .category-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card{
  display:block!important;
  min-height:270px!important;
  border:0!important;
  padding:0!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  text-align:left!important;
  background:#30291f!important;
  color:#fff!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card>.category-card-photo{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
  z-index:0!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:rgba(0,0,0,.30)!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card::after{
  content:none!important;
  display:none!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card>span{
  position:absolute!important;
  top:auto!important;
  right:16px!important;
  bottom:16px!important;
  left:16px!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-align:left!important;
  box-shadow:none!important;
  border:0!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card>span>small,
body:not(.admin-page):not(.account-page) .category-section .category-card>span>strong,
body:not(.admin-page):not(.account-page) .category-section .category-card>span>em{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  background:transparent!important;
  text-shadow:0 2px 12px rgba(0,0,0,.72)!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card>span>small{
  margin:0!important;
  font-size:11px!important;
  line-height:1.35!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card>span>strong{
  margin:5px 0!important;
  font:500 28px/1.12 var(--serif)!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-card>span>em{
  margin:0!important;
  min-height:0!important;
  font-style:normal!important;
  font-size:13px!important;
  line-height:1.45!important;
}
@media(max-width:1000px){
  body:not(.admin-page):not(.account-page) .category-section .category-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:650px){
  body:not(.admin-page):not(.account-page) .category-section .category-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* C11 R20 live correction: beat the inherited Phase 7 descendant guard and
   pin the complete category text stack to the card's bottom-left padding. */
body:not(.admin-page):not(.account-page) .category-section .category-grid .category-card>span{
  position:absolute!important;
  top:auto!important;
  right:24px!important;
  bottom:24px!important;
  left:24px!important;
  z-index:2!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  width:auto!important;
  max-width:calc(100% - 48px)!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-align:left!important;
  transform:none!important;
  box-shadow:none!important;
  border:0!important;
}
body:not(.admin-page):not(.account-page) .category-section .category-grid .category-card>span>small,
body:not(.admin-page):not(.account-page) .category-section .category-grid .category-card>span>strong,
body:not(.admin-page):not(.account-page) .category-section .category-grid .category-card>span>em{
  position:static!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  background:transparent!important;
  text-shadow:0 2px 12px rgba(0,0,0,.72)!important;
}

/* --------------------------------------------------------------------------
   2. EMERALD CONCIERGE BOOKING WORKSPACE — one light palette, one dark palette.
   No generic tag painter: every rule is owned by a booking component.
   -------------------------------------------------------------------------- */
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell{
  --r19-ink:#173027;
  --r19-copy:#3f554c;
  --r19-muted:#53675e;
  --r19-accent:#8a641d;
  --r19-accent-soft:#d6b86f;
  --r19-line:#bac9c0;
  --r19-line-soft:#d7e1db;
  --r19-panel:#f9fbf8;
  --r19-field:#edf3ef;
  --r19-card:#f3f6f3;
  --r19-rail:#f1f5f1;
  background:#edf3ef!important;
  color:var(--r19-ink)!important;
  border-color:#c6d3cb!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro{
  background:#07281f!important;
  color:#fffaf0!important;
  border-color:#315247!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro :is(h2,strong){
  color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro :is(p:not(.eyebrow),small){
  color:#d8e5de!important;-webkit-text-fill-color:#d8e5de!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.eyebrow{
  color:#e6c36f!important;-webkit-text-fill-color:#e6c36f!important;opacity:1!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-intro .progress-list>li>span{
  color:#d8e5de!important;-webkit-text-fill-color:#d8e5de!important;border-color:#55776b!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-intro .progress-list>li:is(.active,.complete)>span{
  background:#d6b86f!important;color:#173027!important;-webkit-text-fill-color:#173027!important;border-color:#d6b86f!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card{
  background:#fffaf0!important;color:#173027!important;border-color:#d8c9a5!important;box-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card :is(small,strong){
  color:#173027!important;-webkit-text-fill-color:#173027!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>a{
  color:#7a5717!important;-webkit-text-fill-color:#7a5717!important;opacity:1!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-form{
  background:var(--r19-panel)!important;color:var(--r19-ink)!important;border-color:var(--r19-line-soft)!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form :is(.form-title h3,.minor-heading h4,.field>span,.choice-group>legend){
  color:var(--r19-ink)!important;-webkit-text-fill-color:var(--r19-ink)!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form :is(.form-title p,.minor-heading>span){
  color:var(--r19-copy)!important;-webkit-text-fill-color:var(--r19-copy)!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form :is(.field>input,.field>select,.field>textarea,.field>.counter){
  background:var(--r19-field)!important;color:var(--r19-ink)!important;border-color:var(--r19-line)!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form :is(.field>input,.field>select,.field>textarea,.counter>input){
  color:var(--r19-ink)!important;-webkit-text-fill-color:var(--r19-ink)!important;opacity:1!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .counter>button{
  background:#e3ebe6!important;color:#173027!important;-webkit-text-fill-color:#173027!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon{
  background:var(--r19-card)!important;color:var(--r19-ink)!important;border-color:var(--r19-line)!important;box-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon.is-featured{
  border-color:#a98537!important;box-shadow:inset 4px 0 #a98537!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon:has(input:checked){
  background:#e9f0eb!important;border-color:#8a641d!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>.addon-check{
  background:#fff!important;border-color:#687c72!important;color:transparent!important;-webkit-text-fill-color:transparent!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>input:checked+.addon-check{
  background:#8a641d!important;border-color:#8a641d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>span:nth-child(3)>strong,
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>.addon-price>b{
  color:#173027!important;-webkit-text-fill-color:#173027!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>span:nth-child(3)>small,
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>.addon-price>span{
  color:#465d53!important;-webkit-text-fill-color:#465d53!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>span:nth-child(3)>strong>em{
  background:#8a641d!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .form-actions>.button-dark{
  background:#173027!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#173027!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-form .form-actions>.button-dark :is(span,strong,small){
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell>.summary-card{
  background:var(--r19-rail)!important;color:var(--r19-ink)!important;border-color:var(--r19-line-soft)!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card :is(h3,dd,strong){
  color:#173027!important;-webkit-text-fill-color:#173027!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card :is(.summary-meta,dt,small,.summary-note){
  color:#465d53!important;-webkit-text-fill-color:#465d53!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card .summary-due{
  background:#173027!important;color:#fffaf0!important;border-color:#173027!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dt,dd,span,strong,small){
  color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;opacity:1!important;
}

html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell{
  --r19-dark-bg:#071c17;
  --r19-dark-panel:#0b2a21;
  --r19-dark-card:#0e352a;
  --r19-dark-line:#365c50;
  --r19-dark-text:#fffaf0;
  --r19-dark-muted:#c7d6ce;
  --r19-dark-gold:#e6c36f;
  background:var(--r19-dark-bg)!important;color:var(--r19-dark-text)!important;border-color:#315247!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro,
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-form,
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.summary-card{
  background:var(--r19-dark-panel)!important;color:var(--r19-dark-text)!important;border-color:var(--r19-dark-line)!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-intro :is(h2,strong,.eyebrow),
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form :is(h3,h4,strong,.field>span,.choice-group>legend),
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .summary-card :is(h3,dd,strong){
  color:var(--r19-dark-text)!important;-webkit-text-fill-color:var(--r19-dark-text)!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-intro :is(p:not(.eyebrow),small),
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form :is(.form-title p,.minor-heading>span),
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .summary-card :is(.summary-meta,dt,small,.summary-note){
  color:var(--r19-dark-muted)!important;-webkit-text-fill-color:var(--r19-dark-muted)!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-intro>.eyebrow{
  color:var(--r19-dark-gold)!important;-webkit-text-fill-color:var(--r19-dark-gold)!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-intro .progress-list>li>span{
  color:#d7e3dd!important;-webkit-text-fill-color:#d7e3dd!important;border-color:#4d7065!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-intro .progress-list>li:is(.active,.complete)>span{
  background:var(--r19-dark-gold)!important;color:#10251e!important;-webkit-text-fill-color:#10251e!important;border-color:var(--r19-dark-gold)!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card{
  background:#fffaf0!important;color:#173027!important;border-color:#d8c9a5!important;box-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card :is(small,strong){
  color:#173027!important;-webkit-text-fill-color:#173027!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>a{
  color:#7a5717!important;-webkit-text-fill-color:#7a5717!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form :is(.field>input,.field>select,.field>textarea,.field>.counter){
  background:#0d392e!important;color:var(--r19-dark-text)!important;border-color:#4a6c61!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form :is(.field>input,.field>select,.field>textarea,.counter>input){
  color:var(--r19-dark-text)!important;-webkit-text-fill-color:var(--r19-dark-text)!important;opacity:1!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .counter>button{
  background:#143f34!important;color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon{
  background:var(--r19-dark-card)!important;color:var(--r19-dark-text)!important;border-color:var(--r19-dark-line)!important;box-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon.is-featured{
  border-color:#b49345!important;box-shadow:inset 4px 0 #d6b86f!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>span:nth-child(3)>strong,
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>.addon-price>b{
  color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>span:nth-child(3)>small,
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>.addon-price>span{
  color:#c7d6ce!important;-webkit-text-fill-color:#c7d6ce!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>.addon-check{
  background:#0b2a21!important;border-color:#6a897e!important;color:transparent!important;-webkit-text-fill-color:transparent!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>input:checked+.addon-check{
  background:#d6b86f!important;border-color:#d6b86f!important;color:#10251e!important;-webkit-text-fill-color:#10251e!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .addon-list>.addon>span:nth-child(3)>strong>em{
  background:#d6b86f!important;color:#10251e!important;-webkit-text-fill-color:#10251e!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .form-actions>.button-dark{
  background:#d6b86f!important;color:#10251e!important;-webkit-text-fill-color:#10251e!important;border-color:#d6b86f!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-form .form-actions>.button-dark :is(span,strong,small){
  color:#10251e!important;-webkit-text-fill-color:#10251e!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .summary-card .summary-due{
  background:#071c17!important;color:#fffaf0!important;border-color:#d6b86f!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dt,dd,span,strong,small){
  color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;opacity:1!important;
}

/* --------------------------------------------------------------------------
   3. EMERALD HOTELS — buttons own both foreground and surface, not text alone.
   -------------------------------------------------------------------------- */
html[data-app-theme="emerald-concierge"][data-theme="light"] body.hotels-marketplace :is(.hotel-search-bar,.hotel-filters,.hotel-card-footer) :is(button,.button){
  background:#173027!important;color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;border-color:#173027!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body.hotels-marketplace :is(.hotel-search-bar,.hotel-filters,.hotel-card-footer) :is(button,.button) :is(span,strong,small){
  color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;
}
html[data-app-theme="emerald-concierge"][data-theme="dark"] body.hotels-marketplace :is(.hotel-search-bar,.hotel-filters,.hotel-card-footer) :is(button,.button){
  background:#d6b86f!important;color:#10251e!important;-webkit-text-fill-color:#10251e!important;border-color:#d6b86f!important;
}

/* --------------------------------------------------------------------------
   4. ATLAS FUTURE — retain the previously proven semantic contrast in CSS.
   -------------------------------------------------------------------------- */
html[data-app-theme="atlas-future"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(.section-heading,.journey-platform,.experience-section,.home-hotels-section,.featured-reviews,.homepage-about,.homepage-proof) :is(p,small,dt,.card-meta,a:not(.button)){
  color:#31566a!important;-webkit-text-fill-color:#31566a!important;opacity:1!important;
}
html[data-app-theme="atlas-future"][data-theme="light"] body:not(.admin-page):not(.account-page) main .button-gold{
  color:#06131d!important;-webkit-text-fill-color:#06131d!important;
}
html[data-app-theme="atlas-future"][data-theme="light"] body.hotels-marketplace :is(.hotel-search-bar,.hotel-filters,.hotel-card-footer) :is(button,.button){
  background:#123d52!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#123d52!important;
}
html[data-app-theme="atlas-future"][data-theme="dark"] body:not(.admin-page):not(.account-page) main .card-rating{
  color:#f0cf8a!important;-webkit-text-fill-color:#f0cf8a!important;
}

/* --------------------------------------------------------------------------
   5. ADMIN MIDNIGHT LIGHT + BRANDING — semantic inverse surfaces only.
   -------------------------------------------------------------------------- */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page :is(.mlv-notification-badge,.button.button-gold,a.button.button-gold,button.button.button-gold,.system-primary-action.button-gold){
  background:#6f4712!important;color:#fffdf8!important;-webkit-text-fill-color:#fffdf8!important;border-color:#6f4712!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page :is(.mlv-notification-badge,.button-gold,.system-primary-action.button-gold) :is(span,strong,small,b,em){
  color:#fffdf8!important;-webkit-text-fill-color:#fffdf8!important;opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page p.eyebrow{
  color:#6f4712!important;-webkit-text-fill-color:#6f4712!important;opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.branding-admin .branding-preview-light span{
  color:#51340a!important;-webkit-text-fill-color:#51340a!important;opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.branding-admin .branding-preview-dark :is(span,strong,small),
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.branding-admin .theme-preview>div>h3{
  color:#fffdf8!important;-webkit-text-fill-color:#fffdf8!important;opacity:1!important;text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.branding-admin .theme-preview>div>small{
  color:#f0cf8a!important;-webkit-text-fill-color:#f0cf8a!important;opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .mlv-r20-diagnostic-acceptance-status{
  color:#fffdf8!important;-webkit-text-fill-color:#fffdf8!important;opacity:1!important;text-shadow:none!important;
}

/* --------------------------------------------------------------------------
   6. VERIFICATION / ACCOUNT SUCCESSOR SAFETY — deterministic CSS, no painter.
   -------------------------------------------------------------------------- */
body:not(.admin-page):not(.account-page) .verify-actions{
  background:#454139!important;color:#fffdf8!important;
}
body:not(.admin-page):not(.account-page):has(.verify-actions) :is(.verify-actions,.button-dark,.button-gold) :is(span,strong,small,b,em){
  color:inherit!important;-webkit-text-fill-color:currentColor!important;opacity:1!important;
}
body:not(.admin-page):not(.account-page):has(.verify-actions) .button-dark{
  background:#211e1a!important;color:#fffdf8!important;-webkit-text-fill-color:#fffdf8!important;border-color:#211e1a!important;
}
body:not(.admin-page):not(.account-page):has(.verify-actions) .verify-actions .button-gold{
  background:#6f4712!important;color:#fffdf8!important;-webkit-text-fill-color:#fffdf8!important;border-color:#6f4712!important;
}
html[data-app-theme="atlas-future"][data-theme="light"] body.account-page .account-main p.eyebrow{
  color:#006f94!important;-webkit-text-fill-color:#006f94!important;opacity:1!important;
}
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.account-page .account-main a{
  color:#d8baff!important;-webkit-text-fill-color:#d8baff!important;
}


/* ========================================================================== 
   C11 R20 — CANONICAL COMPONENT OWNERSHIP
   The active theme stylesheet owns every palette token. This final sheet only
   binds those tokens to stable component classes after legacy compatibility CSS.
   ========================================================================== */

/* CATEGORY CARDS are owned exclusively by section 1 above. */

/* REVIEWS: metadata has an explicit visual hierarchy and breathing room. */
body:not(.admin-page):not(.account-page) .review-grid article>footer{align-items:flex-start!important;gap:16px!important;}
body:not(.admin-page):not(.account-page) .review-grid article>footer>span{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;
  min-width:0!important;line-height:1.35!important;
}
body:not(.admin-page):not(.account-page) .review-grid article>footer>span>strong{
  color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;
  font-size:13px!important;font-weight:750!important;line-height:1.25!important;margin:0!important;
}
body:not(.admin-page):not(.account-page) .review-grid article>footer>span>small{
  color:var(--ui-muted)!important;-webkit-text-fill-color:var(--ui-muted)!important;
  font-size:10.5px!important;line-height:1.45!important;margin:0!important;
}
body:not(.admin-page):not(.account-page) .review-grid article>footer>span>.review-public-date-v1632{
  opacity:.86!important;font-size:9.5px!important;letter-spacing:.025em!important;margin-top:1px!important;
}

/* BOOKING WORKSPACE: all six themes share semantic component ownership while
   each theme decides the colors. */
body:not(.admin-page):not(.account-page) .booking-shell{background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro{
  background:var(--mlv-booking-intro)!important;color:var(--mlv-booking-intro-text)!important;border-color:var(--ui-line)!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro :is(h2,strong){
  color:var(--mlv-booking-intro-text)!important;-webkit-text-fill-color:var(--mlv-booking-intro-text)!important;text-shadow:none!important;opacity:1!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro :is(p:not(.eyebrow),.progress-list small){
  color:var(--mlv-booking-intro-muted)!important;-webkit-text-fill-color:var(--mlv-booking-intro-muted)!important;text-shadow:none!important;opacity:1!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.eyebrow{
  color:var(--mlv-category-meta)!important;-webkit-text-fill-color:var(--mlv-category-meta)!important;opacity:1!important;
}
body:not(.admin-page):not(.account-page) .booking-intro .progress-list>li>span{color:var(--mlv-booking-intro-muted)!important;-webkit-text-fill-color:var(--mlv-booking-intro-muted)!important;border-color:color-mix(in srgb,var(--mlv-booking-intro-muted) 55%,transparent)!important;}
body:not(.admin-page):not(.account-page) .booking-intro .progress-list>li:is(.active,.complete)>span{background:var(--mlv-category-meta)!important;color:var(--mlv-booking-intro)!important;-webkit-text-fill-color:var(--mlv-booking-intro)!important;border-color:var(--mlv-category-meta)!important;}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card{
  background:var(--mlv-support-surface)!important;color:var(--mlv-support-title)!important;
  border:1px solid var(--mlv-support-border)!important;box-shadow:none!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>small{
  color:var(--mlv-support-helper)!important;-webkit-text-fill-color:var(--mlv-support-helper)!important;opacity:1!important;text-shadow:none!important;line-height:1.45!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>strong{
  color:var(--mlv-support-title)!important;-webkit-text-fill-color:var(--mlv-support-title)!important;opacity:1!important;text-shadow:none!important;line-height:1.2!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>a{
  color:var(--mlv-support-accent)!important;-webkit-text-fill-color:var(--mlv-support-accent)!important;opacity:1!important;text-decoration-color:currentColor!important;
}
body:not(.admin-page):not(.account-page) .booking-shell>.booking-form{
  background:var(--ui-panel)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;
}
body:not(.admin-page):not(.account-page) .booking-form :is(.form-title h3,.minor-heading h4,.field>span,.choice-group>legend,.addon strong,.addon b){
  color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;opacity:1!important;text-shadow:none!important;
}
body:not(.admin-page):not(.account-page) .booking-form :is(.form-title p,.minor-heading>span,.addon small,.choice small,.terms){
  color:var(--ui-muted)!important;-webkit-text-fill-color:var(--ui-muted)!important;opacity:1!important;text-shadow:none!important;
}
body:not(.admin-page):not(.account-page) .booking-form :is(.field>input,.field>select,.field>textarea,.field>.counter,.choice,.addon){
  background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;
}
body:not(.admin-page):not(.account-page) .booking-form :is(.field>input,.field>select,.field>textarea,.counter>input){
  color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;opacity:1!important;
}
body:not(.admin-page):not(.account-page) .booking-form .counter>button{
  background:color-mix(in srgb,var(--ui-panel-soft) 78%,var(--ui-line) 22%)!important;color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;
}
body:not(.admin-page):not(.account-page) .booking-form :is(.addon:has(input:checked),.choice:has(input:checked),.choice.active){
  background:color-mix(in srgb,var(--ui-panel) 82%,var(--ui-accent) 18%)!important;border-color:var(--ui-accent)!important;
}
body:not(.admin-page):not(.account-page) .booking-form .addon.is-featured{border-color:var(--ui-accent)!important;box-shadow:inset 4px 0 var(--ui-accent)!important;}
body:not(.admin-page):not(.account-page) .booking-form .addon-check{background:var(--ui-panel)!important;border-color:var(--ui-line)!important;color:transparent!important;-webkit-text-fill-color:transparent!important;}
body:not(.admin-page):not(.account-page) .booking-form .addon>input:checked+.addon-check{background:var(--mlv-aa-accent-bg)!important;border-color:var(--mlv-aa-accent-bg)!important;color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;}
body:not(.admin-page):not(.account-page) .booking-form .addon strong>em{background:var(--mlv-aa-accent-bg)!important;color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;}
body:not(.admin-page):not(.account-page) .booking-form .form-actions>.button-dark{
  background:var(--mlv-aa-accent-bg)!important;color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;border-color:var(--mlv-aa-accent-bg)!important;
}
body:not(.admin-page):not(.account-page) .booking-form .form-actions>.button-dark :is(span,strong,small){color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;}
body:not(.admin-page):not(.account-page) .booking-shell>.summary-card{
  background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;
}
body:not(.admin-page):not(.account-page) .summary-card :is(h3,dd,strong){color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;opacity:1!important;}
body:not(.admin-page):not(.account-page) .summary-card :is(.summary-meta,dt,small,.summary-note){color:var(--ui-muted)!important;-webkit-text-fill-color:var(--ui-muted)!important;opacity:1!important;}
body:not(.admin-page):not(.account-page) .summary-card .summary-due{background:var(--mlv-booking-intro)!important;color:var(--mlv-booking-intro-text)!important;border-color:var(--mlv-category-meta)!important;}
body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dt,span,small){color:var(--mlv-booking-intro-muted)!important;-webkit-text-fill-color:var(--mlv-booking-intro-muted)!important;}
body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dd,strong){color:var(--mlv-category-meta)!important;-webkit-text-fill-color:var(--mlv-category-meta)!important;}

/* Hotels / public action controls: semantic contrast, without touching pricing or
   availability logic. */
body.hotels-marketplace :is(.hotel-search-bar,.hotel-filters,.hotel-card-footer) :is(button,.button){
  background:var(--mlv-aa-accent-bg)!important;color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;border-color:var(--mlv-aa-accent-bg)!important;
}
body.hotels-marketplace :is(.hotel-search-bar,.hotel-filters,.hotel-card-footer) :is(button,.button) :is(span,strong,small){color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;}

/* Admin/action accent ownership. This closes the 3.91:1 gold-button family by
   pairing an AA surface with its foreground instead of repainting descendants. */
body.admin-page :is(.button-gold,.system-primary-action.button-gold,.mlv-notification-badge){
  background:var(--mlv-aa-accent-bg)!important;color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;border-color:var(--mlv-aa-accent-bg)!important;
}
body.admin-page :is(.button-gold,.system-primary-action.button-gold,.mlv-notification-badge) :is(span,strong,small,b,em,i){color:inherit!important;-webkit-text-fill-color:currentColor!important;opacity:1!important;}
body.admin-page p.eyebrow{color:var(--mlv-aa-accent-text)!important;-webkit-text-fill-color:var(--mlv-aa-accent-text)!important;}

/* Verification surface: component surfaces own both sides of the contrast pair. */
body.verify-future :is(.verify-shell,.verify-document-panel,.verify-fact,.verify-snapshot-section div){border-color:var(--ui-line)!important;}
body.verify-future :is(.verify-document-panel,.verify-fact){background:var(--ui-panel)!important;color:var(--ui-text)!important;}
body.verify-future :is(.verify-brand strong,.verify-hero h1,.verify-document-panel strong,.verify-fact dd){color:var(--ui-text)!important;-webkit-text-fill-color:var(--ui-text)!important;}
body.verify-future :is(.verify-brand small,.verify-lead,.verify-copy-mini,.verify-footer-note,.verify-fact dt){color:var(--ui-muted)!important;-webkit-text-fill-color:var(--ui-muted)!important;opacity:1!important;}
body.verify-future .verify-actions{background:var(--ui-panel-soft)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;}
body.verify-future .verify-actions .button-gold{background:var(--mlv-aa-accent-bg)!important;color:var(--mlv-aa-accent-fg)!important;-webkit-text-fill-color:var(--mlv-aa-accent-fg)!important;border-color:var(--mlv-aa-accent-bg)!important;}
body.verify-future .verify-actions .button-dark{background:var(--ui-text)!important;color:var(--ui-bg)!important;-webkit-text-fill-color:var(--ui-bg)!important;border-color:var(--ui-text)!important;}

/* Contextual server-rendered SEO discovery links are intentionally compact and
   human-useful; no keyword wall and no invisible crawler-only content. */

@media(max-width:650px){
  body:not(.admin-page):not(.account-page) .review-grid article>footer>span{gap:6px!important;margin-bottom:10px!important;}
}

/* C11 R20 REPACK8 — CURRENT VISUAL OBSERVATORY CLOSURE
   Exact scope: Midnight Royal dark Admin contrast, Midnight Royal light Home
   foregrounds, and Diagnostics AI shortcut width. Presentation only.
   Footer, commerce, Hotels, schema and data ownership are intentionally untouched. */

/* System & Updates · Midnight Royal · Dark */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-status-icon{
  background:#211e1a!important;
  background-color:#211e1a!important;
  border-color:#8b6a2e!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main span:not(.system-status-icon):not(.system-file-mark){
  color:#f8f0df!important;
  -webkit-text-fill-color:#f8f0df!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main :is(button,a.button,a.system-primary-action,.button-gold,.button-dark,.button-danger,[role="button"]) :is(span,small,strong,b,em){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* Diagnostics · Midnight Royal · Dark */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main :is(a.button.button-dark,button.button-dark,#diagSessionStop){
  background:#211e1a!important;
  background-color:#211e1a!important;
  border-color:#8b6a2e!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main :is(.health-guard,.health-guard.attention){
  background:#211e1a!important;
  background-color:#211e1a!important;
  border-color:#8b6a2e!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page #ai-diagnostic-bridge :is(.diag-v1610-card,label){
  min-width:0!important;
  max-width:100%!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page #mlvAiPublicShortcut,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page #ai-diagnostic-bridge :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Public Home · Midnight Royal · Light — only known light content surfaces. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(.journey-platform,.homepage-platform,.experience-section,.home-hotels-section,.featured-reviews,.reviews-section,.homepage-about,.homepage-proof,.booking-form,.summary-card) :is(p,small,span,.card-meta){
  color:#443521!important;
  -webkit-text-fill-color:#443521!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(#summary-city,#summary-duration,p.card-meta,.card-meta){
  color:#51340a!important;
  -webkit-text-fill-color:#51340a!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(.journey-platform,.homepage-platform,.experience-section,.home-hotels-section,.featured-reviews,.reviews-section,.homepage-about,.homepage-proof,.booking-form,.summary-card) :is(a.button,button.button,.button-gold,.button-dark) :is(span,small,strong,b,em){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}



/* C11 R20 REPACK9 — FRESH OBSERVATORY DARK-HOME + SYSTEM SEMANTIC CLOSURE
   Fresh REPACK8 visits proved the Diagnostics dark family clean, so this block
   intentionally does not reopen Diagnostics. It owns only the remaining
   Midnight Royal homepage control/link/rating contrast pairs, retained
   light-home semantic text, and System & Updates semantic labels. Footer,
   commerce, Hotels, schema and data ownership remain untouched. */

/* Public Home · Midnight Royal · Dark — own both button surface + foreground. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) main :is(a.button.button-dark,button.button.button-dark,.button.button-dark){
  background:#211e1a!important;
  background-color:#211e1a!important;
  background-image:none!important;
  border-color:#8b6a2e!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) main :is(a.button.button-dark,button.button.button-dark,.button.button-dark) :is(span,small,strong,b,em,i){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Ratings / metadata are accent text on dark component surfaces, not muted gold. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) main :is(a.card-rating,.card-rating,.card-meta,.card-meta span){
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Text links on known dark content surfaces receive an AA accent foreground.
   Buttons and rating links have their own owners above. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) main :is(.journey-platform,.homepage-platform,.experience-section,.home-hotels-section,.featured-reviews,.reviews-section,.homepage-about,.homepage-proof,.package-card,.review-card,.platform-feature-grid article) a:not(.button):not(.card-rating){
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Explicit inverse/light-surface protection in dark mode. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .card-image>span{
  color:#21190f!important;
  -webkit-text-fill-color:#21190f!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card{
  background:#fff8e9!important;
  color:#2c1d0e!important;
  border-color:#d1b982!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>small{
  color:#66523b!important;-webkit-text-fill-color:#66523b!important;opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>strong{
  color:#2c1d0e!important;-webkit-text-fill-color:#2c1d0e!important;opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>a{
  color:#71490e!important;-webkit-text-fill-color:#71490e!important;opacity:1!important;
}

/* Public Home · Midnight Royal · Light — replace low-contrast accent/muted
   foregrounds only on light content panels. Category/photo text is excluded. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(.journey-platform,.homepage-platform,.experience-section,.home-hotels-section,.featured-reviews,.reviews-section,.homepage-about,.homepage-proof,.package-card,.review-card,.platform-feature-grid article,.booking-form,.summary-card) :is(p,small,span){
  color:#443521!important;
  -webkit-text-fill-color:#443521!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(.card-meta,.card-meta span,p.card-meta,#summary-city,#summary-duration,a.card-rating,.card-rating){
  color:#51340a!important;
  -webkit-text-fill-color:#51340a!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(.journey-platform,.homepage-platform,.experience-section,.home-hotels-section,.featured-reviews,.reviews-section,.homepage-about,.homepage-proof,.package-card,.review-card,.platform-feature-grid article,.booking-form,.summary-card) a:not(.button){
  color:#51340a!important;
  -webkit-text-fill-color:#51340a!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main :is(a.button,button.button,.button-gold,.button-dark) :is(span,small,strong,b,em,i){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}
/* Preserve the intentionally dark summary-due tile inside the light summary. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dt,span,small){
  color:#d9ccba!important;
  -webkit-text-fill-color:#d9ccba!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dd,strong){
  color:#e8c56e!important;
  -webkit-text-fill-color:#e8c56e!important;
  opacity:1!important;
}

/* System & Updates · Midnight Royal · Dark — semantic labels supersede the
   REPACK8 blanket span fallback so accent/danger/control surfaces own their
   correct foregrounds. No updater behavior is changed. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main :is(.system-step,.system-section-title>span,.backup-type){
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main :is(.system-step.is-danger,.system-risk-badge){
  color:#ffb3a8!important;
  -webkit-text-fill-color:#ffb3a8!important;
  border-color:#b85d52!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main :is(.system-installed-version,.system-hero-badge) :is(span,strong,small){
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-form label>span,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-check-card>span,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-check-card strong{
  color:#f8f0df!important;
  -webkit-text-fill-color:#f8f0df!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-form label>span small,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-check-card small{
  color:#d9ccba!important;
  -webkit-text-fill-color:#d9ccba!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-inspection-pass>span{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main :is(button,a.button,a.system-primary-action,.button-gold,.button-dark,.button-danger,[role="button"]) :is(span,small,strong,b,em,i){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
  opacity:1!important;
}

/* C11 R20 REPACK10 — EXACT CURRENT RUNTIME CONTRAST CLOSURE
   Derived from /admin/current-visual-issues.php after REPACK9 fresh route
   coverage. Scope is limited to the exact Midnight Royal dark semantic
   component families still failing runtime contrast. No layout, commerce,
   Hotel, schema, data, service-worker or category composition ownership. */

/* Home photo card chip: live surface is rgba(20,19,16,.92), so it is an
   inverse dark chip and must retain a light foreground. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .card-image>span{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:0 1px 8px rgba(0,0,0,.55)!important;
}

/* Home booking support card: its intentional #fff8e9 surface is light.
   Descendant selectors cover the live nested copy that direct-child rules
   did not reach in REPACK9. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card a{
  color:#71490e!important;
  -webkit-text-fill-color:#71490e!important;
  opacity:1!important;
}

/* Admin Bookings: semantic row action links on the #12100d panel. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main a.row-link{
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* System & Updates: #4e9b64 pass glyph requires dark ink for AA contrast. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-inspection-pass>span{
  color:#171108!important;
  -webkit-text-fill-color:#171108!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Diagnostics: only warning issue cards. The amber severity pill keeps its
   status color with dark ink; the issue body gets a stable dark surface so
   its title/helper/release text cannot inherit the amber background. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning){
  background:#12100d!important;
  background-color:#12100d!important;
  border-color:#5b4527!important;
  color:#f8f0df!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .health-severity.severity-warning{
  background:#bc8526!important;
  background-color:#bc8526!important;
  border-color:#bc8526!important;
  color:#21190f!important;
  -webkit-text-fill-color:#21190f!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .health-issue-copy{
  background:transparent!important;
  background-color:transparent!important;
  color:#f8f0df!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .health-issue-copy>div>strong{
  color:#f8f0df!important;
  -webkit-text-fill-color:#f8f0df!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .health-issue-copy>div>small,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .health-issue-copy>p{
  color:#d9ccba!important;
  -webkit-text-fill-color:#d9ccba!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .diag-v1611-release-badge{
  background:#211e1a!important;
  background-color:#211e1a!important;
  border-color:#8b6a2e!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) :is(details>summary,.diag-v1610-trace>summary){
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main .health-issue:has(.health-severity.severity-warning) .diag-v1610-copy{
  background:#211e1a!important;
  background-color:#211e1a!important;
  border-color:#8b6a2e!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
}


/* C11 R20 REPACK11 — FINAL THREE CURRENT CONTRAST SELECTOR CLOSURE
   Fresh REPACK10 evidence reduced current runtime visual failures to exactly
   three: public Midnight Royal dark support-card helper/title text and the
   System & Updates pass glyph. This block raises only those semantic owners'
   cascade specificity. No layout, category, footer, commerce, Hotel, schema,
   data, Diagnostics or service-worker behavior is changed. */

/* Public Home · Midnight Royal · Dark — support-card is intentionally light.
   Own the semantic component directly, independent of booking wrapper depth. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) main .support-card.support-card small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body:not(.admin-page):not(.account-page) main .support-card.support-card strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* System & Updates · Midnight Royal · Dark — beat the older broad span:not()
   fallback while remaining scoped to the exact green pass glyph component. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.system-updates-page .admin-main.system-updates-main .system-inspection-pass.system-inspection-pass>span:not(.system-status-icon):not(.system-file-mark){
  color:#171108!important;
  -webkit-text-fill-color:#171108!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK12 — FRESH MIDNIGHT-ROYAL LIGHT CONTRAST CLOSURE
   Derived from the post-REPACK11 current visual batches. Scope is limited to
   semantic light-mode surfaces that still record below AA: Home assurance,
   Home support-card copy, ordinary summary labels, Admin gold actions and the
   Diagnostics acceptance status. Category cards, footer, commerce, Hotels,
   schema/data, JavaScript and service-worker ownership are intentionally untouched. */

/* Public Home · Midnight Royal · Light — assurance lives on the sand panel. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main .assurance p{
  color:#443521!important;
  -webkit-text-fill-color:#443521!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main .assurance span:not([class]):not([id]){
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Public Home · Midnight Royal · Light — support-card is intentionally light;
   own nested helper/title text independently of booking-intro inverse copy. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main .support-card.support-card small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main .support-card.support-card strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Public Home · Midnight Royal · Light — normal summary labels only.
   The intentionally dark .summary-due row keeps its inverse palette. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main .summary-card>dl>div:not(.summary-due)>dt{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Admin · Midnight Royal · Light — high-specificity semantic gold action pair.
   This beats historical button descendants without touching neutral controls. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.admin-main :is(a.button.button-gold,button.button.button-gold,.button.button-gold,.system-primary-action.button-gold){
  background:#6f4712!important;
  background-color:#6f4712!important;
  background-image:none!important;
  border-color:#6f4712!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.admin-main :is(a.button.button-gold,button.button.button-gold,.button.button-gold,.system-primary-action.button-gold) :is(span,strong,small,b,em,i){
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Keep the topbar notification badge on the same accessible inverse gold pair
   even while its bump state is active. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-topbar button.mlv-notification-trigger span.mlv-notification-badge,
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-topbar button.mlv-notification-trigger span.mlv-notification-badge.is-bumping{
  background:#6f4712!important;
  background-color:#6f4712!important;
  background-image:none!important;
  border-color:#6f4712!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
  mix-blend-mode:normal!important;
}

/* Diagnostics · Midnight Royal · Light — this status sits on a light panel,
   so the prior inverse-white owner was incorrect for this mode. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.admin-main strong.mlv-r20-diagnostic-acceptance-status{
  color:#21190f!important;
  -webkit-text-fill-color:#21190f!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK14 — FRESH POST-REPACK12 EXACT SCOPE + ROUTE FAMILY CLOSURE
   Fresh production evidence after REPACK12 proved:
   - Midnight Royal Dark: System & Updates and Diagnostics = 0 current issues.
   - Midnight Royal Light Home: the remaining assurance/support/summary families
     are rendered outside the main wrapper, so REPACK12's component colors were
     correct but its `main` ancestor was structurally too strict.
   - Admin Legal Dark: repeated button.row-link family remains below AA.
   - Hotels Light: p.eyebrow remains below AA on the cream surface.
   This block changes presentation ownership only. Bing verification, category
   composition, footer, commerce, Hotel pricing/reservation logic, schema/data,
   JavaScript and service-worker behavior are untouched. */

/* Public Home · Midnight Royal · Light — exact component owners without the
   incorrect `main` ancestor. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .assurance.assurance p{
  color:#443521!important;
  -webkit-text-fill-color:#443521!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .assurance.assurance span:not([class]):not([id]){
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .support-card.support-card small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .support-card.support-card strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card.summary-card>dl>div:not(.summary-due)>dt{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Admin Legal · Midnight Royal · Dark — the live repeated action owner is a
   button.row-link, while the earlier closure covered anchors only. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main.admin-main button.row-link{
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Hotels marketplace · Midnight Royal · Light — presentation only; room rates,
   availability and reservation logic remain separate and untouched. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.hotels-marketplace p.eyebrow{
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK15 — CONSOLIDATED CURRENT RUNTIME CONTRAST CLOSURE
   Built from the exact REPACK14 + Bing baseline. Fresh post-REPACK14 evidence
   leaves three proven Midnight Royal dark failures (Home support helper/title
   and Legal Studio row-link) and surfaces two pre-existing document families:
   public verification and Admin Document Sign. This block owns only those exact
   rendered components. No layout, category, footer, commerce, Hotel pricing,
   schema/data, JavaScript, service-worker or Bing verification behavior changes. */

/* Home · Midnight Royal — the support card is intentionally a light companion
   surface in both Light and Dark modes. Use its real structural path so the
   canonical booking-intro inverse rules cannot win on its helper/title. */
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .booking-shell>.booking-intro>.support-card>strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Legal Studio · Midnight Royal · Dark — repeated disabled/neutral row actions
   sit on the live #6b6b6b canvas. Use light ink (>5:1) only for that family. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page .admin-main.admin-main .legal-record button.row-link{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Public Verify Document — the rendered document panel is light while the
   action rail is intentionally dark. Own both sides of those exact surfaces. */
body.verify-future #verify-title{
  color:#21190f!important;
  -webkit-text-fill-color:#21190f!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.verify-future p.verify-lead{
  color:#5c5145!important;
  -webkit-text-fill-color:#5c5145!important;
  opacity:1!important;
  text-shadow:none!important;
}
body.verify-future .verify-actions.verify-actions :is(span,strong,small,b,em){
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Admin Document Sign · Midnight Royal · Dark — page/zoom labels render on
   light document controls; placement actions remain on the dark admin canvas. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page:has(#page-label) :is(#page-label,#zoom-label){
  color:#21190f!important;
  -webkit-text-fill-color:#21190f!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page:has(#page-label) :is(#clear-signature,#place-signature,#place-stamp,#remove-selected){
  color:#ffe09a!important;
  -webkit-text-fill-color:#ffe09a!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* C11 R20 REPACK16 — EXACT 11 CASCADE/INLINE-RESIDUE CLOSURE
   Fresh REPACK15 Light + Dark runtime evidence leaves exactly eleven contrast
   failures. CSS remains the sole color owner. The companion owner JS only tags
   the exact Home/Verify semantic components and clears stale inline ink on them;
   it never paints colors/backgrounds/geometry or touches commerce/data. Footer,
   category composition, Hotels commerce, finance, schema, Diagnostics logic,
   service worker and Bing verification remain untouched. */

/* Home · Midnight Royal · Light — the three assurance blocks render on sand. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .assurance.mlv-r20-assurance-aa p{
  color:#443521!important;
  -webkit-text-fill-color:#443521!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .assurance.mlv-r20-assurance-aa span{
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Home · Midnight Royal · Light + Dark — personal-support card is intentionally
   light in both modes, so it always uses stable dark ink. */
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .mlv-r20-support-aa small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .mlv-r20-support-aa strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Public Verify Document — exact class added only to the one classless span
   observed on the #454139 action surface. */
body.verify-future span.mlv-r20-verify-action-aa{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Admin Document Sign · Midnight Royal · Dark — these four exact controls sit
   on the browser-resolved #6b6b6b surface; neutral white exceeds AA. */
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page:has(#page-label) #clear-signature,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page:has(#page-label) #place-signature,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page:has(#page-label) #place-stamp,
html[data-app-theme="midnight-royal"][data-theme="dark"] body.admin-page:has(#page-label) #remove-selected{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK17 — CURRENT 12 RUNTIME CONTRAST CLOSURE
   Fresh REPACK16 acceptance proved all geometry/visibility families clean and
   reduced the remaining presentation debt to late-rendered descendants:
   - Home Light sand copy/accent + support helper/title;
   - Home Dark support helper/title;
   - one repeated Midnight-Light Admin gold-surface span family;
   - one repeated Verify Document charcoal-action span family.
   The companion owner JS only tags elements whose final computed foreground /
   nearest solid background exactly match those live failure signatures. CSS
   remains the sole color owner. No layout, category, footer, commerce, Hotels,
   finance logic, schema/data, Diagnostics scoring, service worker or Bing
   verification behavior is changed. */

/* Home · Midnight Royal · Light — exact final rendered sand-surface signatures. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .mlv-r20-home-sand-copy-aa{
  color:#443521!important;
  -webkit-text-fill-color:#443521!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .mlv-r20-home-sand-accent-aa{
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Home · Midnight Royal · Light + Dark — support companion surface is #fff8e9. */
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .mlv-r20-home-support-helper-aa{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .mlv-r20-home-support-title-aa{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Admin · Midnight Royal · Light — current #a87624 surface uses near-black ink
   instead of inverse white; #171108 clears AA at 4.71:1 without altering the
   control surface or behavior. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .mlv-r20-admin-gold-span-aa{
  color:#171108!important;
  -webkit-text-fill-color:#171108!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Public Verify Document — repeated classless action copy on #454139. */
body .mlv-r20-verify-charcoal-span-aa{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK18 — EXACT FINAL 7 CURRENT CONTRAST FAMILY CLOSURE
   Built from the installed REPACK17 baseline after a completed fresh Light +
   Dark acceptance. Current geometry/visibility remains clean. This block owns
   only the seven surviving contrast families:
   - Home Light booking-summary note;
   - Home Light + Dark support-card helper/title;
   - Legal Studio Light gold-on-white span;
   - Verify Document copy-icon descendants on charcoal controls.
   No category/footer layout, commerce, Hotels, finance behavior, schema/data,
   Diagnostics scoring, service worker or Bing verification behavior changes. */

/* Home · Midnight Royal · Light — exact summary note on #f5ead8. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .booking-shell.booking-shell>.summary-card.summary-card .summary-note.summary-note{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Home · Midnight Royal · Light + Dark — the support companion surface remains
   #fff8e9 in both modes. Full structural specificity beats the booking-intro
   inverse descendants without changing that surface or its geometry. */
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .booking-shell.booking-shell>.booking-intro.booking-intro .support-card.support-card>small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .booking-shell.booking-shell>.booking-intro.booking-intro .support-card.support-card>strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Legal Studio · Midnight Royal · Light — exact computed gold-on-white span
   signature tagged by the presentation owner. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .admin-main.admin-main span.mlv-r20-legal-light-gold-aa{
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Verify Document — the three icon-only copy controls are the repeated
   #454139 charcoal family recorded as classless spans. Keep the control surface
   intact and give only button span descendants a stable inverse foreground. */
body.verify-future button[aria-label^="Copy "]>span,
body.verify-future button[title^="Copy "]>span{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* C11 R20 REPACK19 — EXACT FINAL SIX PRE-RECORDER OWNER
   Fresh REPACK18 Light + Dark acceptance leaves exactly six current contrast
   observations: Home Light summary note, Home support helper/title in both modes,
   and the repeated Verify Document charcoal span family. The companion owner JS
   runs before diagnostic-recorder-v16.js and owns only those exact live
   foreground/background signatures. These CSS selectors are structural fallbacks
   for the same components; no category/footer geometry, commerce, Hotels, finance,
   schema/data, Diagnostics scoring, service worker or Bing behavior changes. */

/* Home Light — exact classless summary paragraph immediately after the selection DL. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) main dl + p{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Home Light + Dark — support companion identified by its direct Ayoub WhatsApp
   action instead of the historical .support-card wrapper assumption. */
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) main :not(.detail-booking-card):has(>a[href*="wa.me/212662102928"])>small{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) main :not(.detail-booking-card):has(>a[href*="wa.me/212662102928"])>strong{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Verify Document — three copy-icon controls on the charcoal verification surface. */
body.verify-future button[aria-label^="Copy "] span,
body.verify-future button[title^="Copy "] span{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* C11 R20 REPACK20 — REPACK19 REGRESSION ROLLBACK + EXACT SURVIVOR OWNER
   Fresh REPACK19 Light acceptance rejected its JS replacement: the support-card
   pair improved, but five previously-clean Midnight-Light Admin action spans
   regressed and Home/Verify still retained live failures. REPACK20 restores the
   proven REPACK18 admin/legal semantic class ownership while retaining only the
   exact Home/Verify late-style corrections in the companion owner JS.
   No layout/category/footer, commerce, Hotels, finance behavior, schema/data,
   Diagnostics scoring, service worker or Bing verification behavior changes. */

/* Stable class fallbacks for exact Home sand families after inline residue clears. */
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .mlv-r20-home-sand-copy-aa{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body:not(.admin-page):not(.account-page) .mlv-r20-home-sand-accent-aa{
  color:#6f4712!important;
  -webkit-text-fill-color:#6f4712!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Preserve the successful light support companion pair as CSS fallback too. */
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .mlv-r20-home-support-helper-aa{
  color:#66523b!important;
  -webkit-text-fill-color:#66523b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"] body:not(.admin-page):not(.account-page) .mlv-r20-home-support-title-aa{
  color:#2c1d0e!important;
  -webkit-text-fill-color:#2c1d0e!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* Restore the REPACK18 proven admin inverse/gold descendant ownership. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page .mlv-r20-admin-gold-span-aa{
  color:#171108!important;
  -webkit-text-fill-color:#171108!important;
  opacity:1!important;
  text-shadow:none!important;
}
body .mlv-r20-verify-charcoal-span-aa{
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* C11 R20 REPACK22 — VERIFY-ONLY COPY-MINI COMPONENT OWNERSHIP
   Fresh REPACK21 Light + Dark acceptance leaves one unique runtime family:
   the three Verify Document copy controls, recorded as span foreground
   rgb(128,120,109) on the charcoal rgb(69,65,57) surface (2.33:1).
   Root cause: the canonical Verify metadata rule still classifies
   .verify-copy-mini as ordinary muted copy. Own that exact component and its
   icon descendants as inverse control ink instead. No other Verify text,
   geometry, theme, Admin, commerce, Hotels, footer/category, schema/data,
   Diagnostics scoring, service worker or Bing behavior changes. */
body.verify-future .verify-copy-mini.verify-copy-mini,
body.verify-future .verify-copy-mini.verify-copy-mini :is(span,strong,small,b,em,i){
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK23 — VERIFY-ONLY INTEGRITY LABEL OWNER
   Fresh REPACK22 proved the remaining three classless span failures are not the
   copy-button glyphs: Diagnostics resolves their solid background as #454139,
   the verification integrity panel surface. The three direct-text labels are
   SNAPSHOT CAPTURED, CONTENT FINGERPRINT and VERIFICATION FINGERPRINT.
   Restore the previously proven semantic owner for only direct span children of
   .verify-integrity-row. No copy-button, document content, geometry, Admin,
   commerce, Hotels, footer/category, schema/data, Diagnostics scoring, service
   worker or Bing behavior changes. */
body.verify-future .verify-integrity-row > span{
  color:#f6dda4!important;
  -webkit-text-fill-color:#f6dda4!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* C11 R20 REPACK24 — CONSOLIDATED CURRENT ACCEPTANCE OWNER
   Fresh REPACK23 production Observatory leaves 12 unique current rows but only
   four concrete presentation owners:
   1) Verify integrity labels under both Midnight and Emerald AUTO;
   2) Midnight-Light Diagnostics warning/error evidence surfaces;
   3) Emerald-Light Home rating span;
   4) Emerald-Light Home support-card helper/title descendants.
   Presentation only. No footer/category geometry, booking/payment/commission,
   payout/refund/MLV Credit, Hotels pricing, schema/data, Diagnostics scoring,
   service worker or Bing verification behavior changes. */

/* 1. Verify: the live accessibility hierarchy shows the three labels as direct
   span children of the Cryptographic fingerprints article (.verify-integrity),
   not descendants of the retired .verify-integrity-row wrapper. */
body.verify-future .verify-integrity > span{
  color:#f6dda4!important;
  -webkit-text-fill-color:#f6dda4!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* 2. Diagnostics · Midnight Royal · Light. Exact issue-evidence components only. */
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .health-issue .health-issue-copy>div>small,
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .health-issue .health-issue-copy>p,
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .health-issue details>summary,
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .health-issue .diag-v1610-trace>summary{
  color:#2b1b05!important;
  -webkit-text-fill-color:#2b1b05!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .health-severity.severity-warning{
  background:#6b4708!important;
  background-color:#6b4708!important;
  border-color:#6b4708!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .diag-v1611-release-badge,
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center .diag-v1610-copy{
  background:#2c1d0e!important;
  background-color:#2c1d0e!important;
  border-color:#5f420f!important;
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="midnight-royal"][data-theme="light"] body.admin-page
.admin-main.health-center :is(.diag-v1611-release-badge,.diag-v1610-copy)
:is(span,strong,small,b,em,i){
  color:#fffdf8!important;
  -webkit-text-fill-color:#fffdf8!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* 3. Home · Emerald Concierge · Light. Same proven classless rating owner used
   by the earlier Current-MLV closure, scoped to Emerald only. */
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page)
main .card-rating span:not([class]):not([id]){
  color:#6a4d16!important;
  -webkit-text-fill-color:#6a4d16!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* 4. Home · Emerald Concierge · Light. R20 used a direct-child support-card
   assumption; live evidence proves the support card survives behind a wrapper.
   Keep the same semantic card and simply relax that unproven ancestor edge. */
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page)
.booking-intro .support-card small{
  color:#50645b!important;
  -webkit-text-fill-color:#50645b!important;
  opacity:1!important;
  text-shadow:none!important;
}
html[data-app-theme="emerald-concierge"][data-theme="light"] body:not(.admin-page):not(.account-page)
.booking-intro .support-card strong{
  color:#173027!important;
  -webkit-text-fill-color:#173027!important;
  opacity:1!important;
  text-shadow:none!important;
}


/* C11 R20 REPACK25 — VERIFY-ONLY STRUCTURAL INTEGRITY LABEL OWNER
   Fresh REPACK24 leaves one unique current runtime family: three classless
   integrity labels inside the Cryptographic fingerprints article, recorded at
   rgb(128,120,109) on rgb(69,65,57) (2.33:1). Live accessibility evidence
   proves this is the only Verify article with direct button children; the three
   labels are direct classless span siblings of those controls. Bind ownership
   to that rendered structure instead of any inferred/retired wrapper class.
   No copy-button geometry, document content, Admin, commerce, Hotels, footer,
   categories, schema/data, Diagnostics scoring, service worker or Bing changes. */
body.verify-future article:has(> button) > span:not([class]):not([id]){
  color:#f6dda4!important;
  -webkit-text-fill-color:#f6dda4!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* C11 R20 REPACK28 — VERIFY-ONLY DURABLE SEMANTIC FINGERPRINT LABEL OWNER
   The companion JS assigns this class only to the exact stable verification labels:
   SNAPSHOT CAPTURED, CONTENT FINGERPRINT and VERIFICATION FINGERPRINT. REPACK28
   intentionally removes the historical body.verify-future dependency so a late body
   class/theme repaint cannot orphan the semantic class. The class itself remains the
   scope boundary; no other Verify copy, layout, Admin, commerce, Hotels, footer,
   categories, schema/data, service worker or Bing ownership is changed. */
.mlv-r20-verify-fingerprint-label{
  color:#f6dda4!important;
  -webkit-text-fill-color:#f6dda4!important;
  opacity:1!important;
  text-shadow:none!important;
}
\n\n/* C11 R20 REPACK29 — EXACT TWO FINGERPRINT COPY ICON OWNER\n   Fresh REPACK28 Observatory evidence contains exactly two remaining Verify\n   contrast failures at rgb(128,120,109) on rgb(69,65,57). The live accessibility\n   tree exposes exactly two matching fingerprint-panel copy controls:\n   Copy content fingerprint and Copy verification fingerprint. Own only their icon\n   span descendants. No generic span painter, layout, footer/category, commerce,\n   Hotels, finance, schema/data, Diagnostics scoring, service worker or Bing change. */\n.mlv-r20-verify-fingerprint-copy-icon,\nbody:not(.admin-page):not(.account-page) button[aria-label="Copy content fingerprint"] span,\nbody:not(.admin-page):not(.account-page) button[title="Copy content fingerprint"] span,\nbody:not(.admin-page):not(.account-page) button[aria-label="Copy verification fingerprint"] span,\nbody:not(.admin-page):not(.account-page) button[title="Copy verification fingerprint"] span{\n  color:#fffdf8!important;\n  -webkit-text-fill-color:#fffdf8!important;\n  opacity:1!important;\n  text-shadow:none!important;\n}\n