
/* Milo visual repair v3: accessible contrast, consistent site-wide surfaces. */
:root,[data-theme="milo-light"]{--milo-canvas:#faf9f6;--milo-surface:#fff;--milo-card:#fff;--milo-soft:#f2f3f7;--milo-ink:#121d30;--milo-muted:#516075;--milo-border:#dce2eb;--milo-brand:#176b53;--milo-primary:#176b53;color-scheme:light}
[data-theme="milo-dark"]{--milo-canvas:#0b0f19;--milo-surface:#131b2b;--milo-card:#172235;--milo-soft:#222d41;--milo-ink:#f5f7ff;--milo-muted:#b9c5d5;--milo-border:#3c4a61;--milo-brand:#70c7a3;--milo-primary:#70c7a3;color-scheme:dark}
html,body{background-color:var(--milo-canvas)!important;color:var(--milo-ink)!important}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif!important}
/* Legacy stone and green text utilities had too little contrast after the theme swap. */
[data-theme="milo-light"] :is(.text-stone-300,.text-stone-400,.text-stone-500,.text-slate-300,.text-slate-400,.text-emerald-200,.text-emerald-300,.text-emerald-400,.text-green-200,.text-green-300,.text-green-400){color:#506076!important}
[data-theme="milo-light"] :is(.text-stone-600,.text-stone-700,.text-slate-600,.text-slate-700,.text-stone-800,.text-stone-900){color:#172238!important}
[data-theme="milo-dark"] :is(.text-stone-400,.text-stone-500,.text-stone-600,.text-stone-700,.text-stone-800,.text-stone-900,.text-slate-400,.text-slate-500,.text-slate-600,.text-slate-700,.text-slate-800){color:#d0d9e8!important}
/* Pills and emphasis keep their meaning, but no faint green on pale background. */
[data-theme="milo-light"] :is(.text-emerald-500,.text-emerald-600,.text-green-500,.text-green-600){color:#16654b!important}
[data-theme="milo-light"] :is(.text-indigo-400,.text-indigo-500,.text-violet-400,.text-violet-500){color:#176b53!important}
/* Consistent accessible navigation. Keep unavailable features visibly unavailable, not illegible. */
#workspace-navigation{background:var(--milo-surface)!important;color:var(--milo-ink)!important;border-right:1px solid var(--milo-border)!important}
#workspace-navigation nav{background:transparent;color:var(--milo-ink)!important}
#workspace-navigation nav a,#workspace-navigation nav button{color:var(--milo-ink)!important;opacity:1!important;line-height:1.5}
#workspace-navigation nav a:not([aria-current="page"]):hover{background:var(--milo-soft)!important;color:var(--milo-brand)!important}
#workspace-navigation nav a[aria-current="page"]{background:#eceafd!important;color:#33259a!important;box-shadow:inset 3px 0 #5549d9}
[data-theme="milo-dark"] #workspace-navigation nav a[aria-current="page"]{background:#302a58!important;color:#f5f1ff!important}
#workspace-navigation :is(.milo-nav-coming-soon,.milo-coming-soon){background:var(--milo-soft)!important;color:var(--milo-muted)!important;border-color:var(--milo-border)!important;opacity:1!important}
#workspace-navigation .milo-coming-soon-dot{background:#548a78!important}
#workspace-navigation :is(a,button,span,p){text-shadow:none}
/* Dashboard typography, metrics, empty states and progress indicators. */
#workspace-main{background:var(--milo-canvas)!important;color:var(--milo-ink)!important}
#workspace-main :is(h1,h2,h3,h4,h5,h6,strong,b){color:var(--milo-ink)!important;opacity:1!important}
#workspace-main :is(p,small,label,summary,dd,dt,li,td,th){opacity:1}
#workspace-main :is(.text-stone-300,.text-stone-400,.text-stone-500,.text-slate-400,.text-slate-500){color:var(--milo-muted)!important}
#workspace-main :is(.bg-white,.bg-stone-50){background:var(--milo-card)!important}
#workspace-main :is(.border-stone-200,.border-stone-300){border-color:var(--milo-border)!important}
/* All editable controls must have readable text regardless of inherited panel colours. */
:where(input:not([type="checkbox"]):not([type="radio"]),textarea,select){background-color:var(--milo-surface)!important;color:var(--milo-ink)!important;border:1px solid var(--milo-border)!important;border-radius:11px!important}
:where(input,textarea)::placeholder{color:#6b7789!important;opacity:1!important}
[data-theme="milo-dark"] :where(input,textarea)::placeholder{color:#a8b4c6!important}
:where(select option){background:#fff;color:#121d30}
/* Buttons: a readable foreground on each colour, including dark pine action surfaces. */
:where(button,.milo-primary,a.milo-primary,[role="button"]){font-weight:600}
:where(.milo-primary){background:#176b53!important;color:#fff!important;border:1px solid #176b53!important;box-shadow:0 5px 15px rgba(23,107,83,.16)}
:where(.milo-primary):hover:not(:disabled){background:#125741!important;color:#fff!important}
:where(.milo-primary):disabled{background:#deddf1!important;color:#38435b!important;border-color:#c9cae1!important;opacity:1!important}
:where(button,a)[class*="bg-emerald-"],:where(button,a)[class*="bg-green-"]{color:#0c2a20!important}
:where(button,a)[class*="bg-stone-900"],:where(button,a)[class*="bg-slate-900"],:where(button,a)[class*="bg-[#1"]{color:#fff!important}
:where(button,a)[class*="bg-indigo-"],:where(button,a)[class*="bg-violet-"]{color:#fff!important}
:where(button,a):disabled{opacity:.75!important;cursor:not-allowed}
/* Pine-dark job search panels need deliberately light copy, not global dark copy. */
[data-theme="milo-light"] :is(.milo-search-panel,.milo-sponsorship-options)[class*="bg-"]{color:#f2f7f5}
[data-theme="milo-light"] :is(.milo-search-panel,.milo-sponsorship-options)[class*="bg-"] label{color:#edf7f2!important}
/* The legacy sign-in page is a purposefully dark panel. */
[data-theme="milo-light"] :is(main,section,article,div)[class*="bg-stone-950"]{color:#f7f9fc}
[data-theme="milo-light"] :is(main,section,article,div)[class*="bg-stone-950"] :is(.text-stone-500,.text-stone-400,.text-stone-600){color:#c2ccd6!important}
/* Shared cards and navigation look intentional across pages. */
:where(.milo-public-header){background:color-mix(in srgb,var(--milo-canvas) 94%,transparent)!important;backdrop-filter:blur(18px);border-color:var(--milo-border)!important}
:where(.milo-job-card,.milo-tool-card,.milo-plan,.milo-feature-card,.milo-card,.milo-billing-card){background:var(--milo-card)!important;color:var(--milo-ink)!important;border:1px solid var(--milo-border)!important;border-radius:18px!important}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #176b53!important;outline-offset:2px!important}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
