/* IP AUTH VISUAL FIREWALL V2 - last loaded after Vite */

body:has(#app .ip-auth-shell),
body:has(#app .ip-auth-main),
body:has(#app .ip-auth-shell) #app,
body:has(#app .ip-auth-main) #app,
#app .ip-auth-shell,
#app .ip-auth-main {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Remove wash/gradient from authenticated structural surfaces only. */
#app .ip-auth-main,
#app .ip-auth-main > *,
#app .ip-auth-main > * > *,
#app .ip-auth-main :is(section, article, aside, header, footer) {
  background-image: none !important;
}

#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"]) {
  background-image: none !important;
}

/* Known current page wrappers. */
#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero
) {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
}

#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero,
  section,
  article,
  aside,
  header,
  footer,
  div
)::before,
#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero,
  section,
  article,
  aside,
  header,
  footer,
  div
)::after {
  background-image: none !important;
}

/* Pale pink/rose/fuchsia layout surfaces become white. */
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="bg-pink"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="bg-rose"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="bg-fuchsia"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="from-pink"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="from-rose"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="from-fuchsia"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="via-pink"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="via-rose"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="via-fuchsia"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="to-pink"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="to-rose"],
#app .ip-auth-main :is(section, article, aside, header, footer, div):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"])[class*="to-fuchsia"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
}

/* Preserve actual magenta actions/inputs/focus. */
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="pink"],
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="fuchsia"],
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="#FF1493"],
#app .ip-auth-main :is(input, textarea, select) {
  background-image: initial;
}

/* IP AUTH SHADOW/GLOW FIREWALL V3
   The visible pink wash is not a background; sampled backgrounds are none/transparent.
   Kill structural shadows, filters, pseudo-element glows and blending on authenticated content.
   Preserve visible magenta controls, progress bars, inputs and focus rings.
*/

body:has(#app .ip-auth-main),
body:has(#app .ip-auth-shell),
body:has(#app .ip-auth-main) #app,
body:has(#app .ip-auth-shell) #app,
#app .ip-auth-shell,
#app .ip-auth-main {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

/* Structural authenticated surfaces: no glow, no wash, no blur, no generated shadows. */
#app .ip-auth-main :is(
  main,
  section,
  article,
  aside,
  header,
  footer,
  div,
  table,
  thead,
  tbody,
  tr,
  th,
  td
):not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"]) {
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mix-blend-mode: normal !important;
}

/* Remove shadow/glow pseudo-elements on layout surfaces. */
#app .ip-auth-main :is(
  main,
  section,
  article,
  aside,
  header,
  footer,
  div
)::before,
#app .ip-auth-main :is(
  main,
  section,
  article,
  aside,
  header,
  footer,
  div
)::after {
  box-shadow: none !important;
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background-image: none !important;
  mix-blend-mode: normal !important;
}

/* Known wrappers from the fresh build and earlier inspected source. */
#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-page,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-content,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero
),
#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-page,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-content,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero
) *,
#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-page,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-content,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero
)::before,
#app .ip-auth-main :is(
  .ip-safe-dashboard,
  .ip-safe-dashboard-page,
  .ip-safe-dashboard-hero,
  .ip-safe-dashboard-panel,
  .ip-opform-hero,
  .ip-operator-onboarding-page,
  .ip-operator-onboarding-hero,
  .ip-operator-onboarding-content,
  .ip-operator-onboarding-auth-main,
  .ip-settings-hero,
  .ip-settings-panel,
  .ip-admin-dashboard,
  .ip-admin-users,
  .ip-admin-page,
  .ip-admin-hero
)::after {
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  background-image: none !important;
  mix-blend-mode: normal !important;
}

/* Make top page blocks flat white so transparent children cannot reveal any inherited wash. */
#app .ip-auth-main > *,
#app .ip-auth-main > * > *:not(a):not(button):not(input):not(select):not(textarea):not(progress):not([role="button"]) {
  background-color: #ffffff !important;
}

/* Preserve intended action colour surfaces. */
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="pink"],
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="rose"],
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="fuchsia"],
#app .ip-auth-main :is(a, button, input[type="submit"], [role="button"])[class*="#FF1493"],
#app .ip-auth-main [class*="progress"],
#app .ip-auth-main [class*="Progress"] {
  filter: none !important;
  -webkit-filter: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* IP AUTH LOGO FOOTER HOVER FIREWALL V1 */

/*
   The public header logo is acceptable. The remaining failure is the auth-card
   instance of BrandLogoContent, which sits inside the login/register form body
   and collides with the Secure Access kicker/title. In main content only, render
   it as a compact standalone mark and suppress the adjacent lockup text.
*/
#app main .ip-site-brand {
    display: flex !important;
    width: fit-content !important;
    max-width: none !important;
    margin: 0 0 1.15rem 0 !important;
    padding: 0 !important;
    text-decoration: none !important;
}

