/* Night Vendor Pass 09: The Impossible Floorplan
   Additive overlay layer only. Existing document flow and approved layout remain untouched. */
.nv-pass09-receipt-tab{position:fixed;z-index:58;right:16px;bottom:16px;max-width:180px;min-height:42px;border:1px solid rgba(217,198,162,.42);background:rgba(2,6,10,.94);color:#dcecff;padding:10px 13px;box-shadow:0 14px 48px rgba(0,0,0,.62);font:800 9px system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .35s ease,transform .35s ease,border-color .25s ease}.nv-pass09-receipt-tab.is-ready{opacity:.72;transform:none;pointer-events:auto}.nv-pass09-receipt-tab:hover,.nv-pass09-receipt-tab:focus-visible{opacity:1;border-color:rgba(217,198,162,.72);outline:1px solid rgba(217,198,162,.35);outline-offset:3px}.nv-widows-bell-page .nv-pass09-receipt-tab{bottom:76px}
.nv-pass09-receipt-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:18px;background:rgba(0,2,5,.82);backdrop-filter:blur(6px)}.nv-pass09-receipt-overlay[hidden]{display:none}.nv-pass09-receipt{position:relative;width:min(720px,100%);max-height:min(88vh,820px);overflow:auto;border:1px solid rgba(185,216,248,.27);background:radial-gradient(circle at 18% 0%,rgba(185,216,248,.11),transparent 31%),linear-gradient(180deg,#07111d,#010306);box-shadow:0 34px 140px rgba(0,0,0,.8);padding:clamp(24px,6vw,52px)}.nv-pass09-receipt:before{content:"";position:absolute;top:0;left:14%;right:14%;height:4px;background:#dff3ff;box-shadow:0 0 28px rgba(185,216,248,.7)}.nv-pass09-receipt-close{position:absolute;right:14px;top:12px;width:42px;height:42px;border:1px solid rgba(185,216,248,.2);background:rgba(0,0,0,.32);color:#dcecff;font-size:25px;cursor:pointer}.nv-pass09-receipt-close:focus-visible{outline:2px solid rgba(217,198,162,.7);outline-offset:2px}.nv-pass09-receipt-kicker{color:#a9d6ff;font:800 10px system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}.nv-pass09-receipt h2{margin:0 48px 26px 0;font-size:clamp(2.2rem,8vw,4.8rem);line-height:.92;letter-spacing:.05em;text-transform:uppercase}.nv-pass09-receipt-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid rgba(185,216,248,.15);border-left:1px solid rgba(185,216,248,.15);margin:0}.nv-pass09-receipt-stats div{padding:17px;border-right:1px solid rgba(185,216,248,.15);border-bottom:1px solid rgba(185,216,248,.15)}.nv-pass09-receipt-stats dt{color:#8fa2b7;font:800 9px system-ui,sans-serif;letter-spacing:.15em;text-transform:uppercase}.nv-pass09-receipt-stats dd{margin:8px 0 0;color:#eef7ff;font-size:clamp(1.05rem,3vw,1.35rem);line-height:1.35}.nv-pass09-receipt-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:24px}.nv-pass09-receipt-action{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid rgba(185,216,248,.22);background:rgba(185,216,248,.03);color:#dcecff;text-decoration:none;text-align:center;padding:12px 14px;cursor:pointer;font:800 9px system-ui,sans-serif;letter-spacing:.13em;text-transform:uppercase}.nv-pass09-receipt-action:hover,.nv-pass09-receipt-action:focus-visible{border-color:rgba(185,216,248,.55);outline:none}.nv-pass09-receipt-action.is-primary{background:#e8f5ff;color:#06111c;border-color:#e8f5ff}.nv-pass09-receipt-action.is-owner-copy{grid-column:1/-1;border-color:rgba(217,198,162,.62);background:rgba(217,198,162,.08);color:#f0dfbd}.nv-pass09-receipt-action.is-reset{color:#9aa9b8}.nv-pass09-receipt-privacy{margin:20px 0 0;color:#73879a;font-size:.92rem;line-height:1.55}.nv-pass09-receipt-open{overflow:hidden}
.nv-thread-mark{position:fixed;z-index:57;left:16px;bottom:16px;width:38px;height:58px;border:0;background:transparent;padding:0;opacity:0;transform:translateY(7px);pointer-events:none;cursor:pointer;filter:drop-shadow(0 8px 15px rgba(0,0,0,.75));transition:opacity .45s ease,transform .45s ease}.nv-thread-mark.is-visible{opacity:.48;transform:none;pointer-events:auto}.nv-thread-mark:hover,.nv-thread-mark:focus-visible{opacity:1;outline:1px solid rgba(217,198,162,.48);outline-offset:4px}.nv-thread-mark-line{position:absolute;left:17px;top:3px;width:2px;height:42px;background:linear-gradient(180deg,rgba(217,198,162,.88),rgba(84,105,122,.1));transform:rotate(11deg);box-shadow:5px 7px 0 -1px rgba(217,198,162,.35),-4px 16px 0 -1px rgba(217,198,162,.3)}.nv-thread-mark-line:after{content:"";position:absolute;left:-5px;bottom:-8px;width:12px;height:12px;border:1px solid rgba(217,198,162,.56);border-radius:50%}.nv-thread-mark-number{position:absolute;left:0;bottom:0;color:rgba(217,198,162,.65);font:800 8px system-ui,sans-serif;letter-spacing:.08em}.nv-thread-mark.is-found{width:min(430px,calc(100vw - 32px));height:auto;min-height:48px;border:1px solid rgba(217,198,162,.42);background:rgba(2,6,10,.96);padding:13px 16px;opacity:1;transform:none;text-align:left}.nv-thread-mark-message{display:block;color:#e8d7b5;font:800 10px system-ui,sans-serif;letter-spacing:.13em;line-height:1.55;text-transform:uppercase}
.nv-house-anomaly{position:fixed;z-index:56;right:16px;top:78px;width:min(390px,calc(100vw - 32px));border:1px solid rgba(185,216,248,.22);background:rgba(2,6,10,.95);box-shadow:0 22px 70px rgba(0,0,0,.7);padding:14px 16px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .5s ease,transform .5s ease}.nv-house-anomaly.is-visible{opacity:.9;transform:none}.nv-house-anomaly span{display:block;color:#7890a7;font:800 8px system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;margin-bottom:7px}.nv-house-anomaly strong{display:block;color:#dcecff;font:500 1rem Georgia,'Times New Roman',serif;line-height:1.55}
.nv-missing-room-page main{min-height:72vh}.nv-missing-room-page .nv-room-shell{max-width:980px;margin:clamp(54px,10vw,120px) auto;padding:0 clamp(18px,4vw,38px)}.nv-missing-room-page .nv-room-record{position:relative;border:1px solid rgba(185,216,248,.22);background:radial-gradient(circle at 50% 0%,rgba(185,216,248,.11),transparent 32%),linear-gradient(180deg,rgba(7,17,29,.94),rgba(1,3,6,.98));padding:clamp(28px,7vw,72px);box-shadow:0 34px 140px rgba(0,0,0,.72);overflow:hidden}.nv-missing-room-page .nv-room-record:before{content:"";position:absolute;left:13%;right:13%;top:0;height:5px;background:#dff3ff;box-shadow:0 0 35px rgba(185,216,248,.78)}.nv-missing-room-page .nv-room-record:after{content:"ROOM 00";position:absolute;right:8px;bottom:-18px;color:rgba(185,216,248,.045);font:900 clamp(4rem,16vw,10rem) system-ui,sans-serif;letter-spacing:.05em;pointer-events:none}.nv-missing-room-page .nv-room-record h1{font-size:clamp(2.7rem,10vw,7rem);line-height:.88;margin:0 0 24px;text-transform:uppercase;letter-spacing:.05em}.nv-missing-room-page .nv-room-record p{max-width:760px}.nv-missing-room-page .nv-owner-copy-fragment{position:relative;margin-top:34px;border-left:2px solid rgba(217,198,162,.58);padding:18px 0 18px 22px;color:#d8e4ef;font-size:clamp(1.08rem,3vw,1.35rem);line-height:1.8}.nv-missing-room-page .nv-room-count{display:inline-flex;margin-top:24px;border:1px solid rgba(185,216,248,.22);padding:8px 12px;color:#a9d6ff;font:800 10px system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}.nv-missing-room-page [hidden]{display:none!important}
@media(max-width:700px){.nv-pass09-receipt-stats,.nv-pass09-receipt-actions{grid-template-columns:1fr}.nv-pass09-receipt-action.is-owner-copy{grid-column:auto}.nv-pass09-receipt-tab{max-width:145px;font-size:8px}.nv-house-anomaly{top:68px}.nv-pass09-receipt{padding:28px 20px}.nv-pass09-receipt h2{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){.nv-pass09-receipt-tab,.nv-thread-mark,.nv-house-anomaly{transition:none!important}.nv-pass09-receipt-overlay{backdrop-filter:none}}
.nv-reduced .nv-pass09-receipt-tab,.nv-reduced .nv-thread-mark,.nv-reduced .nv-house-anomaly{transition:none!important}


/* Night Vendor Pass 09.1: Mobile Control Clearance + Language Recovery
   Additive safety layer. Existing page flow, typography, and room layout remain unchanged. */
.nv-pass09-language-control{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(185,216,248,.10)}
.nv-pass09-language-control__label{width:100%;color:var(--nv-inventory-muted,#8fa2b7);font:800 .56rem/1.2 system-ui,sans-serif;letter-spacing:.17em;text-transform:uppercase}
.nv-pass09-language-control__button{min-height:34px;border:1px solid rgba(185,216,248,.22);background:rgba(185,216,248,.035);color:var(--nv-inventory-muted,#8fa2b7);padding:7px 10px;cursor:pointer;font:800 .56rem/1 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.nv-pass09-language-control__button:hover,.nv-pass09-language-control__button:focus-visible{color:#fff;border-color:rgba(217,198,162,.54);outline:2px solid rgba(185,216,248,.12);outline-offset:2px}
.nv-pass09-language-control__button.is-active{background:#e8f5ff;color:#06111c;border-color:#e8f5ff}

@media(max-width:820px){
  body.nv-inventory-ready{padding-bottom:calc(var(--nv-inventory-h,52px) + env(safe-area-inset-bottom,0px) + 18px)!important}
  body.nv-inventory-ready .nv-bell-exit-dock{bottom:calc(var(--nv-inventory-h,52px) + env(safe-area-inset-bottom,0px) + 14px)!important}
  body.nv-inventory-ready .nv-pass09-receipt-tab{bottom:calc(var(--nv-inventory-h,52px) + env(safe-area-inset-bottom,0px) + 14px)!important}
  body.nv-inventory-ready.nv-widows-bell-page .nv-pass09-receipt-tab{bottom:calc(var(--nv-inventory-h,52px) + env(safe-area-inset-bottom,0px) + 76px)!important}
  body.nv-inventory-ready .nv-thread-mark{bottom:calc(var(--nv-inventory-h,52px) + env(safe-area-inset-bottom,0px) + 16px)!important}
  body.nv-inventory-ready.nv-widows-bell-page{padding-bottom:calc(var(--nv-inventory-h,52px) + env(safe-area-inset-bottom,0px) + 102px)!important}
}
