.nwm-members-webapp-page .nwm-portal{max-width:1180px;margin:0 auto;padding:42px 20px 56px;box-sizing:border-box}.nwm-members-webapp-page .nwm-portal *{box-sizing:border-box}.nwm-portal a{color:inherit}.nwm-portal h1,.nwm-portal h2,.nwm-portal h3{letter-spacing:.01em}.nwm-portal-entry{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.65fr);gap:28px;align-items:stretch}.nwm-entry-hero,.nwm-login-card,.nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents{border:1px solid rgba(201,162,39,.34);border-radius:24px;background:linear-gradient(145deg,rgba(9,13,26,.94),rgba(18,25,43,.88));box-shadow:0 22px 60px rgba(0,0,0,.18);color:#fff}.nwm-entry-hero{position:relative;overflow:hidden;min-height:430px;padding:44px;display:flex;flex-direction:column;justify-content:center}.nwm-entry-hero:before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 20% 20%,rgba(201,162,39,.20),transparent 32%),linear-gradient(130deg,transparent 0 45%,rgba(255,255,255,.06) 50%,transparent 65%);pointer-events:none}.nwm-entry-hero>*{position:relative}.nwm-entry-seal{width:92px;height:92px;border-radius:50%;border:2px solid rgba(201,162,39,.75);display:flex;align-items:center;justify-content:center;color:#c9a227;font-weight:800;letter-spacing:.12em;margin-bottom:24px;background:rgba(0,0,0,.18)}.nwm-kicker{margin:0 0 10px;color:#c9a227;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700}.nwm-entry-hero h1{font-size:clamp(34px,5vw,62px);line-height:1.02;margin:0 0 18px;color:#fff}.nwm-entry-text{max-width:640px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.82);margin:0 0 22px}.nwm-login-card{padding:34px;align-self:center}.nwm-login-card h2{margin:0 0 18px;color:#c9a227}.nwm-login-card label{display:block;color:rgba(255,255,255,.86);font-weight:600;margin:12px 0 6px}.nwm-login-card input[type=text],.nwm-login-card input[type=password]{width:100%;border:1px solid rgba(201,162,39,.38);background:rgba(255,255,255,.97);border-radius:12px;padding:13px 14px;color:#111;min-height:46px}.nwm-login-card .login-remember label{display:flex;align-items:center;gap:8px;font-weight:500}.nwm-login-card input[type=submit],.nwm-install-app,.nwm-rsvp-form button{appearance:none;border:0;border-radius:999px;background:linear-gradient(135deg,#c9a227,#f1d36c);color:#111;font-weight:800;padding:12px 22px;cursor:pointer;box-shadow:0 8px 18px rgba(201,162,39,.22)}.nwm-login-card input[type=submit]{width:100%;margin-top:8px}.nwm-login-help{font-size:13px;color:rgba(255,255,255,.7);margin:14px 0 0}.nwm-login-help a{color:#f1d36c}.nwm-login-error,.nwm-portal-notice{background:rgba(220,38,38,.16);border:1px solid rgba(248,113,113,.45);padding:12px 14px;border-radius:12px;color:#fff;margin:0 0 14px}.nwm-install-app{width:auto;align-self:flex-start}.nwm-install-app[hidden]{display:none!important}
.nwm-portal-dashboard{display:grid;gap:24px}.nwm-portal-hero{border:1px solid rgba(201,162,39,.34);border-radius:28px;background:linear-gradient(135deg,#060914,#111827 48%,#241f11);color:#fff;padding:34px;display:flex;justify-content:space-between;gap:24px;align-items:center;position:relative;overflow:hidden}.nwm-portal-hero:before{content:"";position:absolute;inset:-30%;background:radial-gradient(circle at 80% 10%,rgba(201,162,39,.18),transparent 28%);pointer-events:none}.nwm-portal-hero>*{position:relative}.nwm-portal-hero h1{margin:0;color:#fff;font-size:clamp(30px,4vw,48px)}.nwm-member-code{display:inline-block;margin-top:10px;color:#c9a227;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nwm-portal-actions{display:flex;gap:10px;flex-wrap:wrap}.nwm-portal-pill{border:1px solid rgba(201,162,39,.4);border-radius:999px;padding:9px 14px;color:#f5d46a;background:rgba(0,0,0,.18);text-decoration:none;font-weight:700}.nwm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.nwm-credential-stack{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.nwm-credential{background:linear-gradient(135deg,#05070c,#111827 55%,#201b0f);color:#fff;border:1px solid rgba(212,175,55,.52);border-radius:22px;padding:28px;min-height:240px;box-shadow:0 20px 44px rgba(0,0,0,.22);position:relative;overflow:hidden}.nwm-credential:before{content:"";position:absolute;inset:-40%;background:radial-gradient(circle,rgba(212,175,55,.13),transparent 45%);transform:rotate(20deg)}.nwm-credential>*{position:relative}.nwm-credential h3{color:#d4af37;margin:0 0 12px}.nwm-card-footer{margin-top:30px;opacity:.75}.nwm-token{font-size:12px;word-break:break-all;opacity:.85;margin-top:14px}.nwm-token a{color:#f1d36c}.nwm-qr{margin-top:18px}.nwm-qr img{width:150px;height:150px;background:#fff;padding:8px;border-radius:12px}.nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents{padding:24px;color:#fff}.nwm-portal-section h2,.nwm-portal-finance h2,.nwm-portal-events h2,.nwm-portal-communications h2,.nwm-portal-documents h2{margin-top:0;color:#d4af37}.nwm-payments{width:100%;border-collapse:collapse;background:rgba(255,255,255,.04);border-radius:12px;overflow:hidden}.nwm-payments th,.nwm-payments td{border-bottom:1px solid rgba(255,255,255,.10);padding:10px;text-align:left;color:rgba(255,255,255,.9)}.nwm-payments th{color:#d4af37;font-size:12px;text-transform:uppercase;letter-spacing:.05em}.nwm-documents-list{margin:0;padding-left:18px}.nwm-documents-list li{margin:8px 0}.nwm-documents-list a{font-weight:700;color:#f1d36c}.nwm-event-list{display:grid;gap:14px}.nwm-event{border:1px solid rgba(212,175,55,.30);border-radius:16px;padding:16px;background:rgba(255,255,255,.045)}.nwm-event h3{margin-top:0;color:#fff}.nwm-rsvp-form{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.nwm-rsvp-form input,.nwm-rsvp-form select{max-width:190px;border-radius:10px;border:1px solid rgba(201,162,39,.3);padding:9px;background:#fff;color:#111}.nwm-muted{color:rgba(255,255,255,.70)}
@media(max-width:900px){.nwm-portal-entry{grid-template-columns:1fr}.nwm-entry-hero{min-height:300px;padding:30px}.nwm-login-card{padding:26px}.nwm-portal-hero{display:block}.nwm-portal-actions{margin-top:18px}.nwm-payments{display:block;overflow-x:auto}.nwm-rsvp-form input,.nwm-rsvp-form select,.nwm-rsvp-form button{width:100%;max-width:none}}


/* Portal card previews - v1.0.5 */
.nwm-portal-cards-panel{overflow:hidden}.nwm-section-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.nwm-section-head h2{margin:0}.nwm-card-count{border:1px solid rgba(212,175,55,.36);border-radius:999px;padding:7px 12px;color:#f1d36c;background:rgba(0,0,0,.18);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.nwm-member-card-stack{display:grid;gap:24px;margin-top:18px}.nwm-member-card-item{border:1px solid rgba(212,175,55,.30);border-radius:22px;background:rgba(255,255,255,.035);padding:18px;overflow:hidden}.nwm-card-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px;align-items:start}.nwm-card-preview-side{overflow-x:auto;padding:10px 0 2px}.nwm-card-side-label{display:inline-block;margin:0 0 8px;color:#d4af37;font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.nwm-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;color:#fff}.nwm-card-actions strong{color:#fff}.nwm-card-actions span{color:rgba(255,255,255,.72)}.nwm-portal-cards-panel .nwm-pvc-card{max-width:100%;box-shadow:0 18px 40px rgba(0,0,0,.28),inset 0 0 0 .2mm rgba(255,255,255,.16)}.nwm-portal-cards-panel .nwm-pvc-card .nwm-card-footer{position:absolute;left:5mm;right:5mm;bottom:4mm;margin:0;opacity:1;display:flex;justify-content:space-between;font-size:5.5pt;color:#d4af37;letter-spacing:.6pt;text-transform:uppercase}
@media(max-width:520px){.nwm-members-webapp-page .nwm-portal{padding-left:12px;padding-right:12px}.nwm-member-card-item{padding:12px;border-radius:18px}.nwm-card-preview-grid{grid-template-columns:1fr}.nwm-card-preview-side{margin-left:-4px;margin-right:-4px}.nwm-section-head{display:block}.nwm-card-count{display:inline-block;margin-top:8px}}


/* Front Office portalino - v1.0.9 */
.nw-membership-office-panel{border-color:rgba(212,175,55,.46);background:linear-gradient(145deg,rgba(6,9,20,.98),rgba(18,25,43,.94))}
.nw-membership-office-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:18px 0}
.nw-membership-office-stats>div{border:1px solid rgba(212,175,55,.22);border-radius:16px;background:rgba(255,255,255,.045);padding:16px}
.nw-membership-office-stats span{display:block;color:#d4af37;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:800;margin-bottom:6px}
.nw-membership-office-stats strong{display:block;color:#fff;font-size:25px;line-height:1}
.nw-membership-office-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 20px}
.nw-membership-office-nav a{border:1px solid rgba(212,175,55,.34);border-radius:999px;padding:9px 14px;color:#f1d36c;text-decoration:none;background:rgba(0,0,0,.18);font-weight:800}
.nw-membership-office-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px}
.nw-membership-office-card{border:1px solid rgba(212,175,55,.25);border-radius:20px;background:rgba(255,255,255,.04);padding:18px;min-width:0}
.nw-membership-office-card h3{margin:0 0 14px;color:#fff}
.nw-membership-office-card h4{margin:18px 0 8px;color:#d4af37}
.nw-membership-office-form{display:grid;gap:10px;margin-bottom:14px}
.nw-membership-office-form input,.nw-membership-office-form select,.nw-membership-office-form textarea{width:100%;border:1px solid rgba(201,162,39,.32);border-radius:12px;background:rgba(255,255,255,.96);color:#111;padding:10px 12px;min-height:42px}
.nw-membership-office-form textarea{min-height:90px;resize:vertical}
.nw-membership-office-form button{appearance:none;border:0;border-radius:999px;background:linear-gradient(135deg,#c9a227,#f1d36c);color:#111;font-weight:900;padding:11px 18px;cursor:pointer}
.nw-membership-office-check{display:flex;gap:8px;align-items:center;color:#fff}
.nw-membership-office-check input{width:auto;min-height:auto}
.nw-membership-office-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:12px;background:rgba(0,0,0,.12)}
.nw-membership-office-table th,.nw-membership-office-table td{padding:9px;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.88);text-align:left;font-size:13px}
.nw-membership-office-table th{color:#d4af37;text-transform:uppercase;letter-spacing:.08em;font-size:11px}
@media(max-width:560px){.nw-membership-office-grid{grid-template-columns:1fr}.nw-membership-office-table{display:block;overflow-x:auto}.nw-membership-office-stats{grid-template-columns:1fr 1fr}.nw-membership-office-card{padding:14px}}


/* Front Office UI polish - v1.0.10 */
.nw-membership-office-panel{padding:28px!important;border-radius:28px;background:linear-gradient(145deg,rgba(7,10,21,.99),rgba(15,23,42,.96))!important}
.nw-membership-office-head{margin-bottom:18px}
.nw-membership-office-head .nwm-muted{max-width:760px;line-height:1.6}
.nw-membership-office-stats{gap:16px;margin:20px 0 22px}
.nw-membership-office-stats>div{background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border-color:rgba(212,175,55,.28);padding:18px;border-radius:18px}
.nw-membership-office-nav{gap:12px;margin:18px 0 26px;padding:10px;border:1px solid rgba(212,175,55,.18);border-radius:20px;background:rgba(0,0,0,.16)}
.nw-membership-office-nav a{background:rgba(255,255,255,.055);border-color:rgba(212,175,55,.36);color:#f7d56a}
.nw-membership-office-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.nw-membership-office-card-wide{grid-column:1/-1}
.nw-membership-office-card{padding:0!important;overflow:hidden;background:rgba(255,255,255,.035)!important;border-color:rgba(212,175,55,.28)!important;border-radius:24px!important}
.nw-membership-office-card-title{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid rgba(212,175,55,.18);background:rgba(0,0,0,.18)}
.nw-membership-office-card-title span{display:block;color:#d4af37;text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:900;margin-bottom:4px}
.nw-membership-office-card-title h3{margin:0!important;color:#fff!important;font-size:22px}
.nw-membership-office-module{margin:18px;padding:18px;border:1px solid rgba(212,175,55,.18);border-radius:20px;background:rgba(255,255,255,.055)}
.nw-membership-office-module h4{margin:0 0 16px!important;color:#d4af37!important;font-size:15px;text-transform:uppercase;letter-spacing:.08em}
.nw-membership-office-subgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.nw-membership-office-form{display:grid;gap:14px!important;margin:0!important}
.nw-membership-office-form-2col{grid-template-columns:repeat(2,minmax(0,1fr))}
.nwm-field{display:flex;flex-direction:column;gap:7px;margin:0;color:#fff;font-weight:700}
.nwm-field span,.nw-membership-office-check span{color:#f0d98a;font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}
.nwm-field input,.nwm-field select,.nwm-field textarea,.nw-membership-office-form input,.nw-membership-office-form select,.nw-membership-office-form textarea,.nw-membership-office-search{
    width:100%!important;
    min-height:46px!important;
    border:1px solid rgba(212,175,55,.42)!important;
    border-radius:14px!important;
    background:#ffffff!important;
    color:#111827!important;
    padding:11px 13px!important;
    box-shadow:inset 0 1px 0 rgba(0,0,0,.04)!important;
    outline:none!important;
}
.nwm-field input::placeholder,.nwm-field textarea::placeholder,.nw-membership-office-search::placeholder{color:#64748b!important;opacity:1}
.nwm-field select option,.nw-membership-office-form select option{background:#fff!important;color:#111827!important}
.nwm-field input:focus,.nwm-field select:focus,.nwm-field textarea:focus,.nw-membership-office-search:focus{
    border-color:#f1d36c!important;
    box-shadow:0 0 0 3px rgba(241,211,108,.24)!important;
}
.nwm-field textarea{min-height:116px!important;resize:vertical}
.nwm-field-full{grid-column:1/-1}
.nw-membership-office-search{max-width:280px!important;background:#fff!important;color:#111827!important}
.nwm-form-actions{grid-column:1/-1;display:flex;justify-content:flex-end;margin-top:2px}
.nw-membership-office-form button,.nwm-form-actions button{min-height:46px;border-radius:999px!important;background:linear-gradient(135deg,#d4af37,#f4dc7d)!important;color:#111827!important;font-weight:900!important;padding:12px 22px!important}
.nw-membership-office-check{display:flex;align-items:center;gap:10px;margin:2px 0;color:#fff}
.nw-membership-office-check input{width:18px!important;height:18px!important;min-height:18px!important;accent-color:#d4af37}
.nwm-table-wrap{overflow:auto;border-radius:16px;border:1px solid rgba(212,175,55,.16);background:rgba(0,0,0,.18)}
.nw-membership-office-table{min-width:640px;background:transparent!important}
.nw-membership-office-table th{background:rgba(212,175,55,.10);color:#f1d36c!important}
.nw-membership-office-table td{color:rgba(255,255,255,.92)!important}
.nw-membership-office-status{display:inline-flex;border:1px solid rgba(212,175,55,.32);border-radius:999px;padding:3px 9px;color:#f1d36c;background:rgba(0,0,0,.18);font-size:12px;font-weight:800;text-transform:uppercase}
.nw-membership-office-list-module{padding-bottom:12px}
@media(max-width:980px){.nw-membership-office-grid,.nw-membership-office-subgrid{grid-template-columns:1fr}.nw-membership-office-form-2col{grid-template-columns:1fr}.nw-membership-office-card-title{display:block}.nw-membership-office-search{max-width:none!important;margin-top:12px}.nw-membership-office-panel{padding:20px!important}}
@media(max-width:560px){.nw-membership-office-panel{padding:16px!important;border-radius:22px}.nw-membership-office-module{margin:14px;padding:14px}.nw-membership-office-stats{grid-template-columns:1fr}.nw-membership-office-nav{display:grid;grid-template-columns:1fr 1fr}.nw-membership-office-nav a{text-align:center}.nwm-form-actions{justify-content:stretch}.nwm-form-actions button{width:100%}}


/* Portal-only roles + i18n - v1.0.11 */
.nwm-lang-switch{position:relative;z-index:5;display:flex;gap:8px;justify-content:flex-end;margin:-18px 0 12px}
.nwm-lang-switch a{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:34px;border-radius:999px;border:1px solid rgba(212,175,55,.35);background:rgba(0,0,0,.18);color:#f1d36c;text-decoration:none;font-weight:900;letter-spacing:.06em}
.nwm-lang-switch a.active{background:linear-gradient(135deg,#d4af37,#f4dc7d);color:#111827;border-color:transparent}
.nwm-verify-result{margin-top:14px;border:1px solid rgba(212,175,55,.22);border-radius:16px;background:rgba(0,0,0,.20);padding:15px;color:#fff;display:grid;gap:6px}
.nwm-verify-result strong{font-size:20px;color:#f1d36c}
.nwm-verify-result span,.nwm-verify-result em{display:block;color:rgba(255,255,255,.78);font-style:normal}
.nwm-verify-result.valid{border-color:rgba(34,197,94,.45);background:rgba(22,101,52,.22)}
.nwm-verify-result.valid strong{color:#86efac}
.nwm-verify-result.invalid{border-color:rgba(248,113,113,.45);background:rgba(127,29,29,.22)}
.nwm-verify-result.invalid strong{color:#fca5a5}
.nwm-verify-result.loading strong{color:#f1d36c}
@media(max-width:560px){.nwm-lang-switch{justify-content:flex-start;margin:0 0 12px}}


/* Language switch centered - v1.0.12 */
.nwm-lang-switch{
    position:static!important;
    z-index:1!important;
    grid-column:1 / -1!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    margin:8px auto 24px!important;
    padding:8px 0!important;
    clear:both!important;
}
.nwm-lang-switch a{
    min-width:46px!important;
    height:36px!important;
    margin:0!important;
}
.nwm-portal-entry>.nwm-lang-switch,
.nwm-portal-dashboard>.nwm-lang-switch{
    justify-self:center!important;
    align-self:center!important;
}
@media(max-width:560px){
    .nwm-lang-switch{
        justify-content:center!important;
        margin:6px auto 18px!important;
        padding:6px 0!important;
    }
}


/* Member sheet + documents - v1.0.14 */
.nw-membership-office-inline-select{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0}
.nw-membership-office-inline-select select{min-width:260px;min-height:42px;border:1px solid rgba(212,175,55,.42);border-radius:14px;background:#fff;color:#111827;padding:10px 12px}
.nw-membership-office-inline-select button,.nw-membership-office-mini{border:0;border-radius:999px;background:linear-gradient(135deg,#d4af37,#f4dc7d);color:#111827!important;font-weight:900;text-decoration:none;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center}
.nwm-member-sheet-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:0}
.nwm-member-photo-box{text-align:center}
.nwm-member-photo-box img{width:180px;height:180px;object-fit:cover;border-radius:24px;border:2px solid rgba(212,175,55,.45);background:#fff;box-shadow:0 16px 36px rgba(0,0,0,.25)}
.nwm-member-photo-placeholder{width:180px;height:180px;margin:0 auto;border-radius:24px;border:2px solid rgba(212,175,55,.45);display:flex;align-items:center;justify-content:center;color:#d4af37;background:rgba(0,0,0,.22);font-size:42px;font-weight:900;letter-spacing:.12em}
.nwm-member-photo-box p{color:rgba(255,255,255,.86);line-height:1.5}
.nw-membership-office-form input[type=file]{padding:9px 12px!important;background:#fff!important;color:#111827!important}
.nw-membership-office-table a.nw-membership-office-mini{padding:6px 11px;font-size:12px}
@media(max-width:980px){.nwm-member-sheet-grid{grid-template-columns:1fr}.nw-membership-office-inline-select{width:100%}.nw-membership-office-inline-select select,.nw-membership-office-inline-select button{width:100%}}


/* PDF card + document delete - v1.0.15 */
.nw-membership-office-mini.danger{background:linear-gradient(135deg,#7f1d1d,#ef4444)!important;color:#fff!important}
.nwm-card-actions .nwm-portal-pill{white-space:nowrap}


/* PayPal + identical print/PDF flow - v1.0.17 */
.nwm-paypal-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffc439;color:#111!important;text-decoration:none;font-weight:900;padding:7px 12px;white-space:nowrap;border:1px solid rgba(0,0,0,.12)}
.nwm-paypal-button:hover{filter:brightness(.96)}


/* Group dues + webcam scanner - v1.0.18 */
.nwm-scanner-camera{display:grid;gap:12px;margin-bottom:14px}


.nwm-form-actions-split{justify-content:flex-start!important;gap:10px!important;flex-wrap:wrap}
.nwm-form-actions-split button{width:auto!important}
@media(max-width:560px){.nwm-form-actions-split button{width:100%!important}}

/* Mobile full review and polish - v1.0.19 */
.nwm-members-webapp-page{overflow-x:hidden!important;background-attachment:scroll!important}
.nwm-members-webapp-page .nwm-portal{width:100%!important;max-width:1180px!important;min-width:0!important}
.nwm-members-webapp-page .nwm-portal input,.nwm-members-webapp-page .nwm-portal select,.nwm-members-webapp-page .nwm-portal textarea{font-size:16px!important}
.nwm-members-webapp-page .nwm-portal img,.nwm-members-webapp-page .nwm-portal video{max-width:100%;height:auto}
.nwm-portal-actions,.nwm-card-actions,.nwm-form-actions{min-width:0}
.nwm-portal-pill,.nw-membership-office-mini,.nwm-paypal-button{line-height:1.2;text-align:center}
.nwm-table-wrap,.nwm-card-preview-side,.nwm-payments{max-width:100%;-webkit-overflow-scrolling:touch}
.nw-membership-office-card,.nw-membership-office-module,.nwm-member-card-item{min-width:0}
.nw-membership-office-inline-select{min-width:0}.nw-membership-office-inline-select select{max-width:100%}
@media(max-width:780px){
  .nwm-members-webapp-page .nwm-portal{padding:18px 14px 34px!important;gap:18px!important}
  .nwm-portal-entry{display:block!important}
  .nwm-entry-hero{min-height:auto!important;padding:28px 22px!important;margin-bottom:18px!important;border-radius:24px!important}
  .nwm-entry-seal{width:72px!important;height:72px!important;margin-bottom:18px!important}
  .nwm-entry-hero h1{font-size:34px!important;line-height:1.08!important}
  .nwm-entry-text{font-size:16px!important;line-height:1.55!important}
  .nwm-login-card{padding:22px!important;border-radius:22px!important}
  .nwm-portal-hero{display:block!important;padding:24px 20px!important;border-radius:24px!important}
  .nwm-portal-hero h1{font-size:32px!important;line-height:1.12!important;word-break:break-word}
  .nwm-member-code{font-size:12px!important;line-height:1.4!important;word-break:break-word}
  .nwm-portal-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important;margin-top:18px!important}
  .nwm-portal-actions .nwm-portal-pill,.nwm-portal-actions .nwm-install-app{width:100%!important;justify-content:center!important}
  .nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents{padding:18px!important;border-radius:22px!important}
  .nwm-section-head{display:block!important}.nwm-card-count{display:inline-flex!important;margin-top:10px!important}
  .nw-membership-office-panel{padding:16px!important;border-radius:24px!important}
  .nw-membership-office-head .nwm-muted{font-size:14px!important;line-height:1.55!important}
  .nw-membership-office-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:16px 0!important}
  .nw-membership-office-stats>div{padding:13px 12px!important;border-radius:16px!important}.nw-membership-office-stats strong{font-size:22px!important}
  .nw-membership-office-nav{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important;padding:8px!important;margin:16px 0 18px!important}
  .nw-membership-office-nav a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:8px 10px!important;font-size:12px!important;line-height:1.25!important}
  .nw-membership-office-grid,.nw-membership-office-subgrid,.nw-membership-office-form-2col,.nwm-member-sheet-grid{grid-template-columns:1fr!important;gap:14px!important}
  .nw-membership-office-card{border-radius:20px!important}.nw-membership-office-card-title{display:block!important;padding:16px!important}.nw-membership-office-card-title h3{font-size:20px!important;line-height:1.15!important}
  .nw-membership-office-search{max-width:none!important;width:100%!important;margin-top:12px!important}
  .nw-membership-office-module{margin:12px!important;padding:14px!important;border-radius:18px!important}
  .nwm-field span,.nw-membership-office-check span{font-size:11px!important;line-height:1.25!important}
  .nwm-form-actions{justify-content:stretch!important}.nwm-form-actions button{width:100%!important;min-height:46px!important}
  .nw-membership-office-inline-select{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}.nw-membership-office-inline-select select,.nw-membership-office-inline-select button{width:100%!important;min-width:0!important}
  .nwm-member-photo-box img,.nwm-member-photo-placeholder{width:150px!important;height:150px!important;border-radius:20px!important}
  .nwm-card-preview-grid{grid-template-columns:1fr!important;gap:14px!important}.nwm-card-preview-side{padding:12px 8px!important;overflow-x:auto!important}.nwm-member-card-item{padding:14px!important;border-radius:20px!important}
  .nwm-card-actions{display:grid!important;grid-template-columns:1fr!important;gap:9px!important}.nwm-card-actions .nwm-portal-pill{width:100%!important;justify-content:center!important;margin:0!important}
  .nwm-rsvp-form{display:grid!important;grid-template-columns:1fr!important}.nwm-rsvp-form input,.nwm-rsvp-form select,.nwm-rsvp-form button{width:100%!important;max-width:none!important}
  .nwm-form-actions-split{display:grid!important;grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .nwm-members-webapp-page .nwm-portal{padding:14px 10px 28px!important}
  .nwm-lang-switch{margin:4px auto 14px!important;gap:7px!important}.nwm-lang-switch a{min-width:40px!important;height:32px!important;font-size:12px!important}
  .nwm-entry-hero,.nwm-login-card,.nwm-portal-hero,.nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents,.nw-membership-office-panel{border-radius:18px!important}
  .nwm-entry-hero h1,.nwm-portal-hero h1{font-size:28px!important}
  .nwm-portal-actions{grid-template-columns:1fr!important}
  .nw-membership-office-stats{grid-template-columns:1fr!important}.nw-membership-office-nav{grid-template-columns:1fr!important}
  .nw-membership-office-card-title{padding:14px!important}.nw-membership-office-module{margin:10px!important;padding:12px!important}
  .nw-membership-office-table{min-width:560px!important}.nwm-payments th,.nwm-payments td{padding:8px!important;font-size:13px!important}
  .nwm-member-photo-box img,.nwm-member-photo-placeholder{width:132px!important;height:132px!important}
  .nwm-card-preview-side{margin-left:0!important;margin-right:0!important}
  .nwm-portal-cards-panel .nwm-pvc-card{transform-origin:top left}
  .nwm-paypal-button,.nw-membership-office-mini{width:100%!important;justify-content:center!important}
  
}

/* Premium portal dashboard + notifications - v1.0.20 */
.nwm-premium-hero{position:relative;overflow:visible;background:linear-gradient(145deg,rgba(4,7,15,.98),rgba(14,21,38,.96))!important;border:1px solid rgba(212,175,55,.38)!important;box-shadow:0 22px 70px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.04)}
.nwm-premium-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 0%,rgba(212,175,55,.16),transparent 34%),linear-gradient(120deg,transparent 30%,rgba(255,255,255,.05),transparent 64%);pointer-events:none;border-radius:inherit}.nwm-hero-identity{display:flex;align-items:center;gap:18px;position:relative;z-index:1}.nwm-profile-avatar-sm{width:82px;height:82px;border-radius:26px;border:1px solid rgba(212,175,55,.45);background:rgba(0,0,0,.22);display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.28)}.nwm-profile-avatar-sm img{width:100%;height:100%;object-fit:cover}.nwm-profile-avatar-sm span{color:#d4af37;font-weight:900;letter-spacing:.14em}.nwm-badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.nwm-degree-badge{display:inline-flex;align-items:center;border:1px solid rgba(212,175,55,.28);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;padding:6px 10px;font-weight:800;font-size:12px}.nwm-degree-badge.gold{background:linear-gradient(135deg,rgba(212,175,55,.25),rgba(241,211,108,.10));color:#f7d56a}.nwm-degree-badge.office{border-color:rgba(147,197,253,.35);color:#bfdbfe}.nwm-notification-bell{position:relative;width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:rgba(255,255,255,.08);border:1px solid rgba(212,175,55,.35);font-size:20px}.nwm-notification-bell span{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;border-radius:999px;background:#ef4444;color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;border:2px solid #111827}.nwm-premium-dashboard{background:linear-gradient(145deg,rgba(9,13,26,.96),rgba(17,24,39,.92))!important;border-color:rgba(212,175,55,.26)!important}.nwm-dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.nwm-dashboard-cards a{display:block;text-decoration:none;border:1px solid rgba(212,175,55,.24);background:rgba(255,255,255,.055);border-radius:20px;padding:18px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03)}.nwm-dashboard-cards span{display:block;color:#d4af37;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;margin-bottom:8px}.nwm-dashboard-cards strong{display:block;color:#fff;font-size:26px}.nwm-profile-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px}.nwm-profile-photo-card{border:1px solid rgba(212,175,55,.22);border-radius:22px;background:rgba(255,255,255,.045);padding:16px;text-align:center;display:grid;gap:12px;justify-items:center}.nwm-profile-photo-card img{width:180px;height:180px;object-fit:cover;border-radius:24px;border:2px solid rgba(212,175,55,.45)}.nwm-inline-read{margin-top:10px}.nwm-inline-read button{border:0;border-radius:999px;background:linear-gradient(135deg,#d4af37,#f4dc7d);color:#111827;font-weight:900;padding:8px 13px}.nwm-message-list small{display:inline-block;margin:4px 0 8px;color:#d4af37}.nwm-online-panel{grid-column:1/-1;margin:0 0 22px}.nwm-sheet-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.nwm-activity-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.nwm-activity-list li{border:1px solid rgba(212,175,55,.18);border-radius:16px;background:rgba(0,0,0,.16);padding:12px}.nwm-activity-list span{display:block;color:#d4af37;font-size:12px;font-weight:800}.nwm-activity-list strong{display:block;color:#fff;margin-top:3px}.nwm-activity-list em{display:block;color:rgba(255,255,255,.72);font-style:normal;margin-top:2px}.nw-membership-office-card-title+.nw-membership-office-module{margin-top:18px}
@media(max-width:760px){.nwm-premium-hero{display:block!important}.nwm-hero-identity{display:block;text-align:center}.nwm-profile-avatar-sm{margin:0 auto 14px}.nwm-badge-row{justify-content:center}.nwm-portal-actions{justify-content:center}.nwm-profile-grid{grid-template-columns:1fr}.nwm-dashboard-cards{grid-template-columns:1fr 1fr}.nwm-dashboard-cards a{padding:14px}.nwm-dashboard-cards strong{font-size:22px}.nwm-notification-bell{width:42px;height:42px}.nwm-online-panel{margin-left:0;margin-right:0}.nwm-activity-list li{padding:10px}}
@media(max-width:430px){.nwm-dashboard-cards{grid-template-columns:1fr}.nwm-profile-photo-card img,.nwm-member-photo-placeholder{width:150px!important;height:150px!important}.nwm-degree-badge{font-size:11px;padding:5px 8px}}

.nw-membership-office-check.nwm-field-full{grid-column:1 / -1}
/* Enterprise responsive containment + message replies - v1.0.23 */
html,body{max-width:100%;overflow-x:hidden!important}
.nwm-portal,.nwm-portal *,.nw-membership-office-panel,.nw-membership-office-panel *{box-sizing:border-box}
.nwm-portal{width:100%;max-width:min(1180px,calc(100vw - 24px));margin-left:auto!important;margin-right:auto!important;overflow-x:hidden}
.nwm-portal-section,.nwm-portal-finance,.nwm-grid>section,.nw-membership-office-card,.nw-membership-office-module,.nwm-member-card-item,.nwm-profile-section{max-width:100%;min-width:0;overflow-wrap:anywhere}
.nwm-table-wrap,.nwm-card-preview-side{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.nw-membership-office-table,.nwm-payments{min-width:680px}
.nw-membership-office-form input,.nw-membership-office-form select,.nw-membership-office-form textarea,.nwm-rsvp-form input,.nwm-rsvp-form select,.nwm-rsvp-form textarea,.nwm-reply-form textarea{max-width:100%;width:100%}
.nwm-message-thread{display:block!important;border:1px solid rgba(212,175,55,.18);border-radius:20px;background:rgba(0,0,0,.12);padding:16px!important;margin-bottom:14px}
.nwm-message-body{margin:10px 0;color:rgba(255,255,255,.86);line-height:1.55}
.nwm-message-replies{margin-top:14px;border-top:1px solid rgba(212,175,55,.18);padding-top:12px;display:grid;gap:10px}
.nwm-message-replies h4{margin:0 0 4px;color:#d4af37;text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.nwm-message-reply{border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.07);padding:10px 12px}
.nwm-message-reply span{display:block;color:#d4af37;font-size:12px;font-weight:800;margin-bottom:5px}
.nwm-message-reply p{margin:0;color:#fff}
.nwm-reply-form{margin-top:12px;display:grid;gap:10px}
.nwm-reply-form textarea{min-height:92px;resize:vertical}
@media(max-width:900px){
  .nwm-portal{max-width:calc(100vw - 18px);padding-left:0!important;padding-right:0!important}
  .nw-membership-office-grid,.nw-membership-office-subgrid,.nwm-member-sheet-grid,.nwm-profile-grid,.nwm-grid,.nwm-card-preview-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .nwm-premium-hero,.nwm-portal-hero{display:grid!important;grid-template-columns:1fr!important;gap:16px!important;padding:20px 16px!important}
  .nwm-hero-identity{align-items:flex-start!important;gap:12px!important;min-width:0}
  .nwm-profile-avatar-sm{width:64px!important;height:64px!important;border-radius:18px!important;flex:0 0 auto}
  .nwm-portal-actions{justify-content:flex-start!important;gap:8px!important;flex-wrap:wrap!important;width:100%}
  .nwm-portal-pill,.nwm-notification-bell,.nwm-install-app,.nwm-form-actions button,.nw-membership-office-mini{max-width:100%;white-space:normal!important;text-align:center}
  .nwm-dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .nwm-dashboard-cards a{padding:14px 12px!important;min-width:0}
  .nwm-dashboard-cards strong{font-size:22px!important}
  .nwm-section-head,.nw-membership-office-card-title{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;align-items:start!important}
  .nw-membership-office-search{width:100%!important;min-width:0!important}
  .nw-membership-office-nav{display:flex!important;overflow-x:auto!important;gap:8px!important;padding-bottom:6px!important;scroll-snap-type:x proximity}
  .nw-membership-office-nav a{flex:0 0 auto;scroll-snap-align:start}
  .nwm-profile-photo-card img{width:140px!important;height:140px!important}
  .nwm-member-card-item{padding:14px!important;border-radius:18px!important}
  .nwm-card-preview-side{padding:10px!important;align-items:flex-start!important}
  .nwm-card-preview-side .nwm-pvc-card{transform:scale(.88);transform-origin:top left;margin-bottom:-8mm}
}
@media(max-width:560px){
  .nwm-portal{max-width:calc(100vw - 12px)}
  .nwm-dashboard-cards{grid-template-columns:1fr!important}
  .nwm-badge-row{gap:6px!important}
  .nwm-degree-badge{font-size:11px!important;padding:5px 8px!important}
  .nw-membership-office-stats{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .nw-membership-office-stats div{padding:12px!important;min-width:0}
  .nw-membership-office-form,.nw-membership-office-form-2col{grid-template-columns:1fr!important}
  .nwm-field,.nwm-field-full{grid-column:auto!important;min-width:0!important}
  .nw-membership-office-form input,.nw-membership-office-form select,.nw-membership-office-form textarea{font-size:16px!important}
  .nwm-table-wrap{margin-left:-4px;margin-right:-4px;padding-bottom:6px}
  .nw-membership-office-table,.nwm-payments{font-size:13px;min-width:620px}
  .nwm-card-preview-side .nwm-pvc-card{transform:scale(.74);margin-bottom:-14mm}
  .nwm-card-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .nwm-card-actions .nwm-portal-pill{width:100%!important}
  .nwm-message-thread{padding:13px!important;border-radius:16px!important}
}

/* Members login route fallback + visibility - v1.0.25 */
.nwm-portal-entry,.nwm-login-card,.nwm-entry-hero{display:block!important;visibility:visible!important;opacity:1!important;max-width:100%;box-sizing:border-box}
.nwm-login-card form,.nwm-login-card p,.nwm-login-card input,.nwm-login-card label{max-width:100%;box-sizing:border-box}
.nwm-login-card input[type=text],.nwm-login-card input[type=password]{width:100%!important;min-height:44px}
.nwm-login-card .button,.nwm-login-card input[type=submit]{width:100%;min-height:46px;border-radius:999px}
.nwm-login-direct-link{font-size:12px;opacity:.72;text-align:center;margin-top:8px}
@media(max-width:720px){.nwm-portal-entry{padding-left:14px!important;padding-right:14px!important}.nwm-login-card,.nwm-entry-hero{width:100%!important;margin-left:auto!important;margin-right:auto!important}}

.nwm-library-list{list-style:none!important;padding:0!important;display:grid;gap:12px}.nwm-library-list li{border:1px solid rgba(212,175,55,.22);border-radius:16px;background:rgba(255,255,255,.045);padding:14px 16px}.nwm-library-list small{display:block;color:#d4af37;margin-top:5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:11px}.nwm-library-list em{display:block;color:rgba(255,255,255,.72);font-style:normal;margin-top:6px;line-height:1.45}

/* Reserved video library - v1.0.37 */
.nwm-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:16px}
.nwm-video-card{border:1px solid rgba(212,175,55,.24);border-radius:20px;background:rgba(255,255,255,.045);overflow:hidden;box-shadow:0 14px 36px rgba(0,0,0,.16)}
.nwm-video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#070a12}
.nwm-video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.nwm-video-meta{display:grid;gap:9px;padding:14px 16px}
.nwm-video-meta strong{color:#fff;line-height:1.3}
.nwm-video-meta small{display:block;color:#d4af37;font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:11px}
.nwm-inline-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.nwm-inline-actions form,.nwm-inline-form{display:inline-flex;margin:0;gap:6px;align-items:center}
.nwm-danger-text{display:block;color:#fecaca;font-style:normal;margin-top:4px}
.nwm-video-sync-all{margin:0 0 12px 0}
@media(max-width:560px){.nwm-video-grid{grid-template-columns:1fr}.nwm-video-meta{padding:12px}.nwm-inline-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.nwm-inline-actions form{display:grid}.nwm-video-sync-all{display:grid}}

/* NW Membership Office 1.0.42 - Organized office modules */
.nw-membership-office-nav-grouped{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;
    gap:12px!important;
    padding:14px!important;
    align-items:stretch!important;
}
.nw-membership-office-nav-group{
    border:1px solid rgba(212,175,55,.20);
    border-radius:18px;
    background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
    padding:12px;
    min-width:0;
}
.nw-membership-office-nav-group>strong{
    display:block;
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:.10em;
    font-size:11px;
    margin:0 0 9px;
}
.nw-membership-office-nav-group>div{display:flex;gap:8px;flex-wrap:wrap}
.nw-membership-office-nav-group a{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:7px 11px!important;
    font-size:12px;
    line-height:1.2;
    white-space:normal;
}
.nw-membership-office-module-map{
    display:grid;
    grid-template-columns:1.35fr repeat(auto-fit,minmax(150px,1fr));
    gap:12px;
    margin:0 0 24px;
}
.nw-membership-office-map-head,.nw-membership-office-module-map>a{
    min-width:0;
    border:1px solid rgba(212,175,55,.20);
    border-radius:20px;
    background:rgba(255,255,255,.045);
    padding:15px;
    text-decoration:none;
}
.nw-membership-office-map-head span,.nw-membership-office-module-map>a span{
    display:block;
    color:#d4af37;
    text-transform:uppercase;
    letter-spacing:.12em;
    font-size:11px;
    font-weight:900;
    margin-bottom:7px;
}
.nw-membership-office-map-head strong,.nw-membership-office-module-map>a strong{display:block;color:#fff;font-size:17px;line-height:1.2}
.nw-membership-office-map-head em,.nw-membership-office-module-map>a em{display:block;margin-top:6px;color:rgba(255,255,255,.70);font-style:normal;font-size:12px;line-height:1.35}
.nw-membership-office-module-map>a:hover{border-color:rgba(212,175,55,.52);background:rgba(212,175,55,.075)}
.nw-membership-office-section-label{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin:26px 0 14px;
    padding:16px 18px;
    border:1px solid rgba(212,175,55,.22);
    border-radius:22px;
    background:linear-gradient(135deg,rgba(212,175,55,.10),rgba(255,255,255,.035));
}
.nw-membership-office-section-label-grid{grid-column:1/-1;margin:10px 0 -4px}
.nw-membership-office-section-label>span{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:44px;
    height:44px;
    border-radius:16px;
    border:1px solid rgba(212,175,55,.32);
    color:#f1d36c;
    font-weight:900;
    letter-spacing:.06em;
    background:rgba(0,0,0,.18);
}
.nw-membership-office-section-label h3{margin:0!important;color:#fff!important;font-size:20px!important}
.nw-membership-office-section-label p{margin:5px 0 0;color:rgba(255,255,255,.70);line-height:1.45}
#office-members,#office-member-sheet,#office-finance,#office-library,#office-videos{scroll-margin-top:20px}
#office-events,#office-communications,#office-scanner,#office-login-history,#office-monitoring{scroll-margin-top:20px}
@media(max-width:980px){
    .nw-membership-office-module-map{grid-template-columns:repeat(2,minmax(0,1fr))}
    .nw-membership-office-map-head{grid-column:1/-1}
}
@media(max-width:640px){
    .nw-membership-office-nav-grouped{grid-template-columns:1fr!important;padding:10px!important}
    .nw-membership-office-nav-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
    .nw-membership-office-nav-group a{width:100%;min-height:40px;text-align:center}
    .nw-membership-office-module-map{grid-template-columns:1fr!important}
    .nw-membership-office-section-label{padding:14px;gap:10px}
    .nw-membership-office-section-label>span{min-width:38px;height:38px;border-radius:14px;font-size:12px}
}
@media(max-width:420px){.nw-membership-office-nav-group>div{grid-template-columns:1fr}}


/* NW Hospitality Network 1.3 */
.nwm-restaurant-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:22px}.nwm-restaurant-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nwm-restaurant-form label{display:grid;gap:6px}.nwm-restaurant-form .is-wide,.nwm-restaurant-form button{grid-column:1/-1}.nwm-restaurant-list{display:grid;gap:10px}.nwm-restaurant-list article{padding:12px;border:1px solid rgba(148,163,184,.3);border-radius:12px;display:grid;gap:6px}.nwm-secondary-button{background:transparent!important;border:1px solid currentColor!important}.nwm-message-reply{border-left:3px solid #0f766e}.nwm-video-qr{display:flex;align-items:center;gap:10px;margin:10px 0}.nwm-video-qr svg{width:96px;height:96px;flex:0 0 auto}.nwm-video-qr span{font-size:.85rem;color:var(--nwm-muted,#64748b)}@media(max-width:760px){.nwm-restaurant-grid{grid-template-columns:1fr}.nwm-restaurant-form{grid-template-columns:1fr}.nwm-restaurant-form .is-wide,.nwm-restaurant-form button{grid-column:auto}}
/* NW Hospitality Network 1.3 — operator analytics, video QR and restaurant */
#office-restaurant,#office-analytics{scroll-margin-top:20px}
.nwm-video-qr-small{display:inline-flex;align-items:center;justify-content:center;padding:4px;border-radius:10px;background:#fff;line-height:0}
.nwm-video-qr-small svg{display:block;width:82px;height:82px;max-width:none}
.nwm-staff-reply-form{margin-top:16px;padding-top:16px;border-top:1px solid rgba(212,175,55,.2)}
.nwm-restaurant-response{display:grid;gap:8px;min-width:230px}.nwm-restaurant-response textarea{width:100%;min-height:70px}.nwm-restaurant-response .danger{background:#7f1d1d!important}
.nwm-analytics-page .nwm-period-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.nwm-analytics-page .nwm-period-tabs button{border:1px solid rgba(212,175,55,.3);border-radius:999px;padding:9px 14px;background:rgba(255,255,255,.06);color:#fff;cursor:pointer}
.nwm-analytics-page .nwm-period-tabs button.button-primary{background:#d4af37;color:#111827;border-color:#d4af37}
.nwm-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.nwm-chart-panel{min-width:0}.nwm-chart-panel canvas{display:block;width:100%;height:280px;background:rgba(255,255,255,.96);border-radius:12px}.nwm-chart-total{font-weight:700;color:#d4af37}
@media(max-width:900px){.nwm-analytics-grid{grid-template-columns:1fr}}
@media(max-width:560px){.nwm-video-qr-small svg{width:68px;height:68px}.nwm-restaurant-response{min-width:200px}}


/* 2.3.6 — square scanners + container normalization */
.nwm-operator-scanner .nwm-scanner-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:18px;align-items:stretch}
.nwm-operator-scanner .nwm-scanner-grid>div{min-width:0;height:100%}
.nwm-operator-scanner .nwm-scanner-grid>div:first-child{display:grid;gap:12px;align-content:start}
.nwm-operator-scanner #nwm-qr-file{display:block;width:100%;max-width:100%}
#office-scanner .nw-membership-office-module{display:grid;gap:16px;align-items:start}
#office-scanner .nwm-scanner-camera{display:grid;gap:12px;align-content:start;min-width:0}

.nwm-verify-result{height:100%;min-height:320px;align-content:start;overflow-wrap:anywhere;word-break:break-word}
.nwm-verify-result strong,.nwm-verify-result span,.nwm-verify-result em{overflow-wrap:anywhere;word-break:break-word}
.nw-membership-office-stats,.nw-membership-office-nav-grouped,.nw-membership-office-module-map,.nwm-dashboard-cards,.nwm-grid,.nwm-card-preview-grid{align-items:stretch}
.nw-membership-office-stats>div,.nw-membership-office-nav-group,.nw-membership-office-module-map>a,.nw-membership-office-map-head,.nwm-dashboard-cards>*{display:flex;flex-direction:column;justify-content:flex-start;height:100%;min-width:0}
.nw-membership-office-stats>div{min-height:112px}
.nw-membership-office-nav-group{min-height:118px}
.nw-membership-office-module-map>a,.nw-membership-office-map-head{min-height:136px}
.nw-membership-office-nav-group a,.nw-membership-office-module-map>a em,.nw-membership-office-module-map>a strong{overflow-wrap:anywhere}
.nw-membership-office-card,.nw-membership-office-module,.nwm-member-card-item,.nwm-portal-section,.nwm-portal-finance,.nwm-portal-events,.nwm-portal-communications,.nwm-portal-documents{min-width:0}
.nwm-form-actions{align-items:stretch}
.nwm-form-actions button{min-height:46px}
@media(max-width:820px){.nwm-operator-scanner .nwm-scanner-grid{grid-template-columns:1fr}.nwm-verify-result{min-height:280px}.nw-membership-office-nav-group,.nw-membership-office-module-map>a,.nw-membership-office-map-head{min-height:auto}}
@media(max-width:560px){.nwm-verify-result{min-height:240px}.nw-membership-office-stats>div{min-height:auto}}


/* 2.3.7 — staff QR management in Office Portal */
#office-staff-qr{scroll-margin-top:20px}
.nwm-staff-qr-manager{display:grid!important;gap:24px!important}
.nwm-staff-qr-manager>section{min-width:0;padding:18px;border:1px solid rgba(212,175,55,.20);border-radius:18px;background:rgba(255,255,255,.035)}
.nwm-staff-qr-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px;align-items:stretch}
.nwm-staff-qr-pair>article{display:grid;justify-items:center;align-content:start;gap:10px;min-width:0;padding:16px;border:1px solid rgba(212,175,55,.22);border-radius:16px;background:rgba(0,0,0,.16);text-align:center;color:#fff}
.nwm-staff-qr-pair svg{display:block;width:min(100%,220px);height:auto;aspect-ratio:1/1;border-radius:12px;background:#fff}
.nwm-staff-qr-pair.is-small svg{width:min(100%,160px)}
.nwm-staff-qr-pair small{color:rgba(255,255,255,.72)}
.nwm-staff-site-qr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:stretch}
.nwm-staff-site-qr-card{display:flex;flex-direction:column;min-width:0;height:100%;padding:16px;border:1px solid rgba(212,175,55,.18);border-radius:16px;background:rgba(255,255,255,.035)}
.nwm-staff-site-qr-card form{margin-bottom:14px}
.nwm-staff-qr-manager .nwm-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nwm-staff-qr-manager .nwm-inline-form select{min-width:280px;max-width:100%}
@media(max-width:700px){.nwm-staff-qr-pair,.nwm-staff-site-qr-grid{grid-template-columns:1fr}.nwm-staff-qr-manager .nwm-inline-form{display:grid}.nwm-staff-qr-manager .nwm-inline-form select,.nwm-staff-qr-manager .nwm-inline-form button{width:100%;min-width:0}}


/* 2.4.0 — room Wi-Fi portal */
.nwm-wifi-room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:18px;align-items:stretch}.nwm-wifi-room-card{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;height:100%;min-width:0;padding:20px;border:1px solid #ded2c5;border-radius:20px;background:#fffdf9;color:#26352f;box-shadow:0 12px 32px rgba(48,35,26,.08)}.nwm-wifi-room-qr{display:grid;place-items:center;align-self:start;padding:10px;border:1px solid #e4d9cd;border-radius:16px;background:#fff;line-height:0}.nwm-wifi-room-qr svg{display:block;width:100%;height:auto;aspect-ratio:1/1}.nwm-wifi-room-info{min-width:0}.nwm-wifi-room-info h3{margin:0 0 12px!important;color:#26352f!important}.nwm-wifi-room-info dl{display:grid;gap:9px;margin:0}.nwm-wifi-room-info dl>div{padding:10px 12px;border-radius:10px;background:#f4ede4}.nwm-wifi-room-info dt{color:#6d7772;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.nwm-wifi-room-info dd{margin:3px 0 0;color:#26352f;font-weight:800;overflow-wrap:anywhere;word-break:break-word}.nwm-wifi-room-note{margin:12px 0;padding:11px 13px;border-left:4px solid #a64f38;border-radius:8px;background:#f9f2ea;color:#394740;line-height:1.5}@media(max-width:640px){.nwm-wifi-room-card{grid-template-columns:1fr}.nwm-wifi-room-qr{width:min(260px,100%);margin-inline:auto}}


/* 2.5.7 — creazione profili e area assegnata */
.nwm-profile-create-card{border:2px solid rgba(139,73,54,.38)!important;box-shadow:0 18px 44px rgba(48,35,26,.12)!important}
.nwm-profile-create-card .nw-membership-office-card-title{background:linear-gradient(135deg,#293832,#3d594d)!important}
.nwm-profile-create-card .nw-membership-office-card-title h3{color:#fff!important}
.nwm-profile-create-card .nw-membership-office-card-title span{color:#f3d7c8!important}
.nwm-profile-access-preview{padding:13px 15px;border:1px solid #d8c7b8;border-left:5px solid #984c34;border-radius:12px;background:#f8f1e9;color:#293832!important;line-height:1.45}
.nwm-profile-access-preview strong{color:#713b2a!important}

.nwm-office-only-page{padding-top:28px!important}
.nwm-office-only-hero{margin-bottom:20px!important}
.nwm-office-only-hero h1,.nwm-office-only-hero p{color:#fff!important}
.nwm-office-only-page .nw-membership-office-panel{margin-top:0!important}


/* 2.5.8 — Portalino: creazione profili sempre visibile agli utenti autorizzati */
.nwm-office-create-hero,.nwm-office-create-link,.nwm-office-create-map{background:#8b4936!important;color:#fff!important;border-color:#8b4936!important;font-weight:850!important}
#office-profile-create{display:block!important;visibility:visible!important;opacity:1!important;scroll-margin-top:90px}
#office-profile-create .nw-membership-office-card-title{display:flex!important;background:linear-gradient(135deg,#293832,#3d594d)!important;color:#fff!important}
#office-profile-create .nw-membership-office-card-title h3,#office-profile-create .nw-membership-office-card-title p{color:#fff!important}
#office-profile-create .nw-membership-office-card-title p{margin:5px 0 0!important;font-size:.9rem!important;opacity:.82}
#office-profile-create .nw-membership-office-module{display:block!important;background:#fffdf9!important;color:#26352f!important}
#office-profile-create .nw-membership-office-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;overflow:visible!important}
#office-profile-create .nwm-field{display:grid!important;gap:7px!important;min-width:0!important;color:#26352f!important}
#office-profile-create .nwm-field span,#office-profile-create .nwm-field small{color:#26352f!important}
#office-profile-create input,#office-profile-create select{display:block!important;visibility:visible!important;width:100%!important;min-height:48px!important;background:#fff!important;color:#17231f!important;border:1px solid #b9aea2!important}
#office-profile-create [hidden]{display:none!important}
#office-profile-create .nwm-field-full{grid-column:1/-1!important}
.nwm-profile-access-rules{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:14px;border:1px solid #dfd2c5;border-radius:12px;background:#f8f1e9;color:#26352f}
.nwm-profile-access-rules strong{grid-column:1/-1;color:#8b4936!important}
.nwm-profile-access-rules span{display:block;color:#394740!important;line-height:1.45}
#office-profile-create .nwm-form-actions button{display:inline-flex!important;min-height:50px!important;padding:12px 24px!important;background:#8b4936!important;color:#fff!important;font-weight:850!important}
@media(max-width:760px){#office-profile-create .nw-membership-office-form{grid-template-columns:1fr!important}.nwm-profile-access-rules{grid-template-columns:1fr}.nwm-profile-access-rules strong{grid-column:auto}}


/* 2.5.9 — Ufficio Organizzazione: Crea profilo sempre visibile */
.nwm-office-only-page .nwm-office-create-primary{display:block!important;margin:20px 0 24px!important;padding:clamp(20px,3vw,32px)!important;border:2px solid #9b5037!important;border-radius:22px!important;background:#fffdf9!important;color:#26352f!important;box-shadow:0 18px 48px rgba(48,35,26,.12)!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:2!important}
.nwm-office-create-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px}
.nwm-office-create-heading h2{margin:0 0 8px!important;color:#26352f!important;font-size:clamp(1.65rem,3vw,2.35rem)!important}
.nwm-office-create-heading p{margin:0;color:#5f6d67!important;line-height:1.55}
.nwm-office-create-badge{display:inline-flex;align-items:center;min-height:34px;padding:7px 11px;border-radius:999px;background:#f1e5dc;color:#793923;font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}
.nwm-office-create-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin:0!important}
.nwm-office-create-form .nwm-field{display:grid!important;gap:7px!important;min-width:0!important;color:#26352f!important;font-weight:750!important}
.nwm-office-create-form input,.nwm-office-create-form select{display:block!important;width:100%!important;min-height:48px!important;background:#fff!important;color:#17231f!important;border:1px solid #c8b9ab!important;border-radius:11px!important;padding:10px 12px!important;box-sizing:border-box!important}
.nwm-office-create-form .nwm-profile-access-preview,.nwm-office-create-form .nwm-profile-access-rules{display:grid!important;gap:6px!important;padding:14px!important;border:1px solid #dfd2c5!important;border-radius:12px!important;background:#f8f2eb!important;color:#26352f!important}
.nwm-office-create-form .nwm-form-actions button{min-height:50px!important;background:#9b5037!important;color:#fff!important;border:0!important;border-radius:11px!important;font-weight:850!important;padding:12px 20px!important}
@media(max-width:720px){.nwm-office-create-heading{display:grid}.nwm-office-create-badge{justify-self:start}.nwm-office-create-form{grid-template-columns:1fr!important}}

/* 2.6.3 - selezione multipla clienti per quote e pagamenti */
.nwm-finance-selection-module{align-self:start}
.nwm-customer-picker{display:grid;gap:10px;width:100%;padding:14px;border:1px solid rgba(240,217,138,.28);border-radius:14px;background:rgba(255,255,255,.055)}
.nwm-customer-picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.nwm-customer-picker-head strong{color:#fff;font-size:14px}
.nwm-customer-picker-head span{display:inline-flex;padding:5px 9px;border-radius:999px;background:rgba(240,217,138,.15);color:#f0d98a;font-size:12px;font-weight:800}
.nwm-customer-picker>input[type=search]{width:100%;min-height:42px}
.nwm-customer-picker-actions{display:flex;flex-wrap:wrap;gap:8px}
.nwm-customer-picker-actions button{min-height:34px!important;padding:7px 11px!important;border:1px solid rgba(240,217,138,.28)!important;background:transparent!important;color:#f8edd0!important;font-size:12px!important}
.nwm-customer-picker-list{display:grid;gap:6px;max-height:270px;overflow:auto;padding:4px 4px 4px 0;scrollbar-width:thin}
.nwm-customer-picker-list label{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;gap:10px!important;margin:0!important;padding:9px 10px!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:10px!important;background:rgba(255,255,255,.04)!important;cursor:pointer}
.nwm-customer-picker-list label:hover{border-color:rgba(240,217,138,.5)!important;background:rgba(240,217,138,.08)!important}
.nwm-customer-picker-list input[type=checkbox]{width:18px!important;height:18px!important;min-height:0!important;margin:0!important;accent-color:#c39a62}
.nwm-customer-picker-list label>span{display:grid;gap:2px;min-width:0;color:#fff!important;text-transform:none!important;letter-spacing:normal!important;font-size:13px!important}
.nwm-customer-picker-list strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}
.nwm-customer-picker-list small{overflow:hidden;color:#d9d2c8;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:640px){.nwm-customer-picker-head{align-items:flex-start;flex-direction:column}.nwm-customer-picker-list{max-height:230px}}


/* 2.7.8 — Alert cliente affidabili e stato visibile */
.nwm-alert-send-status{min-height:24px;margin-top:10px;padding:0;font-weight:800;line-height:1.45}
.nwm-alert-send-status.is-working{color:#8a6424}.nwm-alert-send-status.is-success{color:#1f6a42}.nwm-alert-send-status.is-error{color:#a22d2d}
.nwm-portal-notice.is-error{border-color:#d59a9a!important;background:#fff0f0!important;color:#8f2424!important}
.nwm-member-alert-history{display:grid;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(65,77,70,.16)}
.nwm-member-alert-history h3{margin:0;color:inherit;font-size:1rem}
.nwm-member-alert-history article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:13px 14px;border:1px solid rgba(65,77,70,.15);border-radius:12px;background:rgba(255,255,255,.56)}
.nwm-member-alert-history article p{margin:5px 0;color:inherit;line-height:1.45}.nwm-member-alert-history article small{display:block;margin-top:7px;font-weight:700}.nwm-member-alert-history article time{white-space:nowrap;font-size:.78rem;opacity:.72}
@media(max-width:640px){.nwm-member-alert-history article{grid-template-columns:1fr}.nwm-member-alert-history article time{white-space:normal}}


/* 2.7.9 — Concierge digitale pulito e guida del soggiorno in evidenza */
.nwm-stay-guide-section{overflow:hidden;border:1px solid rgba(139,73,54,.24)!important;background:linear-gradient(135deg,#fffaf3 0%,#f4e6d8 100%)!important}
.nwm-stay-guide-content{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:20px;align-items:center}
.nwm-stay-guide-icon{display:grid;place-items:center;width:68px;height:68px;border-radius:20px;background:#8b4936;color:#fff;font-size:32px;box-shadow:0 12px 30px rgba(139,73,54,.22)}
.nwm-stay-guide-copy h2{margin:3px 0 8px!important}.nwm-stay-guide-copy>p:not(.nwm-kicker){margin:0;color:#52615a;line-height:1.55}
.nwm-stay-guide-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:13px}.nwm-stay-guide-meta>*{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.72);color:#33443c;font-size:.84rem}
.nwm-stay-guide-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:50px;padding:12px 18px;border-radius:13px;background:#8b4936;color:#fff!important;text-decoration:none;font-weight:850;white-space:nowrap;box-shadow:0 10px 24px rgba(139,73,54,.22)}
.nwm-stay-guide-button:hover{transform:translateY(-1px);filter:brightness(1.04)}
.nwm-guide-empty{grid-column:1/-1;margin:0;padding:16px;border:1px dashed rgba(65,77,70,.3);border-radius:14px;background:#fff}
@media(max-width:760px){.nwm-stay-guide-content{grid-template-columns:auto minmax(0,1fr)}.nwm-stay-guide-button{grid-column:1/-1;width:100%}}
@media(max-width:480px){.nwm-stay-guide-content{grid-template-columns:1fr}.nwm-stay-guide-icon{width:56px;height:56px;border-radius:16px;font-size:27px}.nwm-stay-guide-meta{display:grid}.nwm-stay-guide-meta>*{border-radius:10px}}


/* 2.8.0 — two permanent customer concierge guides */
.nwm-curated-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.nwm-curated-guide-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:22px;border:1px solid rgba(15,23,42,.12);border-radius:20px;background:#fff;box-shadow:0 12px 28px rgba(15,23,42,.07)}
.nwm-curated-guide-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:#f1e7dc;font-size:1.65rem;color:#743823}
.nwm-curated-guide-copy h3{margin:2px 0 8px;font-size:1.45rem}.nwm-curated-guide-copy p{margin:0 0 10px}.nwm-curated-guide-copy small{display:block;color:#64748b;line-height:1.45}.nwm-curated-guide-meta{padding:9px 11px;border-radius:10px;background:#f8f4ef;color:#543426}
.nwm-curated-guide-card .nwm-stay-guide-button{grid-column:1/-1;justify-self:start}
@media(max-width:760px){.nwm-curated-guide-grid{grid-template-columns:1fr}.nwm-curated-guide-card{grid-template-columns:1fr}.nwm-curated-guide-icon{width:48px;height:48px}.nwm-curated-guide-card .nwm-stay-guide-button{width:100%;justify-content:center}}