#app main .ip-option-c-lockup,
#app main .ip-option-c-brand-content {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 3.15rem !important;
    max-width: 3.15rem !important;
    min-width: 3.15rem !important;
    height: 3.15rem !important;
    max-height: 3.15rem !important;
    min-height: 3.15rem !important;
    margin: 0 0 1.15rem 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    clear: both !important;
}

#app main .ip-option-c-lockup .ip-option-c-copy,
#app main .ip-option-c-brand-content .ip-option-c-copy,
#app main .ip-option-c-lockup .ip-option-c-title,
#app main .ip-option-c-lockup .ip-option-c-subtitle {
    display: none !important;
}

#app main .ip-option-c-mark,
#app main .ip-option-c-mark-svg,
#app main .ip-option-c-brand-img {
    flex: 0 0 3.15rem !important;
    width: 3.15rem !important;
    max-width: 3.15rem !important;
    min-width: 3.15rem !important;
    height: 3.15rem !important;
    max-height: 3.15rem !important;
    min-height: 3.15rem !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Ensure the Secure Access kicker/title starts below the compact mark. */
#app main .ip-option-c-lockup + *,
#app main .ip-option-c-brand-content + *,
#app main .ip-site-brand + * {
    clear: both !important;
}

/* Footer hover: explicit last-loaded rule. */
#app .ip-site-footer a,
#app .ip-site-footer a:link,
#app .ip-site-footer a:visited {
    transition: color 140ms ease, opacity 140ms ease !important;
}

#app .ip-site-footer a:hover,
#app .ip-site-footer a:focus,
#app .ip-site-footer a:focus-visible,
#app .ip-site-footer-nav a:hover,
#app .ip-site-footer-bottom a:hover {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

/* IP LOGIN CARD COLLISION FIREWALL V2 */

/*
   Public header logo remains untouched.
   This targets only logo/brand artefacts inside login/register auth cards/forms.
*/

/* Kill the legacy pseudo-logo that can appear before auth forms. */
html body #app form.ip-auth-access-shell::before,
html body #app .ip-auth-access-shell::before,
html body #app .ip10weo-auth-card form::before,
html body #app .ip10weo-auth-card form.ip-auth-access-shell::before,
html body #app [class*="auth-card"] form.ip-auth-access-shell::before,
html body #app [class*="auth-card"] form::before {
    content: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Hide any full brand lockup rendered inside the auth card body. */
html body #app .ip10weo-auth-card .ip-site-brand,
html body #app .ip10weo-auth-card .ip-option-c-brand,
html body #app .ip10weo-auth-card .ip-option-c-lockup,
html body #app .ip10weo-auth-card .ip-option-c-brand-content,
html body #app .ip10weo-auth-card .ip10weo-auth-brand,
html body #app .ip-auth-access-shell .ip-site-brand,
html body #app .ip-auth-access-shell .ip-option-c-brand,
html body #app .ip-auth-access-shell .ip-option-c-lockup,
html body #app .ip-auth-access-shell .ip-option-c-brand-content,
html body #app .ip-auth-access-shell .ip10weo-auth-brand,
html body #app main form .ip-site-brand,
html body #app main form .ip-option-c-brand,
html body #app main form .ip-option-c-lockup,
html body #app main form .ip-option-c-brand-content {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Remove space reserved for the removed auth-card branding. */
html body #app .ip10weo-auth-card,
html body #app [class*="auth-card"],
html body #app [class*="auth-page"] {
    overflow: visible !important;
}

html body #app .ip10weo-auth-card form.ip-auth-access-shell,
html body #app form.ip-auth-access-shell,
html body #app main form {
    padding-top: 0 !important;
}

html body #app .ip10weo-auth-card h1,
html body #app .ip10weo-auth-card h2,
html body #app .ip-auth-access-shell h1,
html body #app .ip-auth-access-shell h2,
html body #app main form h1,
html body #app main form h2 {
    clear: both !important;
    margin-top: 0 !important;
    position: relative !important;
    z-index: 2 !important;
}

/* Footer hover, loaded after built CSS. */
html body #app .ip-site-footer a:hover,
html body #app .ip-site-footer a:focus,
html body #app .ip-site-footer a:focus-visible,
html body #app .ip-site-footer-nav a:hover,
html body #app .ip-site-footer-nav a:focus-visible,
html body #app .ip-site-footer-bottom a:hover,
html body #app .ip-site-footer-bottom a:focus-visible {
    color: #FFFFFF !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* IP FOOTER HOVER WHITE FIREWALL V3 */

/*
   Footer-only hover correction.
   Targets anchors and any nested visible text nodes/elements inside hovered footer links.
*/

html body #app footer.ip-site-footer a,
html body #app .ip-site-footer a,
html body #app .ip-site-footer a:link,
html body #app .ip-site-footer a:visited {
    color: #8E9AB2 !important;
    opacity: 1 !important;
    text-decoration: none !important;
    transition: color 140ms ease, opacity 140ms ease !important;
}

