/* Isolated preview: deliberate zone selection and stable 4-column card menus. */
/* App shell: allow content scrolling, hide browser-style scroll tracks. */
html,body{touch-action:pan-x pan-y;overscroll-behavior-y:none;}
*{scrollbar-width:none;}
*::-webkit-scrollbar{display:none;width:0;height:0;}
.package-coupon-shortcut{margin:0 0 18px;}
:root[data-theme] .neon-member .package-coupon-button{
 display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;min-height:62px;
 padding:11px 14px;border:1px solid #23bed5;border-radius:13px;background:linear-gradient(110deg,#06384a,#081e3b);color:#7ceeff;text-align:left;
 box-shadow:0 2px 12px #00c8ff12;
}
.package-coupon-button .dashboard-action-icon{width:26px;height:26px;flex:0 0 26px;}
.package-coupon-button>span:last-child{display:flex;flex-direction:column;gap:2px;}
.package-coupon-button strong{font-size:14px;line-height:1.45;}
.package-coupon-button small{font-size:11px;line-height:1.4;color:#b4d6e6;}
.package-coupon-button::after{content:'›';font-size:23px;margin-left:auto;}
:root[data-theme=clean] .neon-member .package-coupon-button{background:linear-gradient(110deg,#e1f8fc,#f0f7ff);color:#086781;}
:root[data-theme=clean] .package-coupon-button small{color:#496c7b;}
@media(max-width:640px){input,select,textarea{font-size:16px!important;}}
.package-zone-picker-intro h2{margin:0;font-size:19px;line-height:1.4;}
.package-zone-picker-intro p{margin:5px 0 16px;font-size:12px;line-height:1.5;color:var(--muted);}
.package-zone-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
:root[data-theme] .neon-member .package-zone-choice{
 --zone-accent:#37d9ff;--room-position:0% 0%;
 display:flex;position:relative;isolation:isolate;flex-direction:column;align-items:flex-start;justify-content:flex-end;
 min-width:0;min-height:184px;overflow:hidden;text-align:left;padding:14px 12px;gap:4px;
 border:1px solid var(--zone-accent);border-radius:15px;background:var(--surface);color:var(--ink);
 box-shadow:0 3px 16px color-mix(in srgb,var(--zone-accent) 18%,transparent);cursor:pointer;
}
:root[data-theme] .neon-member .package-zone-choice.new-zone{--zone-accent:#ff68d1;--room-position:100% 0%;}
:root[data-theme] .neon-member .package-zone-choice.vip{--zone-accent:#ffd165;--room-position:0% 100%;}
:root[data-theme] .neon-member .package-zone-choice.private-room{--room-position:100% 100%;border:2px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--private-room-rgb) border-box;box-shadow:var(--private-room-glow);}
.package-zone-choice-art{position:absolute;z-index:-1;inset:0;background-image:linear-gradient(0deg,#03132ff5 5%,#04142f88 55%,#06193522),url('/member/assets/zone-interiors.webp');background-size:100% 100%,200% 200%;background-position:center,var(--room-position);opacity:.94;}
.package-zone-choice>strong{font-size:17px;line-height:1.4;color:var(--zone-accent);}
.package-zone-choice>small{font-size:11px;line-height:1.5;color:#c1d6ed;}
.package-zone-choice-action{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;line-height:1.5;margin-top:7px;padding:5px 8px;border:1px solid color-mix(in srgb,var(--zone-accent) 35%,transparent);border-radius:7px;background:#04233bb3;color:#e4f4ff;}
.package-zone-choice:focus-visible,.package-zone-detail-toolbar>button:focus-visible{outline:2px solid var(--primary);outline-offset:4px;}
.package-zone-choice:hover{filter:brightness(1.1);}
.package-zone-detail-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:13px;}
.package-zone-detail-toolbar>h2{font-size:15px;line-height:1.4;margin:0;}
.package-zone-detail-toolbar>button{min-height:40px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-muted);color:var(--ink);font:inherit;font-size:12px;cursor:pointer;}
:root[data-theme=clean] .neon-member .package-zone-choice{--zone-accent:#087ca8;}
:root[data-theme=clean] .neon-member .package-zone-choice.new-zone{--zone-accent:#ae2687;}
:root[data-theme=clean] .neon-member .package-zone-choice.vip{--zone-accent:#885a03;}
:root[data-theme=clean] .neon-member .package-zone-choice.private-room{--zone-accent:#146591;}
:root[data-theme=clean] .package-zone-choice-art{background-image:linear-gradient(0deg,#f1f8fff5 5%,#eff7ffbb 55%,#ffffff33),url('/member/assets/zone-interiors.webp');}
:root[data-theme=clean] .package-zone-choice>small{color:#466782;}
:root[data-theme=clean] .package-zone-choice-action{background:#f0f8ffb3;color:#1d526e;}

/* Keep all 8 menus in two complete rows, including phones below 420px. */
.cards-dialog .cards-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px;}
.cards-dialog .cards-tabs button,
.cards-dialog .cards-tabs button:last-child:nth-child(3n+1){grid-column:auto!important;min-width:0;min-height:70px;padding:9px 4px;gap:6px;flex-direction:column;font-size:10px;}
.cards-dialog .galaxy-menu-label{overflow-wrap:anywhere;}
.cards-dialog .galaxy-menu-icon,.cards-dialog .galaxy-menu-icon svg{width:20px;height:20px;}

#reservation-history-section{padding:0;}
#reservation-history-section>summary{display:flex;align-items:center;justify-content:space-between;min-height:58px;gap:12px;padding:14px 15px;cursor:pointer;list-style:none;margin:0;}
#reservation-history-section>summary::-webkit-details-marker{display:none;}
#reservation-history-section>summary h2{font-size:16px;margin:0;line-height:1.5;}
.compact-history-arrow{font-size:23px;line-height:1;color:var(--primary);transition:transform .15s;}
#reservation-history-section[open]>summary .compact-history-arrow{transform:rotate(90deg);}
#reservation-history-section>.reservation-history{padding:0 14px 14px;}
#reservation-history-section>summary:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:14px;}
@media(max-width:350px){
 .package-zone-picker{gap:9px;}
 :root[data-theme] .neon-member .package-zone-choice{min-height:168px;padding:12px 9px;}
 .package-zone-choice>strong{font-size:15px;}
 .cards-dialog .cards-tabs{gap:5px;}
 .cards-dialog .cards-tabs button,.cards-dialog .cards-tabs button:last-child:nth-child(3n+1){font-size:9px;min-height:68px;padding:8px 2px;}
}
@media(prefers-reduced-motion:reduce){.compact-history-arrow{transition:none;}}
