/*
 * Monochrome public UI.
 * Selectors are copied from the currently deployed xqw public light theme.
 * Only palette values are converted to equal-channel grayscale; geometry,
 * typography, spacing, sizing, transforms and template structure are unchanged.
 */

/* Public portal light palette. Geometry and typography stay in the original stylesheets. */
:root,
html,
body.ps-body,
body.xb-home,
body.join-body {
  color-scheme: light;
}

/* Shared portal pages */
html,
body.ps-body,
.ps-outer {
  background: #f2f2f2;
  color: #444444;
}

body.ps-body .ps-shell {
  border-color: #dcdcdc;
  background:
    radial-gradient(900px 420px at 12% -8%, rgba(91, 91, 91, 0.10), transparent 55%),
    #fefefe;
}

body.ps-body .ps-nav {
  border-color: #dcdcdc;
  background: rgba(254, 254, 254, 0.94);
}

body.ps-body .ps-brand,
body.ps-body .ps-hero h1,
body.ps-body .ps-card h2,
body.ps-body .ps-card h3,
body.ps-body .ps-login-wrap h1,
body.ps-body .ps-price-name,
body.ps-body .ps-price-amt strong,
body.ps-body .ps-price-sub,
body.ps-body .ps-main .section-title,
body.ps-body .ps-main .apply-title,
body.ps-body .ps-main .apply-section h2,
body.ps-body .ps-main .apply-eyebrow,
body.ps-body .ps-main [style*="color:#fff"] {
  color: #313131 !important;
}

body.ps-body .ps-logo {
  fill: #595959;
}

body.ps-body .ps-nav-links a,
body.ps-body .ps-footer a,
body.ps-body .ps-hero p,
body.ps-body .ps-price-desc,
body.ps-body .ps-card p,
body.ps-body .ps-field label,
body.ps-body .ps-main .text-muted,
body.ps-body .ps-main .text-primary,
body.ps-body .ps-main .section-subtitle,
body.ps-body .ps-main .apply-lead,
body.ps-body .ps-main .apply-section p,
body.ps-body .ps-main .apply-hint,
body.ps-body .ps-main .apply-label,
body.ps-body [style*="var(--ps-muted)"] {
  color: #6f6f6f !important;
}

body.ps-body .ps-footer,
body.ps-body .ps-price-table th,
body.ps-body .ps-price-amt span,
body.ps-body .ps-price-note,
body.ps-body .ps-login-wrap .sub,
body.ps-body .ps-login-wrap .hint,
body.ps-body [style*="var(--ps-dim)"] {
  color: #8e8e8e !important;
}

body.ps-body .ps-nav-links a:hover,
body.ps-body .ps-nav-links a.active {
  background: #ececec;
  color: #4a4a4a;
}

body.ps-body .ps-btn-solid,
body.ps-body .ps-main .btn-portal-primary,
body.ps-body .ps-main .btn-primary,
body.ps-body .ps-main .apply-form button[type="submit"],
body.ps-body .ps-main .apply-shell .btn {
  background: #595959 !important;
  color: #ffffff !important;
}

body.ps-body .ps-btn-solid:hover {
  background: #4d4d4d;
  color: #ffffff;
}

body.ps-body .ps-btn-border {
  background: #acacac;
  color: #4e4e4e;
}

body.ps-body .ps-btn-border::before {
  background: #fefefe;
}

body.ps-body .ps-footer,
body.ps-body .ps-footer a:hover,
body.ps-body .ps-login-wrap .hint a {
  color: #5f5f5f;
}

body.ps-body .ps-footer,
body.ps-body .ps-nav,
body.ps-body .ps-price-table,
body.ps-body .ps-price-table th,
body.ps-body .ps-price-table td,
body.ps-body .ps-card,
body.ps-body .ps-field input,
body.ps-body .ps-field select,
body.ps-body .ps-field textarea,
body.ps-body .ps-main .form-control,
body.ps-body .ps-main .form-select,
body.ps-body .ps-main .card,
body.ps-body .ps-main .portal-login-card,
body.ps-body .ps-main .feature-box,
body.ps-body .ps-main .dest-card,
body.ps-body .ps-main .testimonial-card,
body.ps-body .ps-main .apply-hero,
body.ps-body .ps-main .apply-section,
body.ps-body .ps-main .apply-input,
body.ps-body .ps-main .apply-shell input,
body.ps-body .ps-main .apply-shell select,
body.ps-body .ps-main .apply-shell textarea,
body.ps-body .ps-main .apply-alert,
body.ps-body .ps-main .service-price-card,
body.ps-body [style*="var(--ps-line)"] {
  border-color: #dcdcdc !important;
}