html body #app footer.ip-site-footer a:hover,
html body #app footer.ip-site-footer a:hover *,
html body #app footer.ip-site-footer a:focus,
html body #app footer.ip-site-footer a:focus *,
html body #app footer.ip-site-footer a:focus-visible,
html body #app footer.ip-site-footer a:focus-visible *,
html body #app .ip-site-footer a:hover,
html body #app .ip-site-footer a:hover *,
html body #app .ip-site-footer a:focus,
html body #app .ip-site-footer a:focus *,
html body #app .ip-site-footer a:focus-visible,
html body #app .ip-site-footer a:focus-visible *,
html body #app .ip-site-footer-nav a:hover,
html body #app .ip-site-footer-nav a:hover *,
html body #app .ip-site-footer-bottom a:hover,
html body #app .ip-site-footer-bottom a:hover * {
    color: #FFFFFF !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

/* Keyboard focus should be visible as well as white. */
html body #app .ip-site-footer a:focus-visible {
    outline: 2px solid #FFFFFF !important;
    outline-offset: 3px !important;
    border-radius: 0.25rem !important;
}

/* IP FOOTER HOVER VISIBLE REINFORCEMENT V1 */

html body #app .ip-site-footer a,
html body #app footer.ip-site-footer a {
    position: relative !important;
    color: #8E9AB2 !important;
    opacity: 1 !important;
    text-decoration: none !important;
    transition: color 140ms ease, text-decoration-color 140ms ease, transform 140ms ease !important;
    text-underline-offset: 0.24em !important;
}

html body #app .ip-site-footer a:hover,
html body #app .ip-site-footer a:focus-visible,
html body #app footer.ip-site-footer a:hover,
html body #app footer.ip-site-footer a:focus-visible {
    color: #FFFFFF !important;
    opacity: 1 !important;
    text-decoration-line: underline !important;
    text-decoration-color: #FFFFFF !important;
    text-decoration-thickness: 2px !important;
}

html body #app .ip-site-footer a:hover *,
html body #app .ip-site-footer a:focus-visible *,
html body #app footer.ip-site-footer a:hover *,
html body #app footer.ip-site-footer a:focus-visible * {
    color: #FFFFFF !important;
    opacity: 1 !important;
}

/* IP FOOTER HOVER TEXT FILL FIX V1 */

/* The underline proves :hover is matching. Force the actual glyph paint as well. */
html body #app .ip-site-footer a:hover,
html body #app .ip-site-footer a:hover *,
html body #app footer.ip-site-footer a:hover,
html body #app footer.ip-site-footer a:hover *,
html body #app .ip-site-footer-nav a:hover,
html body #app .ip-site-footer-nav a:hover *,
html body #app .ip-site-footer-bottom a:hover,
html body #app .ip-site-footer-bottom a:hover *,
html body #app .ip-site-footer a:focus-visible,
html body #app .ip-site-footer a:focus-visible *,
html body #app footer.ip-site-footer a:focus-visible,
html body #app footer.ip-site-footer a:focus-visible * {
    color: rgb(255, 255, 255) !important;
    -webkit-text-fill-color: rgb(255, 255, 255) !important;
    text-fill-color: rgb(255, 255, 255) !important;
    opacity: 1 !important;
    text-shadow: none !important;
    filter: none !important;
    mix-blend-mode: normal !important;
}

/* Keep the visible underline from the previous pass. */
html body #app .ip-site-footer a:hover,
html body #app footer.ip-site-footer a:hover,
html body #app .ip-site-footer a:focus-visible,
html body #app footer.ip-site-footer a:focus-visible {
    text-decoration-line: underline !important;
    text-decoration-color: rgb(255, 255, 255) !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 0.24em !important;
}

/* IP PUBLIC FIELDS FOOTER FIREWALL V2 */

/*
   /studios public filter fields must not be pink.
   Keep the accepted login/register auth form styling untouched.
*/
html body #app main form:not(.ip-auth-access-shell) input:not([type="checkbox"]):not([type="radio"]),
html body #app main form:not(.ip-auth-access-shell) select,
html body #app main form:not(.ip-auth-access-shell) textarea,
html body #app main input:not([type="checkbox"]):not([type="radio"]):not([name="email"]):not([name="password"]),
html body #app main select,
html body #app main textarea {
    border-color: #D7DEF0 !important;
    outline-color: transparent !important;
    box-shadow: none !important;
    --tw-ring-color: rgba(7, 10, 18, 0.10) !important;
    --tw-ring-shadow: 0 0 #0000 !important;
    --tw-ring-offset-shadow: 0 0 #0000 !important;
    caret-color: #070A12 !important;
}

html body #app main form:not(.ip-auth-access-shell) input:not([type="checkbox"]):not([type="radio"]):hover,
html body #app main form:not(.ip-auth-access-shell) select:hover,
html body #app main form:not(.ip-auth-access-shell) textarea:hover,
html body #app main input:not([type="checkbox"]):not([type="radio"]):not([name="email"]):not([name="password"]):hover,
html body #app main select:hover,
html body #app main textarea:hover {
    border-color: #AAB4C8 !important;
    box-shadow: none !important;
}

