/* AR Beam authenticated portal — light neumorphism.
 * Activated only while body has .arb-portal-light; login/public pages are unchanged.
 */
body.arb-portal-light {
  --text:#172333; --muted:#344152; --cyan:#356b8a; --green:#21885c;
  --yellow:#9a6200; --orange:#b46b1a; --red:#bf374b;
  --glass:#e9edf2; --glass-strong:#e9edf2; --glass-soft:#eef1f5;
  --stroke:rgba(76,89,104,.18); --stroke-soft:rgba(76,89,104,.13);
  --border:rgba(76,89,104,.18); --neu:#e9edf2; --neu-dark:#c7cdd5; --neu-light:#fff;
  color:#172333!important;
  background:#e9edf2!important;
}
body.arb-portal-light::before { opacity:.16!important; filter:saturate(.45) brightness(1.5)!important; }
body.arb-portal-light .portal {
  color:#172333!important;
  background:radial-gradient(circle at 16% 6%,rgba(255,255,255,.96),transparent 32%),radial-gradient(circle at 86% 88%,rgba(217,79,88,.06),transparent 28%),#e9edf2!important;
}
body.arb-portal-light .sidebar,
body.arb-portal-light .topbar,
body.arb-portal-light .glass,
body.arb-portal-light .glass-soft,
body.arb-portal-light .panel,
body.arb-portal-light .card,
body.arb-portal-light .stat,
body.arb-portal-light .application-card,
body.arb-portal-light .eq-return-card,
body.arb-portal-light .eq-report-card,
body.arb-portal-light .rd-card,
body.arb-portal-light .ts-card,
body.arb-portal-light .comm-card,
body.arb-portal-light .arb-cd-card {
  color:#172333!important;
  background:#e9edf2!important;
  background-image:none!important;
  border-color:transparent!important;
  box-shadow:8px 8px 18px #c7cdd5,-8px -8px 18px #fff!important;
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body.arb-portal-light .sidebar { border:0!important; }
body.arb-portal-light .topbar { border:0!important; }
body.arb-portal-light .portal-main,
body.arb-portal-light .portal-content,
body.arb-portal-light .eq-wrap { color:#172333!important; }
/* The legacy portal contains many inline white/near-white text declarations.
 * Force authenticated-portal copy to an accessible dark ink so no label can
 * disappear against the light neumorphic surface. Status meaning remains in
 * each badge's border/background instead of relying on pale text alone. */
body.arb-portal-light .portal :where(h1,h2,h3,h4,h5,h6,p,span,div,label,legend,dt,dd,td,th,a,button,strong,b,small,time,code,pre,li) {
  color:#172333!important;
  text-shadow:none!important;
}
body.arb-portal-light h1, body.arb-portal-light h2, body.arb-portal-light h3,
body.arb-portal-light h4, body.arb-portal-light h5, body.arb-portal-light h6,
body.arb-portal-light p, body.arb-portal-light label, body.arb-portal-light dt,
body.arb-portal-light dd, body.arb-portal-light td, body.arb-portal-light th,
body.arb-portal-light .who, body.arb-portal-light .panel-head h3,
body.arb-portal-light .eq-modal-title { color:#172333; }
body.arb-portal-light .muted, body.arb-portal-light .sm-hint,
body.arb-portal-light .sub, body.arb-portal-light .nav-group,
body.arb-portal-light .eq-form-grid label, body.arb-portal-light .eq-full,
body.arb-portal-light .eq-table th, body.arb-portal-light .eq-kv-grid dt,
body.arb-portal-light .clk-date, body.arb-portal-light .clk-tz { color:#344152!important; opacity:1!important; }
body.arb-portal-light input, body.arb-portal-light select, body.arb-portal-light textarea {
  color:#172333!important; background:#e9edf2!important; border-color:transparent!important;
  box-shadow:inset 4px 4px 9px #c7cdd5,inset -4px -4px 9px #fff!important;
}
body.arb-portal-light input::placeholder, body.arb-portal-light textarea::placeholder { color:#4b5868!important; opacity:1!important; }
body.arb-portal-light option { color:#172333!important; background:#f4f6f8!important; }
body.arb-portal-light button, body.arb-portal-light .ghost-button,
body.arb-portal-light .mini, body.arb-portal-light .eq-tab {
  color:#172333!important; text-shadow:none!important;
}
body.arb-portal-light .ghost-button, body.arb-portal-light .mini,
body.arb-portal-light .eq-tab:not(.on), body.arb-portal-light .nav-item:not(.on) {
  background:#e9edf2!important; border-color:transparent!important;
  box-shadow:4px 4px 10px #c7cdd5,-4px -4px 10px #fff!important;
}
body.arb-portal-light .nav-item.on, body.arb-portal-light .eq-tab.on {
  color:#172333!important; background:#e9edf2!important; border-color:transparent!important;
  box-shadow:inset 4px 4px 9px #c7cdd5,inset -4px -4px 9px #fff, inset 0 0 0 1px rgba(217,79,88,.36)!important;
}
body.arb-portal-light .primary-button { color:#ffffff!important; background:linear-gradient(135deg,#2d8cff,#1f6fe0)!important; border-color:transparent!important; box-shadow:0 10px 22px rgba(45,140,255,.30)!important; }
body.arb-portal-light .danger, body.arb-portal-light .eq-err { color:#8f2233!important; }
body.arb-portal-light a { color:#235f82; }
body.arb-portal-light table { color:#172333!important; }
body.arb-portal-light tbody tr:nth-child(even) { background:rgba(255,255,255,.22); }
body.arb-portal-light tbody tr:hover { background:rgba(53,107,138,.08)!important; }
body.arb-portal-light .pill, body.arb-portal-light .chip,
body.arb-portal-light .shift-chip, body.arb-portal-light .status-chip { color:#172333!important; text-shadow:none!important; }
body.arb-portal-light .muted, body.arb-portal-light .sm-hint,
body.arb-portal-light .sub, body.arb-portal-light .nav-group,
body.arb-portal-light [class*="hint"], body.arb-portal-light [class*="caption"] {
  color:#344152!important;
}
body.arb-portal-light [style*="color: rgb(255, 255, 255)"],
body.arb-portal-light [style*="color:#fff"], body.arb-portal-light [style*="color: #fff"],
body.arb-portal-light [style*="color:white"], body.arb-portal-light [style*="color: white"],
body.arb-portal-light [style*="color: rgb(244, 248, 251)"],
body.arb-portal-light [style*="color: rgb(232, 238, 244)"] { color:#172333!important; }
body.arb-portal-light .modal-backdrop, body.arb-portal-light .card-modal-backdrop,
body.arb-portal-light .pm-modal-backdrop { background:rgba(42,53,66,.38)!important; }
body.arb-portal-light .modal, body.arb-portal-light .card-modal,
body.arb-portal-light .pm-modal, body.arb-portal-light [role="dialog"] {
  color:#172333!important; background:#e9edf2!important; border-color:rgba(76,89,104,.16)!important;
  box-shadow:14px 14px 34px rgba(114,124,136,.38),-10px -10px 28px rgba(255,255,255,.86)!important;
}
body.arb-portal-light .eq-tabs {
  background:#e9edf2!important; border:0!important; padding:8px!important; border-radius:16px!important;
  box-shadow:inset 5px 5px 11px #c7cdd5,inset -5px -5px 11px #fff!important;
}
body.arb-portal-light .eq-search, body.arb-portal-light .eq-picklist,
body.arb-portal-light .eq-agreement-box, body.arb-portal-light .eq-pre,
body.arb-portal-light .eq-cond-compare { color:#172333!important; background:#e9edf2!important; border-color:transparent!important; }
body.arb-portal-light .eq-bartrack { background:#d8dee5!important; box-shadow:inset 2px 2px 5px #c1c8d0,inset -2px -2px 5px #fff; }
body.arb-portal-light .eq-barfill { background:linear-gradient(90deg,#d94f58,#356b8a)!important; }

/* Admin inventory editor */
.arb-eqedit-backdrop { position:fixed; inset:0; z-index:2147482500; display:flex; align-items:flex-start; justify-content:center; overflow:auto; padding:24px 14px; box-sizing:border-box; background:rgba(42,53,66,.42); backdrop-filter:blur(7px); }
.arb-eqedit-modal { width:min(1040px,100%); color:#172333; background:#e9edf2; border-radius:20px; box-shadow:16px 16px 40px rgba(96,107,120,.42),-10px -10px 30px rgba(255,255,255,.8); padding:18px; box-sizing:border-box; }
.arb-eqedit-head { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.arb-eqedit-title { flex:1; font-size:18px; font-weight:850; color:#172333; }
.arb-eqedit-close { width:36px; height:36px; border:0; border-radius:12px; color:#172333; background:#e9edf2; box-shadow:4px 4px 10px #c7cdd5,-4px -4px 10px #fff; cursor:pointer; }
.arb-eqedit-status { color:#344152; font-size:12px; margin:6px 0 14px; }
.arb-eqedit-body>label { display:flex; flex-direction:column; gap:5px; color:#172333; font-size:12px; font-weight:700; }
.arb-eqedit-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:14px; }
.arb-eqedit-field { display:flex; flex-direction:column; gap:5px; color:#344152; font-size:12px; font-weight:700; min-width:0; }
.arb-eqedit-field input,.arb-eqedit-field select,.arb-eqedit-field textarea,.arb-eqedit-body>label select { width:100%; box-sizing:border-box; min-height:40px; padding:9px 10px; border:0; border-radius:10px; color:#172333; background:#e9edf2; box-shadow:inset 4px 4px 9px #c7cdd5,inset -4px -4px 9px #fff; }
.arb-eqedit-field textarea { min-height:76px; resize:vertical; }
.arb-eqedit-actions { display:flex; justify-content:flex-end; margin-top:16px; }
@media(max-width:820px){.arb-eqedit-grid{grid-template-columns:1fr 1fr}.arb-eqedit-backdrop{padding:10px}}
@media(max-width:560px){.arb-eqedit-grid{grid-template-columns:1fr}.arb-eqedit-modal{border-radius:15px;padding:14px}}
@media(prefers-reduced-motion:reduce){body.arb-portal-light *{scroll-behavior:auto!important}}

/* v3 — ice-blue neumorphism, tuned to Rich's mobile fitness reference. */
body.arb-portal-light {
  --glass:#eaf4fb; --glass-strong:#eaf4fb; --glass-soft:#edf7fc;
  --neu:#eaf4fb; --neu-dark:#c8d9e5; --neu-light:#fff;
  --stroke:rgba(62,88,104,.12); --stroke-soft:rgba(62,88,104,.09);
  --border:rgba(62,88,104,.12);
  color:#17313f!important;
  background:#dcecf6!important;
  letter-spacing:.005em;
}
body.arb-portal-light::before {
  opacity:.34!important;
  background:radial-gradient(circle at 12% 8%,rgba(255,255,255,.96),transparent 32%),radial-gradient(circle at 88% 86%,rgba(190,219,237,.58),transparent 34%)!important;
  filter:none!important;
}
body.arb-portal-light .portal {
  color:#17313f!important;
  background:radial-gradient(circle at 10% 6%,rgba(255,255,255,.94),transparent 30%),radial-gradient(circle at 88% 90%,rgba(188,218,236,.58),transparent 35%),#dcecf6!important;
}
body.arb-portal-light .sidebar,
body.arb-portal-light .topbar,
body.arb-portal-light .glass,
body.arb-portal-light .glass-soft,
body.arb-portal-light .panel,
body.arb-portal-light .card,
body.arb-portal-light .stat,
body.arb-portal-light .application-card,
body.arb-portal-light .eq-return-card,
body.arb-portal-light .eq-report-card,
body.arb-portal-light .rd-card,
body.arb-portal-light .ts-card,
body.arb-portal-light .comm-card,
body.arb-portal-light .arb-cd-card {
  color:#17313f!important;
  background:#eaf4fb!important;
  background-image:linear-gradient(145deg,rgba(255,255,255,.16),rgba(198,219,233,.06))!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-radius:26px!important;
  box-shadow:14px 14px 32px rgba(142,169,187,.34),-12px -12px 30px rgba(255,255,255,.92)!important;
}
body.arb-portal-light .sidebar {
  margin:18px 0 18px 18px!important;
  height:calc(100vh - 36px)!important;
  max-height:calc(100vh - 36px)!important;
  border-radius:32px!important;
  box-shadow:18px 18px 38px rgba(137,166,185,.33),-12px -12px 30px rgba(255,255,255,.9)!important;
}
body.arb-portal-light .topbar {
  border-radius:24px!important;
  min-height:64px;
  box-shadow:9px 9px 22px rgba(145,172,190,.28),-8px -8px 20px rgba(255,255,255,.86)!important;
}
body.arb-portal-light .nav-group {
  color:#365263!important;
  letter-spacing:.22em!important;
  font-size:10px!important;
  font-weight:800!important;
}
body.arb-portal-light .nav-item:not(.on) {
  color:#294452!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}
body.arb-portal-light .nav-item:hover:not(.on) {
  background:rgba(255,255,255,.26)!important;
  box-shadow:5px 5px 12px rgba(153,179,196,.23),-5px -5px 12px rgba(255,255,255,.72)!important;
}
body.arb-portal-light .nav-item.on,
body.arb-portal-light .eq-tab.on {
  color:#17313f!important;
  background:#eaf4fb!important;
  border-color:transparent!important;
  box-shadow:inset 5px 5px 12px rgba(157,183,200,.38),inset -5px -5px 12px rgba(255,255,255,.95),inset 0 0 0 1px rgba(78,151,190,.12)!important;
}
body.arb-portal-light h1,body.arb-portal-light h2,body.arb-portal-light h3,
body.arb-portal-light h4,body.arb-portal-light h5,body.arb-portal-light h6 {
  color:#17313f!important;
  font-weight:650!important;
  letter-spacing:.015em!important;
}
body.arb-portal-light .muted,body.arb-portal-light .sm-hint,
body.arb-portal-light .sub,body.arb-portal-light [class*="hint"],
body.arb-portal-light [class*="caption"] { color:#4b6574!important; }
body.arb-portal-light input,body.arb-portal-light select,body.arb-portal-light textarea,
body.arb-portal-light .eq-search,body.arb-portal-light .eq-picklist,
body.arb-portal-light .eq-agreement-box,body.arb-portal-light .eq-pre,
body.arb-portal-light .eq-cond-compare {
  color:#17313f!important;
  background:#e7f2f9!important;
  border:1px solid rgba(255,255,255,.46)!important;
  border-radius:15px!important;
  box-shadow:inset 5px 5px 12px rgba(154,181,198,.36),inset -5px -5px 12px rgba(255,255,255,.9)!important;
}
body.arb-portal-light button,body.arb-portal-light .ghost-button,
body.arb-portal-light .mini,body.arb-portal-light .eq-tab {
  border-radius:15px!important;
}
body.arb-portal-light .ghost-button,body.arb-portal-light .mini,
body.arb-portal-light .eq-tab:not(.on) {
  color:#294452!important;
  background:#eaf4fb!important;
  border:1px solid rgba(255,255,255,.52)!important;
  box-shadow:6px 6px 15px rgba(145,173,191,.3),-6px -6px 15px rgba(255,255,255,.9)!important;
}
body.arb-portal-light .ghost-button:active,body.arb-portal-light .mini:active,
body.arb-portal-light .eq-tab:active {
  box-shadow:inset 4px 4px 10px rgba(151,178,196,.34),inset -4px -4px 10px rgba(255,255,255,.9)!important;
  transform:translateY(1px);
}
body.arb-portal-light .primary-button {
  color:#ffffff!important;
  background:linear-gradient(135deg,#2d8cff,#1f6fe0)!important;
  border:1px solid rgba(255,255,255,.40)!important;
  box-shadow:7px 7px 17px rgba(155,170,187,.30),-6px -6px 16px rgba(255,255,255,.80),0 10px 22px rgba(45,140,255,.28)!important;
}
body.arb-portal-light .eq-tabs {
  background:#e7f2f9!important;
  border:1px solid rgba(255,255,255,.48)!important;
  border-radius:21px!important;
  padding:8px!important;
  box-shadow:inset 6px 6px 14px rgba(154,181,198,.35),inset -6px -6px 14px rgba(255,255,255,.9)!important;
}
body.arb-portal-light .pill,body.arb-portal-light .chip,
body.arb-portal-light .shift-chip,body.arb-portal-light .status-chip {
  border-radius:999px!important;
  border-color:rgba(255,255,255,.46)!important;
}
body.arb-portal-light .modal,body.arb-portal-light .card-modal,
body.arb-portal-light .pm-modal,body.arb-portal-light [role="dialog"] {
  color:#17313f!important;
  background:#eaf4fb!important;
  border:1px solid rgba(255,255,255,.6)!important;
  border-radius:28px!important;
  box-shadow:20px 20px 46px rgba(108,136,155,.38),-14px -14px 34px rgba(255,255,255,.9)!important;
}
.arb-eqedit-modal {
  color:#17313f;background:#eaf4fb;border:1px solid rgba(255,255,255,.6);border-radius:28px;
  box-shadow:20px 20px 46px rgba(108,136,155,.38),-14px -14px 34px rgba(255,255,255,.9);
}
.arb-eqedit-close,.arb-eqedit-field input,.arb-eqedit-field select,
.arb-eqedit-field textarea,.arb-eqedit-body>label select {
  color:#17313f;background:#e7f2f9;border-color:rgba(255,255,255,.48);
  box-shadow:inset 5px 5px 12px rgba(154,181,198,.35),inset -5px -5px 12px rgba(255,255,255,.9);
}
@media(max-width:760px){
  body.arb-portal-light .sidebar{margin:0!important;height:auto!important;max-height:none!important;border-radius:0!important;box-shadow:none!important}
  body.arb-portal-light .topbar{border-radius:0 0 22px 22px!important;min-height:58px}
  body.arb-portal-light .portal-content{padding:16px 13px 94px!important}
  body.arb-portal-light .panel,body.arb-portal-light .card,body.arb-portal-light .stat,
  body.arb-portal-light .application-card,body.arb-portal-light .eq-return-card,
  body.arb-portal-light .eq-report-card,body.arb-portal-light .rd-card,
  body.arb-portal-light .ts-card,body.arb-portal-light .comm-card,
  body.arb-portal-light .arb-cd-card{border-radius:22px!important;box-shadow:10px 10px 24px rgba(138,166,184,.3),-9px -9px 22px rgba(255,255,255,.88)!important}
  body.arb-portal-light button,body.arb-portal-light .ghost-button,
  body.arb-portal-light .mini,body.arb-portal-light .eq-tab{min-height:44px;border-radius:14px!important}
  .arb-eqedit-modal{border-radius:24px}
}

/* v11 — RUN by ADP current-net ring: a larger, responsive neumorphic dial. */
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"]){
  flex:0 0 154px!important;
  width:154px!important;
  height:154px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.82)!important;
  border-radius:50%!important;
  background:radial-gradient(circle at 35% 30%,#f7fbff 0,#edf4fb 43%,#dbe7f3 100%)!important;
  box-shadow:
    11px 11px 24px rgba(128,153,184,.42),
    -11px -11px 24px rgba(255,255,255,.98),
    inset 3px 3px 8px rgba(150,170,200,.18),
    inset -3px -3px 8px rgba(255,255,255,.88)!important;
  isolation:isolate!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>svg{
  width:100%!important;
  height:100%!important;
  filter:drop-shadow(2px 3px 4px rgba(62,139,184,.22))!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>svg circle:first-child{
  stroke:rgba(117,145,177,.18)!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>svg circle:last-child{
  stroke:#3eaee4!important;
  stroke-linecap:round!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>div{
  inset:17px!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,rgba(247,251,255,.98),rgba(224,235,246,.96))!important;
  box-shadow:
    inset 5px 5px 12px rgba(138,160,188,.28),
    inset -5px -5px 12px rgba(255,255,255,.94)!important;
  padding:8px!important;
  box-sizing:border-box!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>div>div:first-child{
  color:#213652!important;
  font-size:19px!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums lining-nums!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>div>div:last-child{
  color:#527086!important;
  font-size:11px!important;
  line-height:1.2!important;
  margin-top:4px!important;
  white-space:nowrap!important;
}

@media(max-width:760px){
  body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"]){
    flex-basis:142px!important;
    width:142px!important;
    height:142px!important;
  }
  body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>div>div:first-child{
    font-size:18px!important;
  }
}

/* v12 — Keep all dashboard summary-card actions on one baseline. */
body.arb-portal-light #arb-contractor-dashboard .arb-cd-stats>.arb-cd-card>.arb-action{
  margin-top:auto!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* ============================================================
 * v4 — Icy-blue MOLDED neumorphism + color (desktop was too flat).
 * Stronger bluish dual shadows, larger radii, colored accents, and
 * conversion of the remaining dark inline overlay cards to light neu.
 * Appended last so it wins the cascade; !important beats non-important inline.
 * ============================================================ */
body.arb-portal-light{
  --neu:#e8eef6; --neu-dark:#b9c6d8; --neu-light:#ffffff;
  --neu-shadow:9px 9px 22px rgba(150,170,200,.6),-9px -9px 20px #ffffff;
  --neu-shadow-sm:5px 5px 13px rgba(150,170,200,.55),-5px -5px 12px #ffffff;
  --neu-inset:inset 5px 5px 12px rgba(150,170,200,.55),inset -5px -5px 12px #ffffff;
  --acc-purple:#8a6bf0; --acc-blue:#45b4e8; --acc-teal:#37c7c2;
  --acc-green:#54c98a; --acc-orange:#f79f3e; --acc-pink:#ff5f92;
  background:radial-gradient(circle at 12% 4%,#eef4fb,transparent 34%),radial-gradient(circle at 90% 96%,#cfe0f0,transparent 42%),#dce6f0!important;
}
body.arb-portal-light .portal{
  background:radial-gradient(circle at 12% 4%,#eef4fb,transparent 34%),radial-gradient(circle at 90% 96%,#cfe0f0,transparent 42%),#dce6f0!important;
}
/* Molded surfaces — icy card, strong bluish shadow, rounder */
body.arb-portal-light .sidebar,
body.arb-portal-light .topbar,
body.arb-portal-light .glass,
body.arb-portal-light .glass-soft,
body.arb-portal-light .panel,
body.arb-portal-light .card,
body.arb-portal-light .stat,
body.arb-portal-light .application-card,
body.arb-portal-light .eq-return-card,
body.arb-portal-light .eq-report-card,
body.arb-portal-light .rd-card,
body.arb-portal-light .ts-card,
body.arb-portal-light .comm-card,
body.arb-portal-light .arb-cd-card{
  background:#e8eef6!important; background-image:none!important;
  border:0!important; border-radius:24px!important;
  box-shadow:var(--neu-shadow)!important;
}
body.arb-portal-light .sidebar{ border-radius:32px!important; }
body.arb-portal-light .panel{ border-radius:26px!important; }

/* Convert remaining DARK inline overlay cards to light molded neu.
 * (Greeting hero is the first child of the dashboard overlay; protel card is dark glass.) */
body.arb-portal-light #arb-contractor-dashboard>div:first-child,
body.arb-portal-light #protel-reminder-card{
  background:linear-gradient(125deg,#eef3fb 62%,#e7e2fb)!important;
  background-image:linear-gradient(125deg,#eef3fb 62%,#e7e2fb)!important;
  border:0!important; border-radius:26px!important;
  box-shadow:var(--neu-shadow)!important;
  color:#2f3d57!important; -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
  text-shadow:none!important;
}
body.arb-portal-light #arb-contractor-dashboard>div:first-child :where(h1,h2,h3,p,span,div,b,strong){ color:#2f3d57!important; text-shadow:none!important; }
body.arb-portal-light #arb-contractor-dashboard>div:first-child{ border-left:6px solid transparent!important; border-image:linear-gradient(180deg,#8a6bf0,#45b4e8) 1!important; }

/* COLOR — tint the 5 dashboard stat cards, each its own accent */
body.arb-portal-light .arb-cd-stats>.arb-cd-card:nth-child(5n+1){ background:linear-gradient(160deg,#f3effe,#e9e3fb)!important; box-shadow:6px 6px 16px rgba(138,107,240,.28),-7px -7px 15px #fff!important; }
body.arb-portal-light .arb-cd-stats>.arb-cd-card:nth-child(5n+2){ background:linear-gradient(160deg,#e8f6fc,#dcf0f7)!important; box-shadow:6px 6px 16px rgba(69,180,232,.28),-7px -7px 15px #fff!important; }
body.arb-portal-light .arb-cd-stats>.arb-cd-card:nth-child(5n+3){ background:linear-gradient(160deg,#e7f7ee,#dcf2e6)!important; box-shadow:6px 6px 16px rgba(84,201,138,.3),-7px -7px 15px #fff!important; }
body.arb-portal-light .arb-cd-stats>.arb-cd-card:nth-child(5n+4){ background:linear-gradient(160deg,#fdf1e3,#fbe8d2)!important; box-shadow:6px 6px 16px rgba(247,159,62,.3),-7px -7px 15px #fff!important; }
body.arb-portal-light .arb-cd-stats>.arb-cd-card:nth-child(5n+5){ background:linear-gradient(160deg,#fdeaf0,#fbdde7)!important; box-shadow:6px 6px 16px rgba(255,95,146,.3),-7px -7px 15px #fff!important; }

/* COLOR — active nav item gets a purple->blue gradient accent bar + tint */
body.arb-portal-light .nav-item.on{
  background:linear-gradient(120deg,#eef3fb,#e7e2fb)!important;
  box-shadow:var(--neu-shadow-sm)!important;
  border-left:4px solid transparent!important; border-image:linear-gradient(180deg,#8a6bf0,#45b4e8) 1!important;
}
/* Raised soft buttons + gradient primary */
body.arb-portal-light .ghost-button, body.arb-portal-light .mini,
body.arb-portal-light .eq-tab:not(.on), body.arb-portal-light .nav-item:not(.on){
  background:#e8eef6!important; border:0!important; border-radius:14px!important;
  box-shadow:var(--neu-shadow-sm)!important;
}
body.arb-portal-light .primary, body.arb-portal-light button.primary,
body.arb-portal-light .btn-primary, body.arb-portal-light .cta{
  background:linear-gradient(135deg,#8a6bf0,#45b4e8)!important; color:#fff!important;
  border:0!important; border-radius:14px!important; text-shadow:none!important;
  box-shadow:6px 6px 14px rgba(90,110,180,.35),-5px -5px 12px #fff!important;
}
body.arb-portal-light .primary :where(span,b,strong){ color:#fff!important; }
/* Inputs — deeper inset */
body.arb-portal-light input, body.arb-portal-light select, body.arb-portal-light textarea{
  background:#e8eef6!important; border:0!important; border-radius:13px!important;
  box-shadow:var(--neu-inset)!important;
}
/* Progress/bars keep colored fills but sit in an inset track */
body.arb-portal-light .pctbar, body.arb-portal-light .pm-bar, body.arb-portal-light .eq-bartrack, body.arb-portal-light .ts-stagebar{
  background:#dbe3ee!important; box-shadow:var(--neu-inset)!important; border-radius:999px!important;
}

/* v4.1 — Topbar shift chip was a near-black pill; make it a light neu chip. */
body.arb-portal-light .shift-chip{
  background:linear-gradient(135deg,#e8f6fc,#dcf0f7)!important;
  background-color:#e8f6fc!important; background-image:linear-gradient(135deg,#e8f6fc,#dcf0f7)!important;
  color:#22617a!important; border:0!important; border-radius:999px!important;
  box-shadow:4px 4px 10px rgba(69,180,232,.28),-4px -4px 10px #ffffff!important;
  text-shadow:none!important;
}
body.arb-portal-light .shift-chip :where(span,b,strong,small){ color:#22617a!important; text-shadow:none!important; }

/* ============================================================
 * v5 — Payroll normalization + portal-wide crisp legibility.
 * Legacy Payroll widgets still emit dark inline surfaces. Convert
 * them to proportionate molded cards and explicitly protect all
 * dashboard utility/learning copy from low-contrast inline colors.
 * ============================================================ */
body.arb-portal-light{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
body.arb-portal-light .portal :where(h1,h2,h3,h4,h5,h6,p,label,legend,dt,dd,td,th,li,a,button,strong,b,small,time,code,pre,span){
  text-shadow:none!important;
  -webkit-font-smoothing:antialiased;
}

/* Payroll workflow and ADP card: full-width, balanced, light molded panels. */
body.arb-portal-light #arb-adp-step,
body.arb-portal-light #arb-adp-card{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.arb-portal-light #arb-adp-step>div,
body.arb-portal-light #arb-adp-card>div{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  color:#26364e!important;
  background:linear-gradient(145deg,#edf3fa,#e3ebf5)!important;
  background-image:linear-gradient(145deg,#edf3fa,#e3ebf5)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:24px!important;
  box-shadow:8px 8px 20px rgba(137,158,188,.42),-8px -8px 18px rgba(255,255,255,.96)!important;
  padding:20px!important;
  overflow:visible!important;
  text-shadow:none!important;
  -webkit-backdrop-filter:none!important;
  backdrop-filter:none!important;
}
body.arb-portal-light #arb-adp-step>div{ min-height:86px!important; }
body.arb-portal-light #arb-adp-card>div{ min-height:0!important; }

/* Finance compilation groups: remove black slabs and restore visual hierarchy. */
body.arb-portal-light .paycomp-section-heading{
  min-height:44px!important;
  height:auto!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  color:#36516a!important;
  background:linear-gradient(135deg,#e6f4fb,#dcecf6)!important;
  border:1px solid rgba(255,255,255,.76)!important;
  border-radius:14px!important;
  box-shadow:inset 3px 3px 8px rgba(140,164,190,.28),inset -3px -3px 8px rgba(255,255,255,.9)!important;
  padding:10px 14px!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
}
body.arb-portal-light .paycomp-grp{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  box-sizing:border-box!important;
  color:#26364e!important;
  background:linear-gradient(145deg,#eef4fa,#e4ecf5)!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:20px!important;
  box-shadow:7px 7px 18px rgba(139,160,188,.34),-7px -7px 17px rgba(255,255,255,.94)!important;
  padding:16px!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}
body.arb-portal-light .paycomp-total{
  width:100%!important;
  min-height:56px!important;
  height:auto!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:#293b57!important;
  background:linear-gradient(135deg,#eee9fd,#e1effb)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  border-radius:18px!important;
  box-shadow:7px 7px 18px rgba(128,144,190,.34),-7px -7px 17px rgba(255,255,255,.95)!important;
  padding:14px 18px!important;
  font-weight:850!important;
}
body.arb-portal-light .pay-dash :where(.paycomp-section-heading,.paycomp-grp,.paycomp-total) :where(h1,h2,h3,h4,p,span,div,label,strong,b,small,td,th){
  color:#26364e!important;
  text-shadow:none!important;
}

/* The pending-action overlay belongs to the same portal and must stay readable. */
body.arb-portal-light .alert-popup{
  color:#26364e!important;
  background:#e8eef6!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:24px!important;
  box-shadow:14px 14px 32px rgba(101,122,153,.42),-10px -10px 24px rgba(255,255,255,.92)!important;
}
body.arb-portal-light .alert-list>li{
  color:#26364e!important;
  background:linear-gradient(145deg,#edf3fa,#e3ebf5)!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:16px!important;
  box-shadow:4px 4px 10px rgba(139,160,188,.3),-4px -4px 10px rgba(255,255,255,.9)!important;
}

/* Dashboard utility and learning content: explicit, crisp contrast. */
body.arb-portal-light #arb-contractor-dashboard .arb-cd-card{
  color:#26364e!important;
  line-height:1.42!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-cd-card :where(h1,h2,h3,h4,p,span,div,strong,b,small,a,button){
  color:#26364e!important;
  text-shadow:none!important;
  opacity:1!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-action,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-learning-grid>button,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-tool-grid>button{
  color:#26364e!important;
  background:linear-gradient(145deg,#edf3fa,#e4ecf5)!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:16px!important;
  box-shadow:5px 5px 12px rgba(139,160,188,.32),-5px -5px 12px rgba(255,255,255,.94)!important;
  min-height:52px!important;
  font-weight:700!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-action:hover,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-learning-grid>button:hover,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-tool-grid>button:hover{
  background:linear-gradient(145deg,#f3f7fc,#e8eff7)!important;
  box-shadow:7px 7px 15px rgba(126,150,182,.34),-6px -6px 14px #fff!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-action:active,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-learning-grid>button:active,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-tool-grid>button:active{
  box-shadow:inset 4px 4px 10px rgba(139,160,188,.36),inset -4px -4px 10px #fff!important;
}

/* Keep compact views proportionate without reducing readability. */
@media(max-width:760px){
  body.arb-portal-light #arb-adp-step>div,
  body.arb-portal-light #arb-adp-card>div{padding:16px!important;border-radius:20px!important}
  body.arb-portal-light .paycomp-grp{padding:13px!important;border-radius:18px!important}
  body.arb-portal-light .paycomp-total{padding:13px 15px!important;border-radius:16px!important}
  body.arb-portal-light #arb-contractor-dashboard .arb-action,
  body.arb-portal-light #arb-contractor-dashboard .arb-cd-learning-grid>button,
  body.arb-portal-light #arb-contractor-dashboard .arb-cd-tool-grid>button{min-height:48px!important}
}

/* v6 — second-pass findings from the full 17-module contrast/overflow audit. */

/* Payroll summary values must remain on one crisp line. */
body.arb-portal-light .pay-dash .pay-stats{
  width:100%!important;
  max-width:none!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
}
body.arb-portal-light .pay-dash .pay-stats>.stat{
  min-width:0!important;
  padding:18px!important;
  box-sizing:border-box!important;
}
body.arb-portal-light .pay-dash .pay-stats .stat-value{
  color:#1f2e43!important;
  font-size:clamp(21px,1.7vw,27px)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
  white-space:nowrap!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  font-variant-numeric:tabular-nums lining-nums;
}

/* Testing overview statistics were legacy translucent-black tiles. */
body.arb-portal-light .pm-stat{
  color:#26364e!important;
  background:linear-gradient(145deg,#edf3fa,#e3ebf5)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:16px!important;
  box-shadow:5px 5px 12px rgba(139,160,188,.32),-5px -5px 12px rgba(255,255,255,.94)!important;
  text-shadow:none!important;
}
body.arb-portal-light .pm-stat.pm-sev-failed{background:linear-gradient(145deg,#fcecef,#f6dfe5)!important}
body.arb-portal-light .pm-stat.pm-sev-remediation{background:linear-gradient(145deg,#fff2df,#f7e5cb)!important}
body.arb-portal-light .pm-stat.pm-sev-retest{background:linear-gradient(145deg,#f2edfd,#e7e0f8)!important}
body.arb-portal-light .pm-stat :where(span,div,strong,b,small){color:#26364e!important;text-shadow:none!important}

/* Weekly timesheet cards use the same light, inset/raised visual language. */
body.arb-portal-light .ts-daycard{
  color:#26364e!important;
  background:linear-gradient(145deg,#edf3fa,#e3ebf5)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:18px!important;
  box-shadow:5px 5px 12px rgba(139,160,188,.3),-5px -5px 12px rgba(255,255,255,.92)!important;
  text-shadow:none!important;
}
body.arb-portal-light .ts-daycard :where(span,div,strong,b,small){color:#26364e!important;text-shadow:none!important}

/* Search controls were the remaining empty dark slabs. */
body.arb-portal-light .search{
  color:#26364e!important;
  background:#e8eef6!important;
  border:1px solid rgba(255,255,255,.64)!important;
  border-radius:16px!important;
  box-shadow:inset 4px 4px 10px rgba(139,160,188,.3),inset -4px -4px 10px rgba(255,255,255,.92)!important;
}

/* Keep wide operational tables inside their molded panel at every viewport. */
body.arb-portal-light .panel.glass:has(>table.grid){
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
}
body.arb-portal-light .panel.glass:has(>table.grid)>table.grid{min-width:max-content!important}

/* Communications active state and unread badge need light text on saturated fills. */
body.arb-portal-light .comms-tab.on{
  color:#fff!important;
  background:linear-gradient(135deg,#4169e1,#2e52c2)!important;
  border-color:rgba(255,255,255,.5)!important;
  box-shadow:5px 5px 12px rgba(68,88,145,.34),-5px -5px 12px rgba(255,255,255,.9)!important;
}
body.arb-portal-light .comms-tab.on :where(span,b,strong,small,svg){color:#fff!important;stroke:currentColor!important}
body.arb-portal-light .unread{
  color:#fff!important;
  background:#bf374b!important;
  text-shadow:none!important;
  box-shadow:0 2px 7px rgba(191,55,75,.28)!important;
}

/* Profile security notice: light inset panel and stronger supporting copy. */
body.arb-portal-light .passkey-box{
  color:#26364e!important;
  background:#e5edf6!important;
  border:1px solid rgba(255,255,255,.68)!important;
  border-radius:18px!important;
  box-shadow:inset 4px 4px 10px rgba(139,160,188,.28),inset -4px -4px 10px rgba(255,255,255,.9)!important;
}
body.arb-portal-light .passkey-box .muted{color:#3f566b!important;opacity:1!important}

/* Contractor card names and roles must wrap instead of being ellipsized. */
body.arb-portal-light .emp-cardlet{
  height:auto!important;
  min-height:84px!important;
  align-items:flex-start!important;
}
body.arb-portal-light .emp-cardlet-main{min-width:0!important}
body.arb-portal-light .emp-cardlet-name,
body.arb-portal-light .emp-cardlet-sub{
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  height:auto!important;
  max-height:none!important;
  line-height:1.28!important;
}

@media(max-width:760px){
  body.arb-portal-light .pay-dash .pay-stats{grid-template-columns:1fr!important}
  body.arb-portal-light .pay-dash .pay-stats .stat-value{font-size:25px!important}
  body.arb-portal-light .pm-statgrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.arb-portal-light .activity,
  body.arb-portal-light .activity>li{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
  body.arb-portal-light .activity>li{
    display:flex!important;
    flex-wrap:wrap!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
  }
  body.arb-portal-light .activity>li>*{min-width:0!important;max-width:100%!important}
  body.arb-portal-light .activity>li>.pill{margin-left:0!important;white-space:normal!important}
  body.arb-portal-light #arb-contractor-dashboard .arb-cd-stats>.arb-cd-card>div>div{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    line-height:1.2!important;
  }
  body.arb-portal-light #arb-contractor-dashboard .arb-cd-stats .arb-cd-card [style*="text-overflow"]{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
    height:auto!important;
    max-height:none!important;
    line-height:1.2!important;
  }
}

/* v13 — Fiber Toolbox (Quick Actions) overlay: it was designed for a dark panel
 * (pale cream text + light accent titles) but now renders on the light neu
 * panel, so the card titles/subtitles washed out. Force readable dark text and
 * give the tool cards proper light neumorphic surfaces. Card accent tint (the
 * inline rgba(accent,.1) background) is preserved for color coding. */
body.arb-portal-light .fbx-ov{
  background:rgba(15,23,42,.5)!important;
}
body.arb-portal-light .fbx-ov > div{
  background:linear-gradient(160deg,#f2f6fc,#e7eef7)!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:22px!important;
  box-shadow:18px 18px 40px rgba(96,120,150,.42),-12px -12px 30px rgba(255,255,255,.94)!important;
  color:#26364e!important;
}
/* Header title + subtitle */
body.arb-portal-light .fbx-ov > div > div:first-child,
body.arb-portal-light .fbx-ov > div > div:first-child div{
  color:#20304a!important;
  text-shadow:none!important;
}
body.arb-portal-light .fbx-ov > div > div:first-child div[style*="0.68"],
body.arb-portal-light .fbx-ov > div > div:first-child div[style*=".68"]{
  color:#4a5b72!important;
}
/* Tool cards: readable light neu tiles with dark titles/subtitles */
body.arb-portal-light .fbx-ov button.arb-action{
  border:1px solid rgba(255,255,255,.66)!important;
  border-radius:16px!important;
  box-shadow:5px 5px 13px rgba(139,160,188,.32),-5px -5px 12px rgba(255,255,255,.92)!important;
  color:#20304a!important;
}
body.arb-portal-light .fbx-ov button.arb-action *{
  color:#20304a!important;
  text-shadow:none!important;
}
/* Wizard copy can be a plain div/span rather than a card child. Replace the
 * legacy cream-on-dark inline palette wherever it survives in toolbox tools. */
body.arb-portal-light .fbx-ov [style*="color: rgb(247, 243, 237)"],
body.arb-portal-light .fbx-ov [style*="color: rgba(247, 243, 237"]{
  color:#20304a!important;
  text-shadow:none!important;
}
body.arb-portal-light .fbx-ov button.arb-action:hover{
  box-shadow:7px 7px 16px rgba(126,150,182,.36),-6px -6px 14px #fff!important;
}
body.arb-portal-light .fbx-ov button.arb-action:active{
  box-shadow:inset 4px 4px 10px rgba(139,160,188,.38),inset -4px -4px 10px #fff!important;
}

/* v15 — Recruitment Applications decision controls.
 * The injected rate editor was still carrying its original dark-theme inline
 * colors. Give it a warm earth-tone surface, readable ink, and unambiguous
 * green/orange decision buttons. */
body.arb-portal-light .application-card .arbeam-hire-rates{
  color:#3b2a1f!important;
  background:linear-gradient(145deg,#ead8bd,#d7bd98)!important;
  border:1px solid rgba(116,79,48,.2)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  box-shadow:inset 4px 4px 10px rgba(118,85,56,.18),inset -4px -4px 10px rgba(255,248,232,.68),5px 6px 14px rgba(111,91,70,.18)!important;
}
body.arb-portal-light .application-card .arbeam-hire-rates > div:not(:last-child){
  background:rgba(255,248,234,.38)!important;
  border:1px solid rgba(117,79,47,.12)!important;
  border-radius:13px!important;
  padding:9px 10px!important;
}
body.arb-portal-light .application-card .arbeam-hire-rates label{
  color:#473022!important;
  font-weight:800!important;
}
body.arb-portal-light .application-card .arbeam-hire-rates input{
  color:#241b15!important;
  background:#f4e8d5!important;
  border:1px solid rgba(101,68,43,.2)!important;
  box-shadow:inset 3px 3px 7px rgba(116,79,48,.18),inset -3px -3px 7px rgba(255,252,241,.82)!important;
  caret-color:#6f431f!important;
}
body.arb-portal-light .application-card .arbeam-hire-rates input::placeholder{
  color:#765f4d!important;
  opacity:1!important;
}
body.arb-portal-light .application-card .arbeam-hire-rates > div:last-child{
  color:#5c4332!important;
}
body.arb-portal-light .application-card .application-actions .primary-button{
  color:#fff!important;
  background:linear-gradient(145deg,#35a56c,#218451)!important;
  border:1px solid rgba(255,255,255,.48)!important;
  box-shadow:5px 6px 13px rgba(35,112,72,.28),-4px -4px 10px rgba(255,255,255,.76),inset 1px 1px 0 rgba(255,255,255,.25)!important;
}
body.arb-portal-light .application-card .application-actions .primary-button :where(span,svg,path){
  color:#fff!important;
  stroke:currentColor!important;
}
body.arb-portal-light .application-card .application-actions .ghost-button.danger{
  color:#fff!important;
  background:linear-gradient(145deg,#e97542,#c94d2e)!important;
  border:1px solid rgba(255,255,255,.44)!important;
  box-shadow:5px 6px 13px rgba(159,66,39,.27),-4px -4px 10px rgba(255,255,255,.74),inset 1px 1px 0 rgba(255,255,255,.22)!important;
}
body.arb-portal-light .application-card .application-actions .ghost-button.danger :where(span,svg,path){
  color:#fff!important;
  stroke:currentColor!important;
}
body.arb-portal-light .application-card .application-actions .primary-button:hover{
  background:linear-gradient(145deg,#3eb679,#278e5b)!important;
}
body.arb-portal-light .application-card .application-actions .ghost-button.danger:hover{
  background:linear-gradient(145deg,#f28550,#d75937)!important;
}
body.arb-portal-light .application-card .application-actions button:disabled{
  opacity:.58!important;
  cursor:not-allowed!important;
}
@media(max-width:560px){
  body.arb-portal-light .application-card .arbeam-hire-rates > div:not(:last-child){
    flex:1 1 100%!important;
    min-width:0!important;
  }
  body.arb-portal-light .application-card .arbeam-hire-rates input{width:100%!important}
  body.arb-portal-light .application-card .application-actions button{flex:1 1 130px!important}
}

/* v16 — Pending Submissions popup.
 * This compact queue has its own alert-list markup, so it needs the same rate
 * and decision semantics as the full Recruitment Applications view. */
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates{
  color:#fff4e5!important;
  background:linear-gradient(145deg,#9b6849,#774832)!important;
  border:1px solid rgba(92,48,29,.5)!important;
  border-radius:18px!important;
  padding:14px 16px!important;
  box-shadow:inset 4px 4px 10px rgba(72,37,23,.3),inset -3px -3px 9px rgba(226,165,119,.2),6px 7px 15px rgba(75,55,42,.24)!important;
}
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates > div:not(:last-child){
  background:rgba(255,237,215,.1)!important;
  border:1px solid rgba(255,237,215,.18)!important;
  border-radius:13px!important;
  padding:9px 10px!important;
}
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates label{
  color:#fff5e8!important;
  font-weight:850!important;
  text-shadow:0 1px 1px rgba(55,27,17,.26)!important;
}
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates input{
  color:#332118!important;
  background:#fff3df!important;
  border:1px solid rgba(82,45,28,.26)!important;
  box-shadow:inset 3px 3px 7px rgba(99,60,38,.2),inset -3px -3px 7px rgba(255,255,255,.82)!important;
  caret-color:#8b4b2d!important;
}
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates input::placeholder{
  color:#745744!important;
  opacity:1!important;
}
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates > div:last-child{
  color:#f8dfc8!important;
}
body.arb-portal-light .alert-popup .alert-actions .mini.ok{
  color:#fff!important;
  background:linear-gradient(145deg,#35a86e,#20814f)!important;
  border:1px solid rgba(255,255,255,.46)!important;
  box-shadow:5px 6px 13px rgba(35,112,72,.28),-4px -4px 10px rgba(255,255,255,.7)!important;
}
body.arb-portal-light .alert-popup .alert-actions .mini.no{
  color:#fff!important;
  background:linear-gradient(145deg,#ec7842,#c84a2c)!important;
  border:1px solid rgba(255,255,255,.44)!important;
  box-shadow:5px 6px 13px rgba(156,65,39,.27),-4px -4px 10px rgba(255,255,255,.7)!important;
}
body.arb-portal-light .alert-popup .alert-actions .mini.ok :where(span,svg,path),
body.arb-portal-light .alert-popup .alert-actions .mini.no :where(span,svg,path){
  color:#fff!important;
  stroke:currentColor!important;
}
body.arb-portal-light .alert-popup .alert-actions .mini.ok:hover{background:linear-gradient(145deg,#40ba7d,#278f5b)!important}
body.arb-portal-light .alert-popup .alert-actions .mini.no:hover{background:linear-gradient(145deg,#f48650,#d65835)!important}
@media(max-width:560px){
  body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates > div:not(:last-child){
    flex:1 1 100%!important;
    min-width:0!important;
  }
  body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates input{width:100%!important}
  body.arb-portal-light .alert-popup .alert-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
}

/* v17 — Sidebar navigation grouping.
 * Workforce uses a cool operational palette; Back Office uses a warm
 * administrative palette. Runtime classes keep this correct for every role,
 * even when permission-based menu items are omitted. */
body.arb-portal-light .sidebar nav .nav-group.nav-workforce-label,
body.arb-portal-light .sidebar nav .nav-group.nav-backoffice-label{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  margin:15px 8px 8px!important;
  padding:8px 11px!important;
  border-radius:12px!important;
  font-size:10px!important;
  font-weight:900!important;
  letter-spacing:.18em!important;
  opacity:1!important;
}
body.arb-portal-light .sidebar nav .nav-group.nav-workforce-label{
  color:#145b73!important;
  background:linear-gradient(135deg,#d8f2f7,#dbeaf8)!important;
  border-left:4px solid #1ba6b8!important;
  box-shadow:inset 2px 2px 5px rgba(76,143,164,.14),inset -2px -2px 5px rgba(255,255,255,.85)!important;
}
body.arb-portal-light .sidebar nav .nav-group.nav-backoffice-label{
  color:#724717!important;
  background:linear-gradient(135deg,#f8e7c8,#eee0f7)!important;
  border-left:4px solid #d8892f!important;
  box-shadow:inset 2px 2px 5px rgba(158,112,66,.14),inset -2px -2px 5px rgba(255,255,255,.84)!important;
}
body.arb-portal-light .sidebar nav .nav-group.nav-workforce-label:before,
body.arb-portal-light .sidebar nav .nav-group.nav-backoffice-label:before{
  content:"";width:8px;height:8px;border-radius:50%;flex:0 0 auto;
}
body.arb-portal-light .sidebar nav .nav-group.nav-workforce-label:before{
  background:#1ba6b8;box-shadow:0 0 0 4px rgba(27,166,184,.13);
}
body.arb-portal-light .sidebar nav .nav-group.nav-backoffice-label:before{
  background:#d8892f;box-shadow:0 0 0 4px rgba(216,137,47,.14);
}
body.arb-portal-light .sidebar .nav-item.nav-workforce,
body.arb-portal-light .sidebar .nav-item.nav-backoffice{
  position:relative!important;
  overflow:hidden!important;
  border-left:3px solid transparent!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
body.arb-portal-light .sidebar .nav-item.nav-workforce svg{color:#16869e!important;stroke:currentColor!important}
body.arb-portal-light .sidebar .nav-item.nav-backoffice svg{color:#b66c24!important;stroke:currentColor!important}
body.arb-portal-light .sidebar .nav-item.nav-workforce:hover:not(.on){
  color:#104f64!important;
  background:linear-gradient(120deg,#e0f4f8,#e3eef8)!important;
  border-left-color:#2aa6bd!important;
  box-shadow:5px 5px 12px rgba(104,148,171,.24),-5px -5px 12px rgba(255,255,255,.86)!important;
}
body.arb-portal-light .sidebar .nav-item.nav-backoffice:hover:not(.on){
  color:#654019!important;
  background:linear-gradient(120deg,#f8ead4,#eee5f7)!important;
  border-left-color:#d8892f!important;
  box-shadow:5px 5px 12px rgba(155,132,119,.24),-5px -5px 12px rgba(255,255,255,.86)!important;
}
body.arb-portal-light .sidebar .nav-item.nav-workforce.on{
  color:#fff!important;
  background:linear-gradient(135deg,#1aa7b8,#347cc7)!important;
  border-left-color:#0f607e!important;
  border-image:none!important;
  box-shadow:6px 7px 15px rgba(38,113,153,.3),-5px -5px 12px rgba(255,255,255,.82)!important;
}
body.arb-portal-light .sidebar .nav-item.nav-backoffice.on{
  color:#fff!important;
  background:linear-gradient(135deg,#db8b30,#8a61c6)!important;
  border-left-color:#9b5720!important;
  border-image:none!important;
  box-shadow:6px 7px 15px rgba(132,90,96,.3),-5px -5px 12px rgba(255,255,255,.82)!important;
}
body.arb-portal-light .sidebar .nav-item.nav-workforce.on :where(span,svg,path),
body.arb-portal-light .sidebar .nav-item.nav-backoffice.on :where(span,svg,path){
  color:#fff!important;stroke:currentColor!important;
}
@media(max-width:760px){
  body.arb-portal-light .sidebar nav .nav-group.nav-workforce-label,
  body.arb-portal-light .sidebar nav .nav-group.nav-backoffice-label{margin-left:3px!important;margin-right:3px!important}
}

/* v18 — app-wide accessibility and molded-surface quality pass. */

/* Reports still shipped dark legacy KPI/reconciliation slabs. The portal's
 * global dark-ink rule made their contents effectively disappear. */
body.arb-portal-light .rd-kpi,
body.arb-portal-light .rd-recon{
  color:#20304a!important;
  background:linear-gradient(145deg,#edf6fc,#dfeaf3)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:20px!important;
  box-shadow:7px 8px 18px rgba(126,155,175,.3),-7px -7px 17px rgba(255,255,255,.9)!important;
  text-shadow:none!important;
}
body.arb-portal-light .rd-kpi :where(span,strong,small),
body.arb-portal-light .rd-recon :where(div,b,strong,small,span){
  color:#20304a!important;
  text-shadow:none!important;
}
body.arb-portal-light .rd-kpi strong{
  color:#173f61!important;
  font-variant-numeric:tabular-nums lining-nums;
}
body.arb-portal-light .rd-kpi small,
body.arb-portal-light .rd-recon small{color:#3f566b!important}
body.arb-portal-light .rd-filters button[type="submit"]{
  color:#fff!important;
  background:linear-gradient(145deg,#168fc4,#0b6798)!important;
  border:1px solid rgba(255,255,255,.5)!important;
  border-radius:14px!important;
  box-shadow:5px 6px 13px rgba(30,103,141,.3),-4px -4px 10px rgba(255,255,255,.78)!important;
}

/* Testing & Remediation deliberately keeps semantic colors, but the renderer's
 * original bright accents were too pale on the ice surface. Darker companion
 * inks preserve the status meaning while clearing normal-text contrast. */
body.arb-portal-light #arb-testing-workspace [style*="color: rgb(239, 113, 128)"]{color:#a83253!important;text-shadow:none!important}
body.arb-portal-light #arb-testing-workspace [style*="color: rgb(217, 146, 32)"]{color:#8a5a00!important;text-shadow:none!important}
body.arb-portal-light #arb-testing-workspace [style*="color: rgb(42, 157, 104)"]{color:#176b4b!important;text-shadow:none!important}
body.arb-portal-light #arb-testing-workspace [style*="color: rgb(78, 151, 190)"]{color:#285f82!important;text-shadow:none!important}
body.arb-portal-light #arb-testing-workspace [style*="color: rgb(217, 79, 88)"]{color:#a62f43!important;text-shadow:none!important}

/* Notification counts are tiny type, so use white ink on the saturated red
 * badge rather than inherited portal ink. */
body.arb-portal-light #arb-apps-alert-badge,
body.arb-portal-light #arb-leave-alert-badge{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(91,17,28,.25)!important;
}

/* Supporting copy under the RUN by ADP dial was just under AA contrast. */
body.arb-portal-light #arb-adp-current-net > div:last-child{color:#3f566b!important}

@media(max-width:760px){
  body.arb-portal-light .rd-kpi,
  body.arb-portal-light .rd-recon{border-radius:17px!important}
}

/* v19 — saturated controls with guaranteed readable light ink. */
body.arb-portal-light .sidebar .nav-item.nav-workforce.on{
  background:linear-gradient(135deg,#087489,#205da3)!important;
}
body.arb-portal-light .sidebar .nav-item.nav-backoffice.on{
  background:linear-gradient(135deg,#9a4f12,#5d368e)!important;
}
body.arb-portal-light .comms-tab.on{
  background:linear-gradient(135deg,#3457c6,#2546a6)!important;
}
body.arb-portal-light .application-card .application-actions .primary-button,
body.arb-portal-light .alert-popup .alert-actions .mini.ok{
  background:linear-gradient(145deg,#237449,#145d36)!important;
}
body.arb-portal-light .application-card .application-actions .ghost-button.danger,
body.arb-portal-light .alert-popup .alert-actions .mini.no{
  background:linear-gradient(145deg,#b84624,#8d2f1c)!important;
}
body.arb-portal-light .alert-popup .alert-list > li .arbeam-hire-rates{
  background:linear-gradient(145deg,#85543a,#653923)!important;
}
body.arb-portal-light .rd-filters button[type="submit"]{
  background:linear-gradient(145deg,#0b6e9e,#084f7a)!important;
}
body.arb-portal-light #arb-testing-workspace [style*="color: rgb(217, 146, 32)"]{color:#744700!important}
body.arb-portal-light [data-arb-qrf-action] > span:first-child{color:#fff!important;text-shadow:0 1px 1px rgba(0,28,38,.3)!important}

/* v20 — final specificity and small-type corrections from live verification. */
body.arb-portal-light #arb-contractor-dashboard [data-arb-qrf-action] > span:first-child{
  color:#fff!important;
  text-shadow:0 1px 1px rgba(0,28,38,.3)!important;
}
body.arb-portal-light #arb-adp-card div:has(>svg[viewBox="0 0 96 96"])>div>div:last-child{
  color:#3b5268!important;
}
body.arb-portal-light #arb-apps-alert-badge,
body.arb-portal-light #arb-leave-alert-badge,
body.arb-portal-light #arb-timecards-alert-badge{
  color:#fff!important;
  background:#bd2338!important;
}

/* v21 — Testing accountability, operational work, and metric depth. */
body.arb-portal-light #arb-testing-workspace .tr-kpi-card,
body.arb-portal-light #arb-testing-workspace .tr-metric-card,
body.arb-portal-light #arb-testing-workspace .tr-metric-panel{
  color:#172333!important;
  border:1px solid rgba(255,255,255,.68)!important;
  background:linear-gradient(145deg,#eef8fd,#dcecf5)!important;
  box-shadow:8px 8px 18px rgba(126,151,168,.31),-8px -8px 18px rgba(255,255,255,.92)!important;
}
body.arb-portal-light #arb-testing-workspace .tr-program-health{
  color:#172333!important;
  border:1px solid rgba(255,255,255,.7)!important;
  background:linear-gradient(145deg,#eeeafd,#dfe6f8)!important;
  box-shadow:10px 10px 22px rgba(120,132,174,.3),-9px -9px 20px rgba(255,255,255,.92)!important;
}
body.arb-portal-light #arb-testing-workspace .tr-activity-section,
body.arb-portal-light #arb-testing-workspace .tr-accountability-report{
  color:#172333!important;
  background:linear-gradient(145deg,#edf4f8,#dfe8ee)!important;
  border:1px solid rgba(255,255,255,.7)!important;
  box-shadow:10px 10px 22px rgba(120,139,153,.3),-9px -9px 20px rgba(255,255,255,.9)!important;
}
body.arb-portal-light #arb-testing-workspace .tr-activity-card,
body.arb-portal-light #arb-testing-workspace .tr-accountability-person{
  color:#172333!important;
  background:linear-gradient(145deg,#f3f8fb,#dfe9ef)!important;
  border:1px solid rgba(255,255,255,.76)!important;
  box-shadow:5px 5px 12px rgba(121,142,157,.26),-5px -5px 12px rgba(255,255,255,.9)!important;
}
body.arb-portal-light #arb-testing-workspace .tr-activity-card:hover{
  transform:translateY(-2px)!important;
  box-shadow:7px 8px 16px rgba(121,142,157,.31),-6px -6px 14px rgba(255,255,255,.94)!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-cd-personal-work{
  background:linear-gradient(145deg,#e4eef4,#f5fbff)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:inset 4px 4px 9px rgba(132,151,164,.24),inset -4px -4px 9px rgba(255,255,255,.92)!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-cd-work-item,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-testing-work-summary{
  color:#172333!important;
  background:linear-gradient(145deg,#f1f7fa,#dce8ee)!important;
  border:1px solid rgba(255,255,255,.75)!important;
  box-shadow:4px 4px 10px rgba(126,146,160,.25),-4px -4px 10px rgba(255,255,255,.9)!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-cd-work-item:active,
body.arb-portal-light #arb-contractor-dashboard .arb-cd-testing-work-summary:active{
  box-shadow:inset 3px 3px 7px rgba(126,146,160,.28),inset -3px -3px 7px rgba(255,255,255,.88)!important;
}
body.arb-portal-light #arb-contractor-dashboard .arb-cd-work-complete{
  background:linear-gradient(145deg,#e7f6ed,#d9eee3)!important;
}
@media(max-width:760px){
  body.arb-portal-light #arb-testing-workspace .tr-activity-card{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  body.arb-portal-light #arb-testing-workspace .tr-activity-card>div:last-child{text-align:left!important}
  body.arb-portal-light #arb-testing-workspace .tr-accountability-table{min-width:760px}
}

/* ---- Pull-down / overscroll containment (2026-09-01) --------------------
 * On mobile the rubber-band / pull-to-refresh bounce was revealing the legacy
 * dark landing background that still sits behind the portal (body::before) and
 * the unpainted root <html> scroller. Paint the root canvas, remove the old
 * background layer, and contain overscroll so only the neumorphic surface shows. */
html:has(body.arb-portal-light),
body.arb-portal-light{
  background-color:#e9edf2!important;
  overscroll-behavior:none!important;
}
body.arb-portal-light::before{
  background-image:none!important;
  background:#e9edf2!important;
}
body.arb-portal-light .portal,
body.arb-portal-light .portal-main,
body.arb-portal-light .portal-content{
  overscroll-behavior:none!important;
}

/* ---- Operations page — cabinet & milestone matrices (2026-09-08) ---------
 * These controls were still skinned for the legacy dark theme: the bundle
 * paints dark-navy gradient row labels, dark translucent tray multi-select
 * buttons and an inverted (white) date-picker icon; glass-darken.css paints
 * .cab-list-item cards dark gray under EVERY theme; and the portal ink rule
 * then forces near-black text on top of those dark surfaces. Re-skin all of
 * it to the white neumorphic system so added cabinets / forecasted targets
 * stay readable. */
body.arb-portal-light .ops-matrix th.rowlab{
  background:#e9edf2!important; background-image:none!important;
  border-right:1px solid rgba(76,89,104,.18)!important;
  border-bottom:1px solid rgba(76,89,104,.14)!important;
}
body.arb-portal-light .ops-matrix td{
  border-bottom:1px solid rgba(76,89,104,.12)!important;
}
body.arb-portal-light .ops-matrix tr.mtx-namerow td{ background:rgba(53,107,138,.07)!important; }
body.arb-portal-light .ops-matrix tr.mtx-grouprow td.mtx-group{
  background:rgba(53,107,138,.06)!important;
  border-bottom:1px solid rgba(53,107,138,.22)!important;
}
body.arb-portal-light .tray-multi-btn{
  background:#e8eef6!important; border:0!important; border-radius:13px!important;
  box-shadow:var(--neu-inset)!important; color:#172333!important;
}
body.arb-portal-light .tray-multi-pop{ border:1px solid rgba(255,255,255,.5)!important; }
body.arb-portal-light .tray-multi-item:hover{ background:rgba(53,107,138,.08)!important; }
body.arb-portal-light .tray-multi-item.on{ background:rgba(53,107,138,.14)!important; }
/* Red tray / ribbon / re-burn chips keep their red fill; restore the white
 * chip text the portal ink rule had forced dark (illegible on red). */
body.arb-portal-light .reburn-chip{ color:#fff!important; text-shadow:none!important; }
body.arb-portal-light .cfg-colors .reburn-chip{ color:#334155!important; }
/* Date-picker icon was inverted for the dark theme (invisible on light). */
body.arb-portal-light .datecell::-webkit-calendar-picker-indicator{
  filter:none!important; opacity:.55!important;
}
/* Donut track ring was a faint white (invisible on the light surface). */
body.arb-portal-light .donut-track{ stroke:rgba(76,89,104,.15)!important; }
/* Operations sub-nav: dark glass bar -> light neu bar with inset active tab. */
body.arb-portal-light .ops-subnav.seg{
  background:#e9edf2!important; background-image:none!important; border:0!important;
  box-shadow:8px 8px 18px #c7cdd5,-8px -8px 18px #fff!important;
  -webkit-backdrop-filter:none!important; backdrop-filter:none!important;
}
body.arb-portal-light .ops-subnav .seg-btn{ color:#344152!important; }
body.arb-portal-light .ops-subnav .seg-btn:not(.on):hover{ background:rgba(255,255,255,.55)!important; }
body.arb-portal-light .ops-subnav .seg-btn.on{
  background:#e9edf2!important; color:#172333!important;
  box-shadow:inset 4px 4px 9px #c7cdd5,inset -4px -4px 9px #fff,inset 0 0 0 1px rgba(217,79,88,.36)!important;
}
/* Operations field titles: raised, color-coded labels improve scanability
 * across the wide cabinet/forecast matrices without changing status colors. */
body.arb-portal-light.arb-screen-operations .ops-view .ops-matrix th.rowlab{
  position:relative!important;
  min-width:138px!important;
  padding:10px 14px 10px 18px!important;
  color:#1550a8!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
  background:linear-gradient(145deg,#edf4ff,#dbe7f7)!important;
  border:0!important;
  border-radius:11px!important;
  box-shadow:5px 5px 11px #c3cfe1,-5px -5px 11px #fff!important;
  text-shadow:0 1px 0 rgba(255,255,255,.85)!important;
}
body.arb-portal-light.arb-screen-operations .ops-view .ops-matrix th.rowlab::before{
  content:"";
  position:absolute;
  left:7px;
  top:25%;
  bottom:25%;
  width:4px;
  border-radius:999px;
  background:linear-gradient(180deg,#2d8cff,#43d9d6);
  box-shadow:0 2px 7px rgba(45,140,255,.35);
}
body.arb-portal-light.arb-screen-operations .ops-view .ops-matrix tr:nth-child(3n+2) th.rowlab{
  color:#087d84!important;
  background:linear-gradient(145deg,#ebfbfb,#d8eeef)!important;
}
body.arb-portal-light.arb-screen-operations .ops-view .ops-matrix tr:nth-child(3n+2) th.rowlab::before{
  background:linear-gradient(180deg,#43d9d6,#14a0b4);
}
body.arb-portal-light.arb-screen-operations .ops-view .ops-matrix tr:nth-child(3n) th.rowlab{
  color:#6d4bb3!important;
  background:linear-gradient(145deg,#f4efff,#e5dcf5)!important;
}
body.arb-portal-light.arb-screen-operations .ops-view .ops-matrix tr:nth-child(3n) th.rowlab::before{
  background:linear-gradient(180deg,#8b5cf6,#6a5cff);
}
body.arb-portal-light.arb-screen-operations .ops-view .panel-head h3{
  color:#1550a8!important;
  font-weight:850!important;
  letter-spacing:.015em!important;
}
body.arb-portal-light.arb-screen-operations .ops-view .panel-head h3 svg{
  color:#14a0b4!important;
  filter:drop-shadow(0 2px 3px rgba(20,160,180,.25));
}
body.arb-portal-light.arb-screen-operations .ops-view .stat-label{
  color:#1550a8!important;
  font-weight:800!important;
}
/* Cabinet List View: glass-darken.css paints these cards dark gray under
 * every theme; give them the raised white-neumorphic card treatment. */
body.arb-portal-light .cab-list-item{
  background:#e9edf2!important; background-image:none!important;
  border:0!important; border-radius:16px!important;
  box-shadow:8px 8px 18px #c7cdd5,-8px -8px 18px #fff!important;
}
body.arb-portal-light .cll-item,
body.arb-portal-light .cab-list-next{ border-top:1px solid rgba(76,89,104,.14)!important; }
body.arb-portal-light .cab-list-status{
  color:#356b8a!important; background:rgba(53,107,138,.1)!important;
  border:1px solid rgba(53,107,138,.3)!important;
}
