/* NTC Express identity for the client workspace. Operational states keep their own colors. */
:root {
  --express-yellow:#ffdd33;
  --express-yellow-hover:#e8c72e;
  --portal-accent-text:#202124;
  --ntc-red:var(--express-yellow);
  --ntc-red-dark:var(--express-yellow-hover);
  --ntc-red-soft:#fff8dc;
  --ntc-red-light:var(--express-yellow);
  --portal-night:#202124;
  --portal-ink:#202124;
  --portal-dark-elevated:#2d3033;
  --portal-dark-header:#202124;
  --portal-dark-control:rgba(0,0,0,.18);
  --portal-text:#202124;
  --portal-soft:#f3f5f7;
  --portal-subtle:#f8f9fa;
  --portal-line:#dce3e9;
  --portal-control-border:#cbd3da;
  --portal-focus:#756300;
  --portal-brand-active:rgba(255,221,51,.13);
  --portal-brand-icon:rgba(255,221,51,.17);
  --portal-brand-line:rgba(255,221,51,.55);
  --portal-brand-line-soft:rgba(255,221,51,.35);
  --portal-brand-login-line:rgba(255,221,51,.35);
  --portal-brand-outline:#9b8300;
  --portal-brand-focus-soft:rgba(255,221,51,.22);
  --portal-brand-bright:var(--express-yellow);
  --portal-brand-brighter:var(--express-yellow);
  --portal-login-accent:var(--express-yellow);
  --portal-login-focus:var(--express-yellow);
  --radius-control:0;
  --radius-inner:0;
  --radius-card:0;
  --bs-border-radius:0;
  --bs-border-radius-sm:0;
  --bs-border-radius-lg:0;
  --bs-border-radius-xl:0;
  --bs-border-radius-xxl:0;
  --bs-border-radius-pill:0;
  --bs-primary:#ffdd33;
  --bs-primary-rgb:255,221,51;
  --shadow-primary:none;
  --shadow-primary-hover:none;
  --shadow-selected:none;
  --focus-ring:0 0 0 3px rgba(117,99,0,.25);
}

/* Login uses the same Express yellow and complete mark as the workspace. */
.route-login {
  --portal-accent-text:#202124;
  --portal-brand-focus-soft:rgba(255,221,51,.18);
  --portal-login-accent:var(--express-yellow);
  --portal-login-focus:var(--express-yellow);
}

.portal-body .btn-primary,
.portal-body .btn-primary:hover,
.portal-body .btn-primary:active,
.portal-body .btn-primary:focus-visible,
.portal-body .btn-primary:disabled {
  --bs-btn-color:var(--portal-accent-text);
  --bs-btn-hover-color:var(--portal-accent-text);
  --bs-btn-active-color:var(--portal-accent-text);
  --bs-btn-disabled-color:var(--portal-accent-text);
  color:var(--portal-accent-text);
}
.portal-body .btn-outline-primary {
  --bs-btn-color:var(--portal-accent-text);
  --bs-btn-hover-color:var(--portal-accent-text);
  --bs-btn-active-color:var(--portal-accent-text);
  color:var(--portal-accent-text);
}
.portal-body .btn-outline-primary:hover { background:var(--express-yellow);border-color:var(--express-yellow); }
.portal-body .btn:focus-visible { outline:2px solid var(--portal-focus);outline-offset:3px;box-shadow:none; }
.route-login .btn:focus-visible { outline-color:var(--portal-login-focus); }
.portal-body .form-check-input:checked { background-color:var(--portal-text);border-color:var(--portal-text); }

.portal-sidebar .sidebar-brand { display:flex;align-items:center;justify-content:center; }
.portal-sidebar .sidebar-brand img { display:block;width:10rem;height:auto;max-width:100%; }
.route-login .login-brand { align-items:center;gap:1.25rem;margin-bottom:2rem; }
.route-login .login-brand img { display:block;width:11rem;height:auto;max-width:100%;padding:0;background:transparent; }
.route-login .login-brand small { letter-spacing:.04em; }
.route-login .login-form .input-with-icon > i { color:var(--express-yellow); }
.route-login .password-toggle:hover,
.route-login .password-toggle:focus-visible { color:var(--express-yellow); }
.route-login .password-toggle:focus-visible { outline:2px solid var(--express-yellow);outline-offset:2px; }
.portal-sidebar .sidebar-link.is-active { box-shadow:inset 3px 0 var(--express-yellow); }
.portal-sidebar .sidebar-link.is-active > i,
.portal-body .mobile-tab.is-active .mobile-tab-icon { color:var(--express-yellow); }
.portal-header .nav-link.active { color:var(--express-yellow); }

/* Yellow surfaces always carry dark text and icons. */
.portal-body .table-action:hover,
.portal-body .table-action:hover i,
.route-shipments .shipment-barcode-action:hover,
.route-shipments .shipment-barcode-action:hover i,
.route-shipments .mobile-shipment-list > a:hover .mobile-shipment-open,
.route-shipments .mobile-shipment-list > a:hover .mobile-shipment-open i,
.route-shipments .mobile-shipment-list > a:focus-visible .mobile-shipment-open,
.route-shipments .mobile-shipment-list > a:focus-visible .mobile-shipment-open i,
.btn-check:checked + label > span,
.shipment-mode-switch a.active > i {
  color:var(--portal-accent-text);
}

/* A return or rejection is an operational warning, independent of the brand. */
.home-attention-card.has-returns,
.home-attention-card.has-returns:hover,
.search-return-alert,
.search-return-alert:hover {
  background:#b32128;
  border-color:#b32128;
  color:#fff;
}
.search-return-alert .search-return-count { color:#b32128; }
.home-overview .shipment-action-panel { background:var(--status-danger-bg); }
.home-overview .shipment-action-panel.is-clear { background:var(--portal-subtle); }
.shipment-action-heading { color:var(--status-danger-text); }
.shipment-action-content a,
.shipment-action-content a:hover { background:#b32128;color:#fff; }
.shipment-action-panel.is-clear .shipment-action-content a { background:var(--portal-surface);color:var(--portal-text); }