html body #app main form:not(.ip-auth-access-shell) input:not([type="checkbox"]):not([type="radio"]):focus,
html body #app main form:not(.ip-auth-access-shell) select:focus,
html body #app main form:not(.ip-auth-access-shell) textarea:focus,
html body #app main form:not(.ip-auth-access-shell) input:not([type="checkbox"]):not([type="radio"]):focus-visible,
html body #app main form:not(.ip-auth-access-shell) select:focus-visible,
html body #app main form:not(.ip-auth-access-shell) textarea:focus-visible,
html body #app main input:not([type="checkbox"]):not([type="radio"]):not([name="email"]):not([name="password"]):focus,
html body #app main select:focus,
html body #app main textarea:focus {
    border-color: #070A12 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(7, 10, 18, 0.08) !important;
    --tw-ring-color: rgba(7, 10, 18, 0.08) !important;
}

/* Hard override common Tailwind / arbitrary pink borders inside public pages except auth form. */
html body #app main form:not(.ip-auth-access-shell) .border-pink-500,
html body #app main form:not(.ip-auth-access-shell) .border-pink-600,
html body #app main form:not(.ip-auth-access-shell) .border-fuchsia-500,
html body #app main form:not(.ip-auth-access-shell) .border-fuchsia-600,
html body #app main form:not(.ip-auth-access-shell) [class*="border-[#FF1493]"],
html body #app main form:not(.ip-auth-access-shell) [class*="border-[#ff1493]"] {
    border-color: #D7DEF0 !important;
}

/*
   Pink pills/CTAs must always have white text.
*/
html body #app main .bg-pink-500,
html body #app main .bg-pink-600,
html body #app main .bg-fuchsia-500,
html body #app main .bg-fuchsia-600,
html body #app main .bg-rose-500,
html body #app main .bg-rose-600,
html body #app main [class*="bg-[#FF1493]"],
html body #app main [class*="bg-[#ff1493]"],
html body #app main button[class*="pink"],
html body #app main a[class*="pink"],
html body #app main button[style*="255, 20, 147"],
html body #app main a[style*="255, 20, 147"],
html body #app main button[style*="#FF1493"],
html body #app main a[style*="#FF1493"] {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

html body #app main .bg-pink-500 *,
html body #app main .bg-pink-600 *,
html body #app main .bg-fuchsia-500 *,
html body #app main .bg-fuchsia-600 *,
html body #app main .bg-rose-500 *,
html body #app main .bg-rose-600 *,
html body #app main [class*="bg-[#FF1493]"] *,
html body #app main [class*="bg-[#ff1493]"] * {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/*
   Footer readability. Previous layout is accepted; increase contrast only.
*/
html body #app .ip-site-footer,
html body #app footer.ip-site-footer {
    color: #C7D0E4 !important;
}

html body #app .ip-site-footer .ip-footer-final-kicker,
html body #app .ip-site-footer .ip-site-footer-kicker,
html body #app .ip-site-footer h3,
html body #app .ip-site-footer .ip-footer-final-nav h3 {
    color: #C7D0E4 !important;
    -webkit-text-fill-color: #C7D0E4 !important;
    opacity: 1 !important;
}

html body #app .ip-site-footer h2,
html body #app .ip-footer-final-intro h2 {
    color: #B8C2D6 !important;
    -webkit-text-fill-color: #B8C2D6 !important;
    opacity: 1 !important;
}

html body #app .ip-site-footer p,
html body #app .ip-site-footer span,
html body #app .ip-footer-final-intro p,
html body #app .ip-footer-final-bottom span {
    color: #AAB4C8 !important;
    -webkit-text-fill-color: #AAB4C8 !important;
    opacity: 1 !important;
}

html body #app .ip-site-footer a,
html body #app .ip-site-footer a:link,
html body #app .ip-site-footer a:visited,
html body #app .ip-footer-final a,
html body #app .ip-footer-final a:link,
html body #app .ip-footer-final a:visited {
    color: #B8C2D6 !important;
    -webkit-text-fill-color: #B8C2D6 !important;
    opacity: 1 !important;
    text-decoration: none !important;
}

html body #app .ip-site-footer a:hover,
html body #app .ip-site-footer a:hover *,
html body #app .ip-site-footer a:focus-visible,
html body #app .ip-site-footer a:focus-visible *,
html body #app .ip-footer-final a:hover,
html body #app .ip-footer-final a:hover *,
html body #app .ip-footer-final a:focus-visible,
html body #app .ip-footer-final a:focus-visible * {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    text-decoration-line: underline !important;
    text-decoration-color: #FFFFFF !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 0.24em !important;
}

/* IP PINK PILL WHITE TEXT FIX V2 */