body.ps-body .ps-price-table,
body.ps-body .ps-card,
body.ps-body .ps-main .card,
body.ps-body .ps-main .portal-login-card,
body.ps-body .ps-main .feature-box,
body.ps-body .ps-main .dest-card,
body.ps-body .ps-main .testimonial-card,
body.ps-body .ps-main .service-price-card {
  background: #fefefe !important;
  color: #444444 !important;
}

body.ps-body .ps-price-table th {
  background: #f2f2f2;
}

body.ps-body .ps-price-table tbody tr:hover {
  background: #f7f7f7;
}

body.ps-body .ps-field input,
body.ps-body .ps-field select,
body.ps-body .ps-field textarea,
body.ps-body .ps-main .form-control,
body.ps-body .ps-main .form-select,
body.ps-body .ps-main .apply-input,
body.ps-body .ps-main .apply-shell input,
body.ps-body .ps-main .apply-shell select,
body.ps-body .ps-main .apply-shell textarea {
  background: #ffffff !important;
  color: #3c3c3c !important;
}

body.ps-body .ps-field input::placeholder,
body.ps-body .ps-field textarea::placeholder,
body.ps-body .ps-main input::placeholder,
body.ps-body .ps-main textarea::placeholder {
  color: #9f9f9f !important;
}

body.ps-body .ps-field input:focus,
body.ps-body .ps-field select:focus,
body.ps-body .ps-field textarea:focus,
body.ps-body .ps-main input:focus,
body.ps-body .ps-main select:focus,
body.ps-body .ps-main textarea:focus {
  border-color: #8d8d8d !important;
  outline-color: #8d8d8d;
}

body.ps-body .ps-alert,
body.ps-body .ps-main .alert-danger,
body.ps-body .ps-main .apply-alert-error {
  border-color: #bbbbbb !important;
  background: #f5f5f5 !important;
  color: #5b5b5b !important;
}

body.ps-body .ps-alert.ok,
body.ps-body .ps-main .apply-alert-success,
body.ps-body .ps-alert[style*="52,211,153"] {
  border-color: #c7c7c7 !important;
  background: #f4f4f4 !important;
  color: #4f4f4f !important;
}

body.ps-body .ps-alert[style*="56,189,248"] {
  border-color: #c2c2c2 !important;
  background: #f5f5f5 !important;
  color: #535353 !important;
}

body.ps-body .ps-main .apply-page,
body.ps-body .ps-main .apply-hero,
body.ps-body .ps-main .apply-body,
body.ps-body .ps-main .apply-shell,
body.ps-body .ps-main .apply-section,
body.ps-body .ps-main .page-banner,
body.ps-body .ps-main .bg-portal-light {
  background: transparent !important;
  color: #444444 !important;
}

body.ps-body .ps-main .apply-hero,
body.ps-body .ps-main .apply-section {
  background: #fefefe !important;
}

/* Price-list cards and sheet */
body.ps-body .xb-pl-group-title {
  background-image: none;
  color: #595959;
}

body.ps-body .xb-pl-empty,
body.ps-body .xb-pl-tip,
body.ps-body .xb-pl-card em,
body.ps-body .xb-pl-sheet-empty {
  color: #838383;
}

body.ps-body .xb-pl-card {
  border-color: #dcdcdc;
  background: #fefefe;
  color: #444444;
}

body.ps-body .xb-pl-card:hover {
  border-color: #aaaaaa;
  background: #f3f3f3;
}

body.ps-body .xb-pl-icon {
  border-color: #e0e0e0;
  background: #f2f2f2;
}

body.ps-body .xb-pl-icon span {
  color: #7d7d7d !important;
}

body.ps-body .xb-pl-card strong,
body.ps-body .xb-pl-sheet-hd h3 {
  color: #313131;
}

body.ps-body .xb-pl-mask {
  background: rgba(73, 73, 73, 0.32);
}

