@font-face{font-family:Manrope;src:url('assets/fonts/manrope-cyrillic-var.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-latin-var.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-cyrillic-var.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-latin-var.woff2') format('woff2');font-style:normal;font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-cyrillic-italic-var.woff2') format('woff2');font-style:italic;font-weight:400 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Playfair;src:url('assets/fonts/playfair-latin-italic-var.woff2') format('woff2');font-style:italic;font-weight:400 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{color-scheme:light;--paper:#f8f5ef;--paper-2:#fffdf8;--ink:#292622;--muted:#77716b;--line:#2926221c;--red:#cf4b3e;--red-dark:#a73531;--peach:#efc3ad;--gold:#d99a67;--glass:#fffdf2bf;--shadow:0 18px 50px #3a211414;--serif:'Playfair',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--wrap:min(1180px,calc(100% - 56px));}

*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(ellipse at 80% 5%,#f1ded266,transparent 34%),var(--paper);color:var(--ink);font:400 15px/1.65 var(--sans);transition:background-color .25s,color .25s}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}.wrap{width:var(--wrap);margin-inline:auto}.glass{background:var(--paper-2);border:1px solid var(--line);box-shadow:var(--shadow)}
/* Header */
.topbar{position:sticky;top:0;z-index:20;width:100%;height:76px;padding:0 max(28px,calc((100vw - 1320px)/2));display:flex;align-items:center;gap:28px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:11px;font-weight:800;letter-spacing:.16em}.brand i{font-style:normal;color:var(--muted);font-weight:500}.brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid #cf4b3e77;border-radius:50%;color:var(--red);font:italic 23px var(--serif);letter-spacing:-.08em}.main-nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,2.4vw,32px)}.main-nav a{position:relative;padding:9px 0;color:var(--muted);font-size:10px;white-space:nowrap}.main-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--red);transition:right .2s}.main-nav a:hover{color:var(--ink)}.main-nav a:hover:after{right:0}.head-actions{display:flex;align-items:center;gap:10px}.nav-toggle{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;flex:none}.nav-toggle{gap:4px;z-index:28;position:relative;transition:background .2s,transform .2s}.nav-toggle:hover{background:var(--peach);transform:rotate(-5deg)}.nav-toggle span{width:16px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .2s}.nav-toggle span:nth-child(2){width:11px;margin-left:5px}.nav-toggle.is-active span:first-child{transform:translateY(5.5px) rotate(45deg)}.nav-toggle.is-active span:nth-child(2){opacity:0}.nav-toggle.is-active span:last-child{transform:translateY(-5.5px) rotate(-45deg)}
/* Common */
.pill{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:17px;border:1px solid #d95b4f;border-radius:3px;background:var(--red);color:#fffaf4;font-size:11px;font-weight:800;box-shadow:0 8px 20px #b4453820;cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.pill:hover{background:var(--red-dark);box-shadow:0 12px 25px #b4453830;transform:translateY(-2px)}.pill b{font-size:15px}.pill.small{min-height:39px;padding:0 13px;font-size:10px;gap:10px}.eyebrow{color:var(--red);font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.hero h1,.page-hero h1{margin:25px 0 20px;font-size:clamp(58px,8vw,112px);font-weight:600;letter-spacing:-.07em;line-height:.93}.hero h1 em,.page-hero h1 em,.section-head h2 em,.finder h2 em,.visit-inner h2 em,.team-copy h2 em,.reviews-head h2 em,.gallery-strip-head h2 em,.booking-copy h2 em,.mini-info h2 em{font:italic 500 1em/1.05 var(--serif);color:var(--red)}.quiet-link,.text-arrow{color:var(--red);font-size:11px;font-weight:700}.text-arrow:hover,.quiet-link:hover{text-decoration:underline;text-underline-offset:4px}.section{padding-block:88px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.section-head h2,.finder h2,.visit-inner h2,.team-copy h2,.reviews-head h2,.gallery-strip-head h2,.booking-copy h2{margin:12px 0 0;font-size:clamp(34px,4.5vw,55px);line-height:1.04;letter-spacing:-.055em;font-weight:550}.section-head>p{max-width:340px;margin:0 0 2px;color:var(--muted);font-size:11px;line-height:1.8}
/* Hero */
.hero{min-height:min(760px,calc(100svh - 76px));padding-block:48px 56px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(26px,5vw,68px)}.hero-copy{min-width:0}.hero-copy>p,.page-hero>p{max-width:470px;margin:0;color:var(--muted);font-size:13px;line-height:1.9}.hero .actions{margin-top:29px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}.hero-note{margin-top:39px;display:flex;align-items:center;gap:13px;color:var(--muted);font-size:10px;line-height:1.7}.hero-note b{color:var(--ink);font-weight:700}.spark{color:var(--gold);font-size:24px}.hero-art{position:relative;min-width:0;height:clamp(430px,51vw,600px);isolation:isolate}.hero-art>img{width:100%;height:100%;object-fit:cover;object-position:center 36%;border-radius:46% 46% 3px 3px}.hero-shade{position:absolute;inset:0;border-radius:46% 46% 3px 3px;background:linear-gradient(180deg,transparent 50%,#2417138c)}.hero-tag{position:absolute;left:20px;bottom:22px;width:min(245px,75%);padding:17px 20px;background:#fffdf2dc;border:1px solid #fff8;box-shadow:0 12px 30px #28191622;backdrop-filter:blur(10px)}.hero-tag small,.hero-tag>span{display:block;color:#665c56;font-size:8px;letter-spacing:.13em}.hero-tag strong{display:block;margin:9px 0 11px;color:#292622;font:500 25px/1.1 var(--serif)}.hero-tag strong i{color:var(--red)}.hero-tag>span{display:flex;justify-content:space-between}.hero-tag>span b{color:var(--red);font-size:15px}.orbit{position:absolute;z-index:-1;right:-13px;top:12%;width:76px;height:76px;border:1px solid #cf4b3e68;border-radius:50%;animation:orbit 7s ease-in-out infinite}.ticker{overflow:hidden;border-block:1px solid var(--line);padding:12px 0;color:var(--muted);font-size:9px;letter-spacing:.18em;white-space:nowrap}.ticker div{width:max-content;animation:marquee 38s linear infinite}.ticker i{color:var(--gold);font-style:normal;margin-inline:24px}
/* Main cards */
.tiles{display:grid;grid-template-columns:1.12fr 1fr .8fr;gap:14px}.tile{position:relative;isolation:isolate;min-width:0;height:350px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:20px;color:white;background:#4c3933;border:1px solid var(--line);transition:transform .25s,box-shadow .25s}.tile:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#170e0c1c 5%,#21120c9c)}.tile img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}.tile:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.tile:hover img{transform:scale(1.035)}.tile>span{font-size:8px;letter-spacing:.17em}.tile>strong{font-size:27px;line-height:1.04;letter-spacing:-.04em}.tile>strong i{font-style:normal;color:#ffd7ba;font-size:17px;margin-left:14px}.tile-copy{background:linear-gradient(150deg,#b44a3f,#683934);color:white}.tile-copy:after{background:radial-gradient(circle at 80% 15%,#f8c2a744,transparent 35%)}.tile-copy .tile-symbol{align-self:flex-end;font-size:28px;color:#ffd7ba}.tile-copy>strong em{font:italic 500 1em var(--serif);color:#ffd7ba}.tile-bottom{display:flex;justify-content:space-between;color:#ffe1cf;font-size:10px}
/* Studio highlights and finder */
.studio-highlights{padding:24px 0;margin:0 auto 62px;border-block:1px solid var(--line);display:grid;grid-template-columns:1.35fr repeat(3,1fr);gap:22px;align-items:center}.highlight-title{position:relative}.highlight-title h2{margin:10px 0 0;font-size:25px;line-height:1.1;letter-spacing:-.04em}.highlight-title h2 em{font:italic 500 1em var(--serif);color:var(--red)}.highlight-flower{position:absolute;right:14px;top:0;color:var(--gold);font-size:24px;animation:spin 28s linear infinite}.studio-highlights article{min-width:0;min-height:95px;padding:8px 0 8px 17px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.studio-highlights article>b{color:var(--gold);font:italic 13px var(--serif)}.studio-highlights article strong{margin:5px 0;font-size:11px}.studio-highlights article p{margin:0;color:var(--muted);font-size:9px;line-height:1.7}.finder-section{padding-block:25px 80px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr);gap:14px}.finder{position:relative;min-width:0;padding:clamp(22px,3vw,34px);overflow:hidden}.finder h2{font-size:clamp(34px,4vw,48px)}.finder>p{margin:13px 0 0;color:var(--muted);font-size:11px}.finder-options{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.finder-option{padding:10px 12px;border:1px solid var(--line);border-radius:2px;background:transparent;font-size:9px;cursor:pointer;transition:background .18s,color .18s,border-color .18s}.finder-option span{margin-left:8px;color:var(--red)}.finder-option:hover,.finder-option.selected{border-color:var(--red);background:#cf4b3e13;color:var(--red)}.finder-result{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px;align-items:start;padding-top:13px;border-top:1px solid var(--line)}.finder-result-icon{color:var(--gold);font-size:18px}.finder-result p{margin:0;color:var(--muted);font-size:10px;line-height:1.7}.finder-result a{grid-column:2}.finder-aside{min-width:0;padding:24px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;background:linear-gradient(145deg,#ead3c4,#f3e5d7);border:1px solid var(--line)}.finder-aside .eyebrow{color:var(--red)}.aside-number{align-self:flex-end;margin-bottom:auto;color:var(--red);font-size:29px}.finder-aside p{max-width:230px;margin:12px 0;color:#51433d;font-size:13px;line-height:1.7}.finder-aside .quiet-link{font-size:10px}
/* Process, team, reviews and gallery */
.process-section{padding-top:28px}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line)}.process-grid article{min-width:0;min-height:215px;padding:22px 24px 26px 0}.process-grid article+article{padding-left:24px;border-left:1px solid var(--line)}.process-grid article>span{color:var(--gold);font:italic 13px var(--serif)}.process-icon{width:34px;height:34px;margin:15px 0 12px;display:grid;place-items:center;border:1px solid #cf4b3e50;border-radius:50%;color:var(--red)}.process-grid h3{margin:0 0 8px;font-size:14px}.process-grid p{max-width:290px;margin:0;color:var(--muted);font-size:10px;line-height:1.8}.team-band{padding-block:72px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:clamp(30px,7vw,90px);align-items:center}.team-photo{position:relative;min-width:0;height:420px;overflow:hidden}.team-photo img{width:100%;height:100%;object-fit:cover}.team-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#261a15b0)}.team-photo span{position:absolute;z-index:1;bottom:18px;left:20px;color:white;font-size:8px;letter-spacing:.16em}.team-copy h2{font-size:clamp(36px,4.5vw,52px)}.team-copy p{max-width:440px;color:var(--muted);font-size:11px;line-height:1.9}.reviews-section{padding-block:40px 76px}.reviews-head,.gallery-strip-head{margin-bottom:24px;display:flex;align-items:end;justify-content:space-between;gap:18px}.reviews-head h2,.gallery-strip-head h2{font-size:clamp(34px,4vw,46px)}.review-controls{display:flex;gap:7px}.review-controls button{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer;transition:background .2s,color .2s}.review-controls button:hover{background:var(--red);border-color:var(--red);color:white}.review-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 28px)/3);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}.review-card{min-width:0;min-height:220px;padding:20px;border:1px solid var(--line);background:var(--paper-2);scroll-snap-align:start;display:flex;flex-direction:column;justify-content:space-between}.review-card>span{color:var(--gold);font-size:10px;letter-spacing:.12em}.review-card blockquote{margin:20px 0;font:italic 500 18px/1.48 var(--serif)}.review-card small{color:var(--muted);font-size:8px;letter-spacing:.14em}.gallery-strip{padding-block:24px 80px}.gallery-mini{display:grid;grid-template-columns:1.2fr .9fr 1fr;gap:12px}.gallery-mini img{width:100%;height:230px;object-fit:cover}.gallery-mini img:nth-child(2){object-position:center 35%}.gallery-strip-head h2{margin-bottom:0}.gallery-strip-head .text-arrow{white-space:nowrap}
/* Booking and contacts */
.visit-band{border-block:1px solid var(--line);background:linear-gradient(105deg,#f0ded2aa,#f9eee488)}.visit-inner{min-height:220px;display:flex;align-items:center;justify-content:space-between;gap:24px}.visit-inner h2{font-size:clamp(36px,4vw,48px)}.booking-section{padding-block:74px;display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,7vw,86px);align-items:start}.booking-copy{position:sticky;top:100px}.booking-copy h2{font-size:clamp(40px,5vw,59px)}.booking-copy>p{max-width:350px;color:var(--muted);font-size:12px;line-height:1.9}.booking-contact{margin-top:28px;display:grid;gap:6px;font-size:10px;color:var(--muted)}.booking-contact a{color:var(--red);font-weight:700}.booking-form{min-width:0;padding:clamp(20px,3vw,32px);display:grid;gap:15px}.booking-form label{min-width:0;display:grid;gap:6px;font-size:9px;font-weight:700}.booking-form input,.booking-form select,.booking-form textarea{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:2px;background:var(--paper-2);color:var(--ink);font-size:11px;outline:none}.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px #cf4b3e15}.booking-form textarea{resize:vertical}.booking-form select:invalid{color:var(--muted)}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.optional,.form-note{color:var(--muted);font-size:8px;font-weight:400}.booking-submit{justify-self:start}.form-note{margin-top:-8px}.mini-info{padding-block:35px 80px;display:flex;justify-content:space-between;align-items:center;gap:30px}.mini-info h2{margin:10px 0 0;font:500 40px/1.1 var(--serif)}.mini-info h2 em{color:var(--red)}.info-card{min-width:min(340px,100%);padding:20px 24px;display:grid;gap:9px;font-size:10px}.info-card p{margin:0;line-height:1.8}.info-card a{color:var(--red)}
/* Inner pages */
.page-hero{padding-top:80px;padding-bottom:25px}.page-hero h1{font-size:clamp(54px,8vw,95px)}.direction-list{display:grid;gap:13px}.direction-row{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr) minmax(200px,.44fr);gap:22px;align-items:center;padding:18px;border:1px solid var(--line);background:var(--glass)}.direction-row:hover{box-shadow:var(--shadow)}.direction-row .row-no{align-self:start;color:var(--gold);font:italic 15px var(--serif)}.direction-row h2{margin:8px 0;font:500 25px/1.15 var(--serif)}.direction-row p{max-width:600px;margin:0 0 11px;color:var(--muted);font-size:10px;line-height:1.8}.direction-row>img{width:100%;height:190px;object-fit:cover}.schedule-card{padding:24px;border:1px solid var(--line)}.schedule-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid var(--line)}.live-dot{color:var(--muted);font-size:9px}.live-dot:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#79b887}.day-picker{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.day-tab{width:39px;height:39px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--muted);font-size:9px;cursor:pointer;transition:background .18s,color .18s}.day-tab:hover,.day-tab.active{background:var(--red);border-color:var(--red);color:white}.schedule-empty{max-width:510px;margin:48px auto 36px;text-align:center}.schedule-empty>span{color:var(--gold);font-size:23px}.schedule-empty h2{margin:10px 0;font:500 clamp(34px,5vw,48px)/1.05 var(--serif)}.schedule-empty h2 em{color:var(--red)}.schedule-empty p{color:var(--muted);font-size:11px;line-height:1.8}.price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:13px}.price-card{min-width:0;min-height:270px;padding:23px;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}.price-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.price-card h2{margin:15px 0 2px;font:500 23px var(--serif)}.price-card p{min-height:35px;margin:0;color:var(--muted);font-size:10px}.price-card>strong{margin:11px 0 17px;font-size:35px;letter-spacing:-.05em}.price-card>strong small{color:var(--gold);font-size:15px}.price-card.featured{background:#f2dfd5;border-color:#cf4b3e66}.price-card.featured:before{content:"ПОПУЛЯРНЫЙ ВЫБОР";color:var(--red);font-size:8px;letter-spacing:.14em}.price-card .text-arrow{margin-top:auto}.extra-price{grid-column:auto}.note{color:var(--muted);font-size:9px}.studio-grid{padding-block:40px 75px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,70px);align-items:center}.studio-photo{width:100%;height:390px;object-fit:cover}.studio-grid h2{margin:13px 0;font:500 clamp(36px,4vw,48px)/1.06 var(--serif)}.studio-grid h2 em{color:var(--red)}.studio-grid p{color:var(--muted);font-size:11px;line-height:1.9}.contact-stack{display:grid;gap:8px;margin:20px 0;color:var(--red);font-size:10px}.contact-stack span{color:var(--muted)}.map-panel{margin-bottom:80px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:25px}.map-panel h2{margin:10px 0;font:500 37px/1.05 var(--serif)}.map-panel h2 em{color:var(--red)}.map-panel p{color:var(--muted);font-size:10px}.map-art{width:45%;min-height:190px;display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(140deg,#b86755,#6b3f3b);color:white;font-size:8px;letter-spacing:.12em}.map-art b{width:58px;height:58px;display:grid;place-items:center;border:1px solid #fff9;border-radius:50%;font:italic 33px var(--serif)}
/* Team and gallery pages */
.team-page-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.team-role{min-width:0;padding:12px 12px 20px;border:1px solid var(--line);background:var(--glass)}.team-role-image{height:230px;overflow:hidden;margin-bottom:18px}.team-role-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s}.team-role:hover .team-role-image img{transform:scale(1.03)}.team-role h2{margin:8px 10px;font:500 22px var(--serif)}.team-role p{min-height:58px;margin:0 10px 10px;color:var(--muted);font-size:10px;line-height:1.8}.team-role>.eyebrow,.team-role>a{margin-inline:10px}.gallery-page-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:250px;gap:12px}.gallery-photo{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;background:#4a3933}.gallery-photo img{width:100%;height:100%;object-fit:cover;transition:transform .55s}.gallery-photo:hover img{transform:scale(1.035)}.gallery-photo:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#211713b5)}.gallery-photo figcaption{position:absolute;z-index:1;left:16px;right:12px;bottom:15px;display:grid;gap:4px;color:white}.gallery-photo figcaption span{font-size:8px;letter-spacing:.13em}.gallery-photo figcaption b{font:500 19px var(--serif)}.photo-large{grid-column:span 2;grid-row:span 2}.photo-wide{grid-column:span 2}.gallery-note{margin-bottom:75px;padding:17px 20px;display:flex;align-items:center;gap:12px}.gallery-note>span{color:var(--gold);font-size:20px}.gallery-note p{flex:1;margin:0;color:var(--muted);font-size:9px;line-height:1.7}.gallery-note a{white-space:nowrap}
/* Footer, welcome, mobile dock */
footer{width:var(--wrap);min-height:95px;margin:auto;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px;color:var(--muted);font-size:9px}footer .brand{color:var(--ink)}.welcome-shade{position:fixed;inset:0;z-index:40;padding:18px;display:grid;place-items:center;background:#1d1715b3}.welcome-card{position:relative;width:min(470px,100%);padding:26px;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 26px 80px #0004}.welcome-close{position:absolute;right:14px;top:14px;width:30px;height:30px;border:1px solid var(--line);border-radius:50%;background:transparent;cursor:pointer}.welcome-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(55px,auto);align-items:center;gap:9px;padding-right:48px}.welcome-progress{justify-self:end;display:flex;gap:5px}.welcome-count,.welcome-progress{color:var(--red);font-size:8px;letter-spacing:.12em}.welcome-progress{display:flex;gap:5px}.welcome-progress i{width:15px;height:3px;background:var(--line)}.welcome-progress i.on{width:27px;background:var(--red)}.welcome-content{min-height:205px;padding-top:27px}.welcome-icon{width:47px;height:47px;display:grid;place-items:center;border:1px solid #cf4b3e55;border-radius:50%;color:var(--red);font-size:21px}.welcome-content h2{margin:15px 0 8px;font:500 30px/1.08 var(--serif)}.welcome-content p{color:var(--muted);font-size:10px;line-height:1.8}.welcome-content a{color:var(--red);text-decoration:underline;text-underline-offset:3px}.welcome-actions{padding-top:13px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.welcome-skip{border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.welcome-skip:hover{color:var(--red)}.welcome-next{min-height:40px}.app-dock{display:none}
/* Full-screen menu */
.mega-overlay{position:fixed;inset:0;z-index:30;overflow:auto;background:#211a18d9;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.mega-overlay.is-open{opacity:1;visibility:visible}.mega-panel{min-height:100svh;padding:20px clamp(22px,5vw,70px) 16px;background:var(--paper);color:var(--ink);display:flex;flex-direction:column;transform:translateY(-10px);transition:transform .25s}.mega-overlay.is-open .mega-panel{transform:none}.mega-heading{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--line)}.mega-kicker,.mega-caption{font-size:8px;letter-spacing:.16em;color:var(--red);font-weight:800}.mega-close{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:24px;cursor:pointer;transition:transform .2s,background .2s}.mega-close:hover{background:var(--peach);transform:rotate(90deg)}.mega-layout{width:min(1120px,100%);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,6vw,80px);align-items:center;padding:26px 0}.mega-links{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.mega-caption{grid-column:span 2;margin-bottom:10px}.mega-links>a{grid-column:span 2;display:flex;align-items:center;min-height:43px;border-bottom:1px solid var(--line);font:500 clamp(17px,2.2vw,25px)/1.2 var(--serif);transition:color .18s,padding .18s}.mega-links>a:hover{padding-left:7px;color:var(--red)}.mega-links>a small{width:34px;color:var(--gold);font:700 8px var(--sans)}.mega-links>a b{margin-left:auto;color:var(--red);font:normal 14px var(--sans)}.mega-secondary{grid-column:span 2;display:flex;flex-wrap:wrap;gap:12px 18px;padding-top:14px}.mega-secondary a{color:var(--muted);font-size:9px}.mega-secondary a:hover{color:var(--red)}.mega-feature{position:relative;height:min(52vh,420px);min-height:270px;overflow:hidden;border-radius:2px 90px 2px 2px;background:#463630}.mega-feature img{width:100%;height:100%;object-fit:cover}.mega-feature-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,#211614c9)}.mega-feature-copy{position:absolute;left:20px;right:16px;bottom:20px;display:grid;gap:10px;color:white}.mega-feature-copy>span{font-size:7px;letter-spacing:.15em}.mega-feature-copy strong{font:500 27px/1.08 var(--serif)}.mega-feature-copy strong i{color:#ffd9c3}.mega-feature-copy .pill{justify-self:start;min-height:39px;font-size:9px}.mega-bottom{padding-top:11px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:8px}.mega-bottom a{color:var(--red)}
/* motion, intentionally short and transform-only */
@keyframes orbit{50%{transform:translateY(7px) scale(1.04);opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}.tile,.price-card,.team-role,.pill,.finder-option,.day-tab{will-change:auto}
@media(max-width:1050px){:root{--wrap:min(100% - 42px,900px)}.topbar{padding-inline:21px;gap:15px}.main-nav{gap:14px}.main-nav a{font-size:9px}.main-nav a:nth-child(n+4){display:none}.hero{gap:30px}.hero h1{font-size:clamp(56px,8vw,88px)}.hero-art{height:470px}.tiles{grid-template-columns:1fr 1fr}.tile-copy{grid-column:span 2;height:230px}.studio-highlights{grid-template-columns:1.2fr 1fr 1fr}.studio-highlights article:last-child{display:none}.booking-section{gap:34px}}
@media(max-width:720px){.glass{backdrop-filter:none;-webkit-backdrop-filter:none}:root{--wrap:calc(100% - 36px)}html{scroll-padding-top:76px}.topbar{height:66px;padding-inline:18px;gap:8px}.brand{font-size:9px;gap:7px}.brand-mark{width:33px;height:33px}.main-nav{display:none}.head-actions{margin-left:auto;gap:7px}.nav-toggle{width:38px;height:38px}.head-actions .pill{display:none}.hero{min-height:auto;padding-block:39px 38px;grid-template-columns:1fr;gap:24px}.hero h1{font-size:clamp(58px,13.5vw,82px);margin:19px 0 14px}.hero-copy>p{max-width:520px;font-size:12px}.hero-note{margin-top:23px}.hero-art{height:clamp(330px,100vw,470px);margin-inline:3px 6px}.hero-tag{left:13px;bottom:14px;width:min(220px,78%);padding:14px 17px}.orbit{right:-8px;top:8%;width:57px;height:57px}.section{padding-block:62px}.section-head{display:block;margin-bottom:23px}.section-head>p{margin-top:13px}.tiles{gap:9px}.tile{height:270px;padding:14px}.tile>strong{font-size:22px}.tile-copy{height:190px}.studio-highlights{width:var(--wrap);grid-template-columns:1fr 1fr;gap:12px;margin-bottom:40px;padding-block:18px}.highlight-title{grid-column:span 2}.highlight-title h2{font-size:23px}.studio-highlights article{min-height:80px;padding:5px 5px 5px 0;border:0}.studio-highlights article:last-child{display:flex}.studio-highlights article strong{font-size:10px}.studio-highlights article p{font-size:8px}.finder-section{padding-block:18px 55px;grid-template-columns:1fr;gap:9px}.finder{padding:20px}.finder h2{font-size:36px}.finder-aside{min-height:155px;padding:18px}.aside-number{font-size:23px}.finder-aside p{font-size:11px}.process-grid{grid-template-columns:1fr}.process-grid article{min-height:0;padding:17px 0}.process-grid article+article{padding-left:0;border-left:0;border-top:1px solid var(--line)}.process-icon{float:right;margin:2px 10px 0 0}.team-band{padding-block:52px;grid-template-columns:1fr;gap:22px}.team-photo{height:clamp(260px,75vw,380px)}.team-copy h2{font-size:38px}.reviews-section{padding-block:25px 55px}.reviews-head{align-items:end}.reviews-head h2,.gallery-strip-head h2{font-size:34px}.review-track{grid-auto-columns:85%;gap:10px}.review-card{min-height:195px;padding:17px}.review-card blockquote{font-size:17px;margin:14px 0}.gallery-strip{padding-block:20px 58px}.gallery-mini{grid-template-columns:1fr 1fr;gap:8px}.gallery-mini img{height:170px}.gallery-mini img:last-child{display:none}.visit-inner{min-height:0;padding-block:34px;display:grid;gap:18px}.visit-inner h2{font-size:36px}.visit-inner .pill{justify-self:start}.booking-section{padding-block:52px;grid-template-columns:1fr;gap:20px}.booking-copy{position:static}.booking-copy h2{font-size:42px}.booking-copy>p{font-size:11px}.booking-contact{margin-top:13px}.booking-form{gap:12px;padding:17px}.booking-fields{gap:8px}.booking-form input,.booking-form select,.booking-form textarea{font-size:16px;min-height:44px}.booking-form textarea{min-height:70px}.mini-info{padding-block:20px 65px;display:grid;gap:18px}.mini-info h2{font-size:34px}.info-card{min-width:0}.page-hero{padding-top:57px}.page-hero h1{font-size:clamp(48px,13vw,72px)}.direction-row{grid-template-columns:30px minmax(0,1fr);gap:10px;padding:14px}.direction-row>img{grid-column:2;grid-row:2;height:auto;aspect-ratio:16/9}.direction-row h2{font-size:22px}.direction-row p{font-size:9px}.price-grid{grid-template-columns:1fr 1fr;gap:9px}.price-card{min-height:240px;padding:16px}.price-card>strong{font-size:29px}.price-card p{font-size:9px}.schedule-card{padding:17px}.schedule-top{align-items:flex-start;flex-direction:column}.schedule-empty{margin:37px auto 25px}.studio-grid{padding-block:28px 50px;grid-template-columns:1fr;gap:22px}.studio-photo{height:270px}.studio-grid h2{font-size:38px}.map-panel{padding:20px;display:grid}.map-art{width:100%;min-height:150px}.team-page-grid{grid-template-columns:1fr 1fr;gap:9px}.team-role{padding:8px 8px 15px}.team-role-image{height:180px;margin-bottom:13px}.team-role h2{font-size:18px}.team-role p{font-size:9px;min-height:75px}.gallery-page-grid{grid-template-columns:1fr 1fr;grid-auto-rows:190px;gap:8px}.photo-large{grid-column:span 2;grid-row:span 1}.photo-wide{grid-column:span 2}.gallery-photo figcaption{left:11px;bottom:10px}.gallery-photo figcaption b{font-size:17px}.gallery-note{margin-bottom:52px;align-items:flex-start;flex-wrap:wrap}.gallery-note p{flex-basis:80%}.gallery-note a{margin-left:32px}footer{min-height:100px;padding-block:17px 80px;display:grid;grid-template-columns:1fr 1fr;gap:10px}footer>*:nth-child(even){text-align:right}footer .brand{grid-column:span 2}.app-dock{position:fixed;z-index:19;bottom:max(8px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(420px,calc(100% - 20px));min-height:58px;padding:7px 10px;display:flex;justify-content:space-around;align-items:center;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 8px 28px #30201830;border-radius:13px}.app-dock a{display:grid;justify-items:center;gap:1px;color:var(--muted);font-size:8px}.app-dock a span{font-size:16px}.app-dock .dock-book{padding:8px 11px;background:var(--red);border-radius:9px;color:white;font-weight:800}.mega-panel{padding:14px 18px 12px}.mega-layout{display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:18px 0}.mega-links{grid-template-columns:1fr 1fr;column-gap:10px}.mega-links>a{min-height:39px;font-size:17px}.mega-links>a small{width:25px;font-size:7px}.mega-secondary{gap:9px 13px;padding-top:11px}.mega-secondary a{font-size:8px}.mega-feature{height:150px;min-height:150px;border-radius:2px 48px 2px 2px}.mega-feature-copy{left:14px;bottom:12px;gap:6px}.mega-feature-copy strong{font-size:22px}.mega-feature-copy .pill{min-height:34px;padding-inline:11px;font-size:8px}.mega-bottom{font-size:7px}.mega-kicker{display:none}.welcome-shade{align-items:end;padding:10px}.welcome-card{padding:22px 19px calc(16px + env(safe-area-inset-bottom))}.welcome-content{min-height:190px;padding-top:20px}.welcome-content h2{font-size:27px}}
@media(max-width:390px){:root{--wrap:calc(100% - 28px)}.topbar{padding-inline:14px}.hero h1{font-size:58px}.actions .pill{padding-inline:12px;font-size:9px}.tiles{grid-template-columns:1fr}.tile,.tile-copy{grid-column:auto;height:235px}.price-grid{grid-template-columns:1fr}.team-page-grid{grid-template-columns:1fr}.team-role-image{height:220px}.gallery-page-grid{grid-template-columns:1fr;grid-auto-rows:220px}.photo-large,.photo-wide{grid-column:auto}.mega-links>a{grid-column:span 2}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Final navigation polish */
.mega-panel{position:relative;isolation:isolate;overflow:hidden}.mega-panel:before{content:"CHERRY";position:absolute;z-index:-1;right:-.03em;bottom:-.22em;color:var(--red);opacity:.035;font:800 clamp(140px,27vw,360px)/.8 var(--sans);letter-spacing:-.1em;pointer-events:none;white-space:nowrap}.mega-heading,.mega-layout,.mega-bottom{position:relative;z-index:1}.mega-caption{margin-bottom:14px}.mega-secondary{padding-top:17px}.mega-links>a{min-height:47px}.mega-feature{box-shadow:0 18px 45px #321d1622}.mega-feature-copy .pill{min-height:42px}.topbar .main-nav a{font-size:10px}.topbar .nav-toggle:focus-visible,.mega-close:focus-visible,.mega-links a:focus-visible,.mega-secondary a:focus-visible,.pill:focus-visible,.welcome-skip:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@media(max-width:720px){.mega-panel:before{right:-.08em;bottom:-.05em;font-size:145px}.mega-links>a{min-height:41px}.mega-secondary{padding-top:12px}}
/* The open navigation has a deliberate, high-contrast editorial treatment. */
.mega-panel{background:radial-gradient(ellipse at 82% 14%,#713c351f,transparent 35%),#272321;color:#f8f1e9}.mega-panel:before{display:none}.mega-heading{border-color:#fff2}.mega-heading .brand{color:#fff5eb}.mega-heading .brand i{color:#baaaa0}.mega-heading .brand-mark{color:#f09a81;border-color:#f09a8170}.mega-kicker,.mega-caption{color:#e69a7b}.mega-close{color:#fff3;border-color:#fff3}.mega-close:hover{color:#2b2422;background:#f1c4a9}.mega-layout{margin:20px auto 26px;grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);gap:clamp(42px,8vw,118px);padding:22px 0}.mega-links{grid-template-columns:minmax(0,1fr);max-width:510px}.mega-caption,.mega-title,.mega-links>a,.mega-secondary{grid-column:auto}.mega-caption{margin-bottom:9px;color:#e9a486}.mega-title{margin:0 0 15px;font:500 clamp(39px,5.2vw,67px)/.98 var(--serif);letter-spacing:-.04em}.mega-title em{color:#f1a88f;font-weight:500}.mega-links>a{min-height:48px;border-color:#fff2;color:#f8f1e9;font-size:clamp(20px,2.25vw,28px)}.mega-links>a:hover{color:#ffc2a8}.mega-links>a small{color:#e3a181}.mega-links>a b{color:#f0a184}.mega-secondary{gap:10px 20px;padding-top:17px}.mega-secondary a{color:#c7b9af;font-size:10px}.mega-secondary a:hover{color:#ffb99d}.mega-feature{height:min(57vh,510px);min-height:330px;border-radius:2px 100px 2px 2px;box-shadow:0 24px 70px #100b0a77}.mega-feature img{object-position:center 35%}.mega-feature-copy .pill{background:#d45143;border-color:#e77e6b}.mega-bottom{border-color:#fff2;color:#c7b9af}.mega-bottom a{color:#f0a184}body,.topbar,.pill,.glass,.finder-aside,.tile,.price-card,.app-dock,footer{transition:background-color .22s,color .22s,border-color .22s,box-shadow .22s}
@media(max-width:720px){.mega-panel{background:radial-gradient(ellipse at 92% 10%,#713c351f,transparent 30%),#272321}.mega-layout{margin:18px auto 20px;gap:17px;padding:10px 0}.mega-title{font-size:37px;margin-bottom:7px}.mega-links>a{min-height:39px;font-size:19px}.mega-secondary{padding-top:11px;gap:9px 15px}.mega-feature{height:160px;min-height:160px;border-radius:2px 55px 2px 2px}.mega-bottom{color:#b9aaa0}}
.mega-panel{justify-content:space-between}.mega-layout{margin:20px auto}.mega-feature{height:min(68vh,620px)}.mega-close{border-color:#fff4;color:#fff9}.mega-close:hover{border-color:#f1c4a9}
@media(max-width:720px){.mega-layout{margin:14px auto}.mega-feature{height:160px;min-height:160px}}

/* Account, online schedule and demo admin */
:root{--gold:#d89135;--yellow:#f2c95c;--red:#c9493c}

.brand{gap:0;font-size:12px;letter-spacing:.17em}.brand i{margin-left:6px;font-style:normal;color:var(--red);font-size:.84em}
.topbar{gap:clamp(12px,2vw,26px)}.topbar .brand{flex:none}.head-actions .pill{white-space:nowrap}
.page-hero{position:relative;overflow:hidden}.page-hero:after{content:"";position:absolute;right:4%;top:35px;width:clamp(60px,10vw,130px);aspect-ratio:1;background:url("/assets/sparkle.svg") center/contain no-repeat;opacity:.2;animation:spin 36s linear infinite;pointer-events:none}.page-hero>p{position:relative;z-index:1}
.schedule-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:26px}.day-tab{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.day-tab.active,.day-tab:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}.schedule-day{margin:0 0 30px}.schedule-day-heading{display:flex;align-items:baseline;gap:13px;margin-bottom:12px;border-bottom:1px solid var(--line);padding-bottom:9px}.schedule-day-heading>span{font:500 28px var(--serif);color:var(--red)}.schedule-day-heading small{color:var(--muted);text-transform:capitalize;font-size:10px}.schedule-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.schedule-item{min-width:0;padding:18px;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 8px 24px #38201608;transition:transform .18s,border-color .18s}.schedule-item:hover{transform:translateY(-2px);border-color:#d8913577}.schedule-time{display:inline-flex;padding:5px 9px;background:#f2c95c33;border-radius:20px;color:var(--ink);font-size:10px;font-weight:800}.schedule-item h3{min-height:44px;margin:14px 0 5px;font:500 18px/1.2 var(--serif)}.schedule-item p{margin:0 0 14px;color:var(--muted);font-size:9px}.schedule-item .text-arrow{font-size:10px}.schedule-source{margin:26px 0 0;padding:13px 15px;border-left:2px solid var(--gold);background:var(--glass);color:var(--muted);font-size:9px;line-height:1.7}
.account-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:16px;align-items:stretch}.account-card,.account-aside{padding:clamp(22px,4vw,44px)}.account-card h2,.cabinet-welcome h2,.referral-hero h2,.admin-head h2{margin:12px 0;font:500 clamp(33px,4vw,49px)/1.04 var(--serif)}.account-card h2 em,.account-aside h3 em,.cabinet-welcome h2 em,.referral-hero h2 em,.admin-head h2 em{color:var(--red)}.account-card>p,.account-aside li,.referral-hero>p,.cabinet-welcome p{max-width:480px;color:var(--muted);font-size:11px;line-height:1.85}.demo-form{display:grid;gap:14px;margin-top:22px}.demo-form label,.booking-picker label{display:grid;gap:7px;font-size:10px;font-weight:700}.demo-form input,.booking-picker select{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);font-size:14px}.telegram-demo{width:100%;min-height:47px;margin-top:10px;border:1px solid #198fca55;background:#168bc21a;color:var(--ink);font-size:11px;font-weight:800;cursor:pointer}.telegram-demo span{margin-left:9px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.demo-note,.account-aside small{display:block;margin-top:12px;color:var(--muted);font-size:8px;line-height:1.7}.account-aside{background:linear-gradient(145deg,#f2c95c66,#efc3ad66);border:1px solid var(--line)}.account-aside h3{margin:13px 0;font:500 31px/1.1 var(--serif)}.account-aside ul{padding-left:18px;margin:18px 0 24px;color:var(--ink)}.account-aside li{padding:4px 0}.account-aside hr{margin:20px 0;border:0;border-top:1px solid var(--line)}.account-aside>a:last-of-type{color:var(--red);font-size:10px;font-weight:800}
#cabinet-app{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);gap:12px}.cabinet-welcome{grid-column:1/-1;padding:clamp(22px,4vw,38px);display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.cabinet-welcome h2{margin-bottom:8px}.cabinet-welcome p{margin:0}.logout-button{border:0;background:none;cursor:pointer}.booking-picker{align-self:start;padding:24px;display:grid;gap:14px}.booking-picker>.eyebrow{margin-bottom:1px}.booking-picker select{font-size:11px}.picker-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.slot-hint{min-height:32px;margin:0;color:var(--muted);font-size:9px;line-height:1.7}.booking-picker button:disabled{opacity:.48;cursor:not-allowed}.my-bookings{min-width:0;padding:21px;background:var(--paper-2);border:1px solid var(--line)}.my-bookings-head,.admin-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.my-bookings-head>a{color:var(--red);font-size:9px}.empty-bookings{padding:20px 0;color:var(--muted);font-size:10px;line-height:1.8}.my-booking{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:13px 0;border-bottom:1px solid var(--line)}.booking-date{grid-column:1/-1;color:var(--red);font-size:9px;font-weight:800}.my-booking>div{display:grid;gap:4px}.my-booking b{font:500 16px var(--serif)}.my-booking small{color:var(--muted);font-size:8px}.my-booking button,.admin-booking button{align-self:center;padding:7px 9px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:8px;cursor:pointer}.referral-teaser{position:relative;overflow:hidden;margin-top:18px;padding:clamp(23px,5vw,45px);background:linear-gradient(120deg,#f2c95c38,transparent 65%),var(--paper-2)}.referral-teaser h2{margin:11px 0;font:500 clamp(27px,3.7vw,42px)/1.08 var(--serif)}.referral-teaser h2 em{color:var(--red)}.referral-teaser p{max-width:610px;color:var(--muted);font-size:10px;line-height:1.8}
.admin-notice{margin-bottom:20px;padding:14px 17px;display:grid;gap:5px;border:1px solid #d8913566;background:#f2c95c22}.admin-notice b{font-size:10px}.admin-notice span{color:var(--muted);font-size:9px;line-height:1.7}.admin-section{margin:24px 0 40px}.admin-head{margin-bottom:15px}.admin-head h2{margin-bottom:0}.admin-count{padding:8px 11px;border:1px solid var(--line);border-radius:30px;color:var(--muted);font-size:9px}.admin-section>p{color:var(--muted);font-size:10px}.admin-booking{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:15px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-bottom:0}.admin-booking:last-child{border-bottom:1px solid var(--line)}.admin-booking small,.availability-row small{color:var(--muted);font-size:8px}.admin-booking h3{margin:4px 0;font:500 17px var(--serif)}.admin-booking p{margin:0;color:var(--muted);font-size:9px}.status-chip{padding:5px 8px;border-radius:20px;background:#f2c95c44;color:#765118;font-size:7px;font-weight:800;letter-spacing:.1em}.availability-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.availability-row{min-width:0;padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--line);background:var(--paper-2)}.availability-row>div{min-width:0;display:grid;gap:5px}.availability-row b{font-size:9px}.availability-row small{line-height:1.4}.availability-toggle{min-width:89px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #71a47a66;background:#e2f1e2;color:#27643c;font-size:8px;cursor:pointer}.availability-toggle span{width:8px;height:8px;border-radius:50%;background:#41a45d}.availability-toggle.is-closed{border-color:#cf4b3c55;background:#fae1db;color:#9c3028}.availability-toggle.is-closed span{background:#cf4b3c}
.referral-hero{position:relative;overflow:hidden;min-height:430px;padding:clamp(27px,6vw,65px);background:radial-gradient(ellipse at 93% 8%,#f2c95c88,transparent 36%),var(--paper-2)}.referral-hero h2{margin-top:24px;font-size:clamp(43px,7vw,76px)}.referral-hero>p{max-width:550px;margin:18px 0 22px}.referral-orbit{position:absolute;right:8%;top:15%;color:var(--gold);font-size:75px;opacity:.55;animation:orbit 5s ease-in-out infinite}.referral-steps{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:42px;padding-top:15px;border-top:1px solid var(--line);color:var(--muted);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){.schedule-day-grid{grid-template-columns:1fr 1fr}.account-layout{grid-template-columns:1fr}.account-card,.account-aside{padding:22px}.account-aside h3{font-size:28px}#cabinet-app{grid-template-columns:1fr}.cabinet-welcome{grid-column:auto}.booking-picker{padding:18px}.my-bookings{padding:17px}.availability-list{grid-template-columns:1fr}.admin-booking{gap:8px;padding:12px}.referral-orbit{right:8%;top:10%;font-size:50px}}
@media(max-width:480px){.schedule-tabs{gap:6px}.day-tab{min-height:36px;padding-inline:11px}.schedule-day-grid{grid-template-columns:1fr}.schedule-item{padding:15px}.schedule-item h3{min-height:0;margin:10px 0 4px}.page-hero:after{right:0;top:22px;font-size:52px}.picker-row{grid-template-columns:1fr}.cabinet-welcome{display:block}.logout-button{margin-top:12px;padding:0}.admin-booking{grid-template-columns:minmax(0,1fr) auto}.admin-booking button{grid-column:2;grid-row:1}.status-chip{grid-column:2;grid-row:2;justify-self:end}.availability-row{padding:10px}.referral-steps{display:grid;gap:9px;margin-top:26px}.mega-heading .brand{font-size:11px}.brand{font-size:10px}.topbar{gap:8px}.head-actions{gap:7px}}
.admin-buttons{display:flex;gap:5px;flex-wrap:wrap}.admin-buttons button:first-child{border-color:#d8913566;color:var(--red)}.status-chip.is-confirmed{background:#dff0df;color:#27643c}
@media(max-width:480px){.admin-buttons{grid-column:1/-1;justify-content:flex-end}.admin-buttons button{font-size:7px}}
/* Compact, app-like mobile navigation */
.mega-actions{display:flex;align-items:center;gap:8px}.mega-close:hover{transform:rotate(90deg)}.mega-close:focus-visible,.mega-close{font-size:22px}
.yandex-demo{width:100%;min-height:47px;margin-top:8px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px;font-weight:800;opacity:.8}.yandex-demo span{margin-left:9px;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:720px){.mega-panel{min-height:100svh;height:100svh;justify-content:flex-start;overflow-y:auto;padding:10px 16px max(12px,env(safe-area-inset-bottom));}.mega-heading{flex:0 0 auto;min-height:48px;padding-bottom:9px}.mega-layout{flex:1 0 auto;width:100%;margin:10px auto 8px;display:flex;flex-direction:column;justify-content:flex-start;gap:12px;padding:0}.mega-links{width:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr;column-gap:10px;align-content:start}.mega-caption,.mega-title{grid-column:1/-1}.mega-caption{margin:0 0 4px;font-size:8px}.mega-title{margin:0 0 5px;font-size:clamp(31px,9vw,39px);line-height:.98}.mega-links>a{grid-column:auto;min-height:44px;padding:3px 0;font:500 clamp(15px,4.6vw,18px)/1.1 var(--serif)}.mega-links>a:hover{padding-left:3px}.mega-links>a small{width:20px;font-size:7px}.mega-secondary{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px 13px;padding-top:10px}.mega-secondary a{font-size:8px}.mega-feature{width:100%;height:116px;min-height:116px;border-radius:2px 45px 2px 2px}.mega-feature-copy{left:14px;right:12px;bottom:11px;gap:5px}.mega-feature-copy>span{font-size:6px}.mega-feature-copy strong{font-size:21px}.mega-feature-copy .pill{min-height:33px;padding-inline:11px;font-size:8px}.mega-bottom{flex:0 0 auto;min-height:27px;align-items:center;padding-top:7px;font-size:7px}.mega-bottom>span:last-child{display:none}}
@media(max-width:390px){.mega-panel{padding-inline:13px}.mega-layout{gap:9px}.mega-links>a{min-height:40px}.mega-secondary{gap:7px 10px}.mega-feature{height:102px;min-height:102px}.mega-bottom{font-size:6px}}
@media(max-width:720px){.mega-layout{justify-content:center}.mega-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 8px}.mega-secondary a{font-size:9px;line-height:1.35}.mega-secondary a:last-child{grid-column:1/-1}}
@media(max-width:390px){.mega-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}.mega-secondary a{font-size:8px}}
@media(max-width:720px){.mega-secondary a{font-size:10px}}
@media(max-width:390px){.mega-secondary a{font-size:9px}}
/* Final header: one crisp three-stroke menu control, no theme switch. */

.nav-toggle{width:48px;height:46px;display:grid;grid-template-rows:repeat(3,2px);align-content:center;justify-items:start;gap:5px;padding:0 13px;border:1px solid #c9beb5;border-radius:14px;background:var(--paper-2);box-shadow:0 3px 12px #35261b0a;transition:background .18s,border-color .18s,box-shadow .18s}
.nav-toggle:hover{transform:translateY(-1px);background:#f6e9df;border-color:#d89135;box-shadow:0 6px 16px #35261b14}
.nav-toggle span{width:21px;height:2px;border-radius:2px;background:var(--ink);transition:transform .2s,opacity .16s,width .2s}
.nav-toggle span:nth-child(2){width:15px;margin:0}.nav-toggle span:last-child{width:18px}
.nav-toggle.is-active span:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle.is-active span:nth-child(2){opacity:0}.nav-toggle.is-active span:last-child{transform:translateY(-7px) rotate(-45deg)}
.mega-close{width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:13px;background:#ffffff0b;color:#fff;font-size:22px;cursor:pointer;transition:background .2s,transform .2s}.mega-close:hover{background:#ffffff18;transform:rotate(90deg)}
@media(max-width:720px){.nav-toggle{width:45px;height:44px;border-radius:13px}.nav-toggle span{width:19px}.nav-toggle span:nth-child(2){width:13px}.nav-toggle span:last-child{width:16px}}
/* Program catalogue, based on the studio's published offerings */
.program-grid{padding-block:15px 75px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.program-card{min-width:0;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);box-shadow:0 12px 35px #34251b0b}.program-card>img{width:100%;height:clamp(190px,28vw,320px);object-fit:cover}.program-copy{padding:clamp(18px,3vw,30px)}.program-copy h2{margin:11px 0;font:500 clamp(28px,3.8vw,42px)/1.05 var(--serif);letter-spacing:-.04em}.program-copy h2 em{color:var(--red)}.program-copy p{color:var(--muted);font-size:10px;line-height:1.8}.program-detail{padding-top:10px;border-top:1px solid var(--line)}.program-copy .text-arrow{display:inline-flex;margin-top:5px}.visit-inner>div>p{max-width:390px;color:var(--muted);font-size:10px}
@media(max-width:640px){.program-grid{grid-template-columns:1fr;gap:11px;padding-top:0}.program-card>img{height:clamp(210px,63vw,330px)}.program-copy{padding:19px}.program-copy h2{font-size:34px}.visit-inner>div>p{font-size:9px}}
.rental-card{margin-top:18px;padding:clamp(20px,4vw,35px);display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:22px}.rental-card h2{margin:10px 0;font:500 clamp(26px,3.5vw,38px)/1.08 var(--serif)}.rental-card h2 em{color:var(--red)}.rental-card p{color:var(--muted);font-size:9px;line-height:1.7}.rental-table{align-self:center;min-width:0}.rental-row{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:9px;padding:12px 5px;border-bottom:1px solid var(--line);font-size:9px}.rental-row span{color:var(--muted)}.rental-head{color:var(--red);font-size:8px;font-weight:800;letter-spacing:.04em}.price-footnote{grid-column:1/-1;margin:0;padding-top:12px;border-top:1px solid var(--line)}
@media(max-width:640px){.rental-card{grid-template-columns:1fr;gap:11px}.rental-row{grid-template-columns:1.15fr repeat(3,minmax(0,1fr));gap:4px;padding:10px 0;font-size:8px}.rental-head{font-size:7px}.price-footnote{font-size:8px}}

.day-tab{flex:0 0 auto;white-space:nowrap}.schedule-tabs{align-items:center}
.campaign-settings{margin:12px 0 70px;padding:clamp(19px,4vw,34px)}.campaign-settings>h2{margin:10px 0;font:500 clamp(30px,4vw,43px)/1.05 var(--serif)}.campaign-settings>h2 em{color:var(--red)}.campaign-settings>p{color:var(--muted);font-size:10px;line-height:1.7}.campaign-settings form{display:grid;gap:13px}.campaign-settings fieldset{min-width:0;margin:0;padding:15px;border:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-settings legend{padding:0 7px;color:var(--red);font-size:10px;font-weight:800}.campaign-settings label{display:grid;gap:6px;color:var(--muted);font-size:9px}.campaign-settings .setting-check{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:var(--ink)}.campaign-settings input[type=text],.campaign-settings input[type=number]{min-width:0;min-height:42px;padding:0 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:11px}.campaign-settings input[type=checkbox]{width:17px;height:17px;accent-color:var(--red)}.birthday-settings{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.campaign-settings form>.pill{justify-self:start}.campaign-settings form>small{color:var(--muted);font-size:9px}.campaign-preview{margin:14px 0;padding:13px 15px;display:grid;gap:7px;border:1px solid var(--line);background:#f2c95c20}.campaign-preview b{font-size:10px}.campaign-preview span,.campaign-preview small{color:var(--muted);font-size:9px;line-height:1.6}.campaign-preview small{font-size:8px}
@media(max-width:480px){.campaign-settings fieldset{grid-template-columns:1fr;padding:12px}.birthday-settings{grid-column:auto;grid-template-columns:1fr}.campaign-settings .setting-check{grid-column:auto}}

@media(max-width:720px){.hero-tag{bottom:100px}}
.demo-login-modal[hidden]{display:none}.demo-login-modal{position:fixed;z-index:50;inset:0;padding:18px;display:grid;place-items:center;background:#1b1715b8}.demo-login-card{position:relative;width:min(420px,100%);padding:27px}.demo-login-card h2{margin:12px 0;font:500 32px/1.08 var(--serif)}.demo-login-card h2 em{color:var(--red)}.demo-login-card p{color:var(--muted);font-size:10px;line-height:1.7}.demo-login-card form{display:grid;gap:12px}.demo-login-card form label{display:grid;gap:6px;font-size:9px}.demo-login-card input{min-height:46px;padding:0 11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font:inherit;font-size:14px}.demo-login-close{position:absolute;right:13px;top:13px;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:20px;cursor:pointer}

/* Refined route menu and consistent vector icons */
.mega-panel{width:min(100%,1440px);margin-inline:auto;padding:clamp(15px,2.2vw,28px) clamp(18px,4vw,58px) 16px;background:radial-gradient(ellipse at 88% 8%,#693b301e,transparent 34%),#211f1d;color:#faf5ee;overflow:auto}
.mega-heading{min-height:48px;padding-bottom:12px;border-color:#fff2}
.mega-heading .brand{font-size:12px;color:#fff}.mega-heading .brand i{color:#d6c5b9}
.mega-kicker{margin-left:auto;margin-right:18px;color:#d9a58a;font-size:8px;letter-spacing:.15em}
.mega-close{flex:none;width:42px;height:42px;border:1px solid #fff3;border-radius:13px;background:#ffffff08}
.mega-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}
.mega-menu-content{width:min(1100px,100%);margin:auto;display:grid;grid-template-columns:.72fr 1.28fr;gap:15px 34px;align-content:center;padding:20px 0}
.mega-intro .eyebrow{color:#e7a98c}.mega-intro h2{margin:11px 0;font:500 clamp(36px,4.7vw,60px)/.98 var(--serif);letter-spacing:-.035em}.mega-intro h2 em{color:#f0ad8e}.mega-intro p{max-width:330px;color:#c8bdb4;font-size:10px;line-height:1.75}
.mega-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mega-link-grid>a{min-width:0;min-height:82px;padding:13px 14px;display:grid;grid-template-columns:27px minmax(0,1fr) 19px;align-items:center;gap:10px;border:1px solid #fff2;border-radius:13px;background:#ffffff06;transition:background .18s,border-color .18s,transform .18s}
.mega-link-grid>a:hover{transform:translateY(-2px);border-color:#e3a17c77;background:#ffffff0d}
.mega-link-no{align-self:start;padding-top:3px;color:#e1a485;font-size:8px;font-weight:800;letter-spacing:.08em}
.mega-link-grid>a>span:nth-child(2){display:grid;gap:5px}.mega-link-grid b{font:500 19px var(--serif);color:#fff8f0}.mega-link-grid small{color:#bfb2a8;font-size:8px}
.mega-link-grid svg{width:18px;height:18px;fill:none;stroke:#e9a987;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mega-lower{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:12px}
.mega-feature{position:relative;min-height:145px;overflow:hidden;border-radius:14px;background:#514039}
.mega-feature img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 56%;opacity:.72}
.mega-feature-shade{position:absolute;inset:0;background:linear-gradient(90deg,#211b19df,transparent 100%)}
.mega-feature-copy{position:absolute;inset:17px auto 16px 18px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;color:white}
.mega-feature-copy small{color:#f0b394;font-size:7px;letter-spacing:.14em}
.mega-feature-copy b{font:500 22px/1.02 var(--serif)}
.mega-feature-copy i{margin-top:5px;color:#f6ddd0;font-size:8px;font-style:normal}
.mega-feature-copy strong{margin-left:6px;color:#ffd5bc}
.mega-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:7px}
.mega-shortcuts a{min-height:34px;padding:0 10px;display:flex;align-items:center;border-bottom:1px solid #fff2;color:#ddd1c7;font-size:9px;transition:color .16s,border-color .16s}
.mega-shortcuts a:hover{color:#f0b394;border-color:#e3a17c88}
.mega-bottom{font-size:8px;color:#bdafa4}.mega-bottom a{color:#f0b394}
.nav-toggle{width:48px;height:46px;border-radius:14px;padding:0 13px;display:grid;grid-template-rows:repeat(3,2px);align-content:center;justify-items:start;gap:5px;background:var(--paper-2);box-shadow:0 3px 12px #35261b0a}
.nav-toggle span{width:21px;height:2px;border-radius:2px}.nav-toggle span:nth-child(2){width:15px;margin:0}.nav-toggle span:last-child{width:18px}
.app-dock{min-height:65px;padding:8px 9px;gap:3px;background:#fffdfa;border:1px solid #e6ded6;border-radius:20px;box-shadow:0 10px 30px #30201822}
.app-dock a{min-width:0;flex:1;display:flex;align-items:center;justify-content:center;gap:5px;color:#77716b;font-size:9px;white-space:nowrap}
.app-dock a svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.app-dock .dock-book{min-height:44px;flex:1.15;padding:0 9px;border-radius:13px;background:var(--red);color:#fff;font-weight:800}
.app-dock .dock-book svg{stroke:#fff}
.welcome-icon{border-color:#cf4b3e40;color:var(--red)}
.welcome-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.welcome-icon svg:first-child path:not([d*="M16 3.5"]){fill:none}

/* Compact, legible weekday filter */
.schedule-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 24px}
.day-tab{flex:0 0 auto;min-width:44px;min-height:42px;padding:0 13px;border-radius:11px;white-space:nowrap;font-size:10px;font-weight:700}
.day-tab:first-child{min-width:78px}
.schedule-day-heading>span{min-width:48px;font-size:24px}
.schedule-day-heading{gap:12px}
.schedule-day-grid{gap:10px}
.schedule-item{border-radius:10px}
.schedule-item .text-arrow{min-height:38px;display:inline-flex;align-items:center;gap:6px}

/* The fixed mobile bar leaves a clear reading lane and never covers labels. */
@media(max-width:720px){
 .mega-panel{height:100svh;min-height:100svh;padding:10px 16px max(12px,env(safe-area-inset-bottom));justify-content:flex-start}
 .mega-heading{flex:0 0 auto;min-height:47px;padding-bottom:8px}
 .mega-kicker{display:none}
 .mega-menu-content{flex:1 0 auto;width:100%;grid-template-columns:1fr;gap:11px;padding:12px 0}
 .mega-intro h2{font-size:35px;margin:7px 0}.mega-intro p{max-width:390px;margin:5px 0;font-size:9px}
 .mega-link-grid{gap:7px}.mega-link-grid>a{min-height:67px;padding:9px 10px;grid-template-columns:19px minmax(0,1fr) 15px;gap:7px;border-radius:11px}
 .mega-link-grid b{font-size:16px}.mega-link-grid small{font-size:7px}.mega-link-no{font-size:7px}
 .mega-lower{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:8px}
 .mega-feature{min-height:122px;border-radius:11px}.mega-feature-copy{inset:12px auto 10px 12px}.mega-feature-copy b{font-size:19px}
 .mega-shortcuts{gap:4px}.mega-shortcuts a{min-height:29px;padding-inline:5px;font-size:8px}
 .mega-bottom{flex:0 0 auto;min-height:27px;padding-top:7px}.mega-bottom>span:last-child{display:none}
 .app-dock{width:min(430px,calc(100% - 20px));min-height:64px;padding:7px 8px;border-radius:17px}
 .app-dock a{gap:4px;font-size:8px}.app-dock a svg{width:18px;height:18px}
 .app-dock .dock-book{min-height:43px;padding-inline:7px}
 .hero-tag{bottom:100px}
 .day-tab{min-width:42px;min-height:40px;padding-inline:11px}
 .day-tab:first-child{min-width:70px}
 footer{min-height:0;padding:22px 0 calc(86px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr;justify-items:start;gap:7px;text-align:left}
 footer>*{text-align:left!important}
 footer .brand{grid-column:auto;font-size:11px}
 footer>span{font-size:9px}
}
@media(max-width:390px){
 .mega-panel{padding-inline:12px}.mega-menu-content{gap:9px}.mega-intro h2{font-size:32px}
 .mega-link-grid>a{min-height:61px}.mega-link-grid b{font-size:15px}
 .mega-lower{grid-template-columns:1fr .95fr}.mega-feature{min-height:110px}
 .mega-shortcuts a{font-size:7px}
 .app-dock{gap:0}.app-dock a{font-size:7px}.app-dock a svg{width:16px;height:16px}
}

/* Cabinet and mobile polish */
.mini-info{align-items:stretch}.mini-info>div:first-child{align-self:center}.info-card{min-width:0;width:min(420px,100%);align-content:center;border-radius:18px;padding:24px 28px;gap:13px}.info-card p{font-size:13px;line-height:1.7}.info-card a{font-size:11px;font-weight:750}.schedule-day-heading{min-width:0;display:flex;align-items:center;flex-wrap:wrap}.schedule-day-heading>span{flex:none;min-width:0;padding:3px 10px;border-radius:9px;background:var(--paper-2);font:600 17px/1.4 var(--sans)}.schedule-day-heading small{min-width:0;line-height:1.5;overflow-wrap:anywhere}
.greeting{animation:greeting-in .65s both cubic-bezier(.18,.8,.24,1)}@keyframes greeting-in{from{opacity:0;transform:translateY(8px);letter-spacing:.24em}to{opacity:1;transform:none;letter-spacing:.18em}}.loyalty-card{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:20px;align-items:center;padding:clamp(20px,4vw,32px);border-radius:20px;background:linear-gradient(120deg,#f2c95c26,transparent 60%),var(--paper-2)}.loyalty-card h2{margin:12px 0;font:500 clamp(27px,3vw,38px)/1.05 var(--serif)}.loyalty-card h2 em{color:var(--red)}.loyalty-card p,.loyalty-card small{color:var(--muted);font-size:10px;line-height:1.7}.loyalty-progress{height:7px;max-width:420px;margin:12px 0;background:#d9d1c8;border-radius:20px;overflow:hidden}.loyalty-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--red),#e8a54d)}.loyalty-card code{display:block;margin-top:14px;font-size:10px;letter-spacing:.14em}.loyalty-qr{width:144px;height:144px;max-width:100%;padding:10px;border:1px solid var(--line);border-radius:12px;background:white}.booking-summary{padding:13px 14px;display:grid;gap:6px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);font-size:10px}.booking-summary span{color:var(--muted)}.booking-summary strong{color:var(--red)}.booking-picker input[type=tel]{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:2px;background:var(--paper);color:var(--ink);font-size:14px}.demo-form label{display:grid;gap:7px}.demo-form input{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);background:var(--paper);font-size:14px}
@media(max-width:760px){.mini-info{display:grid;gap:18px;padding-block:40px 55px}.mini-info h2{font-size:clamp(36px,10vw,46px)}.info-card{width:100%;padding:21px;border-radius:16px}.loyalty-card{grid-template-columns:minmax(0,1fr) 104px;gap:12px}.loyalty-qr{width:104px;height:104px;padding:7px}}
@media(max-width:390px){.loyalty-card{grid-template-columns:1fr}.loyalty-qr{width:112px;height:112px;grid-row:1;justify-self:start}.cabinet-welcome h2{font-size:34px}.mini-info h2{font-size:36px}.schedule-day-heading{align-items:flex-start}}
.profile-settings{grid-column:1/-1;padding:16px 19px;border-radius:13px}.profile-settings summary{cursor:pointer;color:var(--ink);font-size:11px;font-weight:750}.profile-settings form{padding-top:14px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.profile-settings label{display:grid;gap:5px;color:var(--muted);font-size:9px}.profile-settings input{min-height:42px;min-width:0;padding:0 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.profile-settings small{grid-column:1/-1;color:var(--muted);font-size:8px}@media(max-width:600px){.profile-settings form{grid-template-columns:1fr}.profile-settings small{grid-column:auto}}
/* Clear full-screen navigation: directions first, no photo tile. */
.menu-simple{height:100svh;min-height:100svh;padding:clamp(20px,4vw,48px) clamp(18px,6vw,84px);display:flex;flex-direction:column;justify-content:center;overflow:auto;background:radial-gradient(ellipse at 85% 5%,#c75a3920,transparent 33%),#211f1d;color:#faf5ee}
.menu-simple .mega-heading{position:absolute;top:clamp(14px,3vh,30px);left:clamp(18px,6vw,84px);right:clamp(18px,6vw,84px)}
.menu-simple-intro{width:min(100%,1020px);margin:0 auto 20px}.menu-simple-intro .eyebrow{color:#e9aa89}.menu-simple-intro h2{margin:8px 0 0;font:500 clamp(36px,5.5vw,68px)/.96 var(--serif);letter-spacing:-.04em}.menu-simple-intro h2 em{color:#f0ad8e}
.menu-route-grid{width:min(100%,1020px);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.menu-route-grid>a{position:relative;min-height:90px;padding:14px 42px 14px 16px;display:grid;grid-template-columns:30px 1fr;align-content:center;column-gap:8px;border:1px solid #fff2;border-radius:13px;background:#ffffff06;transition:background .18s,border-color .18s,transform .18s}.menu-route-grid>a:hover{transform:translateY(-2px);border-color:#e9aa8980;background:#ffffff0e}.menu-route-grid small{grid-row:span 2;align-self:start;padding-top:4px;color:#e9aa89;font-size:8px;font-weight:800}.menu-route-grid b{font:500 clamp(17px,2vw,23px) var(--serif)}.menu-route-grid span{color:#c9bdb3;font-size:9px}.menu-route-grid i{position:absolute;right:16px;top:50%;color:#e9aa89;font-style:normal;transform:translateY(-50%)}.menu-simple-links{width:min(100%,1020px);margin:18px auto 0;display:flex;flex-wrap:wrap;gap:8px 21px}.menu-simple-links a{padding:5px 0;border-bottom:1px solid #ffffff26;color:#ded5cd;font-size:10px}.menu-simple-links a:hover{color:#f0ad8e}.menu-simple .mega-bottom{width:min(100%,1020px);margin:20px auto 0;padding-top:10px;border-top:1px solid #ffffff22}
@media(max-width:720px){.menu-simple{justify-content:flex-start;padding:76px 18px max(16px,env(safe-area-inset-bottom))}.menu-simple .mega-heading{top:13px;left:18px;right:18px}.menu-simple-intro{margin:0 auto 16px}.menu-simple-intro h2{font-size:37px}.menu-route-grid{gap:8px}.menu-route-grid>a{min-height:76px;padding:11px 29px 11px 11px;grid-template-columns:23px 1fr;column-gap:5px;border-radius:11px}.menu-route-grid b{font-size:16px}.menu-route-grid span{font-size:8px;line-height:1.35}.menu-route-grid i{right:10px}.menu-simple-links{gap:5px 14px;margin-top:14px}.menu-simple-links a{font-size:9px}.menu-simple .mega-bottom{margin-top:auto;padding-top:12px;gap:10px}}
@media(max-width:390px){.menu-simple{padding-inline:13px}.menu-simple .mega-heading{left:13px;right:13px}.menu-route-grid>a{min-height:68px}.menu-route-grid b{font-size:14px}.menu-route-grid span{font-size:7px}}
/* Stable app bar: equal tap targets and no oversized text glyphs. */
@media(max-width:720px){.app-dock{left:50%;bottom:calc(10px + env(safe-area-inset-bottom));width:min(420px,calc(100% - 24px));min-height:64px;padding:7px 8px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;border-radius:17px}.app-dock a,.app-dock .dock-book{min-width:0;min-height:48px;padding:5px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:11px}.app-dock a span,.app-dock .dock-book span{font-size:8px;line-height:1.1;white-space:nowrap}.app-dock a svg{width:18px;height:18px}.app-dock .dock-book{padding:5px 2px}}
/* Account, booking and admin management panels. */
.provider-card{width:100%;min-height:53px;margin:5px 0;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);background:var(--paper-2);text-align:left}.provider-card b{font-size:10px}.provider-card span{color:var(--muted);font-size:8px}.provider-card:disabled{opacity:.76}.linked-account-status{grid-column:1/-1;padding:10px 12px;display:flex;justify-content:space-between;border:1px solid var(--line);font-size:9px}.linked-account-status span{color:var(--muted)}.provider-links{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px}.provider-links button{min-height:36px;padding:0 10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:9px}.phone-required-note{padding:12px;border:1px solid #c75a3940;border-radius:10px;background:#c75a390b;display:grid;gap:4px}.phone-required-note b{font-size:10px}.phone-required-note span{color:var(--muted);font-size:9px;line-height:1.6}.booking-next:disabled{opacity:.55;cursor:not-allowed}.friend-card{grid-column:1/-1;padding:22px;border-radius:16px;background:linear-gradient(120deg,#f2c95c30,transparent 70%),var(--paper-2)}.friend-card h2{margin:8px 0;font:500 28px/1.05 var(--serif)}.friend-card h2 em{color:var(--red)}.friend-card p,.friend-card code{display:block;color:var(--muted);font-size:10px}.friend-card button{margin-top:10px;padding:8px 12px;border:1px solid var(--line);background:transparent;border-radius:8px;font-size:9px}.schedule-admin{margin-top:15px;padding:clamp(18px,3vw,28px);border:1px solid var(--line);background:var(--paper-2)}.schedule-admin h2{margin:8px 0;font:500 clamp(27px,3.5vw,38px)/1.05 var(--serif)}.schedule-admin h2 em{color:var(--red)}.schedule-admin>p{color:var(--muted);font-size:9px}.new-group-form{display:grid;grid-template-columns:1.1fr 1fr .5fr .75fr auto;gap:7px;margin:14px 0}.new-group-form input,.new-group-form select,.schedule-edit-row input{min-width:0;min-height:38px;padding:0 9px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:9px}.schedule-edit-list{display:grid;gap:6px}.schedule-edit-row{display:grid;grid-template-columns:1fr auto minmax(100px,.55fr) auto auto;gap:7px;align-items:center;padding:8px;border:1px solid var(--line);background:var(--paper)}.schedule-edit-row b{font-size:9px}.schedule-edit-row small{color:var(--muted);font-size:8px}.schedule-edit-row button{min-height:34px;padding:0 8px;border:1px solid var(--line);background:transparent;font-size:8px;cursor:pointer}.campaign-settings fieldset{border-radius:10px}.campaign-settings .referral-reward-field{grid-column:1/-1}.privacy-copy{padding:clamp(20px,4vw,34px);max-width:780px}.privacy-copy h2{margin:20px 0 5px;font:500 23px var(--serif)}.privacy-copy p{color:var(--muted);font-size:11px;line-height:1.8}
@media(max-width:720px){.new-group-form{grid-template-columns:1fr 1fr}.schedule-edit-row{grid-template-columns:1fr 1fr}.schedule-edit-row input{grid-column:1}.schedule-edit-row button{grid-row:span 1}.linked-account-status,.provider-links{grid-column:auto}}
@media(max-width:430px){.new-group-form{grid-template-columns:1fr}.schedule-edit-row{grid-template-columns:1fr}.schedule-edit-row input,.schedule-edit-row button{grid-column:auto}.account-inline{gap:10px}}
/* Auth-first, provider-only cabinet entry. */
.auth-shell{max-width:900px;margin:0 auto;padding:clamp(23px,5vw,52px);display:grid;grid-template-columns:.9fr 1.1fr;gap:24px 44px;align-items:center;border-radius:20px;background:radial-gradient(circle at 5% 90%,#f2c95c2c,transparent 38%),var(--paper-2)}.auth-copy h2{margin:12px 0;font:500 clamp(34px,4vw,49px)/1.02 var(--serif)}.auth-copy h2 em{color:var(--red)}.auth-copy p{max-width:350px;color:var(--muted);font-size:11px;line-height:1.8}.auth-actions{display:grid;gap:10px}.auth-provider{min-height:73px;padding:12px;display:grid;grid-template-columns:42px 1fr 20px;align-items:center;gap:12px;text-align:left;border:1px solid var(--line);border-radius:12px;background:var(--paper);cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.auth-provider:hover{transform:translateY(-2px);border-color:#cf4b3e77;box-shadow:0 8px 24px #2c211a10}.provider-mark{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#218bc71a;color:#218bc7;font-weight:800;font-size:17px}.auth-yandex .provider-mark{background:linear-gradient(135deg,#f5da48 0 50%,#ed4538 50%);color:white}.auth-provider>span:nth-child(2){display:grid;gap:3px}.auth-provider b{font-size:11px}.auth-provider small{color:var(--muted);font-size:8px}.auth-provider>i{color:var(--red);font-style:normal}.auth-status{grid-column:1/-1;margin:2px 0 0;color:var(--muted);font-size:9px;line-height:1.65}.provider-name-form{grid-column:1/-1;padding:16px;display:grid;gap:10px;border:1px solid var(--line);border-radius:12px}.provider-name-form[hidden]{display:none}.provider-name-form label{display:grid;gap:6px;font-size:10px}.provider-name-form input{min-height:46px;padding:0 12px;border:1px solid var(--line);background:var(--paper)}
.menu-simple-intro{margin-bottom:28px}.menu-route-grid>a{min-height:105px;padding:18px 48px 18px 20px;grid-template-columns:36px 1fr;column-gap:11px}.menu-route-grid b{font-size:clamp(20px,2.8vw,28px)}.menu-route-grid span{margin-top:4px;font-size:10px}.menu-route-grid small{font-size:9px}.menu-route-grid i{font-size:17px}.menu-simple .mega-bottom{margin-top:28px}
@media(max-width:720px){.auth-shell{grid-template-columns:1fr;gap:14px;padding:21px;border-radius:17px}.auth-copy h2{font-size:35px}.auth-copy p{margin-bottom:0}.auth-provider{min-height:64px}.provider-name-form{grid-column:auto}.menu-simple{justify-content:center}.menu-simple-intro{margin-bottom:18px}.menu-route-grid>a{min-height:85px;padding:14px 38px 14px 14px;grid-template-columns:28px 1fr;column-gap:8px}.menu-route-grid b{font-size:18px}.menu-route-grid span{font-size:9px}.menu-simple .mega-bottom{margin-top:24px}}
@media(max-width:390px){.menu-route-grid>a{min-height:78px}.menu-route-grid b{font-size:16px}.menu-route-grid span{font-size:8px}}
.menu-utility-links{width:min(100%,1020px);margin:14px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-utility-links a{position:relative;min-height:66px;padding:10px 40px 10px 15px;display:flex;flex-direction:column;justify-content:center;gap:3px;border:1px solid #e9aa8955;border-radius:11px;background:#d68f6c12;transition:background .18s,transform .18s}.menu-utility-links a:hover{transform:translateY(-2px);background:#d68f6c22}.menu-utility-links small{color:#e8aa8b;font-size:7px;letter-spacing:.12em}.menu-utility-links b{font:500 17px var(--serif);color:#fff8f0}.menu-utility-links i{position:absolute;right:15px;top:50%;color:#f0ad8e;font-style:normal;transform:translateY(-50%)}.menu-simple .mega-bottom{margin-top:17px}
@media(max-width:720px){.menu-utility-links{margin-top:10px;gap:8px}.menu-utility-links a{min-height:58px;padding-left:12px}.menu-utility-links b{font-size:15px}.menu-simple .mega-bottom{margin-top:16px}}
.page-hero>p{max-width:620px;margin:16px 0 0;font-size:clamp(12px,1.15vw,14px);line-height:1.8;text-wrap:pretty}.page-hero>.pill{margin-top:23px}.page-hero .eyebrow{line-height:1.55}
@media(max-width:720px){.page-hero{padding-top:55px}.page-hero>p{max-width:34em;margin-top:16px;line-height:1.8}.page-hero>.pill{margin-top:22px}}
footer{min-height:0;padding-block:20px 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:9px 14px;line-height:1.5}footer .brand{grid-column:auto}footer .footer-owner{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--line)}footer>a:not(.brand){color:var(--red);font-weight:650}footer>*{min-width:0;overflow-wrap:anywhere}footer .brand,footer>span,footer>a{font-size:8px}.auth-consents{grid-column:1/-1;margin:0 0 2px}.auth-consents label{display:grid;grid-template-columns:17px 1fr;align-items:start;gap:8px;color:var(--muted);font-size:9px;line-height:1.6}.auth-consents input{width:16px;height:16px;margin:1px 0;accent-color:var(--red)}.auth-consents a{color:var(--red);text-decoration:underline;text-underline-offset:2px}.auth-provider:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.legal-draft-note{margin-top:20px;padding:13px;border-left:2px solid var(--gold);background:#f2c95c18;color:var(--muted);font-size:9px;line-height:1.7}
.admin-login-page{min-height:100vh}.admin-login-wrap{width:min(100% - 36px,480px);margin:auto;padding:38px 0}.admin-login-wrap>.brand{display:inline-flex;margin-bottom:24px}.admin-login-card{padding:clamp(22px,5vw,38px);border-radius:18px}.admin-login-card h1{margin:10px 0;font:500 clamp(36px,8vw,51px)/1 var(--serif)}.admin-login-card h1 em{color:var(--red)}.admin-login-card p{color:var(--muted);font-size:10px;line-height:1.7}.admin-login-card form{display:grid;gap:13px;margin:20px 0}.admin-login-card form label{display:grid;gap:6px;font-size:10px;font-weight:700}.admin-login-card input{min-height:48px;padding:0 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.login-error{color:var(--red);font-size:9px}.admin-login-card .text-arrow{font-size:10px}.admin-logout{margin:-10px 0 20px;display:flex;justify-content:flex-end}.admin-logout button{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted);font-size:9px;cursor:pointer}
.booking-edit{grid-column:1/-1}.booking-edit summary{color:var(--red);font-size:9px;cursor:pointer}.booking-edit form{padding-top:8px;display:flex;flex-wrap:wrap;align-items:end;gap:8px}.booking-edit label{display:grid;gap:4px;color:var(--muted);font-size:8px}.booking-edit input{min-height:34px;max-width:150px;padding:0 7px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:9px}.booking-edit button{min-height:34px;padding:0 9px;border:1px solid var(--line);background:transparent;font-size:8px;cursor:pointer}
@media(max-width:720px){footer{grid-template-columns:1fr 1fr;gap:8px 12px;padding-bottom:calc(92px + env(safe-area-inset-bottom))}footer>*{text-align:left!important}footer .footer-owner{grid-column:1/-1}.auth-consents{grid-column:auto}.admin-logout{margin-top:0}}

/* Final spacing and menu-control polish */
.page-hero>.pill{display:inline-flex;align-items:center;gap:12px;margin-top:30px}
.mega-close:hover{transform:none}
.topbar .nav-toggle:hover{transform:translateY(-1px)}
@media(max-width:720px){.page-hero>.pill{margin-top:27px}}
.visit-admin{padding:clamp(20px,4vw,34px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f2c95c20,transparent 48%),var(--paper-2)}
.visit-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.visit-admin-heading h2{margin:9px 0;font:500 clamp(32px,4vw,46px)/1 var(--serif);letter-spacing:-.035em}.visit-admin-heading h2 em{color:var(--red)}.visit-admin-heading p{max-width:440px;margin:0;color:var(--muted);font-size:10px;line-height:1.7}.visit-admin-mark{width:64px;height:64px;flex:none;display:grid;place-items:center;border:1px solid #d8913566;border-radius:18px;background:#f2c95c28;color:var(--red)}.visit-admin-mark svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.visit-form{margin:22px 0 17px;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 12px;border:1px solid var(--line);border-radius:13px;background:var(--paper)}.visit-form>label{grid-column:1/-1;color:var(--ink);font-size:9px;font-weight:750}.visit-input-wrap{min-width:0;min-height:47px;padding:0 12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2)}.visit-input-wrap>span{color:var(--red);font-size:10px;font-weight:800;letter-spacing:.08em}.visit-input-wrap input{width:100%;min-width:0;height:43px;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}.visit-form>.pill{min-height:47px;white-space:nowrap}.visit-form>small{grid-column:1/-1;min-height:0;color:var(--muted);font-size:9px;line-height:1.5}.customer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.customer-card{min-width:0;padding:12px;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.customer-card-initial{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:50%;background:#d8913522;color:var(--red);font:500 16px var(--serif)}.customer-card-info{min-width:0;display:grid;gap:4px}.customer-card-info b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.customer-card-info small{color:var(--muted);font-size:8px;line-height:1.45}.customer-card code{margin-left:auto;color:var(--muted);font-size:8px}.customer-empty{grid-column:1/-1;padding:22px;display:grid;justify-items:center;gap:7px;border:1px dashed var(--line);border-radius:12px;text-align:center}.customer-empty>span{color:var(--gold);font-size:23px}.customer-empty>b{font:500 19px var(--serif)}.customer-empty p{max-width:420px;margin:0;color:var(--muted);font-size:9px;line-height:1.65}
@media(max-width:600px){.visit-admin{padding:19px 15px;border-radius:15px}.visit-admin-heading{align-items:flex-start}.visit-admin-heading h2{font-size:34px}.visit-admin-heading p{max-width:31ch}.visit-admin-mark{width:48px;height:48px;border-radius:14px}.visit-admin-mark svg{width:25px;height:25px}.visit-form{margin-top:17px;padding:12px;grid-template-columns:minmax(0,1fr);gap:8px}.visit-form>label{grid-column:auto}.visit-form>.pill{width:100%;justify-content:center}.visit-form>small{grid-column:auto}.customer-list{grid-template-columns:1fr}.customer-card code{font-size:7px}}
.scanner-actions{margin-top:18px}.scan-open{width:100%;min-height:68px;padding:12px 15px;display:flex;align-items:center;gap:13px;border:1px solid #d8913566;border-radius:12px;background:linear-gradient(100deg,#f2c95c22,transparent),var(--paper);color:var(--ink);text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s}.scan-open:hover{transform:translateY(-1px);border-color:#cf4b3c88;box-shadow:0 8px 20px #3623190b}.scan-open>svg{width:25px;height:25px;flex:none;fill:none;stroke:var(--red);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.scan-open>span{display:grid;gap:4px}.scan-open b{font-size:10px}.scan-open small{color:var(--muted);font-size:8px}.scan-open>i{margin-left:auto;color:var(--red);font-style:normal}.qr-scanner{margin-top:10px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--paper);display:grid;gap:9px}.qr-scanner[hidden]{display:none}.qr-camera-wrap{position:relative;min-height:200px;overflow:hidden;border-radius:9px;background:#181614}.qr-camera-wrap video{width:100%;max-height:360px;aspect-ratio:4/3;display:block;object-fit:cover}.qr-target{position:absolute;inset:50% auto auto 50%;width:min(56vw,210px);aspect-ratio:1;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:19px;box-shadow:0 0 0 999px #17130e45}.qr-target:after{content:"";position:absolute;inset:-2px;border:2px solid #f0bd57;border-radius:19px;animation:qr-pulse 1.8s ease-in-out infinite alternate}@keyframes qr-pulse{to{opacity:.45;transform:scale(.95)}}.scan-close{position:absolute;top:9px;right:9px;width:34px;height:34px;display:grid;place-items:center;border:1px solid #fff6;border-radius:50%;background:#211d1bcc;color:white;font-size:22px;cursor:pointer}.qr-scanner>p{margin:0;color:var(--muted);font-size:9px;line-height:1.6;text-align:center}.not-found-page{min-height:calc(100svh - 76px);padding:clamp(26px,6vw,72px) 0;display:grid;align-items:center}.not-found-card{position:relative;min-height:min(600px,calc(100svh - 120px));padding:clamp(24px,6vw,76px);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.6fr);align-items:center;gap:22px;border:1px solid var(--line);border-radius:clamp(18px,3vw,34px);background:radial-gradient(ellipse at 84% 18%,#f2c95c70,transparent 33%),linear-gradient(140deg,var(--paper-2),var(--paper));box-shadow:0 24px 70px #33261a12}.not-found-copy{position:relative;z-index:1}.not-found-copy .eyebrow{display:inline-flex;padding:9px 12px;border:1px solid #d8913566;border-radius:30px;background:#f2c95c20;color:var(--red)}.not-found-copy h1{margin:26px 0 14px;font:500 clamp(35px,6vw,70px)/.98 var(--serif);letter-spacing:-.045em}.not-found-copy h1 em{color:var(--red);font-weight:500}.not-found-copy p{max-width:390px;color:var(--muted);font-size:12px;line-height:1.8}.not-found-actions{margin-top:25px;display:flex;flex-wrap:wrap;gap:10px}.not-found-actions .pill{min-height:48px}.not-found-actions .quiet-link{min-height:48px;padding:0 18px;display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:30px;font-size:10px}.not-found-art{position:relative;min-height:310px;display:grid;place-items:center}.not-found-number{position:absolute;color:#cf4b3c12;font:500 clamp(130px,25vw,270px)/.8 var(--serif);letter-spacing:-.12em;user-select:none}.not-found-orbit{position:absolute;width:clamp(170px,24vw,250px);aspect-ratio:1;border:1px solid #cf4b3c55;border-radius:50%;animation:orbit 12s ease-in-out infinite}.not-found-orbit:before,.not-found-orbit:after{content:"";position:absolute;border:1px solid #d8913566;border-radius:50%}.not-found-orbit:before{inset:14%}.not-found-orbit:after{inset:29%;background:radial-gradient(circle at 35% 30%,#f7dfab,#d89135 72%);box-shadow:0 16px 48px #d8913530}.not-found-spark{position:absolute;z-index:1;right:7%;top:9%;color:var(--gold);font-size:44px;animation:spin 24s linear infinite}.not-found-label{position:absolute;bottom:8%;right:0;padding:12px 15px;border:1px solid #fff9;border-radius:12px;background:color-mix(in srgb,var(--paper) 76%,transparent);box-shadow:0 12px 28px #30221616;backdrop-filter:blur(10px);color:var(--muted);font-size:8px;letter-spacing:.12em}
@media(max-width:700px){.not-found-page{min-height:calc(100svh - 72px);padding:22px 0}.not-found-card{min-height:auto;padding:26px 22px 18px;grid-template-columns:1fr;gap:0}.not-found-copy h1{margin-top:22px;font-size:clamp(38px,10vw,55px)}.not-found-copy p{font-size:11px}.not-found-art{min-height:230px;grid-row:1}.not-found-number{font-size:178px}.not-found-orbit{width:174px}.not-found-spark{right:15%;top:0}.not-found-label{bottom:4%;right:8%}.not-found-actions{gap:8px}.not-found-actions .pill,.not-found-actions .quiet-link{min-height:44px;padding-inline:15px}}
@media(prefers-reduced-motion:reduce){.qr-target:after,.not-found-orbit,.not-found-spark{animation:none}}
.admin-users{margin:0 0 28px;padding:clamp(18px,3.5vw,30px);border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,#f2c95c20,transparent 52%),var(--paper-2)}.admin-users[hidden],.admin-invite-result[hidden]{display:none!important}.admin-users-head{display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-users-head h2{margin:8px 0;font:500 clamp(30px,4vw,43px)/1 var(--serif)}.admin-users-head h2 em{color:var(--red)}.admin-users-head p{max-width:460px;margin:0;color:var(--muted);font-size:10px;line-height:1.7}.admin-users-icon{width:54px;height:54px;flex:none;display:grid;place-items:center;border:1px solid #d8913566;border-radius:16px;background:#f2c95c2e;color:var(--gold);font-size:24px}.admin-invite-form{margin:19px 0 10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}.admin-invite-form .pill{min-height:46px}.admin-invite-form>small{color:var(--red);font-size:9px}.admin-invite-result{margin:10px 0 16px;padding:13px;border:1px solid #75a47b66;border-radius:11px;background:#e2f1e229}.admin-invite-result>label{display:block;margin-bottom:7px;color:var(--muted);font-size:8px}.admin-invite-result>div{display:flex;gap:7px}.admin-invite-result input{flex:1;min-width:0;min-height:38px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink);font-size:9px}.admin-invite-result button,.admin-user-row button,.admin-invite-row button{min-height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--red);font-size:8px;font-weight:700;cursor:pointer}.admin-users-columns{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:20px}.admin-users-columns section{min-width:0}.admin-users-columns h3{margin:0 0 8px;font:500 20px var(--serif)}.admin-user-list,.admin-invite-list{display:grid;gap:7px}.admin-user-row,.admin-invite-row{min-width:0;min-height:55px;padding:8px 10px;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;background:var(--paper)}.admin-user-avatar{width:31px;height:31px;flex:none;display:grid;place-items:center;border-radius:50%;background:#d8913522;color:var(--red);font:500 14px var(--serif)}.admin-user-meta,.admin-invite-row>span{min-width:0;flex:1;display:grid;gap:3px}.admin-user-meta b,.admin-invite-row b{overflow:hidden;text-overflow:ellipsis;font-size:9px}.admin-user-meta small,.admin-invite-row small{color:var(--muted);font-size:7px}.owner-badge{padding:5px 7px;border-radius:20px;background:#f2c95c30;color:#8f6919;font-size:7px;font-weight:800;letter-spacing:.06em}.admin-management-empty{margin:0;padding:13px;border:1px dashed var(--line);border-radius:9px;color:var(--muted);font-size:8px;line-height:1.6}.admin-invite-card form{gap:12px}.admin-invite-card form[hidden]{display:none}.admin-invite-card .text-arrow{display:inline-flex;margin-top:15px}.admin-invite-card .login-error{min-height:12px}
@media(max-width:650px){.admin-users{padding:18px 14px}.admin-users-head{align-items:flex-start}.admin-users-icon{width:43px;height:43px;border-radius:13px}.admin-users-columns{grid-template-columns:1fr;gap:16px}.admin-invite-form .pill{width:100%;justify-content:center}.admin-invite-result>div{flex-wrap:wrap}.admin-invite-result input{flex-basis:100%}.admin-invite-result button{width:100%}}

.ornament-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;flex:none;fill:currentColor}.spark{display:inline-grid;place-items:center}.spark .ornament-icon{width:1em;height:1em}.hero-tag>span b .ornament-icon{width:1em;height:1em}.ticker .ornament-icon{width:9px;height:9px}.process-icon .ornament-icon{width:18px;height:18px}.gallery-note>span .ornament-icon{width:1em;height:1em}.not-found-spark .ornament-icon{width:1em;height:1em}.admin-users-icon .ornament-icon{width:24px;height:24px}.customer-empty>span .ornament-icon{width:23px;height:23px}

.ui-arrow{width:.95em;height:.95em;display:inline-block;flex:none;vertical-align:-.12em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ui-arrow-horizontal{width:1.05em}.ui-arrow-vertical{width:.9em}
.admin-telegram-link{margin:0 0 20px;padding:clamp(18px,3.5vw,28px);display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.75fr);align-items:center;gap:20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(120deg,#d8913518,transparent 60%),var(--paper-2)}.admin-telegram-link h2{margin:8px 0;font:500 clamp(27px,4vw,39px)/1 var(--serif)}.admin-telegram-link h2 em{color:var(--red)}.admin-telegram-link p{max-width:440px;margin:0;color:var(--muted);font-size:10px;line-height:1.7}.admin-telegram-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.admin-telegram-actions .pill{width:100%;justify-content:center}.admin-telegram-actions button:disabled{opacity:.55;cursor:not-allowed}.admin-telegram-unlink,.admin-telegram-result>button{min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--red);font-size:9px;font-weight:700;cursor:pointer}.admin-telegram-result{width:100%;display:flex;flex-wrap:wrap;gap:8px}.admin-telegram-result[hidden],.admin-telegram-unlink[hidden]{display:none}.admin-telegram-result small{width:100%;color:var(--muted);font-size:8px;line-height:1.6}.admin-telegram-result .pill{width:auto}@media(max-width:650px){.admin-telegram-link{grid-template-columns:1fr;gap:14px}.admin-telegram-actions{align-items:stretch}.admin-telegram-actions .pill,.admin-telegram-actions .admin-telegram-unlink{width:100%;justify-content:center}}
.provider-badge{display:inline-flex;align-items:center;min-height:32px;padding:0 11px;border:1px solid #5d9a6b55;border-radius:30px;background:#62a77313;color:#39784a;font-size:9px;font-weight:700}

/* Cherry guest card: a quiet, responsive physical-card treatment. */
.loyalty-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:clamp(14px,2.4vw,24px);overflow:hidden;border:1px solid #d4b87955;border-radius:22px;background:linear-gradient(135deg,#f8f4eb,#fffdf9 62%,#efe6d8);box-shadow:0 20px 55px #281d1410}
.membership-card{position:relative;isolation:isolate;min-height:210px;padding:clamp(20px,4vw,34px);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #ecd7a66e;border-radius:18px;color:#fff9ee;background:radial-gradient(ellipse at 86% 4%,#e8bd7150,transparent 32%),radial-gradient(ellipse at 9% 105%,#42637375,transparent 42%),linear-gradient(116deg,#172e3a,#203b43 54%,#172b36);box-shadow:0 18px 38px #16263035, inset 0 1px #ffffff35;transform:perspective(900px) rotateX(0deg);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.membership-card:hover{transform:perspective(900px) rotateX(1.4deg) translateY(-2px);box-shadow:0 23px 48px #16263045,inset 0 1px #ffffff40}
.membership-card:before,.membership-card:after{position:absolute;z-index:-1;content:"";pointer-events:none}
.membership-card:before{inset:-80% auto -80% -38%;width:38%;transform:rotate(24deg);background:linear-gradient(90deg,transparent,#fff2,transparent);animation:card-sheen 8s ease-in-out infinite}
.membership-card:after{width:170px;height:170px;right:-42px;bottom:-88px;border:1px solid #f4d99a3b;border-radius:50%;box-shadow:0 0 0 18px #f4d99a0b,0 0 0 38px #f4d99a08}
@keyframes card-sheen{0%,56%{left:-45%;opacity:0}65%{opacity:.8}82%,100%{left:115%;opacity:0}}
.membership-top,.membership-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.membership-brand{font-size:14px;font-weight:800;letter-spacing:.13em}.membership-brand i{color:#e6c987;font-family:var(--serif);font-weight:500;letter-spacing:.04em}.membership-caption,.membership-bottom small{color:#e8d7b1b8;font-size:8px;font-weight:700;letter-spacing:.18em}
.membership-name{position:relative;z-index:1;overflow:hidden;color:#fffdf7;font:500 clamp(25px,4.4vw,43px)/1.08 var(--serif);text-overflow:ellipsis;white-space:nowrap}
.membership-bottom{align-items:flex-end}.membership-bottom>div{display:grid;gap:7px}.membership-bottom code{color:#fff9ec;font-size:16px;letter-spacing:.2em}.membership-tier{padding:7px 10px;border:1px solid #d9c38a70;border-radius:20px;color:#e9d59f;font-size:7px;letter-spacing:.14em}
.loyalty-details{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:clamp(5px,1vw,10px) clamp(4px,1vw,10px)}
.loyalty-details h2{margin:8px 0;font:500 clamp(24px,3vw,34px)/1.02 var(--serif);letter-spacing:-.035em}.loyalty-details p,.loyalty-details small{color:var(--muted);font-size:10px;line-height:1.65}.loyalty-details .loyalty-progress{margin:11px 0 7px}.loyalty-code{display:block;margin-top:10px;color:var(--muted);font-size:8px;letter-spacing:.14em}.loyalty-code-wrap{display:grid;justify-items:center;gap:7px}.loyalty-code-wrap>span{color:var(--muted);font-size:8px}.loyalty-qr{width:112px;height:112px;padding:8px;border:1px solid #ded5c7;border-radius:13px;background:#fff}
@media(max-width:600px){.loyalty-card{gap:13px;padding:12px;border-radius:17px}.membership-card{min-height:180px;padding:20px;border-radius:14px}.membership-name{font-size:30px}.membership-brand{font-size:12px}.membership-caption,.membership-bottom small{font-size:7px}.membership-tier{font-size:6px;padding:6px 8px}.loyalty-details{grid-template-columns:minmax(0,1fr) 82px;gap:9px;padding:4px}.loyalty-details h2{font-size:25px}.loyalty-details p{font-size:9px}.loyalty-qr{width:80px;height:80px;padding:6px}.loyalty-code-wrap>span{font-size:7px;text-align:center}}
@media(prefers-reduced-motion:reduce){.membership-card,.membership-card:before{animation:none;transition:none}}

.booking-launch{width:100%;min-height:56px;justify-content:center;margin:6px 0 24px;background:var(--red);box-shadow:0 12px 26px #cf4b3c25}.booking-dialog{width:min(94vw,580px);max-width:none;max-height:min(88dvh,780px);margin:auto;padding:0;border:0;border-radius:24px;background:transparent;color:var(--ink);overflow:visible}.booking-dialog[open]{animation:booking-rise .25s cubic-bezier(.2,.75,.25,1)}.booking-dialog::backdrop{background:#15242bc2;backdrop-filter:blur(7px)}@keyframes booking-rise{from{opacity:0;transform:translateY(16px) scale(.985)}to{opacity:1;transform:none}}.booking-picker{max-height:min(88dvh,780px);padding:clamp(22px,5vw,38px);overflow:auto;border:1px solid #ffffffb8;border-radius:24px;background:var(--paper);box-shadow:0 30px 90px #101a2052}.booking-picker>.eyebrow{margin:0 0 22px;color:var(--red);letter-spacing:.16em}.booking-picker>label,.booking-picker .picker-row{margin-bottom:16px}.booking-picker select{min-height:52px;border-radius:10px}.booking-summary[hidden]{display:none}.booking-dismiss{position:absolute;z-index:2;top:12px;right:12px;min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:30px;background:var(--paper);color:var(--muted);font-size:10px;cursor:pointer}.booking-actions{position:sticky;bottom:-1px;margin:22px -8px -8px;padding:14px 8px 8px;display:flex;justify-content:flex-end;gap:10px;background:linear-gradient(transparent,var(--paper) 25%)}.booking-actions .pill{min-width:170px;justify-content:center}.phone-required-note{padding:15px;border-radius:12px;background:color-mix(in srgb,var(--gold) 12%,var(--paper));font-size:10px;line-height:1.65}.booking-picker .inline-note{display:block;margin-top:16px;color:var(--muted);font-size:9px;line-height:1.6}@media(max-width:600px){.booking-dialog{width:100vw;max-height:92dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.booking-picker{max-height:92dvh;padding:28px 18px calc(24px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.booking-dismiss{top:10px;right:10px}.booking-actions .pill{min-width:0;flex:1}.booking-actions .booking-back{min-width:85px}}
@media(prefers-reduced-motion:reduce){.booking-dialog[open]{animation:none}}
.unlink-user-telegram{min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:20px;background:transparent;color:var(--muted);font-size:8px;cursor:pointer}.unlink-user-telegram:hover{border-color:var(--red);color:var(--red)}.provider-links{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.booking-picker [hidden]{display:none!important}.phone-required-note .phone-link-button{display:block;margin-top:10px;min-height:42px;padding:0 12px;border:1px solid #d8913580;border-radius:9px;background:var(--paper);color:var(--red);font-size:9px;font-weight:800;cursor:pointer}.phone-required-note .phone-link-status{display:block;margin-top:7px;color:var(--muted);font-size:8px}

/* Personal account panel */
.profile-hub{grid-column:1/-1;position:relative;overflow:hidden;padding:clamp(18px,3.2vw,34px);border:1px solid #d8c4a866;border-radius:21px;background:radial-gradient(ellipse at 100% 0,#edcf9c25,transparent 34%),linear-gradient(145deg,var(--paper-2),var(--paper));box-shadow:0 18px 48px #3022170b}
.profile-hub-head{display:flex;align-items:center;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.profile-monogram{width:58px;height:58px;flex:none;display:grid;place-items:center;border:1px solid #d6ba7c88;border-radius:18px;background:linear-gradient(145deg,#f6e8c9,#fffaf0);color:#876b37;box-shadow:inset 0 1px #fff}
.profile-monogram svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.profile-identity{min-width:0;flex:1}.profile-identity .eyebrow{font-size:8px;letter-spacing:.15em}.profile-identity h2{margin:5px 0 3px;overflow:hidden;font:500 clamp(25px,3.4vw,36px)/1 var(--serif);letter-spacing:-.035em;text-overflow:ellipsis}.profile-identity p{margin:0;color:var(--muted);font-size:9px}.profile-identity p span{padding:0 4px;color:var(--gold)}
.profile-live{display:inline-flex;align-items:center;gap:7px;flex:none;padding:8px 11px;border:1px solid #799a7652;border-radius:30px;background:#799a7610;color:#527052;font-size:7px;font-weight:800;letter-spacing:.08em}.profile-live i{width:6px;height:6px;border-radius:50%;background:#76a271;box-shadow:0 0 0 3px #76a27120}
.profile-form{padding-top:22px;display:grid;gap:20px}.profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.profile-fields label{display:grid;gap:8px;color:var(--ink);font-size:10px;font-weight:750}.profile-fields input{width:100%;min-width:0;height:49px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font:500 13px var(--sans);transition:border-color .18s,box-shadow .18s}.profile-fields input:focus{outline:0;border-color:#c9a96b;box-shadow:0 0 0 3px #c9a96b20}.field-optional{margin-left:5px;color:var(--muted);font-size:8px;font-weight:500}
.profile-access{display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-access-card{min-width:0;min-height:80px;padding:13px;display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 78%,transparent)}.profile-access-icon{width:37px;height:37px;flex:none;display:grid;place-items:center;border:1px solid #d9c79d66;border-radius:11px;background:#d9c79d14;color:#866b39}.profile-access-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.profile-access-card>div{min-width:0;display:grid;gap:4px}.profile-access-card small{color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.11em}.profile-access-card b{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.profile-access-card span:not(.profile-access-icon){color:var(--muted);font-size:8px}
.profile-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.profile-save,.profile-connect-button{min-height:44px;padding:0 17px;justify-content:center}.profile-controls>small{width:100%;color:var(--muted);font-size:8px}.profile-controls #profile-save-status{color:#5d7c59;font-size:9px}.profile-controls #profile-save-status:empty{display:none}.profile-connect-button{border:1px solid #c9a96b80;border-radius:30px;background:#c9a96b10;color:#725b31;font-size:9px;font-weight:800;cursor:pointer}.profile-connect-button:disabled{opacity:.6;cursor:wait}.profile-controls .phone-link-status{flex-basis:100%}.profile-controls .unlink-user-telegram{min-height:40px}
@media(max-width:650px){.profile-hub{padding:18px 14px;border-radius:17px}.profile-hub-head{align-items:flex-start;gap:11px;padding-bottom:17px}.profile-monogram{width:46px;height:46px;border-radius:14px}.profile-monogram svg{width:23px;height:23px}.profile-identity .eyebrow{font-size:7px}.profile-identity h2{font-size:27px}.profile-live{padding:7px 8px;font-size:6px;gap:5px}.profile-fields{grid-template-columns:1fr;gap:12px}.profile-fields input{height:48px}.profile-access{grid-template-columns:1fr;gap:7px}.profile-access-card{min-height:69px;padding:10px}.profile-form{gap:16px}.profile-controls{display:grid;grid-template-columns:1fr 1fr}.profile-controls .profile-save,.profile-controls .profile-connect-button{width:100%;min-height:45px}.profile-controls #profile-save-status,.profile-controls .phone-link-status{grid-column:1/-1}.profile-controls .unlink-user-telegram{grid-column:1/-1;justify-self:start}}
@media(max-width:370px){.profile-hub-head{flex-wrap:wrap}.profile-live{margin-left:57px}.profile-controls{grid-template-columns:1fr}.profile-controls #profile-save-status,.profile-controls .phone-link-status,.profile-controls .unlink-user-telegram{grid-column:1}}

/* Account and admin usability refresh */
.profile-settings-trigger{position:absolute;right:24px;top:22px;min-height:40px;padding:0 13px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:30px;background:var(--paper);color:var(--ink);font-size:9px;font-weight:750;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s}.profile-settings-trigger:hover{transform:translateY(-1px);border-color:#c9a96b;box-shadow:0 8px 20px #30221610}.profile-settings-trigger svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.profile-settings-dialog{width:min(94vw,620px);max-height:88dvh;margin:auto;padding:22px;border:1px solid var(--line);border-radius:22px;background:var(--paper);color:var(--ink);box-shadow:0 28px 90px #17120e35}.profile-settings-dialog::backdrop{background:#111b20a3;backdrop-filter:blur(5px)}.profile-settings-close{display:block;margin-left:auto;padding:9px 13px;border:1px solid var(--line);border-radius:30px;background:var(--paper-2);color:var(--ink);font-size:9px;cursor:pointer}.profile-settings-dialog .profile-form{padding-top:4px}.profile-settings-trigger+*{margin-top:0}
.membership-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;column-gap:15px;align-items:center}.membership-top{grid-column:1/-1;grid-row:1}.membership-name{grid-column:1;grid-row:2;align-self:center}.membership-bottom{grid-column:1;grid-row:3}.membership-qr{grid-column:2;grid-row:2/4;position:relative;z-index:2;display:grid;justify-items:center;gap:5px;padding:7px;border:1px solid #f4e7c35c;border-radius:12px;background:#fff;box-shadow:0 8px 22px #101a1e24}.membership-qr .loyalty-qr{display:block;width:88px;height:88px;padding:0;border:0;border-radius:5px}.membership-qr small{color:#38474a;font-size:6px;font-weight:800;letter-spacing:.12em}.loyalty-card-hint{display:block;margin-top:6px;color:var(--muted);font-size:8px}
.profile-hub-head{padding-right:170px}.profile-settings-dialog .profile-controls{padding-bottom:8px}
.custom-select-wrap{position:relative;display:block}.custom-select-wrap select.native-select-source{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}.custom-select-button{width:100%;min-height:48px;padding:10px 38px 10px 13px;position:relative;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);font:500 12px var(--sans);text-align:left;cursor:pointer}.custom-select-button:after{content:"";position:absolute;right:15px;top:17px;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}.custom-select-menu{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 5px);max-height:210px;overflow:auto;padding:5px;border:1px solid var(--line);border-radius:13px;background:var(--paper);box-shadow:0 14px 35px #211b1630}.custom-select-menu[hidden]{display:none}.custom-select-menu button{width:100%;padding:11px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:500 11px var(--sans);text-align:left;cursor:pointer}.custom-select-menu button:hover,.custom-select-menu button[aria-selected=true]{background:#c9a96b22}
.scan-file-label{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:9px;cursor:pointer}.scan-file-label input{max-width:190px;font:inherit;font-size:8px}.admin-booking-phone{display:inline-flex;margin:1px 0 8px;color:var(--red);font-size:10px;font-weight:750;text-decoration:none}.admin-section-nav{position:sticky;top:8px;z-index:25;margin:18px 0 24px;padding:7px;display:flex;gap:6px;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--paper) 88%,transparent);box-shadow:0 12px 30px #241d160b;backdrop-filter:blur(14px);scrollbar-width:none}.admin-section-nav::-webkit-scrollbar{display:none}.admin-section-nav a{flex:none;min-height:39px;padding:0 14px;display:inline-flex;align-items:center;border:1px solid transparent;border-radius:11px;color:var(--ink);font-size:9px;font-weight:750;text-decoration:none;white-space:nowrap;transition:background .18s,border-color .18s}.admin-section-nav a:hover,.admin-section-nav a:focus-visible{border-color:#d8c4a8;background:#f2c95c1c;outline:0}.admin-section-nav a[href="#campaign-settings"]{background:#f2c95c2b}.admin-booking{grid-template-columns:minmax(0,1fr) auto}.admin-booking-phone{grid-column:1}
@media(max-width:650px){.profile-settings-trigger{right:13px;top:13px;width:41px;height:41px;min-height:41px;padding:0;justify-content:center;border-radius:50%}.profile-settings-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.profile-hub-head{padding-right:0;padding-top:38px}.membership-card{min-height:190px;padding:15px;column-gap:9px}.membership-qr{padding:5px}.membership-qr .loyalty-qr{width:70px;height:70px}.membership-name{font-size:25px}.membership-bottom code{font-size:12px}.membership-tier{font-size:5px;padding:6px}.admin-section-nav{top:4px;margin:10px 0 17px;padding:5px;border-radius:13px}.admin-section-nav a{min-height:37px;padding:0 11px;font-size:8px}.admin-booking{grid-template-columns:1fr}.admin-booking-phone{grid-column:auto}.profile-settings-dialog{padding:15px;border-radius:18px}}

.promo-code-editor{grid-column:1/-1;display:grid;gap:8px;color:var(--ink);font-size:10px;font-weight:750}.promo-code-editor textarea{width:100%;min-height:95px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--paper);color:var(--ink);font:500 11px/1.6 var(--sans);resize:vertical}

.admin-page .page-hero{min-height:0;padding-top:38px;padding-bottom:17px}.admin-page .page-hero h1{margin-top:13px;font-size:clamp(38px,6vw,68px)}.admin-page .page-hero p{max-width:520px}.admin-page .admin-notice{margin-top:4px}

.yandex-link-button{min-height:40px;padding:0 15px;border:1px solid #c9a96b80;border-radius:30px;background:#c9a96b12;color:#725b31;font-size:9px;font-weight:750;cursor:pointer}.yandex-link-button:disabled{opacity:.6;cursor:wait}

/* Standalone Cherry account app */
.cabinet-page{min-height:100svh;background:radial-gradient(ellipse at 84% 3%,#f0d7c14a,transparent 30%),#f6f2eb}.cabinet-frame{width:min(1120px,calc(100% - 48px));min-height:100svh;margin:0 auto;padding:0 0 70px}.cabinet-toolbar{position:sticky;top:0;z-index:30;min-height:76px;margin:0 calc((100% - 100vw)/2);padding:12px max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #3b302216;background:#f9f6f0df;backdrop-filter:blur(18px)}.cabinet-brand{display:flex;align-items:center;gap:11px;font-size:10px;font-weight:850;letter-spacing:.16em;line-height:1.25}.cabinet-brand-mark{width:37px;height:37px;display:grid;place-items:center;border:1px solid #c9493c7a;border-radius:50%;color:var(--red);font:italic 22px var(--serif)}.cabinet-brand i{color:var(--red);font-style:normal}.cabinet-brand small{display:block;margin-top:5px;color:var(--muted);font-size:7px;letter-spacing:.15em}.cabinet-toolbar-actions{display:flex;align-items:center;gap:8px}.cabinet-toolbar-button{position:relative;min-width:43px;min-height:43px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:14px;background:#fffdf9c9;color:var(--ink);font-size:9px;font-weight:750;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}.cabinet-toolbar-button:hover{transform:translateY(-2px);border-color:#d0ac75;background:white}.cabinet-toolbar-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.cabinet-settings-button{width:43px;padding:0;border-radius:50%}.notification-dot{position:absolute;right:7px;top:6px;width:8px;height:8px;border:2px solid #fff;border-radius:50%;background:var(--red)}.notification-dot[hidden]{display:none}.cabinet-main{display:block!important;width:100%;padding:clamp(26px,5vw,52px) 0 35px!important}.cabinet-greeting{position:relative;min-height:230px;padding:clamp(25px,5vw,54px);overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:22px;border:1px solid #d8c6a561;border-radius:28px;background:radial-gradient(ellipse at 90% 0,#efc98c4a,transparent 40%),linear-gradient(120deg,#fffdf8,#f1e9dd);box-shadow:0 22px 60px #3123160c}.cabinet-greeting:after{content:"";position:absolute;right:15%;bottom:-155px;width:300px;height:300px;border:1px solid #c9493c20;border-radius:50%;box-shadow:0 0 0 25px #c9493c08,0 0 0 52px #c9493c06;pointer-events:none}.cabinet-greeting-copy{position:relative;z-index:1;max-width:680px}.cabinet-greeting-copy .eyebrow{font-size:8px;letter-spacing:.2em}.cabinet-greeting h1{min-height:1.13em;margin:16px 0 10px;font:500 clamp(34px,5vw,58px)/1.05 var(--serif);letter-spacing:-.04em}.cabinet-type-cursor{position:relative}.cabinet-type-cursor:after{content:"";display:inline-block;width:1px;height:.85em;margin-left:5px;vertical-align:-.06em;background:var(--red);animation:type-blink .8s steps(2,end) infinite}@keyframes type-blink{50%{opacity:0}}.cabinet-greeting-copy p{max-width:550px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}.cabinet-greeting-stat{position:relative;z-index:1;min-width:180px;padding:18px;display:flex;align-items:center;gap:12px;border:1px solid #fff9;border-radius:18px;background:#fffdf29c;box-shadow:0 12px 28px #4b392112;backdrop-filter:blur(12px)}.cabinet-stat-ring{width:46px;height:46px;flex:none;display:grid;place-items:center;border:1px solid #d7ac6b66;border-radius:50%;background:#f6e9d3}.cabinet-stat-ring svg{width:25px;height:25px;fill:none;stroke:var(--red);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.cabinet-greeting-stat>div{display:grid;gap:3px}.cabinet-greeting-stat small{color:var(--muted);font-size:7px;font-weight:800;letter-spacing:.12em}.cabinet-greeting-stat b{font:500 16px var(--serif)}.cabinet-greeting-stat span:last-child{color:var(--muted);font-size:8px}.cabinet-page #cabinet-app{display:block!important}.cabinet-page #cabinet-app>.loyalty-card{margin-top:18px;padding:clamp(17px,3vw,28px);grid-template-columns:minmax(0,1fr);gap:16px;border:1px solid #d4b87955;border-radius:24px;background:linear-gradient(125deg,#f3ead8,#fffcf5 60%,#efe3d3);box-shadow:0 22px 55px #281d1410}.cabinet-page .membership-card{min-height:225px;padding:clamp(21px,4vw,35px);border-radius:21px}.cabinet-page .loyalty-details{grid-template-columns:1fr;padding:5px 7px}.cabinet-page .loyalty-progress{max-width:none}.cabinet-page .friend-card{position:relative;margin-top:18px;padding:clamp(23px,4vw,38px);overflow:hidden;border:1px solid #ddc89e80;border-radius:22px;background:radial-gradient(ellipse at 95% 0,#efce8c35,transparent 40%),var(--paper-2);box-shadow:0 16px 42px #2f24140b}.friend-card h2{margin:12px 0 8px;font:500 clamp(26px,3vw,36px)/1.05 var(--serif)}.friend-card h2 em{color:var(--red)}.friend-card>p{max-width:540px;color:var(--muted);font-size:10px;line-height:1.75}.friend-card .referral-url{display:block;max-width:100%;margin:14px 0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.friend-card .copy-referral{min-height:44px;padding:0 16px;border:0;border-radius:30px;background:var(--red);color:#fff;font-size:9px;font-weight:800;cursor:pointer}.referral-share-status{display:block;margin-top:10px;color:var(--muted);font-size:8px}.cabinet-page .profile-hub{margin-top:18px}.cabinet-page .booking-launch{width:auto;min-width:220px;min-height:54px;margin:18px 0;border-radius:15px}.cabinet-page .booking-dialog{z-index:50}.cabinet-page .my-bookings{margin-top:0;padding:clamp(19px,3vw,30px);scroll-margin-top:95px;border:1px solid #e4ddd2;border-radius:23px;background:#fffdf9;box-shadow:0 16px 44px #261a100a}.my-bookings-head{margin-bottom:12px}.my-bookings-head .eyebrow{font-size:8px}.my-bookings-head>a{display:none}.my-booking{grid-template-columns:minmax(0,1fr) auto;padding:16px 0;gap:7px 12px}.my-booking>div:first-of-type{min-width:0}.my-booking-status{width:max-content;margin-top:3px;padding:5px 8px;border-radius:20px;background:#eadbbd65;color:#80633a;font-size:7px;font-weight:800}.my-booking-status.status-confirmed{background:#d9eadc;color:#3f704a}.my-booking-status.status-rejected{background:#f5e3df;color:#9b433b}.my-booking-status.status-cancelled{background:#eeece8;color:#77716b}.my-booking-actions{display:flex;align-items:center;gap:7px}.my-booking-actions>button,.booking-amend summary{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:8px;cursor:pointer}.booking-amend{position:relative}.booking-amend[open]{position:relative}.booking-amend form{position:absolute;z-index:4;right:0;top:calc(100% + 6px);width:225px;padding:12px;display:grid;gap:8px;border:1px solid var(--line);border-radius:13px;background:var(--paper-2);box-shadow:0 16px 35px #24190f25}.booking-amend form label{display:grid;gap:5px;font-size:8px}.booking-amend input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:0 8px}.booking-amend form button{min-height:37px;border:0;border-radius:8px;background:var(--red);color:white;font-size:8px}.booking-amend form small{color:var(--red);font-size:8px}.booking-promo-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end;padding:13px;border:1px solid #e6d9c2;border-radius:14px;background:linear-gradient(120deg,#f7eddb7a,#fffdf9)}.booking-promo-field[hidden]{display:none!important}.booking-promo-field label{display:grid;gap:6px;font-size:9px;font-weight:750}.booking-promo-field input{width:100%;height:44px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);font-size:12px;text-transform:uppercase}.booking-promo-field .promo-apply{height:44px;padding:0 15px;border:0;border-radius:10px;background:#263e47;color:white;font-size:9px;font-weight:800;cursor:pointer}.booking-promo-field .promo-status{grid-column:1/-1;color:var(--red);font-size:8px;line-height:1.5}.booking-promo-field .promo-status.is-valid{color:#47774e}.booking-swipe{display:none}.booking-swipe label{display:grid;gap:8px;color:var(--muted);font-size:8px;font-weight:750}.booking-swipe input{width:100%;height:48px;margin:0;appearance:none;border:1px solid #cfb577;border-radius:30px;background:linear-gradient(90deg,#efdcb7,#fffaf0);touch-action:pan-y}.booking-swipe input::-webkit-slider-thumb{width:42px;height:42px;appearance:none;border:2px solid white;border-radius:50%;background:var(--red);box-shadow:0 4px 12px #842d2635}.booking-swipe input::-moz-range-thumb{width:38px;height:38px;border:2px solid white;border-radius:50%;background:var(--red);box-shadow:0 4px 12px #842d2635}.booking-dialog[open] .booking-swipe{display:none}.cabinet-notification-dialog{width:min(92vw,520px);max-height:85dvh;margin:auto;padding:clamp(20px,4vw,32px);border:1px solid #e5dac7;border-radius:23px;background:var(--paper-2);color:var(--ink);box-shadow:0 28px 90px #17120e35}.cabinet-notification-dialog::backdrop{background:#17242a9c;backdrop-filter:blur(5px)}.cabinet-notification-dialog h2{margin:10px 0 22px;font:500 clamp(25px,4vw,36px)/1.04 var(--serif)}.cabinet-notification-dialog h2 em{color:var(--red)}.cabinet-notification-item{display:flex;align-items:center;gap:11px;padding:13px 0;border-top:1px solid var(--line)}.cabinet-notification-item p{margin:0;color:var(--muted);font-size:10px;line-height:1.6}.notification-mark{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:50%;background:#e6efdf}.notification-mark svg{width:17px;height:17px;fill:none;stroke:#4b7c4f;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cabinet-toast{position:fixed;z-index:80;left:50%;bottom:25px;max-width:min(90vw,480px);padding:13px 19px;border:1px solid #fff8;border-radius:14px;background:#233e45;color:white;font-size:10px;line-height:1.5;box-shadow:0 14px 40px #1c2b3150;opacity:0;pointer-events:none;transform:translate(-50%,12px);transition:opacity .25s,transform .25s}.cabinet-toast.is-visible{opacity:1;transform:translate(-50%,0)}.cabinet-settings-button svg{transition:transform .35s}.cabinet-settings-button:hover svg{transform:rotate(34deg)}.cabinet-logout-button{margin:10px 0 3px;padding:9px 0;border:0;background:none;color:var(--muted);font-size:9px;cursor:pointer}.cabinet-logout-button:hover{color:var(--red)}.cabinet-settings-button,.cabinet-notifications-button,.cabinet-toolbar-button{ -webkit-tap-highlight-color:transparent}
.cabinet-page .auth-shell{max-width:680px;margin:7vh auto;padding:clamp(22px,6vw,54px);border:1px solid var(--line);border-radius:26px;background:var(--paper-2);box-shadow:0 24px 70px #34251a12}.cabinet-page .auth-shell h2{font:500 clamp(32px,5vw,50px)/1.05 var(--serif)}.cabinet-page .auth-actions{display:grid;gap:10px}.cabinet-page .auth-consents{margin:20px 0}.cabinet-page .auth-provider{min-height:66px;border-radius:13px}.cabinet-page .provider-name-form{margin-top:18px}.cabinet-page .auth-home-link{grid-column:1/-1;display:inline-flex;align-items:center;gap:9px;width:max-content;margin:0 auto;padding:10px 14px;border:1px solid #ded3c7;border-radius:999px;color:#71665d;font-size:12px;font-weight:650;text-decoration:none;transition:color .2s,border-color .2s,background .2s}.cabinet-page .auth-home-link:hover{border-color:#bd8278;background:#fffaf6;color:#a3483e}.cabinet-page .auth-home-link svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.custom-select-empty{margin:0;padding:11px;color:var(--muted);font-size:9px}.custom-select-wrap:has(.class-search-input){width:100%}.class-search-input{padding-right:40px}.custom-select-menu [role=option]{border-radius:9px}.custom-select-menu [role=option]:focus{outline:2px solid #d6ad6b;background:#f4e5c8}.booking-picker .booking-promo-field[hidden],.booking-picker [hidden]{display:none!important}
@media(max-width:720px){.cabinet-frame{width:min(100% - 28px,600px);padding-bottom:45px}.cabinet-toolbar{min-height:66px;margin-inline:-14px;padding-inline:14px}.cabinet-toolbar-actions{gap:6px}.cabinet-toolbar-button{min-width:40px;min-height:40px;padding:0 10px}.cabinet-toolbar-button svg{width:17px;height:17px}.cabinet-toolbar-button:not(.cabinet-settings-button):not(.cabinet-notifications-button){padding:0 10px}.cabinet-toolbar-button:not(.cabinet-settings-button):not(.cabinet-notifications-button) span{font-size:8px}.cabinet-settings-button{width:40px}.cabinet-greeting{min-height:0;padding:26px 20px;display:grid;gap:19px;border-radius:21px}.cabinet-greeting h1{font-size:clamp(32px,8vw,45px)}.cabinet-greeting-stat{min-width:0;width:max-content;max-width:100%;padding:12px}.cabinet-page .membership-card{min-height:185px;padding:17px}.cabinet-page .membership-qr .loyalty-qr{width:68px;height:68px}.cabinet-page .membership-name{font-size:clamp(22px,7vw,30px)}.cabinet-page .membership-brand{font-size:11px}.cabinet-page .loyalty-details h2{font-size:28px}.cabinet-page .booking-launch{width:100%;min-height:54px}.cabinet-page .booking-dialog{width:100vw;max-height:96dvh;margin:0;border-radius:22px 22px 0 0}.cabinet-page .booking-picker{max-height:96dvh;padding:26px 17px calc(22px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.cabinet-page .booking-picker .booking-actions .booking-next{display:none}.cabinet-page .booking-swipe{display:block;margin-top:8px}.cabinet-page .booking-actions{margin:8px -6px 0;padding:6px}.cabinet-page .booking-actions .booking-back{min-height:43px;flex:1;border-radius:12px}.booking-promo-field{grid-template-columns:1fr auto}.booking-promo-field .promo-apply{padding-inline:12px}.my-booking{grid-template-columns:minmax(0,1fr)}.my-booking-actions{justify-content:flex-start}.booking-amend form{position:static;width:min(78vw,300px);margin-top:7px}.cabinet-notification-dialog{width:calc(100vw - 24px);border-radius:20px}.cabinet-page .profile-settings-dialog{width:calc(100vw - 24px);max-height:94dvh;margin:auto;padding:17px}.cabinet-page .profile-hub{padding:17px}.cabinet-page .profile-hub-head{padding-right:0}.cabinet-page .profile-live{font-size:6px}.cabinet-page .profile-fields{grid-template-columns:1fr}}
@media(max-width:380px){.cabinet-brand{font-size:8px;gap:7px}.cabinet-brand-mark{width:32px;height:32px}.cabinet-toolbar-button:not(.cabinet-settings-button):not(.cabinet-notifications-button) span{display:none}.cabinet-toolbar-button:not(.cabinet-settings-button):not(.cabinet-notifications-button){width:40px;padding:0}.cabinet-greeting-stat{width:100%}.cabinet-page .membership-card{column-gap:6px;padding:13px}.cabinet-page .membership-qr .loyalty-qr{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.cabinet-type-cursor:after{animation:none}.cabinet-greeting,.cabinet-toolbar-button{transition:none}}
@media(max-width:720px){.cabinet-page .booking-dialog[open] .booking-swipe{display:block}.cabinet-page .booking-dialog[open] .booking-swipe input{min-height:48px}}

/* Dedicated account and admin sections */
.cabinet-brand{display:grid;gap:2px;color:var(--ink);font-size:12px;font-weight:800;letter-spacing:.12em;text-decoration:none;white-space:nowrap}
.cabinet-brand i,.admin-brand i{font-style:normal;color:var(--red)}
.cabinet-brand small,.admin-brand small{font-size:7px;letter-spacing:.14em;color:var(--muted)}
.cabinet-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,28px)}
.cabinet-page-nav,.admin-page-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}
.cabinet-page-nav::-webkit-scrollbar,.admin-page-nav::-webkit-scrollbar{display:none}
.cabinet-page-nav a,.admin-page-nav a{flex:none;min-height:42px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:13px;color:var(--muted);font-size:9px;font-weight:750;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cabinet-page-nav a:hover,.admin-page-nav a:hover{color:var(--ink);background:#fff8}
.cabinet-page-nav a.is-active,.admin-page-nav a.is-active{border-color:#dfd3bf;background:#fffdf8;color:var(--ink);box-shadow:0 5px 16px #30251a0a}
.cabinet-page-nav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cabinet-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.cabinet-quick-links a{min-width:0;min-height:112px;padding:17px;display:grid;align-content:start;gap:8px;border:1px solid #e6ddd0;border-radius:18px;background:#fffdf9;color:var(--ink);text-decoration:none;transition:transform .2s,box-shadow .2s}
.cabinet-quick-links a:hover{transform:translateY(-3px);box-shadow:0 12px 28px #35261a12}
.cabinet-quick-links span{font-size:8px;letter-spacing:.12em;color:var(--red)}
.cabinet-quick-links b{font:500 18px/1.1 var(--serif)}
.cabinet-quick-links small{color:var(--muted);font-size:9px;line-height:1.5}
.cabinet-main[data-view="overview"]>[data-cabinet-section]:not([data-cabinet-section="overview"]),
.cabinet-main[data-view="bookings"]>[data-cabinet-section]:not([data-cabinet-section="bookings"]),
.cabinet-main[data-view="card"]>[data-cabinet-section]:not([data-cabinet-section="card"]),
.cabinet-main[data-view="loyalty"]>[data-cabinet-section]:not([data-cabinet-section="loyalty"]),
.cabinet-main[data-view="profile"]>[data-cabinet-section]:not([data-cabinet-section="profile"]){display:none!important}
.cabinet-main[data-view="overview"]{display:block}
.cabinet-main[data-view="bookings"]{display:grid;grid-template-columns:1fr;gap:12px}
.cabinet-main[data-view="card"],.cabinet-main[data-view="loyalty"],.cabinet-main[data-view="profile"]{display:block}
.cabinet-page .booking-launch{display:block}
.booking-swipe[hidden]{display:none!important}
.swipe-confirm{--swipe-x:0px;position:relative;min-height:58px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d5c29a;border-radius:32px;background:#f5eddd;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.swipe-confirm:before{content:"";position:absolute;inset:0 auto 0 0;width:calc(58px + var(--swipe-x));border-radius:inherit;background:linear-gradient(90deg,#e7c889,#efd9a9);transition:width .08s linear}
.swipe-confirm-label{position:relative;z-index:1;padding:0 56px;color:#725f41;font-size:10px;font-weight:750;text-align:center;pointer-events:none}
.swipe-confirm-thumb{position:absolute;z-index:2;left:6px;top:5px;width:48px;height:48px;padding:0;display:grid;place-items:center;border:2px solid white;border-radius:50%;background:var(--red);color:white;box-shadow:0 4px 14px #33251a30;touch-action:none;transform:translateX(var(--swipe-x,0px));cursor:grab}
.swipe-confirm-thumb:active{cursor:grabbing}
.swipe-confirm-thumb:focus-visible{outline:3px solid #253e46;outline-offset:2px}
.swipe-confirm-thumb svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.booking-phone-label{display:block;margin-top:9px}
.booking-phone-label input{width:100%;min-height:50px;padding:0 14px;border:1px solid #dcd2c5;border-radius:13px;background:#fffdf9;color:var(--ink);font:500 15px var(--sans)}
.phone-required-note>span,.phone-required-note>small{display:block;color:var(--muted);font-size:9px;line-height:1.5}
.booking-picker .booking-phone-label{font-size:0}
.booking-picker .booking-phone-label input{font-size:15px}
.admin-page{background:#f5f2ed}
.admin-frame{width:min(1240px,100% - 40px);margin:0 auto;padding-bottom:45px}
.admin-toolbar{position:sticky;top:0;z-index:30;min-height:76px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;border-bottom:1px solid #e6dfd5;background:#f8f6f1ed;backdrop-filter:blur(16px)}
.admin-brand{display:grid;gap:3px;color:var(--ink);font-size:12px;font-weight:850;letter-spacing:.12em;text-decoration:none;white-space:nowrap}
.admin-site-link{padding:10px 13px;border:1px solid #ddd4c7;border-radius:12px;color:var(--ink);font-size:9px;font-weight:750;text-decoration:none;white-space:nowrap}
.admin-main{padding-top:20px}
.admin-page .admin-notice{margin:0 0 16px;padding:15px 18px;display:flex;justify-content:space-between;gap:12px;border:1px solid #e3d7c4;border-radius:16px;background:#fffdf9;color:var(--muted);font-size:9px}
.admin-page .admin-notice b{color:var(--ink);font-size:10px}
.admin-page[data-admin-view="requests"] #admin-app>:not(#admin-requests):not(#admin-new-booking),
.admin-page[data-admin-view="guests"] #admin-app>:not(#admin-guests),
.admin-page[data-admin-view="schedule"] #admin-app>:not(#admin-schedule),
.admin-page[data-admin-view="campaigns"] #admin-app,
.admin-page[data-admin-view="access"] #admin-app,
.admin-page:not([data-admin-view="access"]) .admin-telegram-link,
.admin-page:not([data-admin-view="access"]) .admin-users,
.admin-page:not([data-admin-view="access"]) .admin-logout,
.admin-page:not([data-admin-view="campaigns"]) .campaign-settings{display:none!important}
.admin-page[data-admin-view="access"] .admin-notice,.admin-page[data-admin-view="campaigns"] .admin-notice{display:none}
.admin-page .admin-section{margin:0;padding:clamp(17px,3vw,28px);border:1px solid #e4ddd2;border-radius:20px;background:#fffdf9;box-shadow:0 12px 36px #2b21120a}
.admin-page .admin-section h2,.admin-page .campaign-settings h2{margin:9px 0 18px;font:500 clamp(26px,4vw,38px)/1.05 var(--serif)}
.admin-page .admin-head{align-items:flex-start;flex-wrap:wrap}
.admin-page .admin-head-tools{min-width:min(100%,320px);display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px}
.admin-page .admin-export{min-height:43px;max-width:100%;padding:0 14px;border:1px solid #ded2c1;border-radius:12px;background:#fffaf1;color:var(--ink);font-size:9px;font-weight:800;white-space:normal;cursor:pointer}
.admin-page .admin-booking{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding:15px 0;border-bottom:1px solid #ece6dd}
.admin-page .manual-booking{margin-top:16px}
.admin-page .admin-telegram-link,.admin-page .admin-users,.admin-page .campaign-settings{margin:0;padding:clamp(18px,3vw,30px);border:1px solid #e4ddd2;border-radius:20px;background:#fffdf9}
.admin-page .campaign-settings fieldset{min-width:0}
.admin-page .admin-logout{margin:10px 0;text-align:right}
.admin-page .admin-logout button{padding:9px 12px;border:1px solid #e2d8cc;border-radius:10px;background:transparent;color:var(--muted);font-size:9px}
.admin-page .admin-page-nav{gap:3px}
.admin-page .admin-page-nav a{padding-inline:clamp(8px,1.2vw,14px);white-space:nowrap}
@media(max-width:820px){.cabinet-toolbar{grid-template-columns:auto auto;gap:8px 12px;padding-block:10px}.cabinet-page-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%;padding:2px 0 4px}.cabinet-page-nav a{min-height:40px;padding-inline:11px}.cabinet-toolbar-actions{grid-column:2;grid-row:1;justify-self:end}.cabinet-quick-links{grid-template-columns:1fr}.cabinet-quick-links a{min-height:88px}.admin-frame{width:min(100% - 24px,680px)}.admin-toolbar{grid-template-columns:1fr auto;gap:8px;padding:10px 0}.admin-page-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;width:100%;padding:2px 0 4px}.admin-page-nav a{min-height:40px}.admin-site-link{grid-column:2;grid-row:1}.admin-main{padding-top:12px}.admin-page .admin-notice{display:grid;gap:5px}.admin-page .admin-head-tools{justify-content:flex-start;min-width:0}.admin-page .admin-booking{grid-template-columns:1fr}.admin-page .admin-buttons{display:grid;grid-template-columns:1fr 1fr}.admin-page .admin-buttons button{min-height:42px;border-radius:10px}.admin-page .new-group-form{grid-template-columns:1fr}.admin-page .schedule-edit-row{grid-template-columns:1fr 1fr}.admin-page .schedule-edit-row>*{min-width:0}.admin-page .admin-users-columns{grid-template-columns:1fr}.admin-page .promo-code-editor{min-width:0}}
@media(max-width:430px){.cabinet-frame{width:calc(100% - 20px);padding-bottom:24px}.cabinet-brand{font-size:10px}.cabinet-page-nav{gap:2px}.cabinet-page-nav a{padding-inline:9px;font-size:8px}.cabinet-page-nav svg{width:14px;height:14px}.cabinet-toolbar-actions{gap:4px}.cabinet-toolbar-button{min-width:39px;min-height:39px}.cabinet-greeting{padding:22px 17px}.cabinet-greeting h1{font-size:clamp(29px,9vw,38px)}.cabinet-main[data-view="bookings"]{min-width:0}.cabinet-page .booking-dialog{width:100vw;max-width:100vw;max-height:96dvh;padding:0}.cabinet-page .booking-picker{width:100%;max-width:none;max-height:96dvh;overflow:auto;padding:23px 15px calc(20px + env(safe-area-inset-bottom))}.cabinet-page .booking-picker label{min-width:0;font-size:10px}.cabinet-page .booking-picker .picker-row{grid-template-columns:1fr;gap:11px}.cabinet-page .booking-picker .custom-select-button{min-height:52px;font-size:14px}.cabinet-page .custom-select-menu{max-height:34dvh;overflow-y:auto}.cabinet-page .booking-picker .booking-summary{font-size:11px}.cabinet-page .booking-swipe{display:block;margin-top:12px}.cabinet-page .booking-dialog[open] .booking-swipe{display:block}.swipe-confirm{min-height:62px}.swipe-confirm-thumb{width:52px;height:52px}.swipe-confirm-label{font-size:9px}.admin-frame{width:calc(100% - 18px)}.admin-toolbar{top:0}.admin-brand{font-size:10px}.admin-page-nav a{min-height:39px;padding-inline:10px;font-size:8px}.admin-page .admin-section{padding:16px 13px;border-radius:16px}.admin-page .admin-head-tools{width:100%;display:grid;grid-template-columns:1fr;justify-content:stretch}.admin-page .admin-export{width:100%;min-height:48px}.admin-page .admin-count{font-size:9px}.admin-page .visit-admin-heading{grid-template-columns:1fr auto;gap:10px}.admin-page .visit-admin-mark{width:42px;height:42px}.admin-page .visit-form{grid-template-columns:1fr}.admin-page .visit-form .pill{width:100%}.admin-page .scanner-actions{display:grid}.admin-page .scan-open{width:100%;min-width:0}.admin-page .customer-card{grid-template-columns:35px minmax(0,1fr);gap:8px}.admin-page .customer-card>code{grid-column:2;justify-self:start}.admin-page .admin-buttons{grid-template-columns:1fr}.admin-page .admin-buttons button{width:100%;min-height:44px}.admin-page .new-group-step{padding:13px}.admin-page .group-days-grid{grid-template-columns:1fr}.admin-page .guest-booking-actions{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.cabinet-page .booking-picker .booking-actions .booking-next{display:inline-flex!important;width:100%;min-height:50px;justify-content:center}.cabinet-page .booking-picker[data-stage="3"] .booking-actions .booking-next{display:none!important}.cabinet-page .booking-picker .booking-swipe{display:none!important}.cabinet-page .booking-picker[data-stage="3"] .booking-swipe:not([hidden]){display:block!important}}

/* Three-step admin forms */
.new-group-form,.guest-booking-step{display:grid;gap:13px}
.new-group-step,.guest-booking-step{padding:clamp(14px,2vw,22px);border:1px solid #e7dfd4;border-radius:16px;background:#fffaf3}
.new-group-step label,.guest-booking-step label{display:grid;gap:7px;color:var(--ink);font-size:10px;font-weight:750}
.new-group-step input,.guest-booking-step input,.guest-booking-step select{width:100%;min-width:0;min-height:48px;padding:0 13px;border:1px solid #ded4c7;border-radius:12px;background:#fffdf9;color:var(--ink);font:500 13px var(--sans)}
.new-group-step [data-group-next],.guest-booking-actions button,.group-wizard-actions button{min-height:45px;padding:0 17px;border:1px solid #ded4c7;border-radius:12px;background:#fffdf9;color:var(--ink);font-size:10px;font-weight:800;cursor:pointer}
.group-days-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.group-day-row{min-width:0;display:grid!important;grid-template-columns:18px 28px minmax(0,1fr);align-items:center;gap:8px!important;padding:10px;border:1px solid #e7dfd4;border-radius:12px;background:#fffdf9}
.group-day-row input[type=checkbox]{width:17px;height:17px;min-height:17px;margin:0;accent-color:var(--red)}
.group-day-row input[type=text]{min-height:38px;padding:0 7px;font-size:11px}
.group-day-row input:disabled{opacity:.45}
.group-wizard-actions,.guest-booking-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.group-review,.guest-booking-summary{display:grid;gap:9px;padding:15px;border:1px solid #e6dccb;border-radius:14px;background:#fffdf9}
.group-review b,.guest-booking-summary b{font:500 19px var(--serif)}
.group-review span,.guest-booking-summary span,.guest-booking-step>p{color:var(--muted);font-size:10px;line-height:1.55}
.wizard-count{font-size:8px;font-weight:850;letter-spacing:.12em;color:var(--red)}
.group-wizard-status,.guest-booking-status{min-height:17px;color:#9b433b;font-size:9px;line-height:1.5}
.guest-group-picker{position:relative}
.guest-group-options{position:absolute;z-index:20;top:calc(100% + 5px);left:0;right:0;max-height:250px;overflow:auto;padding:5px;border:1px solid #dfd3c3;border-radius:13px;background:#fffdf9;box-shadow:0 14px 30px #24190f20}
.guest-group-options[hidden]{display:none!important}
.guest-group-options button{width:100%;min-height:42px;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:10px;text-align:left;cursor:pointer}
.guest-group-options button:hover{background:#f5eddf}
.guest-group-options button[hidden]{display:none!important}
.guest-booking-actions [data-guest-submit]{grid-column:1/-1}
.admin-page .admin-export{flex:0 1 230px;min-width:175px}
.admin-page .admin-count{white-space:nowrap}
.admin-page .admin-booking-phone{max-width:100%;overflow-wrap:anywhere}
@media(max-width:820px){.admin-page .admin-export{flex:1 1 100%}.group-days-grid{grid-template-columns:1fr}.admin-page .new-group-form{display:block}.admin-page .new-group-step{margin-top:10px}.guest-booking-actions{grid-template-columns:1fr 1fr}}
#cabinet-app[data-view="overview"],#cabinet-app[data-view="card"],#cabinet-app[data-view="loyalty"],#cabinet-app[data-view="profile"]{display:block}
#cabinet-app[data-view="bookings"]{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
.admin-page [hidden],.cabinet-page [hidden]{display:none!important}
.cabinet-auth-pending .cabinet-page-nav,.cabinet-auth-pending .cabinet-toolbar-actions,.cabinet-logged-out .cabinet-page-nav,.cabinet-logged-out .cabinet-toolbar-actions{display:none!important}.cabinet-auth-pending .cabinet-toolbar,.cabinet-logged-out .cabinet-toolbar{grid-template-columns:1fr}

/* Mobile account and staff navigation, anchored above the safe area. */
@media(max-width:820px){
  .cabinet-page-nav,.admin-page-nav{
    position:fixed;z-index:70;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));
    width:auto;min-height:66px;padding:7px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;overflow:visible;border:1px solid #ffffffb5;border-radius:20px;
    background:color-mix(in srgb,#fffdf8 88%,transparent);box-shadow:0 12px 38px #231b1540;
    backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)
  }
  .cabinet-page-nav a,.admin-page-nav a{
    min-width:0;min-height:50px;padding:4px 3px;display:flex;flex-direction:column;gap:3px;
    border:0;border-radius:13px;font-size:8px;line-height:1.1;text-align:center;white-space:normal
  }
  .cabinet-page-nav a.is-active,.admin-page-nav a.is-active{
    border:1px solid #dfd3bf;background:#f5ebda;box-shadow:none;color:var(--red)
  }
  .cabinet-page-nav svg{width:18px;height:18px}
  .cabinet-frame,.admin-frame{padding-bottom:100px}
  .cabinet-toolbar{grid-template-columns:1fr auto}
  .cabinet-page-nav{grid-row:auto;grid-column:auto}
  .admin-page-nav{grid-row:auto;grid-column:auto}
  .admin-toolbar{grid-template-columns:1fr auto}
}
@media(max-width:430px){
  .cabinet-page-nav,.admin-page-nav{left:9px;right:9px;bottom:max(8px,env(safe-area-inset-bottom));min-height:62px}
  .cabinet-page-nav a,.admin-page-nav a{font-size:7px}
  .cabinet-page-nav svg{width:17px;height:17px}
}

/* The booking sheet stays attached to the bottom edge on phones. */
@media(max-width:720px){
  .cabinet-page .booking-dialog[open]{
    position:fixed;inset:auto 0 0;width:100vw;max-width:100vw;height:auto;max-height:94dvh;
    margin:0;align-self:end;transform:none;border-radius:22px 22px 0 0;overflow:hidden
  }
  .cabinet-page .booking-picker{
    width:100%;max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;
    padding:25px 17px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0
  }
  .cabinet-page .booking-picker .booking-stage-label{padding-right:72px}
  .cabinet-page .booking-picker .booking-actions{position:sticky;bottom:-1px;z-index:3;padding:12px 3px calc(8px + env(safe-area-inset-bottom));margin:12px -3px -8px;background:linear-gradient(transparent,var(--paper) 22%)}
  .cabinet-page .booking-picker .booking-actions .booking-next{min-width:0}
  .cabinet-page .custom-select-wrap:has(.class-search-input){position:static}
  .cabinet-page .custom-select-menu{position:relative;top:auto;left:auto;right:auto;max-height:34dvh;margin-top:7px;box-shadow:none}
  .cabinet-page .custom-select-menu button{min-height:48px;font-size:13px}
}

/* Responsive four-tab views and account controls. */
.cabinet-main[data-view="card"]>[data-cabinet-section="card"]{display:block}
.cabinet-page .cabinet-settings-button svg{transition:transform .25s,stroke .2s}
.cabinet-page .cabinet-settings-button:hover svg{transform:rotate(-8deg);stroke:var(--red)}
.admin-page[data-admin-view="settings"] #admin-app{display:none!important}
.admin-page[data-admin-view="settings"] .admin-notice{display:none}
.admin-page:not([data-admin-view="settings"]) .admin-telegram-link,
.admin-page:not([data-admin-view="settings"]) .admin-users,
.admin-page:not([data-admin-view="settings"]) .admin-logout,
.admin-page:not([data-admin-view="settings"]) .campaign-settings{display:none!important}
.admin-page[data-admin-view="settings"] .admin-telegram-link,
.admin-page[data-admin-view="settings"] .campaign-settings{display:block!important}
.admin-page[data-admin-view="settings"] .admin-users:not([hidden]){display:block!important}
.admin-page[data-admin-view="settings"] .admin-logout{display:block!important}
.admin-page[data-admin-view="settings"] .admin-telegram-link,
.admin-page[data-admin-view="settings"] .campaign-settings,
.admin-page[data-admin-view="settings"] .admin-users{margin:0 0 12px}
.admin-page[data-admin-view="settings"] .admin-telegram-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px}
.admin-page[data-admin-view="settings"] .admin-telegram-link h2{margin:8px 0;font:500 clamp(25px,4vw,36px)/1.05 var(--serif)}
.admin-page[data-admin-view="settings"] .admin-telegram-link p{font-size:10px;line-height:1.7}
@media(max-width:600px){.admin-page[data-admin-view="settings"] .admin-telegram-link{grid-template-columns:1fr}.admin-page[data-admin-view="settings"] .admin-telegram-actions{width:100%}.admin-page[data-admin-view="settings"] .admin-telegram-actions>*{max-width:100%}}

.booking-swipe{margin-top:10px}
.swipe-confirm{--swipe-x:0px;--swipe-progress:0;min-height:70px;padding:7px}
.swipe-confirm:before{inset:7px auto 7px 7px;width:auto;right:calc(100% - 70px);transform:scaleX(calc(.13 + var(--swipe-progress)*.87));transform-origin:left center;border-radius:32px;will-change:transform;transition:transform .06s linear,background .25s}
.swipe-confirm.is-animating:before{transition:transform .28s cubic-bezier(.2,.8,.2,1),background .25s}
.swipe-confirm-label{padding:0 62px;font-size:10px;transition:color .2s,letter-spacing .2s;animation:swipe-prompt 1.7s ease-in-out infinite}
@keyframes swipe-prompt{0%,100%{opacity:.76;letter-spacing:0}50%{opacity:1;letter-spacing:.025em}}
.swipe-confirm-thumb{left:7px;top:7px;width:56px;height:56px;transform:translate3d(var(--swipe-x),0,0);transition:transform .06s linear,background .2s,box-shadow .2s;will-change:transform}
.swipe-confirm.is-animating .swipe-confirm-thumb{transition:transform .28s cubic-bezier(.2,.8,.2,1),background .2s,box-shadow .2s}
.swipe-confirm-thumb svg{position:absolute;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.swipe-confirm-thumb .swipe-arrow{animation:swipe-arrow-nudge 1s ease-in-out infinite}
@keyframes swipe-arrow-nudge{0%,100%{transform:translateX(-3px);opacity:.65}50%{transform:translateX(3px);opacity:1}}
.swipe-confirm-thumb .swipe-check{width:25px;height:25px;animation:swipe-check-in .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes swipe-check-in{from{opacity:0;transform:scale(.45) rotate(-25deg)}to{opacity:1;transform:scale(1) rotate(0)}}
.swipe-confirm.is-success{border-color:#66916d;background:#e7f1e7}
.swipe-confirm.is-success:before{background:#82ad84}
.swipe-confirm.is-success .swipe-confirm-thumb{background:#39794c;box-shadow:0 4px 17px #39794c45}
.swipe-confirm.is-success .swipe-confirm-label{color:#285c36;animation:none}
@media(prefers-reduced-motion:reduce){.swipe-confirm-label,.swipe-confirm-thumb .swipe-arrow,.swipe-confirm-thumb .swipe-check{animation:none}.swipe-confirm:before,.swipe-confirm-thumb{transition:none}}

.registered-client-panel{margin-top:23px;padding-top:20px;border-top:1px solid #e7dfd4}
.registered-client-panel header{margin-bottom:12px}
.registered-client-panel h3{margin:7px 0;font:500 22px/1.1 var(--serif)}
.registered-client-panel header p{margin:0;color:var(--muted);font-size:9px;line-height:1.6}
.registered-client-list{display:grid;gap:8px}
.registered-client-row{min-width:0;padding:10px;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #e7dfd4;border-radius:13px;background:#fffdf9}
.registered-client-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#f3e7d2;color:var(--red);font:500 16px var(--serif)}
.registered-client-meta{min-width:0;display:grid;gap:4px}
.registered-client-meta b{overflow:hidden;text-overflow:ellipsis;font-size:10px}
.registered-client-meta small{overflow-wrap:anywhere;color:var(--muted);font-size:8px;line-height:1.45}
.client-block-toggle{min-height:40px;padding:0 12px;border:1px solid #d9cbb7;border-radius:10px;background:#fff8eb;color:#644d2a;font-size:9px;font-weight:750;cursor:pointer}
.client-block-toggle.is-blocked{border-color:#b7cfb6;background:#edf5eb;color:#3d7145}
.client-block-toggle:disabled{opacity:.55}
@media(max-width:560px){.registered-client-row{grid-template-columns:36px minmax(0,1fr)}.client-block-toggle{grid-column:1/-1;width:100%;min-height:44px}}
/* Keep booking actions and row editing readable at narrow widths. */
.admin-page .admin-buttons{min-width:0;display:flex;flex-wrap:wrap;gap:7px}
.admin-page .admin-buttons button{min-width:0;max-width:100%;flex:1 1 125px;padding:8px 10px;overflow-wrap:anywhere;white-space:normal;line-height:1.25}
.admin-page .booking-edit{min-width:0;grid-column:1/-1;margin-top:5px;padding:10px;border:1px solid #e8dfd3;border-radius:12px;background:#fffaf4}
.admin-page .booking-edit summary{min-height:42px;display:flex;align-items:center;cursor:pointer;font-size:10px;font-weight:750}
.admin-page .booking-edit form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.admin-page .booking-edit label{min-width:0;display:grid;gap:5px;font-size:9px}
.admin-page .booking-edit input{width:100%;min-width:0;min-height:43px;padding:0 9px;border:1px solid #ded4c7;border-radius:9px;background:white;color:var(--ink)}
.admin-page .booking-edit button{min-height:43px;border:0;border-radius:9px;background:#263e47;color:white;font-size:9px;font-weight:750}
@media(max-width:560px){.admin-page .admin-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .admin-buttons button{width:100%;min-width:0;min-height:47px;padding:7px;font-size:8px}.admin-page .booking-edit form{grid-template-columns:1fr}.admin-page[data-admin-view="settings"] .campaign-settings{padding:17px 13px}}

/* Keep the account tools as one navigation layer on phones. */
.cabinet-page-nav,.admin-page-nav{position:relative;z-index:30;min-height:48px;margin:0 auto 12px;padding:4px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #e3dacd;border-radius:16px;background:#fffdf8;color:var(--ink)}
.cabinet-page-nav a,.admin-page-nav a{min-height:40px}
@media(max-width:820px){
  .cabinet-page-nav,.admin-page-nav{position:fixed!important;inset:auto 12px max(10px,env(safe-area-inset-bottom)) 12px!important;z-index:95!important;width:auto!important;min-height:66px;margin:0!important;padding:7px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;overflow:visible!important;border:1px solid #ffffffd9!important;border-radius:20px!important;background:#fffdf6f2!important;box-shadow:0 12px 36px #241b1540!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .cabinet-page-nav a,.admin-page-nav a{min-width:0;min-height:50px!important;padding:4px 2px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px!important;border:1px solid transparent!important;border-radius:13px!important;font-size:8px!important;line-height:1.05;text-align:center;white-space:normal!important;overflow-wrap:anywhere}
  .cabinet-page-nav a.is-active,.admin-page-nav a.is-active{border-color:#dfd3bf!important;background:#f4ead9!important;color:var(--red)!important;box-shadow:none!important}
  .cabinet-page-nav svg{width:18px!important;height:18px!important}
  .cabinet-frame,.admin-frame{padding-bottom:118px!important}
  .cabinet-toolbar{grid-template-columns:1fr auto!important}
  .admin-toolbar{grid-template-columns:1fr auto!important}
}
@media(max-width:430px){
  .cabinet-page-nav,.admin-page-nav{inset:auto 9px max(8px,env(safe-area-inset-bottom)) 9px!important;min-height:63px!important}
  .cabinet-page-nav a,.admin-page-nav a{font-size:7px!important}
}

/* A tap list is easier than a keyboard search box for choosing a class. */
@media(max-width:720px){
  .cabinet-page .booking-dialog[open]{position:fixed;inset:auto 0 0!important;width:100vw;max-width:100vw;height:auto;max-height:94dvh;margin:0;transform:none;align-self:end;border-radius:22px 22px 0 0;overflow:hidden}
  .cabinet-page .booking-picker{width:100%;max-height:94dvh;padding:22px 16px calc(18px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}
  .cabinet-page .custom-select-wrap{position:relative!important;width:100%;min-width:0}
  .cabinet-page .custom-select-menu{position:relative!important;inset:auto!important;max-height:min(36dvh,280px);margin-top:7px;overflow-y:auto;overscroll-behavior:contain;border-radius:14px;box-shadow:none}
  .cabinet-page .custom-select-menu button{min-height:48px;padding:11px 12px;font-size:13px;line-height:1.35}
  .cabinet-page .booking-picker .custom-select-button{min-height:52px;font-size:14px}
  .cabinet-page .booking-picker .booking-actions{position:sticky;bottom:-1px;z-index:4;margin:12px -3px -8px;padding:12px 3px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--paper) 22%)}
}

/* Stack booking controls so labels and status chips never share a tap target. */
.admin-page .admin-booking{grid-template-columns:minmax(0,1fr) minmax(190px,250px);align-items:start;gap:10px 16px}
.admin-booking-controls{min-width:0;display:grid;justify-items:stretch;gap:9px}
.admin-booking-controls .status-chip{justify-self:end;max-width:100%;text-align:center;line-height:1.4}
.admin-page .admin-booking .admin-buttons{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.admin-page .admin-booking .admin-buttons button{min-width:0;min-height:44px;padding:8px 7px;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
@media(max-width:820px){
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr);gap:9px;padding:15px 0}
 .admin-booking-controls{grid-template-columns:minmax(0,1fr);gap:8px}
 .admin-booking-controls .status-chip{justify-self:start}
 .admin-page .admin-booking .admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-page .booking-edit{grid-column:1;min-width:0;margin-top:0}
 .admin-page .booking-edit summary{min-height:46px}
 .admin-page .booking-edit form{grid-template-columns:1fr;gap:8px}
 .admin-page .booking-edit label,.admin-page .booking-edit input,.admin-page .booking-edit button{min-width:0;width:100%}
}
@media(max-width:430px){
 .admin-page .admin-booking .admin-buttons button{min-height:48px;font-size:9px}
 .admin-page .admin-export{min-width:0}
}

/* Keep native date controls compact and editable on iPhone. */
.profile-settings-dialog{width:min(94vw,600px);max-height:min(88dvh,760px);overflow:auto;overscroll-behavior:contain}
.profile-fields input[type="date"],.booking-edit input[type="date"],.booking-amend input[type="date"]{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;height:48px;padding:0 11px;display:block;appearance:none;-webkit-appearance:none;font:500 16px/1.2 var(--sans);color:var(--ink);text-align:left}
.profile-settings-trigger{border-radius:50%;width:44px;height:44px;min-height:44px;padding:0;justify-content:center;background:#fffdf8}
.profile-settings-trigger span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.profile-settings-trigger svg{width:20px;height:20px}
.profile-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:600px){.profile-fields{grid-template-columns:minmax(0,1fr)}.profile-settings-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:16px}.profile-fields input[type="date"]{font-size:16px}}

/* Guest visit and reward redemption use the same member QR and update live. */
.visit-mode-switch{margin:17px 0 12px;padding:5px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;border:1px solid #e7dfd4;border-radius:15px;background:#f8f3ea}
.visit-mode-switch button{min-width:0;min-height:46px;padding:8px 10px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--muted);font-size:10px;font-weight:750;line-height:1.25;cursor:pointer}
.visit-mode-switch button[aria-pressed="true"]{border-color:#dfd3bf;background:#fffdf9;color:var(--red);box-shadow:0 4px 14px #30251a0d}
.visit-admin .visit-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
.visit-admin .visit-form>label,.visit-admin .visit-form>small{grid-column:1/-1}
.visit-admin .visit-form .visit-input-wrap{min-width:0}
.visit-admin .visit-form .pill{width:100%;min-height:48px;justify-content:center}
.membership-qr>small{max-width:90px;text-align:center;line-height:1.35}
@media(max-width:560px){.visit-admin .visit-form{grid-template-columns:minmax(0,1fr)}.visit-admin .visit-form>label,.visit-admin .visit-form>small{grid-column:auto}.visit-mode-switch button{min-height:51px;padding:7px 5px;font-size:9px}}

/* Friendly mobile group editing and guest roster cards. */
.admin-page .schedule-edit-list{display:grid;gap:8px}
.admin-page .schedule-edit-row{grid-template-columns:minmax(0,1fr) auto minmax(90px,.6fr) auto auto;min-width:0;border-radius:12px}
.admin-page .schedule-edit-row input,.admin-page .schedule-edit-row button{min-width:0;max-width:100%}
@media(max-width:720px){
 .admin-page .schedule-edit-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;padding:11px;border-radius:13px}
 .admin-page .schedule-edit-row b,.admin-page .schedule-edit-row small{grid-column:1/-1}
 .admin-page .schedule-edit-row input{grid-column:1/-1;min-height:46px;width:100%}
 .admin-page .schedule-edit-row button{min-height:44px;width:100%;padding:7px;white-space:normal;line-height:1.25}
 .admin-page .new-group-step,.admin-page .guest-booking-step{padding:15px 12px}
 .admin-page .group-day-row{grid-template-columns:20px 32px minmax(0,1fr);gap:7px!important}
}

.profile-fields input[type="date"]::-webkit-date-and-time-value{text-align:left;margin:0}.profile-fields input[type="date"]::-webkit-calendar-picker-indicator{margin:0 2px 0 6px;opacity:.6}
/* The schedule tab includes both group editing and the booking pause controls. */
.admin-page[data-admin-view="schedule"] #admin-app>:not(#admin-schedule):not(#admin-availability){display:none!important}
.admin-page[data-admin-view="schedule"] #admin-app>#admin-availability{display:block!important}

/* Gift codes are a separate admin tool; balances change only after confirmed use. */
.gift-promo-manager{margin-top:28px;padding:clamp(18px,3vw,28px);border:1px solid #dfd4c4;border-radius:22px;background:linear-gradient(145deg,#fffdf9,#f4eee5)}
.gift-promo-manager h3{margin:8px 0;font-size:clamp(22px,3vw,30px);letter-spacing:-.04em}
.gift-promo-manager>p{max-width:620px;color:var(--muted);font-size:13px}
.gift-promo-manager form{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(110px,.5fr) auto;align-items:end;gap:12px}
.gift-promo-manager label{display:grid;gap:6px;color:var(--muted);font-size:11px;font-weight:700}
.gift-promo-manager input{width:100%;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.gift-promo-manager form>small{grid-column:1/-1;min-height:1.4em;color:var(--muted)}
.gift-promo-list{display:grid;gap:8px;margin-top:14px}
.gift-promo-list>p{color:var(--muted);font-size:12px}
.gift-promo-row{min-width:0;padding:13px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.gift-promo-row>div{min-width:0;display:grid;gap:3px}.gift-promo-row code{width:max-content;max-width:100%;overflow-wrap:anywhere;font-weight:800;letter-spacing:.08em}.gift-promo-row small{color:var(--muted);font-size:10px}
.gift-promo-row button{min-height:40px;padding:7px 12px;border:1px solid #dfc9bd;border-radius:10px;background:#fff8f4;color:#8b4138;font-size:11px;font-weight:700}
.gift-redeem-dialog{width:min(470px,calc(100vw - 28px));padding:27px;border:1px solid #e8ddce;border-radius:24px;background:var(--paper);color:var(--ink);box-shadow:0 24px 90px #1e171246}
.gift-redeem-dialog::backdrop{background:#1715119c;backdrop-filter:blur(5px)}
.gift-redeem-dialog h2{margin:12px 0;font-size:34px;line-height:1;letter-spacing:-.05em}.gift-redeem-dialog h2 em{color:var(--red);font-family:var(--serif);font-weight:500}
.gift-redeem-dialog p{color:var(--muted);font-size:13px}.gift-redeem-dialog #gift-redeem-status{display:block;min-height:1.6em;margin-top:12px;color:var(--muted)}
.gift-swipe-confirm{margin-top:20px;min-height:68px}.gift-swipe-confirm .swipe-confirm-label{font-size:11px}.gift-swipe-confirm .swipe-confirm-thumb{width:54px;height:54px}
.gift-code-redeem-form{width:min(440px,100%);margin-top:20px;padding:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;border:1px solid var(--line);border-radius:16px;background:#fff9}
.gift-code-redeem-form label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:750}.gift-code-redeem-form input{min-width:0;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);text-transform:uppercase}
.gift-code-redeem-form button{min-height:44px;padding:9px 12px;border:0;border-radius:10px;background:var(--red);color:white;font-size:10px;font-weight:750}.gift-code-redeem-form small{grid-column:1/-1;min-height:1.4em;color:var(--muted);font-size:10px}

/* Tablet and phone admin controls keep four stable tap targets and safe-area room. */
@media(max-width:900px){
 .admin-frame{width:min(100% - 24px,760px);padding-bottom:calc(104px + env(safe-area-inset-bottom))}
 .admin-toolbar{position:relative;top:auto;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 0}
 .admin-page-nav{position:fixed!important;z-index:70;left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:auto!important;min-height:68px!important;padding:7px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px!important;border:1px solid #fff9!important;border-radius:20px!important;background:#fbf8f1ed!important;box-shadow:0 12px 40px #25201724!important;backdrop-filter:blur(20px)}
 .admin-page-nav a{min-width:0;min-height:52px!important;padding:6px 3px!important;border-radius:14px!important;font-size:clamp(9px,1.8vw,11px)!important;text-align:center;white-space:normal;line-height:1.15}
 .admin-page-nav a.is-active{background:#ead9c3!important;color:#553d2a!important}
 .admin-main{padding-top:12px}.admin-page .admin-notice{flex-direction:column;gap:4px}
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr);gap:12px}.admin-page .admin-booking-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.admin-page .admin-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-page .admin-buttons button{min-width:0;min-height:46px;padding:7px 9px;white-space:normal;line-height:1.2}
 .admin-telegram-link{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.admin-telegram-actions{width:100%;display:grid;grid-template-columns:1fr;gap:9px}.admin-telegram-actions button,.admin-telegram-actions a{width:100%;min-height:46px}
}
@media(max-width:560px){
 .gift-promo-manager form{grid-template-columns:minmax(0,1fr) minmax(78px,.55fr)}.gift-promo-manager form .pill{grid-column:1/-1;width:100%;min-height:48px}
 .gift-promo-row{grid-template-columns:minmax(0,1fr)}.gift-promo-row button{width:100%}
 .gift-code-redeem-form{grid-template-columns:minmax(0,1fr)}.gift-code-redeem-form button{width:100%;min-height:46px}
 .gift-redeem-dialog{padding:22px 17px}.gift-swipe-confirm .swipe-confirm-label{padding-inline:63px;font-size:9px}
 .admin-page .admin-booking-controls .admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Final account/admin layout hardening: predictable columns, contrast and touch targets. */
.admin-page,
.cabinet-page{overflow-x:hidden}
.admin-page *,
.cabinet-page *{box-sizing:border-box}
.admin-page .admin-main,
.admin-page #admin-app,
.admin-page .admin-section,
.admin-page .admin-booking,
.cabinet-page .cabinet-main,
.cabinet-page .loyalty-card,
.cabinet-page .profile-hub{min-width:0}
.admin-page .admin-main{width:100%}
.admin-page .admin-booking{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center}
.admin-page .admin-booking-controls{width:100%;min-width:0}
.admin-page .admin-booking .admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-page .admin-booking .admin-buttons button{min-width:0;min-height:46px;padding:9px 10px;border:1px solid #dfcdb8;border-radius:12px;background:#fffaf2;color:#553d2a;font:700 11px/1.25 var(--sans);text-align:center;white-space:normal;overflow-wrap:anywhere;box-shadow:0 2px 7px #35261b0a}
.admin-page .admin-booking .admin-buttons button:first-child{border-color:#d7a15a;background:#f5e5c7;color:#573f22}
.admin-page .admin-booking .admin-buttons button:hover{border-color:#c9493c;transform:translateY(-1px)}
.admin-page .admin-booking .admin-buttons button:disabled{opacity:.55;transform:none}
.admin-page .admin-telegram-link{min-width:0;grid-template-columns:minmax(0,1fr) minmax(220px,.72fr);gap:22px}
.admin-page .admin-telegram-link p{overflow-wrap:anywhere}
.admin-page .admin-telegram-actions{min-width:0}
.admin-page .admin-telegram-actions [hidden]{display:none!important}
.admin-page .admin-telegram-actions .pill{min-height:48px;border-radius:13px;font-size:12px}
.admin-page .admin-users-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-page .admin-export{min-height:46px;border-radius:12px;font-size:11px}
.cabinet-page .loyalty-details{min-width:0;color:var(--ink)}
.cabinet-page .loyalty-details h2{color:var(--ink)}
.cabinet-page .loyalty-details .eyebrow{color:var(--red)}
.cabinet-page .loyalty-details p,
.cabinet-page .loyalty-details small,
.cabinet-page .loyalty-details .loyalty-card-hint,
.cabinet-page .loyalty-details .loyalty-code{color:#625b52}
.cabinet-main[data-view="card"] .loyalty-card{background:radial-gradient(ellipse at 88% 10%,#d7a96728,transparent 34%),linear-gradient(122deg,#18353b,#254a4e);color:#fffaf3}
.cabinet-main[data-view="card"] .loyalty-details h2,
.cabinet-main[data-view="card"] .loyalty-details p,
.cabinet-main[data-view="card"] .loyalty-details small,
.cabinet-main[data-view="card"] .loyalty-details .loyalty-card-hint,
.cabinet-main[data-view="card"] .loyalty-details .loyalty-code{color:#fffaf3}
.cabinet-main[data-view="card"] .loyalty-details .eyebrow{color:#efc987}
.cabinet-main[data-view="card"] .loyalty-progress{background:#ffffff38}
.cabinet-page .loyalty-progress{overflow:hidden;border-radius:99px}
.cabinet-page .membership-card{min-width:0}
.cabinet-page .membership-name{max-width:100%;overflow-wrap:anywhere;white-space:normal;font-size:clamp(22px,3.8vw,40px)}
.cabinet-page .membership-qr{max-width:100%}
.cabinet-page .profile-hub-head{min-width:0;flex-wrap:wrap;row-gap:12px}
.cabinet-page .profile-identity{flex:1 1 240px;min-width:0;padding-right:54px}
.cabinet-page .profile-identity h2{max-width:100%;font-size:clamp(25px,3vw,36px);overflow-wrap:anywhere;line-height:1.08}
.cabinet-page .profile-live{max-width:100%;white-space:nowrap}
.cabinet-page .profile-settings-trigger{z-index:2;top:18px;right:18px}
.cabinet-page .profile-access-card,
.cabinet-page .profile-fields label{min-width:0}
.cabinet-page .profile-fields input{max-width:100%}
.cabinet-page .booking-picker{min-width:0}
.cabinet-page .booking-picker .booking-next{min-height:52px}
.cabinet-page .booking-picker[data-stage="3"] .booking-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:10px}
.cabinet-page .booking-picker[data-stage="3"] .booking-next{grid-column:1/-1;width:100%;justify-content:center}
.cabinet-page .booking-swipe[hidden]{display:none!important}
.swipe-confirm{min-width:0;overflow:hidden}
.swipe-confirm-label{max-width:100%;line-height:1.25;white-space:normal}
.swipe-confirm-thumb{z-index:3;display:grid;place-items:center;will-change:transform}
.swipe-confirm-thumb .swipe-arrow{animation:none;transform:none;transition:transform .12s ease-out}
.swipe-confirm:not(.is-success) .swipe-confirm-thumb:active .swipe-arrow{transform:translateX(2px)}
.swipe-confirm.is-success .swipe-check{display:block}
@media(max-width:900px){
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr);gap:12px}
 .admin-page .admin-booking-controls{grid-template-columns:minmax(0,1fr);gap:10px}
 .admin-page .admin-booking .admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-page .admin-users-columns{grid-template-columns:minmax(0,1fr)}
 .admin-page .admin-telegram-link{grid-template-columns:minmax(0,1fr)}
 .admin-page .admin-page-nav a{min-width:0;overflow-wrap:anywhere}
}
@media(max-width:600px){
 .admin-page .admin-frame{width:calc(100% - 20px);padding-bottom:calc(108px + env(safe-area-inset-bottom))}
 .admin-page .admin-main{padding-top:8px}
 .admin-page .admin-section{padding:17px 14px;border-radius:17px}
 .admin-page .admin-head{align-items:flex-start;gap:10px}
 .admin-page .admin-head-tools{width:100%;min-width:0;display:grid;grid-template-columns:1fr;justify-items:stretch}
 .admin-page .admin-export{width:100%;min-height:48px}
 .admin-page .admin-booking{padding:16px 0;gap:11px}
 .admin-page .admin-booking h3{font-size:20px;line-height:1.15;overflow-wrap:anywhere}
 .admin-page .admin-booking p,.admin-page .admin-booking-phone{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
 .admin-page .admin-booking .admin-buttons button{min-height:48px;padding:8px 6px;font-size:11px}
 .admin-page .admin-telegram-link{padding:18px 15px}
 .admin-page .admin-telegram-link h2{font-size:30px}
 .admin-page .admin-telegram-actions{display:grid;grid-template-columns:minmax(0,1fr)}
 .admin-page .admin-telegram-actions>*{width:100%;min-width:0}
 .admin-page .admin-page-nav{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:6px}
 .admin-page .admin-page-nav a{min-height:48px;padding:4px 2px;font-size:clamp(8px,2.2vw,10px)!important}
 .cabinet-page .cabinet-frame{width:calc(100% - 24px);padding-bottom:calc(108px + env(safe-area-inset-bottom))}
 .cabinet-page .profile-hub{padding:17px 14px}
 .cabinet-page .profile-hub-head{padding-top:42px;padding-bottom:16px}
 .cabinet-page .profile-identity{flex-basis:100%;padding-right:0}
 .cabinet-page .profile-live{margin-left:57px}
 .cabinet-page .profile-settings-trigger{top:12px;right:12px}
 .cabinet-page .profile-fields{grid-template-columns:minmax(0,1fr)}
 .cabinet-page .profile-access{grid-template-columns:minmax(0,1fr)}
 .cabinet-page .membership-card{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;padding:14px}
 .cabinet-page .membership-name{font-size:clamp(20px,6vw,28px);overflow-wrap:anywhere}
 .cabinet-page .membership-qr .loyalty-qr{width:clamp(58px,17vw,74px);height:clamp(58px,17vw,74px)}
 .cabinet-page .loyalty-details{grid-template-columns:minmax(0,1fr);gap:12px}
 .cabinet-page .loyalty-details h2{font-size:28px}
 .cabinet-page .loyalty-qr{width:100px;height:100px;justify-self:start}
 .cabinet-page .booking-picker[data-stage="3"] .booking-actions{grid-template-columns:minmax(0,1fr)}
 .cabinet-page .booking-picker[data-stage="3"] .booking-back,
 .cabinet-page .booking-picker[data-stage="3"] .booking-next{width:100%;min-height:50px}
 .cabinet-page .booking-picker[data-stage="3"] .booking-next{grid-column:1}
 .swipe-confirm{min-height:66px}
 .swipe-confirm-thumb{width:52px;height:52px}
 .swipe-confirm-label{padding-inline:62px;font-size:10px}
}
@media(prefers-reduced-motion:reduce){.swipe-confirm-thumb,.swipe-confirm:before{transition:none!important}}

/* Explicit, restrained motion makes the confirmation feel direct and avoids jitter. */
.swipe-confirm{min-height:72px;padding:7px;border:1px solid #d8c6a6;border-radius:22px;background:linear-gradient(110deg,#fbf5e9,#f1e8d7);box-shadow:inset 0 1px 2px #fff,0 5px 16px #49351b0b;touch-action:pan-y;overscroll-behavior:contain}
.swipe-confirm:before{inset:6px auto 6px 6px;right:calc(100% - 68px);width:auto;transform:scaleX(calc(.12 + var(--swipe-progress,0)*.88));transform-origin:left center;border-radius:16px;background:linear-gradient(100deg,#ead3a8,#e8c989);transition:transform .06s linear,background .2s;will-change:transform}
.swipe-confirm.is-animating:before{transition:transform .24s cubic-bezier(.2,.75,.25,1),background .2s}
.swipe-confirm-label{padding:0 66px;color:#725e43;font-size:11px;font-weight:750;letter-spacing:.01em;animation:none}
.swipe-confirm-thumb{left:7px;top:7px;width:56px;height:56px;border:2px solid #fff;background:linear-gradient(145deg,#d96455,#b9483d);box-shadow:0 4px 12px #50312630;transition:transform .06s linear,background .18s,box-shadow .18s;touch-action:none;user-select:none;-webkit-user-select:none}
.swipe-confirm-thumb:active{scale:1.04}.swipe-confirm-thumb .swipe-arrow{animation:none}.swipe-confirm.is-success{background:#e9f3e9;border-color:#8aaf88}.swipe-confirm.is-success:before{background:linear-gradient(100deg,#9bc39a,#7fb181)}
@media(prefers-reduced-motion:reduce){.swipe-confirm:before,.swipe-confirm-thumb{transition:none!important}}
/* Keep platform-native select popovers out of the custom touch picker. */
.custom-select-wrap>.native-select-source{display:none!important}
.gift-promo-actions{display:flex;gap:7px}.gift-promo-actions button{min-width:92px}
@media(max-width:560px){.gift-promo-actions{display:grid;grid-template-columns:1fr 1fr}.gift-promo-actions button{min-width:0}}
/* Align the account header and its utility buttons on tablet widths. */
@media(min-width:561px) and (max-width:900px){
 .cabinet-frame{width:min(calc(100% - 36px),820px);padding-bottom:calc(112px + env(safe-area-inset-bottom))}
 .cabinet-toolbar{position:relative;top:auto;min-height:72px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 0}
 .cabinet-brand{min-width:0;font-size:12px}.cabinet-brand small{font-size:8px}
 .cabinet-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
 .cabinet-toolbar-button{width:46px;min-width:46px;height:46px;min-height:46px;border-radius:15px}
 .cabinet-page-nav{position:fixed!important;z-index:70;left:max(16px,env(safe-area-inset-left))!important;right:max(16px,env(safe-area-inset-right))!important;top:auto!important;bottom:max(12px,env(safe-area-inset-bottom))!important;width:auto!important;min-height:70px!important;padding:7px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px!important;border:1px solid #fff9!important;border-radius:21px!important;background:#fbf8f1ed!important;box-shadow:0 12px 40px #25201724!important;backdrop-filter:blur(20px)}
 .cabinet-page-nav a{min-width:0;min-height:54px!important;padding:5px 4px!important;display:flex!important;flex-direction:column;gap:3px!important;border-radius:14px!important;font-size:9px!important;line-height:1.1;white-space:normal}
 .cabinet-page-nav a.is-active{background:#ead9c3!important;color:#553d2a!important}
 .cabinet-toolbar-button svg{width:21px;height:21px}
 .cabinet-notification-dialog{width:min(540px,calc(100vw - 40px));max-height:84dvh;overflow:auto}
}
@media(max-width:720px){body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}.app-dock a{flex-direction:column;gap:2px;font-size:8px;line-height:1.2}.app-dock a span{font-size:8px}.app-dock .dock-book{flex-direction:column}.app-dock .dock-book span{font-size:8px}}
.visit-admin h2{margin:9px 0;font:500 32px/1.05 var(--serif)}.visit-admin h2 em{color:var(--red)}.visit-admin form{max-width:520px;display:flex;flex-wrap:wrap;align-items:end;gap:9px}.visit-admin form label{flex:1;min-width:180px;display:grid;gap:6px;color:var(--muted);font-size:9px}.visit-admin input{min-height:42px;padding:0 10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.visit-admin form small{flex-basis:100%;color:var(--muted);font-size:9px}.customer-list{margin-top:14px;display:grid;gap:7px}.customer-list>div{min-width:0;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;border:1px solid var(--line);background:var(--paper-2)}.customer-list b{font-size:10px}.customer-list small{grid-column:1;color:var(--muted);font-size:8px}.customer-list code{grid-column:2;grid-row:1/3;align-self:center;font-size:8px;letter-spacing:.08em}
[hidden]{display:none!important}.booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.booking-back{min-height:43px;padding:0 15px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.booking-stage-label{letter-spacing:.13em}
/* Keep platform-native select popovers out of the custom touch picker. */
.custom-select-wrap>.native-select-source{display:none!important}
.gift-promo-actions{display:flex;gap:7px}.gift-promo-actions button{min-width:92px}
@media(max-width:560px){.gift-promo-actions{display:grid;grid-template-columns:1fr 1fr}.gift-promo-actions button{min-width:0}}

/* Desktop member dashboard: a welcoming hero, clear shortcuts and roomy panels. */
@media(min-width:901px){
 .cabinet-frame{width:min(1480px,calc(100% - 72px));padding-bottom:64px}
 .cabinet-toolbar{min-height:86px;grid-template-columns:minmax(0,1fr) auto;gap:20px}
 .cabinet-brand{font-size:14px;letter-spacing:.09em}.cabinet-brand small{font-size:8px;letter-spacing:.2em}
 .cabinet-toolbar-actions{gap:10px}.cabinet-toolbar-button{width:48px;height:48px;border-radius:15px;background:#fffdf9}
 .cabinet-page-nav{position:sticky;top:0;z-index:25;width:max-content;min-height:54px;margin:18px auto 24px;padding:6px;gap:4px;border-radius:18px;background:#fffdf9e8;box-shadow:0 8px 24px #2b21140b;backdrop-filter:blur(16px)}
 .cabinet-page-nav a{min-height:42px;padding-inline:18px;font-size:10px;border-radius:13px}
 .cabinet-frame>.cabinet-main{width:min(1280px,100%);margin:0 auto}
 .cabinet-main[data-view="overview"]{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
 .cabinet-greeting{position:relative;min-height:240px;padding:clamp(32px,4vw,58px);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:38px;overflow:hidden;border:1px solid #ffffff18;border-radius:30px;background:radial-gradient(ellipse at 86% 16%,#e1a57448,transparent 35%),linear-gradient(120deg,#17323a,#24474c 72%,#315154);box-shadow:0 24px 65px #17323a22;color:#fffaf3}
 .cabinet-greeting:after{content:"";position:absolute;width:350px;height:350px;right:9%;bottom:-285px;border:1px solid #f4d4aa40;border-radius:50%;box-shadow:0 0 0 24px #f4d4aa0b,0 0 0 52px #f4d4aa0a,0 0 0 82px #f4d4aa08;pointer-events:none}
 .cabinet-greeting .eyebrow{color:#f2bd91}.cabinet-greeting h1{max-width:800px;margin:16px 0;font-size:clamp(44px,5.3vw,76px);line-height:.98;letter-spacing:-.06em;color:#fffaf3}.cabinet-greeting p{max-width:600px;color:#e8e6df;font-size:14px;line-height:1.7}
 .cabinet-greeting-stat{position:relative;z-index:1;min-width:230px;padding:22px;display:grid;grid-template-columns:52px auto;align-items:center;gap:14px;border:1px solid #ffffff32;border-radius:22px;background:#ffffff12;box-shadow:inset 0 1px #ffffff22;backdrop-filter:blur(14px)}
 .cabinet-stat-ring{width:52px;height:52px;border-color:#f0bd92;color:#f0bd92}.cabinet-greeting-stat small{color:#f0bd92;font-size:9px;letter-spacing:.16em}.cabinet-greeting-stat b{font-size:16px;color:#fffaf3}.cabinet-greeting-stat span:last-child{font-size:11px;color:#e5ded4}
 .cabinet-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
 .cabinet-quick-links>a{position:relative;min-height:126px;padding:23px 26px;display:grid;grid-template-columns:40px 1fr auto;grid-template-rows:auto auto;align-content:center;gap:5px 14px;overflow:hidden;border:1px solid #e8ded0;border-radius:22px;background:linear-gradient(125deg,#fffdf9,#f8f3eb);box-shadow:0 8px 28px #34271709;transition:transform .22s,border-color .22s,box-shadow .22s}
 .cabinet-quick-links>a:hover{transform:translateY(-3px);border-color:#d9bda0;box-shadow:0 16px 36px #34271713}
 .cabinet-quick-links>a>span{grid-row:1/3;color:var(--red);font:italic 18px var(--serif)}.cabinet-quick-links>a>b{font:500 23px var(--serif);letter-spacing:-.03em}.cabinet-quick-links>a>small{color:var(--muted);font-size:11px}.cabinet-quick-links>a:after{content:"↗";grid-column:3;grid-row:1/3;align-self:center;color:var(--red);font-size:22px}
 .cabinet-main[data-view="bookings"]{grid-template-columns:minmax(260px,.7fr) minmax(0,1.3fr);gap:24px;align-items:start}
 .cabinet-main[data-view="bookings"] .booking-launch{grid-column:1;position:sticky;top:110px;min-height:176px;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-radius:24px;background:radial-gradient(ellipse at 90% 15%,#efc88366,transparent 45%),linear-gradient(135deg,#f7ead5,#fffaf2);color:var(--ink);font:500 29px/1.05 var(--serif);text-align:left;box-shadow:0 18px 42px #573a1b10}
 .cabinet-main[data-view="bookings"] .booking-launch:after{content:"Открыть выбор группы и времени ↗";margin-top:15px;color:var(--red);font:700 11px/1.5 var(--sans)}
 .cabinet-main[data-view="bookings"] .my-bookings{grid-column:2;padding:28px;border-radius:24px;box-shadow:0 16px 42px #34271709}
 .cabinet-main[data-view="bookings"] .my-bookings-head .eyebrow{font-size:11px}.cabinet-main[data-view="bookings"] .my-booking{grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 0}.cabinet-main[data-view="bookings"] .booking-date{grid-column:auto;max-width:150px;font-size:10px;line-height:1.5}.cabinet-main[data-view="bookings"] .my-booking b{font-size:19px}.cabinet-main[data-view="bookings"] .my-booking small{font-size:10px}.cabinet-main[data-view="bookings"] .my-booking button{min-height:40px;padding:9px 13px;border-radius:11px;font-size:10px}
 .cabinet-main[data-view="card"] .loyalty-card{min-height:440px;grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding:54px;border-radius:30px;background:radial-gradient(ellipse at 85% 10%,#e3a86834,transparent 35%),linear-gradient(120deg,#17343a,#255057);color:#fffaf3;box-shadow:0 28px 74px #17333a24}
 .cabinet-main[data-view="card"] .loyalty-card h2,.cabinet-main[data-view="card"] .loyalty-card p,.cabinet-main[data-view="card"] .loyalty-card small,.cabinet-main[data-view="card"] .loyalty-card .eyebrow{color:#fffaf3}.cabinet-main[data-view="card"] .loyalty-card .loyalty-progress{background:#ffffff30}.cabinet-main[data-view="card"] .loyalty-qr{width:208px;height:208px;border:9px solid #fff;border-radius:22px;box-shadow:0 20px 46px #060e1038}
 .cabinet-main[data-view="card"] .friend-card{margin-top:16px;padding:32px;border-radius:24px}.cabinet-main[data-view="profile"] .profile-hub{max-width:980px;margin:0 auto;padding:40px;border-radius:28px;box-shadow:0 20px 58px #3427170d}
 .cabinet-page .booking-dialog{width:min(760px,calc(100vw - 60px));max-height:min(90dvh,900px)}.cabinet-page .booking-picker{max-height:min(90dvh,900px);padding:42px}.cabinet-page .booking-picker .picker-row{gap:16px}.cabinet-page .booking-picker label{font-size:12px}.cabinet-page .booking-picker .custom-select-button{min-height:58px;font-size:14px}.cabinet-page .custom-select-menu{max-height:36dvh}.cabinet-page .booking-picker .booking-next{min-height:54px;font-size:13px}
}
@media(min-width:901px){
 .admin-frame{width:min(1480px,calc(100% - 72px));padding-bottom:70px}
 .admin-toolbar{min-height:84px}.admin-page-nav{width:max-content;max-width:100%;margin:15px auto 24px;padding:6px;border-radius:17px;box-shadow:0 7px 22px #34271709}
 .admin-page-nav a{min-height:44px;padding-inline:20px;font-size:10px}
 .admin-main{max-width:1320px;margin:0 auto}.admin-page .admin-notice{padding:16px 20px;border-radius:17px;font-size:11px}
 .admin-page .admin-section{margin-bottom:18px;padding:clamp(24px,3vw,38px);border:1px solid #e7ddd0;border-radius:26px;background:linear-gradient(145deg,#fffdf9,#fbf8f2);box-shadow:0 16px 48px #34271709}
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr) minmax(230px,280px);padding:20px 0;gap:20px;border-color:#e9e1d7}
 .admin-page .admin-booking h3{font-size:22px}.admin-page .admin-booking p,.admin-page .admin-booking-phone{font-size:12px}.admin-page .admin-booking-controls .status-chip{font-size:9px}
 .admin-page .admin-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.admin-page .admin-buttons button{min-height:44px;padding:9px 12px;border-radius:11px;font-size:10px}
 .admin-page .availability-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-page .availability-row{min-height:90px;padding:14px;border-radius:15px;background:#fffdf9}
}
@media(max-width:900px){
 .cabinet-main[data-view="overview"]{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
 .cabinet-main[data-view="bookings"]{display:grid;grid-template-columns:minmax(0,1fr);gap:13px}
 .cabinet-main[data-view="bookings"] .booking-launch,.cabinet-main[data-view="bookings"] .my-bookings{grid-column:1}
}

/* Rebuilt admin views and the dedicated Moscow Longevity schedule. */
.admin-page .campaign-analytics,.admin-page .campaign-links,.admin-page .senior-schedule-admin{display:none!important}
.admin-page[data-admin-view="campaigns"] #admin-app{display:none!important}
.admin-page[data-admin-view="campaigns"] .admin-notice{display:block!important}
.admin-page[data-admin-view="campaigns"] .campaign-settings{display:none!important}
.admin-page[data-admin-view="campaigns"] .campaign-analytics,.admin-page[data-admin-view="campaigns"] .campaign-links{display:block!important;margin:0 0 16px}
.admin-page[data-admin-view="settings"] #admin-app{display:none!important}
.admin-page[data-admin-view="settings"] .admin-notice{display:block!important}
.admin-page[data-admin-view="settings"] .campaign-settings{display:block!important;margin:0 0 16px}
.admin-page[data-admin-view="settings"] .admin-telegram-link,.admin-page[data-admin-view="settings"] .admin-users,.admin-page[data-admin-view="settings"] .admin-logout{display:none!important}
.admin-page[data-admin-view="access"] #admin-app,.admin-page[data-admin-view="access"] .campaign-settings,.admin-page[data-admin-view="access"] .campaign-links,.admin-page[data-admin-view="access"] .campaign-analytics,.admin-page[data-admin-view="access"] .senior-schedule-admin{display:none!important}
.admin-page[data-admin-view="access"] .admin-telegram-link,.admin-page[data-admin-view="access"] .admin-logout{display:grid!important}
.admin-page[data-admin-view="access"] .admin-users:not([hidden]){display:block!important}
.admin-page .admin-page-nav{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}
.admin-page .admin-page-nav a{flex:0 0 auto}
.admin-page .analytics-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.admin-page .analytics-heading p,.admin-page .senior-schedule-admin>p,.admin-page .campaign-links>p{max-width:680px;color:var(--muted);font-size:10px;line-height:1.7}
.admin-page .analytics-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.admin-page .analytics-totals article{display:grid;gap:10px;padding:17px;border:1px solid #e9e2d8;border-radius:15px;background:#fffaf4}
.admin-page .analytics-totals small{font-size:8px;letter-spacing:.1em;color:var(--muted);font-weight:800}
.admin-page .analytics-totals b{font:500 30px var(--serif);color:var(--ink)}
.admin-page .analytics-chart{height:180px;display:grid;grid-template-columns:repeat(30,minmax(0,1fr));align-items:end;gap:4px;padding:12px 8px 0;border-bottom:1px solid var(--line);overflow-x:auto}
.admin-page .analytics-bar-wrap{height:100%;min-width:8px;display:grid;grid-template-rows:14px 1fr 18px;align-items:end;text-align:center}
.admin-page .analytics-bar-wrap>span{font-size:7px;color:var(--muted)}
.admin-page .analytics-bar-wrap i{align-self:end;height:var(--bar-height);min-height:3px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#d89135,#c9493c)}
.admin-page .analytics-bar-wrap small{padding-top:4px;color:var(--muted);font-size:7px}
.campaign-link-form,.senior-schedule-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.campaign-link-form label,.senior-schedule-form label{display:grid;gap:7px;color:var(--ink);font-size:9px;font-weight:750}
.campaign-link-form input,.campaign-link-form select,.senior-schedule-form input,.senior-schedule-form select,.senior-schedule-form textarea{width:100%;min-height:47px;padding:11px 12px;border:1px solid #ded4c7;border-radius:11px;background:#fffdf9;color:var(--ink);font:500 12px var(--sans)}
.campaign-link-form button,.senior-schedule-form button{align-self:end;min-height:47px}
.campaign-link-form>small,.senior-schedule-form>small{align-self:center;color:var(--muted);font-size:9px}
.campaign-link-list,.senior-schedule-list{display:grid;gap:9px}
.campaign-link-row,.senior-schedule-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:13px;border:1px solid #e9e2d8;border-radius:14px;background:#fffaf4}
.campaign-link-main,.senior-schedule-row>div{min-width:0;display:grid;gap:5px}
.campaign-link-main code{overflow-wrap:anywhere;color:#66574a;font-size:9px}
.campaign-link-main small,.senior-schedule-row small,.senior-schedule-row p{color:var(--muted);font-size:8px;line-height:1.5}
.campaign-link-metrics{display:flex;gap:16px}
.campaign-link-metrics span{display:grid;text-align:center;gap:2px}
.campaign-link-metrics b{font:500 20px var(--serif)}
.campaign-link-metrics small{font-size:7px;color:var(--muted)}
.campaign-link-actions{display:flex;gap:6px}
.campaign-link-actions button,.senior-schedule-row button{min-height:38px;padding:0 11px;border:1px solid #ded4c7;border-radius:10px;background:#fff;color:var(--ink);font-size:8px;font-weight:750;cursor:pointer}
.campaign-link-actions button:disabled{opacity:.5}
.admin-page .senior-description{grid-column:1/-1}
.senior-schedule-form textarea{min-height:75px;resize:vertical}
.senior-public-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.senior-public-card{padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--paper-2);box-shadow:0 10px 30px #2a21110a}
.senior-public-card>span{display:inline-flex;padding:7px 10px;border-radius:20px;background:#f2c95c55;color:var(--ink);font-size:10px;font-weight:800}
.senior-public-card h2{margin:17px 0 9px;font:500 24px/1.1 var(--serif)}
.senior-public-card p{color:var(--muted);font-size:10px;line-height:1.7}
.senior-public-card>a{display:flex;align-items:center;justify-content:space-between;margin-top:17px;color:var(--red);font-size:10px;font-weight:800}
.senior-public-empty{grid-column:1/-1;padding:clamp(24px,5vw,48px);border:1px solid #ddcba7;border-radius:20px;background:radial-gradient(ellipse at 95% 0,#efce8c40,transparent 45%),var(--paper-2)}
.senior-public-empty h2{font:500 clamp(25px,4vw,36px) var(--serif)}
.senior-public-empty p{max-width:630px;color:var(--muted);font-size:11px;line-height:1.8}
.senior-public-empty a{color:var(--red);font-weight:800}
.senior-page{background:#f7f3ed}
.senior-hero{display:grid;grid-template-columns:1fr minmax(280px,.7fr);align-items:center;gap:30px;padding-block:clamp(55px,9vw,115px)}
.senior-hero h1{margin:17px 0;font:500 clamp(47px,7vw,86px)/.97 var(--serif);letter-spacing:-.045em}
.senior-hero h1 em,.senior-contact h2 em{color:var(--red);font-weight:500}
.senior-hero-copy>p{max-width:560px;color:var(--muted);font-size:12px;line-height:1.8}
.senior-hero .pill{margin-top:14px;gap:15px}
.senior-brand-card{display:grid;justify-items:center;gap:12px;padding:26px;border:1px solid #d8c8ad;border-radius:28px;background:#fffdf9;box-shadow:0 25px 65px #39240e12}
.senior-brand-card img{display:block;width:min(100%,360px);height:auto;mix-blend-mode:multiply}
.senior-brand-card span{color:var(--muted);font-size:8px;font-weight:850;letter-spacing:.16em}
.senior-schedule-section{padding-top:10px}
.senior-contact{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:70px;padding:clamp(23px,5vw,45px);border-radius:22px;background:#292622;color:#fffaf2}
.senior-contact h2{margin:11px 0;font:500 clamp(30px,4vw,46px)/1.04 var(--serif)}
.senior-contact>div:last-child{display:grid;justify-items:start;gap:14px}
.senior-contact .text-arrow{color:#f1c09b}
@media(max-width:820px){.senior-public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-link-row{grid-template-columns:minmax(0,1fr) auto}.campaign-link-metrics{grid-column:1;justify-content:flex-start}.campaign-link-actions{grid-column:2;grid-row:1/3;flex-direction:column}}
@media(max-width:600px){.campaign-link-form,.senior-schedule-form{grid-template-columns:1fr}.admin-page .analytics-totals{grid-template-columns:1fr 1fr;gap:8px}.admin-page .analytics-totals article{padding:12px}.admin-page .analytics-chart{height:145px;gap:2px;padding-inline:3px}.campaign-link-row{grid-template-columns:1fr}.campaign-link-actions{grid-column:1;grid-row:auto;flex-direction:row}.campaign-link-actions button{flex:1}.campaign-link-metrics{grid-column:1}.senior-public-grid{grid-template-columns:1fr}.senior-hero{grid-template-columns:1fr;gap:25px;padding-block:48px 26px}.senior-hero h1{font-size:clamp(44px,13vw,68px)}.senior-brand-card{max-width:430px;margin:auto}.senior-contact{align-items:flex-start;flex-direction:column;margin-bottom:35px}.admin-page[data-admin-view="access"] .admin-page-nav{padding-bottom:3px}}

.senior-public-category{display:block;margin:13px 0 -10px;color:var(--red);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.senior-day-tabs{overflow-x:auto;flex-wrap:nowrap;padding:2px 1px 8px;scrollbar-width:thin}.senior-day-tabs .day-tab{flex:0 0 auto}.senior-row-actions{display:flex;gap:6px}.admin-page .senior-schedule-form #senior-schedule-cancel{min-height:42px;padding:0 12px;border:1px solid #ded4c7;border-radius:10px;background:#fff;color:var(--ink);font-size:8px;font-weight:750;cursor:pointer}@media(max-width:600px){.senior-row-actions{grid-column:1;display:flex}.senior-row-actions button{flex:1}}

/* Admin workspace refresh: aligned desktop navigation and a compact phone dock. */
.admin-page{background:#f3f0eb;color:#292622}
.admin-page .admin-frame{width:min(1360px,calc(100% - 48px));padding-bottom:48px}
.admin-page .admin-toolbar{position:sticky;top:0;z-index:45;min-height:78px;display:flex;justify-content:space-between;gap:20px;padding:12px 0;background:#f3f0ebed;border-bottom:1px solid #dfd8cd;backdrop-filter:blur(16px)}
.admin-page .admin-brand{display:flex;align-items:center;gap:13px;font-size:14px;letter-spacing:.11em}
.admin-page .admin-brand small{padding:6px 9px;border:1px solid #dfd5c7;border-radius:20px;color:#837667;font-size:8px;letter-spacing:.12em}
.admin-page .admin-site-link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding-inline:17px;border-color:#ddd2c3;border-radius:12px;background:#fffdf9;font-size:10px;transition:background .18s,border-color .18s}
.admin-page .admin-site-link:hover{border-color:#c9493c;background:#fff7f1}
.admin-page .admin-page-nav{position:sticky;top:78px;z-index:40;width:100%;max-width:1360px;margin:0 auto 18px;padding:8px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;border:1px solid #e4ddd3;border-radius:17px;background:#fffdf9;box-shadow:0 8px 24px #36291b08}
.admin-page .admin-page-nav a{min-width:0;min-height:47px;padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:11px;color:#70685e;font-size:10px;font-weight:750;line-height:1.2;text-decoration:none;transition:background .16s,color .16s,border-color .16s}
.admin-page .admin-page-nav a svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-page .admin-page-nav a:hover{background:#f7f1e9;color:#4d4034}
.admin-page .admin-page-nav a.is-active{border-color:#ead4b5;background:#f4e8d6;color:#7e4238}
.admin-page .admin-main{max-width:1360px;margin:0 auto;padding-top:0}
.admin-page .admin-notice{margin-bottom:16px;padding:15px 18px;align-items:center;border:1px solid #e7dccb;border-radius:15px;background:#fffaf2}
.admin-page .admin-notice b{font-size:12px}
.admin-page .admin-notice span{font-size:10px;line-height:1.5}
.admin-page .admin-section,.admin-page .campaign-links,.admin-page .campaign-analytics,.admin-page .campaign-settings,.admin-page .admin-telegram-link,.admin-page .admin-users{border:1px solid #e5ddd2;border-radius:20px;background:#fffdf9;box-shadow:0 10px 30px #2a21110a}
.admin-page .admin-section h2,.admin-page .campaign-settings h2,.admin-page .campaign-links h2,.admin-page .campaign-analytics h2{font-size:clamp(28px,3.2vw,39px);letter-spacing:-.035em}
.admin-page .admin-booking{grid-template-columns:minmax(0,1fr) minmax(240px,290px);gap:18px;padding:19px 0}
.admin-page .admin-booking>div:first-child{min-width:0}
.admin-page .admin-booking small{color:#756c61;font-size:10px}
.admin-page .admin-booking h3{margin:7px 0;font-size:21px}
.admin-page .admin-booking p{margin:0 0 5px;color:#6d665d;font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.admin-page .admin-booking-phone{color:#6f493e;font-size:11px;font-weight:700}
.admin-page .status-chip{width:max-content;max-width:100%;padding:7px 10px;border-radius:30px;font-size:8px;letter-spacing:.04em}
.admin-page .admin-buttons button,.admin-page .availability-toggle,.admin-page .admin-export{min-height:43px;border-radius:11px;font-size:9px}
.admin-page .admin-head{gap:18px}
.admin-page .admin-count{color:#71685e;font-size:10px;font-weight:750}
.admin-page .availability-list{gap:9px}
.admin-page .availability-row{min-width:0;border:1px solid #e8e0d6;border-radius:13px;background:#fffaf4}
.admin-page .availability-row small{overflow-wrap:anywhere}
.admin-page .visit-admin{margin-bottom:16px!important}
.admin-page .customer-list>div{border-radius:12px;background:#fffaf4}
.admin-page .local-preview-note{margin:0 0 15px;padding:11px 14px;display:flex;align-items:center;gap:10px;border:1px solid #e7ce9e;border-radius:12px;background:#fff5df;color:#514332;font-size:10px;line-height:1.45}
.admin-page .local-preview-note b{flex:none;color:#8d4e2d}
.cabinet-page .local-preview-note{margin:0 0 14px;padding:11px 13px;display:grid;gap:3px;border:1px solid #e7ce9e;border-radius:12px;background:#fff5df;color:#65543c;font-size:10px;line-height:1.45}
.cabinet-page .local-preview-note b{color:#8d4e2d}
.local-preview-note[hidden]{display:none!important}
.admin-page[data-admin-view="senior"] #admin-app,.admin-page[data-admin-view="senior"] .campaign-analytics,.admin-page[data-admin-view="senior"] .campaign-links,.admin-page[data-admin-view="senior"] .campaign-settings,.admin-page[data-admin-view="senior"] .admin-telegram-link,.admin-page[data-admin-view="senior"] .admin-users,.admin-page[data-admin-view="senior"] .admin-logout{display:none!important}
.admin-page[data-admin-view="senior"] .admin-notice{display:none!important}
.admin-page[data-admin-view="senior"] .senior-schedule-admin{display:block!important;margin:0!important;padding:clamp(20px,3vw,34px)!important}
.admin-page .senior-admin-search{max-width:520px;display:grid;gap:6px;margin:17px 0 2px;color:#70685e;font-size:10px;font-weight:750}
.admin-page .senior-admin-search input{min-height:45px;padding:10px 13px;border:1px solid #ded4c7;border-radius:11px;background:#fff;color:#292622;font:500 12px var(--sans)}
.admin-page .senior-schedule-row{grid-template-columns:minmax(0,1fr) auto;background:#fffaf4}
.admin-page .senior-schedule-row small{font-size:9px}
.admin-page .senior-schedule-row b{font-size:12px}
.admin-page .senior-row-actions button{min-width:84px;min-height:40px;font-size:9px}
.admin-page .senior-row-actions button:first-child{border-color:#dfc9a9;background:#fff4e3}
.admin-page .senior-schedule-admin>p{font-size:11px}
.senior-home-promo{min-height:148px;margin-top:clamp(28px,5vw,62px);margin-bottom:clamp(28px,5vw,62px);padding:16px 22px;display:grid;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;gap:21px;border:1px solid #e5d6bd;border-radius:21px;background:radial-gradient(ellipse at 98% 5%,#f0d4a750,transparent 38%),#fffaf2;box-shadow:0 13px 38px #3926130a}
.senior-home-promo img{width:105px;height:85px;object-fit:contain;mix-blend-mode:multiply}
.senior-home-promo h2{margin:5px 0;font:500 clamp(22px,3vw,32px)/1.05 var(--serif)}
.senior-home-promo h2 em{color:var(--red);font-weight:500}
.senior-home-promo p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.senior-home-promo .pill{min-height:46px;white-space:nowrap}
@media(max-width:900px){
 .admin-page .admin-frame{width:calc(100% - 28px);padding-bottom:calc(152px + env(safe-area-inset-bottom))}
 .admin-page .admin-toolbar{position:relative;top:auto;min-height:67px;padding:9px 0}
 .admin-page .admin-brand{align-items:flex-start;flex-direction:column;gap:4px;font-size:12px}
 .admin-page .admin-brand small{font-size:7px;padding:4px 7px}
 .admin-page .admin-page-nav{position:fixed!important;top:auto!important;bottom:max(10px,env(safe-area-inset-bottom))!important;left:max(12px,env(safe-area-inset-left))!important;right:max(12px,env(safe-area-inset-right))!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;padding:8px!important;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(46px,auto);gap:5px!important;border:1px solid #e1d7c9!important;border-radius:17px!important;background:#fffdf5f5!important;box-shadow:0 12px 36px #20190f2b!important;backdrop-filter:blur(18px)}
 .admin-page .admin-page-nav a{min-height:44px!important;padding:5px 3px!important;display:flex;flex-direction:column;justify-content:center;gap:3px;border-radius:10px;font-size:9px!important;line-height:1.05;white-space:normal;overflow-wrap:anywhere;text-align:center}
 .admin-page .admin-page-nav a svg{width:16px;height:16px}
 .admin-page .admin-main{padding-top:8px}
 .admin-page .admin-notice{align-items:flex-start;padding:12px 14px}
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr);gap:12px}
 .admin-page .admin-booking-controls{grid-template-columns:minmax(0,1fr);justify-items:start}
 .admin-page .admin-booking .admin-buttons{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-page .admin-head-tools{justify-content:flex-start}
 .admin-page .analytics-chart{grid-template-columns:repeat(30,minmax(10px,1fr))}
 .senior-home-promo{grid-template-columns:78px minmax(0,1fr);gap:12px;padding:15px}
 .senior-home-promo img{width:76px;height:70px}
 .senior-home-promo .pill{grid-column:1/-1;justify-self:stretch;justify-content:center}
}
@media(max-width:600px){
 .admin-page .admin-frame{width:calc(100% - 20px);padding-bottom:calc(148px + env(safe-area-inset-bottom))}
 .admin-page .admin-toolbar{min-height:58px}
 .admin-page .admin-site-link{min-height:40px;padding-inline:12px;font-size:9px}
 .admin-page .admin-page-nav{left:10px!important;right:10px!important;padding:7px!important;grid-auto-rows:minmax(43px,auto);gap:3px!important}
 .admin-page .admin-page-nav a{min-height:42px!important;font-size:clamp(8px,2.5vw,10px)!important}
 .admin-page .admin-page-nav a svg{width:15px;height:15px}
 .admin-page .admin-section,.admin-page .campaign-links,.admin-page .campaign-analytics,.admin-page .campaign-settings,.admin-page .admin-telegram-link,.admin-page .admin-users{padding:17px 14px;border-radius:16px}
 .admin-page .admin-section h2,.admin-page .campaign-links h2,.admin-page .campaign-analytics h2,.admin-page .campaign-settings h2{font-size:29px}
 .admin-page .analytics-heading{display:grid}
 .admin-page .analytics-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-page .analytics-totals article{min-width:0;padding:11px 9px}
 .admin-page .analytics-totals small{font-size:7px;line-height:1.3}
 .admin-page .analytics-totals b{font-size:25px}
 .admin-page .campaign-link-row,.admin-page .senior-schedule-row{grid-template-columns:minmax(0,1fr);gap:10px}
 .admin-page .campaign-link-actions,.admin-page .senior-row-actions{grid-column:1;grid-row:auto;display:flex;flex-direction:row}
 .admin-page .campaign-link-actions button,.admin-page .senior-row-actions button{flex:1;min-height:43px}
 .admin-page .campaign-link-metrics{grid-column:1;justify-content:flex-start}
 .admin-page .senior-description{grid-column:1}
 .admin-page .senior-schedule-form{grid-template-columns:minmax(0,1fr)}
 .admin-page .senior-schedule-form>*{grid-column:1!important}
 .admin-page .local-preview-note{align-items:flex-start;flex-direction:column;gap:3px}
 .senior-home-promo{grid-template-columns:60px minmax(0,1fr);gap:10px;margin-block:24px;padding:13px;border-radius:16px}
 .senior-home-promo img{width:60px;height:61px}
 .senior-home-promo h2{font-size:22px}
 .senior-home-promo p{font-size:9px}
}

/* 2026-10 admin/mobile refinement */
.admin-toolbar-actions{display:flex;align-items:center;gap:10px}
.admin-menu-toggle{display:none;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #e5d9c9;border-radius:12px;background:#fffaf2;color:#5f4934;font:750 11px var(--sans);cursor:pointer}
.admin-menu-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.admin-support{display:none!important}
.admin-page[data-admin-view="support"] #admin-app,.admin-page[data-admin-view="support"] .campaign-analytics,.admin-page[data-admin-view="support"] .campaign-links,.admin-page[data-admin-view="support"] .campaign-settings,.admin-page[data-admin-view="support"] .senior-schedule-admin,.admin-page[data-admin-view="support"] .admin-telegram-link,.admin-page[data-admin-view="support"] .admin-users,.admin-page[data-admin-view="support"] .admin-logout{display:none!important}
.admin-page[data-admin-view="support"] .admin-support{display:block!important}
.admin-support-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:22px}
.admin-support-actions .pill{min-height:48px}
.admin-page .admin-booking .admin-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-page .admin-booking .admin-buttons button{min-width:0;width:100%;min-height:46px;white-space:normal;overflow-wrap:anywhere}
.booking-program-badge{display:inline-flex;width:max-content;max-width:100%;margin:7px 0;padding:5px 9px;border-radius:999px;background:#f4ebdc;color:#79603f;font:800 8px/1.25 var(--sans);letter-spacing:.045em}
.booking-program-badge.is-senior{background:#e9f2e6;color:#3d6846}
.cabinet-page .friend-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #eadac5;background:radial-gradient(ellipse at 100% 0,#efd5a477,transparent 48%),linear-gradient(140deg,#fffaf2,#f3e8d8);box-shadow:0 18px 45px #63431b13}
.cabinet-page .friend-card:after{content:"";position:absolute;z-index:-1;right:-45px;bottom:-80px;width:230px;height:230px;border:1px solid #c7965440;border-radius:50%;box-shadow:0 0 0 20px #c7965410,0 0 0 42px #c796540a}
.cabinet-page .friend-card .referral-url{display:block;width:100%;padding:12px;border:1px dashed #d5b995;border-radius:12px;background:#fffdf9;color:#5b4834;overflow-wrap:anywhere}
.cabinet-page .friend-card .copy-referral{min-height:44px;margin-top:12px;padding:0 16px;border:0;border-radius:11px;background:#713f36;color:#fff;font-weight:750}
.senior-day-tabs{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px!important;overflow:visible!important}
.senior-day-tabs .day-tab{min-width:0;white-space:nowrap}
@media(max-width:760px){
 .admin-menu-toggle{display:inline-flex}
 .admin-page .admin-page-nav{display:none!important;position:fixed!important;inset:calc(65px + env(safe-area-inset-top)) 12px auto!important;bottom:auto!important;left:12px!important;right:12px!important;width:auto!important;max-height:calc(100dvh - 90px - env(safe-area-inset-bottom));overflow:auto!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:auto!important;gap:8px!important;padding:12px!important;border:1px solid #e3d6c6!important;border-radius:18px!important;background:#fffdf8!important;box-shadow:0 22px 70px #24190d42!important;z-index:100!important}
 .admin-page.admin-menu-open .admin-page-nav{display:grid!important}
 .admin-page .admin-page-nav a{min-height:54px!important;flex-direction:row!important;justify-content:flex-start!important;gap:10px!important;padding:9px 12px!important;font-size:11px!important;text-align:left!important}
 .admin-page .admin-page-nav a svg{width:19px!important;height:19px!important}
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .admin-page .admin-booking-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;gap:9px!important}
 .admin-page .admin-booking .admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .admin-page .admin-booking .admin-buttons button{min-height:46px!important;padding:8px 9px!important;font-size:10px!important}
 .admin-page .admin-booking .admin-buttons{grid-template-columns:minmax(0,1fr)!important}
 .admin-page .admin-booking .admin-buttons button:not([hidden]){display:flex!important;visibility:visible!important;width:100%!important;min-height:48px!important;align-items:center;justify-content:center}
 .admin-page .booking-edit{grid-column:1;min-width:0}
 .senior-day-tabs{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;padding:0 0 8px!important}
 .senior-day-tabs .day-tab:first-child{grid-column:1/-1}
 .senior-day-tabs .day-tab{min-height:43px;padding:8px 4px;font-size:10px;white-space:normal}
}
@media(max-width:430px){
 .admin-page .admin-toolbar{gap:8px}
 .admin-menu-toggle{min-height:40px;padding:0 10px;font-size:10px}
 .admin-page .admin-site-link{padding-inline:10px;font-size:9px}
 .admin-page .admin-booking .admin-buttons button{min-height:48px;font-size:9px!important}
 .admin-page .admin-menu-open .admin-page-nav{inset-inline:9px!important}
 .admin-support-actions{align-items:stretch;flex-direction:column}
 .admin-support-actions>*{width:100%;justify-content:center}
}
@media(max-width:720px){.app-dock{grid-template-columns:repeat(4,minmax(0,1fr))}.app-dock a span,.app-dock .dock-book span{font-size:clamp(7px,1.9vw,8px)}}
@media(max-width:720px){.app-dock{grid-template-columns:repeat(4,minmax(0,1fr))}.app-dock a span,.app-dock .dock-book span{font-size:clamp(7px,1.9vw,8px)}}
/* A clearer, touch-safe confirmation slider for bookings and rewards */
.swipe-confirm{--swipe-progress:0;min-height:76px;padding:8px;border:1px solid #e7cdbd;border-radius:18px;background:linear-gradient(135deg,#fff8ef,#f6eadb);box-shadow:inset 0 1px 0 #fff,0 8px 24px #5a30220d}
.swipe-confirm:before{inset:7px auto 7px 7px;width:calc(66px + var(--swipe-x));right:auto;transform:none;border-radius:12px;background:linear-gradient(105deg,#a53f35,#d45a48 75%,#e78662);transition:width .06s linear,background .25s}
.swipe-confirm.is-animating:before{transition:width .3s cubic-bezier(.2,.8,.2,1),background .25s}
.swipe-confirm-label{padding:0 70px;color:#70594a;font-size:clamp(10px,2.7vw,12px);font-weight:800;letter-spacing:.015em;animation:none}
.swipe-confirm-thumb{left:8px;top:8px;width:58px;height:58px;border:2px solid #fffaf4;border-radius:13px;background:#fff;color:#9e3d34;box-shadow:0 5px 16px #4c271f38;transition:transform .06s linear,background .2s,color .2s,box-shadow .2s}
.swipe-confirm-thumb:focus-visible{outline:3px solid #244c55;outline-offset:3px}
.swipe-confirm-thumb .swipe-arrow{width:24px;height:24px;stroke-width:2.2;animation:swipe-arrow-nudge 1.2s ease-in-out infinite}
.swipe-confirm.is-success{border-color:#9bb79d;background:#edf5ed}
.swipe-confirm.is-success:before{background:linear-gradient(105deg,#39794c,#6fa578)}
.swipe-confirm.is-success .swipe-confirm-thumb{color:#39794c;box-shadow:0 5px 17px #39794c38}
.swipe-confirm.is-success .swipe-confirm-label{color:#315b39}
@media(max-width:720px){.swipe-confirm{min-height:72px}.swipe-confirm-thumb{width:54px;height:54px}.swipe-confirm-label{padding-inline:66px}}
@media(prefers-reduced-motion:reduce){.swipe-confirm-thumb .swipe-arrow{animation:none}}

/* High-contrast loyalty card with a real front/back QR interaction */
.cabinet-page .cabinet-main[data-view="card"] .loyalty-card{grid-template-columns:minmax(0,1fr) minmax(300px,.82fr);align-items:stretch;gap:22px;padding:22px;border:1px solid #ddcfb9;border-radius:26px;background:linear-gradient(145deg,#f4ecdd,#fffdf8 68%,#efe5d6);color:#2f2b27;box-shadow:0 22px 60px #37271716}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-details{min-width:0;align-content:center;grid-template-columns:minmax(0,1fr);gap:12px;padding:25px;border:1px solid #e6dccd;border-radius:20px;background:linear-gradient(145deg,#fffefa,#f8f2e8);color:#332d27;box-shadow:inset 0 1px #fff}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-details h2{color:#332d27;font-size:clamp(27px,3vw,36px)}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-details p,.cabinet-page .cabinet-main[data-view="card"] .loyalty-details small,.cabinet-page .cabinet-main[data-view="card"] .loyalty-details .loyalty-card-hint,.cabinet-page .cabinet-main[data-view="card"] .loyalty-details .loyalty-code{color:#5d554c}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-details .eyebrow{color:#9d473c}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-progress{height:10px;margin:10px 0;background:#e6ded2}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-card-flip{min-width:0;min-height:350px;perspective:1400px;cursor:pointer;outline:none}
.loyalty-flip-inner{position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.2,.75,.2,1)}
.loyalty-card-flip.is-flipped .loyalty-flip-inner{transform:rotateY(180deg)}
.loyalty-card-flip:focus-visible{border-radius:24px;outline:3px solid #bc684f;outline-offset:4px}
.membership-card.loyalty-card-front,.membership-card-back{position:absolute;inset:0;min-height:350px;padding:clamp(24px,3vw,38px);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border:1px solid #e8d09d80;border-radius:24px;background:radial-gradient(ellipse at 86% 4%,#e8bd7150,transparent 32%),radial-gradient(ellipse at 9% 105%,#42637375,transparent 42%),linear-gradient(116deg,#172e3a,#203b43 54%,#172b36);color:#fff9ee;box-shadow:0 20px 42px #16263035,inset 0 1px #ffffff35;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:none;transition:box-shadow .25s}
.membership-card.loyalty-card-front:after{display:block}
.membership-card-back{z-index:2;align-items:center;justify-content:center;gap:11px;transform:rotateY(180deg);background:radial-gradient(ellipse at 50% 0,#e8bd7138,transparent 38%),linear-gradient(140deg,#17323a,#294e50);text-align:center}
.membership-card-back .membership-brand{align-self:flex-start}
.membership-back-title{color:#f1cd91;font-size:9px;font-weight:850;letter-spacing:.18em}
.membership-card-back .loyalty-qr{width:clamp(128px,15vw,174px);height:clamp(128px,15vw,174px);padding:8px;border:0;border-radius:16px;background:white;box-shadow:0 14px 35px #07111465}
.membership-card-back code{padding:0;color:#fff;font-size:10px;letter-spacing:.13em}
.membership-card-back>small{color:#eee5d8;font-size:9px}
.membership-front-hint{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#f0d8b0;font-size:10px;font-weight:750}
.membership-front-hint b{width:36px;height:36px;display:grid;place-items:center;border:1px solid #ffffff50;border-radius:50%;font-size:21px;transition:transform .25s}
.loyalty-card-flip:hover .membership-front-hint b{transform:rotate(-45deg)}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-qr-help{display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:14px;margin-top:5px;padding:12px;border:1px solid #e4d8c4;border-radius:15px;background:#f5eee2}
.cabinet-page .loyalty-qr-help img{width:76px;height:76px;padding:5px;border:1px solid #e4ddd2;border-radius:9px;background:#fff}
.cabinet-page .loyalty-qr-help p{display:grid;gap:5px;margin:0}
.cabinet-page .loyalty-qr-help b{color:#44362c;font-size:10px}
.cabinet-page .loyalty-qr-help span{color:#655b51;font-size:9px;line-height:1.5}
.cabinet-page .cabinet-main[data-view="overview"]>.cabinet-quick-links{margin-top:23px}
/* Support ticket center in the cabinet */
.cabinet-support{margin-top:20px;padding:clamp(20px,4vw,34px);border:1px solid #e0d6c8;border-radius:23px;background:linear-gradient(145deg,#fffdf8,#f4ede1);box-shadow:0 16px 42px #3323150c}
.cabinet-support h2{margin:10px 0;font:500 clamp(30px,4vw,43px)/1.02 var(--serif);color:#332d27}
.cabinet-support h2 em{color:var(--red)}
.cabinet-support>p{max-width:600px;color:#655d54;font-size:11px;line-height:1.7}
.support-ticket-form{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:18px 0 24px}
.support-ticket-form label,.admin-support-ticket form label{display:grid;gap:7px;color:#4c4238;font-size:10px;font-weight:750}
.support-ticket-form select,.support-ticket-form textarea,.admin-support-ticket textarea{width:100%;min-height:46px;padding:12px;border:1px solid #dcd1c1;border-radius:12px;background:#fffefa;color:#322d28;font:500 12px/1.5 var(--sans)}
.support-ticket-form textarea,.admin-support-ticket textarea{resize:vertical}
.support-ticket-form button{justify-self:start;min-height:46px}
.support-ticket-status,.support-ticket-form>small{color:#6f665c;font-size:9px}
.support-ticket-list,.admin-support-ticket-list{display:grid;gap:12px}
.support-ticket,.admin-support-ticket{min-width:0;padding:16px;border:1px solid #e2d8ca;border-radius:16px;background:#fffefa;box-shadow:0 7px 20px #39281708}
.support-ticket>header,.admin-support-ticket>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.support-ticket>header>b{color:#352e28;font:500 18px/1.2 var(--serif)}
.support-ticket-state{flex:none;padding:6px 9px;border-radius:99px;background:#f5ecd8;color:#84613b;font-size:7px;font-weight:850;letter-spacing:.08em}
.support-ticket-state.is-closed,.admin-support-ticket.is-closed header .eyebrow{background:#e9efe7;color:#4c714b}
.support-ticket>small{display:block;margin:6px 0 12px;color:#83796d;font-size:8px}
.support-ticket-messages{display:grid;gap:8px;margin-top:12px}
.support-ticket-message{max-width:92%;padding:10px 12px;border:1px solid #e7dfd4;border-radius:12px 12px 12px 3px;background:#f7f3ed}
.support-ticket-message.from-support{justify-self:end;border-color:#ead3c8;border-radius:12px 12px 3px 12px;background:#fff0e8}
.support-ticket-message small{color:#796c5e;font-size:8px;font-weight:800}
.support-ticket-message p{margin:4px 0 0;color:#423b34;font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.support-ticket-empty,.admin-support-ticket-list>.admin-management-empty{margin:0;padding:16px;border:1px dashed #d9cbbb;border-radius:14px;color:#6f665c;font-size:10px;line-height:1.6}
.admin-support-inbox{display:none!important}
.admin-page[data-admin-view="support"] .admin-support-inbox{display:block!important}
.admin-support-ticket h3{margin:7px 0 4px;font:500 22px/1.1 var(--serif)}
.admin-support-ticket header p{margin:0;color:#72685e;font-size:9px}
.admin-support-ticket header button{flex:none;min-height:42px;padding:0 12px;border:1px solid #ded4c7;border-radius:11px;background:#fff;color:#5b4c3d;font-size:9px;font-weight:750}
.admin-support-ticket form{display:grid;gap:9px;margin-top:14px}
.admin-support-ticket form .pill{justify-self:start;min-height:42px}
.admin-support-ticket form [role=status]{color:#765f4b;font-size:9px}
/* Admin booking controls: fixed, non-overlapping action rows on narrow screens */
.admin-page .admin-booking .admin-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.admin-page .admin-booking .admin-buttons [hidden]{display:none!important}
.admin-page .admin-booking .admin-buttons .admin-action-delete{grid-column:1/-1}
.admin-page .admin-booking .admin-buttons button:not([hidden]){display:flex;min-width:0;width:100%;min-height:46px;align-items:center;justify-content:center;white-space:normal;overflow-wrap:anywhere}
.admin-page .admin-booking .admin-buttons .admin-action-confirm{background:#f3e7ce;border-color:#dfc28f;color:#513e2b}
@media(max-width:760px){
 .cabinet-page .cabinet-page-nav{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;overscroll-behavior-inline:contain}
 .cabinet-page .cabinet-page-nav::-webkit-scrollbar{display:none}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px;border-radius:20px}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-card-flip{min-height:300px}
 .membership-card.loyalty-card-front,.membership-card-back{min-height:300px;padding:20px;border-radius:18px}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-details{grid-template-columns:minmax(0,1fr);padding:19px;border-radius:17px}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-details h2{font-size:29px}
 .cabinet-page .loyalty-qr-help{grid-template-columns:68px minmax(0,1fr);gap:11px;padding:10px}
 .cabinet-page .loyalty-qr-help img{width:68px;height:68px}
 .cabinet-page .cabinet-main[data-view="overview"]>.cabinet-quick-links{margin-top:21px}
 .admin-page .admin-booking .admin-buttons{grid-template-columns:minmax(0,1fr)!important;gap:8px!important}
 .admin-page .admin-booking .admin-buttons .admin-action-delete{grid-column:1}
 .admin-page .admin-booking .admin-buttons button:not([hidden]){min-height:48px!important;padding:9px 12px!important;font-size:10px!important}
}
@media(max-width:390px){
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-card-flip{min-height:276px}
 .membership-card.loyalty-card-front,.membership-card-back{min-height:276px;padding:17px}
 .cabinet-page .cabinet-support{padding:18px 14px}
 .support-ticket,.admin-support-ticket{padding:13px}
 .support-ticket-message{max-width:100%}
}
.admin-page[data-admin-view="settings"] .senior-schedule-admin{display:none!important}
/* Native range-based slide-to-confirm: operable by touch, mouse, keyboard, and screen readers */
.cabinet-main[data-view="support"]>[data-cabinet-section]:not([data-cabinet-section="support"]){display:none!important}
.cabinet-main[data-view="support"]{display:block!important}
.swipe-confirm-thumb[type="range"]{position:absolute;z-index:4;inset:0;width:100%;height:100%;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:0;border-radius:inherit;background:transparent;transform:none;touch-action:pan-y;cursor:grab}
.swipe-confirm-thumb[type="range"]:active{cursor:grabbing}
.swipe-confirm-thumb[type="range"]::-webkit-slider-runnable-track{height:100%;background:transparent;border:0}
.swipe-confirm-thumb[type="range"]::-moz-range-track{height:100%;background:transparent;border:0}
.swipe-confirm-thumb[type="range"]::-webkit-slider-thumb{width:58px;height:58px;margin-top:6px;appearance:none;-webkit-appearance:none;border:2px solid #fffaf4;border-radius:14px;background:#9e3d34 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 5 7 7-7 7M12 5l7 7-7 7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/23px 23px no-repeat;box-shadow:0 5px 16px #4c271f45}
.swipe-confirm-thumb[type="range"]::-moz-range-thumb{width:54px;height:54px;border:2px solid #fffaf4;border-radius:14px;background:#9e3d34 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 5 7 7-7 7M12 5l7 7-7 7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/23px 23px no-repeat;box-shadow:0 5px 16px #4c271f45}
.swipe-confirm-thumb[type="range"]:focus-visible{outline:3px solid #244c55;outline-offset:3px;border-radius:16px}
.swipe-confirm.is-success .swipe-confirm-thumb[type="range"]::-webkit-slider-thumb{background-color:#39794c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 12 5 5L20 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.swipe-confirm.is-success .swipe-confirm-thumb[type="range"]::-moz-range-thumb{background-color:#39794c;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m4 12 5 5L20 6' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
@media(max-width:720px){.swipe-confirm-thumb[type="range"]::-webkit-slider-thumb{width:54px;height:54px;margin-top:8px}.swipe-confirm-thumb[type="range"]::-moz-range-thumb{width:50px;height:50px}}

@media(max-width:760px){.cabinet-page .cabinet-page-nav{grid-template-columns:repeat(4,minmax(0,1fr))!important}.cabinet-page .cabinet-page-nav a{min-width:0;padding-inline:2px!important;flex-direction:column;gap:3px!important;font-size:clamp(7px,1.85vw,8px)!important;white-space:nowrap}.cabinet-page .cabinet-page-nav svg{width:17px;height:17px}}
.cabinet-page .cabinet-main[data-view="card"] .loyalty-details p{font-size:12px;line-height:1.7}.cabinet-page .cabinet-main[data-view="card"] .loyalty-details small{font-size:10px;line-height:1.65}
.admin-page .admin-primary-action{min-width:0;width:100%}
.admin-page .admin-primary-action .admin-action-confirm{width:100%;min-height:47px;padding:10px 14px;border:1px solid #d9bd8c;border-radius:12px;background:linear-gradient(120deg,#f5e8cd,#fff8ec);color:#513e2b;font-size:10px;font-weight:800;white-space:normal;overflow-wrap:anywhere}
.admin-page .admin-primary-action .admin-action-confirm:disabled{opacity:.58}
.admin-page .admin-booking .admin-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-page .admin-booking .admin-buttons .admin-action-delete{grid-column:auto}
@media(max-width:760px){.admin-page .admin-booking-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;justify-items:stretch!important;gap:9px!important}.admin-page .admin-primary-action{grid-column:1}.admin-page .admin-booking .admin-buttons{grid-column:1;grid-template-columns:repeat(2,minmax(0,1fr))!important}.admin-page .admin-booking .admin-buttons .admin-action-delete{grid-column:auto}.admin-page .admin-booking .admin-primary-action .admin-action-confirm{min-height:49px!important;font-size:11px!important}}

/* Final mobile alignment: keep the week filter inside its card and center the swipe handle. */
@media(max-width:760px){
 .senior-day-tabs{width:100%!important;min-width:0!important;box-sizing:border-box!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important;padding:0 0 8px!important;margin:0!important;overflow:visible!important;align-items:stretch!important}
 .senior-day-tabs .day-tab{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;justify-content:center!important;white-space:normal!important;overflow-wrap:anywhere!important}
 .senior-day-tabs .day-tab:first-child{grid-column:1/-1!important}
 .cabinet-page .cabinet-page-nav{inset:auto 9px max(8px,env(safe-area-inset-bottom)) 9px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;min-height:64px!important;box-sizing:border-box!important;align-items:stretch!important}
 .cabinet-page .cabinet-page-nav a{width:100%;height:100%;box-sizing:border-box!important;justify-content:center!important;overflow:hidden!important}
}
.support-ticket-form[hidden]{display:none!important}
.support-ticket-reply{display:grid;gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid #eee4d7}
.support-ticket-reply label{display:grid;gap:7px;color:#4c4238;font-size:10px;font-weight:750}
.support-ticket-reply textarea{width:100%;min-height:76px;padding:12px;border:1px solid #dcd1c1;border-radius:12px;background:#fffefa;color:#322d28;font:500 12px/1.5 var(--sans);resize:vertical}
.support-ticket-reply button{justify-self:start;min-height:44px}
.support-ticket-reply [role=status]{color:#6f665c;font-size:9px}
.swipe-confirm{height:76px;min-height:76px;box-sizing:border-box;padding:0;overflow:hidden}
.swipe-confirm:before{left:7px;inset-block:7px;width:calc(58px + var(--swipe-x));border-radius:12px}
.swipe-confirm-thumb[type="range"]{inset:0 8px 0 8px;width:auto;height:100%;box-sizing:border-box}
.swipe-confirm-thumb[type="range"]::-webkit-slider-runnable-track{height:100%}
.swipe-confirm-thumb[type="range"]::-webkit-slider-thumb{width:58px;height:58px;margin:0}
.swipe-confirm-thumb[type="range"]::-moz-range-track{height:100%}
.swipe-confirm-thumb[type="range"]::-moz-range-thumb{width:54px;height:54px}
@media(max-width:720px){.swipe-confirm{height:76px;min-height:76px}.swipe-confirm-thumb[type="range"]::-webkit-slider-thumb{width:58px;height:58px;margin:0}.swipe-confirm-thumb[type="range"]::-moz-range-thumb{width:54px;height:54px}}
.support-ticket-waiting{margin:14px 0;padding:13px 14px;border:1px solid #ead9bd;border-radius:12px;background:#fff8e9;color:#705633;font-size:10px;line-height:1.55}
.support-ticket-waiting[hidden]{display:none!important}

.admin-runtime-error{margin:0 0 14px;padding:12px 14px;border:1px solid #e6a09a;border-radius:12px;background:#fff1ef;color:#8c2921;font:600 12px/1.5 var(--sans)}
.analytics-status{display:block;min-height:1.4em;color:var(--muted);font-size:11px}

/* Clear, elegant card action and reward selection */
.cabinet-page .membership-front-hint{justify-content:flex-start;gap:12px;color:#f6e4c4;font-size:11px;letter-spacing:.02em}
.cabinet-page .membership-front-hint b{width:auto;height:30px;min-width:42px;padding:0 9px;border-color:#f0d8b078;border-radius:999px;color:#f4d59e;font-size:9px;letter-spacing:.16em}
.cabinet-page .loyalty-card-flip:hover .membership-front-hint b{transform:translateY(-2px);background:#ffffff12}
.gift-redeem-dialog .gift-reward-choice{display:grid;gap:8px;margin:20px 0 16px;color:#4a3e32;font-size:12px;font-weight:700}
.gift-redeem-dialog .gift-reward-choice select{width:100%;min-height:48px;padding:10px 13px;border:1px solid #ded2c2;border-radius:12px;background:#fffdf9;color:#2f2a25;font:500 13px var(--sans)}
@media(prefers-reduced-motion:reduce){.loyalty-flip-inner{transition-duration:.01ms!important}}

/* Winter Edition: a restrained frosted palette with a lightweight snow layer. */
 :is(html,body)[data-season="winter"]{--paper:#edf5f8;--paper-2:#fbfdff;--ink:#19313d;--muted:#607682;--line:#1b455324;--red:#327b91;--red-dark:#245c73;--peach:#b9dfea;--gold:#c99d62;--glass:#fbfdffcf;--shadow:0 18px 52px #173b4a16;background:radial-gradient(ellipse at 12% 0%,#cfe7f1 0,transparent 35%),linear-gradient(180deg,#edf6fa,#f8fbfc 48%,#eaf3f6);color:var(--ink)}
 :is(html,body)[data-season="winter"] .topbar, :is(html,body)[data-season="winter"] .cabinet-toolbar, :is(html,body)[data-season="winter"] .admin-toolbar{background:#f7fcfde8;border-color:#8caeba55;backdrop-filter:blur(18px)}
 :is(html,body)[data-season="winter"] .glass, :is(html,body)[data-season="winter"] .tile, :is(html,body)[data-season="winter"] .schedule-card, :is(html,body)[data-season="winter"] .price-card, :is(html,body)[data-season="winter"] .review-card, :is(html,body)[data-season="winter"] .info-card, :is(html,body)[data-season="winter"] .cabinet-greeting, :is(html,body)[data-season="winter"] .cabinet-card, :is(html,body)[data-season="winter"] .admin-section, :is(html,body)[data-season="winter"] .admin-users, :is(html,body)[data-season="winter"] .campaign-settings, :is(html,body)[data-season="winter"] .campaign-links, :is(html,body)[data-season="winter"] .campaign-analytics{border-color:#9abac54d;box-shadow:0 14px 38px #1a45500c, inset 0 1px #ffffffb8}
 :is(html,body)[data-season="winter"] .pill, :is(html,body)[data-season="winter"] .dock-book{background:linear-gradient(135deg,#327b91,#245a72);box-shadow:0 9px 22px #28647830;color:#fff}
 :is(html,body)[data-season="winter"] .visit-band{background:linear-gradient(115deg,#163946,#235c6e 64%,#4c8796);color:#f4fcff}
 :is(html,body)[data-season="winter"] .visit-band .eyebrow, :is(html,body)[data-season="winter"] .visit-band p{color:#d3eaf0}
 :is(html,body)[data-season="winter"] .winter-snow{position:fixed;inset:-20vh 0 0;z-index:80;pointer-events:none;opacity:.48;background-image:radial-gradient(2px 2px at 20px 30px,#fff 98%,transparent),radial-gradient(2px 2px at 80px 120px,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 160px 70px,#fff 98%,transparent),radial-gradient(2px 2px at 240px 180px,#fff 98%,transparent);background-size:280px 260px;animation:winter-fall 24s linear infinite}
@keyframes winter-fall{to{transform:translate3d(18px,260px,0)}}
@media(prefers-reduced-motion:reduce){ :is(html,body)[data-season="winter"] .winter-snow{animation:none;opacity:.2}}

/* Registration completion and Telegram admin login work cleanly on narrow screens. */
.registration-complete{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:center;gap:24px}
.registration-profile-form{display:grid;gap:12px;min-width:0}
.registration-profile-form label{display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:700}
.registration-profile-form input{width:100%;min-height:48px;padding:0 13px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);color:var(--ink);font:500 14px var(--sans)}
.registration-profile-status,.admin-telegram-login-status{min-height:18px;color:var(--muted);font-size:10px;line-height:1.5}
.registration-profile-form .pill{justify-self:start;min-height:46px}
.admin-login-divider{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--muted);font-size:9px}
.admin-login-divider:before,.admin-login-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.admin-telegram-login-button{width:100%;justify-content:center;min-height:48px}
.admin-login-bot-link{display:block;margin:11px 0;color:var(--red);font-size:11px;font-weight:750;text-align:center;text-decoration:underline;text-underline-offset:3px}
.admin-login-bot-link[hidden]{display:none}
@media(max-width:680px){.registration-complete{grid-template-columns:minmax(0,1fr);gap:15px}.registration-profile-form .pill{width:100%}}

/* Refined thumb navigation: clear active state, safe-area spacing, no compressed labels. */
@media(max-width:720px){
 .app-dock{width:min(480px,calc(100% - 24px));min-height:66px;padding:7px 9px calc(7px + env(safe-area-inset-bottom));border:1px solid #ffffffcf;border-radius:21px;background:color-mix(in srgb,var(--paper-2) 92%,transparent);box-shadow:0 12px 34px #172c3823;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .app-dock a{min-width:0;flex:1;min-height:48px;align-content:center;gap:4px;border-radius:14px;color:var(--muted);font-weight:750}
 .app-dock a svg,.cabinet-page-nav svg,.admin-page-nav svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 .app-dock a span,.app-dock .dock-book span{font-size:clamp(8px,2vw,10px);line-height:1.1;white-space:nowrap}
 .app-dock a.dock-book{min-height:49px;padding:5px 7px;border-radius:15px}
 .cabinet-page .cabinet-page-nav{left:12px!important;right:12px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;min-height:72px!important;padding:7px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;border-radius:22px!important;background:color-mix(in srgb,var(--paper-2) 94%,transparent)!important;box-shadow:0 12px 34px #172c3825!important;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 .cabinet-page .cabinet-page-nav a{min-width:0!important;min-height:56px!important;padding:5px 2px!important;gap:4px!important;border-radius:15px!important;color:var(--muted);font-size:clamp(8px,2vw,10px)!important;font-weight:750;line-height:1.1;white-space:normal!important;overflow-wrap:normal!important}
 .cabinet-page .cabinet-page-nav a.is-active{background:#327b9115!important;color:var(--red)!important}
 .admin-page .admin-page-nav{max-width:100%;padding:6px;gap:4px;border-radius:18px;background:var(--paper-2);box-shadow:0 8px 24px #172c3810}
 .admin-page .admin-page-nav a{min-height:43px;padding-inline:11px;border-radius:13px;font-size:9px}
}
@media(max-width:390px){.app-dock{width:calc(100% - 16px);padding-inline:5px}.app-dock a span,.app-dock .dock-book span{font-size:7px}.cabinet-page .cabinet-page-nav{left:8px!important;right:8px!important;min-height:66px!important}.cabinet-page .cabinet-page-nav a{font-size:7px!important}}
 :is(html,body)[data-season="winter"] .app-dock, :is(html,body)[data-season="winter"] .cabinet-page-nav{border-color:#d4ebf2!important;background:#f7fcf2eF!important}
 :is(html,body)[data-season="winter"] .app-dock a.is-active, :is(html,body)[data-season="winter"] .cabinet-page-nav a.is-active{background:#dceef4!important;color:#245c73!important}
.admin-page[data-admin-view="settings"] .season-theme-panel:not([hidden]){display:block!important;margin:0 0 16px;padding:clamp(18px,3vw,30px)}
 :is(html,body)[data-season="winter"] .glass, :is(html,body)[data-season="winter"] .admin-section, :is(html,body)[data-season="winter"] .campaign-settings, :is(html,body)[data-season="winter"] .campaign-links, :is(html,body)[data-season="winter"] .campaign-analytics{background:linear-gradient(145deg,#ffffffd9,#e9f4f8bd);backdrop-filter:blur(12px)}
 :is(html,body)[data-season="winter"] .hero-art:after{border-color:#e6f8ff88;box-shadow:0 18px 70px #74acc02b}
 :is(html,body)[data-season="winter"] .welcome-card, :is(html,body)[data-season="winter"] .booking-picker, :is(html,body)[data-season="winter"] .membership-card{background-color:#f7fcff}
 :is(html,body)[data-season="winter"] .hero h1 em, :is(html,body)[data-season="winter"] .section h2 em, :is(html,body)[data-season="winter"] .page-hero h1 em{color:#327b91}
 :is(html,body)[data-season="winter"] .app-dock a.is-active{color:#245c73}
.admin-page[data-admin-role="helper"] .admin-booking-controls,.admin-page[data-admin-role="helper"] [data-booking-edit],.admin-page[data-admin-role="helper"] [data-schedule-edit],.admin-page[data-admin-role="helper"] [data-schedule-delete]{display:none!important}
.admin-page [data-admin-link][hidden]{display:none!important}

/* Cherry winter administration: fir green, cranberry accents, soft snowfall. */
body.admin-page{--paper:#f3f5ef;--paper-2:#fffefa;--ink:#193b33;--muted:#687c70;--line:#254c3a22;--red:#a83e43;--red-dark:#79313a;--gold:#c5a265;--glass:#fffefaee;background:radial-gradient(ellipse at 8% 0%,#dcebdd 0,transparent 33%),radial-gradient(ellipse at 94% 17%,#f3e9d5 0,transparent 31%),linear-gradient(180deg,#f1f5ef,#f8f6ee 52%,#edf3ed);color:var(--ink)}
.admin-page:before{position:fixed;inset:-12vh 0 0;z-index:0;pointer-events:none;content:"";opacity:.45;background-image:radial-gradient(2px 2px at 24px 35px,#fff 98%,transparent),radial-gradient(2px 2px at 115px 155px,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 205px 75px,#b9d2c2 98%,transparent),radial-gradient(2px 2px at 290px 220px,#fff 98%,transparent);background-size:330px 280px;animation:admin-snow-drift 30s linear infinite}
@keyframes admin-snow-drift{to{transform:translate3d(12px,280px,0)}}
.admin-frame{position:relative;z-index:1}
.admin-page .admin-toolbar{border-color:#315c4624;background:#fbfcf7dc;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.admin-page .admin-brand{color:#234a3a}.admin-page .admin-brand small{color:#7d8c7a}
.admin-page .admin-site-link,.admin-page .admin-menu-toggle{min-height:42px;padding:0 15px;border:1px solid #355f4a27;border-radius:14px;background:linear-gradient(145deg,#fffefa,#edf4eb);color:#315c47;font-size:10px;font-weight:800;box-shadow:0 5px 14px #234a3a0b;transition:transform .2s,box-shadow .2s,border-color .2s}
.admin-page .admin-menu-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.admin-page .admin-site-link:hover,.admin-page .admin-menu-toggle:hover{transform:translateY(-2px);border-color:#a9bf9e;box-shadow:0 9px 18px #234a3a16}
.admin-page .admin-page-nav{padding:6px;border:1px solid #345d4521;border-radius:18px;background:#fffdf8d9;box-shadow:0 9px 27px #294c3510;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.admin-page .admin-page-nav a{min-height:42px;padding:0 14px;border:1px solid transparent;border-radius:13px;color:#6b7c70;font-size:9px;font-weight:800;transition:background .2s,color .2s,transform .2s}
.admin-page .admin-page-nav a:hover{transform:translateY(-1px);background:#edf3e9;color:#315c47}
.admin-page .admin-page-nav a.is-active{border-color:#d6e3d2;background:linear-gradient(145deg,#e8f0e4,#f7f8ef);color:#285442;box-shadow:inset 0 1px #fff}
.admin-page .admin-page-nav svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-winter-hero{position:relative;isolation:isolate;min-height:230px;margin:5px 0 18px;padding:31px clamp(22px,4vw,46px);overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.72fr);align-items:center;gap:18px;border:1px solid #fff8;border-radius:27px;background:radial-gradient(ellipse at 86% 18%,#b7d1ac42,transparent 31%),radial-gradient(ellipse at 20% 120%,#cf9c5050,transparent 45%),linear-gradient(120deg,#173e34,#215440 56%,#2a654c);color:#f7f7ec;box-shadow:0 22px 55px #153f3030,inset 0 1px #ffffff40;animation:admin-banner-in .65s cubic-bezier(.2,.75,.25,1) both}
.admin-winter-hero:before{position:absolute;z-index:-1;inset:0;content:"";opacity:.2;background:repeating-linear-gradient(135deg,transparent 0 22px,#e6eee31a 23px 24px,transparent 25px 46px);mask-image:linear-gradient(90deg,transparent,black 65%)}
.admin-winter-copy{position:relative;z-index:2}.admin-winter-kicker{display:flex;align-items:center;gap:9px;color:#d6e5ca;font-size:8px;font-weight:850;letter-spacing:.18em}.admin-winter-kicker b{width:7px;height:7px;border-radius:50%;background:#d8b569;box-shadow:0 0 0 5px #d8b56920,0 0 17px #e9cc88;animation:admin-lantern 2.7s ease-in-out infinite}
.admin-winter-copy h1{margin:14px 0 9px;color:#fffdf2;font:500 clamp(34px,5vw,54px)/.98 var(--serif);letter-spacing:-.04em}.admin-winter-copy h1 em{color:#e0c180;font-style:italic}.admin-winter-copy p{max-width:450px;margin:0;color:#d4e3d8;font-size:11px;line-height:1.7}
.admin-winter-emblem{position:absolute;right:29%;top:24px;width:144px;height:174px;display:grid;place-items:center;opacity:.88;filter:drop-shadow(0 11px 14px #0c2e2345);animation:admin-tree-breathe 5s ease-in-out infinite}
.admin-winter-emblem svg{width:96px;height:120px;fill:#d2b36e;stroke:#f1dcaa;stroke-width:1.5;stroke-linejoin:round}.admin-winter-emblem i{position:absolute;width:5px;height:5px;border-radius:50%;background:#ffefd0;box-shadow:0 0 12px 5px #f0d89166}.admin-winter-emblem i:nth-of-type(1){top:42px;left:70px}.admin-winter-emblem i:nth-of-type(2){top:78px;right:52px;background:#e2a99a}.admin-winter-emblem i:nth-of-type(3){bottom:38px;left:51px;background:#eff4e8}
.admin-winter-shortcuts{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-self:end;margin-bottom:4px}
.admin-winter-shortcuts a{min-width:0;min-height:66px;padding:10px 11px;display:grid;grid-template-columns:1fr auto;align-content:space-between;gap:5px;border:1px solid #ffffff35;border-radius:15px;background:linear-gradient(145deg,#ffffff19,#ffffff0b);color:#fbfff6;box-shadow:inset 0 1px #ffffff24;transition:transform .2s,border-color .2s,background .2s}
.admin-winter-shortcuts a:hover{transform:translateY(-3px);border-color:#f0d89c99;background:#ffffff24}.admin-winter-shortcuts a span{grid-column:1/-1;color:#d9c58e;font-size:7px;font-weight:850;letter-spacing:.13em}.admin-winter-shortcuts a b{font-size:9px}.admin-winter-shortcuts a i{justify-self:end;color:#e8d49f;font-size:13px;font-style:normal}
.admin-winter-spark{position:absolute;color:#f4e2b1;pointer-events:none}.admin-winter-spark-one{top:24px;right:13%;font-size:22px;animation:admin-sparkle 4s ease-in-out infinite}.admin-winter-spark-two{top:54%;right:6%;color:#deefde;font-size:17px;animation:admin-sparkle 3s ease-in-out infinite reverse}
.admin-page .admin-notice{padding:15px 19px;border:1px solid #6e917122;border-radius:17px;background:linear-gradient(110deg,#fffefa,#f3f7ef);box-shadow:0 8px 24px #2447320a}
.admin-page .admin-notice b{color:#315c47}.admin-page .admin-notice span{color:#788579}
.admin-page .local-preview-note{border-color:#d8c086;background:#fff9e7;color:#725b2b}
.admin-page .admin-section,.admin-page .campaign-analytics,.admin-page .campaign-links,.admin-page .campaign-settings,.admin-page .admin-telegram-link,.admin-page .admin-users{border:1px solid #42664c20;border-radius:22px;background:radial-gradient(ellipse at 100% 0%,#f2f5e980,transparent 34%),linear-gradient(150deg,#fffefa,#f9faf4);box-shadow:0 14px 35px #2445320d,inset 0 1px #fff;animation:admin-card-in .48s both}
.admin-page .admin-section h2,.admin-page .campaign-settings h2,.admin-page .campaign-links h2,.admin-page .campaign-analytics h2,.admin-page .admin-users h2{color:#193b33;letter-spacing:-.04em}
.admin-page .admin-section h2 em,.admin-page .campaign-settings h2 em,.admin-page .campaign-links h2 em,.admin-page .campaign-analytics h2 em,.admin-page .admin-users h2 em{color:#a84648}
.admin-page .admin-booking,.admin-page .availability-row,.admin-page .schedule-edit-row,.admin-page .senior-schedule-row,.admin-page .customer-card,.admin-page .admin-support-ticket,.admin-page .campaign-link-row,.admin-page .gift-promo-row{border-color:#375d4420;border-radius:17px;background:linear-gradient(145deg,#fffefa,#f5f7f0);box-shadow:0 7px 18px #2545320a;transition:transform .2s,box-shadow .2s,border-color .2s}
.admin-page .admin-booking:hover,.admin-page .availability-row:hover,.admin-page .schedule-edit-row:hover,.admin-page .customer-card:hover,.admin-page .admin-support-ticket:hover{transform:translateY(-2px);border-color:#9bb798;box-shadow:0 12px 25px #25453213}
.admin-page .admin-booking h3,.admin-page .availability-row b{color:#244b3a}.admin-page .status-chip{border-radius:999px;background:#f5ecd5;color:#846339}.admin-page .status-chip.is-confirmed{background:#e3f0e3;color:#39704b}.admin-page .status-chip.is-rejected,.admin-page .status-chip.is-cancelled{background:#f8e7e3;color:#9b4a46}
.admin-page button:not(.swipe-confirm-thumb){position:relative;min-height:40px;padding:8px 14px;border:1px solid #28544230;border-radius:12px;background:linear-gradient(135deg,#315e49,#214b3b);color:#fffdf4;font:750 10px/1.2 var(--sans);box-shadow:0 6px 14px #214b3b20,inset 0 1px #ffffff26;cursor:pointer;transition:transform .18s,box-shadow .18s,filter .18s,border-color .18s}
.admin-page button:not(.swipe-confirm-thumb):hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.07);box-shadow:0 10px 20px #214b3b29,inset 0 1px #ffffff40}
.admin-page button:not(.swipe-confirm-thumb):active:not(:disabled){transform:translateY(0) scale(.985)}
.admin-page button:not(.swipe-confirm-thumb):focus-visible,.admin-page a:focus-visible{outline:3px solid #d7b86f;outline-offset:3px}
.admin-page button:not(.swipe-confirm-thumb):disabled{opacity:.48;cursor:not-allowed;filter:saturate(.5);box-shadow:none}
.admin-page button.pill,.admin-page .pill{min-height:45px;padding:0 19px;border:1px solid #dac58b;background:linear-gradient(135deg,#d7bd7d,#b8924e);color:#263e31;font-weight:850;box-shadow:0 8px 18px #9b793230,inset 0 1px #fff9}
.admin-page button.pill:hover:not(:disabled),.admin-page .pill:hover{filter:brightness(1.05);box-shadow:0 12px 23px #9b793246,inset 0 1px #fff}
.admin-page .admin-action-confirm,.admin-page .admin-primary-action .admin-action-confirm{border-color:#d7bd7c;background:linear-gradient(130deg,#e5cc8c,#c4a55f);color:#35472e;box-shadow:0 7px 16px #a0854226,inset 0 1px #fff9}
.admin-page .admin-action-reject,.admin-page [data-request-decision="deny"],.admin-page .admin-action-delete,.admin-page .admin-remove-user,.admin-page [data-remove-class],.admin-page [data-schedule-delete]{border-color:#ba666155;background:linear-gradient(135deg,#b9504f,#913b44);color:white;box-shadow:0 6px 14px #92394120}
.admin-page [data-request-decision="approve"]{border-color:#2e75543d;background:linear-gradient(135deg,#3f805e,#2c6149)}
.admin-page .availability-toggle{min-width:145px;border:1px solid #83a77e;background:linear-gradient(135deg,#e7f2e3,#d5e7d1);color:#386545;box-shadow:0 5px 12px #345a3914}
.admin-page .availability-toggle.is-closed{border-color:#d6b0a4;background:linear-gradient(135deg,#f8e9e2,#eed6cc);color:#98504a}
.admin-page input:not([type=checkbox]):not([type=radio]):not([type=range]),.admin-page select,.admin-page textarea{border-color:#718c702c;border-radius:12px;background:#fffefa;color:#274438;box-shadow:inset 0 1px 2px #1d49320a;transition:border-color .2s,box-shadow .2s}
.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{outline:0;border-color:#668f6b;box-shadow:0 0 0 4px #88a98228}
.admin-page .admin-users-columns>section,.admin-page .gift-promo-manager{border-color:#45684a1d;border-radius:17px;background:#f8f9f3}
.admin-page .admin-count{border:1px solid #dbc991;border-radius:999px;background:#f5efdd;color:#725f36;padding:9px 13px}
.admin-page .admin-logout button{border-color:#45684a26;background:#fffefa;color:#526b59;box-shadow:none}
.admin-page .admin-runtime-error{border-color:#c7736f;background:#fff1ed;color:#8f3538}
.admin-page .admin-support-ticket-message,.admin-page .support-ticket-message{border-radius:14px;background:#eff4ec}
.admin-page .admin-support-ticket-message.from-support,.admin-page .support-ticket-message.from-support{border-color:#ead7ac;background:#fbf4df}
@keyframes admin-banner-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes admin-card-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes admin-lantern{50%{opacity:.65;box-shadow:0 0 0 7px #d8b56918,0 0 23px #e9cc88}}
@keyframes admin-tree-breathe{50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes admin-sparkle{50%{opacity:.35;transform:scale(.75) rotate(24deg)}}
@media(max-width:760px){
 .admin-winter-hero{min-height:0;margin:3px 0 14px;padding:23px 18px 15px;grid-template-columns:minmax(0,1fr);gap:16px;border-radius:22px}
 .admin-winter-copy{max-width:75%}.admin-winter-copy h1{font-size:clamp(35px,10vw,49px)}.admin-winter-copy p{font-size:10px}
 .admin-winter-emblem{top:8px;right:5px;width:105px;height:132px;opacity:.66}.admin-winter-emblem svg{width:77px;height:98px}
 .admin-winter-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0}.admin-winter-shortcuts a{min-height:57px;padding:8px;border-radius:13px}.admin-winter-shortcuts a b{font-size:8px}.admin-winter-shortcuts a i{font-size:11px}
 .admin-winter-spark-one{top:14px;right:34%;font-size:15px}.admin-winter-spark-two{top:45%;right:9%;font-size:13px}
 .admin-page .admin-page-nav{padding:5px;border-radius:16px}.admin-page .admin-page-nav a{min-height:42px;padding:0 11px}
 .admin-page .admin-section,.admin-page .campaign-analytics,.admin-page .campaign-links,.admin-page .campaign-settings,.admin-page .admin-telegram-link,.admin-page .admin-users{border-radius:19px}
 .admin-page button:not(.swipe-confirm-thumb){min-height:44px;padding:9px 12px}
}
@media(max-width:390px){.admin-winter-copy{max-width:78%}.admin-winter-copy h1{font-size:34px}.admin-winter-copy p{max-width:240px;font-size:9px}.admin-winter-shortcuts a{padding:7px}.admin-winter-shortcuts a b{font-size:7px}}
@media(prefers-reduced-motion:reduce){.admin-page:before,.admin-winter-hero,.admin-winter-emblem,.admin-winter-kicker b,.admin-winter-spark,.admin-page .admin-section,.admin-page .campaign-analytics,.admin-page .campaign-links,.admin-page .campaign-settings,.admin-page .admin-telegram-link,.admin-page .admin-users{animation:none!important;transition:none!important}}
.admin-page .winter-snow{display:none!important}
.admin-page button.availability-toggle{min-width:145px;border:1px solid #83a77e;border-radius:999px;background:linear-gradient(135deg,#e7f2e3,#d5e7d1);color:#386545;box-shadow:0 5px 12px #345a3914}
.admin-page button.availability-toggle.is-closed{border-color:#d6b0a4;background:linear-gradient(135deg,#f8e9e2,#eed6cc);color:#98504a}
.admin-page button.availability-toggle:hover:not(:disabled){filter:saturate(1.08);box-shadow:0 8px 16px #345a391e}

/* The selected season is shared across public pages, the cabinet and administration. */
 :is(html,body)[data-season="winter"]{--paper:#eef6f9;--paper-2:#fbfdff;--ink:#18313c;--muted:#5f7783;--line:#24516624;--red:#327b91;--red-dark:#245b70;--peach:#b9dfea;--gold:#bd9c62;--glass:#ffffffd4;--shadow:0 18px 50px #1a46541a;background:radial-gradient(ellipse at 12% 0%,#cbe5ef 0,transparent 35%),radial-gradient(ellipse at 92% 18%,#e2edf2 0,transparent 31%),linear-gradient(180deg,#edf6fa,#fbfdfe 52%,#e9f2f5);color:var(--ink)}
 :is(html,body)[data-season="newyear"]{--paper:#f4f1e8;--paper-2:#fffdf6;--ink:#20382d;--muted:#687365;--line:#36573a28;--red:#a83e43;--red-dark:#762d39;--peach:#e2b8a0;--gold:#c39b50;--glass:#fffdf1d9;--shadow:0 20px 55px #23442a1c;background:radial-gradient(ellipse at 6% 1%,#dbe7d3 0,transparent 34%),radial-gradient(ellipse at 96% 10%,#f4dfc7 0,transparent 28%),linear-gradient(180deg,#f5f3e9,#fbf8ef 55%,#eef2e9);color:var(--ink)}
 :is(html,body)[data-season="winter"] :is(.topbar,.cabinet-toolbar,.admin-toolbar){border-color:#8caeba55;background:#f7fcfde8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 :is(html,body)[data-season="newyear"] :is(.topbar,.cabinet-toolbar,.admin-toolbar){border-color:#73876845;background:#fffdf0e8;box-shadow:0 7px 24px #29452b0c;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
 :is(html,body)[data-season="winter"] :is(.glass,.tile,.schedule-card,.price-card,.review-card,.info-card,.direction-row,.team-role,.booking-form,.schedule-item,.gallery-photo,.cabinet-greeting,.cabinet-quick-links a,.loyalty-card,.admin-section,.admin-users,.campaign-settings,.campaign-links,.campaign-analytics,.admin-booking,.availability-row){border-color:#93b9c64d;background-color:#f9fdffcc;box-shadow:0 14px 38px #1a45500c,inset 0 1px #ffffffcf}
 :is(html,body)[data-season="newyear"] :is(.glass,.tile,.schedule-card,.price-card,.review-card,.info-card,.direction-row,.team-role,.booking-form,.schedule-item,.gallery-photo,.cabinet-greeting,.cabinet-quick-links a,.loyalty-card,.admin-section,.admin-users,.campaign-settings,.campaign-links,.campaign-analytics,.admin-booking,.availability-row){border-color:#a9a77445;background-color:#fffdf5e8;box-shadow:0 14px 38px #3853340c,inset 0 1px #ffffffd9}
 :is(html,body)[data-season="winter"] :is(.pill,.dock-book,.booking-next,.booking-submit){border-color:#245b7045;background:linear-gradient(135deg,#3d879a,#26596f);color:#fff;box-shadow:0 9px 22px #28647830}
 :is(html,body)[data-season="newyear"] :is(.pill,.dock-book,.booking-next,.booking-submit){border-color:#e1c783;background:linear-gradient(130deg,#d8bd78,#b38c43);color:#284231;box-shadow:0 9px 22px #98763830}
 :is(html,body)[data-season="winter"] .visit-band{background:linear-gradient(115deg,#163946,#235c6e 64%,#4c8796);color:#f4fcff}
 :is(html,body)[data-season="newyear"] .visit-band{background:radial-gradient(ellipse at 82% 0%,#c5a35a42,transparent 35%),linear-gradient(115deg,#163e32,#20513e 62%,#763842);color:#fffaf0}
 :is(html,body)[data-season="winter"] .visit-band :is(.eyebrow,p), :is(html,body)[data-season="newyear"] .visit-band :is(.eyebrow,p){color:#e1eee4}
 :is(html,body)[data-season="winter"] :is(.hero h1 em,.section h2 em,.page-hero h1 em,.admin-page-nav a.is-active){color:#327b91}
 :is(html,body)[data-season="newyear"] :is(.hero h1 em,.section h2 em,.page-hero h1 em){color:#a83e43}
 :is(html,body)[data-season="winter"] .winter-snow, :is(html,body)[data-season="newyear"] .winter-snow{position:fixed;inset:-20vh 0 0;z-index:80;pointer-events:none;opacity:.42;background-image:radial-gradient(2px 2px at 20px 30px,#fff 98%,transparent),radial-gradient(2px 2px at 80px 120px,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 160px 70px,#fff 98%,transparent),radial-gradient(2px 2px at 240px 180px,#fff 98%,transparent);background-size:280px 260px;animation:winter-fall 24s linear infinite}
 :is(html,body)[data-season="newyear"] .winter-snow{opacity:.52;background-image:radial-gradient(2px 2px at 20px 30px,#fff 98%,transparent),radial-gradient(2px 2px at 80px 120px,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 160px 70px,#efd89d 98%,transparent),radial-gradient(2px 2px at 240px 180px,#fff 98%,transparent)}
.newyear-lights{position:fixed;z-index:2;top:0;left:0;right:0;height:17px;pointer-events:none;opacity:.75;background:radial-gradient(ellipse at 12% 0,#c6534d 0 3px,transparent 4px),radial-gradient(ellipse at 28% 4px,#e2c36f 0 3px,transparent 4px),radial-gradient(ellipse at 46% 0,#477f5c 0 3px,transparent 4px),radial-gradient(ellipse at 66% 3px,#c6534d 0 3px,transparent 4px),radial-gradient(ellipse at 86% 0,#e2c36f 0 3px,transparent 4px);background-size:140px 18px;animation:festive-lights 3s ease-in-out infinite alternate}
body.admin-page .newyear-lights{z-index:0}
@keyframes festive-lights{to{opacity:.4;filter:saturate(.7)}}
@media(prefers-reduced-motion:reduce){body[data-season] .winter-snow{animation:none;opacity:.18}.newyear-lights{animation:none;opacity:.55}}

/* Theme picker in administration */
.season-theme-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.season-theme-heading h2{margin:9px 0 7px;font:500 clamp(30px,4vw,42px)/1.05 var(--serif)}
.season-theme-heading p{max-width:570px;margin:0;color:var(--muted);font-size:10px;line-height:1.65}
.season-current{flex:none;margin-top:7px;padding:9px 12px;border:1px solid #a8b99a;border-radius:99px;background:#eef4e8;color:#416348;font-size:8px;font-weight:850;letter-spacing:.09em}
.season-theme-form{display:grid;gap:17px}
.season-theme-options{min-width:0;margin:0;padding:0;border:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.season-theme-option{position:relative;min-width:0;min-height:122px;padding:15px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:5px;overflow:hidden;border:1px solid #d9dfd1;border-radius:17px;background:linear-gradient(150deg,#fffefa,#f5f6ef);color:#34483a;cursor:pointer;transition:transform .22s,border-color .22s,box-shadow .22s}
.season-theme-option:hover{transform:translateY(-3px);box-shadow:0 12px 23px #294a3215}
.season-theme-option input{position:absolute;top:10px;right:10px;width:18px;height:18px;accent-color:#315e49}
.season-theme-option.is-selected{border-color:#557f5a;box-shadow:0 0 0 3px #557f5a24,0 12px 24px #294a3210}
.season-theme-icon{position:absolute;top:7px;left:14px;font:400 44px/1 var(--serif);opacity:.8}
.theme-classic .season-theme-icon{color:#c08368}.theme-winter{background:linear-gradient(145deg,#f5fcff,#dcecf2)}.theme-winter .season-theme-icon{color:#4f97ac}.theme-newyear{background:linear-gradient(145deg,#fffaf0,#e6ecdc)}.theme-newyear .season-theme-icon{color:#b28a40}.theme-auto{background:linear-gradient(145deg,#fbfaf3,#ecefdf)}.theme-auto .season-theme-icon{color:#648264}
.season-theme-option b{font-size:12px}.season-theme-option small{color:#758073;font-size:9px;line-height:1.4}
.season-schedule-fields{padding:16px;display:grid;grid-template-columns:minmax(180px,1.4fr) repeat(3,minmax(125px,1fr));align-items:end;gap:11px;border:1px solid #cbd9c7;border-radius:17px;background:linear-gradient(135deg,#f1f6ec,#fffdf6)}
.season-schedule-fields>div p{margin:6px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.season-schedule-fields label{display:grid;gap:6px;color:#617260;font-size:9px;font-weight:750}
.season-schedule-fields input,.season-schedule-fields select{width:100%;min-width:0;min-height:42px;padding:0 10px;border:1px solid #d4ddcf;border-radius:10px;background:#fffefa;color:#324c3a;font:500 11px var(--sans)}
.season-schedule-fields[hidden]{display:none!important}
.season-theme-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.season-theme-actions small{color:var(--muted);font-size:9px;line-height:1.5}
@media(max-width:740px){.season-theme-heading{display:grid;gap:7px}.season-theme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.season-theme-option{min-height:105px;padding:12px}.season-theme-icon{font-size:37px}.season-schedule-fields{grid-template-columns:1fr 1fr;padding:12px}.season-schedule-fields>div{grid-column:1/-1}.season-theme-actions{display:grid}.season-theme-actions button{width:100%}}
@media(max-width:390px){.season-theme-option b{font-size:10px}.season-theme-option small{font-size:8px}.season-schedule-fields{grid-template-columns:1fr}.season-schedule-fields>div{grid-column:auto}.season-current{font-size:7px}}

/* Winter palette changes on the studio admin too; classic remains neutral. */
body.admin-page[data-season="classic"]:before{display:none}
body.admin-page[data-season="classic"] .admin-winter-hero{border-color:#ffffffaa;background:radial-gradient(ellipse at 86% 18%,#d1dfcd66,transparent 31%),linear-gradient(120deg,#365c48,#52765c 62%,#80916e);box-shadow:0 18px 44px #274c3822}
body.admin-page[data-season="classic"] .admin-winter-emblem{opacity:.32}
body.admin-page[data-season="classic"] .admin-winter-copy h1 em{color:#e3d1a1}
body.admin-page[data-season="winter"]{--paper:#edf6f9;--paper-2:#fbfdff;--ink:#193541;--muted:#617983;--red:#327b91;--gold:#bd9c62;background:radial-gradient(ellipse at 8% 0%,#cce5ed 0,transparent 36%),linear-gradient(180deg,#edf6f9,#f8fbfc 56%,#e9f3f6)}
body.admin-page[data-season="winter"]:before{opacity:.65;background-image:radial-gradient(2px 2px at 24px 35px,#fff 98%,transparent),radial-gradient(2px 2px at 115px 155px,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 205px 75px,#b9d2dc 98%,transparent),radial-gradient(2px 2px at 290px 220px,#fff 98%,transparent)}
body.admin-page[data-season="winter"] .admin-winter-hero{background:radial-gradient(ellipse at 86% 18%,#d6f2f546,transparent 31%),linear-gradient(120deg,#dceef2,#b7d7df 58%,#719baa);color:#173b47;box-shadow:0 22px 52px #3c75842b,inset 0 1px #ffffffb8}
body.admin-page[data-season="winter"] .admin-winter-copy h1{color:#173b47}body.admin-page[data-season="winter"] .admin-winter-copy h1 em{color:#347a8e}body.admin-page[data-season="winter"] .admin-winter-copy p{color:#416573}body.admin-page[data-season="winter"] .admin-winter-kicker{color:#476e7b}body.admin-page[data-season="winter"] .admin-winter-emblem svg{fill:#f7fdff;stroke:#76a7b3}body.admin-page[data-season="winter"] .admin-winter-shortcuts a{border-color:#ffffff9c;background:#ffffff6b;color:#1d4e5c;box-shadow:inset 0 1px #fff}
body.admin-page[data-season="newyear"]{--paper:#f4f3e9;--paper-2:#fffdf5;--ink:#213a2c;--muted:#687563;--red:#a83e43;--gold:#c39b50;background:radial-gradient(ellipse at 7% 0%,#d7e4d0 0,transparent 34%),radial-gradient(ellipse at 96% 8%,#f4dfbd 0,transparent 28%),linear-gradient(180deg,#f3f4e9,#fcf8ed 55%,#edf2e8)}
body.admin-page[data-season="newyear"]:before{opacity:.62}
body.admin-page[data-season="newyear"] .admin-winter-hero{background:radial-gradient(ellipse at 85% 16%,#d4b46238,transparent 31%),radial-gradient(ellipse at 18% 120%,#bb55504a,transparent 42%),linear-gradient(120deg,#153d30,#1c553d 57%,#863e40);box-shadow:0 23px 55px #24543a35,inset 0 1px #ffffff47}
body.admin-page[data-season="newyear"] .admin-winter-copy h1 em{color:#e4c47b}body.admin-page[data-season="newyear"] .admin-winter-emblem svg{fill:#d8b75f;stroke:#f0d88f}body.admin-page[data-season="newyear"] .admin-winter-shortcuts a{border-color:#eedba16b;background:linear-gradient(145deg,#ffffff25,#ffffff0d)}


/* Seasonal details: icicles, warm holiday garland and editorial feature card */
 :is(html,body)[data-season="winter"] .topbar{position:sticky;isolation:isolate} :is(html,body)[data-season="winter"] .topbar:after{display:none}
 :is(html,body)[data-season="winter"] .topbar>*{z-index:1}
.seasonal-feature{position:relative;isolation:isolate;min-height:225px;margin-top:0;margin-bottom:42px;padding:clamp(24px,4vw,42px) clamp(23px,5vw,54px);display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.44fr);align-items:center;gap:16px;overflow:hidden;border:1px solid #ffffffbd;border-radius:26px;box-shadow:0 22px 58px #32627314,inset 0 1px #ffffffdd;animation:season-card-in .7s cubic-bezier(.2,.75,.25,1) both}
.seasonal-feature[data-feature-theme="winter"]{background:radial-gradient(ellipse at 82% 30%,#fff9 0,transparent 31%),linear-gradient(115deg,#dff0f5,#c5e2e9 56%,#9cc8d2);color:#1d4652}
.seasonal-feature[data-feature-theme="newyear"]{background:radial-gradient(ellipse at 82% 20%,#f2d79477 0,transparent 29%),radial-gradient(ellipse at 0 100%,#c7655b35,transparent 41%),linear-gradient(115deg,#214b3a,#326047 57%,#647b54);color:#fff8e8;border-color:#e9d9ab99;box-shadow:0 22px 58px #234a3426,inset 0 1px #fff6}
.seasonal-feature-copy{position:relative;z-index:2;max-width:560px}.seasonal-feature-mark{display:inline-flex;align-items:center;gap:7px;color:#437787;font-size:9px;font-weight:850;letter-spacing:.15em}.seasonal-feature[data-feature-theme="newyear"] .seasonal-feature-mark{color:#e6d098}
.seasonal-feature h2{margin:14px 0 10px;font:500 clamp(32px,5vw,54px)/.99 var(--serif);letter-spacing:-.035em}.seasonal-feature h2 em{font-weight:400;color:#398094}.seasonal-feature[data-feature-theme="newyear"] h2 em{color:#f0ce7b}
.seasonal-feature p{max-width:500px;margin:0;color:#365e69;font-size:11px;line-height:1.75}.seasonal-feature[data-feature-theme="newyear"] p{color:#f1ead7cf}
.seasonal-feature-link{width:max-content;max-width:100%;min-height:42px;margin-top:19px;padding:0 15px;display:inline-flex;align-items:center;gap:24px;border:1px solid #447d8b44;border-radius:99px;background:#ffffff9c;color:#204b59;font-size:10px;font-weight:800;transition:transform .2s,box-shadow .2s}.seasonal-feature-link:hover{transform:translateY(-2px);box-shadow:0 9px 20px #30596721}.seasonal-feature-link span{font-size:16px}.seasonal-feature[data-feature-theme="newyear"] .seasonal-feature-link{border-color:#e5cf8e88;background:linear-gradient(130deg,#f2dfad,#d4b86d);color:#294433}
.seasonal-feature-art{position:relative;justify-self:center;width:min(210px,100%);aspect-ratio:1;display:grid;place-items:center}.seasonal-orbit{position:absolute;inset:10%;border:1px solid #ffffff9c;border-radius:50%;box-shadow:0 0 0 14px #ffffff26,0 0 0 28px #ffffff18;animation:season-orbit 18s linear infinite}.seasonal-feature-symbol{position:relative;z-index:1;color:#ffffffce;font:400 clamp(82px,12vw,142px)/1 var(--serif);text-shadow:0 12px 30px #315a6730;animation:season-float 4.5s ease-in-out infinite}.seasonal-feature[data-feature-theme="newyear"] .seasonal-feature-symbol{color:#eed38b;text-shadow:0 12px 32px #101f184d}.seasonal-spark{position:absolute;color:#fff;font-style:normal;font-size:23px;animation:sparkle 2.4s ease-in-out infinite}.seasonal-spark-one{top:9%;right:14%}.seasonal-spark-two{bottom:18%;left:9%;animation-delay:.8s}.seasonal-spark-three{top:25%;left:7%;font-size:30px;animation-delay:1.3s}
@keyframes season-card-in{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@keyframes season-float{50%{transform:translateY(-8px) rotate(4deg)}}@keyframes season-orbit{to{transform:rotate(360deg)}}@keyframes sparkle{50%{opacity:.38;transform:scale(.72) rotate(25deg)}}
@media(max-width:700px){ :is(html,body)[data-season="winter"] .topbar:after{height:17px;bottom:-12px;opacity:.68;background-size:100% 100%,130px 17px,190px 17px,160px 17px,210px 17px,145px 17px,180px 17px}.seasonal-feature{min-height:0;margin-bottom:30px;padding:23px 20px;grid-template-columns:minmax(0,1fr) 82px;gap:4px;border-radius:21px}.seasonal-feature h2{font-size:clamp(30px,8vw,42px)}.seasonal-feature p{font-size:10px}.seasonal-feature-art{width:82px}.seasonal-orbit{inset:9%;box-shadow:0 0 0 8px #ffffff26,0 0 0 16px #ffffff18}.seasonal-feature-symbol{font-size:64px}.seasonal-spark{font-size:15px}.seasonal-spark-three{font-size:20px}.seasonal-feature-link{min-height:39px;margin-top:15px;gap:13px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.seasonal-feature,.seasonal-feature-symbol,.seasonal-orbit,.seasonal-spark, :is(html,body)[data-season="winter"] .topbar:after{animation:none!important}}


/* Visible ice fringe and bespoke seasonal mobile navigation */
@media(max-width:720px){
  :is(html,body)[data-season="winter"] .app-dock, :is(html,body)[data-season="winter"] .cabinet-page-nav{position:fixed;isolation:isolate;border:1px solid #d4edf4!important;background:linear-gradient(145deg,#fbfefff2,#e8f5f8f0)!important;box-shadow:0 12px 34px #376c7c2b,0 3px 9px #fff8 inset!important}
 
  :is(html,body)[data-season="winter"] .app-dock a, :is(html,body)[data-season="winter"] .cabinet-page-nav a, :is(html,body)[data-season="newyear"] .app-dock a, :is(html,body)[data-season="newyear"] .cabinet-page-nav a{position:relative;z-index:1}
  :is(html,body)[data-season="winter"] .app-dock a.is-active, :is(html,body)[data-season="winter"] .cabinet-page-nav a.is-active{background:linear-gradient(145deg,#dff1f6,#cbe5ec)!important;color:#245c73!important;box-shadow:0 4px 12px #34758a1b,inset 0 1px #fff}
  :is(html,body)[data-season="winter"] .app-dock a.is-active svg, :is(html,body)[data-season="winter"] .cabinet-page-nav a.is-active svg{filter:drop-shadow(0 2px 3px #6aa5b544);animation:nav-icon-winter 2.8s ease-in-out infinite}
  :is(html,body)[data-season="winter"] .app-dock a.dock-book{background:linear-gradient(145deg,#3d879a,#245b70)!important;color:white!important;box-shadow:0 7px 16px #28647839,inset 0 1px #ffffff55}
  :is(html,body)[data-season="newyear"] .app-dock, :is(html,body)[data-season="newyear"] .cabinet-page-nav{position:fixed;isolation:isolate;border:1px solid #e9d8a6!important;background:linear-gradient(145deg,#fffdf1f5,#f0eddbf2)!important;box-shadow:0 12px 34px #4c44302b,0 3px 9px #fff9 inset!important}
 
  :is(html,body)[data-season="newyear"] .app-dock a.is-active, :is(html,body)[data-season="newyear"] .cabinet-page-nav a.is-active{background:linear-gradient(145deg,#f3e8c7,#e7dbb2)!important;color:#715b2d!important;box-shadow:0 4px 12px #95805220,inset 0 1px #fff}
  :is(html,body)[data-season="newyear"] .app-dock a.dock-book{background:linear-gradient(145deg,#b84b4a,#853846)!important;color:#fff!important;box-shadow:0 7px 16px #763a3a35,inset 0 1px #ffffff55}
}
@keyframes nav-icon-winter{50%{transform:translateY(-2px)}}


/* Seasonal visual direction v2: icicles only on the mobile dock; less ornamental, more polished. */
@media(max-width:720px){
  :is(html,body)[data-season="winter"] .topbar:after{display:none!important}
 .app-dock{position:fixed;isolation:isolate}
  :is(html,body)[data-season="winter"] .app-dock{border-color:#b8dae4!important;background:linear-gradient(150deg,#fbfefff5,#e3f1f5f2)!important;box-shadow:0 12px 34px #315e6d32,0 2px 0 #fff inset!important}
  :is(html,body)[data-season="winter"] .app-dock a{transition:transform .25s,color .25s,background .25s}
  :is(html,body)[data-season="winter"] .app-dock a.is-active{background:linear-gradient(145deg,#dff2f7,#c9e4eb)!important;color:#245c73!important;box-shadow:0 4px 12px #34758a1c,inset 0 1px #fff}
  :is(html,body)[data-season="winter"] .app-dock a.dock-book{background:linear-gradient(145deg,#3d879a,#245b70)!important;color:#fff!important}
  :is(html,body)[data-season="newyear"] .app-dock{border-color:#d9c790!important;background:linear-gradient(145deg,#fffdf4f5,#f3efdf)!important;box-shadow:0 12px 32px #54473024,0 2px 0 #fff inset!important}
  :is(html,body)[data-season="newyear"] .app-dock a.is-active{background:#e9e0c6!important;color:#655331!important}
  :is(html,body)[data-season="newyear"] .app-dock a.dock-book{background:linear-gradient(140deg,#9c3f45,#74303d)!important;color:#fff!important;box-shadow:0 6px 15px #74303d30}
}
.seasonal-feature{display:none!important}
 :is(html,body)[data-season="newyear"] .seasonal-feature{position:relative;min-height:0;margin:0 auto 36px;padding:24px clamp(20px,4vw,38px);display:grid!important;grid-template-columns:1fr;gap:6px;overflow:hidden;border:1px solid #d4c18d;border-radius:20px;background:linear-gradient(115deg,#fffaf0,#f4edda 62%,#efe3c6);box-shadow:0 14px 36px #624c2a14;text-align:left;animation:season-card-in .65s ease both}

 :is(html,body)[data-season="newyear"] .seasonal-feature-mark{color:#82683d;font-size:9px;letter-spacing:.17em}
 :is(html,body)[data-season="newyear"] .seasonal-feature h2{margin:5px 0 2px;color:#274434;font:500 clamp(24px,4vw,34px)/1.12 var(--serif);letter-spacing:-.02em}
 :is(html,body)[data-season="newyear"] .seasonal-feature p{max-width:620px;color:#6c6655;font-size:11px;line-height:1.7}
.seasonal-greeting-spark{position:absolute;right:27px;top:23px;color:#c39b50;font-size:22px;animation:sparkle 2.8s ease-in-out infinite}
.seasonal-greeting-spark-two{right:54px;top:auto;bottom:20px;color:#647f5e;animation-delay:1s}
@media(max-width:700px){ :is(html,body)[data-season="newyear"] .seasonal-feature{margin-bottom:24px;padding:20px 18px} :is(html,body)[data-season="newyear"] .seasonal-feature h2{max-width:calc(100% - 32px);font-size:26px} :is(html,body)[data-season="newyear"] .seasonal-feature p{max-width:calc(100% - 6px);font-size:10px}.seasonal-greeting-spark{right:17px;top:18px;font-size:17px}.seasonal-greeting-spark-two{top:auto;bottom:13px;right:35px}}
 :is(html,body)[data-season="newyear"]{--paper:#f4f0e6;--paper-2:#fffaf0;--ink:#25382e;--muted:#716b5e;--line:#4c5c4225;--red:#9c3e45;--red-dark:#762f3b;--peach:#e8c59b;--gold:#b8964f;--glass:#fffaf0db;--shadow:0 18px 48px #32443214;background:radial-gradient(ellipse at 7% 0,#e4e9d8 0,transparent 34%),radial-gradient(ellipse at 98% 10%,#ead9bc 0,transparent 28%),linear-gradient(180deg,#f6f1e7,#fcf9f1 54%,#eef0e6);color:var(--ink)}
 :is(html,body)[data-season="newyear"] .hero-art{box-shadow:0 24px 64px #3a33251f}
 :is(html,body)[data-season="newyear"] .hero-art:after{border-color:#e9d6a7;box-shadow:0 0 0 9px #e9d6a71f,0 18px 55px #7d62402a}
 :is(html,body)[data-season="newyear"] :is(.pill,.dock-book,.booking-next,.booking-submit){border-color:#d4bd80;background:linear-gradient(135deg,#a34248,#7c303d);color:#fff;box-shadow:0 9px 22px #74394226}
 :is(html,body)[data-season="newyear"] .visit-band{background:radial-gradient(ellipse at 85% 0,#d4b3662e,transparent 35%),linear-gradient(115deg,#183c30,#27543d 62%,#704047);color:#fffaf0}
 :is(html,body)[data-season="newyear"] :is(.glass,.tile,.schedule-card,.price-card,.review-card,.info-card,.direction-row,.team-role,.booking-form,.schedule-item,.gallery-photo,.cabinet-greeting,.cabinet-quick-links a,.loyalty-card,.admin-section,.admin-users,.campaign-settings,.campaign-links,.campaign-analytics,.admin-booking,.availability-row){border-color:#b7a97845;background-color:#fffdf6e8;box-shadow:0 14px 38px #33482e0d,inset 0 1px #ffffffd9}
@media(max-width:720px){
 .admin-page .admin-main{padding:12px 12px calc(90px + env(safe-area-inset-bottom))!important}
 .admin-page .admin-page-nav{width:auto!important;margin:8px 0 13px!important;padding:8px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;border:1px solid #dfe5db!important;border-radius:18px!important;background:#fbfcf8!important;box-shadow:0 8px 22px #1e37200d!important}
 .admin-page .admin-page-nav a{min-width:0!important;min-height:58px!important;padding:6px 2px!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px!important;border-radius:12px!important;font-size:8px!important;line-height:1.1;text-align:center;white-space:normal!important;overflow-wrap:anywhere}
 .admin-page .admin-page-nav svg{width:19px!important;height:19px!important}
 .admin-page.admin-menu-open .admin-page-nav{position:relative!important;inset:auto!important;display:grid!important;max-height:none!important}
 .admin-page .admin-section,.admin-page .admin-users,.admin-page .campaign-analytics{padding:18px 14px!important;border-radius:19px!important}
 .admin-page .admin-head,.admin-page .analytics-heading{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important;align-items:start!important}
 .admin-page .admin-head-tools{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
 .admin-page .admin-head-tools>*{width:100%;min-width:0}
 .admin-page .admin-booking{padding:16px!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important;border:1px solid #dce4dc!important;border-radius:17px!important;background:#fffefa!important;box-shadow:0 6px 18px #2438290d!important}
 .admin-page .admin-booking>div:first-child{min-width:0}
 .admin-page .admin-booking h3{font-size:17px!important;line-height:1.25;overflow-wrap:anywhere}
 .admin-page .admin-booking p,.admin-page .admin-booking small,.admin-page .admin-booking-phone{max-width:100%;overflow-wrap:anywhere;line-height:1.55}
 .admin-page .admin-booking-controls{width:100%;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;align-items:stretch!important;gap:8px!important}
 .admin-page .admin-booking-controls .status-chip{grid-column:1/-1;justify-self:start!important}
 .admin-page .admin-booking-controls .admin-primary-action{grid-column:1/-1;min-width:0}
 .admin-page .admin-booking-controls .admin-primary-action button{width:100%;min-height:48px!important;border-radius:13px!important}
 .admin-page .admin-booking .admin-buttons{grid-column:1/-1;width:100%;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .admin-page .admin-booking .admin-buttons button:not([hidden]){width:100%;min-width:0;min-height:47px!important;padding:9px 8px!important;border-radius:12px!important;font-size:10px!important;line-height:1.2;overflow-wrap:anywhere}
 .admin-page .admin-booking .admin-buttons button[data-reject][hidden]+button[data-remove]{grid-column:1/-1}
 .admin-page .availability-row{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:13px!important}
 .admin-page .availability-row>div{min-width:0}
 .admin-page .availability-row button{width:100%;min-height:48px!important;border-radius:13px!important}
 .admin-page .admin-invite-form,.admin-page .admin-users-columns{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 .admin-page .admin-invite-form>*{width:100%;min-width:0}
 .admin-page .admin-invite-form button{min-height:48px!important}
 .admin-page .booking-edit form{grid-template-columns:minmax(0,1fr)!important}
 .admin-page button:not(.swipe-confirm-thumb){max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25}
}
@media(max-width:390px){.admin-page .admin-main{padding-inline:9px!important}.admin-page .admin-page-nav{gap:4px!important;padding:6px!important}.admin-page .admin-page-nav a{min-height:54px!important;font-size:7px!important}.admin-page .admin-booking{padding:13px!important}.admin-page .admin-booking-controls{gap:7px!important}.admin-page .admin-booking .admin-buttons{gap:6px!important}}

/* Explicitly remove the rejected icicle decoration. Keep only fine snow on the winter dock. */
 :is(html,body)[data-season="winter"] .topbar:after{display:none!important}
@media(max-width:720px){
 
}
@keyframes dock-snow-glow{to{opacity:.48;transform:translateY(1px)}}
@media(prefers-reduced-motion:reduce){ :is(html,body)[data-season="winter"] .app-dock:before{animation:none}}

/* Flat seasonal canvases keep type crisp and readable. No garlands or decorative overlays. */
.newyear-lights{display:none!important}
 :is(html,body)[data-season="winter"]{background:#edf5f8!important;color:#18313c}
body.admin-page[data-season="winter"]{background:#edf5f8!important}
 :is(html,body)[data-season="newyear"]{--paper:#f6f1e7;--paper-2:#fffaf0;--ink:#25382e;--muted:#665f53;--line:#44523b29;background:#f6f1e7!important;color:#25382e}
body.admin-page[data-season="newyear"]{background:#f6f1e7!important}
 :is(html,body)[data-season="newyear"] .seasonal-feature{background:#f1e8d4!important;border-color:#bd9b58;box-shadow:0 12px 30px #3f392918}
 :is(html,body)[data-season="newyear"] .seasonal-feature h2{color:#213b2d!important}
 :is(html,body)[data-season="newyear"] .seasonal-feature p{color:#4b574a!important}
 :is(html,body)[data-season="newyear"] .seasonal-feature-mark{color:#72562e!important}
 :is(html,body)[data-season="newyear"] .visit-band{background:#1f4938!important;color:#fffaf0}
body.admin-page[data-season="winter"] .admin-winter-hero{background:#c8e1e8!important;color:#183743;box-shadow:0 16px 36px #29566b21,inset 0 1px #fff}
body.admin-page[data-season="newyear"] .admin-winter-hero{background:#214734!important;color:#fff9e9;box-shadow:0 16px 36px #25432d27,inset 0 1px #ffffff24}
body.admin-page[data-season="newyear"] .admin-winter-copy h1{color:#fff9e9}
body.admin-page[data-season="newyear"] .admin-winter-copy h1 em{color:#e7c979}
body.admin-page[data-season="newyear"] .admin-winter-copy p,body.admin-page[data-season="newyear"] .admin-winter-kicker{color:#f3e9ca}
body.admin-page[data-season="newyear"] .admin-winter-shortcuts a{border-color:#e4d39b66;background:#ffffff12;color:#fff8e6}

/* Admin refresh: consistent surfaces and readable actions at every width. */
.admin-page{background:#f3f5f1;color:#26372d}
.admin-page .admin-main{width:min(100%,1360px);margin:0 auto;padding:28px 34px 80px}
.admin-page .admin-toolbar{min-height:72px;padding:10px max(20px,calc((100vw - 1360px)/2));border-bottom:1px solid #dfe5dc;background:#fbfcf9;box-shadow:0 3px 14px #243a2c08}
.admin-page .admin-page-nav{width:min(100%,1292px);margin:12px auto 0;padding:7px;display:flex;flex-wrap:wrap;gap:5px;border:1px solid #dfe5dc;border-radius:17px;background:#fbfcf9;box-shadow:0 6px 20px #263c2c0b}
.admin-page .admin-page-nav a{min-height:43px;padding:0 15px;display:inline-flex;align-items:center;gap:8px;border:1px solid transparent;border-radius:12px;color:#627267;font-size:10px;font-weight:750;transition:background .2s,color .2s,transform .2s}
.admin-page .admin-page-nav a:hover{transform:translateY(-1px);background:#eef3eb;color:#305440}
.admin-page .admin-page-nav a.is-active{border-color:#d4e0d0;background:#eaf1e7;color:#28543e;box-shadow:inset 0 1px #fff}
.admin-page .admin-section,.admin-page .admin-users,.admin-page .campaign-analytics{padding:26px;border:1px solid #e0e6dd;border-radius:22px;background:#fbfcf9;box-shadow:0 10px 32px #263a2c0c}
.admin-page .admin-section+.admin-section{margin-top:16px}
.admin-page .admin-booking,.admin-page .availability-row,.admin-page .customer-card,.admin-page .campaign-link-row,.admin-page .admin-support-ticket{padding:16px;border:1px solid #e1e7de;border-radius:16px;background:#fff;box-shadow:0 5px 15px #233b2a09}
.admin-page .admin-booking .admin-action-confirm,.admin-page .admin-booking .admin-action-reject,.admin-page .admin-booking .admin-action-delete,.admin-page .admin-export,.admin-page .admin-head-tools button,.admin-page .admin-section button:not(.swipe-confirm-thumb){min-height:44px;padding:9px 13px;border:1px solid #d7e0d5;border-radius:12px;background:#f6f8f3;color:#385342;font:750 10px/1.25 var(--sans);box-shadow:0 2px 6px #273b2c0a;transition:transform .18s,box-shadow .18s,background .18s}
.admin-page .admin-section button:hover:not(:disabled),.admin-page .admin-export:hover{transform:translateY(-1px);box-shadow:0 6px 14px #273b2c14}
.admin-page .admin-booking .admin-action-confirm{border-color:#315d46;background:#315d46;color:#fff}
.admin-page .admin-booking .admin-action-reject{border-color:#e4c48c;background:#fbf3e3;color:#765526}
.admin-page .admin-booking .admin-action-delete{border-color:#e6c9c3;background:#fbefec;color:#914c46}
.admin-page input:not([type=radio]):not([type=checkbox]),.admin-page select,.admin-page textarea{max-width:100%;border:1px solid #d9e1d6;border-radius:12px;background:#fff;color:#283a30}
.admin-page :is(input,select,textarea):focus{outline:3px solid #86a89244;outline-offset:1px;border-color:#6f967b}
.admin-page .status-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:900px){.admin-page .admin-main{padding:22px 20px 70px}.admin-page .admin-page-nav{width:calc(100% - 40px)}}
/* First visit card: light, quiet and readable in each seasonal mode. */
.visit-band{padding:0 0 clamp(48px,7vw,82px)!important;background:transparent!important;color:var(--ink)!important}
.visit-inner{position:relative;width:var(--wrap);min-height:218px;margin-inline:auto;padding:clamp(25px,4vw,40px);display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:clamp(18px,4vw,48px);overflow:hidden;border:1px solid #e1e5dc;border-radius:24px;background:#fffefa;box-shadow:0 16px 42px #283d2c0c}
.visit-copy{position:relative;z-index:1;max-width:620px}.visit-copy .eyebrow{color:#758873}.visit-copy h2{margin:10px 0 8px;color:#273a2e;font:500 clamp(30px,4vw,45px)/1.03 var(--serif);letter-spacing:-.03em}.visit-copy h2 em{color:#a45148;font-weight:400}.visit-copy p{max-width:470px;margin:0;color:#697267;font-size:11px;line-height:1.7}
.visit-inner>.pill{position:relative;z-index:1;min-height:48px;padding:0 17px;white-space:nowrap;background:#314f3d;border-color:#314f3d;color:#fff}
.visit-signature{width:82px;height:82px;display:grid;place-content:center;gap:2px;border:1px solid #dce3d7;border-radius:50%;color:#84917e;text-align:center;transform:rotate(8deg)}.visit-signature i{font:italic 23px/1 var(--serif);color:#b46d59}.visit-signature b{font-size:6px;line-height:1.3;letter-spacing:.16em}
 :is(html,body)[data-season="winter"] .visit-inner{border-color:#cbdfe5;background:#f8fcfd;box-shadow:0 16px 42px #325a6610}
 :is(html,body)[data-season="winter"] .visit-copy .eyebrow{color:#4e8290} :is(html,body)[data-season="winter"] .visit-copy h2 em{color:#327b91} :is(html,body)[data-season="winter"] .visit-inner>.pill{background:#2d7185;border-color:#2d7185}
 :is(html,body)[data-season="newyear"] .visit-inner{border-color:#ddcfaa;background:#fffaf0;box-shadow:0 16px 42px #67583712}
 :is(html,body)[data-season="newyear"] .visit-copy .eyebrow{color:#936f36} :is(html,body)[data-season="newyear"] .visit-copy h2 em{color:#9b4148} :is(html,body)[data-season="newyear"] .visit-inner>.pill{background:#9b4148;border-color:#9b4148}
 :is(html,body)[data-season="newyear"] .visit-signature{border-color:#decea6;color:#6c795b} :is(html,body)[data-season="newyear"] .visit-signature i{color:#a74747}
@media(max-width:720px){.visit-band{padding-bottom:48px!important}.visit-inner{min-height:0;padding:23px 20px;grid-template-columns:minmax(0,1fr) auto;gap:16px;border-radius:20px}.visit-copy h2{font-size:clamp(28px,8vw,37px)}.visit-copy p{font-size:10px}.visit-inner>.pill{grid-column:1/-1;width:100%;justify-content:space-between}.visit-signature{position:absolute;top:17px;right:17px;width:48px;height:48px;opacity:.56}.visit-signature i{font-size:16px}.visit-signature b{font-size:4px}.visit-copy{padding-right:42px}}
@media(max-width:390px){.visit-inner{padding:20px 16px}.visit-copy{padding-right:30px}.visit-signature{right:12px;top:13px;width:40px;height:40px}}

/* More celebratory New Year details without a garland or background gradients. */
 :is(html,body)[data-season="newyear"] .brand i{color:#456547}
 :is(html,body)[data-season="newyear"] .brand{color:#9b4148}
 :is(html,body)[data-season="newyear"] .main-nav a:hover, :is(html,body)[data-season="newyear"] .text-arrow{color:#956d31}
 :is(html,body)[data-season="newyear"] .hero h1 em, :is(html,body)[data-season="newyear"] .page-hero h1 em, :is(html,body)[data-season="newyear"] .section h2 em{color:#a1444a}
 :is(html,body)[data-season="newyear"] .hero-art:after{border-color:#c8a75e;box-shadow:0 0 0 8px #c8a75e1c,0 16px 42px #775d3020}
 :is(html,body)[data-season="newyear"] .seasonal-greeting-spark{animation:sparkle 2.2s ease-in-out infinite}
 :is(html,body)[data-season="newyear"] .seasonal-greeting-spark-two{animation-delay:1.1s}
 :is(html,body)[data-season="newyear"] .pill:hover{filter:brightness(1.06);box-shadow:0 10px 24px #8d3a402d}
@media(prefers-reduced-motion:reduce){ :is(html,body)[data-season="newyear"] .seasonal-greeting-spark{animation:none}}

/* Seasonal, personal cabinet greeting. */
 :is(html,body)[data-season="winter"] .cabinet-greeting{border-color:#cfe2e8;background:#f4fafc;box-shadow:0 18px 46px #2f586612}
 :is(html,body)[data-season="winter"] .cabinet-greeting-copy .eyebrow{color:#4d8391}
 :is(html,body)[data-season="winter"] .cabinet-type-cursor{color:#204653}
 :is(html,body)[data-season="winter"] .cabinet-greeting-stat{border-color:#d5e7eb;background:#ffffffc9}
 :is(html,body)[data-season="newyear"] .cabinet-greeting{border-color:#dfcea5;background:#fff9ec;box-shadow:0 18px 46px #6c513018}
 :is(html,body)[data-season="newyear"] .cabinet-greeting-copy .eyebrow{color:#936f36}
 :is(html,body)[data-season="newyear"] .cabinet-type-title{max-width:790px;font-size:clamp(34px,5vw,51px);line-height:1.07;letter-spacing:-.035em}
 :is(html,body)[data-season="newyear"] .cabinet-type-cursor{color:#274434}
 :is(html,body)[data-season="newyear"] .cabinet-type-cursor:after{background:#a44749}
 :is(html,body)[data-season="newyear"] .cabinet-stat-ring{border-color:#d8c48f;color:#98733b}
 :is(html,body)[data-season="newyear"] .cabinet-greeting-stat{border-color:#e6d7b7;background:#fffdf6}
@media(max-width:720px){ :is(html,body)[data-season="newyear"] .cabinet-type-title{max-width:100%;font-size:clamp(31px,8vw,43px);line-height:1.08}}

/* Unified cabinet layout: clear spacing, card hierarchy and touch friendly controls. */
.cabinet-page{background:#f5f4ef;color:#25372e}
.cabinet-frame{width:min(1120px,calc(100% - 48px));padding-bottom:88px}
.cabinet-main{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:17px;padding-top:22px}
.cabinet-main>[data-cabinet-section],.cabinet-main>.loyalty-card,.cabinet-main>.cabinet-quick-links{min-width:0;margin:0}
.cabinet-greeting{min-width:0;grid-template-columns:minmax(0,1fr) minmax(190px,.34fr);gap:22px;padding:clamp(24px,4vw,40px);border:1px solid #e3e3d8;border-radius:24px;background:#fffdf8;box-shadow:0 14px 36px #2b392c0c}
.cabinet-greeting-copy{min-width:0}.cabinet-greeting-copy .eyebrow{letter-spacing:.15em}.cabinet-greeting-copy p{max-width:560px;color:#687168;font-size:12px;line-height:1.75}
.cabinet-greeting-stat{min-width:0;padding:16px;border:1px solid #e5e5d9;border-radius:18px;background:#f8f8f1;box-shadow:none;backdrop-filter:none}
.cabinet-greeting-stat>div{min-width:0;display:grid;gap:5px}.cabinet-greeting-stat>div b,.cabinet-greeting-stat>div span{overflow-wrap:anywhere}
.cabinet-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cabinet-quick-links a{position:relative;min-width:0;min-height:108px;padding:19px 20px;display:grid;grid-template-columns:34px minmax(0,1fr);align-content:center;gap:3px 12px;border:1px solid #e3e5dc;border-radius:18px;background:#fffefa;box-shadow:0 7px 22px #26382c08;transition:transform .2s,box-shadow .2s,border-color .2s}
.cabinet-quick-links a:hover{transform:translateY(-2px);border-color:#cbd9c9;box-shadow:0 12px 28px #26382c12}
.cabinet-quick-links a>span{grid-row:span 2;align-self:center;width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:#edf1e9;color:#537158;font:italic 13px var(--serif)}
.cabinet-quick-links a>b{font-size:14px;line-height:1.3}.cabinet-quick-links a>small{color:#737b71;font-size:10px;line-height:1.45}
.cabinet-main .my-bookings{min-width:0;display:grid;gap:11px}.cabinet-main .my-bookings-head{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cabinet-main .my-booking{min-width:0;padding:16px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid #e1e6dd;border-radius:16px;background:#fffefa;box-shadow:0 6px 18px #26382c08}
.cabinet-main .my-booking>*{min-width:0}.cabinet-main .my-booking-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.cabinet-main .loyalty-card,.cabinet-main .profile-hub,.cabinet-main .cabinet-support,.cabinet-main .friend-card{min-width:0;border:1px solid #e3e5dc;border-radius:22px;background:#fffefa;box-shadow:0 12px 30px #26382c0a}
.cabinet-main .profile-hub,.cabinet-main .cabinet-support,.cabinet-main .friend-card{padding:clamp(18px,3vw,27px)}
.cabinet-main .profile-fields,.cabinet-main .support-ticket-form{min-width:0;gap:14px}.cabinet-main :is(input,select,textarea){max-width:100%;min-width:0;border-radius:12px}
.cabinet-main button,.cabinet-toolbar-button{min-height:44px;border-radius:12px}
 :is(html,body)[data-season="winter"] .cabinet-page{background:#edf5f8!important}
 :is(html,body)[data-season="newyear"] .cabinet-page{background:#f6f1e7!important}
 :is(html,body)[data-season="winter"] .cabinet-main .cabinet-quick-links a, :is(html,body)[data-season="winter"] .cabinet-main .my-booking, :is(html,body)[data-season="winter"] .cabinet-main .profile-hub, :is(html,body)[data-season="winter"] .cabinet-main .cabinet-support{border-color:#cfe0e5;background:#fafdfe}
 :is(html,body)[data-season="newyear"] .cabinet-main .cabinet-quick-links a, :is(html,body)[data-season="newyear"] .cabinet-main .my-booking, :is(html,body)[data-season="newyear"] .cabinet-main .profile-hub, :is(html,body)[data-season="newyear"] .cabinet-main .cabinet-support{border-color:#dfd3b5;background:#fffaf0}
@media(max-width:760px){
 .cabinet-frame{width:calc(100% - 32px);padding-bottom:104px}
 .cabinet-main{gap:12px;padding-top:14px}
 .cabinet-greeting{grid-template-columns:minmax(0,1fr);gap:17px;padding:21px 18px;border-radius:20px}
 .cabinet-greeting-stat{width:100%;padding:13px}
 .cabinet-quick-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .cabinet-quick-links a{min-height:104px;padding:13px 11px;grid-template-columns:28px minmax(0,1fr);gap:4px 8px;border-radius:15px}
 .cabinet-quick-links a>span{width:28px;height:28px;font-size:11px}.cabinet-quick-links a>b{font-size:11px}.cabinet-quick-links a>small{font-size:8px}
 .cabinet-main .my-booking{grid-template-columns:minmax(0,1fr);gap:10px;padding:13px;border-radius:15px}
 .cabinet-main .my-booking-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.cabinet-main .my-booking-actions>*{min-width:0;width:100%}
 .cabinet-main .loyalty-card,.cabinet-main .profile-hub,.cabinet-main .cabinet-support,.cabinet-main .friend-card{border-radius:18px}
}
@media(max-width:390px){.cabinet-frame{width:calc(100% - 24px)}.cabinet-greeting{padding:18px 15px}.cabinet-quick-links{gap:7px}.cabinet-quick-links a{padding:12px 9px;grid-template-columns:24px minmax(0,1fr);gap:5px}.cabinet-quick-links a>span{width:24px;height:24px;font-size:10px}.cabinet-quick-links a>b{font-size:10px}.cabinet-quick-links a>small{font-size:7px}}

/* Team management is a first-class access section with an obvious add-admin action. */
.admin-page #admin-users{min-width:0;margin:0 0 16px;padding:clamp(19px,3vw,30px);border:1px solid #dfe6dc;border-radius:22px;background:#fbfcf9;box-shadow:0 10px 30px #23392a0c}
.admin-page .admin-users-head h2{margin:8px 0;font-size:clamp(28px,4vw,39px)}
.admin-page .admin-users-head p{max-width:650px;color:#69766b;font-size:11px;line-height:1.65}
.admin-page .admin-invite-form{min-width:0;margin:18px 0;padding:17px;display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.55fr) auto;align-items:end;gap:12px;border:1px solid #e3e8df;border-radius:17px;background:#f6f8f3}
.admin-page .admin-invite-form label{min-width:0;display:grid;gap:7px;color:#4e6354;font-size:10px;font-weight:750}
.admin-page .admin-invite-form input,.admin-page .admin-invite-form select{width:100%;min-height:46px;padding:0 12px;border:1px solid #d8e1d6;border-radius:12px;background:white;color:#2b3c31;font:500 12px var(--sans)}
.admin-page .admin-invite-form button{min-height:46px;padding:0 18px;border-radius:12px;background:#315b43;color:#fff;font-weight:800;white-space:normal}
.admin-page .admin-invite-form small{grid-column:1/-1;min-height:14px;color:#59745f;font-size:10px}
.admin-page .admin-users-columns{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.admin-page .admin-users-columns>section{min-width:0;padding:16px;border:1px solid #e4e8e1;border-radius:16px;background:#fff}
.admin-page .admin-users-columns h3{margin:0 0 12px;color:#304838;font:650 14px var(--sans)}
.admin-page .admin-user-row,.admin-page .admin-invite-row{min-width:0;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid #edf0ea}
.admin-page .admin-user-meta,.admin-page .admin-invite-row>span{min-width:0;display:grid;gap:4px}.admin-page .admin-user-meta b,.admin-page .admin-invite-row b{overflow-wrap:anywhere;font-size:11px}.admin-page .admin-user-meta small,.admin-page .admin-invite-row small{color:#718074;font-size:9px;line-height:1.45}
.admin-page .admin-user-row select{min-width:95px;max-width:135px;min-height:38px;padding:0 7px;border:1px solid #dfe5dd;border-radius:10px;background:#fff;font-size:9px}
.admin-page .admin-user-row button,.admin-page .admin-invite-row button{min-height:38px;padding:7px 10px;border:1px solid #e3d4cf;border-radius:10px;background:#fbf1ee;color:#914d46;font-size:9px;font-weight:750}
.admin-page .admin-invite-row{grid-template-columns:minmax(0,1fr) auto}.admin-page .admin-invite-row>div{display:flex;flex-wrap:wrap;gap:6px}.admin-page .admin-invite-row button[data-request-decision="approve"]{border-color:#cfe0ce;background:#edf5ea;color:#3d6949}
.admin-page .admin-management-empty{margin:0;padding:13px;border-radius:12px;background:#f5f7f2;color:#718074;font-size:10px;line-height:1.6}
@media(max-width:760px){.admin-page .admin-invite-form{grid-template-columns:minmax(0,1fr);padding:13px}.admin-page .admin-invite-form small{grid-column:auto}.admin-page .admin-invite-form button{width:100%}.admin-page .admin-users-columns{grid-template-columns:minmax(0,1fr)}.admin-page .admin-user-row{grid-template-columns:32px minmax(0,1fr);gap:8px}.admin-page .admin-user-row select,.admin-page .admin-user-row button{grid-row:2}.admin-page .admin-user-row select{grid-column:2;max-width:none}.admin-page .admin-user-row button{grid-column:1/-1;width:100%}.admin-page .admin-invite-row{grid-template-columns:minmax(0,1fr)}.admin-page .admin-invite-row>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-page .admin-invite-row button{min-height:44px}}
''')
PY
python3 - <<'PY'
from pathlib import Path
compile(Path('cherry-redesign/serve.py').read_text(),'serve.py','exec')
print('serve.py syntax OK')
PY
node --check cherry-redesign/app.js

/* Separate website access, Telegram binding, and bot roles visually. */
.admin-page #admin-users[hidden],
.admin-page #web-admin-invite-panel[hidden],
.admin-page #admin-member-form[hidden],
.admin-page #admin-member-request-form[hidden],
.admin-page #admin-telegram-result[hidden],
.admin-page #admin-telegram-unlink[hidden],
.admin-page #web-admin-invite-result[hidden]{display:none!important}
.admin-page .admin-users-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-page .web-admin-invite-panel,.admin-page .bot-admin-panel{min-width:0;margin:16px 0;padding:clamp(15px,2.4vw,22px);border:1px solid #e3e8df;border-radius:18px;background:linear-gradient(145deg,#f7f9f4,#fff)}
.admin-page .admin-access-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.admin-page .admin-access-heading h3{margin:7px 0;color:#304838;font:600 clamp(20px,2vw,27px)/1.15 var(--serif)}
.admin-page .admin-access-heading p{max-width:680px;margin:0;color:#69766b;font-size:11px;line-height:1.7}
.admin-page .web-admin-invite-result{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin:12px 0;padding:13px;border:1px solid #cddfce;border-radius:14px;background:#f1f7ef}
.admin-page .web-admin-invite-result[hidden]{display:none!important}
.admin-page .web-admin-invite-result label{display:grid;gap:6px;color:#4e6354;font-size:10px;font-weight:750}
.admin-page .web-admin-invite-result input{width:100%;min-width:0;min-height:44px;padding:0 11px;border:1px solid #d5e0d3;border-radius:10px;background:#fff;color:#304838;font-size:11px}
.admin-page .web-admin-invite-result button,.admin-page .web-admin-invites-list button{min-height:44px;padding:0 14px;border:1px solid #d3ded1;border-radius:11px;background:#fff;color:#315b43;font-size:10px;font-weight:750;cursor:pointer}
.admin-page .web-admin-invites-list{display:grid;gap:7px}
.admin-page .admin-telegram-link{margin:16px 0;padding:clamp(16px,2.5vw,23px);grid-template-columns:minmax(0,1fr) minmax(200px,.55fr);border-color:#dce5dc;border-radius:18px;background:radial-gradient(ellipse at 100% 0%,#e8f1e6,transparent 55%),#f8faf6}
.admin-page .admin-telegram-link h3{margin:7px 0;color:#304838;font:600 clamp(21px,2vw,27px)/1.15 var(--serif)}
.admin-page .admin-telegram-link small{display:block;margin-top:9px;color:#59745f;font-size:10px}
.admin-page .admin-telegram-result{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:9px}
.admin-page .admin-telegram-result[hidden]{display:none!important}
.admin-page .bot-admin-panel>.admin-users-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
.admin-page .bot-admin-add-form{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) auto}
.admin-page .bot-admin-add-form[hidden]{display:none!important}
@media(max-width:1050px){.admin-page #admin-users-columns,.admin-page .bot-admin-panel>.admin-users-columns{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .admin-page .web-admin-invite-result{grid-template-columns:minmax(0,1fr)}
 .admin-page .web-admin-invite-result button{width:100%}
 .admin-page .admin-telegram-link{grid-template-columns:minmax(0,1fr)}
 .admin-page .admin-telegram-result{grid-column:auto}
 .admin-page .admin-access-heading h3{font-size:23px}
}
@media(max-width:760px){.admin-page .admin-user-row select{grid-row:2;grid-column:1/-1;width:100%;max-width:none}.admin-page .admin-user-row button{grid-row:3;grid-column:1/-1;width:100%}}

/* Compact, touch-safe admin controls and stable mobile navigation. */
.admin-page .inline-delete-confirm{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:9px;padding:10px 12px;border:1px solid #e5d2b2;border-radius:13px;background:#fff9ed;color:#534633;font-size:11px}
.admin-page .inline-delete-confirm span{margin-right:auto}
.admin-page .inline-delete-confirm button{min-height:40px;padding:8px 14px;border:1px solid #d7c7aa;border-radius:10px;background:#fff;color:#554835;font:700 11px/1.2 var(--sans)}
.admin-page .inline-delete-confirm button[data-delete-yes]{border-color:#9a4642;background:#9a4642;color:#fff}
.admin-page .admin-booking-datetime{display:flex;flex-wrap:wrap;gap:8px 15px;margin:0 0 9px;color:#657168;font-size:11px;font-weight:700}
.admin-page .admin-booking-datetime span{display:inline-flex;align-items:center;gap:7px}
.admin-page .admin-booking-datetime svg,.admin-page .admin-booking button svg,.admin-page .booking-edit summary svg,.admin-page .booking-edit button svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-page .admin-booking-controls{gap:11px}
.admin-page .admin-booking .admin-primary-action button,.admin-page .admin-booking .admin-buttons button,.admin-page .booking-edit summary,.admin-page .booking-edit form button{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;border:1px solid #dfe4dd;border-radius:12px;background:#fff;color:#35483b;font:700 11px/1.2 var(--sans);text-align:center;cursor:pointer}
.admin-page .admin-booking .admin-primary-action button{width:100%;border-color:#c8d8c9;background:linear-gradient(135deg,#eff6ed,#e4efe2);color:#315c3e}
.admin-page .admin-booking .admin-action-reject{color:#8c4b45}
.admin-page .admin-booking .admin-action-delete{color:#73736e}
.admin-page .booking-edit{grid-column:1/-1;margin-top:8px;padding-top:10px;border-top:1px solid #e9ece7}
.admin-page .booking-edit summary{width:100%;justify-content:flex-start;list-style:none;cursor:pointer}
.admin-page .booking-edit summary::-webkit-details-marker{display:none}
.admin-page .booking-edit form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:12px 0 2px}
.admin-page[data-admin-view="settings"] #admin-users{display:none!important}
.admin-page[data-admin-view="settings"] #season-theme-panel:not([hidden]){display:block!important}
.admin-page[data-admin-view="stats"] #admin-app,
.admin-page[data-admin-view="stats"] .admin-notice,
.admin-page[data-admin-view="stats"] .admin-logout,
.admin-page[data-admin-view="stats"] .admin-telegram-link,
.admin-page[data-admin-view="stats"] #admin-users,
.admin-page[data-admin-view="stats"] #season-theme-panel,
.admin-page[data-admin-view="stats"] .campaign-settings,
.admin-page[data-admin-view="stats"] .campaign-links,
.admin-page[data-admin-view="stats"] .senior-schedule-admin,
.admin-page[data-admin-view="stats"] .admin-support-inbox{display:none!important}
.admin-page[data-admin-view="stats"] .campaign-analytics{display:block!important;margin:0!important}
.admin-page[data-admin-view="stats"] .admin-notice{display:none!important}
.admin-page #admin-member-form .bot-admin-wizard-step{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:11px}
.admin-page #admin-member-form .bot-admin-wizard-step[hidden]{display:none!important}
.admin-page .bot-admin-invite-preview{grid-column:1/-1;padding:13px 15px;border:1px solid #dfe7dd;border-radius:13px;background:#f5f8f2;color:#354b3c;font-size:12px;font-weight:750}
.admin-page .bot-admin-wizard-actions{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:9px}
.admin-page .bot-admin-wizard-actions button{min-height:45px;padding:9px 14px;border:1px solid #dce3da;border-radius:12px;background:#fff;color:#47564a;font:700 11px var(--sans)}
.admin-page .season-theme-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:720px){
 .admin-page .admin-booking{grid-template-columns:minmax(0,1fr)!important;gap:13px!important;padding:16px 0!important}
 .admin-page .admin-booking-controls{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:9px!important}
 .admin-page .admin-booking-controls .status-chip{justify-self:start!important}
 .admin-page .admin-booking .admin-primary-action,.admin-page .admin-booking .admin-buttons{width:100%;grid-column:1;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .admin-page .admin-booking .admin-primary-action button,.admin-page .admin-booking .admin-buttons button{width:100%;min-width:0;min-height:48px!important;padding:8px!important;font-size:10px!important}
 .admin-page .booking-edit form{grid-template-columns:1fr!important}
 .admin-page .inline-delete-confirm{justify-content:stretch}
 .admin-page .inline-delete-confirm span{width:100%}
 .admin-page .inline-delete-confirm button{flex:1}
 .admin-page #admin-member-form .bot-admin-wizard-step{grid-template-columns:1fr}
 .admin-page .bot-admin-wizard-actions>*{flex:1}
}
@media(max-width:760px){
 body:not(.admin-page) .app-dock,.cabinet-page .cabinet-page-nav{position:fixed!important;z-index:60!important;box-sizing:border-box!important;transition:transform .18s ease,background-color .2s ease,border-color .2s ease!important;animation:none!important;transform:translate3d(0,0,0)!important}
 body:not(.admin-page) .app-dock{left:10px!important;right:10px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;height:68px!important;min-height:68px!important;max-height:68px!important;padding:5px 7px!important;display:flex!important;align-items:stretch!important;gap:3px!important;border-radius:20px!important}
 body:not(.admin-page) .app-dock a{min-width:0!important;min-height:0!important;height:100%!important;flex:1 1 0!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;box-sizing:border-box!important}
 .cabinet-page .cabinet-page-nav{left:10px!important;right:10px!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;height:68px!important;min-height:68px!important;max-height:68px!important;padding:5px 7px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;border-radius:20px!important}
 .cabinet-page .cabinet-page-nav a{height:100%!important;min-height:0!important;padding:3px 1px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:4px!important;box-sizing:border-box!important}
 .cabinet-page .cabinet-main[data-view="bookings"]{gap:20px!important}
}
.admin-page .schedule-edit-row [data-remove-group]{min-height:42px;padding:8px 12px;border:1px solid #e3d4ce;border-radius:11px;background:#fff8f6;color:#8a4843;font:700 10px/1.25 var(--sans);cursor:pointer}
@media(max-width:760px){.admin-page .schedule-edit-row [data-remove-class],.admin-page .schedule-edit-row [data-remove-group]{width:100%;min-height:46px}}
.admin-page .schedule-edit-row [data-remove-group]{min-height:42px;padding:8px 12px;border:1px solid #e3d4ce;border-radius:11px;background:#fff8f6;color:#8a4843;font:700 10px/1.25 var(--sans);cursor:pointer}
@media(max-width:760px){.admin-page .schedule-edit-row [data-remove-class],.admin-page .schedule-edit-row [data-remove-group]{width:100%;min-height:46px}}

html[data-cabinet-theme="dark"]{--night-bg:#0b0b0e;--night-panel:#131317;--night-panel-2:#19191f;--night-panel-3:#202027;--night-edge:#b79a6730;--night-edge-strong:#c2a46a5a;--night-text:#d4cbbc;--night-muted:#968f85;--night-gold:#c3a66e;--night-cherry:#a44b50;background:#0b0b0e;color:var(--night-text);color-scheme:dark}
html[data-cabinet-theme="dark"] body.cabinet-page{background:transparent!important;color:var(--night-text)}
html[data-cabinet-theme="dark"] body.cabinet-page:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 82% -6%,#44352838,transparent 35%),radial-gradient(ellipse at 0% 54%,#39222c30,transparent 42%),linear-gradient(155deg,#0c0c10,#111014 55%,#0b0b0e)}
html[data-cabinet-theme="dark"] .cabinet-frame{color:var(--night-text)}
html[data-cabinet-theme="dark"] :is(.cabinet-toolbar,.cabinet-page-nav,.cabinet-greeting,.profile-hub,.cabinet-support,.my-bookings,.my-booking,.support-ticket,.auth-shell,.profile-settings-dialog,.cabinet-notification-dialog,.booking-picker,.booking-dialog,.support-ticket-waiting,.booking-flow-note,.booking-summary,.cabinet-notification-item){color:var(--night-text)!important;border-color:var(--night-edge)!important;background:linear-gradient(150deg,#1a191e,#141419 72%)!important;box-shadow:0 20px 60px #0007,inset 0 1px #ffffff06!important}
html[data-cabinet-theme="dark"] .cabinet-toolbar{background:#111115ef!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
html[data-cabinet-theme="dark"] .cabinet-greeting{position:relative;overflow:hidden;background:radial-gradient(ellipse at 78% 12%,#836b4233,transparent 35%),linear-gradient(125deg,#1b191c,#17161b 62%,#211a1d)!important}
html[data-cabinet-theme="dark"] .cabinet-greeting:after{border-color:#c0a36a36;box-shadow:0 0 0 24px #c0a36a0b,0 0 0 54px #c0a36a08,0 0 0 88px #c0a36a05}
html[data-cabinet-theme="dark"] .cabinet-stat-ring{border-color:#b99b66;color:#c6a96e}
html[data-cabinet-theme="dark"] :is(.cabinet-greeting h1,.cabinet-type-title,.profile-name,.profile-identity h2,.cabinet-support h2,.profile-settings-dialog h2,.booking-picker h2,.support-ticket header b,.my-booking b,.my-bookings-head){color:#d8cfbf!important}
html[data-cabinet-theme="dark"] :is(.cabinet-greeting p,.cabinet-greeting-stat span,.cabinet-main p,.cabinet-main small,.cabinet-main label,.cabinet-main .eyebrow,.profile-identity p,.support-ticket>small,.booking-flow-note,.inline-note,.my-booking small,.loyalty-details-copy>p,.loyalty-details-copy>small,.loyalty-card-hint){color:var(--night-muted)}
html[data-cabinet-theme="dark"] :is(.cabinet-greeting .eyebrow,.cabinet-greeting-stat small,.cabinet-stat-ring,.cabinet-main .eyebrow){color:var(--night-gold)}
html[data-cabinet-theme="dark"] .cabinet-page-nav{background:#121216ef!important;border-color:var(--night-edge)!important;box-shadow:0 14px 40px #0006}
html[data-cabinet-theme="dark"] .cabinet-page-nav a{color:#a49b8e!important}
html[data-cabinet-theme="dark"] .cabinet-page-nav a.is-active{color:#dec994!important;border-color:#bda16a55!important;background:linear-gradient(140deg,#2a251e,#211f20)!important;box-shadow:inset 0 1px #d4b97712,0 8px 24px #0004}
html[data-cabinet-theme="dark"] :is(.cabinet-main input,.cabinet-main select,.cabinet-main textarea,.profile-settings-dialog input,.profile-settings-dialog select,.booking-picker input,.booking-picker select,.support-ticket-reply textarea,.custom-select-button){color:#d3cbbc!important;background:#0f0f13!important;border-color:#b69a6538!important;box-shadow:inset 0 1px #ffffff04!important}
html[data-cabinet-theme="dark"] :is(.cabinet-main input,.cabinet-main select,.cabinet-main textarea,.profile-settings-dialog input,.profile-settings-dialog select,.booking-picker input,.booking-picker select,.support-ticket-reply textarea):focus{outline:2px solid #b99a6240;outline-offset:1px;border-color:#c2a46a88!important}
html[data-cabinet-theme="dark"] ::placeholder{color:#77736d!important;opacity:1}
html[data-cabinet-theme="dark"] :is(.cabinet-toolbar-button,.profile-settings-close,.my-booking-actions button,.booking-amend summary,.support-ticket-reply button,.cabinet-main button:not(.pill)){color:#cfc3aa!important;background:linear-gradient(145deg,#252329,#1d1c22)!important;border-color:#b99a6240!important;box-shadow:inset 0 1px #ffffff07,0 8px 20px #0003}
html[data-cabinet-theme="dark"] :is(.cabinet-main .pill,.cabinet-main .booking-next,.cabinet-main .booking-launch,.cabinet-main .support-ticket-form button){color:#171512!important;background:linear-gradient(135deg,#b49760,#8e7448)!important;border:1px solid #d2b9796b!important;box-shadow:0 10px 25px #0005,inset 0 1px #fff2!important}
html[data-cabinet-theme="dark"] :is(.cabinet-main .pill,.cabinet-main .booking-next,.cabinet-main .booking-launch):hover{filter:brightness(1.08);transform:translateY(-1px)}
html[data-cabinet-theme="dark"] .my-booking-status{background:#302a20!important;color:#d4bb83!important;border:1px solid #b99a6230}
html[data-cabinet-theme="dark"] .support-ticket-state{background:#2d2821;color:#cdb47c}
html[data-cabinet-theme="dark"] :is(.support-ticket-message,.cabinet-notification-item,.booking-amend form){background:#201f25!important;color:#cec5b8!important;border-color:#ffffff0c!important}
html[data-cabinet-theme="dark"] .support-ticket-message.from-support{background:#28232a!important;border-color:#b99a6230!important}
html[data-cabinet-theme="dark"] .support-ticket-reply{border-color:#ffffff12!important}
html[data-cabinet-theme="dark"] .profile-live{color:#c1aa7a}
html[data-cabinet-theme="dark"] .profile-monogram{background:#302a25;color:#c5a66d;border-color:#b99a6233}
html[data-cabinet-theme="dark"] .loyalty-card{background:radial-gradient(ellipse at 0% 100%,#57412e29,transparent 47%),linear-gradient(145deg,#17171b,#111115)!important;border:1px solid var(--night-edge)!important;box-shadow:0 25px 70px #0008!important}
html[data-cabinet-theme="dark"] .membership-card.loyalty-card-front{background:radial-gradient(ellipse at 100% 0%,#80664338,transparent 40%),linear-gradient(145deg,#242126,#17171d 68%,#21191d)!important;border:1px solid #c3a46b55;color:#d9cfbd}
html[data-cabinet-theme="dark"] .membership-card-back{background:linear-gradient(145deg,#262329,#19181e)!important;border:1px solid #b99a6248;color:#d6cbb8}
html[data-cabinet-theme="dark"] .loyalty-qr-help{background:#1d1c22!important;border-color:#b99a622b!important;color:#cfc5b6}
html[data-cabinet-theme="dark"] .loyalty-qr-help img{background:#e6dfd0;border-radius:7px}
html[data-cabinet-theme="dark"] .loyalty-qr{background:#e6dfd0;border-radius:8px}
html[data-cabinet-theme="dark"] .loyalty-progress{background:#302c2a}
html[data-cabinet-theme="dark"] .loyalty-progress i{background:linear-gradient(90deg,#927444,#c8aa6f)}
html[data-cabinet-theme="dark"] .cabinet-theme-toggle{background:linear-gradient(145deg,#242329,#1b1a20)!important;border:1px solid #b99a6255!important;color:#c8ab70!important;box-shadow:0 8px 24px #0005,inset 0 1px #ffffff08}
html[data-cabinet-theme="dark"] .cabinet-theme-toggle svg{stroke:#c8ab70}

/* Mobile admin menu: full-screen Cherry control room with animated destination cards. */
@media(max-width:760px){
 .admin-page.admin-menu-open .admin-toolbar{position:sticky;top:0;z-index:241!important;background:#f7f5f0fa!important}
 .admin-page .admin-menu-toggle{position:relative;z-index:242}
 .admin-page .admin-page-nav{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:calc(96px + env(safe-area-inset-top)) clamp(16px,5vw,30px) calc(22px + env(safe-area-inset-bottom))!important;display:none!important;align-content:center!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-rows:minmax(68px,auto)!important;gap:11px!important;overflow-y:auto!important;border:0!important;border-radius:0!important;background:radial-gradient(ellipse at 8% 0%,#f0e5d4 0,transparent 38%),radial-gradient(ellipse at 100% 100%,#e5e8db 0,transparent 43%),linear-gradient(145deg,#fbf8f1,#f1eee6)!important;box-shadow:none!important;z-index:240!important;overscroll-behavior:contain}
 .admin-page.admin-menu-open .admin-page-nav{display:grid!important;animation:admin-menu-surface-in .32s cubic-bezier(.2,.75,.25,1) both}
 .admin-page .admin-page-nav:before{content:"CHERRY STUDIO · CONTROL ROOM";position:absolute;top:calc(77px + env(safe-area-inset-top));left:clamp(20px,6vw,38px);font:800 9px/1 var(--sans);letter-spacing:.2em;color:#8f7855;pointer-events:none}
 .admin-page .admin-page-nav a{min-width:0;min-height:68px!important;padding:13px 14px!important;display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:11px!important;border:1px solid #c7b89780!important;border-radius:17px!important;background:linear-gradient(145deg,#fffdf8f0,#f6f1e7e8)!important;color:#35312d!important;box-shadow:0 12px 30px #392c1c0d,inset 0 1px #fff!important;font-size:11px!important;font-weight:800!important;text-align:left!important;transition:transform .2s,border-color .2s,box-shadow .2s,background .2s!important;animation:admin-menu-item-in .35s both}
 .admin-page .admin-page-nav a:nth-child(2){animation-delay:.025s}.admin-page .admin-page-nav a:nth-child(3){animation-delay:.05s}.admin-page .admin-page-nav a:nth-child(4){animation-delay:.075s}.admin-page .admin-page-nav a:nth-child(5){animation-delay:.1s}.admin-page .admin-page-nav a:nth-child(6){animation-delay:.125s}.admin-page .admin-page-nav a:nth-child(7){animation-delay:.15s}.admin-page .admin-page-nav a:nth-child(8){animation-delay:.175s}
 .admin-page .admin-page-nav a:active{transform:scale(.975)}
 .admin-page .admin-page-nav a.is-active{border-color:#bb9c6878!important;background:linear-gradient(135deg,#eee4d2,#f8f2e7)!important;color:#724741!important;box-shadow:0 12px 30px #654b2617,inset 0 1px #fff!important}
 .admin-page .admin-page-nav a svg{width:21px!important;height:21px!important;flex:none!important;padding:3px;box-sizing:content-box;border-radius:10px;background:#eee8dc;color:#856c48;stroke:currentColor!important}
 .admin-page .admin-page-nav a.is-active svg{background:#eadac0;color:#8c5550}
}
@media(max-width:430px){.admin-page .admin-page-nav{grid-template-columns:1fr!important;grid-auto-rows:minmax(57px,auto)!important;gap:8px!important;padding-inline:18px!important}.admin-page .admin-page-nav a{min-height:57px!important;padding:10px 13px!important}.admin-page .admin-page-nav:before{top:calc(78px + env(safe-area-inset-top))}}
@keyframes admin-menu-surface-in{from{opacity:0}to{opacity:1}}
@keyframes admin-menu-item-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.admin-page.admin-menu-open .admin-page-nav,.admin-page .admin-page-nav a{animation:none!important;transition:none!important}}

.cabinet-main[data-view="bookings"]{row-gap:25px!important}
.cabinet-main[data-view="bookings"] .booking-launch{margin:0!important}
.cabinet-main[data-view="bookings"] .my-bookings{margin-top:0}
.booking-actions{display:flex;flex-direction:row!important;justify-content:space-between!important;gap:10px}
.booking-actions .booking-next{order:1!important;margin-left:0!important}
.booking-actions .booking-back{order:2!important;margin-left:auto!important}
@media(max-width:720px){.app-dock{grid-template-columns:repeat(5,minmax(0,1fr))!important}}
@media(max-width:430px){.cabinet-main[data-view="bookings"]{row-gap:21px!important}.booking-actions{gap:8px}}

/* Black Cherry: the cabinet's dark appearance is a complete, low-glare theme. */
html[data-cabinet-theme="dark"]{
 color-scheme:dark;
 --night-bg:#0b0a0d;--night-bg-soft:#100e12;--night-panel:#151217;--night-panel-raised:#1b171d;
 --night-panel-inset:#100e12;--night-line:#d1b48628;--night-line-strong:#c39a6652;
 --night-text:#eee5da;--night-body:#c5b9ad;--night-muted:#9e9290;--night-faint:#766d70;
 --night-gold:#c6a477;--night-rose:#c77870;--night-shadow:0 22px 60px #0008;
 background:var(--night-bg)!important;color:var(--night-text)!important
}
html[data-cabinet-theme="dark"] body.cabinet-page{
 color:var(--night-body)!important;
 background:radial-gradient(ellipse at 52% -18%,#6b41451d,transparent 46%),radial-gradient(ellipse at 100% 38%,#634b3210,transparent 34%),linear-gradient(160deg,#0b0a0d 0%,#100e12 54%,#0b0a0d 100%)!important;
 background-attachment:fixed!important
}
html[data-cabinet-theme="dark"] .cabinet-page :is(.cabinet-frame,.cabinet-main){color:var(--night-body)}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-toolbar{
 background:#100e12eF!important;border:1px solid var(--night-line)!important;border-radius:22px!important;
 box-shadow:0 15px 50px #0005,inset 0 1px #ffffff08!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)
}
html[data-cabinet-theme="dark"] .cabinet-brand{color:var(--night-text)!important}
html[data-cabinet-theme="dark"] .cabinet-brand i{color:var(--night-gold)!important}
html[data-cabinet-theme="dark"] .cabinet-brand small{color:var(--night-muted)!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-toolbar-button{
 position:relative;width:46px;height:46px;min-height:46px!important;padding:0!important;display:grid;place-items:center;
 color:var(--night-gold)!important;background:linear-gradient(145deg,#211b20,#171419)!important;
 border:1px solid var(--night-line-strong)!important;border-radius:15px!important;box-shadow:inset 0 1px #ffffff09,0 7px 20px #0003!important
}
html[data-cabinet-theme="dark"] .cabinet-toolbar-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main{gap:18px;padding-top:23px}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-greeting{
 position:relative;isolation:isolate;overflow:hidden;min-height:250px;padding:clamp(27px,5vw,52px);
 grid-template-columns:minmax(0,1fr) minmax(220px,.36fr);align-items:end;gap:28px;
 border:1px solid #c8a57738!important;border-radius:28px!important;
 background:radial-gradient(ellipse at 88% 12%,#9a634226,transparent 34%),linear-gradient(115deg,#21171b 0%,#19151a 48%,#171319 100%)!important;
 box-shadow:0 28px 70px #0006,inset 0 1px #ffffff0a!important
}
html[data-cabinet-theme="dark"] .cabinet-greeting:before{content:"";position:absolute;z-index:-1;width:340px;height:340px;right:-115px;top:-180px;border:1px solid #c6a47724;border-radius:50%;box-shadow:0 0 0 24px #c6a47708,0 0 0 54px #c6a47706,0 0 0 90px #c6a47704;pointer-events:none}
html[data-cabinet-theme="dark"] .cabinet-greeting:after{border-color:#c6a47735!important;box-shadow:0 0 0 27px #c6a47708,0 0 0 58px #c6a47705!important}
html[data-cabinet-theme="dark"] .cabinet-greeting-copy .eyebrow,html[data-cabinet-theme="dark"] .cabinet-main .eyebrow{color:var(--night-gold)!important}
html[data-cabinet-theme="dark"] .cabinet-type-title{max-width:780px;color:var(--night-text)!important;font-size:clamp(39px,6.4vw,76px)!important;letter-spacing:-.055em!important;line-height:1.02!important}
html[data-cabinet-theme="dark"] .cabinet-type-title em,html[data-cabinet-theme="dark"] .cabinet-main h2 em{color:#d19384!important}
html[data-cabinet-theme="dark"] .cabinet-greeting-copy>p{max-width:500px;color:#b9aaa6!important;font-size:13px;line-height:1.8}
html[data-cabinet-theme="dark"] .cabinet-greeting-stat{position:relative;z-index:1;padding:18px!important;border:1px solid #c7a47138!important;border-radius:19px!important;background:linear-gradient(145deg,#2a2022d9,#1b171ce8)!important;box-shadow:0 12px 32px #0003,inset 0 1px #ffffff09!important}
html[data-cabinet-theme="dark"] .cabinet-stat-ring{width:48px;height:48px;border:1px solid #c5a17070!important;background:#bd9a5d10;color:#d2b27c!important}
html[data-cabinet-theme="dark"] .cabinet-greeting-stat small{color:#c8a976!important;letter-spacing:.14em}
html[data-cabinet-theme="dark"] .cabinet-greeting-stat b{color:#f0e6d9!important;font-size:15px}
html[data-cabinet-theme="dark"] .cabinet-greeting-stat span{color:#a99a96!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.cabinet-quick-links a,.friend-card,.profile-hub,.cabinet-support,.my-bookings,.my-booking,.support-ticket,.support-ticket-empty,.empty-bookings,.profile-access-card,.loyalty-qr-help,.booking-picker,.booking-summary,.booking-flow-note,.support-ticket-waiting,.cabinet-notification-item){
 color:var(--night-body)!important;border-color:var(--night-line)!important;
 background:linear-gradient(145deg,#1b171d,#141217 78%)!important;box-shadow:0 16px 42px #0004,inset 0 1px #ffffff06!important
}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.friend-card,.profile-hub,.cabinet-support,.my-bookings){border-radius:23px!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links{gap:13px}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links a{position:relative;overflow:hidden;min-height:112px;border-radius:19px!important;transition:transform .22s,border-color .22s,box-shadow .22s!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links a:after{content:"";position:absolute;inset:auto 18px 0;height:1px;background:linear-gradient(90deg,transparent,#c6a47760,transparent);opacity:.7}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links a:hover{transform:translateY(-3px);border-color:var(--night-line-strong)!important;box-shadow:0 22px 42px #0006,inset 0 1px #ffffff0a!important}
html[data-cabinet-theme="dark"] .cabinet-quick-links a>span{background:linear-gradient(145deg,#302329,#241b20)!important;color:#d0aa7c!important;border:1px solid #bd91623b}
html[data-cabinet-theme="dark"] .cabinet-quick-links a>b,html[data-cabinet-theme="dark"] .cabinet-main h2,html[data-cabinet-theme="dark"] .cabinet-main h3{color:var(--night-text)!important}
html[data-cabinet-theme="dark"] .cabinet-quick-links a>small,html[data-cabinet-theme="dark"] .cabinet-main p,html[data-cabinet-theme="dark"] .cabinet-main small,html[data-cabinet-theme="dark"] .cabinet-main label,html[data-cabinet-theme="dark"] .cabinet-main .inline-note{color:var(--night-muted)!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .loyalty-card{
 position:relative;overflow:hidden;gap:clamp(20px,4vw,42px);border:1px solid #c6a47749!important;border-radius:27px!important;
 background:radial-gradient(ellipse at 9% 100%,#854a3822,transparent 38%),linear-gradient(145deg,#1c171d,#120f14 68%,#191318)!important;
 box-shadow:0 28px 75px #0007,inset 0 1px #ffffff08!important
}
html[data-cabinet-theme="dark"] .membership-card.loyalty-card-front{border:1px solid #d2ad765c!important;border-radius:20px!important;background:radial-gradient(ellipse at 90% 8%,#d2ae6e28,transparent 38%),linear-gradient(135deg,#35272a,#211a21 57%,#17151b)!important;color:#f0e5d8!important;box-shadow:0 22px 48px #0007,inset 0 1px #f9e9cd16!important}
html[data-cabinet-theme="dark"] .membership-card-back{border:1px solid #c7a47157!important;border-radius:20px!important;background:linear-gradient(145deg,#262026,#17141a)!important;color:#eee3d6!important}
html[data-cabinet-theme="dark"] .membership-brand{color:#e7d5bc!important}html[data-cabinet-theme="dark"] .membership-brand i{color:#c9a876!important}
html[data-cabinet-theme="dark"] .membership-caption,html[data-cabinet-theme="dark"] .membership-bottom small,html[data-cabinet-theme="dark"] .membership-card-back small{color:#b7a69b!important}
html[data-cabinet-theme="dark"] .membership-name{color:#f1e7da!important}
html[data-cabinet-theme="dark"] .membership-tier{color:#d2b17a!important;border-color:#c6a47744!important;background:#c6a47712!important}
html[data-cabinet-theme="dark"] .membership-front-hint{color:#c6b7aa!important;border-color:#d8b98629!important}
html[data-cabinet-theme="dark"] .membership-front-hint b{color:#e0bd80!important}
html[data-cabinet-theme="dark"] .loyalty-details-copy h2{color:var(--night-text)!important}
html[data-cabinet-theme="dark"] .loyalty-details-copy>p,html[data-cabinet-theme="dark"] .loyalty-details-copy>small,html[data-cabinet-theme="dark"] .loyalty-card-hint{color:#aa9e9a!important}
html[data-cabinet-theme="dark"] .loyalty-code,html[data-cabinet-theme="dark"] .membership-card code{color:#d4b57f!important;border-color:#c6a47735!important}
html[data-cabinet-theme="dark"] .loyalty-progress{background:#312a2b!important}html[data-cabinet-theme="dark"] .loyalty-progress i{background:linear-gradient(90deg,#986b54,#d2b078)!important}
html[data-cabinet-theme="dark"] .loyalty-qr-help{border-radius:16px!important;background:#211b21!important;color:#ddd0c2!important}
html[data-cabinet-theme="dark"] .loyalty-qr-help p b{color:#e9dfd2!important}
html[data-cabinet-theme="dark"] .loyalty-qr-help img,html[data-cabinet-theme="dark"] .loyalty-qr{background:#efe7dc!important;border:5px solid #efe7dc;border-radius:9px!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.my-booking,.support-ticket){border-radius:18px!important}
html[data-cabinet-theme="dark"] .my-booking b,html[data-cabinet-theme="dark"] .my-bookings-head{color:#eee3d7!important}
html[data-cabinet-theme="dark"] .my-booking-status,html[data-cabinet-theme="dark"] .support-ticket-state{border:1px solid #c6a4773d!important;background:#322921!important;color:#d5b77f!important}
html[data-cabinet-theme="dark"] .support-ticket-message{border:1px solid #ffffff0d!important;border-radius:14px!important;background:#201b21!important;color:#e0d5ca!important}
html[data-cabinet-theme="dark"] .support-ticket-message.from-support{border-color:#c6a47732!important;background:#2b2227!important}
html[data-cabinet-theme="dark"] .profile-monogram{border:1px solid #c6a4774d!important;background:linear-gradient(145deg,#3a2928,#251d23)!important;color:#d0af7b!important}
html[data-cabinet-theme="dark"] .profile-live{color:#cfad79!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(input,select,textarea),html[data-cabinet-theme="dark"] .cabinet-page :is(.profile-settings-dialog input,.profile-settings-dialog select,.profile-settings-dialog textarea,.booking-picker input,.booking-picker select,.support-ticket-reply textarea){
 color:#eee4d8!important;background:#100e12!important;border:1px solid #c7a47138!important;border-radius:13px!important;box-shadow:inset 0 1px #ffffff05!important
}
html[data-cabinet-theme="dark"] .cabinet-page :is(input,select,textarea):focus{outline:2px solid #c6a47755!important;outline-offset:2px;border-color:#d0ad786d!important}
html[data-cabinet-theme="dark"] .cabinet-page ::placeholder{color:#766d70!important;opacity:1}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main button:not(.pill),html[data-cabinet-theme="dark"] .cabinet-page :is(.profile-settings-close,.my-booking-actions button,.booking-amend summary,.support-ticket-reply button){
 color:#e2d4c4!important;background:linear-gradient(145deg,#292127,#1d191f)!important;border:1px solid #c6a47740!important;border-radius:13px!important;box-shadow:inset 0 1px #ffffff08,0 8px 20px #0003!important
}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.pill,.booking-next,.booking-launch,.support-ticket-form button,.gift-code-redeem-form button){
 color:#211914!important;background:linear-gradient(135deg,#d0b27e,#b08a5b)!important;border:1px solid #e1c89570!important;border-radius:14px!important;box-shadow:0 12px 26px #0005,inset 0 1px #fff4!important
}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.pill,.booking-next,.booking-launch):hover{filter:brightness(1.07);transform:translateY(-2px)}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-page-nav{
 background:#100e12ef!important;border:1px solid #c6a47735!important;border-radius:23px!important;box-shadow:0 17px 48px #0008,inset 0 1px #ffffff08!important;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)
}
html[data-cabinet-theme="dark"] .cabinet-page-nav a{color:#95898a!important}
html[data-cabinet-theme="dark"] .cabinet-page-nav a svg{color:currentColor;stroke:currentColor}
html[data-cabinet-theme="dark"] .cabinet-page-nav a.is-active{border:1px solid #c6a47742!important;border-radius:15px!important;background:linear-gradient(145deg,#302329,#211b20)!important;color:#e1c18e!important;box-shadow:inset 0 1px #ffffff09,0 6px 20px #0004!important}
html[data-cabinet-theme="dark"] .cabinet-page .profile-settings-dialog,html[data-cabinet-theme="dark"] .cabinet-page .cabinet-notification-dialog,html[data-cabinet-theme="dark"] .cabinet-page .booking-dialog{
 color:var(--night-body)!important;background:linear-gradient(150deg,#1b171d,#110f13 82%)!important;border:1px solid var(--night-line-strong)!important;border-radius:24px!important;box-shadow:0 32px 100px #000b!important
}
html[data-cabinet-theme="dark"] .cabinet-page dialog::backdrop{background:#050407c9!important;backdrop-filter:blur(8px)}
html[data-cabinet-theme="dark"] .cabinet-page .profile-settings-dialog h2,html[data-cabinet-theme="dark"] .cabinet-page .cabinet-notification-dialog h2{color:var(--night-text)!important}
html[data-cabinet-theme="dark"] .cabinet-page .local-preview-note{border-color:#c6a47740!important;background:#19151a!important;color:#d8c8b8!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-toast{border:1px solid #c6a47745!important;background:#201a20!important;color:#eee4d8!important;box-shadow:0 18px 50px #0008!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-program-badge.is-senior{background:#302820!important;color:#d4b67d!important}
@media(max-width:760px){
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main{gap:14px;padding-top:17px}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-greeting{min-height:0;padding:25px 21px;gap:18px;border-radius:24px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-greeting-stat{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:13px;padding:14px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-type-title{font-size:clamp(36px,9vw,54px)!important}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .loyalty-card{gap:21px;padding:18px!important;border-radius:23px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-page-nav{height:70px!important;min-height:70px!important;max-height:70px!important;border-radius:21px!important}
}
@media(max-width:430px){
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links{gap:8px}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links a{min-height:102px;padding:12px 10px;border-radius:16px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-page-nav{left:9px!important;right:9px!important;bottom:max(7px,env(safe-area-inset-bottom))!important;padding:5px!important;gap:2px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .cabinet-page-nav a{font-size:8px!important;letter-spacing:-.02em}
}
@media(prefers-reduced-motion:reduce){html[data-cabinet-theme="dark"] *,html[data-cabinet-theme="dark"] *:before,html[data-cabinet-theme="dark"] *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Booking: clear separation, one strong confirmation action, then a quiet back action. */
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"]{
 gap:clamp(28px,3.6vw,48px)!important;row-gap:clamp(28px,3.6vw,48px)!important;column-gap:clamp(28px,3.6vw,48px)!important;align-items:start!important
}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch{
 position:relative;isolation:isolate;overflow:hidden;min-height:184px;padding:29px!important;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
 border:1px solid #c6a47751!important;border-radius:24px!important;
 background:radial-gradient(ellipse at 100% 0%,#c495562b,transparent 42%),linear-gradient(140deg,#271b20,#171419 75%)!important;
 color:#f0e4d5!important;text-align:left;font:500 clamp(25px,2.5vw,32px)/1.12 var(--serif)!important;
 box-shadow:0 22px 52px #0006,inset 0 1px #ffffff0b!important;transition:transform .2s,border-color .2s,box-shadow .2s!important
}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch:after{
 content:"Открой расписание и выбери удобное время";margin-top:15px;color:#b8a89d;font:500 11px/1.6 var(--sans)!important;letter-spacing:.01em
}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch:hover{transform:translateY(-3px);border-color:#d2ae766f!important;box-shadow:0 28px 60px #0008,inset 0 1px #ffffff0e!important}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .my-bookings{
 min-width:0;padding:clamp(20px,3vw,30px)!important;border:1px solid var(--night-line)!important;border-radius:24px!important;background:linear-gradient(150deg,#19151a,#131116 78%)!important;box-shadow:0 18px 48px #0005,inset 0 1px #ffffff06!important
}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .my-bookings-head{margin-bottom:5px}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions{
 display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:9px!important
}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-next{
 order:0!important;width:100%!important;min-height:58px!important;margin:0!important;display:inline-flex!important;align-items:center;justify-content:center;gap:12px;
 border:1px solid #e0c58f86!important;border-radius:16px!important;
 background:linear-gradient(135deg,#d4b782,#b38d5d)!important;color:#211912!important;
 box-shadow:0 12px 30px #0005,inset 0 1px #fff5!important;font-size:13px!important;letter-spacing:.01em
}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-next b{width:28px;height:28px;display:grid;place-items:center;border:1px solid #38291d32;border-radius:50%;background:#4b382516}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-next svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-back{
 order:1!important;width:100%!important;min-height:48px!important;margin:0!important;padding:0 16px!important;
 border:1px solid #c6a47730!important;border-radius:14px!important;background:#ffffff04!important;color:#b8a99d!important;
 box-shadow:none!important;font-size:11px!important;font-weight:700
}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-back:hover{border-color:#c6a47765!important;background:#c6a4770c!important;color:#eee3d7!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-next:disabled{opacity:.48!important;filter:saturate(.55);box-shadow:none!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-swipe{display:none!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker[data-stage="3"] .booking-next{display:inline-flex!important;grid-column:auto!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions{background:linear-gradient(transparent,#141217 25%)!important}
@media(max-width:900px){
 html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"]{gap:20px!important;row-gap:24px!important}
 html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch{position:relative;top:auto;min-height:132px;padding:22px!important}
 html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .my-bookings{padding:21px!important}
}
@media(max-width:720px){
 html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions{position:sticky;bottom:-1px;z-index:6;padding:13px 3px calc(9px + env(safe-area-inset-bottom));margin:14px -3px -8px;gap:8px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-next{min-height:56px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-back{min-height:46px!important}
}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .my-booking-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .my-booking-actions button{width:100%!important;min-width:0!important;min-height:46px!important;padding:9px 10px!important;display:flex;align-items:center;justify-content:center;white-space:normal;text-align:center;line-height:1.3}

/* Keep authentication and first-profile setup calm and light; darkness is for the signed-in cabinet. */
html[data-cabinet-theme="dark"]:has(body.cabinet-logged-out){color-scheme:light!important;background:#f7f4ef!important;color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out{
 color-scheme:light!important;color:#292622!important;background:radial-gradient(ellipse at 10% 88%,#ecd9c944,transparent 39%),linear-gradient(145deg,#faf8f3,#f2eee7)!important;background-attachment:fixed!important
}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .cabinet-frame{color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .cabinet-toolbar{
 background:#fffdf9e8!important;border:1px solid #4a3b2818!important;box-shadow:0 10px 30px #3c2c1b0b!important;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)
}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .cabinet-brand,
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .cabinet-brand i{color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-shell{
 color:#292622!important;border:1px solid #49362216!important;border-radius:24px!important;
 background:radial-gradient(circle at 5% 90%,#d9a26b22,transparent 38%),#fffdf9!important;box-shadow:0 24px 70px #3b2b1b10!important
}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-copy h2{color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-copy h2 em{color:#b6473d!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-copy p,
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-status{color:#756e68!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .eyebrow{color:#bf4c40!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-provider{
 color:#292622!important;background:#fbf8f2!important;border:1px solid #3024191b!important;box-shadow:0 5px 18px #30241908!important
}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-provider:hover{border-color:#c65b4c77!important;box-shadow:0 10px 25px #30241913!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-provider b{color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-provider small{color:#77706a!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-provider>i{color:#b6473d!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .provider-name-form{background:#fffdf9!important;border-color:#4936221c!important;color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .provider-name-form input{background:#fff!important;border-color:#4936222b!important;color:#292622!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-consents label{color:#706963!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out .auth-consents a{color:#ad493d!important}
html[data-cabinet-theme="dark"] body.cabinet-page.cabinet-logged-out #cabinet-theme-toggle{display:none!important}
/* Keep breathing room between the booking action and the guest's booking list in both themes. */
.cabinet-page .cabinet-main[data-view="bookings"]{gap:clamp(26px,3.2vw,42px)!important;row-gap:clamp(26px,3.2vw,42px)!important;column-gap:clamp(26px,3.2vw,42px)!important}
@media(max-width:900px){.cabinet-page .cabinet-main[data-view="bookings"]{gap:28px!important;row-gap:28px!important}}
@media(max-width:720px){.cabinet-page .cabinet-main[data-view="bookings"]{gap:26px!important;row-gap:26px!important}}
@media(max-width:900px){html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"]{gap:30px!important;row-gap:30px!important;column-gap:30px!important}}
@media(max-width:720px){html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"]{gap:28px!important;row-gap:28px!important;column-gap:28px!important}}

/* Booking flow on every screen: full-width forward action, back below, no slider. */
.cabinet-page .booking-picker .booking-actions{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:9px!important}
.cabinet-page .booking-picker .booking-actions .booking-next{order:1!important;width:100%!important;min-width:0!important;min-height:56px!important;margin:0!important;display:flex!important;align-items:center;justify-content:center}
.cabinet-page .booking-picker .booking-actions .booking-back{order:2!important;width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;display:flex;align-items:center;justify-content:center}
.cabinet-page .booking-picker .booking-actions .booking-back[hidden]{display:none!important}
.cabinet-page .booking-picker .booking-swipe,.cabinet-page .booking-picker .booking-swipe:not([hidden]),.cabinet-page .booking-picker[data-stage="3"] .booking-swipe:not([hidden]){display:none!important;visibility:hidden!important}
.cabinet-page .booking-picker[data-stage="3"] .booking-actions .booking-next{display:flex!important;grid-column:auto!important}

/* Refined night controls: compact geometry, graphite surfaces and a restrained cherry accent. */
html[data-cabinet-theme="dark"]{
 --night-gold:#ad9784;--night-rose:#a65a63;--night-text:#e8dfda;--night-body:#c7bcba;--night-muted:#978b8c;--night-line:#c2a6a51f;--night-line-strong:#ba888d43
}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-toolbar-button{width:42px!important;height:42px!important;min-height:42px!important;border-radius:13px!important;background:#19151a!important;border-color:#70565b45!important;color:#c5a8a0!important;box-shadow:inset 0 1px #ffffff07!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-toolbar-button svg{width:18px;height:18px}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main button:not(.pill),html[data-cabinet-theme="dark"] .cabinet-page :is(.profile-settings-close,.booking-dismiss,.my-booking-actions button,.booking-amend summary,.support-ticket-reply button){
 min-height:40px!important;padding:8px 12px!important;border:1px solid #70585d50!important;border-radius:11px!important;
 background:#211b20!important;color:#d7c9c4!important;box-shadow:inset 0 1px #ffffff06!important;font:650 10px/1.3 var(--sans)!important
}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.pill,.support-ticket-form button,.gift-code-redeem-form button){
 min-height:44px!important;padding:0 16px!important;border:1px solid #bd7b8055!important;border-radius:12px!important;
 background:linear-gradient(135deg,#95545c,#77434c)!important;color:#f1e4df!important;
 box-shadow:0 7px 18px #0003,inset 0 1px #ffffff12!important;font:700 10px/1.25 var(--sans)!important
}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.pill,.support-ticket-form button,.gift-code-redeem-form button):hover{background:linear-gradient(135deg,#a35e66,#824b54)!important;box-shadow:0 9px 20px #0004!important;transform:translateY(-1px)}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch{
 min-height:142px!important;padding:23px!important;border-radius:20px!important;border-color:#70525855!important;
 background:linear-gradient(145deg,#21191f,#171419 76%)!important;color:#e6dcd7!important;
 font:500 clamp(22px,2.3vw,27px)/1.15 var(--serif)!important;box-shadow:0 14px 34px #0004,inset 0 1px #ffffff07!important
}
html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch:after{margin-top:11px;color:#a99a98!important;font:500 10px/1.5 var(--sans)!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions .booking-next,
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker[data-stage="3"] .booking-actions .booking-next{
 min-height:50px!important;padding:0 16px!important;border:1px solid #bd7b8059!important;border-radius:13px!important;
 background:linear-gradient(135deg,#95545c,#77434c)!important;color:#f1e4df!important;
 box-shadow:0 7px 18px #0003,inset 0 1px #ffffff10!important;font:700 11px/1.2 var(--sans)!important
}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions .booking-back{min-height:42px!important;border-color:#59474b60!important;border-radius:11px!important;background:#1a161b!important;color:#b7a9a5!important;font:650 10px/1.2 var(--sans)!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions .booking-next b{width:24px;height:24px;border-color:#f0dcd52a!important;background:#24181d!important;color:#e4c7c0!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions .booking-next svg{width:14px;height:14px}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.my-booking-actions button,.copy-referral,.profile-settings-trigger){min-height:40px!important;border-radius:11px!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-page-nav a.is-active{background:#282025!important;border-color:#785a6048!important;color:#d9b5ae!important;box-shadow:inset 0 1px #ffffff07!important}
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-swipe,
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-swipe:not([hidden]),
html[data-cabinet-theme="dark"] .cabinet-page .booking-picker[data-stage="3"] .booking-swipe:not([hidden]){display:none!important;visibility:hidden!important}
@media(max-width:720px){
 html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions .booking-next{min-height:50px!important}
 html[data-cabinet-theme="dark"] .cabinet-page .booking-picker .booking-actions .booking-back{min-height:42px!important}
 html[data-cabinet-theme="dark"] .cabinet-main[data-view="bookings"] .booking-launch{min-height:118px!important;padding:19px!important}
}

/* Cabinet overview and announcements: consistent type scale in both themes. */
.cabinet-page .cabinet-frame{max-width:1120px}
.cabinet-page .cabinet-main>[data-cabinet-section]{width:100%;min-width:0}
.cabinet-page .cabinet-main :is(h1,h2,h3,p){overflow-wrap:anywhere}
.cabinet-page .cabinet-main :is(.cabinet-greeting h1,.cabinet-news-heading h2){font-family:var(--serif,Georgia,serif);font-weight:500;letter-spacing:-.035em}
.cabinet-page .cabinet-main .cabinet-greeting-copy>p{max-width:56ch;font-size:14px;line-height:1.7}
.cabinet-page .cabinet-main :is(.cabinet-quick-links,.loyalty-card,.friend-card,.my-bookings,.support-center,.support-ticket-list){margin:0!important}
.cabinet-news-board{position:relative;isolation:isolate;overflow:hidden;padding:clamp(22px,4vw,38px);border:1px solid #d8cbb9;border-radius:26px;background:linear-gradient(145deg,#fffdf9,#f4eee5);color:#302b27;box-shadow:0 18px 48px #3123160b}
.cabinet-news-board:before{position:absolute;z-index:-1;right:-74px;top:-112px;width:240px;height:240px;border:1px solid #b84c3b1c;border-radius:50%;content:"";box-shadow:0 0 0 24px #b84c3b08,0 0 0 50px #b84c3b05}
.cabinet-news-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:23px}
.cabinet-news-heading .eyebrow{color:#a34539}
.cabinet-news-heading h2{margin:8px 0 7px;font-size:clamp(26px,4vw,38px);line-height:1.08;color:#292522}
.cabinet-news-heading p{margin:0;color:#777069;font-size:13px;line-height:1.65}
.cabinet-news-heading-mark,.cabinet-news-empty-mark{display:grid;flex:0 0 auto;place-items:center;width:48px;height:48px;border:1px solid #b84c3b2c;border-radius:16px;background:#b84c3b0a;color:#a34539}
.cabinet-news-heading-mark svg,.cabinet-news-empty-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.cabinet-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cabinet-news-card{min-width:0;padding:19px 20px;border:1px solid #ded5c9;border-radius:18px;background:#fffdfa;box-shadow:0 7px 22px #39291b08;transition:transform .2s,border-color .2s,box-shadow .2s}
.cabinet-news-card:hover{transform:translateY(-2px);border-color:#c7a99a;box-shadow:0 12px 28px #39291b10}
.cabinet-news-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.cabinet-news-tag,.cabinet-news-admin-state{display:inline-flex;align-items:center;min-height:25px;padding:4px 9px;border:1px solid #b84c3b22;border-radius:999px;background:#b84c3b0c;color:#9f4035;font-size:10px;font-weight:750;letter-spacing:.025em}
.cabinet-news-tag.is-announcement{border-color:#b3935a35;background:#b3935a12;color:#80673d}
.cabinet-news-date{color:#8c857d;font-size:10px;line-height:1.4}
.cabinet-news-card h3{margin:13px 0 7px;color:#302b27;font-size:17px;font-weight:700;line-height:1.35;letter-spacing:-.015em}
.cabinet-news-card>p{margin:0;color:#6f6962;font-size:13px;line-height:1.7;white-space:pre-line}
.cabinet-news-empty{display:flex;align-items:center;gap:14px;min-height:94px;padding:18px 20px;border:1px dashed #d7c9b8;border-radius:18px;background:#ffffff80}
.cabinet-news-empty b{display:block;color:#39332e;font-size:14px}
.cabinet-news-empty p{margin:4px 0 0;color:#797168;font-size:12px;line-height:1.55}
.admin-page[data-admin-view="settings"] .cabinet-news-admin{display:block}
.cabinet-news-admin{margin:24px 0;padding:clamp(20px,3vw,32px);border:1px solid #d8cbbb;border-radius:24px;background:#fffdf9;color:#302b27;box-shadow:0 16px 40px #291d100c}
.cabinet-news-admin>h2{margin:8px 0 9px;font:500 clamp(26px,3.5vw,36px)/1.1 var(--serif,Georgia,serif);letter-spacing:-.03em}
.cabinet-news-admin>p{max-width:68ch;margin:0 0 20px;color:#777069;font-size:13px;line-height:1.65}
.cabinet-news-form{display:grid;grid-template-columns:minmax(170px,.55fr) minmax(0,1.45fr);gap:14px 16px;padding:18px;border:1px solid #e4dbcf;border-radius:18px;background:#faf7f1}
.cabinet-news-form>label{display:grid;align-content:start;gap:7px;color:#5c554e;font-size:11px;font-weight:700}
.cabinet-news-form>label:nth-child(3){grid-column:1/-1}
.cabinet-news-form :is(input,select,textarea){width:100%;min-width:0;padding:12px 13px;border:1px solid #ddd3c6;border-radius:11px;background:#fffdfa;color:#302b27;font:500 13px/1.5 var(--sans,system-ui,sans-serif)}
.cabinet-news-form textarea{resize:vertical;min-height:104px}
.cabinet-news-form .cabinet-news-publish{display:flex;align-items:center;gap:9px;font-size:12px}
.cabinet-news-form .cabinet-news-publish input{width:17px;height:17px;accent-color:#a8483d}
.cabinet-news-form-actions{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.cabinet-news-form-actions button,.cabinet-news-admin-actions button{min-height:38px;padding:8px 13px;border:1px solid #d8cbbb;border-radius:11px;background:#fffdfa;color:#514941;font:650 11px/1.25 var(--sans,system-ui,sans-serif);cursor:pointer;transition:background .18s,border-color .18s,transform .18s}
.cabinet-news-form-actions button:hover,.cabinet-news-admin-actions button:hover{transform:translateY(-1px);border-color:#b9a58b;background:#f7f0e7}
.cabinet-news-form-actions button.pill{border-color:#a3483e;background:#a3483e;color:#fff}
.cabinet-news-form-actions small{color:#766d63;font-size:11px}
.cabinet-news-admin-list{display:grid;gap:10px;margin-top:16px}
.cabinet-news-admin-item{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 17px;border:1px solid #e2d9ce;border-radius:16px;background:#fffdfa}
.cabinet-news-admin-item-copy{min-width:0}
.cabinet-news-admin-item h3{margin:9px 0 4px;color:#302b27;font-size:14px;line-height:1.4}
.cabinet-news-admin-item p{display:block;overflow:hidden;margin:0;color:#766f67;font-size:12px;line-height:1.55;text-overflow:ellipsis;white-space:nowrap}.cabinet-news-card>p.cabinet-news-excerpt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cabinet-news-admin-state{border-color:#587f6526;background:#587f650d;color:#52725c}
.cabinet-news-admin-state.is-draft{border-color:#9c784533;background:#9c784512;color:#80643b}
.cabinet-news-admin-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:6px}
.cabinet-news-admin-actions button{min-height:34px;padding:7px 10px;font-size:10px}
.cabinet-news-admin-actions button[data-news-delete]{color:#99473e}
.cabinet-news-admin-actions button.is-delete-ready{border-color:#a3483e;background:#a3483e;color:white}
html[data-cabinet-theme="dark"] .cabinet-news-board{border-color:#3a3035;background:linear-gradient(145deg,#171419,#141216);color:#eee4da;box-shadow:0 20px 54px #0004}
html[data-cabinet-theme="dark"] .cabinet-news-board:before{border-color:#bb71651a;box-shadow:0 0 0 24px #bb716508,0 0 0 50px #bb716505}
html[data-cabinet-theme="dark"] .cabinet-news-heading .eyebrow{color:#bc8177}
html[data-cabinet-theme="dark"] .cabinet-news-heading h2{color:#eee4da}
html[data-cabinet-theme="dark"] .cabinet-news-heading p{color:#a49a98}
html[data-cabinet-theme="dark"] .cabinet-news-heading-mark,html[data-cabinet-theme="dark"] .cabinet-news-empty-mark{border-color:#a8685b35;background:#a8685b12;color:#d19a8e}
html[data-cabinet-theme="dark"] .cabinet-news-card{border-color:#342c32;background:linear-gradient(145deg,#201b21,#1a171c);box-shadow:inset 0 1px #ffffff05}
html[data-cabinet-theme="dark"] .cabinet-news-card:hover{border-color:#70534f;box-shadow:0 12px 28px #0004}
html[data-cabinet-theme="dark"] .cabinet-news-tag{border-color:#b06d6038;background:#b06d6015;color:#d8a298}
html[data-cabinet-theme="dark"] .cabinet-news-tag.is-announcement{border-color:#ad8d5b3d;background:#ad8d5b15;color:#cfb27d}
html[data-cabinet-theme="dark"] .cabinet-news-date{color:#928789}
html[data-cabinet-theme="dark"] .cabinet-news-card h3{color:#eee4da}
html[data-cabinet-theme="dark"] .cabinet-news-card>p{color:#b7aca9}
html[data-cabinet-theme="dark"] .cabinet-news-empty{border-color:#40353a;background:#19161b}
html[data-cabinet-theme="dark"] .cabinet-news-empty b{color:#e9dfd6}
html[data-cabinet-theme="dark"] .cabinet-news-empty p{color:#a79b99}
html[data-cabinet-theme="dark"] .cabinet-news-admin{border-color:#393035;background:#171419;color:#eee4da;box-shadow:0 18px 44px #0004}
html[data-cabinet-theme="dark"] .cabinet-news-admin>h2{color:#eee4da}
html[data-cabinet-theme="dark"] .cabinet-news-admin>p{color:#a69b99}
html[data-cabinet-theme="dark"] .cabinet-news-form{border-color:#393035;background:#1b171d}
html[data-cabinet-theme="dark"] .cabinet-news-form>label{color:#c0b4af}
html[data-cabinet-theme="dark"] .cabinet-news-form :is(input,select,textarea){border-color:#40353b;background:#141216;color:#eee4da}
html[data-cabinet-theme="dark"] .cabinet-news-form :is(input,select,textarea):focus{outline:2px solid #b8847960;outline-offset:1px}
html[data-cabinet-theme="dark"] .cabinet-news-form-actions button,html[data-cabinet-theme="dark"] .cabinet-news-admin-actions button{border-color:#473a40;background:#211c22;color:#d7cbc5}
html[data-cabinet-theme="dark"] .cabinet-news-form-actions button:hover,html[data-cabinet-theme="dark"] .cabinet-news-admin-actions button:hover{border-color:#85645e;background:#2a2227}
html[data-cabinet-theme="dark"] .cabinet-news-form-actions button.pill{border-color:#a8675e;background:linear-gradient(135deg,#a96c63,#88514e);color:#fff4ef}
html[data-cabinet-theme="dark"] .cabinet-news-form-actions small{color:#a99d99}
html[data-cabinet-theme="dark"] .cabinet-news-admin-item{border-color:#393035;background:#1b171d}
html[data-cabinet-theme="dark"] .cabinet-news-admin-item h3{color:#e9dfd6}
html[data-cabinet-theme="dark"] .cabinet-news-admin-item p{color:#aaa09d}
html[data-cabinet-theme="dark"] .cabinet-news-admin-state{border-color:#63806a40;background:#63806a18;color:#a8c3ad}
html[data-cabinet-theme="dark"] .cabinet-news-admin-state.is-draft{border-color:#ad8d5b40;background:#ad8d5b18;color:#cfb27d}
html[data-cabinet-theme="dark"] .cabinet-news-admin-actions button[data-news-delete]{color:#dfa39b}
/* Compact, deliberate cabinet typography; avoid inherited oversized controls. */
.cabinet-page .cabinet-main :is(button,input,select,textarea){font-family:var(--sans,system-ui,sans-serif)}
.cabinet-page .cabinet-main button:not(.booking-next):not(.booking-back):not(.booking-launch){font-size:clamp(11px,.9vw,13px)}
.cabinet-page .cabinet-main .cabinet-quick-links a{font-size:12px}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main{color:#e9dfd6}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main :is(.cabinet-greeting h1,.loyalty-details h2,.friend-card h2,.cabinet-news-heading h2){font-family:var(--serif,Georgia,serif);font-weight:500;letter-spacing:-.035em}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-greeting-copy>p{color:#b8adab;font-size:14px;line-height:1.7}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main .cabinet-quick-links a{font-size:11px}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main button:not(.booking-next):not(.booking-back):not(.booking-launch){font-size:clamp(10px,.9vw,12px)!important}
@media(max-width:720px){
 .cabinet-page .cabinet-main{gap:18px!important}
 .cabinet-news-board{padding:20px 17px;border-radius:21px}
 .cabinet-news-heading{gap:12px;margin-bottom:16px}
 .cabinet-news-heading h2{font-size:26px}
 .cabinet-news-heading p{max-width:34ch;font-size:12px}
 .cabinet-news-heading-mark{width:42px;height:42px;border-radius:14px}
 .cabinet-news-list{grid-template-columns:minmax(0,1fr);gap:9px}
 .cabinet-news-card{padding:16px;border-radius:16px}
 .cabinet-news-card h3{font-size:16px}
 .cabinet-news-card>p{font-size:12px;line-height:1.65}
 .cabinet-news-admin{margin:17px 0;padding:18px 14px;border-radius:19px}
 .cabinet-news-form{grid-template-columns:minmax(0,1fr);gap:12px;padding:13px}
 .cabinet-news-form>label:nth-child(3),.cabinet-news-form-actions{grid-column:auto}
 .cabinet-news-admin-item{align-items:flex-start;flex-direction:column;gap:12px;padding:14px}
 .cabinet-news-admin-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch}
 .cabinet-news-admin-actions button{min-width:0;padding:7px 5px;font-size:9px!important}
 .cabinet-news-form-actions{align-items:stretch;flex-direction:column}
 .cabinet-news-form-actions button{width:100%;min-height:42px}
}
.admin-page:not([data-admin-view="settings"]) .cabinet-news-admin{display:none!important}
.admin-page[data-admin-view="settings"] .cabinet-news-admin{display:block!important}
.cabinet-page .cabinet-main button:not(.booking-next):not(.booking-back):not(.booking-launch){font-size:clamp(11px,.9vw,13px)!important}
html[data-cabinet-theme="dark"] .cabinet-page .cabinet-main button:not(.booking-next):not(.booking-back):not(.booking-launch){font-size:clamp(11px,.9vw,12px)!important}

/* Separate public news and announcements page. */
.news-page{min-height:100vh;background:radial-gradient(ellipse at 92% 0,#eddccf7a,transparent 32%),linear-gradient(180deg,#f8f5ef,#f1ece4 72%,#f8f6f1);color:#302b27}
.news-shell{width:min(1020px,calc(100% - 40px));min-height:100vh;margin:0 auto;padding:0 0 42px}
.news-topbar{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #4a382518}
.news-topbar .cabinet-brand{color:#302b27;text-decoration:none}
.news-back-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border:1px solid #cfc2b2;border-radius:12px;background:#fffdf9;color:#554c43;text-decoration:none;font:650 12px/1.2 var(--sans,system-ui,sans-serif);transition:transform .18s,border-color .18s,background .18s}
.news-back-link:hover{transform:translateY(-1px);border-color:#b4987b;background:#fff}
.news-intro{padding:clamp(36px,7vw,76px) 0 26px}
.news-intro .eyebrow{color:#a5473b}
.news-intro h1{margin:12px 0;font:500 clamp(42px,7vw,76px)/.98 var(--serif,Georgia,serif);letter-spacing:-.045em;color:#2e2925}
.news-intro h1 em{color:#a5473b;font-weight:500}
.news-intro p{max-width:55ch;margin:0;color:#756d65;font-size:14px;line-height:1.75}
.news-filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 24px}
.news-filters button{min-height:39px;padding:0 15px;border:1px solid #d7ccbf;border-radius:999px;background:#fffdf9;color:#665e55;font:650 11px/1.2 var(--sans,system-ui,sans-serif);cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.news-filters button:hover{border-color:#bb9f83}
.news-filters button.is-active{border-color:#a4483e;background:#a4483e;color:#fff}
.news-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.news-article-card{min-width:0;min-height:210px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #ded4c8;border-radius:20px;background:linear-gradient(145deg,#fffdfa,#f9f5ef);color:#302b27;text-decoration:none;box-shadow:0 12px 32px #3827170a;transition:transform .2s,border-color .2s,box-shadow .2s}
.news-article-card:hover{transform:translateY(-3px);border-color:#c3a38e;box-shadow:0 18px 40px #38271712}
.news-article-card h2{margin:17px 0 8px;font:600 20px/1.3 var(--sans,system-ui,sans-serif);letter-spacing:-.025em}
.news-article-card>p{display:-webkit-box;overflow:hidden;margin:0;color:#716a63;font-size:13px;line-height:1.7;white-space:nowrap;text-overflow:ellipsis;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.news-read-link{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:18px;color:#a4483e;font-size:11px;font-weight:750}
.news-read-link svg,.cabinet-news-open svg,.cabinet-news-all svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.news-empty,.news-loading{padding:30px;border:1px dashed #d0c2b1;border-radius:18px;background:#fffdf985;color:#655d55}
.news-empty b{font-size:15px}.news-empty p{margin:7px 0 0;color:#7c746d;font-size:13px;line-height:1.6}.news-loading{font-size:13px}
.news-article-detail{max-width:760px;margin:10px auto 0;padding:clamp(22px,5vw,44px);border:1px solid #ded4c8;border-radius:24px;background:#fffdfa;box-shadow:0 18px 50px #3827170d}
.news-article-detail>.news-back-link{margin-bottom:24px}
.news-article-detail h2{margin:17px 0 15px;font:500 clamp(27px,4.4vw,42px)/1.12 var(--serif,Georgia,serif);letter-spacing:-.03em;color:#302b27}
.news-article-detail>p{margin:0;color:#5f5851;font-size:15px;line-height:1.85;white-space:pre-line}
.news-detail-booking{display:inline-flex;align-items:center;justify-content:center;min-height:46px;margin-top:28px;padding:0 18px;border:1px solid #a4483e;border-radius:12px;background:#a4483e;color:white;text-decoration:none;font-size:12px;font-weight:750}
.news-return{margin:20px 0}
.news-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-top:38px;color:#8a8179;font-size:11px}
.news-footer a{color:#70675e;text-decoration:none}.news-footer a:hover{color:#a4483e}
.cabinet-news-all{display:inline-flex;flex:0 0 auto;align-items:center;gap:7px;min-height:38px;padding:0 12px;border:1px solid #d7c9b9;border-radius:11px;background:#fffdfa;color:#8e443b;text-decoration:none;font-size:11px;font-weight:750;transition:transform .18s,border-color .18s,background .18s}
.cabinet-news-all:hover{transform:translateY(-1px);border-color:#bd9b83;background:#fff}
.cabinet-news-open{display:inline-flex;align-items:center;gap:6px;margin-top:13px;color:#a4483e;text-decoration:none;font-size:11px;font-weight:750}
.cabinet-news-open:hover{text-decoration:underline;text-underline-offset:3px}
/* Calm, spacious booking list with a clear break between action and existing bookings. */
.cabinet-page .cabinet-main[data-view="bookings"]{row-gap:24px!important}
.cabinet-page .cabinet-main[data-view="bookings"] .my-bookings-head{margin-bottom:15px}
@media(max-width:820px){
 .cabinet-page .cabinet-main[data-view="bookings"]{row-gap:38px!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .my-bookings{margin-top:0!important;padding-top:22px!important;border-top:1px solid #d9cdbf}
 .cabinet-page .cabinet-main[data-view="overview"]{row-gap:24px!important}
}
/* A warmer, more deliberate light login panel with genuine provider marks. */
.cabinet-page.cabinet-logged-out .cabinet-main{max-width:1000px;margin-inline:auto;padding-top:clamp(28px,7vh,76px)!important}
.cabinet-page .auth-shell{position:relative;overflow:hidden;gap:30px 54px;padding:clamp(26px,5vw,58px);border:1px solid #d9cbbb;border-radius:28px;background:radial-gradient(ellipse at 2% 100%,#ecd9c947,transparent 37%),linear-gradient(135deg,#fffdf9,#f3eee6);box-shadow:0 24px 70px #38271712}
.cabinet-page .auth-shell:after{position:absolute;right:-108px;top:-135px;width:270px;height:270px;border:1px solid #ad51401e;border-radius:50%;content:"";box-shadow:0 0 0 24px #ad51400a,0 0 0 52px #ad514006;pointer-events:none}
.cabinet-page .auth-copy,.cabinet-page .auth-actions{position:relative;z-index:1}
.cabinet-page .auth-copy .eyebrow{color:#a4483e}
.cabinet-page .auth-copy h2{margin:12px 0;font-size:clamp(36px,4.5vw,54px);line-height:1.03;letter-spacing:-.035em}
.cabinet-page .auth-copy p{max-width:39ch;margin:0;color:#756d65;font-size:13px;line-height:1.8}
.cabinet-page .auth-actions{gap:11px}
.cabinet-page .auth-provider{min-height:74px;padding:13px 15px;grid-template-columns:46px minmax(0,1fr) 18px;gap:13px;border-color:#ded4c8;border-radius:15px;background:#fffdfa;box-shadow:0 5px 16px #35271808}
.cabinet-page .auth-provider:hover{transform:translateY(-2px);border-color:#c89f8e;box-shadow:0 12px 26px #35271812}
.cabinet-page .provider-mark{width:42px;height:42px;border-radius:13px}
.cabinet-page .provider-mark svg{width:21px;height:21px;fill:currentColor}
.cabinet-page .telegram-mark{background:#e8f3f9;color:#2089bc}
.cabinet-page .auth-yandex .provider-mark{border:1px solid #ead8a9;background:linear-gradient(145deg,#fff4cf,#f7e7bb);color:#c23932;font:800 20px/1 var(--sans,system-ui,sans-serif)}
.cabinet-page .auth-provider b{color:#302b27;font-size:13px}
.cabinet-page .auth-provider small{color:#7a726a;font-size:10px;line-height:1.5}
.cabinet-page .auth-provider>i{color:#a4483e}
.cabinet-page .auth-provider>i svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cabinet-page .auth-status{color:#756d65;font-size:11px}
.cabinet-page .auth-consents{grid-column:1/-1;position:relative;z-index:1;padding-top:2px}
.cabinet-page .auth-consents label{align-items:flex-start;gap:10px;color:#777068;font-size:11px;line-height:1.65}
.cabinet-page .auth-consents input{flex:0 0 auto;margin-top:2px;accent-color:#a4483e}
.cabinet-page .auth-consents a{color:#a4483e;text-underline-offset:2px}
@media(max-width:720px){
 .news-shell{width:calc(100% - 28px);padding-bottom:30px}
 .news-topbar{min-height:68px}
 .news-back-link{min-height:38px;padding-inline:11px;font-size:11px}
 .news-intro{padding:37px 0 20px}
 .news-intro h1{font-size:clamp(40px,12vw,58px)}
 .news-intro p{font-size:13px}
 .news-filters{gap:6px;margin-bottom:17px}
 .news-filters button{min-height:37px;padding-inline:12px;font-size:10px}
 .news-card-grid{grid-template-columns:minmax(0,1fr);gap:10px}
 .news-article-card{min-height:0;padding:18px;border-radius:17px}
 .news-article-card h2{margin-top:13px;font-size:18px}
 .news-article-detail{padding:20px 17px;border-radius:19px}
 .news-article-detail>.news-back-link{margin-bottom:20px}
 .news-article-detail>p{font-size:14px;line-height:1.75}
 .news-footer{gap:7px;font-size:10px}
 .cabinet-news-heading{align-items:flex-start}
 .cabinet-news-all{min-height:35px;padding-inline:9px;font-size:10px;white-space:nowrap}
 .cabinet-news-open{min-height:36px;align-self:flex-start}
 .cabinet-page.cabinet-logged-out .cabinet-main{padding-top:20px!important}
 .cabinet-page .auth-shell{gap:20px;padding:23px 18px;border-radius:22px}
 .cabinet-page .auth-copy h2{font-size:clamp(34px,10vw,43px)}
 .cabinet-page .auth-copy p{font-size:12px}
 .cabinet-page .auth-provider{min-height:68px;padding:11px 12px;grid-template-columns:42px minmax(0,1fr) 16px;gap:10px}
 .cabinet-page .provider-mark{width:39px;height:39px}
 .cabinet-page .auth-provider b{font-size:12px}
 .cabinet-page .auth-provider small{font-size:9px}
}
/* Mobile cabinet: reserve only the space the fixed tabs actually need. */
@media(max-width:820px){
 .cabinet-page{padding-bottom:0!important}
 .cabinet-page .cabinet-frame{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important}
 .cabinet-page .cabinet-page-nav{position:fixed!important;inset:auto 10px max(8px,env(safe-area-inset-bottom)) 10px!important;z-index:120!important;width:auto!important;height:68px!important;min-height:68px!important;max-height:68px!important;margin:0!important;padding:5px 7px!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;transform:none!important;transition:none!important;animation:none!important;will-change:auto!important}
 .cabinet-page .cabinet-page-nav a{height:100%!important;min-height:0!important;box-sizing:border-box!important}
}
@media(max-width:430px){.cabinet-page .cabinet-frame{padding-bottom:calc(82px + env(safe-area-inset-bottom))!important}.cabinet-page .cabinet-page-nav{inset:auto 9px max(7px,env(safe-area-inset-bottom)) 9px!important;height:64px!important;min-height:64px!important;max-height:64px!important}}
/* Screenshot-driven mobile spacing: separate the three cabinet sections clearly. */
@media(max-width:820px){
 .cabinet-page .cabinet-main[data-view="overview"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important;row-gap:28px!important;align-content:start}
 .cabinet-page .cabinet-main[data-view="bookings"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;row-gap:0!important;align-content:start}
 .cabinet-page .cabinet-main[data-view="bookings"] .booking-launch{margin:0 0 25px!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .my-bookings{min-height:clamp(220px,calc(100svh - 390px),460px);margin:0 0 4px!important;padding:22px 18px!important;display:flex;flex-direction:column;box-sizing:border-box}
 .cabinet-page .cabinet-main[data-view="bookings"] .empty-bookings{flex:1;display:flex;align-items:center;justify-content:center;margin:0;padding:24px 12px;text-align:center}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:28px!important}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-details{padding-top:22px;border-top:1px solid #d9cdbf}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-details-copy{min-width:0}
}
@media(max-width:430px){
 .cabinet-page .cabinet-main[data-view="overview"]{gap:26px!important;row-gap:26px!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .booking-launch{margin-bottom:22px!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .my-bookings{min-height:clamp(230px,calc(100svh - 365px),420px);padding:20px 16px!important}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-card{gap:25px!important}
 .cabinet-page .cabinet-main[data-view="card"] .loyalty-details{padding-top:19px}
}
/* Explicit margins keep the cabinet's card groups apart on narrow screens. */
@media(max-width:820px){
 .cabinet-page .cabinet-main[data-view="overview"]{gap:0!important;row-gap:0!important}
 .cabinet-page .cabinet-main[data-view="overview"] .cabinet-news-board{margin-top:28px!important}
 .cabinet-page .cabinet-main[data-view="card"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;row-gap:0!important}
 .cabinet-page .cabinet-main[data-view="card"] .friend-card{margin-top:28px!important}
 .cabinet-page .cabinet-main[data-view="bookings"]{gap:0!important;row-gap:0!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .booking-launch{margin:0!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .my-bookings{margin-top:26px!important}
 .cabinet-page .my-booking-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:9px!important;width:100%!important;margin-top:12px}
 .cabinet-page .my-booking-actions>*{width:100%!important;min-width:0!important;min-height:54px!important;box-sizing:border-box!important}
 .cabinet-page .my-booking-actions .booking-amend{display:block!important}
 .cabinet-page .my-booking-actions .booking-amend>summary,.cabinet-page .my-booking-actions>[data-cancel]{width:100%!important;height:54px!important;min-height:54px!important;margin:0!important;padding:0 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-sizing:border-box!important;border:1px solid #d9cfc2!important;border-radius:14px!important;background:#fffdf9!important;color:#5e554d!important;font:650 11px/1.2 var(--sans,system-ui,sans-serif)!important;text-align:center!important;cursor:pointer}
 .cabinet-page .my-booking-actions .booking-amend>summary{list-style:none!important}
 .cabinet-page .my-booking-actions .booking-amend>summary::-webkit-details-marker{display:none!important}
 .cabinet-page .my-booking-actions>[data-cancel]{border-color:#dfcbc5!important;background:#fbf4f1!important;color:#98544a!important}
 .cabinet-page .my-booking-actions .my-booking-action-icon{width:16px!important;height:16px!important;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
}
@media(max-width:430px){
 .cabinet-page .cabinet-main[data-view="overview"] .cabinet-news-board{margin-top:25px!important}
 .cabinet-page .cabinet-main[data-view="card"] .friend-card{margin-top:25px!important}
 .cabinet-page .cabinet-main[data-view="bookings"] .my-bookings{margin-top:23px!important}
 .cabinet-page .my-booking-actions{gap:7px!important}
 .cabinet-page .my-booking-actions .booking-amend>summary,.cabinet-page .my-booking-actions>[data-cancel]{height:52px!important;min-height:52px!important;padding-inline:7px!important;font-size:10px!important}
}

/* Desktop cabinet repair: restore contrast, hierarchy and breathing room. */
@media(min-width:821px){
 #cabinet-app.cabinet-main{gap:0!important;row-gap:0!important}
 .cabinet-page #cabinet-app.cabinet-main[data-view="overview"]>*+*{margin-top:34px!important}
 .cabinet-page #cabinet-app.cabinet-main[data-view="bookings"]>*+*{margin-top:34px!important}
 .cabinet-page #cabinet-app.cabinet-main[data-view="card"]>*+*{margin-top:34px!important}
 .cabinet-page .cabinet-page-nav{margin-bottom:12px!important}
 .cabinet-page #cabinet-app[data-view="overview"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;row-gap:0!important;padding-top:8px!important}
 .cabinet-page .cabinet-greeting{min-height:0!important;padding:clamp(30px,3.5vw,48px)!important;gap:26px!important;border:1px solid #e3dfd3!important;background:radial-gradient(ellipse at 90% 12%,#e6c68b35,transparent 34%),linear-gradient(130deg,#fffefa,#f4f1e8)!important;color:#283a30!important;box-shadow:0 14px 36px #29372d10!important}
 .cabinet-page .cabinet-greeting .eyebrow{color:#a5483c!important}
 .cabinet-page .cabinet-greeting h1{margin:8px 0 12px!important;color:#26392f!important;font-size:clamp(38px,4.2vw,60px)!important;line-height:1.06!important;letter-spacing:-.045em!important}
 .cabinet-page .cabinet-greeting p{color:#657068!important;font-size:14px!important;line-height:1.7!important}
 .cabinet-page .cabinet-greeting-stat{border-color:#e4dfd2!important;background:#fffefa!important;color:#293b31!important;box-shadow:0 8px 24px #29372d0a!important}
 .cabinet-page .cabinet-greeting-stat small{color:#a5483c!important}
 .cabinet-page .cabinet-greeting-stat b{color:#293b31!important}
 .cabinet-page .cabinet-greeting-stat span:last-child{color:#657068!important}
 .cabinet-page #cabinet-app[data-view="bookings"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;row-gap:0!important;padding-top:8px!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .booking-launch{position:relative!important;top:auto!important;min-height:142px!important;margin:0 0 6px!important;padding:26px 30px!important;border:1px solid #eadcc4!important;border-radius:22px!important;outline:0!important;background:radial-gradient(ellipse at 90% 10%,#e9c88e3a,transparent 38%),linear-gradient(135deg,#f8efdf,#fffdf8)!important;color:#302c27!important;box-shadow:0 12px 30px #49351b0c!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .booking-launch:focus-visible{outline:3px solid #b88d5d!important;outline-offset:3px!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-bookings{grid-column:1!important;margin:0!important;padding:26px!important;border:1px solid #e3dfd3!important;border-radius:22px!important;background:#fffefa!important;box-shadow:0 12px 30px #29372d0a!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-booking{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px 18px!important;padding:20px!important;border:1px solid #e2e6de!important;border-radius:17px!important;background:#fffefa!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .booking-date{grid-column:1/-1!important;grid-row:1!important;max-width:none!important;margin:0!important;color:#a9473b!important;font-size:13px!important;line-height:1.4!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-booking>div:not(.my-booking-actions){grid-column:1;grid-row:2;gap:6px!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-booking>div:not(.my-booking-actions)>b{color:#283a30!important;font-size:22px!important;line-height:1.2!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-booking small{color:#697168!important;font-size:12px!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-booking-actions{grid-column:2;grid-row:2;gap:9px!important}
 .cabinet-page #cabinet-app[data-view="bookings"] .my-booking-actions button,.cabinet-page #cabinet-app[data-view="bookings"] .my-booking-actions summary{min-height:44px!important;padding:10px 14px!important;border:1px solid #ded8ce!important;border-radius:12px!important;background:#fffdfa!important;color:#5b554d!important;font-size:12px!important}
 .cabinet-page #cabinet-app[data-view="card"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;row-gap:0!important;padding-top:8px!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-card{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)!important;align-items:stretch!important;gap:22px!important;min-height:0!important;padding:22px!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-card-flip{width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:1.62/1!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-flip-inner{height:100%!important;min-height:0!important}
 .cabinet-page #cabinet-app[data-view="card"] .membership-card.loyalty-card-front,.cabinet-page #cabinet-app[data-view="card"] .membership-card-back{min-height:0!important;padding:clamp(18px,2.2vw,30px)!important;border-radius:20px!important}
 .cabinet-page #cabinet-app[data-view="card"] .membership-brand{font-size:clamp(12px,1.2vw,16px)!important}
 .cabinet-page #cabinet-app[data-view="card"] .membership-name{font-size:clamp(27px,3.1vw,42px)!important}
 .cabinet-page #cabinet-app[data-view="card"] .membership-caption,.cabinet-page #cabinet-app[data-view="card"] .membership-bottom small{font-size:9px!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-details{align-content:center!important;gap:13px!important;padding:24px!important;border:1px solid #e4dbcc!important;border-radius:20px!important;background:linear-gradient(145deg,#fffefa,#f7f2e8)!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-details h2{color:#302d28!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-details p,.cabinet-page #cabinet-app[data-view="card"] .loyalty-details small,.cabinet-page #cabinet-app[data-view="card"] .loyalty-card-hint,.cabinet-page #cabinet-app[data-view="card"] .loyalty-code{color:#655e55!important}
}
@media(min-width:721px){
 .cabinet-page #cabinet-app[data-view="card"]{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;row-gap:0!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-card{display:grid!important;width:min(100%,1040px)!important;max-width:1040px!important;margin:0 auto!important;grid-template-columns:minmax(0,1.08fr) minmax(260px,.72fr)!important;align-items:stretch!important;gap:18px!important;padding:18px!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-card-flip{width:100%!important;max-width:620px!important;min-height:0!important;height:auto!important;aspect-ratio:1.8/1!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-flip-inner{height:100%!important;min-height:0!important}
 .cabinet-page #cabinet-app[data-view="card"] .membership-card.loyalty-card-front,.cabinet-page #cabinet-app[data-view="card"] .membership-card-back{min-height:0!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-details{min-width:0!important;align-content:center!important;grid-template-columns:minmax(0,1fr)!important;padding:20px!important}
}

/* Permanent ticket removal and a compact desktop loyalty layout. */
.admin-support-ticket-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px;flex-wrap:wrap}
.admin-support-ticket-actions>button{min-height:40px;padding:0 12px;border:1px solid #ded4c7;border-radius:11px;background:#fff;color:#5b4c3d;font-size:10px;font-weight:750;cursor:pointer}
.admin-support-ticket-actions .ticket-delete-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-color:#e3c9c3;background:#fcf5f2;color:#99564c}
.admin-support-ticket-actions .ticket-delete-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-support-ticket-actions .ticket-delete-button.is-confirming{border-color:#a4493d;background:#a4493d;color:#fff}
.admin-support-ticket .ticket-delete-status{display:block;margin-top:7px;color:#8a6559;font-size:10px;line-height:1.5}
@media(max-width:600px){.admin-support-ticket-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-support-ticket-actions>button{width:100%;min-height:44px}.admin-support-ticket .ticket-delete-status:empty{display:none}}
@media(min-width:821px){
 .cabinet-page #cabinet-app[data-view="card"]{width:min(100%,1100px)!important;margin-inline:auto!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-card{width:min(100%,1040px)!important;max-width:1040px!important;margin-inline:auto!important;grid-template-columns:minmax(0,1.08fr) minmax(260px,.72fr)!important;gap:18px!important;padding:18px!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-card-flip{width:100%!important;max-width:620px!important;aspect-ratio:1.8/1!important}
 .cabinet-page #cabinet-app[data-view="card"] .membership-card.loyalty-card-front,.cabinet-page #cabinet-app[data-view="card"] .membership-card-back{padding:clamp(18px,2vw,27px)!important}
 .cabinet-page #cabinet-app[data-view="card"] .loyalty-details{padding:20px!important}
}


/* Booking helpers: waitlist, repeat selection, and first-visit guidance. */
.waitlist-item,.first-visit-guide{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border:1px solid var(--edge,#e6ded1);border-radius:18px;background:linear-gradient(125deg,#fffdf8,#f7f4ec);box-shadow:0 9px 24px #34312608}
.waitlist-item>div{display:grid;gap:6px}.waitlist-item b,.first-visit-guide b{color:var(--ink,#27372e);font-family:var(--serif,Georgia,serif);font-size:20px}.waitlist-item span,.waitlist-item small,.first-visit-guide span,.first-visit-guide a{color:var(--muted,#77736d);font-size:13px;line-height:1.5}.waitlist-item button,.waitlist-join{min-height:44px;padding:0 17px;border:1px solid #cbb99f;border-radius:999px;background:#fffaf1;color:#8f4439;font:700 13px var(--sans,Arial,sans-serif);cursor:pointer}.waitlist-list{display:grid;gap:10px;margin:0 0 18px}.waitlist-item{padding:16px 18px}.waitlist-item small{color:#9a563f}.first-visit-guide{align-items:flex-start;flex-direction:column;gap:5px;margin-top:12px;padding:14px 16px;background:#f7f5ec}.first-visit-guide a{font-weight:700;color:#a34c40}.waitlist-join{margin:4px 0 0;background:#f7f2e7}.waitlist-status{display:block;min-height:1.4em;color:#8c6540;font-size:12px}
@media(max-width:640px){.waitlist-item{align-items:stretch;flex-direction:column;padding:16px}.waitlist-item button{width:100%}.first-visit-guide{border-radius:14px}}

.admin-waitlist-panel{margin:14px 0 18px;padding:16px 18px;border:1px solid #dfd6c8;border-radius:18px;background:#fbf8f1}.admin-waitlist-panel>.eyebrow{margin-bottom:10px}.admin-waitlist-panel article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid #e9e1d6}.admin-waitlist-panel article>div{display:grid;gap:4px}.admin-waitlist-panel article b{color:var(--ink,#27372e);font-size:13px}.admin-waitlist-panel article span,.admin-waitlist-panel article small{color:var(--muted,#77736d);font-size:11px;line-height:1.4}
@media(max-width:640px){.admin-waitlist-panel{padding:14px}.admin-waitlist-panel article{align-items:flex-start;flex-direction:column}}

/* Final mobile fixes from the November 4 screenshots. */
@media(max-width:820px){
 body.cabinet-page #cabinet-app[data-view="bookings"] .booking-launch{margin:0 0 24px!important}
 body.cabinet-page #cabinet-app[data-view="bookings"] .my-bookings{height:auto!important;min-height:0!important;flex:none!important;margin:0 0 18px!important;padding:20px 18px!important}
 body.cabinet-page #cabinet-app[data-view="bookings"] .my-booking{margin:0!important}
}
@media(max-width:430px){
 body.cabinet-page #cabinet-app[data-view="bookings"] .booking-launch{margin-bottom:22px!important}
 body.cabinet-page #cabinet-app[data-view="bookings"] .my-bookings{margin-bottom:16px!important;padding:18px 15px!important}
}
body.cabinet-logged-out .cabinet-page-nav,body.cabinet-logged-out .cabinet-toolbar-actions,body.cabinet-auth-pending .cabinet-page-nav,body.cabinet-auth-pending .cabinet-toolbar-actions{display:none!important;visibility:hidden!important}