/*
   Force public magenta/pink CTA and pill text to white.
   Includes var(--ip-magenta), arbitrary Tailwind classes, and site-specific pill/button names.
*/
html body #app main a[class*="bg-[var(--ip-magenta)]"],
html body #app main button[class*="bg-[var(--ip-magenta)]"],
html body #app main a[class*="bg-[--ip-magenta]"],
html body #app main button[class*="bg-[--ip-magenta]"],
html body #app main a[class*="bg-[#FF1493]"],
html body #app main button[class*="bg-[#FF1493]"],
html body #app main a[class*="bg-[#ff1493]"],
html body #app main button[class*="bg-[#ff1493]"],
html body #app main a[class*="bg-pink"],
html body #app main button[class*="bg-pink"],
html body #app main a[class*="bg-fuchsia"],
html body #app main button[class*="bg-fuchsia"],
html body #app main a[class*="bg-rose"],
html body #app main button[class*="bg-rose"],
html body #app main a[class*="magenta"],
html body #app main button[class*="magenta"],
html body #app main a[class*="pink"],
html body #app main button[class*="pink"],
html body #app main .ip-pill,
html body #app main .ip-cta,
html body #app main .ip-site-cta,
html body #app main .ip-site-button-primary {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

html body #app main a[class*="bg-[var(--ip-magenta)]"] *,
html body #app main button[class*="bg-[var(--ip-magenta)]"] *,
html body #app main a[class*="bg-[--ip-magenta]"] *,
html body #app main button[class*="bg-[--ip-magenta]"] *,
html body #app main a[class*="bg-[#FF1493]"] *,
html body #app main button[class*="bg-[#FF1493]"] *,
html body #app main a[class*="bg-[#ff1493]"] *,
html body #app main button[class*="bg-[#ff1493]"] *,
html body #app main a[class*="bg-pink"] *,
html body #app main button[class*="bg-pink"] *,
html body #app main a[class*="bg-fuchsia"] *,
html body #app main button[class*="bg-fuchsia"] *,
html body #app main a[class*="bg-rose"] *,
html body #app main button[class*="bg-rose"] *,
html body #app main a[class*="magenta"] *,
html body #app main button[class*="magenta"] *,
html body #app main a[class*="pink"] *,
html body #app main button[class*="pink"] *,
html body #app main .ip-pill *,
html body #app main .ip-cta *,
html body #app main .ip-site-cta *,
html body #app main .ip-site-button-primary * {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* Specific /studios search button safety by form location. */
html body #app main form:not(.ip-auth-access-shell) button[type="submit"],
html body #app main form:not(.ip-auth-access-shell) button:first-of-type {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

/* IP MOBILE LEGAL OVERFLOW FIREWALL V1 */

/*
   Final public checkpoint showed only mobile /terms and /privacy overflow:
   433px document width on a 390px viewport.
   This is mobile-only containment for public content/legal pages.
*/
@media (max-width: 640px) {
    html,
    body,
    #app {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }

    html body #app main {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    html body #app main *,
    html body #app main *::before,
    html body #app main *::after {
        box-sizing: border-box !important;
        min-width: 0 !important;
    }

    html body #app main section,
    html body #app main article,
    html body #app main div,
    html body #app main header,
    html body #app main footer,
    html body #app main nav,
    html body #app main aside {
        max-width: 100% !important;
    }

    html body #app main h1,
    html body #app main h2,
    html body #app main h3,
    html body #app main h4,
    html body #app main p,
    html body #app main li,
    html body #app main a,
    html body #app main span,
    html body #app main strong,
    html body #app main em {
        overflow-wrap: anywhere !important;
        word-break: normal !important;
    }

    html body #app main table {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    html body #app main pre,
    html body #app main code {
        max-width: 100% !important;
        white-space: pre-wrap !important;
        overflow-wrap: anywhere !important;
    }

    html body #app main img,
    html body #app main svg,
    html body #app main iframe,
    html body #app main video {
        max-width: 100% !important;
        height: auto !important;
    }

    /*
       Common cause: legal/static pages often have fixed-width card/prose wrappers.
       Cap any large rounded/card/legal wrapper to the mobile viewport.
    */
    html body #app main [class*="legal"],
    html body #app main [class*="terms"],
    html body #app main [class*="privacy"],
    html body #app main [class*="policy"],
    html body #app main [class*="prose"],
    html body #app main [class*="content"],
    html body #app main [class*="card"],
    html body #app main [class*="container"],
    html body #app main [class*="wrapper"] {
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }
}

/* IP OPERATOR ACTION HUB LIGHT CARD TEXT V1 */