body.ps-body .xb-pl-sheet {
  border-color: #dcdcdc;
  background: #fefefe;
}

body.ps-body .xb-pl-handle {
  background: #c7c7c7;
}

body.ps-body .xb-pl-sheet-hd,
body.ps-body .xb-pl-sheet-body img {
  border-color: #dcdcdc;
}

body.ps-body .xb-pl-sheet-hd button {
  border-color: #dadada;
  background: #f3f3f3;
  color: #585858;
}

body.ps-body .xb-pl-sheet-body img {
  background: #f4f4f4;
}

/* Home page */
body.xb-home,
body.xb-home .xb-shell {
  background: #f2f2f2;
  color: #3d3d3d;
}

body.xb-home .xb-frame {
  background: #f0f0f0;
}

body.xb-home .xb-atmosphere {
  background:
    radial-gradient(ellipse 80% 50% at 50% 40%, rgba(255, 255, 255, 0.92), transparent 70%),
    radial-gradient(ellipse 60% 40% at 70% 70%, rgba(91, 91, 91, 0.16), transparent 65%),
    #ededed !important;
}

body.xb-home .xb-video-shade {
  background:
    linear-gradient(180deg, rgba(248, 248, 248, 0.88) 0%, rgba(247, 247, 247, 0.76) 40%, rgba(241, 241, 241, 0.92) 100%),
    radial-gradient(ellipse at center, transparent 30%, rgba(236, 236, 236, 0.72) 100%);
}

body.xb-home .xb-brand,
body.xb-home .xb-brand-text,
body.xb-home .xb-center h1,
body.xb-home .xb-col p,
body.xb-home .xb-mid-title {
  color: #313131;
}

body.xb-home .xb-logo {
  fill: #595959;
}

body.xb-home .xb-side-copy {
  color: #5d5d5d;
}

body.xb-home .xb-side-label,
body.xb-home .xb-mid-links a {
  color: #6e6e6e;
}

body.xb-home .xb-side-num {
  color: #8f8f8f;
}

body.xb-home .xb-dots span {
  border-color: #8f8f8f;
}

body.xb-home .xb-mid-links a:hover {
  color: #515151;
}

body.xb-home .xb-btn-solid,
body.xb-home .xb-btn-sm,
body.xb-home .xb-mini,
body.xb-home .xb-cs-float {
  background: #595959;
  color: #ffffff;
}

body.xb-home .xb-btn-solid:hover,
body.xb-home .xb-btn-sm:hover,
body.xb-home .xb-cs-float:hover,
body.xb-home .xb-cs-float:focus-visible {
  background: #4d4d4d;
  color: #ffffff;
}

body.xb-home .xb-btn-border {
  background: #acacac;
  color: #4e4e4e;
}

body.xb-home .xb-btn-border::before {
  background: rgba(254, 254, 254, 0.94);
}

body.xb-home .xb-btn-border:hover {
  background: #979797;
}

body.xb-home .xb-cs-modal-backdrop {
  background: rgba(72, 72, 72, 0.34);
}

body.xb-home .xb-cs-modal-panel {
  border-color: #dcdcdc;
  background: #fefefe;
  color: #3d3d3d;
}

body.xb-home .xb-cs-modal-close {
  background: transparent;
  color: #717171;
}

body.xb-home .xb-cs-modal-close:hover {
  color: #313131;
}

body.xb-home .xb-cs-modal-qr {
  background: #ffffff;
}

/* Join and application-status pages */
body.join-body {
  background: #f2f2f2;
  color: #444444;
  --bg: #f2f2f2;
  --panel: #fefefe;
  --line: rgba(161, 161, 161, 0.14);
  --text: #444444;
  --muted: #767676;
  --accent: #595959;
  --danger: #5b5b5b;
  --ok: #4f4f4f;
  --input: #ffffff;
}

body.join-body .join-top {
  border-color: #dcdcdc;
  background: #fefefe;
}

body.join-body .join-brand {
  color: #313131;
}

body.join-body .join-brand svg {
  color: #595959;
}

body.join-body .join-top-links a {
  color: #6f6f6f;
}

body.join-body .join-top-links a:hover {
  background: #f2f2f2;
  color: #4e4e4e;
}

body.join-body .join-link-btn,
body.join-body .join-submit {
  background: #595959 !important;
  color: #ffffff !important;
}

