/* Imara Studio Phase 20 — contrast and readability hardening */
:root{
  --contrast-ink:#101828;
  --contrast-body:#344054;
  --contrast-muted:#5f6b7a;
  --contrast-faint:#7a8699;
  --contrast-white:#ffffff;
  --contrast-link:#4f24c7;
  --contrast-purple:#5b2cc8;
  --contrast-purple-bg:#eee9ff;
  --contrast-green:#087443;
  --contrast-green-bg:#e7f8ef;
  --contrast-amber:#854a00;
  --contrast-amber-bg:#fff1d6;
  --contrast-red:#a51d36;
  --contrast-red-bg:#ffe8ec;
}

html{color-scheme:light}
body:has(.studio-sidebar){color:var(--contrast-ink)!important;background:#f5f7fb!important}
body:has(.studio-sidebar) main{color:var(--contrast-ink)!important}
body:has(.studio-sidebar) main :is(h1,h2,h3,h4,h5,h6,strong,b,legend){color:var(--contrast-ink)}
body:has(.studio-sidebar) main p,
body:has(.studio-sidebar) main small,
body:has(.studio-sidebar) main .muted,
body:has(.studio-sidebar) main .subtle{color:var(--contrast-muted)}
body:has(.studio-sidebar) main a:not(.button):not(.btn):not([class*="sidebar-"]){color:var(--contrast-link)}
body:has(.studio-sidebar) main a:not(.button):not(.btn):hover{color:#36149a}

/* Every light card receives an explicit readable foreground. */
body:has(.studio-sidebar) :is(
  .panel,.calm-panel,.phase18-panel,.phase18-wizard,.growth-card,.phase6-card,
  .hero-card,.review-create-card,.recent-work-panel,.premium-card,.template-card,
  .clean-asset-card,.creation,.history-card,.auth-card,.notification-panel,
  .create-command-panel,.command-palette-panel,.workspace-switcher-menu,
  .template-preview-modal section,.phase18-business-metrics article,
  .daily-summary-card article,.growth-quick-grid>a,.lead-board article,
  .angle-grid>div,.asset-plan>div,.recommendation-list>div,.schedule-strip>div,
  .phase18-content-grid article,.phase18-launch-review div,.phase18-checklist,
  .phase18-review-card,.phase18-empty,.growth-empty
){color:var(--contrast-ink)!important}
body:has(.studio-sidebar) :is(
  .panel,.calm-panel,.phase18-panel,.phase18-wizard,.growth-card,.phase6-card,
  .hero-card,.review-create-card,.recent-work-panel,.premium-card,.template-card,
  .clean-asset-card,.creation,.history-card,.phase18-content-grid article,
  .phase18-business-metrics article,.daily-summary-card article
) :is(p,small,.muted,.subtle){color:var(--contrast-muted)!important}

/* Inputs and native controls must never inherit white text from the legacy dark theme. */
body:has(.studio-sidebar) :is(main,.create-command-modal,.command-palette,.media-preview-drawer)
:is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea,option){
  background-color:#fff!important;color:var(--contrast-ink)!important;border-color:#cfd5df!important;
}
body:has(.studio-sidebar) option{background:#fff!important;color:var(--contrast-ink)!important}
body:has(.studio-sidebar) :is(input,textarea)::placeholder{color:#7b8798!important;opacity:1!important}
body:has(.studio-sidebar) :is(input,select,textarea):disabled{background:#eef1f5!important;color:#667085!important}

/* High-contrast buttons. */
body:has(.studio-sidebar) :is(.button:not(.ghost):not(.light),.btn-primary,.sidebar-create-button,.btn-download){
  color:#fff!important;text-shadow:0 1px 1px rgba(0,0,0,.16)
}
body:has(.studio-sidebar) :is(.button.ghost,.button.light,.btn-secondary){color:#273248!important;background:#fff!important}
body:has(.studio-sidebar) :is(.btn-danger,.button.danger){color:var(--contrast-red)!important;background:var(--contrast-red-bg)!important}
body:has(.studio-sidebar) button:not([class]):not([type="button"]),
body:has(.studio-sidebar) input[type="submit"]{
  background:#5b2cc8;color:#fff;border:1px solid #4a20ad;border-radius:12px;padding:11px 18px;font-weight:750;cursor:pointer
}

/* Choice controls and selected states. */
body:has(.studio-sidebar) :is(.choice-row span,.channel-grid label>div,.phase18-choice-group label span,.phase18-mode-grid label div){
  background:#fff!important;color:var(--contrast-body)!important;border-color:#cfd5df!important
}
body:has(.studio-sidebar) :is(.choice-row input:checked+span,.channel-grid input:checked+div,.phase18-choice-group input:checked+span,.phase18-mode-grid input:checked+div){
  background:#e9e1ff!important;color:#3d158f!important;border-color:#6d3df2!important
}
body:has(.studio-sidebar) :is(.choice-row input:checked+span,.channel-grid input:checked+div,.phase18-choice-group input:checked+span,.phase18-mode-grid input:checked+div) :is(strong,p,small){color:#3d158f!important}

/* Statuses, tags and badges with WCAG-friendly pairings. */
body:has(.studio-sidebar) :is(.status.completed,.status.success,.badge.success,.tag.success){background:var(--contrast-green-bg)!important;color:var(--contrast-green)!important}
body:has(.studio-sidebar) :is(.status.processing,.status.queued,.status.warning,.badge.warning,.tag.warning){background:var(--contrast-amber-bg)!important;color:var(--contrast-amber)!important}
body:has(.studio-sidebar) :is(.status.failed,.status.danger,.badge.danger,.tag.danger){background:var(--contrast-red-bg)!important;color:var(--contrast-red)!important}
body:has(.studio-sidebar) :is(.status-pill,.pill,.tag-list span,.phase18-content-grid article>span,.phase18-lead-row em){background:var(--contrast-purple-bg)!important;color:#4b20aa!important}
body:has(.studio-sidebar) .status{border:1px solid currentColor}

/* Tables and data density. */
body:has(.studio-sidebar) thead th{background:#eef1f5!important;color:#344054!important}
body:has(.studio-sidebar) tbody td{background:#fff;color:#273248!important}
body:has(.studio-sidebar) tbody tr:hover td{background:#f4f0ff!important;color:#1d1238!important}

/* Dark surfaces get explicit light foregrounds. */
.studio-sidebar,.studio-sidebar *{color:#e8ebf3}
.studio-sidebar :is(.sidebar-group-label,.workspace-switcher-trigger small,.sidebar-account small){color:#aeb7ca!important}
.studio-sidebar a:hover,.studio-sidebar button:hover,.studio-sidebar summary:hover{color:#fff!important}
.phase18-assistant,.phase18-assistant *{color:#fff}
.phase18-assistant :is(p,small,label){color:#d8d4e7!important}
.phase18-assistant input{background:#fff!important;color:var(--contrast-ink)!important}
.phase18-assistant input::placeholder{color:#667085!important}
.phase18-assistant [data-assistant-result]{background:rgba(255,255,255,.14)!important;color:#fff!important}
.auth-wrap .auth-card :is(h1,h2,h3,strong,label){color:var(--contrast-ink)!important}
.auth-wrap .auth-card :is(p,small){color:var(--contrast-muted)!important}

/* Hero and gradient areas. */
.phase18-hero :is(h1,h2,h3,strong),.phase18-command-hero :is(h1,h2,h3,strong),.calm-dashboard-hero :is(h1,h2,h3,strong){color:#171229!important}
.phase18-hero p,.phase18-command-hero p,.calm-dashboard-hero p{color:#4d5868!important}

/* Media overlays and dark previews. */
:is(.history-placeholder,.preview-drawer-media,.poster-stage,.video-stage,.template-preview-stage){color:#f8fafc}
:is(.history-placeholder,.preview-drawer-media) :is(p,small,span){color:#d7deea!important}

/* Automatic runtime contrast correction classes. */
.ui-auto-contrast-dark{color:#101828!important;text-shadow:none!important}
.ui-auto-contrast-light{color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.38)!important}
.ui-contrast-outline{outline:2px solid rgba(165,29,54,.35);outline-offset:2px}

/* Focus visibility must remain obvious on both light and dark backgrounds. */
body :focus-visible{outline:3px solid #8b5cf6!important;outline-offset:2px!important}
.studio-sidebar :focus-visible,.phase18-assistant :focus-visible{outline-color:#c4b5fd!important}

@media (forced-colors:active){
  *{forced-color-adjust:auto}
  .button,.btn,.status,.badge,.tag,.pill{border:1px solid ButtonText!important}
}