/*
   Fix inherited white/near-white text on light authenticated cards,
   especially /dashboard/studio Action Hub cards.
   Dark cards are not touched.
*/
html body #app main [class*="bg-white"] h1,
html body #app main [class*="bg-white"] h2,
html body #app main [class*="bg-white"] h3,
html body #app main [class*="bg-white"] h4,
html body #app main [class*="bg-slate-50"] h1,
html body #app main [class*="bg-slate-50"] h2,
html body #app main [class*="bg-slate-50"] h3,
html body #app main [class*="bg-slate-50"] h4,
html body #app main [class*="bg-gray-50"] h1,
html body #app main [class*="bg-gray-50"] h2,
html body #app main [class*="bg-gray-50"] h3,
html body #app main [class*="bg-gray-50"] h4,
html body #app main [class*="bg-[#F4F6FC]"] h1,
html body #app main [class*="bg-[#F4F6FC]"] h2,
html body #app main [class*="bg-[#F4F6FC]"] h3,
html body #app main [class*="bg-[#F4F6FC]"] h4,
html body #app main [class*="bg-[#f4f6fc]"] h1,
html body #app main [class*="bg-[#f4f6fc]"] h2,
html body #app main [class*="bg-[#f4f6fc]"] h3,
html body #app main [class*="bg-[#f4f6fc]"] h4 {
    color: #070A12 !important;
    -webkit-text-fill-color: #070A12 !important;
    opacity: 1 !important;
}

html body #app main [class*="bg-white"] p,
html body #app main [class*="bg-white"] li,
html body #app main [class*="bg-white"] span:not([class*="bg-"]),
html body #app main [class*="bg-slate-50"] p,
html body #app main [class*="bg-slate-50"] li,
html body #app main [class*="bg-slate-50"] span:not([class*="bg-"]),
html body #app main [class*="bg-gray-50"] p,
html body #app main [class*="bg-gray-50"] li,
html body #app main [class*="bg-gray-50"] span:not([class*="bg-"]),
html body #app main [class*="bg-[#F4F6FC]"] p,
html body #app main [class*="bg-[#F4F6FC]"] li,
html body #app main [class*="bg-[#F4F6FC]"] span:not([class*="bg-"]),
html body #app main [class*="bg-[#f4f6fc]"] p,
html body #app main [class*="bg-[#f4f6fc]"] li,
html body #app main [class*="bg-[#f4f6fc]"] span:not([class*="bg-"]) {
    color: #5B6780 !important;
    -webkit-text-fill-color: #5B6780 !important;
    opacity: 1 !important;
}

/* Preserve dark card readability. */
html body #app main [class*="bg-[#070A12]"],
html body #app main [class*="bg-[#070a12]"],
html body #app main [class*="bg-slate-950"],
html body #app main [class*="bg-gray-950"],
html body #app main [class*="bg-black"] {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
}

html body #app main [class*="bg-[#070A12]"] *,
html body #app main [class*="bg-[#070a12]"] *,
html body #app main [class*="bg-slate-950"] *,
html body #app main [class*="bg-gray-950"] *,
html body #app main [class*="bg-black"] * {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
}


/* IP AVAILABILITY FIREWALL OVERRIDE V3P
   Scope: only the confirmed data-hooked Availability Health card on /dashboard/studio.
   Reason: this firewall stylesheet loads after built app CSS and was overriding the card text.
*/

html body #app section[data-ip-studio-availability-health="true"],
html body #app section[data-ip-studio-availability-health="true"] > div:first-child,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child h1,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child h2,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child h3,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child p,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child span,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child strong {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
}

html body #app section[data-ip-studio-availability-health="true"] > div:first-child p.mt-2,
html body #app section[data-ip-studio-availability-health="true"] > div:first-child p[class*="max-w-3xl"] {
    color: #cbd5e1 !important;
    -webkit-text-fill-color: #cbd5e1 !important;
}

html body #app section[data-ip-studio-availability-health="true"] a[href*="/operator/booking-requests"],
html body #app section[data-ip-studio-availability-health="true"] a[href*="/operator/booking-requests"] * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

html body #app section[data-ip-studio-availability-health="true"] span[class*="bg-white"],
html body #app section[data-ip-studio-availability-health="true"] span[class*="bg-white"] * {
    color: #050816 !important;
    -webkit-text-fill-color: #050816 !important;
    opacity: 1 !important;
}

html body #app section[data-ip-studio-availability-health="true"] span[class*="bg-white"] span {
    color: #5b6780 !important;
    -webkit-text-fill-color: #5b6780 !important;
}

/* IP AVAILABILITY FIREWALL DIRECT TEXT V3Q
   Scope: only the confirmed data-hooked Availability Health card.
   Direct selectors are used because the panel structure is not stable enough for child-index selectors.
*/

html body #app section[data-ip-studio-availability-health="true"] {
    background: #050816 !important;
    background-color: #050816 !important;
    border-color: #050816 !important;
}

/* Main title: "No active availability conflicts" */
html body #app section[data-ip-studio-availability-health="true"] h2,
html body #app section[data-ip-studio-availability-health="true"] h2 * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
}

/* Eyebrow and explanatory copy. */
html body #app section[data-ip-studio-availability-health="true"] p,
html body #app section[data-ip-studio-availability-health="true"] p * {
    color: #cbd5e1 !important;
    -webkit-text-fill-color: #cbd5e1 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background-image: none !important;
    -webkit-background-clip: border-box !important;
    background-clip: border-box !important;
}

