/* PCE defensive compatibility layer. Normal component styling belongs in app.css.
   Kept intentionally as a safety net for WordPress/plugins/themes that inject late or inline styles. */
/* visual isolation from WordPress/theme/Elementor */
body.pce-body .pce-root{
 --p:#176c80!important;--p2:#3d8dcc!important;--g:#71c94a!important;
 --bg:#f5fafb!important;--ink:#17333c!important;--muted:#667b82!important;
 --line:#dce9ed!important;--danger:#a33139!important;
 color:var(--ink)!important;background:var(--bg)!important;
 font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
 font-size:16px!important;line-height:1.45!important;
}
body.pce-body .pce-root,body.pce-body .pce-root *{box-sizing:border-box!important}
body.pce-body .pce-root button,
body.pce-body .pce-root input,
body.pce-body .pce-root select,
body.pce-body .pce-root textarea{font-family:inherit!important;text-shadow:none!important;filter:none!important}

/* Navigation toggle: never inherit theme button styling. */
body.pce-body .pce-root button.hamb{
 appearance:none!important;-webkit-appearance:none!important;
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 gap:4px!important;width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
 margin:0!important;padding:0!important;
 background:#fff!important;background-image:none!important;
 color:var(--p)!important;border:1px solid var(--line)!important;border-radius:12px!important;
 box-shadow:none!important;text-shadow:none!important;filter:none!important;
 cursor:pointer!important;transform:none!important;
}
body.pce-body .pce-root button.hamb:hover,
body.pce-body .pce-root button.hamb:focus,
body.pce-body .pce-root button.hamb:active{
 background:#f2f9fa!important;background-image:none!important;color:var(--p)!important;
 border-color:#bfd8df!important;box-shadow:0 0 0 3px rgba(23,108,128,.10)!important;
 transform:none!important;
}
body.pce-body .pce-root button.hamb i{
 display:block!important;width:18px!important;height:2px!important;min-height:2px!important;margin:0!important;padding:0!important;
 border:0!important;border-radius:999px!important;background:currentColor!important;background-image:none!important;
 box-shadow:none!important;position:static!important;transform:none;
}

/* Product buttons */
body.pce-body .pce-root .btn,
body.pce-body .pce-root button.btn,
body.pce-body .pce-root input[type="submit"].btn,
body.pce-body .pce-root input[type="button"].btn{
 appearance:none!important;-webkit-appearance:none!important;
 background:#fff!important;background-image:none!important;color:var(--p)!important;
 border:1px solid var(--line)!important;border-radius:11px!important;
 box-shadow:none!important;text-shadow:none!important;filter:none!important;
 text-decoration:none!important;font-weight:750!important;line-height:1.2!important;
 min-height:42px!important;padding:9px 14px!important;
}
body.pce-body .pce-root .btn:hover,
body.pce-body .pce-root button.btn:hover{
 background:#f3f9fb!important;background-image:none!important;color:var(--p)!important;border-color:#bfd8df!important;
}
body.pce-body .pce-root .btn.primary,
body.pce-body .pce-root button.btn.primary,
body.pce-body .pce-root button.primary{
 background:linear-gradient(135deg,var(--p),#238aa0)!important;background-color:var(--p)!important;
 color:#fff!important;border-color:transparent!important;box-shadow:none!important;text-shadow:none!important;
}
body.pce-body .pce-root .btn.primary:hover,
body.pce-body .pce-root button.btn.primary:hover,
body.pce-body .pce-root button.primary:hover{
 background:linear-gradient(135deg,#125f71,#1c8095)!important;color:#fff!important;
}
body.pce-body .pce-root .btn.danger,
body.pce-body .pce-root button.btn.danger{
 background:#fff!important;color:var(--danger)!important;border-color:#efc8cb!important;
}

/* Form controls */
body.pce-body .pce-root input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
body.pce-body .pce-root select,
body.pce-body .pce-root textarea{
 appearance:auto!important;background:#fff!important;background-image:none!important;color:var(--ink)!important;
 border:1px solid #cfe0e5!important;border-radius:11px!important;box-shadow:none!important;text-shadow:none!important;
 filter:none!important;
}
body.pce-body .pce-root input:not([type="checkbox"]):not([type="radio"]):focus,
body.pce-body .pce-root select:focus,
body.pce-body .pce-root textarea:focus{
 border-color:var(--p2)!important;box-shadow:0 0 0 3px rgba(61,141,204,.12)!important;
}
body.pce-body .pce-root input[type="checkbox"],body.pce-body .pce-root input[type="radio"]{
 accent-color:var(--p)!important;box-shadow:none!important;filter:none!important;
}

/* Navigation, chips, tabs and cards */
body.pce-body .pce-root .pce-side{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important}
body.pce-body .pce-root .pce-side nav a{background:transparent!important;background-image:none!important;color:#526b73!important;box-shadow:none!important;text-shadow:none!important}
body.pce-body .pce-root .pce-side nav a:hover{background:#f1f8fa!important;color:var(--p)!important}
body.pce-body .pce-root .pce-side nav a.active{background:linear-gradient(135deg,#e9f7f9,#f1faf5)!important;color:var(--p)!important;box-shadow:inset 3px 0 var(--p)!important}
body.pce-body .pce-root .quick-filters a,
body.pce-body .pce-root .admin-tabs a,
body.pce-body .pce-root .locations label{
 background:#fff!important;background-image:none!important;color:#5d737a!important;border-color:var(--line)!important;text-shadow:none!important;box-shadow:none!important;
}
body.pce-body .pce-root .admin-tabs a.active{color:var(--p)!important;background:#fff!important;box-shadow:0 4px 12px rgba(21,75,89,.08)!important}
body.pce-body .pce-root .card,
body.pce-body .pce-root .kpi,
body.pce-body .pce-root .benefit-item,
body.pce-body .pce-root .credential-print{
 background:#fff!important;background-image:none!important;border-color:var(--line)!important;color:var(--ink)!important;
}

/* Prevent common Elementor/theme pseudo-element decoration on controls. */
body.pce-body .pce-root button.hamb:before,
body.pce-body .pce-root button.hamb:after,
body.pce-body .pce-root .btn:before,
body.pce-body .pce-root .btn:after{content:none!important;display:none!important}

body.pce-body .pce-root button.hamb:focus-visible{outline:3px solid #0b6f8a!important;outline-offset:3px!important;}
