/* ================================================================
   LEGAL CENTRE — Contrast Guard V1
   Screen-only final visual contrast / interaction-state layer.
   Keeps business logic, layout, billing calculations and print output untouched.
   ================================================================ */
:root{
  --lc-cg-ink:#18211d;
  --lc-cg-muted:#53615a;
  --lc-cg-green:#075335;
  --lc-cg-green-live:#087443;
  --lc-cg-orange-ink:#8a3500;
  --lc-cg-gold-ink:#725900;
  --lc-cg-white:#ffffff;
  --lc-cg-focus:#087443;
}

@media screen{
  /* Runtime guard classes. */
  .lc-cg-force{color:var(--lc-cg-runtime-color)!important}
  .lc-cg-hover-light:hover,.lc-cg-hover-light:hover *{color:#fff!important}
  .lc-cg-hover-dark:hover,.lc-cg-hover-dark:hover *{color:#18211d!important}
  .lc-cg-hover-green:hover,.lc-cg-hover-green:hover *{color:#075335!important}
  .lc-cg-hover-orange:hover,.lc-cg-hover-orange:hover *{color:#8a3500!important}
  .lc-cg-focus-light:focus-visible,.lc-cg-focus-light:focus-visible *{color:#fff!important}
  .lc-cg-focus-dark:focus-visible,.lc-cg-focus-dark:focus-visible *{color:#18211d!important}
  .lc-cg-focus-green:focus-visible,.lc-cg-focus-green:focus-visible *{color:#075335!important}
  .lc-cg-focus-orange:focus-visible,.lc-cg-focus-orange:focus-visible *{color:#8a3500!important}

  /* Strong, consistent keyboard focus without moving layout. */
  :where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{
    outline:3px solid color-mix(in srgb,var(--lc-cg-focus) 82%,#fff)!important;
    outline-offset:3px!important;
  }

  /* Placeholder and disabled text must remain readable on the light product UI. */
  :where(input,textarea)::placeholder{color:#66736c!important;opacity:1!important}
  :where(input,select,textarea):disabled{color:#66736c!important;opacity:1}

  /* Orange brand surfaces: white is too low-contrast on these bright fills. */
  .lcs-filter.active span,
  .lcs-search button,
  .lch-search button,
  .lc2-search button,
  .lch-final-actions .btn-primary,
  .kc-category.active b,
  .mbbx-btn.orange,
  .lcts-btn.orange,
  .lca-btn{
    color:var(--lc-cg-ink)!important;
  }
  .lcs-filter.active span *,
  .lcs-search button *,
  .lch-search button *,
  .lc2-search button *,
  .lch-final-actions .btn-primary *,
  .kc-category.active b *,
  .mbbx-btn.orange *,
  .lcts-btn.orange *,
  .lca-btn *{color:inherit!important}

  /* Orange hover surfaces keep readable foreground instead of inheriting white. */
  .fh-service-item:hover .fh-service-arrow,
  .lch-final-actions .btn-primary:hover,
  .mbbx-btn.orange:hover,
  .lcts-btn.orange:hover{
    color:var(--lc-cg-ink)!important;
  }

  /* Pale-orange warning/status surfaces. */
  .lcaa-metric.warn,
  .lcd-pill.warn,
  .lccomm-btn.orange,
  .lc360-btn.orange,
  .lcpf-action.orange,
  .lccmp-mini.orange,
  .lc5-pending,
  .lc5-apphello span,
  .lch-final-actions .lch-contact-btn:hover,
  .lch-final-actions .btn-light:hover{
    color:var(--lc-cg-orange-ink)!important;
  }

  /* Soft green surfaces and small green labels. */
  .lcs-card-arrow,
  .lcs-filter span,
  .kc-category b,
  .lch-trustbar i,
  .lch-steps article>i,
  .lcf-footer-trust i,
  .lc2-confidence i,
  .lc2-steps article>i,
  .lc2-footer-features i,
  .lch-category-top i,
  .lc2-cat-icon,
  .fh-phone-timeline .done i{
    color:var(--lc-cg-green)!important;
  }
  .lcs-card:hover .lcs-card-arrow{color:#fff!important}

  /* Quiet grey text on near-white surfaces was too faint. */
  .lc5-mini-tr:first-child,
  .lc5-workspace-list div:first-child,
  .lc5-task em,
  .lcfi-pill-tab,
  .lc-mobile-hdfc-group h4,
  .lcgst-note,
  .lcsm-foot,
  .mbbx-tab,
  .mbbx-pro-note,
  .ka-note,
  .bd .footnote{
    color:var(--lc-cg-muted)!important;
  }

  /* Table headers: readable on very light table chrome. */
  .lcf-main th,
  .lc360 th,
  .lcpf th,
  .lcbi-team th,
  .lccmp-table th,
  .lcaa th,
  .lcbr th,
  .lcbw th,
  body.lcu-export-mode .export-simple-head .export-subhead-row th{
    color:#59665f!important;
  }

  /* Gold/yellow status marks on pale-gold cards. */
  .lc5-stat:nth-child(3) i,
  .lc5-float.three i,
  .lc5-trust-item:nth-child(3) .lc5-trust-icon,
  .lc5-doc:nth-child(2) i,
  .lc5-task:nth-child(3) i{
    color:var(--lc-cg-gold-ink)!important;
  }

  /* Header/account fallback: if an older orange account skin appears, keep it legible. */
  .lc-account-trigger,
  .lcbank-account-zone .lcf-account>a:first-child{
    text-shadow:none!important;
  }
  .lc-account-trigger[style*="f36a16"],
  .lcbank-account-zone .lcf-account>a:first-child[style*="f36a16"]{
    color:var(--lc-cg-ink)!important;
  }

  /* Hover/focus states that previously changed only one side of the contrast pair. */
  .lcf-search-result:hover,.lcf-search-result.is-active,
  .lcu-hs-opt:hover,.lcu-hs-opt.active,
  .lcu-loc-option:hover,.lcu-loc-option.active,
  .lcu-country-option:hover,.lcu-country-option.active,
  .mbbx-layer-btn:hover,.mbbx-quick:hover,.mbbx-nudge button:hover,
  tbody tr:hover{
    color:var(--lc-cg-ink)!important;
  }
  .lcf-search-result:hover *,.lcf-search-result.is-active *,
  .lcu-hs-opt:hover *,.lcu-hs-opt.active *,
  .lcu-loc-option:hover *,.lcu-loc-option.active *,
  .lcu-country-option:hover *,.lcu-country-option.active *{
    color:inherit!important;
  }

  /* Footer / dark surfaces: keep hover links bright and visible. */
  .footer a:hover,
  .lcf-footer a:hover,
  .lc5-final a:hover{
    color:#fff!important;
  }

  /* Prevent hover/focus visual treatment from shifting controls by border-width changes. */
  :where(a,button,[role="button"],input,select,textarea){box-sizing:border-box}
}

/* Never alter invoice/quotation print colours or PDF rendering. */
@media print{
  .lc-cg-force{color:inherit!important}
}