/* First paragraph / eyebrow can be slightly brighter. */
html body #app section[data-ip-studio-availability-health="true"] p:first-of-type {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

/* Review bookings CTA stays readable. */
html body #app section[data-ip-studio-availability-health="true"] a[href*="/operator/booking-requests"],
html body #app section[data-ip-studio-availability-health="true"] a[href*="/operator/booking-requests"] * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
}

/* Stat tiles remain dark-on-light. */
html body #app section[data-ip-studio-availability-health="true"] span[class*="bg-white"],
html body #app section[data-ip-studio-availability-health="true"] span[class*="bg-white"] * {
    color: #050816 !important;
    -webkit-text-fill-color: #050816 !important;
    opacity: 1 !important;
}

html body #app section[data-ip-studio-availability-health="true"] span[class*="bg-white"] span {
    color: #5b6780 !important;
    -webkit-text-fill-color: #5b6780 !important;
}

/* IP AUTH PILL FIREWALL CONTRACT V4N START
   Last-loaded authenticated pill/button contrast contract.
   This lives in the firewall stylesheet because the firewall is loaded after Vite app.css.
   No pseudo labels. No duplicated text. No runtime mutation.
*/

html body #app :is(a, button, [role="button"]).ip-primary-pill::before,
html body #app :is(a, button, [role="button"]).ip-primary-pill::after,
html body #app :is(a, button, [role="button"]).ip-secondary-pill::before,
html body #app :is(a, button, [role="button"]).ip-secondary-pill::after,
html body #app :is(a, button, [role="button"]).ip-dark-pill::before,
html body #app :is(a, button, [role="button"]).ip-dark-pill::after {
    content: none !important;
    display: none !important;
}

html body #app :is(a, button, [role="button"]).ip-primary-pill,
html body #app :is(a, button, [role="button"]).ip-primary-pill:link,
html body #app :is(a, button, [role="button"]).ip-primary-pill:visited,
html body #app main .ip-operator-space-card a.ip-primary-pill,
html body #app main .ip-operator-space-card a.ip-primary-pill:link,
html body #app main .ip-operator-space-card a.ip-primary-pill:visited {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body #app :is(a, button, [role="button"]).ip-primary-pill:hover,
html body #app :is(a, button, [role="button"]).ip-primary-pill:focus-visible,
html body #app :is(a, button, [role="button"]).ip-primary-pill:active,
html body #app main .ip-operator-space-card a.ip-primary-pill:hover,
html body #app main .ip-operator-space-card a.ip-primary-pill:focus-visible,
html body #app main .ip-operator-space-card a.ip-primary-pill:active {
    background: #050816 !important;
    background-color: #050816 !important;
    background-image: none !important;
    border-color: #050816 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

html body #app :is(a, button, [role="button"]).ip-primary-pill *,
html body #app :is(a, button, [role="button"]).ip-primary-pill:hover *,
html body #app :is(a, button, [role="button"]).ip-primary-pill:focus-visible *,
html body #app :is(a, button, [role="button"]).ip-primary-pill:active *,
html body #app main .ip-operator-space-card a.ip-primary-pill *,
html body #app main .ip-operator-space-card a.ip-primary-pill:hover *,
html body #app main .ip-operator-space-card a.ip-primary-pill:focus-visible *,
html body #app main .ip-operator-space-card a.ip-primary-pill:active * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

html body #app :is(a, button, [role="button"]).ip-secondary-pill,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:link,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:visited,
html body #app main .ip-operator-space-card a.ip-secondary-pill,
html body #app main .ip-operator-space-card a.ip-secondary-pill:link,
html body #app main .ip-operator-space-card a.ip-secondary-pill:visited {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #d7def0 !important;
    color: #050816 !important;
    -webkit-text-fill-color: #050816 !important;
    text-fill-color: #050816 !important;
    text-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body #app :is(a, button, [role="button"]).ip-secondary-pill:hover,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:focus-visible,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:active,
html body #app main .ip-operator-space-card a.ip-secondary-pill:hover,
html body #app main .ip-operator-space-card a.ip-secondary-pill:focus-visible,
html body #app main .ip-operator-space-card a.ip-secondary-pill:active {
    background: #050816 !important;
    background-color: #050816 !important;
    background-image: none !important;
    border-color: #050816 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

html body #app :is(a, button, [role="button"]).ip-secondary-pill *,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:hover *,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:focus-visible *,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:active *,
html body #app main .ip-operator-space-card a.ip-secondary-pill *,
html body #app main .ip-operator-space-card a.ip-secondary-pill:hover *,
html body #app main .ip-operator-space-card a.ip-secondary-pill:focus-visible *,
html body #app main .ip-operator-space-card a.ip-secondary-pill:active * {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    text-fill-color: currentColor !important;
    text-shadow: none !important;
}

