/* V33 — full-site mobile system. Every public, Club, DJ and Staff control remains usable without horizontal scrolling. */
html,body{max-width:100%;overflow-x:hidden}
img,video,canvas,iframe{max-width:100%}
button,input,select,textarea{font:inherit;max-width:100%}
button,.btn,.icon-btn,a{touch-action:manipulation}

/* Header */
@media(max-width:900px){
  .nav{height:70px!important;min-height:70px;padding:0 16px!important}
  .nav .brand{font-size:13px!important;letter-spacing:1.8px;min-width:0!important}
  .nav .brand-mark{width:32px;height:32px;font-size:16px!important;flex:0 0 auto}
  .nav .hamb{display:block!important;min-width:44px;min-height:44px;padding:8px}
  .nav nav{top:70px!important;z-index:2000;width:100%;padding:12px 16px 18px!important;gap:4px!important}
  .nav nav a{display:flex;align-items:center;min-height:44px;width:100%;padding:10px 4px!important;font-size:10px!important}
  .sound-wrap{width:100%;justify-content:flex-end}
  .volume-panel{max-width:calc(100vw - 32px)!important}
}

/* Public pages */
@media(max-width:700px){
  main{width:100%;min-width:0}
  .hero,.rm17-hero,.rm17-page-hero{min-height:78svh!important;padding-top:105px!important}
  .hero-content,.rm17-hero-content{width:min(100%,92vw);margin-inline:auto}
  .hero h1,.rm17-page-hero h1{font-size:clamp(48px,17vw,82px)!important;letter-spacing:-2px!important}
  .hero-copy,.rm17-lead{font-size:13px!important;line-height:1.75!important}
  .hero-actions,.rm17-actions{display:grid!important;grid-template-columns:1fr;gap:9px;width:100%}
  .hero-actions .btn,.rm17-actions .rm17-btn{width:100%;min-height:48px}
  .section,.rm17-section{padding-top:72px!important;padding-bottom:72px!important}
  .section h2,.rm17-section h2{font-size:clamp(36px,12vw,58px)!important}
  .lead{font-size:15px!important;line-height:1.75!important}
  .rm17-grid,.rm17-owners,.rm17-journal,.rm17-stats{grid-template-columns:1fr!important}
  .rm17-story{grid-template-columns:1fr!important}
  .rm17-story-art{min-height:240px}
  .rm17-shot{min-height:220px}
  .rm17-footer{padding:40px 5vw 28px!important}
  .marquee div{font-size:9px!important;letter-spacing:2px!important}
}

/* Menu */
@media(max-width:700px){
  .menu-premium-hero{padding:105px 5vw 55px!important;min-height:auto!important}
  .menu-premium-hero h1{font-size:clamp(44px,15vw,74px)!important}
  .featured-grid,.drink-grid{grid-template-columns:1fr!important}
  .drink-card,.drink-card.featured{min-width:0}
  .drink-info{min-width:0}
  .drink-art{min-height:210px}
}

/* Location */
@media(max-width:700px){
  .location-main{padding:100px 14px 30px!important}
  .location-intro h1{font-size:clamp(42px,14vw,72px)!important}
  .location-status{min-width:0;width:100%}
  .map-header,.map-footer{font-size:8px}
  .map-wrap{min-height:0}
  .map-wrap img{width:100%;height:auto}
}

/* Club */
@media(max-width:800px){
  .club-shell{width:min(94vw,620px);padding:88px 0 40px}
  .club-hero{padding:24px 0 28px}
  .club-hero h1{font-size:clamp(40px,14vw,68px);line-height:1}
  .club-grid{grid-template-columns:1fr!important}
  .club-player,.club-chat,.club-side{min-width:0}
  .club-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}
  .club-action,.club-action button{min-height:44px;width:100%}
  .request-row,.chat-row,.name-form{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .request-row button,.chat-row button,.name-form button{width:100%;min-height:44px}
  .chat-list,.request-list{max-height:430px}
  .stage-listen{width:100%;min-width:0!important;min-height:48px}
  .gocast-callout{padding:13px}
}

