.vip-panel{background:var(--paper);color:var(--ink);padding:30px;border-radius:4px;max-width:100%;overflow-wrap:anywhere}.vip-panel h2{font-size:42px;margin-bottom:20px}.vip-panel h3{font-size:30px;margin:12px 0}.vip-form{display:grid;gap:18px}.vip-form label{display:grid;gap:7px;font-size:14px;font-weight:600}.vip-form input,.vip-form select,.vip-form textarea{font:inherit;width:100%;min-width:0;padding:12px;border:1px solid #999;background:#fff;color:#101010;border-radius:2px;min-height:46px}.vip-form input[type=checkbox]{width:20px;min-height:20px}.vip-form .check{display:flex;align-items:center;gap:10px}.vip-form input:focus-visible,.vip-form select:focus-visible,.vip-form textarea:focus-visible{outline:3px solid #927126;outline-offset:2px}.vip-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.vip-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.vip-row>*{min-width:0}.vip-muted{font-size:14px;color:#62635a}.vip-message{padding:12px 0;min-height:30px;white-space:pre-line}.vip-price{font-size:29px;margin:18px 0}.vip-price del{font-size:16px;color:#666}.vip-badge{display:inline-block;background:#e5dbbd;padding:5px 10px;font-size:13px}.vip-panel .button{justify-content:center}.vip-panel button.secondary{border:1px solid #999;padding:10px 15px;min-height:44px;background:transparent}.vip-dialog{width:min(650px,95vw);max-height:90svh;background:var(--paper);color:var(--ink);padding:25px;overflow:auto;border:0}.vip-dialog::backdrop{background:#000b}.vip-dialog .vip-panel{padding:0}.vip-close{float:right;font-size:24px;padding:4px 12px}.vip-slots{display:flex;gap:8px;flex-wrap:wrap;max-height:220px;overflow:auto}.vip-slots button{border:1px solid #999;padding:10px 14px}.vip-slots button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.vip-checklist{display:grid;gap:8px;max-height:220px;overflow:auto}.vip-admin{max-width:1400px;margin:auto;padding:35px 5%}.vip-admin h1{font-size:56px;margin:25px 0}.vip-admin nav{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.vip-admin nav button{padding:12px 18px;border:1px solid var(--line)}.vip-admin nav button[aria-current=page]{background:var(--coral);color:var(--ink)}.vip-admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:25px;align-items:start}.vip-list{display:grid;gap:15px}.vip-record{padding:22px;background:#101010;border:1px solid var(--line);overflow-wrap:anywhere}.vip-record h3{font:22px var(--sans);margin-bottom:9px}.vip-record p{font-size:14px;color:#d4d4ca;margin-bottom:12px}.vip-record button{border:1px solid var(--line);padding:8px 14px;min-height:44px}.vip-drop{border:2px dashed #8c8062;padding:15px;min-height:125px}.vip-drop.over{background:#e7dcc0}.vip-draggable{padding:10px;background:#ece7d9;margin:7px 0;display:flex;gap:10px;justify-content:space-between;align-items:center;cursor:grab}.vip-draggable button{border:1px solid #777;padding:5px 12px;min-height:40px}.vip-admin .vip-grid{grid-template-columns:1fr 1fr}.vip-admin small{display:block}.vip-media img,.vip-media video{height:240px;object-fit:cover}.vip-panel p{margin-bottom:12px}.vip-admin [hidden],.vip-dialog [hidden]{display:none!important}@media(max-width:760px){.vip-grid,.vip-admin .vip-grid,.vip-admin-layout{grid-template-columns:1fr}.vip-panel{padding:22px}.vip-admin{padding:25px 5%}.vip-admin h1{font-size:40px}.vip-admin nav{gap:7px}.vip-admin nav button{padding:9px 12px}.vip-dialog{padding:20px}.vip-panel h2{font-size:34px}.vip-admin-layout>.vip-panel{order:-1}}

#pack-source{max-height:280px;overflow-y:auto}
.pack-section{background:#eee9de;color:#101010}.pack-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(320px,1fr);gap:36px;align-items:start}.pack-tabs{margin:0 0 20px}.pack-tabs button,.pack-sizes button,.auth-tabs button{padding:12px 15px;border:1px solid #aaa18c;border-radius:30px;min-height:46px}.pack-tabs button[aria-pressed=true],.pack-sizes button[aria-pressed=true],.auth-tabs button[aria-pressed=true]{background:#101010;color:#fff;border-color:#101010}.pack-catalog{display:grid;gap:12px;max-height:620px;overflow:auto;padding:3px 10px 3px 3px;scrollbar-color:#96896c transparent}.pack-service{display:flex;justify-content:space-between;gap:16px;padding:20px;background:#faf8f2;border:1px solid #dad3c4;border-radius:6px;transition:transform .2s,box-shadow .2s}.pack-service h3{font:500 19px var(--sans);margin:6px 0}.pack-service small,.pack-service span{font-size:13px;color:#646459}.pack-service>div:last-child{text-align:right;display:grid;align-content:space-between;gap:12px;flex-shrink:0}.pack-service strong{font-size:20px}.pack-service button{font-size:14px;min-height:44px;padding:6px 12px;border:1px solid #a3967d;border-radius:3px}.pack-basket{position:sticky;top:110px;border:1px solid #d5cbb8;box-shadow:0 15px 50px #3026130d}.pack-basket h3{font-size:36px}.pack-sizes{margin:22px 0;gap:6px}.pack-sizes button{flex:1;border-radius:5px;padding:12px 5px;font-size:14px}.pack-sizes span{display:block;margin-top:5px;font-size:18px}.pack-empty{padding:20px 10px;color:#686553;display:flex;gap:14px;align-items:center;font-size:14px;border-bottom:1px dashed #c3b9a2}.pack-empty:last-child{border:0}.pack-empty span{font-size:23px;color:#9b8e73}.pack-picked{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 5px;border-bottom:1px solid #d5cbb8;font-size:15px}.pack-picked strong{display:block;margin-top:4px}.pack-picked button{font-size:24px;width:44px;min-height:44px}.pack-tally{display:flex;justify-content:space-between;gap:15px;margin:12px 0}.pack-tally.saving{color:#496348}.pack-final{font-size:25px;border-top:1px solid #c4b99f;padding-top:18px;margin-bottom:24px}#customer-pack-total>p{font-size:13px;margin-top:16px}#book-custom-pack{width:100%;margin-bottom:12px}.pack-section button:disabled,.booking-dialog button:disabled{opacity:.45;cursor:not-allowed}.pack-section button:focus-visible{outline:3px solid var(--focus-accent);outline-offset:3px}#vip-packs:not(:empty){margin-top:40px}.booking-dialog{width:min(720px,95vw);padding:32px;border-radius:8px}.booking-steps{display:flex;list-style:none;gap:22px;padding:0 0 20px;margin-bottom:22px;border-bottom:1px solid #c8c2b3;font-size:13px;color:#79796b}.booking-steps [aria-current]{color:#101010;font-weight:700}.booking-summary{background:#eae4d6;padding:15px;margin:18px 0;font-size:16px}.slot-legend{display:flex;gap:24px;font-size:13px}.slot-legend span{color:#79796b}.booking-dialog .vip-slots{margin:12px 0 22px;max-height:240px}.booking-dialog .vip-slots button{min-width:78px;min-height:46px;border-radius:4px}.booking-dialog .vip-slots button:disabled{background:#e5e2da;text-decoration:line-through}.booking-dialog .button{width:100%;margin:8px 0 15px}.auth-tabs{margin:20px 0}.booking-dialog .vip-form label{font-size:16px}.booking-dialog .vip-form .check{align-items:flex-start;font-size:14px;line-height:1.5}.booking-dialog .check input{flex:0 0 20px}.booking-dialog .vip-form small{font-size:13px;font-weight:400}#customer-welcome{margin-top:20px}#customer-logout{margin-bottom:20px}.booking-dialog a{text-decoration:underline}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.pack-service:hover{transform:translateY(-3px);box-shadow:0 7px 20px #30261315}.gallery-item img,.service-card img,.room-detail img,.massage-movie video,.hair-layout img{transition:transform .6s,filter .6s}.gallery-item:hover img,.service-card:hover img,.room-detail:hover img,.hair-layout figure:hover img{transform:scale(1.035);filter:brightness(1.06)}.massage-movie:hover video{filter:brightness(1.05)}h2 em{transition:color .3s}h2:hover em{color:#D4AF37}.complement-grid>div{transition:transform .3s}.complement-grid>div:hover{transform:translateY(-5px)}}
@media(max-width:760px){.pack-layout{grid-template-columns:1fr;gap:22px}.pack-basket{position:static}.pack-catalog{max-height:430px}.pack-tabs{gap:7px}.pack-tabs button{font-size:14px;padding:10px}.pack-service{padding:15px;gap:10px}.pack-service h3{font-size:16px}.pack-service strong{font-size:17px}.booking-dialog{padding:22px}.booking-steps{gap:15px;font-size:12px}.pack-final{font-size:23px}}


.pack-section .title-row>p,.pack-section .section-note{color:#5b5e52}.pack-section h2 em{color:#785A12}