html body #app :is(a, button, [role="button"]).ip-dark-pill,
html body #app :is(a, button, [role="button"]).ip-dark-pill:link,
html body #app :is(a, button, [role="button"]).ip-dark-pill:visited,
html body #app :is(a, button, [role="button"]).ip-dark-pill:hover,
html body #app :is(a, button, [role="button"]).ip-dark-pill:focus-visible,
html body #app :is(a, button, [role="button"]).ip-dark-pill:active,
html body #app .ip-opform-submit,
html body #app .ip-opform-submit:hover,
html body #app .ip-opform-submit:focus-visible,
html body #app .ip-opform-submit:active {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

html body #app :is(a, button, [role="button"]).ip-primary-pill:focus-visible,
html body #app :is(a, button, [role="button"]).ip-secondary-pill:focus-visible,
html body #app :is(a, button, [role="button"]).ip-dark-pill:focus-visible,
html body #app .ip-opform-submit:focus-visible {
    outline: 2px solid currentColor !important;
    outline-offset: 3px !important;
}

/* IP AUTH PILL FIREWALL CONTRACT V4N END */

/* IP OPERATOR SPACE CARD ACTION SPECIFICITY V4P START
   Final scoped override for Studio/Spaces/Index card action buttons.

   Reason:
   app.css contains older .ip-operator-space-card .ip-primary-pill/.ip-secondary-pill rules
   with enough specificity to force black glyph paint. This stylesheet loads after Vite CSS,
   so this block deliberately uses the same component scope with higher specificity.

   Contract:
   - Edit / primary: pink normal with white text; dark hover/focus with white text.
   - Booking/View / secondary: white normal with black text; dark hover/focus with white text.
*/

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:link,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:visited {
    background: #FF1493 !important;
    background-color: #FF1493 !important;
    background-image: none !important;
    border-color: #FF1493 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:hover,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:focus,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:focus-visible,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:active {
    background: #050816 !important;
    background-color: #050816 !important;
    background-image: none !important;
    border-color: #050816 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:hover *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:focus-visible *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:active * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:link,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:visited {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #d7def0 !important;
    color: #050816 !important;
    -webkit-text-fill-color: #050816 !important;
    text-fill-color: #050816 !important;
    text-shadow: none !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:hover,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:focus,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:focus-visible,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:active {
    background: #050816 !important;
    background-color: #050816 !important;
    background-image: none !important;
    border-color: #050816 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:link *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:visited * {
    color: #050816 !important;
    -webkit-text-fill-color: #050816 !important;
    text-fill-color: #050816 !important;
    text-shadow: none !important;
}

html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:hover *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:focus-visible *,
html body #app main section.ip-operator-spaces-grid article.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:active * {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    text-fill-color: #ffffff !important;
    text-shadow: none !important;
}

/* IP OPERATOR SPACE CARD ACTION SPECIFICITY V4P END */

/* IP OPERATOR SPACE CARD PILL OVERRIDE V4Q START
   Exact stable DOM override for /operator/studio-spaces action pills.

   The live DOM is:
   .ip-operator-space-card a.ip-primary-pill
   .ip-operator-space-card a.ip-secondary-pill

   Keep this below V4P because this is the final last-loaded action-button contract.
*/

html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:link,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:visited {
    background: #FF1493 !important;
    background-color: #FF1493 !important;
    background-image: none !important;
    border-color: #FF1493 !important;
    color: rgb(255, 255, 255) !important;
    -webkit-text-fill-color: rgb(255, 255, 255) !important;
    text-fill-color: rgb(255, 255, 255) !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:hover,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:focus,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:focus-visible,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:active {
    background: #050816 !important;
    background-color: #050816 !important;
    background-image: none !important;
    border-color: #050816 !important;
    color: rgb(255, 255, 255) !important;
    -webkit-text-fill-color: rgb(255, 255, 255) !important;
    text-fill-color: rgb(255, 255, 255) !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill::first-line,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:hover::first-line,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:focus-visible::first-line,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-primary-pill.ip-primary-pill:active::first-line {
    color: rgb(255, 255, 255) !important;
    -webkit-text-fill-color: rgb(255, 255, 255) !important;
}

html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:link,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:visited {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    border-color: #d7def0 !important;
    color: #050816 !important;
    -webkit-text-fill-color: #050816 !important;
    text-fill-color: #050816 !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:hover,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:focus,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:focus-visible,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:active {
    background: #050816 !important;
    background-color: #050816 !important;
    background-image: none !important;
    border-color: #050816 !important;
    color: rgb(255, 255, 255) !important;
    -webkit-text-fill-color: rgb(255, 255, 255) !important;
    text-fill-color: rgb(255, 255, 255) !important;
    text-shadow: none !important;
    text-decoration: none !important;
}

html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:hover::first-line,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:focus-visible::first-line,
html body #app .ip-operator-space-card.ip-operator-space-card a.ip-secondary-pill.ip-secondary-pill:active::first-line {
    color: rgb(255, 255, 255) !important;
    -webkit-text-fill-color: rgb(255, 255, 255) !important;
}

/* IP OPERATOR SPACE CARD PILL OVERRIDE V4Q END */
