/* v16-3-2-integrity.css */
/* MLV V16.3.2 Prompt 4 completion: portal parity, review/admin form spacing, role preferences and optimizer UI integrity. */

/* Reviews moderation spacing */
.reviews-admin-v1632 .review-admin-list{display:grid;gap:18px}
.reviews-admin-v1632 .review-admin-list>article{padding:22px;border-radius:20px}
.reviews-admin-v1632 .review-moderation{display:grid;gap:16px;margin-top:16px}
.reviews-admin-v1632 .review-moderation>label{display:grid;gap:8px;margin:0}
.reviews-admin-v1632 .review-date-editor{display:grid;grid-template-columns:minmax(220px,.95fr) minmax(240px,1.3fr) auto;gap:14px;align-items:end;padding:14px;border:1px solid color-mix(in srgb,var(--gold,#c5a15a) 28%,transparent);border-radius:16px;background:color-mix(in srgb,var(--cream,#fbf8f2) 70%,transparent)}
.reviews-admin-v1632 .review-date-editor label,.reviews-admin-v1632 .review-date-editor>div{display:grid;gap:6px;min-width:0;margin:0}
.reviews-admin-v1632 .review-date-editor .button{min-height:44px;align-self:end;white-space:nowrap}
.reviews-admin-v1632 .review-moderation>.title-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:0;padding-top:2px;align-items:center}
.reviews-admin-v1632 .review-moderation>.title-actions .button,.reviews-admin-v1632 .review-moderation>.title-actions .link-danger{min-height:44px;margin:0}

/* Travel Agent admin forms */
.agent-plan-layout-v1632{grid-template-columns:minmax(0,1.7fr) minmax(360px,.75fr);align-items:start;gap:18px}
.agent-plan-form-v1632{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.agent-plan-form-v1632 label{display:grid;gap:7px;min-width:0;margin:0}
.agent-plan-form-v1632 label:nth-of-type(1),.agent-plan-form-v1632 label:nth-of-type(2),.agent-plan-form-v1632 .button-full{grid-column:1/-1}
.agent-plan-form-v1632 input,.agent-plan-form-v1632 select,.agent-plan-form-v1632 textarea{width:100%;min-width:0}
.agent-plan-form-v1632 textarea{min-height:92px;resize:vertical}
.agent-plan-form-v1632 .inline-check{display:flex;align-items:center;gap:9px;align-self:end;min-height:44px}
.agent-plan-form-v1632 .inline-check input{width:auto}
.agent-review-layout-v1632{grid-template-columns:minmax(0,1.7fr) minmax(360px,.75fr);align-items:start;gap:18px}
.agent-review-form-v1632{display:grid;gap:14px}
.agent-review-form-v1632 label{display:grid;gap:7px;margin:0}
.agent-review-form-v1632 select,.agent-review-form-v1632 textarea{width:100%;min-width:0}
.agent-review-form-v1632 .title-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.agent-review-form-v1632 .title-actions>*{width:100%;min-height:44px;margin:0;text-align:center;justify-content:center}
.admin-empty-v1632{padding:26px;text-align:center;opacity:.72}

/* Shared role dashboard parity */
.role-command-center-v1632{width:min(100%,1540px);margin:0 auto;display:grid;gap:18px}
.role-command-hero-v1632{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;padding:6px 0 4px}
.role-command-hero-v1632>div{max-width:880px}
.role-command-kpis-v1632{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.role-command-kpis-v1632 article{min-width:0;border:1px solid var(--panel-border,rgba(197,161,90,.25));border-radius:18px;padding:17px 18px;background:var(--panel-bg,rgba(255,255,255,.82));display:grid;gap:5px}
.role-command-kpis-v1632 article small{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;opacity:.68}
.role-command-kpis-v1632 article strong{font-size:1.35rem;line-height:1.1;overflow-wrap:anywhere}
.role-dashboard-grid-v1632{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.role-dashboard-card-v1632{position:relative;min-width:0;min-height:245px;border:1px solid var(--panel-border,rgba(197,161,90,.25));border-radius:20px;background:var(--panel-bg,rgba(255,255,255,.84));padding:20px;display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,box-shadow .2s ease}
.role-dashboard-card-v1632:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(20,16,10,.08)}
.role-dashboard-card-v1632>header{display:grid;gap:7px}
.role-dashboard-card-v1632>header small{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;opacity:.62}
.role-dashboard-card-v1632>header h2{margin:0;font-size:1.22rem}
.role-dashboard-card-v1632>header p{margin:0;line-height:1.55;opacity:.75}
.role-dashboard-tools-v1632{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:auto}
.role-dashboard-tools-v1632 a{display:flex;min-width:0;min-height:72px;gap:10px;align-items:center;border:1px solid var(--panel-border,rgba(197,161,90,.22));border-radius:15px;padding:12px;text-decoration:none;color:inherit;background:color-mix(in srgb,var(--panel-bg,#fff) 82%,transparent)}
.role-dashboard-tools-v1632 a span{min-width:0;display:grid;gap:3px}
.role-dashboard-tools-v1632 a strong{overflow-wrap:normal;word-break:normal;hyphens:none}
.role-dashboard-tools-v1632 a small{opacity:.68}
.role-dashboard-organize-v1632{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end}
.role-dashboard-card-v1632[draggable="true"]{cursor:grab}
.role-dashboard-card-v1632.is-dragging{opacity:.55;transform:scale(.985)}

/* Account preferences */
.portal-preferences-v1632{display:grid;gap:18px}
.portal-preference-grid-v1632{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.portal-preference-card-v1632{display:grid;gap:14px;min-width:0}
.portal-preference-card-v1632 h2,.portal-preference-card-v1632 h3{margin:0}
.portal-preference-card-v1632 label{display:grid;gap:7px;margin:0}
.portal-preference-card-v1632 input,.portal-preference-card-v1632 select{width:100%;min-width:0}
.portal-preference-card-v1632 .check-row-v1632{display:flex;gap:10px;align-items:flex-start}
.portal-preference-card-v1632 .check-row-v1632 input{width:auto;margin-top:4px}
.portal-preference-actions-v1632{display:flex;flex-wrap:wrap;gap:10px}

/* Manuals */
.role-manual-grid-v1632{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.role-manual-card-v1632{display:grid;gap:9px;padding:18px;border:1px solid var(--panel-border,rgba(197,161,90,.24));border-radius:18px;background:var(--panel-bg,rgba(255,255,255,.82))}
.role-manual-card-v1632 h3{margin:0}.role-manual-card-v1632 p{margin:0;line-height:1.55}
.manual-section-v1632{display:grid;gap:10px;padding:16px 0;border-bottom:1px solid color-mix(in srgb,currentColor 12%,transparent)}
.manual-section-v1632:last-child{border-bottom:0}
.manual-section-v1632 ul{margin:0;padding-left:20px;display:grid;gap:6px}

/* Public review date consistency */
.review-public-date-v1632{font-size:.78rem;opacity:.7;letter-spacing:.02em}

/* Performance route status */
.performance-route-note-v1632{display:flex;gap:8px;align-items:flex-start;padding:11px 13px;border-radius:14px;background:color-mix(in srgb,var(--panel-bg,#fff) 84%,transparent);border:1px solid color-mix(in srgb,var(--gold,#c5a15a) 25%,transparent)}

@media(max-width:1120px){
  .agent-plan-layout-v1632,.agent-review-layout-v1632{grid-template-columns:1fr}
  .role-command-kpis-v1632{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-dashboard-grid-v1632{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .reviews-admin-v1632 .review-date-editor{grid-template-columns:1fr}
  .reviews-admin-v1632 .review-date-editor .button{width:100%}
  .agent-plan-form-v1632{grid-template-columns:1fr}
  .agent-plan-form-v1632 label:nth-of-type(1),.agent-plan-form-v1632 label:nth-of-type(2),.agent-plan-form-v1632 .button-full{grid-column:auto}
  .role-command-hero-v1632{align-items:flex-start;flex-direction:column}
  .role-command-kpis-v1632{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-dashboard-grid-v1632,.portal-preference-grid-v1632,.role-manual-grid-v1632{grid-template-columns:1fr}
}
@media(max-width:520px){
  .role-command-kpis-v1632{grid-template-columns:1fr}
  .role-dashboard-tools-v1632{grid-template-columns:1fr}
  .agent-review-form-v1632 .title-actions{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.role-dashboard-card-v1632{transition:none}.role-dashboard-card-v1632:hover{transform:none}}
html.mlv-reduced-motion *,html.mlv-reduced-motion *::before,html.mlv-reduced-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
html.mlv-compact-workspace .client-department-grid,html.mlv-compact-workspace .role-dashboard-grid-v1632,html.mlv-compact-workspace .department-grid{gap:10px!important}
html.mlv-compact-workspace .client-department-card,html.mlv-compact-workspace .role-dashboard-card-v1632,html.mlv-compact-workspace .department-card{padding:14px!important}

/* v16-13-mobile-actions-visual-integrity.css */
/* MLV V16.13 Prompt 4 — simple mobile Actions sheet + theme visual-integrity safeguards.
 * Uses canonical theme tokens only. No horizontal-discovery navigation is allowed on compact screens.
 */

/* Travel Agent / Client command-center semantic colors must always come from the active theme. */
.account-page .client-command-center{
  --client-dash-panel:var(--ui-panel,var(--white,#fff));
  --client-dash-panel-2:var(--ui-panel-soft,var(--sand,#f4efe7));
  --client-dash-text:var(--ui-text,var(--ink,#1b1813));
  --client-dash-muted:var(--ui-muted,var(--muted,#6b645a));
  --client-dash-line:var(--ui-line,var(--line,rgba(27,24,19,.13)));
}
.account-page .client-command-kpis article{
  background:var(--client-dash-panel)!important;
  color:var(--client-dash-text)!important;
  border-color:var(--client-dash-line)!important;
}
.account-page .client-command-kpis strong{color:var(--ui-accent,var(--gold))!important}
.account-page .client-command-kpis small{color:var(--client-dash-muted)!important}
.account-page .client-department-card{
  background:linear-gradient(145deg,var(--client-dash-panel),var(--client-dash-panel-2))!important;
  color:var(--client-dash-text)!important;
  border-color:var(--client-dash-line)!important;
}
.account-page .client-department-card h2,.account-page .client-department-tools strong{color:var(--client-dash-text)!important}
.account-page .client-department-card>header p,.account-page .client-department-open,.account-page .client-command-footer{color:var(--client-dash-muted)!important}
.account-page .client-department-tools>a{
  background:var(--client-dash-panel-2)!important;
  color:var(--client-dash-text)!important;
  border-color:color-mix(in srgb,var(--ui-accent,var(--gold)) 24%,var(--client-dash-line))!important;
}
.account-page .client-department-tools small,.account-page .client-department-tools svg,.account-page .client-command-kpis svg{color:var(--ui-accent,var(--gold))!important;stroke:currentColor!important}

/* The mobile action sheet scrim is generated by mobile-shell-v16.js. */
.mlv-action-sheet-scrim{display:none}
.mlv-action-sheet-heading{display:none}

@media(max-width:900px){
  html.mlv-action-sheet-open,html.mlv-action-sheet-open body{overflow:hidden!important;overscroll-behavior:none!important}
  .mlv-action-sheet-scrim{
    position:fixed;inset:0;z-index:178;display:block;
    background:color-mix(in srgb,var(--ui-text,#111) 42%,transparent);
    backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .18s ease,visibility .18s ease;
  }
  .mlv-action-sheet-scrim.is-open{opacity:1;visibility:visible;pointer-events:auto}

  /* Replace the old horizontally-discoverable/action-popover geometry with one obvious vertical sheet. */
  .account-page .account-actions,
  .admin-page .admin-header-actions{
    display:none!important;
    position:fixed!important;
    left:max(10px,env(safe-area-inset-left))!important;
    right:max(10px,env(safe-area-inset-right))!important;
    top:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:auto!important;max-width:none!important;
    max-height:min(76dvh,680px)!important;
    overflow-y:auto!important;overflow-x:hidden!important;
    overscroll-behavior:contain!important;touch-action:pan-y!important;
    padding:0 12px max(12px,env(safe-area-inset-bottom))!important;
    grid-template-columns:1fr!important;gap:8px!important;
    border:1px solid var(--ui-line,var(--line))!important;
    border-radius:24px 24px 18px 18px!important;
    background:var(--ui-panel,var(--white))!important;
    color:var(--ui-text,var(--ink))!important;
    box-shadow:0 28px 80px color-mix(in srgb,var(--ui-text,#111) 32%,transparent)!important;
    z-index:180!important;
    scrollbar-width:thin;
  }
  .admin-page .admin-header-actions{z-index:185!important}
  .account-page .account-actions.is-mobile-open,
  .admin-page .admin-header-actions.is-mobile-open{display:grid!important}

  .mlv-action-sheet-heading{
    position:sticky;top:0;z-index:4;
    display:flex!important;align-items:center;justify-content:space-between;gap:12px;
    min-height:58px;margin:0 -12px 4px;padding:10px 12px;
    background:color-mix(in srgb,var(--ui-panel,var(--white)) 96%,transparent);
    border-bottom:1px solid var(--ui-line,var(--line));
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  }
  .mlv-action-sheet-heading span{display:flex;flex-direction:column;gap:2px;min-width:0}
  .mlv-action-sheet-heading strong{font:700 15px/1.2 var(--sans,system-ui);color:var(--ui-text,var(--ink));letter-spacing:0!important;text-transform:none!important}
  .mlv-action-sheet-heading small{font:700 9px/1.2 var(--sans,system-ui);color:var(--ui-muted,var(--muted));letter-spacing:.08em;text-transform:uppercase}
  .mlv-action-sheet-close{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;padding:0!important;border-radius:999px!important;display:grid!important;place-items:center!important;font-size:22px!important;line-height:1!important;background:var(--ui-panel-soft,var(--sand))!important;color:var(--ui-text,var(--ink))!important;border:1px solid var(--ui-line,var(--line))!important}

  .account-page .account-actions>*:not(.mlv-action-sheet-heading),
  .admin-page .admin-header-actions>*:not(.mlv-action-sheet-heading){min-width:0!important;width:100%!important;margin:0!important}
  .account-page .account-actions>form,.admin-page .admin-header-actions>form{display:block!important}

  .account-page .account-actions>a,
  .account-page .account-actions>button,
  .account-page .account-actions>form>button,
  .admin-page .admin-header-actions>a,
  .admin-page .admin-header-actions>button,
  .admin-page .admin-header-actions>form>button,
  .admin-page .admin-ai-router-trigger{
    box-sizing:border-box!important;width:100%!important;min-width:0!important;min-height:54px!important;max-height:none!important;
    display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;
    padding:11px 13px!important;border-radius:14px!important;
    border:1px solid color-mix(in srgb,var(--ui-accent,var(--gold)) 22%,var(--ui-line,var(--line)))!important;
    background:var(--ui-panel-soft,var(--sand))!important;color:var(--ui-text,var(--ink))!important;
    text-align:left!important;white-space:normal!important;overflow:visible!important;
    box-shadow:none!important;transform:none!important;text-decoration:none!important;
    font:700 12px/1.3 var(--sans,system-ui)!important;letter-spacing:.02em!important;text-transform:none!important;
  }
  .account-page .account-actions>a:hover,.account-page .account-actions>button:hover,.account-page .account-actions>form>button:hover,
  .admin-page .admin-header-actions>a:hover,.admin-page .admin-header-actions>button:hover,.admin-page .admin-header-actions>form>button:hover,
  .admin-page .admin-ai-router-trigger:hover{
    background:color-mix(in srgb,var(--ui-accent,var(--gold)) 10%,var(--ui-panel-soft,var(--sand)))!important;
    color:var(--ui-text,var(--ink))!important;border-color:var(--ui-accent,var(--gold))!important;
  }
  .account-page .account-actions svg,.admin-page .admin-header-actions svg{width:20px!important;height:20px!important;flex:0 0 20px!important;color:var(--ui-accent,var(--gold))!important;stroke:currentColor!important}
  .account-page .account-actions>a>span,
  .account-page .account-actions .account-action-label,
  .account-page .account-install-mlv span,
  .account-page .account-actions form button,
  .admin-page .admin-header-actions :is(a,button) span{
    display:inline!important;font-size:12px!important;line-height:1.3!important;letter-spacing:.02em!important;text-transform:none!important;color:inherit!important;white-space:normal!important
  }
  .account-page .account-actions .theme-toggle,.admin-page .admin-header-actions .theme-toggle{height:auto!important;border-radius:14px!important}
  .account-page .account-actions .theme-toggle>span,.admin-page .admin-header-actions .theme-toggle>span{font-size:18px!important}
  .account-page .account-actions .theme-toggle small,.admin-page .admin-header-actions .theme-toggle small{
    display:inline!important;position:static!important;left:auto!important;top:auto!important;transform:none!important;opacity:1!important;pointer-events:auto!important;
    padding:0!important;background:transparent!important;color:inherit!important;border-radius:0!important;font-size:12px!important;white-space:normal!important
  }
  .account-page .account-actions .account-header-avatar{justify-content:flex-start!important;height:auto!important}
  .account-page .account-actions .account-header-avatar img{width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:50%!important}
  .account-page .account-actions .account-header-avatar .account-avatar-label{display:inline!important}
  .account-page .account-actions .mlv-notification-trigger{position:relative!important}
  .account-page .account-actions .mlv-notification-badge{right:10px!important;top:50%!important;transform:translateY(-50%)!important}

  /* No compact action container may require horizontal discovery. */
  .account-page .account-actions,.admin-page .admin-header-actions{scroll-snap-type:none!important}
  .account-page .account-actions *,.admin-page .admin-header-actions *{max-width:100%}

  .account-mobile-actions-toggle,.admin-mobile-actions-toggle{min-width:54px!important;padding:7px 9px!important}
  .account-mobile-actions-toggle small,.admin-mobile-actions-toggle small{font-size:8px!important;letter-spacing:.08em!important}
}

@media(max-width:480px){
  .account-page .account-actions,.admin-page .admin-header-actions{left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;max-height:82dvh!important}
}

@media(prefers-reduced-motion:reduce){
  .mlv-action-sheet-scrim,.account-page .account-actions,.admin-page .admin-header-actions{transition:none!important;scroll-behavior:auto!important}
}

/* v17-0-12-r2-direct-mobile-header-actions.css */
/* MLV V17.0.12 R2 — restored first-type direct touch-mobile header actions. No Actions toggle, dropdown, sheet or action scrim. Desktop rules are intentionally absent. */
.mlv-direct-menu-scrim,.mlv-direct-panel-head,.mlv-direct-menu-search,.mlv-direct-generated-menu,.mlv-direct-menu-toggle[data-mlv-direct-created-toggle="1"]{display:none}
@media (max-width:900px) and (hover:none) and (pointer:coarse){
  :root{--mlv-direct-header-height:calc(132px + env(safe-area-inset-top));--mlv-direct-edge:max(10px,env(safe-area-inset-left));--mlv-direct-edge-r:max(10px,env(safe-area-inset-right));--mlv-direct-panel:var(--ui-panel,var(--account-white,var(--white,#fff)));--mlv-direct-soft:var(--ui-panel-soft,var(--account-cream,var(--sand,#f7f3eb)));--mlv-direct-text:var(--ui-text,var(--account-ink,var(--ink,#191713)));--mlv-direct-line:var(--ui-line,var(--account-line,var(--line,#ded8cd)));--mlv-direct-accent:var(--ui-accent,var(--account-gold,var(--gold,#b88a35)))}
  html[data-mlv-direct-header-actions="17.0.12-r2"],html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page{max-width:100%;overflow-x:hidden!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page{padding-top:var(--mlv-direct-header-height)!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar{position:fixed!important;inset:0 0 auto!important;z-index:2100!important;box-sizing:border-box!important;width:100%!important;height:auto!important;min-height:calc(70px + env(safe-area-inset-top))!important;margin:0!important;padding:max(8px,env(safe-area-inset-top)) var(--mlv-direct-edge-r) 8px var(--mlv-direct-edge)!important;display:grid!important;grid-template-columns:minmax(0,1fr) 54px!important;grid-template-rows:minmax(52px,auto) auto!important;gap:7px 8px!important;align-items:center!important;overflow:visible!important;transform:none!important;background:var(--mlv-direct-panel)!important;color:var(--mlv-direct-text)!important;border-bottom:1px solid var(--mlv-direct-line)!important;box-shadow:0 8px 24px rgba(0,0,0,.14)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.brand,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.brand{grid-column:1!important;grid-row:1!important;min-width:0!important;max-width:100%!important;display:flex!important;align-items:center!important;gap:8px!important;overflow:hidden!important;color:inherit!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.brand img,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.brand img{width:42px!important;height:42px!important;min-width:42px!important;flex:0 0 42px!important;object-fit:contain!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.brand>span,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.brand>span{display:block!important;min-width:0!important;max-width:100%!important;overflow:hidden!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.brand strong,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.brand strong,html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.brand small,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.brand small{display:block!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:inherit!important}

  html[data-mlv-direct-header-actions="17.0.12-r2"] [data-admin-actions-toggle],html[data-mlv-direct-header-actions="17.0.12-r2"] [data-account-actions-toggle],html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-unified-actions-toggle,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-actions-toggle-removed{display:none!important;visibility:hidden!important;pointer-events:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-toggle{grid-column:2!important;grid-row:1!important;position:static!important;box-sizing:border-box!important;width:54px!important;min-width:54px!important;max-width:54px!important;height:52px!important;min-height:52px!important;max-height:52px!important;margin:0!important;padding:6px!important;display:inline-flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;border:1px solid color-mix(in srgb,var(--mlv-direct-accent) 42%,var(--mlv-direct-line))!important;border-radius:14px!important;background:color-mix(in srgb,var(--mlv-direct-accent) 8%,var(--mlv-direct-panel))!important;color:var(--mlv-direct-text)!important;box-shadow:none!important;transform:none!important;overflow:hidden!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-toggle small{display:block!important;font:750 8px/1 system-ui!important;letter-spacing:.075em!important;text-transform:uppercase!important;color:inherit!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-icon{display:grid!important;width:24px!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;gap:4px!important;border:0!important;border-radius:0!important;background:transparent!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-icon i{display:block!important;width:24px!important;height:2px!important;margin:0!important;border:0!important;border-radius:99px!important;background:currentColor!important}

  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions{grid-column:1/-1!important;grid-row:2!important;position:static!important;inset:auto!important;z-index:auto!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;display:grid!important;grid-auto-flow:row!important;gap:6px!important;justify-self:end!important;align-items:stretch!important;overflow:visible!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:none!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))!important;max-width:100%!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))!important;max-width:100%!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body>.admin-header-actions,html[data-mlv-direct-header-actions="17.0.12-r2"] body>.account-actions{display:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.mlv-direct-action-slot{box-sizing:border-box!important;min-width:0!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:flex!important;align-items:stretch!important;position:relative!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.mlv-direct-action-slot[hidden],html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.mlv-direct-action-slot>.mlv-direct-action-control[hidden]{display:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control{box-sizing:border-box!important;width:100%!important;min-width:44px!important;max-width:none!important;height:50px!important;min-height:50px!important;max-height:50px!important;margin:0!important;padding:5px 3px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:2px!important;position:relative!important;inset:auto!important;border:1px solid color-mix(in srgb,var(--mlv-direct-accent) 28%,var(--mlv-direct-line))!important;border-radius:12px!important;background:color-mix(in srgb,var(--mlv-direct-accent) 6%,var(--mlv-direct-soft))!important;color:var(--mlv-direct-text)!important;box-shadow:none!important;transform:none!important;text-align:center!important;text-decoration:none!important;white-space:normal!important;font:700 8px/1 system-ui!important;letter-spacing:0!important;text-transform:none!important;overflow:visible!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control:hover,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control:focus-visible{border-color:var(--mlv-direct-accent)!important;background:color-mix(in srgb,var(--mlv-direct-accent) 13%,var(--mlv-direct-panel))!important;outline:2px solid color-mix(in srgb,var(--mlv-direct-accent) 35%,transparent)!important;outline-offset:1px!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>svg,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>.mlv-direct-glyph svg{display:block!important;width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>.mlv-direct-glyph{display:grid!important;place-items:center!important;width:20px!important;height:20px!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>.mlv-direct-action-label{display:block!important;max-width:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:inherit!important;font:750 7px/1 system-ui!important;letter-spacing:.02em!important;text-transform:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>span:not([data-theme-icon]):not(.admin-ai-router-orb):not(.mlv-notification-badge):not(.mlv-direct-glyph),html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>small:not(.mlv-direct-action-label),html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>i{display:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>[data-theme-icon],html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control>.admin-ai-router-orb{display:grid!important;place-items:center!important;width:20px!important;height:20px!important;min-width:20px!important;font:800 12px/1 system-ui!important;color:inherit!important;background:transparent!important;box-shadow:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control.account-header-avatar img{width:22px!important;height:22px!important;min-width:22px!important;border-radius:50%!important;object-fit:cover!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-action-control .mlv-notification-badge{position:absolute!important;right:2px!important;top:2px!important;transform:none!important;min-width:17px!important;height:17px!important;padding:0 4px!important;font-size:7px!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.admin-ai-router-wrap{display:flex!important;position:relative!important;min-width:0!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .admin-ai-router-panel{position:fixed!important;left:var(--mlv-direct-edge)!important;right:var(--mlv-direct-edge-r)!important;top:calc(var(--mlv-direct-header-height) + 8px)!important;bottom:max(10px,env(safe-area-inset-bottom))!important;z-index:3150!important;width:auto!important;max-width:none!important;max-height:none!important;overflow:auto!important}

  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel{position:fixed!important;left:0!important;right:auto!important;top:var(--mlv-direct-header-height)!important;bottom:0!important;z-index:2350!important;box-sizing:border-box!important;width:min(390px,calc(100vw - 18px))!important;max-width:calc(100vw - 18px)!important;height:auto!important;max-height:none!important;margin:0!important;padding:0 14px max(16px,env(safe-area-inset-bottom))!important;display:block!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;background:var(--mlv-direct-panel)!important;color:var(--mlv-direct-text)!important;border:0!important;border-right:1px solid var(--mlv-direct-line)!important;border-radius:0 20px 20px 0!important;box-shadow:18px 0 58px rgba(0,0,0,.34)!important;transform:translateX(-105%)!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel.is-open{transform:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-generated-menu{display:block!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel>.admin-sidebar-head,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel>header:not(.mlv-direct-panel-head),html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel>.admin-sidebar-footer{display:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-panel-head{position:sticky!important;top:0!important;z-index:5!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;min-height:64px!important;margin:0 -14px 2px!important;padding:10px 14px!important;background:var(--mlv-direct-panel)!important;border-bottom:1px solid var(--mlv-direct-line)!important;color:var(--mlv-direct-text)!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-panel-head>div{display:grid!important;gap:3px!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-panel-head small{font:700 8px/1.1 system-ui!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:color-mix(in srgb,var(--mlv-direct-text) 62%,transparent)!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-panel-head strong{font:750 17px/1.2 system-ui!important;color:inherit!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-panel-head button{width:44px!important;height:44px!important;min-width:44px!important;border:1px solid var(--mlv-direct-line)!important;border-radius:50%!important;background:var(--mlv-direct-soft)!important;color:var(--mlv-direct-text)!important;font:500 26px/1 system-ui!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-search{position:sticky!important;top:64px!important;z-index:4!important;display:grid!important;gap:5px!important;margin:0 -2px 12px!important;padding:12px 2px!important;background:var(--mlv-direct-panel)!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-search>span{font:700 9px/1 system-ui!important;letter-spacing:.08em!important;text-transform:uppercase!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-search input{box-sizing:border-box!important;width:100%!important;height:48px!important;margin:0!important;padding:0 14px!important;border:1px solid var(--mlv-direct-line)!important;border-radius:13px!important;background:var(--mlv-direct-soft)!important;color:var(--mlv-direct-text)!important;font:600 15px/1 system-ui!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-search small{font:600 10px/1.2 system-ui!important;color:color-mix(in srgb,var(--mlv-direct-text) 60%,transparent)!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .admin-sidebar-nav,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .account-floating-groups{display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .admin-nav-group,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .account-nav-group{display:block!important;margin:0 0 14px!important;padding:0!important;border:0!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .admin-nav-group h3,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .account-nav-group h3{margin:0 0 6px!important;padding:0 4px!important;font:750 9px/1.2 system-ui!important;letter-spacing:.11em!important;text-transform:uppercase!important;color:color-mix(in srgb,var(--mlv-direct-text) 60%,transparent)!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .admin-nav-group>div,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel .account-nav-group>div{display:grid!important;gap:4px!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel a{box-sizing:border-box!important;width:100%!important;min-height:46px!important;margin:0!important;padding:9px 10px!important;display:flex!important;align-items:center!important;gap:10px!important;border:1px solid transparent!important;border-radius:12px!important;color:var(--mlv-direct-text)!important;background:transparent!important;font:650 13px/1.25 system-ui!important;text-decoration:none!important;white-space:normal!important;transform:none!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel a:hover,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel a:focus-visible,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel a.is-active,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel a.active{border-color:color-mix(in srgb,var(--mlv-direct-accent) 45%,var(--mlv-direct-line))!important;background:color-mix(in srgb,var(--mlv-direct-accent) 9%,var(--mlv-direct-panel))!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel a svg,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-nav-glyph{width:21px!important;height:21px!important;flex:0 0 21px!important;color:var(--mlv-direct-accent)!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-scrim{position:fixed!important;inset:var(--mlv-direct-header-height) 0 0!important;z-index:2300!important;display:none!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:rgba(7,7,6,.56)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}html[data-mlv-direct-header-actions="17.0.12-r2"].mlv-direct-menu-open .mlv-direct-menu-scrim{display:block!important}html[data-mlv-direct-header-actions="17.0.12-r2"].mlv-direct-menu-open,html[data-mlv-direct-header-actions="17.0.12-r2"].mlv-direct-menu-open body{overflow:hidden!important;overscroll-behavior:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page .admin-nav-scrim,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page .account-nav-scrim,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-action-sheet-scrim,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-global-shell-scrim,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-unified-shell-scrim,html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-unified-actions-panel{display:none!important}
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-notification-scrim{z-index:3200!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-notification-center{z-index:3210!important;top:calc(var(--mlv-direct-header-height) + 8px)!important;max-height:calc(100dvh - var(--mlv-direct-header-height) - 16px)!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-toast-stack{z-index:3220!important;top:calc(var(--mlv-direct-header-height) + 8px)!important}
}
@media (max-width:390px) and (hover:none) and (pointer:coarse){html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar{grid-template-columns:minmax(0,1fr) 50px!important;gap:6px!important}html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-toggle{width:50px!important;min-width:50px!important;max-width:50px!important}html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions,html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions{gap:5px!important}}
@media (prefers-reduced-motion:reduce){.mlv-direct-menu-panel{transition:none!important}}

/* v17-0-12-r4-diagnostic-visual-truth.css */
/* V17.0.12 R4 — diagnostic-driven visual truth and contrast closure.
   Loaded last by pwa_head() so legacy release CSS cannot override these contracts. */

/* Light mode: brand gold remains decorative; small/readable UI copy uses accessible ink. */
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main details>summary,
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main .row-link,
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main a:not(.button):not(.pill){color:#7b5918}
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main small,
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main .muted{color:#685f54}

/* Warning/gold-filled controls must use dark text; white on MLV gold is below WCAG AA. */
html[data-app-theme="current-mlv"] .admin-page .admin-main .diagnostic-row.status-warn .diagnostic-state,
html[data-app-theme="current-mlv"] .admin-page .admin-main .button-gold,
html[data-app-theme="current-mlv"] .public-page .button-gold,
html[data-app-theme="current-mlv"] .public-page .destination-pill.is-active{color:#17140f!important}

/* Dark mode: headings/buttons were inheriting dark ink on dark panels in Diagnostics. */
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main h1,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main h2,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main h3,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main strong,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main .button:not(.button-gold):not(.button-danger){color:#f5efe5}
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main .eyebrow,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main details>summary,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main .row-link{color:#c5a15a}
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main small,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main .muted{color:#b7aea2}

/* Public/Admin current-MLV muted tokens: improve body/help contrast without recoloring dark hero art. */
html[data-app-theme="current-mlv"][data-theme="light"] .public-page main,
html[data-app-theme="current-mlv"][data-theme="light"] .admin-page .admin-main{--muted:#685f54}
html[data-app-theme="current-mlv"][data-theme="dark"] .public-page main,
html[data-app-theme="current-mlv"][data-theme="dark"] .admin-page .admin-main{--muted:#b7aea2}
html[data-app-theme="current-mlv"][data-theme="dark"] .public-page .eyebrow,
html[data-app-theme="current-mlv"][data-theme="dark"] .public-page .card-meta,
html[data-app-theme="current-mlv"][data-theme="dark"] .public-page .card-rating,
html[data-app-theme="current-mlv"][data-theme="dark"] .public-page .row-link,
html[data-app-theme="current-mlv"][data-theme="dark"] .public-page .text-link{color:#c5a15a}

/* R4 form geometry: no control can clip merely because a legacy grid kept intrinsic width. */
.admin-page .admin-main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
.admin-page .admin-main select,
.admin-page .admin-main textarea{box-sizing:border-box;max-width:100%;min-width:0}

/* R4 mobile navigation alignment closure — screenshot-driven 2026-08-21.
   Preserve the R2 first-type shell; repair only inherited legacy geometry/state. */
@media (max-width:900px) and (hover:none) and (pointer:coarse){
  /* The direct mobile drawer is independent from the persisted desktop collapsed-sidebar preference.
     Home/Dashboard must therefore show the same complete labels as every inner Admin route. */
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page.admin-sidebar-collapsed .mlv-direct-menu-panel .admin-sidebar-label,
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page .mlv-direct-menu-panel .admin-sidebar-label{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:normal!important;
    color:inherit!important;
    font-size:13px!important;
    line-height:1.25!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page.admin-sidebar-collapsed .mlv-direct-menu-panel .admin-sidebar-nav,
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page .mlv-direct-menu-panel .admin-sidebar-nav{
    padding:0!important;
    width:100%!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page.admin-sidebar-collapsed .mlv-direct-menu-panel .admin-sidebar-nav a,
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page .mlv-direct-menu-panel .admin-sidebar-nav a{
    display:flex!important;
    justify-content:flex-start!important;
    align-items:center!important;
    grid-template-columns:none!important;
    gap:11px!important;
    width:100%!important;
    min-height:48px!important;
    padding:10px 10px!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page .mlv-direct-menu-panel .admin-sidebar-nav a>svg,
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page .mlv-direct-menu-panel .admin-sidebar-nav a>.mlv-direct-nav-glyph{
    flex:0 0 22px!important;
    width:22px!important;
    height:22px!important;
    margin:0!important;
    align-self:center!important;
  }

  /* V13.2 injected a ↗ pseudo-glyph into form buttons below 880px. The R4 direct header
     already has explicit icons + labels, so that legacy glyph is both duplicate and misaligned. */
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control::before,
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control::after{
    content:none!important;
    display:none!important;
  }

  /* Hide raw text nodes from legacy form buttons and use only the canonical R4 label.
     Child icon/label typography is re-enabled explicitly below. */
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control{
    font-size:0!important;
    line-height:1!important;
    padding:5px 3px!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control>.mlv-direct-action-label{
    display:block!important;
    min-height:8px!important;
    max-width:100%!important;
    margin:0!important;
    font:750 8px/1.05 system-ui!important;
    letter-spacing:.015em!important;
    text-align:center!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    color:inherit!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.mlv-direct-action-slot{
    min-width:0!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    align-items:stretch!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.mlv-direct-action-slot>.mlv-direct-action-control,
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions>.mlv-direct-action-slot>form>.mlv-direct-action-control{
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control>svg,
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control>.mlv-direct-glyph,
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control>[data-theme-icon],
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control>.admin-ai-router-orb{
    margin:0 auto!important;
    align-self:center!important;
  }

  /* Keep Client + Travel Agent geometry unchanged in concept, only normalize the row baseline. */
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions,
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions{
    align-items:stretch!important;
    grid-auto-rows:50px!important;
  }

  /* Mobile direct Menu uses X/overlay dismissal; never surface the desktop sidebar collapse arrow in it. */
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel [data-admin-sidebar-collapse],
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-menu-panel [data-account-nav-collapse]{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}

/* R4 mobile quick-action visibility: out-rank the historical V13.2 <620px child-hiding selector.
   This keeps the screenshot-approved Client/Travel Agent direct action set stable on real iPhone CSS widths. */
@media (max-width:900px) and (hover:none) and (pointer:coarse){
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions.mlv-direct-header-actions>.mlv-direct-action-slot,
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions.mlv-direct-header-actions>.mlv-direct-action-slot{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions.mlv-direct-header-actions>.mlv-direct-action-slot[hidden],
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions.mlv-direct-header-actions>.mlv-direct-action-slot[hidden],
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.account-page>.account-topbar>.account-actions.mlv-direct-header-actions>.mlv-direct-action-slot>.mlv-direct-action-control[hidden],
  html[data-mlv-direct-header-actions="17.0.12-r2"] body.admin-page>.admin-topbar>.admin-header-actions.mlv-direct-header-actions>.mlv-direct-action-slot>.mlv-direct-action-control[hidden]{
    display:none!important;
  }
}

/* R4 live-observatory follow-up — 2026-08-21 14:36 iPhone/Safari evidence.
   These are readability/geometry corrections, not suppression of the recorder. */
html[data-app-theme="obsidian-glass"] .mlv-notification-badge{
  color:#fff!important;
  background:#5a2d8a!important;
}
body.admin-page .admin-main .diagnostic-row.status-warn .diagnostic-state,
body.admin-page .admin-main .diagnostic-state.status-warn,
body.admin-page .admin-main .diagnostic-state.warn{
  color:#17140f!important;
}
body.admin-page .admin-main button.button:not(.button-gold):not(.button-danger):not(.button-dark),
body.admin-page .admin-main a.button:not(.button-gold):not(.button-danger):not(.button-dark){
  color:var(--ui-text,var(--ink,#191713))!important;
}
@media (max-width:900px) and (hover:none) and (pointer:coarse){
  html[data-mlv-direct-header-actions="17.0.12-r2"] .mlv-direct-header-actions .mlv-direct-action-control>.mlv-direct-action-label{
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:7px!important;
    letter-spacing:0!important;
  }
}

/* Current-MLV light public cards use a darker brand-gold text token on cream/white
   surfaces; the decorative hero gold remains unchanged on its dark background. */
html[data-app-theme="current-mlv"][data-theme="light"] body:not(.admin-page):not(.account-page) .experience-section .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body:not(.admin-page):not(.account-page) .package-card .card-meta,
html[data-app-theme="current-mlv"][data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotel-body .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body:not(.admin-page):not(.account-page) .reviews-section .eyebrow{
  color:#765513!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body:not(.admin-page):not(.account-page) .package-card>*,
html[data-app-theme="current-mlv"][data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotel-card>*{
  --muted:#685f54;
}

/* R4 R4 live production closure — desktop Client/Agent action-label geometry.
   Observatory evidence at 2048px showed Updates text 43px wide inside only
   28px of available label space. Keep compact/mobile behavior unchanged. */
@media (min-width:1181px){
  body.account-page .account-actions .mlv-notification-trigger{
    width:auto!important;
    min-width:108px!important;
    max-width:none!important;
    padding-inline:13px!important;
  }
  body.account-page .account-actions .mlv-notification-trigger .account-action-label{
    display:inline-block!important;
    max-width:none!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:nowrap!important;
  }
}

/* Obsidian Glass dark: small diagnostic state text and Admin action links must
   clear the 4.5:1 body-copy threshold against the glass/dark surfaces. */
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-guard,
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-guard.attention{
  color:#78b88c!important;
  border-color:#78b88c!important;
}
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .row-link,
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main a.row-link{
  color:#d6b875!important;
}

/* Success/status pills were authored for light surfaces and become low contrast
   in dark Client/Agent themes. Keep meaning, change only dark presentation. */
html[data-theme="dark"] body.account-page :is(.status-paid,.status-confirmed,.status-active,.status-approved,.status-sent,.status-completed){
  background:#244536!important;
  color:#d7f3df!important;
  border-color:#4e8064!important;
}

/* Moroccan Ivory light: strengthen muted/help copy while preserving the warm
   palette. This is token-level so components remain visually consistent. */
html[data-app-theme="moroccan-ivory"][data-theme="light"]{
  --muted:#6a5548;
  --ui-muted:#6a5548;
}
html[data-app-theme="moroccan-ivory"][data-theme="light"] body.account-page,
html[data-app-theme="moroccan-ivory"][data-theme="light"] body.admin-page{
  --account-muted:#6a5548;
}

/* Obsidian Glass light: neutral controls use light surfaces + dark ink; accent
   buttons retain their explicit accent contract. */
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .admin-main :is(button.button,a.button):not(.button-gold):not(.button-danger),
html[data-app-theme="obsidian-glass"][data-theme="light"] body.account-page :is(.account-button,button):not(.gold):not(.account-button-danger):not(.theme-toggle){
  background:var(--ui-panel-soft,#eee8f5)!important;
  color:var(--ui-text,#241b31)!important;
  border-color:var(--ui-line,#d0c3df)!important;
}

/* R4 R4 public Current-MLV dark closure.
   The homepage has no .public-page body class, so earlier selectors did not
   reach the exact Observatory failures recorded on /. */
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) .card-rating{
  color:#d6b875!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) .card-rating>span{
  color:#e5c57d!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) .review-grid article>a,
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) .support-card>a,
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) a.row-link{
  color:#d6b875!important;
}
html[data-app-theme="current-mlv"] body:not(.admin-page):not(.account-page) .button-gold,
html[data-app-theme="current-mlv"] body:not(.admin-page):not(.account-page) .button-gold *{
  color:#17140f!important;
}

/* R4 R4 Travel Agent application dark companion.
   Live screenshot/Observatory evidence showed a light form island inheriting
   white account text, dark inputs and near-invisible step/orbit copy. Make the
   application surface internally coherent without changing its geometry. */
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-application-form,
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-status-card,
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-panel{
  background:#1e1c18!important;
  color:#f5efe5!important;
  border-color:#5f5138!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-application-form :is(h1,h2,h3,h4,label,strong,b),
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-status-card :is(h1,h2,h3,h4,label,strong,b),
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-panel :is(h1,h2,h3,h4,label,strong,b){
  color:#f5efe5!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-application-form :is(input,select,textarea){
  background:#302d27!important;
  color:#f5efe5!important;
  border-color:#74684f!important;
  color-scheme:dark;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-application-form :is(input,textarea)::placeholder{
  color:#b8afa2!important;
  opacity:1!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-stepper button{
  background:#29261f!important;
  color:#d8d0c4!important;
  border:1px solid #514936!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-stepper button.active,
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-stepper button.active *{
  background:#c59f54!important;
  color:#17140f!important;
  border-color:#c59f54!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-review-panel,
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-mode-explainer{
  background:#29261f!important;
  color:#f5efe5!important;
  border-color:#514936!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-apply-shell a:not(.account-button),
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-form-controls button{
  color:#d6b875!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-orbit span{
  color:#f1d79d!important;
  background:#17140f!important;
  border:1px solid #74684f!important;
  border-radius:999px;
  padding:5px 8px;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.account-page .agent-orbit:after{
  color:#f5efe5!important;
  background:#29261f!important;
}


/* R4 R4 screenshot closure — Obsidian Glass dark title actions.
   A late generic text override previously turned .button-dark into light-on-light.
   Keep semantic dark buttons dark and high-contrast; accent buttons keep dark ink. */
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .button-dark{
  background:#171022!important;
  color:#f8f4ff!important;
  border:1px solid #6f55a1!important;
}
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .button-gold{
  background:#b18aff!important;
  color:#120b20!important;
  border:1px solid #c8aaff!important;
}
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .button-dark:hover,
html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .button-gold:hover{filter:brightness(1.08)}

/* R4 R4 final live visual evidence closure — Candidate 6 browser recorder.
   Admin corrections are desktop-only so the frozen Admin mobile shell remains byte/geometry untouched. */
@media (min-width:1181px){
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .pill.status-returned{
    background:#5a4310!important;
    color:#fff2c2!important;
    border-color:#8b6a22!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .pill.status-approved{
    background:#244536!important;
    color:#e9fff0!important;
    border-color:#4e8064!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .pill.status-rejected{
    background:#55242e!important;
    color:#ffe8ed!important;
    border-color:#8d4957!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page #ai-diagnostic-bridge .diag-v1610-card,
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page #ai-diagnostic-bridge label{
    min-width:0!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page #mlvAiPublicShortcut{
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.system-updates-page .admin-main .system-form label>span,
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.system-updates-page .admin-main .system-field-grid label>span{
    color:#f0eaf7!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.hotel-admin-page .admin-main .hotel-live-status,
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.hotel-admin-page .admin-main .hotel-live-status strong{
    color:#221a12!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.hotel-admin-page .admin-main .hotel-live-status span{
    color:#5c5045!important;
  }
}

/* Public mixed-surface controls keep readable foregrounds even when the selected
   dark theme intentionally contains ivory/white cards. */
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) .platform-feature-grid article>span{
  color:#765513!important;
}
html[data-app-theme="moroccan-ivory"][data-theme="dark"] body.hotels-marketplace .hotel-search-bar button{
  color:#17140f!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page .hotel-request-payment-hold,
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page .hotel-request-payment-hold strong{
  color:#221a12!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page .hotel-request-payment-hold p{
  color:#5c5045!important;
}

/* R4 R4 Candidate 8 — exact fresh browser-evidence closure.
   Admin rules remain desktop-only to preserve the validated/frozen Admin mobile shell. */
@media (min-width:1181px){
  /* Hotel Studio: the status panel inherits a dark Obsidian surface, so keep the
     entire panel consistently dark with light readable copy instead of mixing
     dark text into a dark color-mix background. */
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.hotel-admin-page .admin-main .hotel-live-status{
    background:#1a1326!important;
    color:#fbf7ff!important;
    border-color:#7255a4!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.hotel-admin-page .admin-main .hotel-live-status strong{
    color:#fbf7ff!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.hotel-admin-page .admin-main .hotel-live-status span{
    color:#d9cfe5!important;
  }

  /* System & Updates: child arrows/text must inherit the semantic button
     foreground rather than a generic theme span override. */
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.system-updates-page .admin-main .button span,
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.system-updates-page .admin-main .system-primary-action span{
    color:inherit!important;
  }

  /* Obsidian Glass light mode: keep operational cards/forms truly light-theme
     readable. These are desktop-only presentation corrections; mobile geometry
     and ownership files are untouched. */
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-status-card strong,
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-status-card small,
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-status-card p,
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main label,
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main label>span,
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-form small{
    color:#21182d!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-status-icon{
    background:#f2ecf8!important;
    color:#4a2d73!important;
    border-color:#8768ad!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-status-card.is-good .system-status-icon{
    color:#1f6138!important;
    border-color:#4f8a65!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-updates-main .system-status-card.is-bad .system-status-icon{
    color:#7a2733!important;
    border-color:#a85460!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .mlv-notification-badge{
    background:#572779!important;
    color:#fff!important;
    border-color:#7d4aa0!important;
  }
}

/* Public current-MLV dark surfaces. */
html[data-app-theme="current-mlv"][data-theme="dark"] body:not(.admin-page):not(.account-page) .platform-feature-grid article>span{
  color:#f3d99e!important;
}
html[data-theme="dark"] body.hotels-marketplace .hotel-search-bar button,
html[data-app-theme="current-mlv"][data-theme="dark"] body.hotels-marketplace .hotel-search-bar button,
html[data-app-theme="moroccan-ivory"][data-theme="dark"] body.hotels-marketplace .hotel-search-bar button{
  background:#d1aa58!important;
  color:#17140f!important;
  border:1px solid #d1aa58!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-request-payment-hold{
  background:#f6efe4!important;
  color:#17140f!important;
  border-color:#b88f42!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-request-payment-hold strong{
  color:#17140f!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-request-payment-hold p{
  color:#4b4135!important;
}


/* R4 R4 final-current visual closure — only the four live Candidate 8 evidence targets. */
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-quote-form > .hotel-request-payment-hold > strong{
  color:#17140f!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-quote-form > .hotel-request-payment-hold > p{
  color:#3f372d!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.hotels-marketplace .hotel-filters form > button.button{
  background:#17140f!important;
  color:#fff8ec!important;
  border:1px solid #a88338!important;
}
@media (min-width:1181px){
  /* Candidate 10: exact live 3.39:1 recorder target. admin-v2.css renders
     this classless status glyph as #fff on #4e9b64; dark ink raises the
     contrast above 4.5:1 without touching Admin mobile geometry. */
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.system-updates-page .system-inspection-pass > span{
    color:#17140f!important;
  }
}

/* Candidate 11 — fresh production recorder closure.
   Exact Diagnostics error-card selectors only; desktop Admin geometry stays frozen. */
@media (min-width:1181px){
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .health-severity.severity-warning{
    background:#bc8526!important;
    color:#17140f!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .diag-v1611-release-badge{
    background:#21172e!important;
    color:#f7f1ff!important;
    border-color:#7255a4!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .health-issue-copy>div>strong{
    color:#fbf7ff!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .health-issue-copy>div>small{
    color:#d8cee4!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .health-issue-copy>p{
    color:#d8cee4!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue details>summary,
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .diag-v1610-trace>summary{
    color:#e5c57d!important;
  }
  html[data-app-theme="obsidian-glass"][data-theme="dark"] body.admin-page .admin-main .health-issue .diag-v1610-copy{
    background:#21172e!important;
    color:#fbf7ff!important;
    border-color:#7255a4!important;
  }
}

/* Candidate 11 — Hotel request status uses a deliberately light panel in dark themes.
   Pin only that status copy to dark readable ink; room/property labels stay untouched. */
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-live-status.request,
html[data-app-theme="moroccan-ivory"][data-theme="dark"] body.public-page.hotel-book-page .hotel-live-status.request{
  color:#17140f!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-live-status.request>strong,
html[data-app-theme="moroccan-ivory"][data-theme="dark"] body.public-page.hotel-book-page .hotel-live-status.request>strong{
  color:#17140f!important;
}
html[data-app-theme="current-mlv"][data-theme="dark"] body.public-page.hotel-book-page .hotel-live-status.request>span,
html[data-app-theme="moroccan-ivory"][data-theme="dark"] body.public-page.hotel-book-page .hotel-live-status.request>span{
  color:#51483d!important;
}

/* V20.0.0 Phase 1 Candidate 2 — Travel Agent command-center light contrast closure.
   The V16.13 semantic theme layer intentionally makes KPI panels light in the
   current MLV light theme. Keep the brand accent, but use its accessible text
   tone and remove opacity that reduced muted labels below WCAG contrast. */
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .client-command-kpis strong{
  color:#7b5918!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .client-command-kpis small{
  color:var(--ui-muted,var(--muted,#786f63))!important;
  opacity:1!important;
}


/* V20 Phase 1 Candidate 4 — exact current light-theme Observatory closure.
   Presentation only: no stage, navigation, form, financial or mobile-shell geometry changes. */
/* HF3: the old broad public light-mode override was too coarse: it could
   recolor text inside deliberately dark hero/verification panels. Keep only
   light-surface selectors explicit and leave dark panels to their component CSS. */
html[data-app-theme="current-mlv"][data-theme="light"] body .journey-platform .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .category-section .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .experience-section .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .home-hotels-section .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .featured-reviews .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .hotel-detail-copy .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .hotel-content .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .hotel-book-card .eyebrow,
html[data-app-theme="current-mlv"][data-theme="light"] body .hotel-related .eyebrow{
  color:#6a4b12!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body .hero .eyebrow{
  color:#e0c27a!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body .site-header small,
html[data-app-theme="current-mlv"][data-theme="light"] body .destination-pill small,
html[data-app-theme="current-mlv"][data-theme="light"] body .home-hotel-card small,
html[data-app-theme="current-mlv"][data-theme="light"] body .card-share small{
  color:#5a4b3e!important;
  opacity:1!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body footer small{
  color:#d0c6b8!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page :is(.eyebrow,.eyebrow *,small){
  color:#5f5145!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .admin-main :is(.system-form label>span,.system-field-grid label>span){
  color:#4f3d5c!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .admin-main :is(.legal-record small,.legal-live small,.legal-record .row-link,.legal-record button.row-link){
  color:#4f3d5c!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .admin-main :is(#clear-signature,#place-signature,#place-stamp,#remove-selected){
  color:#4f3d5c!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .admin-main h2 small,
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .admin-main .check-card small{
  color:#594b64!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page #ai-diagnostic-bridge .diag-v1610-card,
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page #ai-diagnostic-bridge label{
  min-width:0!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page #mlvAiPublicShortcut{
  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;
}


/* V20 Phase 1 C4R4 HF2 — final live warning closure.
   Exact recorded targets only; no mobile navigation or component geometry changes. */
@media (min-width:1181px){
  html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-inspection-pass > span{
    color:#17140f!important;
  }
}
/* V20 Phase 1 C4R4 HF3 — current warning + cache-generation closure. */
html[data-app-theme="obsidian-glass"][data-theme="light"] body.system-updates-page .system-inspection-pass>span{
  color:#17140f!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .payment-setup small,
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .v132-fx-studio small,
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page .payment-test-form small{
  color:#4f4358!important;
  opacity:1!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .client-command-kpis strong,
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .client-command-kpis>article>span{
  color:#58400f!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body.account-page.account-home-page .client-command-kpis small{
  color:#51483d!important;
  opacity:1!important;
}



/* V20 Phase 1 C4R4 HF4 — final page-scoped light-theme contrast closure.
   Home and Payments only; no global theme or geometry changes. */
html[data-app-theme="current-mlv"][data-theme="light"] body.home-page :is(
  .journey-platform .eyebrow,
  .category-section .eyebrow,
  .experience-section .eyebrow,
  .home-hotels-section .eyebrow,
  .booking-shell .eyebrow,
  .featured-reviews .eyebrow
){color:#4f390d!important;}
html[data-app-theme="current-mlv"][data-theme="light"] body.home-page :is(
  .platform-feature-grid>article>span,
  .category-card small,
  .home-hotel-meta span,
  .review-grid footer small,
  .review-public-date-v1632
){color:#403830!important;opacity:1!important;}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page.payments-page .admin-main small{
  color:#3f3547!important;opacity:1!important;
}


/* V20 Phase 1 C4R4 HF4 — final CSS-only contrast closure.
   Scope is derived from unique existing page structures so protected PHP remains byte-exact. */
html[data-app-theme="current-mlv"][data-theme="light"] body:has(.journey-platform):has(.featured-reviews) :is(
  .journey-platform .eyebrow,
  .category-section .eyebrow,
  .experience-section .eyebrow,
  .home-hotels-section .eyebrow,
  .booking-shell .eyebrow,
  .featured-reviews .eyebrow
){
  color:#4f390d!important;
  opacity:1!important;
}
html[data-app-theme="current-mlv"][data-theme="light"] body:has(.journey-platform):has(.featured-reviews) :is(
  .platform-feature-grid>article>span,
  .category-card small,
  .home-hotel-meta span,
  .featured-reviews .review-grid footer small,
  .featured-reviews .review-public-date-v1632
){
  color:#403830!important;
  opacity:1!important;
}
html[data-app-theme="obsidian-glass"][data-theme="light"] body.admin-page:has(form.payment-test-form) .admin-main small{
  color:#3f3547!important;
  opacity:1!important;
}


/* V20 Phase 1 C4R4 HF5 — cross-theme final contrast closure.
   Route/component scoped only. No geometry, navigation or business behavior. */
/* Home: exact light-surface text across Current MLV and Moroccan Ivory. */
html[data-theme="light"][data-app-theme="current-mlv"] body:has(.hero-v4):has(#booking) main>section:not(.hero) .eyebrow,
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) main>section:not(.hero) .eyebrow{
  color:#4f390d!important;
  opacity:1!important;
}
html[data-theme="light"][data-app-theme="current-mlv"] body:has(.hero-v4):has(#booking) .hero .eyebrow{
  color:#f0d79a!important;
}
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) .hero .eyebrow{
  color:#fff0df!important;
}
html[data-theme="light"] body:has(.hero-v4):has(#booking) .booking-intro .eyebrow{
  color:#f0d79a!important;
}
html[data-theme="light"] body:has(.hero-v4):has(#booking) .booking-intro :is(.progress-list small,.support-card small){
  color:#d9d1c7!important;
  opacity:1!important;
}
html[data-theme="light"][data-app-theme="current-mlv"] body:has(.hero-v4):has(#booking) :is(
  .site-header .brand small,
  .site-header .client-account-link span,
  .platform-feature-grid>article>span,
  .home-hotel-meta span,
  .featured-reviews footer small,
  .featured-reviews footer strong,
  .featured-reviews .review-public-date-v1632,
  .summary-note>span
){color:#403830!important;opacity:1!important;}
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) :is(
  .site-header .brand strong,
  .site-header .brand small,
  .site-header .client-account-link span,
  .site-header .theme-toggle small,
  .platform-feature-grid>article>span,
  .home-hotel-meta span,
  .featured-reviews footer small,
  .featured-reviews footer strong,
  .featured-reviews .review-public-date-v1632,
  .summary-note>span
){color:#493126!important;opacity:1!important;}
html[data-theme="light"] body:has(.hero-v4):has(#booking) .summary-card .summary-due :is(dt,dd,#summary-due){
  color:#fff!important;
  opacity:1!important;
}
/* Moroccan Ivory category text is over photography; keep it light, not dark. */
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) .category-card :is(small,strong,em){
  color:#fff4e8!important;
  opacity:1!important;
}
/* Client/Agent account: semantic light panels in Moroccan Ivory. */
html[data-theme="light"][data-app-theme="moroccan-ivory"] body.account-page.account-home-page :is(
  .client-command-kpis small,
  .client-department-card>header small,
  .client-department-tools small,
  .account-topbar .brand small,
  .account-actions .theme-toggle small
){color:#493126!important;opacity:1!important;}
html[data-theme="light"][data-app-theme="moroccan-ivory"] body.account-page .mlv-notification-badge.is-empty{
  color:#493126!important;
}
/* Payments: existing payment-test-form is the page signature; no PHP class required. */
html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page:has(.payment-test-form) .admin-main :is(
  .payment-test-form small,
  .payment-setup small,
  .v132-fx-studio small,
  .v13-context-status small
){color:#3f3547!important;opacity:1!important;}


/* V20 Phase 1 C4R4 HF6 — verified light-surface contrast closure.
   Evidence-anchored from live Home, Client dashboard and Payments screenshots.
   Presentation only: no geometry, navigation, forms, booking or finance behavior. */
/* Public Home: cream/light surfaces. Avoid theme-specific :has() gating; these component classes are Home-specific. */
html[data-theme="light"] body:not(.admin-page):not(.account-page) .hero .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .hero .trust-row span,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .brand :is(strong,small),
html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .client-account-link span,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .theme-toggle small,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .journey-platform .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .journey-platform .platform-feature-grid>article>span,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .category-section>.section-heading .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .experience-section>.section-heading .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotels-section>.section-heading .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotel-body .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotel-meta span,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .featured-reviews>.section-heading .eyebrow,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .featured-reviews footer :is(strong,small),
html[data-theme="light"] body:not(.admin-page):not(.account-page) .featured-reviews .review-public-date-v1632,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .experience-filter-suite :is(label>span,.experience-filter-status>span),
html[data-theme="light"] body:not(.admin-page):not(.account-page) .destination-filter-title :is(span,strong),
html[data-theme="light"] body:not(.admin-page):not(.account-page) .destination-pill small{
  color:#4a3428!important;
  opacity:1!important;
}
/* Photo-backed category cards keep light text. */
html[data-theme="light"] body:not(.admin-page):not(.account-page) .category-card :is(small,strong,em){
  color:#fff8f0!important;
  opacity:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.7)!important;
}
/* Booking panel uses a dark treatment: keep helper labels light. */
html[data-theme="light"] body:not(.admin-page):not(.account-page) .booking-intro :is(.eyebrow,small,strong),
html[data-theme="light"] body:not(.admin-page):not(.account-page) .support-card :is(small,strong){
  color:#f7efe3!important;
  opacity:1!important;
}
/* Summary icon and due amount are on the dark summary treatment. */
html[data-theme="light"] body:not(.admin-page):not(.account-page) .summary-note>span,
html[data-theme="light"] body:not(.admin-page):not(.account-page) .summary-card .summary-due :is(dt,dd,#summary-due){
  color:#fff!important;
  opacity:1!important;
}
/* Client dashboard: all dashboard KPI/card helper labels shown on light ivory surfaces. */
html[data-theme="light"] body.account-page.account-home-page .client-command-center small,
html[data-theme="light"] body.account-page.account-home-page .client-command-center .eyebrow,
html[data-theme="light"] body.account-page.account-home-page .client-command-footer,
html[data-theme="light"] body.account-page .account-topbar .brand small,
html[data-theme="light"] body.account-page .account-actions .theme-toggle small,
html[data-theme="light"] body.account-page small.is-empty{
  color:#4a3428!important;
  opacity:1!important;
}
html[data-theme="light"] body.account-page .mlv-notification-badge.is-empty{
  color:#3a281f!important;
  background:#f1e5d8!important;
  opacity:1!important;
}
/* Payments: every helper <small> in the known payment/FX/gateway light panels. */
html[data-theme="light"] body.admin-page .admin-main :is(
  .payment-test-form,
  .payment-setup,
  .payment-status-heading,
  .fx-market-status,
  .fx-market-warning,
  .fx-card-rate,
  .v132-fx-studio,
  .v13-context-status,
  .v13-currency-grid,
  .v13-currency-card,
  .admin-form-grid,
  .admin-subpanel,
  .gateway-card,
  .provider-card
) small,
html[data-theme="light"] body.admin-page .admin-main label>small{
  color:#3f3547!important;
  opacity:1!important;
}

/* V20 Phase 1 C4R4 HF7 — exact specificity closure from post-HF6 live evidence.
   Presentation only. No geometry, navigation, form, booking, payment or finance behavior. */
/* Moroccan Ivory Home: override the older HF5 high-specificity light-on-photo assumption
   for the actual cream hero copy surface. */
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) .hero .eyebrow,
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) .hero .trust-row span{
  color:#493126!important;
  opacity:1!important;
}
/* Category-card copy is image-backed. Give the existing bottom copy overlay a real opaque
   contrast surface so small/strong/parent-span contrast is deterministic for every photo. */
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) .category-card>span{
  background:#2f211a!important;
  color:#fff8f0!important;
}
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:has(.hero-v4):has(#booking) .category-card>span :is(small,strong,em){
  color:#fff8f0!important;
  opacity:1!important;
  text-shadow:none!important;
}
/* Client home is a uniformly light ivory command center in this mode. */
html[data-theme="light"][data-app-theme="moroccan-ivory"] body.account-page.account-home-page small{
  color:#3a281f!important;
  opacity:1!important;
}
/* Payments warning can originate in the light Admin top bar, outside .admin-main. */
html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-topbar small,
html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-main small{
  color:#342b3c!important;
  opacity:1!important;
}

/* v20-phase1-acceptance-closure.css */
/* MLV V20 Phase 1 HF8 — final acceptance contrast owner.
 * This dedicated late asset supersedes cumulative HF5/HF6/HF7 contrast overrides
 * without changing mobile navigation, layout geometry, forms or business behavior.
 * Desktop-only because the remaining live evidence was captured at >=1181px and
 * Admin mobile is frozen for Phase 1 acceptance. */
@media (min-width:1181px){
  /* Public Home — light cream/ivory surfaces only. */
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .hero.hero-v4 .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .hero.hero-v4 .trust-row span,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .journey-platform .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .journey-platform .platform-feature-grid>article>span,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .category-section>.section-heading .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .experience-section>.section-heading .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotels-section>.section-heading .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotel-body .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .home-hotel-meta span,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .featured-reviews>.section-heading .eyebrow,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .featured-reviews footer :is(strong,small),
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .featured-reviews .review-public-date-v1632,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .brand :is(strong,small),
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .client-account-link span,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .theme-toggle small{
    color:#493126!important;
    opacity:1!important;
  }

  /* Category cards are image-backed. The opaque copy backing guarantees real
     contrast regardless of the uploaded photograph underneath. */
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .category-card>span{
    background:#2f211a!important;
    color:#fff8f0!important;
  }
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .category-card>span :is(small,strong,em){
    color:#fff8f0!important;
    opacity:1!important;
    text-shadow:none!important;
  }

  /* Client / Travel Agent command center — Moroccan Ivory light cards. */
  html[data-theme="light"][data-app-theme="moroccan-ivory"] body.account-page.account-home-page .client-command-center :is(small,.eyebrow),
  html[data-theme="light"][data-app-theme="moroccan-ivory"] body.account-page.account-home-page .client-command-footer{
    color:#3a281f!important;
    opacity:1!important;
  }
  html[data-theme="light"][data-app-theme="moroccan-ivory"] body.account-page .mlv-notification-badge.is-empty{
    color:#3a281f!important;
    background:#f1e5d8!important;
    opacity:1!important;
  }

  /* Undo HF7's over-broad Admin small-text override. Computed inheritance lets
     text on dark panels stay light and text on light panels inherit dark ink. */
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-topbar small,
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-main small{
    color:inherit!important;
    opacity:1!important;
  }

  /* Payments — known light helper surfaces receive explicit dark ink after the
     inheritance reset above. Protected payments.php remains byte-identical. */
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-main :is(
    .payment-test-form,
    .payment-setup,
    .payment-status-heading,
    .fx-market-status,
    .fx-market-warning,
    .fx-card-rate,
    .v132-fx-studio,
    .v13-context-status,
    .v13-currency-grid,
    .v13-currency-card,
    .admin-form-grid,
    .admin-subpanel,
    .gateway-card,
    .provider-card
  ) small,
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-main label>small{
    color:#3f3547!important;
    opacity:1!important;
  }
}


/* MLV V20 Phase 2 Candidate 1 R1 — live-verification contrast acceptance.
 * Scope is presentation-only. It closes only selectors observed by the live
 * browser Observatory after Candidate 1 installation. Desktop-only preserves
 * the frozen Admin/mobile and Candidate 14 mobile workspace contracts. */
@media (min-width:1181px){
  /* Travel Agent B2B / commissions — current-MLV light ivory surfaces. */
  html[data-theme="light"][data-app-theme="current-mlv"] body.account-page :is(
    .agent-booking-studio,
    .agent-panel,
    .agent-booking-list,
    .agent-commission-meta,
    .agent-privacy-note,
    .agent-commission-summary,
    .agent-commission-pagination
  ) small{
    color:#493126!important;
    opacity:1!important;
  }

  /* System & Updates — known light cards/forms only. */
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.system-updates-page :is(
    .system-installed-version,
    .system-status-card,
    .system-field-grid,
    .system-check-card,
    .system-inspection-pass,
    .system-security-gate,
    .system-action-card
  ) small{
    color:#3f3547!important;
    opacity:1!important;
  }

  /* Booking list/detail light surfaces. */
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .stat-grid small,
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-table small,
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-table .table-new,
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .booking-title>div>p,
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page :is(
    .detail-panel,
    .action-panel,
    .booking-timeline,
    .configuration-list,
    .event-list,
    .event-timeline
  ) small{
    color:#3f3547!important;
    opacity:1!important;
  }
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .admin-table .table-new{
    background:#e8dcf3!important;
  }

  /* Diagnostics light cards: exact Observatory warning family from C1 live verification. */
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page :is(
    #health-score-truth,
    #database,
    #errors,
    #repairs,
    #repair-history,
    .health-checks,
    .health-formula-card,
    .diagnostic-group,
    .diagnostic-matrix,
    .diagnostic-row,
    .diagnostic-summary,
    .health-empty,
    .theme-qa-note
  ) :is(p,small,summary){
    color:#3f3547!important;
    opacity:1!important;
  }
  html[data-theme="light"][data-app-theme="obsidian-glass"] body.admin-page .health-severity.severity-warning{
    color:#38291e!important;
    background:#f1dfb7!important;
    opacity:1!important;
  }

  /* Travel Agents admin dark title copy was measured at 4.4:1; use the
     existing light-ink family with sufficient margin above 4.5:1. */
  html[data-theme="dark"][data-app-theme="obsidian-glass"] body.admin-page .admin-title>div>p,
  html[data-theme="dark"][data-app-theme="obsidian-glass"] body.admin-page .admin-title .eyebrow{
    color:#eee8f4!important;
    opacity:1!important;
  }
}


/* MLV V20 Phase 2 Candidate 1 R2 — semantic theme-tooltip contrast ownership.
 * Live C1R1 verification reduced 14 failures to 8; every remaining current
 * observation was the unclassed <small> inside a desktop theme toggle.
 * Earlier broad small-text acceptance rules overrode the tooltip's inverse
 * palette (and, on Admin, its hidden-until-hover opacity). This restores the
 * original semantic tooltip contract only. No geometry or business behavior. */
@media (min-width:1181px){
  html[data-theme="light"] body.account-page .account-actions .theme-toggle>small,
  html[data-theme="light"] body.admin-page .admin-header-actions .theme-toggle>small,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .theme-toggle>small{
    color:var(--cream)!important;
    opacity:0!important;
  }
  html[data-theme="light"] body.account-page .account-actions .theme-toggle:hover>small,
  html[data-theme="light"] body.account-page .account-actions .theme-toggle:focus-visible>small,
  html[data-theme="light"] body.admin-page .admin-header-actions .theme-toggle:hover>small,
  html[data-theme="light"] body.admin-page .admin-header-actions .theme-toggle:focus-visible>small,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .theme-toggle:hover>small,
  html[data-theme="light"] body:not(.admin-page):not(.account-page) .site-header .theme-toggle:focus-visible>small{
    color:var(--cream)!important;
    opacity:1!important;
  }
}

/* MLV V20 Phase 2 Candidate 6 — current visual-contrast closure.
 * Scope is color/opacity only for the five current Observatory observations
 * captured after C5R1. No layout, mobile controller, booking, Hotel, finance,
 * commission, refund, payout, MLV Credit or Phase 3 behavior is changed. */
html[data-theme="light"][data-app-theme="current-mlv"] body.account-page.account-home-page .client-command-center :is(
  .client-command-welcome h1>span,
  .client-command-kpis strong,
  .client-department-open span
){
  color:#7b5918!important;
  opacity:1!important;
}
html[data-theme="light"][data-app-theme="current-mlv"] body.account-page.agent-studio-page .agent-booking-studio :is(
  .agent-studio-progress,
  .agent-studio-stage-shell,
  .agent-studio-summary
) small{
  color:#5f554a!important;
  opacity:1!important;
}
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:not(.admin-page):not(.account-page) .hotel-market-layout p.eyebrow{
  color:#a6532d!important;
  opacity:1!important;
}
html[data-theme="light"][data-app-theme="moroccan-ivory"] body:not(.admin-page):not(.account-page) .hotel-search-bar button{
  color:var(--ui-accent-contrast,#fffaf3)!important;
}


/* MLV V20 Phase 2 Candidate 6 R1 — live selector-ownership contrast closure.
 * C6 live evidence proved the Hotel owners but showed three remaining selector
 * ownership gaps: Travel Agent overview KPI text, the floating Agent navigation
 * helper label on Booking Studio, and the portal-login transition span.
 * Color/opacity only. No geometry, navigation controller or business behavior. */
html[data-theme="light"] body.account-page.account-home-page :is(.client-command-kpis,.agent-kpis) article :is(strong,span){
  color:#5a4010!important;
  opacity:1!important;
}
html[data-theme="light"] body.account-page.agent-studio-page .account-floating-nav>header small,
html[data-theme="light"] body.account-page.agent-studio-page .agent-booking-studio small,
html[data-theme="light"] body.account-page.agent-studio-page .agent-studio-activity small{
  color:#4f463e!important;
  opacity:1!important;
}
html[data-theme="light"] body :is(.portal-login-choice,.portal-mode-switch) span{
  color:#514840!important;
  opacity:1!important;
}

/* v20-phase7-final-health-closure-r2.css */
/* 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;
  }
}