/* DJ */
@media(max-width:800px){
  .dj-shell{width:min(94vw,620px);padding:88px 0 40px}
  .dj-top{gap:12px}
  .dj-top h1{font-size:clamp(38px,13vw,60px)!important}
  .dj-grid,.dj-grid.lower{grid-template-columns:1fr!important}
  .dj-panel,.dj-live-card{min-width:0}
  .dj-buttons{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important}
  .dj-buttons .btn{width:100%;min-height:44px}
  .dj-buttons .wide{grid-column:1/-1}
  .queue-form,.chat-row,.name-form,.mod-row{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .queue-form button,.chat-row button,.name-form button,.mod-row button{width:100%;min-height:44px}
  .request-item,.dj-chat-msg{min-width:0}
  .request-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px}
  .request-actions button{min-height:42px}
  .dj-feature-grid{grid-template-columns:1fr!important}
  .station-card{align-items:stretch}
  .station-card>a{width:100%;margin-left:0}
  .station-card>a .btn{width:100%;min-height:44px}
}

/* Staff — inputs and command center */
@media(max-width:900px){
  .staff-shell{width:100%;padding:96px 14px 42px!important}
  .staff-head h1{font-size:clamp(36px,12vw,60px)!important}
  .staff-head{gap:12px}
  .stat-grid{grid-template-columns:1fr 1fr!important}
  .staff-grid,.staff-grid.lower{grid-template-columns:1fr!important}
  .panel,.glass-form{padding:17px!important;border-radius:12px}
  .panel-head h2{font-size:20px}
  .field input,.field select,.mini-form input,.mini-form select{min-height:44px;font-size:14px}
  .btn{min-height:46px!important}
  .qty-row{grid-template-columns:46px 1fr 46px}
  .qty-row button,.qty-row input{height:46px}
  .inventory{max-height:none}
  .stock-row{grid-template-columns:minmax(0,1fr) auto auto;gap:9px}
  .stock-row b{font-size:12px}
  .stock-row small{font-size:9px}
  .mini-form,.owner-panel .mini-form{grid-template-columns:1fr!important}
  .manager-row,.user-row{grid-template-columns:1fr!important;gap:9px}
  .manager-row button,.user-row button{min-height:40px}
}
@media(max-width:480px){
  .stat-grid{grid-template-columns:1fr!important}
  .staff-shell{padding-inline:10px!important}
  .panel,.glass-form{padding:14px!important}
  .panel-head{margin-bottom:13px}
  .panel-head h2{font-size:18px}
  .sale-preview div{padding:11px}
  .sale-preview b{font-size:14px}
  .total-line strong{font-size:21px}
  .staff-login-art h1{font-size:clamp(42px,14vw,70px)}
}