body.join-body .join-sheet {
  border-color: #dcdcdc;
  background: #fefefe;
}

body.join-body .join-sheet-head,
body.join-body .join-footbar {
  border-color: #dcdcdc;
  background: #f2f2f2;
}

body.join-body .join-sheet-head h1,
body.join-body .result-dl dd,
body.join-body .result-top .mono.big {
  color: #313131;
}

body.join-body .join-sheet-head p,
body.join-body .join-table thead th,
body.join-body .join-hint,
body.join-body .join-foot-note,
body.join-body .result-top .muted,
body.join-body .result-dl dt,
body.join-body .join-page-foot {
  color: #7b7b7b;
}

body.join-body .join-sheet-actions a,
body.join-body .join-alert a,
body.join-body .join-foot-note a {
  color: #595959;
}

body.join-body .join-alert,
body.join-body .join-table thead th,
body.join-body .join-table td,
body.join-body .col-sec,
body.join-body .join-footbar,
body.join-body .result-top,
body.join-body .result-dl > div {
  border-color: #dcdcdc;
}

body.join-body .join-alert.ok {
  background: #f4f4f4;
  color: #4f4f4f;
}

body.join-body .join-alert.err {
  background: #f5f5f5;
  color: #5b5b5b;
}

body.join-body .join-alert code {
  background: #e8e8e8;
  color: #505050;
}

body.join-body .join-table thead th,
body.join-body .col-sec {
  background: #f2f2f2;
}

body.join-body .join-table tbody tr:hover td {
  background: #f8f8f8;
}

body.join-body .col-sec,
body.join-body .col-label {
  color: #5d5d5d;
}

body.join-body .col-label em {
  color: #797979;
}

body.join-body .join-table input[type="text"],
body.join-body .join-table input[type="password"],
body.join-body .join-table input[type="email"],
body.join-body .join-table input[type="tel"],
body.join-body .join-table input[type="number"],
body.join-body .join-table input:not([type]),
body.join-body .join-table input.mono,
body.join-body .join-table .join-select,
body.join-body .join-table textarea {
  border-color: #d1d1d1;
  background: #ffffff;
  color: #3c3c3c;
  outline-color: #8d8d8d;
}

body.join-body .join-table input:focus,
body.join-body .join-table .join-select:focus,
body.join-body .join-table textarea:focus {
  border-color: #8d8d8d;
}

body.join-body .join-hint.ok {
  color: #5c5c5c;
}

body.join-body .join-hint.bad {
  color: #676767;
}

body.join-body .join-opt {
  border-color: #dadada;
  background: #f8f8f8;
  color: #505050;
}

body.join-body .join-opt:hover {
  border-color: #aaaaaa;
}

body.join-body .join-opt:has(input:checked) {
  border-color: #8d8d8d;
  background: #eeeeee;
}

body.join-body .status-pill {
  background: #ebebeb;
  color: #636363;
}

body.join-body .status-pill.pending {
  background: #f4f4f4;
  color: #676767;
}

body.join-body .status-pill.approved {
  background: #efefef;
  color: #555555;
}

body.join-body .status-pill.rejected {
  background: #f0f0f0;
  color: #5b5b5b;
}

body.join-body .join-upload-btn {
  border-color: #a0a0a0;
  background: #f3f3f3;
  color: #4f4f4f;
}

body.join-body .join-upload-btn:hover {
  border-color: #818181;
}

body.join-body .join-upload-preview {
  border-color: #dcdcdc;
  background: #f2f2f2;
}



/* Content media and data-driven swatches keep their geometry; only saturation is removed. */
body.xb-home .xb-video,
body.xb-home .xb-hero-image,
body.ps-body img,
body.join-body img,
body.ps-body .dot,
body.join-body .dot,
body.ps-body .apply-level-dot {
  filter: grayscale(1);
}

body.ps-body input[type="checkbox"],
body.ps-body input[type="radio"],
body.join-body input[type="checkbox"],
body.join-body input[type="radio"] {
  accent-color: #595959;
}

body.ps-body .ps-btn-wx {
  background: #595959 !important;
  border-color: #595959 !important;
  color: #ffffff !important;
}

body.ps-body #displayNameHint[style*="color"] {
  color: #6f6f6f !important;
}
