/* NW Hospitality Network v2.2 — refined, scoped hospitality system */
:root{--nwm-luxe-ink:#26352f;--nwm-luxe-terracotta:#9b5037;--nwm-luxe-terracotta-dark:#743823;--nwm-luxe-sand:#c39a62;--nwm-luxe-ivory:#f7f1e8;--nwm-luxe-paper:#fffdf9;--nwm-luxe-line:#ded2c5;--nwm-luxe-muted:#6d7772;--nwm-luxe-success:#2f7558;--nwm-luxe-danger:#9a3e3e;--nwm-luxe-shadow:0 18px 50px rgba(48,35,26,.09)}
.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--nwm-luxe-ink);background:linear-gradient(180deg,#fbf8f3 0%,var(--nwm-luxe-ivory) 100%)}
.nwm-portal h1,.nwm-portal h2,.nwm-operator-portal h1,.nwm-operator-portal h2,.nwm-employee-portal h1,.nwm-employee-portal h2,.nwm-access-hub h1,.nwm-guest-guide h1,.nwm-guest-guide h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:var(--nwm-luxe-ink)}
.nwm-portal-hero,.nwm-entry-hero{background:linear-gradient(135deg,#21332c,#354b42 58%,#593f33)!important;border-color:rgba(195,154,98,.48)!important}.nwm-portal-hero h1,.nwm-entry-hero h1{color:#fff!important}.nwm-portal-hero .nwm-kicker,.nwm-entry-hero .nwm-kicker,.nwm-member-code{color:#efd4ad!important}.nwm-login-card{background:linear-gradient(145deg,#293832,#354b42)!important;border-color:rgba(195,154,98,.5)!important}.nwm-login-card h2{color:#efd4ad!important}
.nwm-portal-section,.nwm-portal-events,.nwm-portal-communications,.nwm-operator-section,.nwm-employee-section,.nwm-module-card,.nwm-access-card,.nwm-guide-card{border:1px solid var(--nwm-luxe-line)!important;border-radius:22px!important;background:rgba(255,253,249,.96)!important;box-shadow:var(--nwm-luxe-shadow)!important}
.nwm-portal-section,.nwm-operator-section,.nwm-employee-section{padding:clamp(18px,2.4vw,30px)!important;margin-bottom:20px}
.nwm-kicker{color:var(--nwm-luxe-terracotta)!important;font-weight:800!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.nwm-muted,.nwm-portal p,.nwm-operator-portal p,.nwm-employee-portal p{color:var(--nwm-luxe-muted)}
.nwm-portal button,.nwm-portal .nwm-portal-pill,.nwm-portal .nwm-primary-button,.nwm-operator-portal button,.nwm-operator-portal .nwm-primary-button,.nwm-employee-portal button,.nwm-employee-portal .nwm-primary-button,.nwm-access-hub button,.nwm-access-hub .nwm-access-button,.nwm-guest-guide button{min-height:46px;border:1px solid transparent;border-radius:12px!important;padding:11px 17px;background:linear-gradient(135deg,var(--nwm-luxe-terracotta),var(--nwm-luxe-terracotta-dark))!important;color:#fff!important;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(116,56,35,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.nwm-portal button:hover,.nwm-portal .nwm-portal-pill:hover,.nwm-operator-portal button:hover,.nwm-employee-portal button:hover,.nwm-access-hub button:hover{transform:translateY(-1px);filter:saturate(1.05);box-shadow:0 12px 28px rgba(116,56,35,.24)}
.nwm-portal .nwm-secondary-button,.nwm-operator-portal .nwm-secondary-button,.nwm-employee-portal .nwm-secondary-button{background:#fff!important;color:var(--nwm-luxe-ink)!important;border-color:var(--nwm-luxe-line)!important;box-shadow:none}
.nwm-portal input,.nwm-portal select,.nwm-portal textarea,.nwm-operator-portal input,.nwm-operator-portal select,.nwm-operator-portal textarea,.nwm-employee-portal input,.nwm-employee-portal select,.nwm-employee-portal textarea,.nwm-admin input:not([type=checkbox]):not([type=radio]),.nwm-admin select,.nwm-admin textarea{min-height:46px;border:1px solid #cfc2b4!important;border-radius:11px!important;background:#fff!important;color:#26352f!important;box-shadow:inset 0 1px 2px rgba(48,35,26,.04)}
.nwm-portal input:focus,.nwm-portal select:focus,.nwm-portal textarea:focus,.nwm-operator-portal input:focus,.nwm-operator-portal select:focus,.nwm-operator-portal textarea:focus,.nwm-employee-portal input:focus,.nwm-employee-portal select:focus,.nwm-employee-portal textarea:focus{outline:3px solid rgba(155,80,55,.2)!important;border-color:var(--nwm-luxe-terracotta)!important}
.nwm-premium-dashboard .nwm-dashboard-cards>a{border-color:var(--nwm-luxe-line)!important;border-radius:18px!important;background:linear-gradient(150deg,#fffdf9,#f4ece2)!important;box-shadow:0 10px 28px rgba(48,35,26,.07)}
.nwm-premium-dashboard .nwm-dashboard-cards>a:before{background:linear-gradient(90deg,var(--nwm-luxe-terracotta),var(--nwm-luxe-sand))!important}
.nwm-premium-dashboard .nwm-dashboard-cards strong{color:var(--nwm-luxe-ink)!important}.nwm-premium-dashboard .nwm-dashboard-cards span{color:#6d7772!important}
.nwm-news-sources{display:flex;gap:9px;overflow-x:auto;padding:3px 1px 16px;scrollbar-width:thin}.nwm-news-sources a{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:10px 13px;border:1px solid var(--nwm-luxe-line);border-radius:999px;background:#fff;color:var(--nwm-luxe-ink);font-weight:800;text-decoration:none;box-shadow:0 6px 16px rgba(48,35,26,.05)}.nwm-news-sources a span{color:var(--nwm-luxe-terracotta);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em}.nwm-news-sources a b{font-weight:400;color:var(--nwm-luxe-sand)}
.nwm-news-card{border-color:var(--nwm-luxe-line)!important;background:linear-gradient(155deg,#fffdf9,#f6efe6)!important;box-shadow:0 12px 34px rgba(48,35,26,.07)!important}.nwm-news-meta span{background:#efe4d8!important;color:#664631!important}.nwm-news-meta em{background:#e8f0eb!important;color:#2f624b!important}.nwm-news-card footer a{color:var(--nwm-luxe-terracotta)!important}
.nwm-customer-scanner{position:relative;display:grid;gap:14px;width:min(440px,100%);margin:18px auto;padding:14px;border:1px solid var(--nwm-luxe-line);border-radius:24px;background:linear-gradient(145deg,#fffdf9,#f5eee5);box-shadow:0 20px 50px rgba(48,35,26,.12)}.nwm-customer-scanner video{display:block;width:100%;aspect-ratio:1/1;max-height:none;border:8px solid #fff;border-radius:20px;background:#17201d;object-fit:cover;box-shadow:0 0 0 1px rgba(41,56,50,.16),0 14px 38px rgba(24,32,29,.18)}.nwm-customer-scanner-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.nwm-customer-scanner:before,.nwm-customer-scanner:after{content:"";position:absolute;z-index:3;pointer-events:none;width:58px;height:58px;border-color:var(--nwm-luxe-sand)}.nwm-customer-scanner:before{left:28px;top:28px;border-left:3px solid;border-top:3px solid;border-radius:12px 0 0}.nwm-customer-scanner:after{right:28px;bottom:94px;border-right:3px solid;border-bottom:3px solid;border-radius:0 0 12px}
.nwm-pvc-card{box-shadow:0 20px 45px rgba(15,23,42,.22),inset 0 0 0 .2mm rgba(255,255,255,.16)}
.nwm-admin{--nwm-admin-bg:#f7f1e8;--nwm-admin-panel:#fffdf9;--nwm-admin-text:#26352f;--nwm-admin-muted:#6d7772;--nwm-admin-line:#ded2c5}.nwm-admin .nwm-panel,.nwm-admin .card,.nwm-admin .postbox,.nwm-admin table.widefat{border-color:var(--nwm-admin-line)!important;border-radius:16px;background:var(--nwm-admin-panel)!important;box-shadow:0 10px 28px rgba(48,35,26,.06)!important;overflow:hidden}.nwm-admin h1,.nwm-admin h2,.nwm-admin h3{color:var(--nwm-admin-text)!important}.nwm-admin .button-primary{border-color:var(--nwm-luxe-terracotta-dark)!important;background:var(--nwm-luxe-terracotta)!important;color:#fff!important}.nwm-admin .button:not(.button-primary){border-color:#cfc2b4!important;background:#fff!important;color:#26352f!important}.nwm-admin table.widefat thead th{background:#efe5da!important;color:#26352f!important}.nwm-admin table.widefat td{color:#35443e!important}.nwm-admin a{color:#82432e}
@media(max-width:780px){.nwm-portal-section,.nwm-operator-section,.nwm-employee-section{border-radius:17px!important;padding:16px!important}.nwm-news-sources{margin-inline:-2px}.nwm-customer-scanner:after{bottom:92px}}
@media(prefers-reduced-motion:reduce){.nwm-portal *,.nwm-operator-portal *,.nwm-employee-portal *,.nwm-access-hub *{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}


/* v2.2.1 — scanner permission notice and card composition hotfix */
.nwm-customer-scanner:before,.nwm-customer-scanner:after{content:none!important;display:none!important}
.nwm-customer-camera-stage{position:relative;overflow:hidden;width:100%;aspect-ratio:1/1;border:8px solid #fff;border-radius:20px;background:#17201d;box-shadow:0 0 0 1px rgba(41,56,50,.16),0 14px 38px rgba(24,32,29,.18)}
.nwm-customer-camera-stage video{display:block;width:100%!important;height:100%!important;aspect-ratio:1/1!important;border:0!important;border-radius:12px!important;background:#17201d;object-fit:cover;box-shadow:none!important}
.nwm-customer-camera-frame{position:absolute;inset:14%;z-index:2;border:2px solid rgba(255,253,249,.94);border-radius:18px;box-shadow:0 0 0 999px rgba(23,32,29,.24),0 0 0 4px rgba(195,154,98,.42);pointer-events:none}
.nwm-customer-scanner .nwm-customer-result{position:relative;z-index:1;margin:0;border:1px solid #dfd3c7;border-left:4px solid var(--nwm-luxe-sand);border-radius:12px;background:#fffdf9;color:var(--nwm-luxe-ink);box-shadow:none}
.nwm-customer-scanner .nwm-customer-result.is-loading{border-left-color:#d39b3c;background:#fff8e8}
.nwm-customer-scanner .nwm-customer-result.is-success{border-left-color:var(--nwm-luxe-success);background:#eaf5ee;color:#215e43}
.nwm-customer-scanner .nwm-customer-result.is-error{border-left-color:var(--nwm-luxe-danger);background:#fff0ef;color:#8f3131}
@media(max-width:520px){.nwm-customer-scanner{padding:11px;border-radius:19px}.nwm-customer-camera-stage{border-width:6px;border-radius:16px}.nwm-customer-camera-stage video{border-radius:10px!important}.nwm-customer-camera-frame{inset:12%;border-radius:14px}}

/* v2.3.5 — complete frontend contrast audit and Organization Office fix */
.nwm-hospitality-ready .nw-membership-office-panel{
  background:linear-gradient(180deg,#fffdf9 0%,#f8f1e8 100%)!important;
  color:var(--nwm-luxe-ink)!important;
  border-color:var(--nwm-luxe-line)!important;
}
.nwm-hospitality-ready .nw-membership-office-head h2,
.nwm-hospitality-ready .nw-membership-office-panel .nwm-section-head h2{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nw-membership-office-head .nwm-kicker{
  color:var(--nwm-luxe-terracotta)!important;
}
.nwm-hospitality-ready .nw-membership-office-head .nwm-muted,
.nwm-hospitality-ready .nw-membership-office-panel p,
.nwm-hospitality-ready .nw-membership-office-panel li,
.nwm-hospitality-ready .nw-membership-office-panel dt,
.nwm-hospitality-ready .nw-membership-office-panel dd{
  color:var(--nwm-luxe-muted)!important;
}
.nwm-hospitality-ready .nw-membership-office-stats>div{
  border-color:#dfd2c4!important;
  background:linear-gradient(145deg,#fff,#f3e9de)!important;
  box-shadow:0 8px 22px rgba(48,35,26,.06)!important;
}
.nwm-hospitality-ready .nw-membership-office-stats span{
  color:var(--nwm-luxe-terracotta-dark)!important;
}
.nwm-hospitality-ready .nw-membership-office-stats strong{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nw-membership-office-nav{
  border-color:#dfd2c4!important;
  background:#f4ebe1!important;
}
.nwm-hospitality-ready .nw-membership-office-nav-group{
  border-color:#dfd2c4!important;
  background:rgba(255,253,249,.92)!important;
}
.nwm-hospitality-ready .nw-membership-office-nav-group>strong{
  color:var(--nwm-luxe-terracotta-dark)!important;
}
.nwm-hospitality-ready .nw-membership-office-nav a{
  border-color:#d5c5b5!important;
  background:#fff!important;
  color:var(--nwm-luxe-ink)!important;
  box-shadow:0 4px 12px rgba(48,35,26,.05)!important;
}
.nwm-hospitality-ready .nw-membership-office-nav a:hover,
.nwm-hospitality-ready .nw-membership-office-nav a:focus-visible{
  border-color:var(--nwm-luxe-terracotta)!important;
  background:#f7e9df!important;
  color:var(--nwm-luxe-terracotta-dark)!important;
}
.nwm-hospitality-ready .nw-membership-office-map-head,
.nwm-hospitality-ready .nw-membership-office-module-map>a{
  border-color:#dfd2c4!important;
  background:#fff!important;
  box-shadow:0 7px 20px rgba(48,35,26,.05)!important;
}
.nwm-hospitality-ready .nw-membership-office-map-head span,
.nwm-hospitality-ready .nw-membership-office-module-map>a span{
  color:var(--nwm-luxe-terracotta)!important;
}
.nwm-hospitality-ready .nw-membership-office-map-head strong,
.nwm-hospitality-ready .nw-membership-office-module-map>a strong{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nw-membership-office-map-head em,
.nwm-hospitality-ready .nw-membership-office-module-map>a em{
  color:var(--nwm-luxe-muted)!important;
}
.nwm-hospitality-ready .nw-membership-office-module-map>a:hover,
.nwm-hospitality-ready .nw-membership-office-module-map>a:focus-visible{
  border-color:var(--nwm-luxe-terracotta)!important;
  background:#f8eee5!important;
}
.nwm-hospitality-ready .nw-membership-office-section-label{
  border-color:#dfd2c4!important;
  background:linear-gradient(135deg,#f4e7dc,#fffaf5)!important;
}
.nwm-hospitality-ready .nw-membership-office-section-label>span{
  border-color:var(--nwm-luxe-terracotta)!important;
  background:var(--nwm-luxe-terracotta)!important;
  color:#fff!important;
}
.nwm-hospitality-ready .nw-membership-office-section-label h3{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nw-membership-office-section-label p{
  color:var(--nwm-luxe-muted)!important;
}
.nwm-hospitality-ready .nw-membership-office-card{
  border-color:#dfd2c4!important;
  background:#fffdf9!important;
  color:var(--nwm-luxe-ink)!important;
  box-shadow:0 10px 28px rgba(48,35,26,.06)!important;
}
.nwm-hospitality-ready .nw-membership-office-card-title{
  border-bottom-color:#e4d8cb!important;
  background:#f4ebe1!important;
}
.nwm-hospitality-ready .nw-membership-office-card-title span{
  color:var(--nwm-luxe-terracotta)!important;
}
.nwm-hospitality-ready .nw-membership-office-card-title h3,
.nwm-hospitality-ready .nw-membership-office-card h3{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nw-membership-office-module{
  border-color:#e4d8cb!important;
  background:#fff!important;
  color:var(--nwm-luxe-ink)!important;
  box-shadow:none!important;
}
.nwm-hospitality-ready .nw-membership-office-module h4{
  color:var(--nwm-luxe-terracotta-dark)!important;
}
.nwm-hospitality-ready .nw-membership-office-module :is(p,li,small,em),
.nwm-hospitality-ready .nw-membership-office-card :is(p,li,small,em){
  color:var(--nwm-luxe-muted)!important;
}
.nwm-hospitality-ready .nw-membership-office-module strong,
.nwm-hospitality-ready .nw-membership-office-card strong{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nwm-field,
.nwm-hospitality-ready .nw-membership-office-check{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nwm-field span,
.nwm-hospitality-ready .nw-membership-office-check span{
  color:#5f4437!important;
}
.nwm-hospitality-ready .nwm-table-wrap{
  border-color:#dfd2c4!important;
  background:#fff!important;
}
.nwm-hospitality-ready .nw-membership-office-table{
  background:#fff!important;
}
.nwm-hospitality-ready .nw-membership-office-table th{
  border-bottom-color:#ded2c5!important;
  background:#eee3d7!important;
  color:#5d3b2d!important;
}
.nwm-hospitality-ready .nw-membership-office-table td{
  border-bottom-color:#ece3da!important;
  background:#fff!important;
  color:#33423c!important;
}
.nwm-hospitality-ready .nw-membership-office-table tbody tr:nth-child(even) td{
  background:#fdf9f4!important;
}
.nwm-hospitality-ready .nw-membership-office-table tbody tr:hover td{
  background:#f6ece3!important;
}
.nwm-hospitality-ready .nw-membership-office-table a:not(.nw-membership-office-mini):not(.nwm-paypal-button){
  color:#82432e!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
.nwm-hospitality-ready .nw-membership-office-status{
  border-color:#cfb8a5!important;
  background:#f4e7dc!important;
  color:#743823!important;
}
.nwm-hospitality-ready .nw-membership-office-panel .nwm-card-count{
  border-color:#cfb8a5!important;
  background:#f4e7dc!important;
  color:#743823!important;
}
.nwm-hospitality-ready .nw-membership-office-panel .nwm-portal-notice{
  border-color:#d8b8a1!important;
  background:#fff1e7!important;
  color:#743823!important;
}
.nwm-hospitality-ready .nw-membership-office-panel .nwm-portal-notice *{
  color:inherit!important;
}
.nwm-hospitality-ready .nw-membership-office-panel .nwm-danger-text{
  color:#8f3131!important;
}

/* Common light-surface contrast: finance, documents, events and communications. */
.nwm-hospitality-ready :is(.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents) {
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready :is(.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents)>h2,
.nwm-hospitality-ready :is(.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents) .nwm-section-head h2{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready :is(.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents) :is(p,li,small,em){
  color:var(--nwm-luxe-muted)!important;
}
.nwm-hospitality-ready .nwm-documents-list a,
.nwm-hospitality-ready .nwm-library-list a{
  color:#82432e!important;
}
.nwm-hospitality-ready .nwm-card-actions{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nwm-card-actions strong{
  color:var(--nwm-luxe-ink)!important;
}
.nwm-hospitality-ready .nwm-card-actions span{
  color:var(--nwm-luxe-muted)!important;
}
/* Preserve intentionally dark membership cards and hero areas. */
.nwm-hospitality-ready :is(.nwm-pvc-card,.nwm-credential,.nwm-portal-hero,.nwm-entry-hero,.nwm-login-card),
.nwm-hospitality-ready :is(.nwm-pvc-card,.nwm-credential,.nwm-portal-hero,.nwm-entry-hero,.nwm-login-card) p,
.nwm-hospitality-ready :is(.nwm-pvc-card,.nwm-credential,.nwm-portal-hero,.nwm-entry-hero,.nwm-login-card) strong{
  color:#fff;
}
.nwm-hospitality-ready :is(.nwm-pvc-card,.nwm-credential,.nwm-portal-hero,.nwm-entry-hero,.nwm-login-card) :is(h1,h2,h3,h4,h5,h6,p,strong,span,small,em,label){
  color:#fff!important;
}
.nwm-hospitality-ready :is(.nwm-pvc-card,.nwm-credential) :is(.nwm-card-kicker,.nwm-card-label,.nwm-card-footer,.nwm-card-back-title,.nwm-verify-url){
  color:var(--nwm-card-accent,#c39a62)!important;
}


/* v2.3.9 — global plugin typography and contrast normalization */
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin){
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:16px;
  line-height:1.55;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,em,label,li,td,th,a,button,input,select,textarea){
  text-shadow:none!important;
  overflow-wrap:anywhere;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) h1{
  font-size:clamp(2rem,4.4vw,3.65rem)!important;
  line-height:1.08!important;
  margin-top:0;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) h2{
  font-size:clamp(1.55rem,2.8vw,2.35rem)!important;
  line-height:1.16!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) h3{
  font-size:clamp(1.15rem,1.8vw,1.45rem)!important;
  line-height:1.25!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) h4{
  font-size:1.05rem!important;
  line-height:1.3!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) p{
  font-size:1rem;
  line-height:1.62;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) small{
  font-size:.82rem;
  line-height:1.45;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) :where(label,th){
  font-weight:750;
  letter-spacing:.01em;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) :where(input,select,textarea,button){
  font:inherit!important;
  line-height:1.35!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) :where(button,.button,.nwm-button,.nwm-primary-button,.nwm-portal-pill){
  font-size:.94rem!important;
  font-weight:800!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-customer-checkin-page,.nwm-staff-clock-page,.nwm-admin) table{
  font-size:.92rem;
  line-height:1.45;
}

/* All ordinary light surfaces use the same readable ink and muted text. */
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-guest-guide,.nwm-admin) :where(
  .nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents,
  .nwm-module-card,.nwm-employee-card,.nwm-message-thread,.nwm-panel,.nwm-card,.nwm-admin-card,
  .nw-membership-office-panel,.nw-membership-office-card,.nw-membership-office-module,
  .nwm-operator-summary-card,.nwm-operator-overview>article,.nwm-module-tile,.nwm-chart-panel,
  .nwm-ticket-row,.nwm-chat-message,.nwm-table-wrap,.nwm-profile-photo-card
){
  color:#26352f!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-guest-guide,.nwm-admin) :where(
  .nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents,
  .nwm-module-card,.nwm-employee-card,.nwm-message-thread,.nwm-panel,.nwm-card,.nwm-admin-card,
  .nw-membership-office-panel,.nw-membership-office-card,.nw-membership-office-module,
  .nwm-operator-summary-card,.nwm-operator-overview>article,.nwm-module-tile,.nwm-chart-panel,
  .nwm-ticket-row,.nwm-chat-message,.nwm-profile-photo-card
) :where(h2,h3,h4,strong,label,th){
  color:#26352f!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-guest-guide,.nwm-admin) :where(
  .nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents,
  .nwm-module-card,.nwm-employee-card,.nwm-message-thread,.nwm-panel,.nwm-card,.nwm-admin-card,
  .nw-membership-office-panel,.nw-membership-office-card,.nw-membership-office-module,
  .nwm-operator-summary-card,.nwm-operator-overview>article,.nwm-module-tile,.nwm-chart-panel,
  .nwm-ticket-row,.nwm-chat-message,.nwm-profile-photo-card
) :where(p,small,em,li,td){
  color:#5f6d67!important;
}

/* Scanner result: always readable on the current light design. */
.nwm-portal .nwm-verify-result,
.nwm-operator-portal .nwm-verify-result,
.nwm-restaurant-portal .nwm-verify-result,
.nwm-hospitality-ready .nwm-verify-result{
  border:1px solid #d9ccbf!important;
  border-left:5px solid #9b5037!important;
  background:linear-gradient(145deg,#fffdf9,#f4ece2)!important;
  color:#26352f!important;
  box-shadow:0 9px 24px rgba(48,35,26,.07)!important;
}
.nwm-portal .nwm-verify-result strong,
.nwm-operator-portal .nwm-verify-result strong,
.nwm-restaurant-portal .nwm-verify-result strong,
.nwm-hospitality-ready .nwm-verify-result strong{
  display:block!important;
  color:#743823!important;
  font-size:1.2rem!important;
  font-weight:900!important;
  line-height:1.25!important;
}
.nwm-portal .nwm-verify-result :where(span,em,p,small),
.nwm-operator-portal .nwm-verify-result :where(span,em,p,small),
.nwm-restaurant-portal .nwm-verify-result :where(span,em,p,small),
.nwm-hospitality-ready .nwm-verify-result :where(span,em,p,small){
  color:#4f5f58!important;
  font-size:.98rem!important;
  line-height:1.55!important;
}
.nwm-portal .nwm-verify-result.valid,
.nwm-portal .nwm-verify-result.is-valid,
.nwm-restaurant-portal .nwm-verify-result.valid,
.nwm-hospitality-ready .nwm-verify-result.valid{
  border-left-color:#2f7558!important;
  background:#eaf5ee!important;
}
.nwm-portal .nwm-verify-result.valid strong,
.nwm-portal .nwm-verify-result.is-valid strong,
.nwm-restaurant-portal .nwm-verify-result.valid strong,
.nwm-hospitality-ready .nwm-verify-result.valid strong{color:#215e43!important}
.nwm-portal .nwm-verify-result.invalid,
.nwm-portal .nwm-verify-result.is-invalid,
.nwm-restaurant-portal .nwm-verify-result.invalid,
.nwm-hospitality-ready .nwm-verify-result.invalid{
  border-left-color:#9a3e3e!important;
  background:#fff0ef!important;
}
.nwm-portal .nwm-verify-result.invalid strong,
.nwm-portal .nwm-verify-result.is-invalid strong,
.nwm-restaurant-portal .nwm-verify-result.invalid strong,
.nwm-hospitality-ready .nwm-verify-result.invalid strong{color:#8f3131!important}
.nwm-portal .nwm-verify-result.loading,
.nwm-hospitality-ready .nwm-verify-result.loading{
  border-left-color:#b7791f!important;
  background:#fff8e8!important;
}
.nwm-portal .nwm-verify-result.loading strong,
.nwm-hospitality-ready .nwm-verify-result.loading strong{color:#805714!important}

/* Notices, badges and table text. */
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-admin) :where(.nwm-portal-notice,.nwm-alert,.notice,.nwm-attendance-result,.nwm-employee-notice){
  font-size:.95rem!important;
  line-height:1.55!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-admin) :where(.nwm-card-count,.nwm-state-badge,.nwm-degree-badge,.nwm-status-pill,.nw-membership-office-status){
  font-size:.76rem!important;
  line-height:1.25!important;
  font-weight:850!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-admin) :where(td,th){
  vertical-align:top;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-admin) a:not(.nwm-button):not(.nwm-primary-button):not(.nwm-portal-pill):not(.button){
  text-underline-offset:2px;
}

/* Keep text white only where the actual surface is dark. */
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub) :where(
  .nwm-portal-hero,.nwm-entry-hero,.nwm-login-card,.nwm-credential,.nwm-pvc-card,.nwm-employee-hero,.nwm-operator-hero,.nwm-access-story
) :where(h1,h2,h3,h4,h5,h6,p,strong,span,small,em,label,a){
  color:#fff!important;
}
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub) :where(
  .nwm-portal-hero,.nwm-entry-hero,.nwm-login-card,.nwm-credential,.nwm-pvc-card,.nwm-employee-hero,.nwm-operator-hero,.nwm-access-story
) .nwm-kicker,
:where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub) :where(
  .nwm-portal-hero,.nwm-entry-hero,.nwm-login-card,.nwm-credential,.nwm-pvc-card,.nwm-employee-hero,.nwm-operator-hero,.nwm-access-story
) .nwm-member-code{
  color:#efd4ad!important;
}

@media(max-width:680px){
  :where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-admin){font-size:15.5px}
  :where(.nwm-portal,.nwm-operator-portal,.nwm-employee-portal,.nwm-access-hub,.nwm-guest-guide,.nwm-admin) table{font-size:.88rem}
  .nwm-portal .nwm-verify-result strong,.nwm-hospitality-ready .nwm-verify-result strong{font-size:1.08rem!important}
}


/* 2.4.1 — definitive operator hero contrast */
.nwm-operator-shell .nwm-operator-hero,
.nwm-operator-shell .nwm-premium-hero.nwm-operator-hero{
  isolation:isolate!important;
  position:relative!important;
  overflow:hidden!important;
  background:linear-gradient(135deg,#172c26 0%,#29463b 54%,#684838 100%)!important;
  border:1px solid rgba(239,212,173,.52)!important;
  color:#fff!important;
  box-shadow:0 22px 58px rgba(23,44,38,.24)!important;
}
.nwm-operator-shell .nwm-operator-hero:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  background:radial-gradient(circle at 82% 5%,rgba(239,212,173,.20),transparent 34%),linear-gradient(120deg,rgba(255,255,255,.035),transparent 55%)!important;
  pointer-events:none!important;
}
.nwm-operator-shell .nwm-operator-hero>*{position:relative!important;z-index:1!important;min-width:0!important}
.nwm-operator-shell .nwm-operator-hero h1{
  margin:.12em 0 .08em!important;
  color:#fff!important;
  font-size:clamp(2rem,4vw,3.35rem)!important;
  line-height:1.08!important;
  font-weight:750!important;
  letter-spacing:-.025em!important;
  text-shadow:0 2px 14px rgba(0,0,0,.28)!important;
}
.nwm-operator-shell .nwm-operator-hero .nwm-kicker{
  margin:0 0 8px!important;
  color:#f3d8ae!important;
  font-size:.78rem!important;
  line-height:1.35!important;
  font-weight:850!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
  opacity:1!important;
}
.nwm-operator-shell .nwm-operator-hero .nwm-member-code{
  display:block!important;
  margin-top:10px!important;
  color:#fff4df!important;
  font-size:.9rem!important;
  line-height:1.5!important;
  font-weight:750!important;
  letter-spacing:.045em!important;
  text-transform:none!important;
  opacity:1!important;
  overflow-wrap:anywhere!important;
  text-shadow:0 1px 8px rgba(0,0,0,.30)!important;
}
.nwm-operator-shell .nwm-operator-hero .nwm-portal-pill{
  color:#fff!important;
  background:rgba(5,20,16,.34)!important;
  border-color:rgba(255,244,223,.42)!important;
  opacity:1!important;
}
.nwm-operator-shell .nwm-operator-hero .nwm-portal-pill:hover,
.nwm-operator-shell .nwm-operator-hero .nwm-portal-pill:focus{
  color:#172c26!important;
  background:#fff4df!important;
  border-color:#fff4df!important;
}
@media(max-width:680px){
  .nwm-operator-shell .nwm-operator-hero{padding:22px 18px!important}
  .nwm-operator-shell .nwm-operator-hero h1{font-size:clamp(1.8rem,9vw,2.55rem)!important}
  .nwm-operator-shell .nwm-operator-hero .nwm-member-code{font-size:.84rem!important}
}

/* 2.5.5 — profili separati nel Portalino */
.nwm-profile-lists{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important}
.nwm-profile-lists>.nw-membership-office-module{height:100%!important;min-width:0!important;margin:0!important}
.nwm-profile-type-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;max-width:100%!important;margin-top:5px!important;padding:4px 9px!important;border:1px solid #d7ccc0!important;border-radius:999px!important;background:#f4eee7!important;color:#5d4439!important;font-size:.72rem!important;font-weight:850!important;line-height:1.25!important;text-transform:uppercase!important;letter-spacing:.055em!important;overflow-wrap:anywhere!important}
.nwm-profile-type-badge.is-customer{background:#eaf5ef!important;border-color:#b8d8c7!important;color:#285b45!important}
.nwm-profile-type-badge.is-employee{background:#eaf0f6!important;border-color:#bdcddd!important;color:#294c69!important}
.nwm-profile-type-badge.is-restaurant{background:#f9ede5!important;border-color:#e0bca6!important;color:#7c3e29!important}
.nwm-profile-type-badge.is-administrator{background:#f2eafa!important;border-color:#cdb8df!important;color:#593876!important}
.nwm-profile-lists small{display:inline-block!important;margin-top:4px!important;color:#66756f!important;line-height:1.4!important}
@media(max-width:900px){.nwm-profile-lists{grid-template-columns:1fr!important}}