/* V34 — clean premium surface, readable tables, no grain overlay, product-card POS */
.noise{display:none!important}
.staff-page,.dj-page,.club-page{background:#080707!important}
body:before{opacity:1!important}

/* Global readability */
.staff-page .panel,.staff-page .glass-form,.dj-page .panel,.club-page .panel{background:rgba(10,7,8,.94)}
.staff-page .panel-head span,.dj-page .panel-head span,.club-page .panel-head span{color:#c4aeb5}
.staff-page .panel-head h2,.dj-page .panel-head h2,.club-page .panel-head h2{color:#f6eef0}
.staff-page .mini-note,.staff-page td,.staff-page .shift-meta{color:#c4b5ba}
.staff-page th{font-size:9px!important;color:#a99097!important;letter-spacing:1.5px!important}
.staff-page td{font-size:11px!important;color:#ded3d6!important}
.staff-page .cart-id{font-size:10px!important;letter-spacing:.5px}

/* Product grid — no internal scrolling */
.inventory{max-height:none!important;overflow:visible!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px!important}
.product-card{min-width:0;border:1px solid #351821;border-radius:12px;background:#0b0809;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 12px 32px rgba(0,0,0,.25);transition:transform .18s,border-color .18s,box-shadow .18s}
.product-card:hover{transform:translateY(-2px);border-color:#6d2a3c;box-shadow:0 18px 38px rgba(0,0,0,.38)}
.product-card.low{border-color:#713043}
.product-card-art{position:relative;aspect-ratio:1.18/1;background:#080607;overflow:hidden}
.product-card-art img{width:100%;height:100%;object-fit:cover;display:block}
.product-stock{position:absolute;top:7px;right:7px;padding:5px 7px;border:1px solid rgba(255,255,255,.12);border-radius:7px;background:rgba(4,3,4,.82);font:700 8px Noto Sans;letter-spacing:1px;color:#eee}
.product-card-body{padding:10px 11px 7px;min-height:55px}
.product-card-body b{display:block;font-size:12px;color:#f2e8eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-card-body small{display:block;margin-top:4px;color:#aa969d;font-size:9px}
.product-add{margin:0 9px 9px;min-height:38px;border:1px solid #76263c;border-radius:8px;background:#170a0f;color:#ff8fa4;font:700 9px Noto Sans;letter-spacing:1.4px;cursor:pointer}
.product-add:hover{background:#260d15;border-color:#b43253}
.product-add:disabled{opacity:.45;cursor:not-allowed}

/* Keep old product rows usable elsewhere */
.manager-list .product-card{display:none}

/* Sales log: one compact desktop line */
.sales-log-panel .table-wrap{overflow:visible!important}
.sales-log-panel table{table-layout:fixed;width:100%;font-size:11px!important}
.sales-log-panel th,.sales-log-panel td{padding:10px 7px!important;vertical-align:middle}
.sales-log-panel th:nth-child(1),.sales-log-panel td:nth-child(1){width:8%}
.sales-log-panel th:nth-child(2),.sales-log-panel td:nth-child(2){width:14%}
.sales-log-panel th:nth-child(3),.sales-log-panel td:nth-child(3){width:14%}
.sales-log-panel th:nth-child(4),.sales-log-panel td:nth-child(4){width:22%}
.sales-log-panel th:nth-child(5),.sales-log-panel td:nth-child(5){width:7%}
.sales-log-panel th:nth-child(6),.sales-log-panel td:nth-child(6){width:11%}
.sales-log-panel th:nth-child(7),.sales-log-panel td:nth-child(7){width:24%}
.sales-log-panel td{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sales-log-panel .sales-actions{white-space:nowrap;overflow:visible}
.sales-log-panel .sales-actions .table-action{font-size:9px!important;padding:7px 8px!important;margin-right:4px}
.sales-log-panel .sale-product-cell{font-weight:600;color:#f0e5e8!important}

/* Club/DJ: same clean base surface and calmer cards */
.club-page .panel,.dj-page .panel{box-shadow:0 22px 55px rgba(0,0,0,.34)}
.club-page .club-hero,.dj-page .dj-top{color:#f5edf0}
.club-page .player-hint,.club-page .name-status,.dj-page .panel-note{color:#b3a2a8}

/* Mobile */
@media(max-width:900px){
  .inventory{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .sales-log-panel .table-wrap{overflow:visible!important}
}
@media(max-width:600px){
  .inventory{grid-template-columns:1fr!important}
  .product-card-art{aspect-ratio:1.5/1}
  .product-card-body b{font-size:13px}
  .product-add{min-height:44px;font-size:10px}
  .sales-log-panel table,.sales-log-panel thead,.sales-log-panel tbody,.sales-log-panel tr,.sales-log-panel td{display:block!important;width:auto!important}
  .sales-log-panel thead{display:none!important}
  .sales-log-panel tbody{display:grid!important;gap:9px}
  .sales-log-panel tr{border:1px solid #351821;border-radius:11px;background:#0c080a;padding:9px 11px}
  .sales-log-panel td{display:grid!important;grid-template-columns:82px minmax(0,1fr);gap:9px;align-items:center;padding:6px 0!important;border-bottom:1px solid #211117!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;font-size:12px!important}
  .sales-log-panel td:last-child{border-bottom:0!important}
  .sales-log-panel td:before{content:attr(data-label);font-size:8px;font-weight:700;letter-spacing:1.5px;color:#9d7f88}
  .sales-log-panel .sales-actions{display:flex!important;flex-wrap:wrap;gap:6px;padding-top:9px!important}
  .sales-log-panel .sales-actions:before{display:block;width:82px}
  .sales-log-panel .sales-actions .table-action{margin:0;min-height:38px!important;font-size:9px!important}
  .cart-id{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis}
  .staff-page .panel-head h2{font-size:20px!important}
  .staff-page .panel-head span{font-size:9px!important}
  .staff-head .btn{width:100%}
  .club-page .panel,.dj-page .panel,.staff-page .panel{box-shadow:0 16px 42px rgba(0,0,0,.32)}
}

/* Remove the old internal inventory scrollbar treatment completely */
.inventory::-webkit-scrollbar{width:0;height:0}


/* V35 — compact POS inventory + contained sales actions + shift team control */
.inventory{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
.product-card-art{aspect-ratio:2.05/1!important;min-height:0!important}
.product-card-body{padding:9px 10px 6px!important;min-height:58px!important}
.product-card-body b{font-size:11px!important}
.product-card-body small{font-size:9px!important}
.product-add{min-height:36px!important;margin:0 8px 8px!important;font-size:8px!important}
.product-stock{top:6px!important;right:6px!important;font-size:8px!important;padding:5px 7px!important}
.sales-log-panel table{min-width:0!important;width:100%!important}
.sales-log-panel th:nth-child(1),.sales-log-panel td:nth-child(1){width:7%!important}
.sales-log-panel th:nth-child(2),.sales-log-panel td:nth-child(2){width:13%!important}
.sales-log-panel th:nth-child(3),.sales-log-panel td:nth-child(3){width:12%!important}
.sales-log-panel th:nth-child(4),.sales-log-panel td:nth-child(4){width:24%!important}
.sales-log-panel th:nth-child(5),.sales-log-panel td:nth-child(5){width:5%!important}
.sales-log-panel th:nth-child(6),.sales-log-panel td:nth-child(6){width:10%!important}
.sales-log-panel th:nth-child(7),.sales-log-panel td:nth-child(7){width:29%!important}
.sales-log-panel .sales-actions{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:4px!important}
.sales-log-panel .sales-actions .table-action{min-width:0!important;margin:0!important;padding:6px 7px!important;font-size:7.5px!important;letter-spacing:.8px!important;white-space:nowrap!important}
.shift-member-actions{display:flex;gap:9px;flex-wrap:wrap}
.shift-member-actions .btn{min-height:42px}
@media(max-width:900px){.inventory{grid-template-columns:repeat(2,minmax(0,1fr))!important}.sales-log-panel .sales-actions{flex-wrap:wrap!important}}
@media(max-width:600px){.inventory{grid-template-columns:1fr!important}.product-card-art{aspect-ratio:2.25/1!important}.shift-member-actions{display:grid;grid-template-columns:1fr}.shift-member-actions .btn{width:100%}}

/* V16 — global mobile stability / touch pass */
@media (max-width:768px), (pointer:coarse){
  html,body{max-width:100%;overflow-x:hidden!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  body{min-height:100dvh}
  img,video,canvas,svg{max-width:100%;height:auto}
  input,textarea,select{font-size:16px!important;max-width:100%;box-sizing:border-box}
  button,a,input,textarea,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  main{overflow-x:clip}
  body:not(.staff-page):not(.dj-page) main *{animation-duration:.001ms!important;animation-iteration-count:1!important}
  body:not(.staff-page):not(.dj-page) main *::before,body:not(.staff-page):not(.dj-page) main *::after{animation-duration:.001ms!important;animation-iteration-count:1!important}
  .rm-neon-viewport,.neon-smoke,.smoke-layer{animation:none!important}
  .hero,.section,.panel,.drink-card,.review-card{transform:none}
}
@media (max-width:480px){
  .container,.section-inner,.reviews-wrap{max-width:100%!important}
  .review-card{min-width:0!important;max-width:100%!important}
}
\n\n/* V17 — stable home entrance on phones */\n@media (max-width:768px), (pointer:coarse){\n  html.rm-index-lock,html.rm-index-lock body{overflow:hidden!important;height:100%!important}\n  #loader.rm-loader{\n    position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;\n    min-height:100svh!important;display:flex!important;align-items:center!important;justify-content:center!important;\n    overflow:hidden!important;opacity:1!important;visibility:visible!important;transform:none!important;\n    transition:opacity .38s ease,visibility .38s ease!important;contain:layout paint;isolation:isolate;\n  }\n  #loader.rm-loader.gone{opacity:0!important;visibility:hidden!important;pointer-events:none!important}\n  #loader .loader-scene{\n    width:min(92vw,430px)!important;max-height:calc(100dvh - 32px)!important;\n    padding:18px 16px!important;transform:none!important;position:relative!important;z-index:10!important;\n    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;\n  }\n  #loader .loader-fog,#loader .loader-fog:before,#loader .loader-fog:after,\n  #loader.rm-loader:after,#loader .loader-moon:before,#loader .loader-moon:after{animation:none!important}\n  #loader .loader-fog{opacity:.18!important;filter:blur(20px)!important;mix-blend-mode:normal!important}\n  #loader .loader-moon{width:112px!important;height:112px!important;animation:none!important;transform:none!important;flex:0 0 auto!important}\n  #loader .loader-moon img{width:100%!important;height:100%!important;object-fit:contain!important;display:block!important}\n  #loader .loader-kicker{margin-top:24px!important;font-size:7px!important;letter-spacing:3px!important}\n  #loader .loader-title{margin-top:10px!important;font-size:clamp(34px,11vw,48px)!important;line-height:.9!important;letter-spacing:2px!important}\n  #loader .loader-title i{margin-top:8px!important;letter-spacing:7px!important}\n  #loader .loader-sub{margin-top:13px!important;font-size:7px!important;letter-spacing:3px!important}\n  #loader .loader-enter{\n    display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;\n    width:min(88vw,330px)!important;min-width:0!important;height:56px!important;margin:26px auto 0!important;padding:0 18px!important;\n    opacity:1!important;visibility:visible!important;transform:none!important;animation:none!important;\n    flex:0 0 56px!important;z-index:20!important;-webkit-appearance:none!important;appearance:none!important;\n    backface-visibility:hidden!important;will-change:auto!important;\n  }\n  #loader .loader-enter:before,#loader .loader-enter:after{animation:none!important}\n  #loader .loader-enter span{margin:0!important;color:#ff6479!important;white-space:nowrap!important;font-size:9px!important;letter-spacing:1.5px!important}\n  #loader .loader-enter b{margin:0!important;flex:0 0 auto!important}\n  #loader .loader-enter:disabled{opacity:1!important;visibility:visible!important}\n  #loader .loader-progress{position:relative!important;bottom:auto!important;width:min(68vw,250px)!important;margin-top:20px!important}\n  #loader .loader-progress span{animation:none!important;width:100%!important;opacity:.72!important}\n  #pageTransition{pointer-events:none}\n}\n@media (max-height:620px) and (max-width:768px){\n  #loader .loader-scene{padding:8px 14px!important}\n  #loader .loader-moon{width:82px!important;height:82px!important}\n  #loader .loader-kicker{margin-top:14px!important}\n  #loader .loader-title{font-size:32px!important}\n  #loader .loader-sub{margin-top:9px!important}\n  #loader .loader-enter{margin-top:16px!important;height:52px!important;flex-basis:52px!important}\n  #loader .loader-progress{margin-top:13px!important}\n}\n