/* Generated from canonical frontend sources. Do not edit dist directly. */
@font-face{font-family:BYekan;src:url('../fonts/BYekan.ttf') format('truetype');font-display:swap}
@font-face{font-family:BMitra;src:url('../fonts/BMitra.ttf') format('truetype');font-display:swap}
@font-face{font-family:Nas;src:url('../fonts/Nas.ttf') format('truetype');font-display:swap}

:root{
  --header-h:78px;
  --cyan:#2be1ff;
  --cyan-2:#00a9e8;
  --gold:#f6d05d;
  --ink:#082d31;
  --surface:#f8fbffda;
  --pill-text:#082f4b;
  --pill-bg:#f6fbffea;
  --pill-shadow:0 8px 22px rgba(0,0,0,.16);
  --glow:rgba(35,221,255,.78);
  --edge-a:#ef2626;
  --edge-b:#080808;
  --edge-soft:rgba(239,38,38,.42);
  --glass-feature:rgba(255,255,255,.16);
  --glass-feature-border:rgba(255,255,255,.14);
  --hero-text:#0d3643;

  /* Shared design-system tokens. Feature styles consume these as they are migrated,
     without creating patch/override files. */
  --font-ui:BYekan,Arial,sans-serif;
  --font-body:BMitra,BYekan,sans-serif;
  --font-display:Nas,BYekan,Arial,sans-serif;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --radius-sm:12px;
  --radius-md:16px;
  --radius-lg:22px;
  --radius-pill:999px;
  --motion-fast:.18s;
  --motion-base:.25s;
  --motion-slow:.55s;
  --ease-standard:cubic-bezier(.2,.8,.2,1);
  --control-h-sm:38px;
  --control-h-md:45px;
  --control-h-lg:50px;
}

html[data-theme="dark"]{
  --surface:#071928c9;
  --pill-text:#f8fbff;
  --pill-bg:#062038e8;
  --pill-shadow:0 10px 28px rgba(0,0,0,.42);
  --glow:rgba(22,221,255,.9);
  --edge-a:#ffd84d;
  --edge-b:#9d6a00;
  --edge-soft:rgba(255,216,77,.46);
  --glass-feature:rgba(6,25,42,.26);
  --glass-feature-border:rgba(255,255,255,.08);
  --hero-text:#fff8e6;
}

*{box-sizing:border-box}
html,body{margin:0;min-height:100%;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}
body{background:#0a2740;color:var(--ink);overflow-x:hidden}
body,button,a{font-family:BYekan,Arial,sans-serif}
button{cursor:pointer}


/* Shared UI primitives for all new screens/components. */
.ui-title{font-family:var(--font-display);margin:0;color:var(--hero-text)}
.ui-button{min-height:var(--control-h-md);padding-inline:var(--space-4);border:0;border-radius:var(--radius-md);font-family:var(--font-ui);font-weight:700;transition:transform var(--motion-fast) ease,box-shadow var(--motion-base) ease,opacity var(--motion-base) ease}
.ui-button:disabled{opacity:.6;cursor:not-allowed}
.ui-card{border-radius:var(--radius-lg);font-family:var(--font-ui)}

.landing-shell{position:relative;min-height:100svh;overflow:visible;background:#071827}
.landing-stage{
  position:relative;min-height:100svh;isolation:isolate;overflow:hidden;
  background-image:none;background-position:center top;background-size:cover;background-repeat:no-repeat;
}
html[data-theme="dark"] .landing-stage{background-image:none}
.landing-bg-layer{position:absolute;inset:0;z-index:-3;background-position:center center;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.002);transition:opacity .85s ease;will-change:opacity;pointer-events:none}
.landing-bg-layer.is-active{opacity:1}
.landing-manual-background{display:none;position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.landing-shell.is-manual-background>.landing-manual-background{display:block}
.landing-manual-background picture,.landing-manual-background img{display:block;width:100%;height:100%}
.landing-manual-background img{object-fit:fill;object-position:center top}
.landing-shell[data-desktop-fit="cover"] .landing-manual-background{position:absolute;inset:0}
.landing-shell[data-desktop-fit="cover"] .landing-manual-background img{object-fit:cover}
@media(max-width:760px){
  .landing-shell[data-mobile-fit="stretch"] .landing-manual-background{position:absolute;inset:0}
  .landing-shell[data-mobile-fit="stretch"] .landing-manual-background img{object-fit:fill}
  .landing-shell[data-mobile-fit="cover"] .landing-manual-background{position:absolute;inset:0}
  .landing-shell[data-mobile-fit="cover"] .landing-manual-background img{object-fit:cover}
}
/* Manual art spans the ENTIRE homepage, not just the initial hero viewport. */
.landing-shell.is-manual-background .landing-stage{z-index:1;background:transparent}
.landing-shell.is-manual-background .landing-bg-layer{opacity:0}
.landing-shell.is-manual-background .home-seo-intro,
.landing-shell.is-manual-background .reservation-hub{background:transparent}
.landing-shell.is-manual-background .home-seo-intro__inner{background:rgba(5,24,38,.78)}
.landing-shell.is-manual-background .home-brand-footer{background:rgba(4,22,37,.68)}
.landing-stage::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.02),transparent 44%,rgba(40,14,0,.10));
}

@property --edge-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
.glow-ring{isolation:isolate;position:relative}
.glow-ring::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;z-index:3;
  background:conic-gradient(from var(--edge-angle),transparent 0 72%,var(--edge-b) 78%,var(--edge-a) 84%,#fff9d2 88%,var(--edge-a) 92%,transparent 98% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  filter:drop-shadow(0 0 5px var(--edge-soft));
  animation:none;
}
@keyframes edgeOrbit{to{--edge-angle:360deg}}

.glass-panel{background:none;backdrop-filter:none}

.topbar{
  height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:0;
  width:100%;margin:0 auto;padding:8px 10px 0;position:relative;z-index:25;direction:ltr;
}
.nav-group{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.nav-pill{
  direction:rtl;position:relative;display:grid;place-items:center;min-width:138px;height:50px;padding:0 28px;
  border:0;border-radius:22px;background:var(--pill-bg);color:var(--pill-text);font-size:22px;font-weight:700;text-decoration:none;
  box-shadow:inset 0 0 12px rgba(255,255,255,.12),var(--pill-shadow);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;
}
.nav-pill--wide{min-width:178px}
.nav-pill:focus-visible{transform:translateY(-2px) scale(1.02);outline:none;box-shadow:0 0 10px var(--glow),0 0 22px rgba(0,214,255,.26),inset 0 0 14px rgba(255,255,255,.16),var(--pill-shadow)}
.weather-toggle{min-width:118px;padding-inline:0;overflow:visible;z-index:80}
.weather-toggle__icon{font-size:31px;line-height:1;color:#ffe38a;filter:drop-shadow(0 0 6px rgba(255,220,110,.22))}
.weather-toggle__hint{
  position:absolute;left:calc(100% + 12px);top:50%;z-index:120;transform:translateY(-50%) translateX(-8px);
  padding:10px 16px;border-radius:18px;white-space:nowrap;pointer-events:none;opacity:0;
  background:rgba(5,22,38,.70);backdrop-filter:blur(14px) saturate(1.12);-webkit-backdrop-filter:blur(14px) saturate(1.12);
  color:#ffd75e;font:26px/1.05 BMitra,BYekan,sans-serif;box-shadow:0 10px 24px rgba(0,0,0,.20);
  visibility:hidden;transition:opacity .25s ease,transform .25s ease,visibility .25s ease;
}
.weather-toggle:hover .weather-toggle__hint,
.weather-toggle:focus-visible .weather-toggle__hint{
  opacity:1;visibility:visible;transform:translateY(-50%) translateX(0);
}

.hero{
  width:min(1240px,92vw);margin:-72px auto 0;text-align:center;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-start;padding-top:4px;min-height:23vh;position:relative;z-index:12;
}
.brand-logo{
  width:min(640px,42vw);max-height:245px;object-fit:contain;margin-top:-30px;margin-bottom:-2px;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.18));animation:none;transition:transform .28s ease,filter .28s ease;
}
.hero-copy-art{
  width:min(650px,44vw);display:flex;justify-content:center;align-items:center;
  margin:-24px auto -6px;position:relative;z-index:2;
}
.hero-title-art{
  display:block;width:min(590px,42vw);height:auto;max-width:100%;
  filter:drop-shadow(0 10px 28px rgba(0,0,0,.22)) drop-shadow(0 0 18px rgba(214,168,52,.18));
  transition:transform .22s ease, filter .22s ease, opacity .22s ease;
}
.hero-title-art:hover,.hero-title-art:focus-visible{
  transform:translateY(-2px) scale(1.01);
  filter:drop-shadow(0 12px 30px rgba(0,0,0,.24)) drop-shadow(0 0 22px rgba(214,168,52,.28));
}
.eyebrow{
  margin:-10px 0 0;font-family:Nas,BYekan,Arial,sans-serif;font-size:25px;font-weight:700;color:var(--hero-text);
  text-shadow:0 1px 2px rgba(255,255,255,.25);
}
.eyebrow-tight{margin-top:-28px; position:relative; z-index:2;}
.ornament{display:flex;align-items:center;gap:10px;width:32%;color:#cfa234;margin:-2px 0 10px}
.ornament span{height:4px;background:linear-gradient(90deg,rgba(207,162,52,.18) 0%,rgba(230,188,82,.96) 55%,rgba(207,162,52,.18) 100%);flex:1;opacity:.95;border-radius:999px;box-shadow:0 0 8px rgba(214,168,52,.26)}
.ornament b{font-size:24px;color:#c29b27}
.hero h1{
  font-family:Nas,BYekan,Arial,sans-serif;font-size:clamp(42px,3.5vw,62px);line-height:1.06;margin:0 0 14px;color:var(--hero-text);
  text-shadow:0 2px 8px rgba(255,255,255,.12);
}
.hero-subtitle{
  font-family:BMitra,BYekan,sans-serif;font-size:clamp(24px,1.8vw,31px);line-height:1.08;margin:0 0 8px;color:var(--hero-text);
}
html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .hero h1,html[data-theme="dark"] .hero-subtitle{
  color:var(--hero-text);-webkit-text-stroke:.28px rgba(0,0,0,.62);
  text-shadow:0 2px 3px rgba(0,0,0,.82),0 0 9px rgba(0,0,0,.46),0 0 2px rgba(255,255,255,.14);
}
html.hero-on-light .eyebrow,html.hero-on-light .hero h1,html.hero-on-light .hero-subtitle{
  color:#071018;
  -webkit-text-stroke:0 transparent;
  text-shadow:0 1px 1px rgba(255,255,255,.34),0 2px 5px rgba(255,255,255,.22);
}
html.hero-on-light .hero h1{-webkit-text-stroke:0 transparent}
html.hero-on-light .ornament span{box-shadow:0 0 8px rgba(214,168,52,.48),0 1px 2px rgba(255,255,255,.75)}

.feature-row{display:none}
.feature{display:none}

.food-zone{position:absolute;left:0;right:0;bottom:.45vh;z-index:10;padding:0 .25vw}
.slider-shell{max-width:none;width:100%;margin:auto;position:relative;direction:ltr}
.slider-viewport{overflow:hidden;position:relative;padding:8px 8px 16px;width:100%}
.food-slider-track{display:flex;gap:16px;will-change:transform;transform:translate3d(0,0,0)}
.food-card{
  position:relative;overflow:hidden;flex:0 0 auto;width:270px;height:176px;border-radius:20px;background:#111;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
}
.food-card::before{
  content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;z-index:4;
  background:conic-gradient(from var(--edge-angle),transparent 0 75%,var(--edge-b) 81%,var(--edge-a) 87%,#fff8d9 90%,var(--edge-a) 93%,transparent 98% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  filter:drop-shadow(0 0 3px var(--edge-soft));
  animation:none;
}
.food-card img{width:100%;height:100%;object-fit:cover;display:block}
.food-overlay{position:absolute;inset:auto 0 0;padding:28px 16px 12px;background:linear-gradient(transparent,rgba(0,0,0,.92));color:#fff;z-index:2;text-align:right}
.food-overlay h2{margin:0;font-size:24px;line-height:1}
.food-overlay p{font-family:BMitra,BYekan,sans-serif;margin:4px 0 0;font-size:20px;line-height:1.04}
.slider-arrow{
  position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border-radius:50%;border:0;background:rgba(15,18,24,.48);color:#fff;font-size:44px;line-height:1;
  display:grid;place-items:center;backdrop-filter:blur(8px);box-shadow:0 10px 20px rgba(0,0,0,.24);z-index:6;
}
.slider-arrow:hover{background:rgba(0,175,215,.58)}
.prev{left:6px}.next{right:6px}
.slider-dots{display:none;justify-content:center;gap:8px}
.slider-dots button{width:14px;height:14px;border:0;border-radius:50%;background:rgba(255,255,255,.74);padding:0;cursor:pointer;box-shadow:0 2px 5px rgba(0,0,0,.25)}
.slider-dots button.active{background:#05e6e8;box-shadow:0 0 12px #00eaff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media (max-width:1180px){
  :root{--header-h:72px}
  .topbar{padding-inline:8px}
  .nav-group{gap:8px}
  .nav-pill{min-width:114px;height:45px;font-size:18px;padding-inline:18px;border-radius:19px}
  .nav-pill--wide{min-width:146px}
  .weather-toggle{min-width:90px}
  .hero{width:94vw;min-height:22vh;margin-top:-48px}
  .brand-logo{width:min(540px,43vw);max-height:210px;margin-top:-22px;margin-bottom:-2px}
  .hero-copy-art{width:min(590px,52vw);margin:-20px auto -4px}
  .hero-title-art{width:min(540px,48vw)}
  .feature-row{display:none}
  .food-card{height:168px}
}



/* Desktop content density: approximately the visual size of browser zoom 90%,
   without scaling the page, background, viewport or PWA notice. */
@media (min-width:761px){
  .nav-pill{
    min-width:124px;height:45px;padding-inline:25px;border-radius:20px;font-size:20px;
  }
  .nav-pill--wide{min-width:160px}
  .weather-toggle{min-width:106px}
  .weather-toggle__icon{font-size:28px}

  .hero{transform:scale(.90);transform-origin:top center}
  /* Desktop hero balance: brand logo is intentionally more dominant than the title artwork. */
  .brand-logo{width:min(710px,46vw);max-height:270px}
  .hero-copy-art{width:min(480px,33vw);margin:-72px auto -5px}
  .hero-title-art{width:min(430px,30.5vw)}

  .food-card{height:158px}
  .food-overlay{padding:25px 14px 11px}
  .food-overlay h2{font-size:22px}
  .food-overlay p{font-size:18px}
  .slider-arrow{width:50px;height:50px;font-size:40px}
  .pwa-notice{top:49%}
}

@media (max-width:760px){
  :root{--header-h:58px}
  .landing-stage{background-image:none;background-position:center top;min-height:100svh;background-size:cover}
  html[data-theme="dark"] .landing-stage{background-image:none}

  .topbar{
    height:auto;min-height:56px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;
    padding:6px 8px 5px;direction:ltr;background:rgba(55,24,0,.18);
  }
  .nav-group{display:contents}
  .nav-pill{min-width:0;width:100%;height:40px;padding:0 4px;border-radius:15px;font-size:clamp(10px,2.9vw,14px);white-space:nowrap}
  .nav-pill--wide{min-width:0}
  .weather-toggle{min-width:0}
  .weather-toggle__icon{font-size:24px}
  .weather-toggle__hint{display:none}

  .hero{width:94vw;margin-top:-18px;min-height:0;transform:translateY(-4px)}
  .brand-logo{width:min(68vw,340px);max-height:140px;margin-top:-6px;margin-bottom:-3px;position:relative;top:35px}
  .hero-copy-art{width:min(78vw,410px);margin:-18px auto -4px}
  .hero-title-art{width:min(78vw,390px)}
  .eyebrow{font-size:clamp(17px,4.35vw,22px);margin-top:-1px}
  .eyebrow-tight{margin-top:-8px}
  .ornament{width:62%;margin-top:-4px;margin-bottom:6px}
  .hero h1{font-size:clamp(21px,5.55vw,29px);line-height:1.08;margin:8px 0 10px;white-space:nowrap}
  .hero-subtitle{font-size:clamp(16px,4.25vw,22px);line-height:1.08;margin:0 0 4px;max-width:92%;}
  .feature-row{display:none}

  .food-zone{bottom:.15vh;padding-inline:4.6vw}
  .slider-shell{display:block}
  .slider-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 0 12px;scrollbar-width:none}
  .slider-viewport::-webkit-scrollbar{display:none}
  .food-slider-track{display:grid;grid-auto-flow:column;gap:10px;transform:none;transition:none}
  .food-card{width:auto;min-width:calc((100vw - 9.2vw - 10px)/2);max-width:none;height:auto;border-radius:17px;aspect-ratio:1.8/1;scroll-snap-align:start}
  .food-overlay{padding:25px 10px 9px}.food-overlay h2{font-size:clamp(18px,5vw,25px)}.food-overlay p{font-size:clamp(15px,4.1vw,21px);margin-top:2px}
  .slider-arrow{display:none}
  .slider-dots{display:flex;gap:7px}.slider-dots button{width:11px;height:11px}
}

@media (max-width:430px){
  .topbar{padding-inline:5px;gap:3px}
  .nav-pill{height:38px;font-size:10.4px}
  .hero{margin-top:-20px;transform:translateY(-5px)}
  .brand-logo{width:66vw;max-height:132px;margin-top:-7px;margin-bottom:-4px}
  .hero-copy-art{width:min(80vw,380px);margin:-17px auto -5px}
  .hero-title-art{width:min(80vw,360px)}
  .hero h1{font-size:5.35vw}
  .hero-subtitle{font-size:4.05vw}
  .food-zone{bottom:0}
}


/* PWA install / update notification */
.pwa-notice{
  position:fixed;left:50%;top:47%;z-index:1000;
  width:min(490px,calc(100vw - 38px));height:68px;padding:8px 12px;
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;direction:ltr;
  border-radius:18px;background:rgba(247,251,255,.94);color:#082f4b;
  backdrop-filter:blur(18px) saturate(1.15);-webkit-backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 14px 38px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.38);
  opacity:0;visibility:hidden;transform:translate(-50%,calc(-50% + 14px)) scale(.98);
  transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1),visibility .55s ease;
  overflow:hidden;
}
html[data-theme="dark"] .pwa-notice{
  background:rgba(4,20,36,.94);color:#fff8e6;
  box-shadow:0 14px 42px rgba(0,0,0,.50),inset 0 0 0 1px rgba(255,214,76,.10);
}
.pwa-notice.is-visible{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1)}
.pwa-notice__action{
  flex:0 0 92px;width:92px;height:50px;min-width:92px;padding:0 12px;border:0;border-radius:14px;
  background:#0b6f98;color:#fff;font:700 14px BYekan,Arial,sans-serif;overflow:hidden;white-space:nowrap;
  box-shadow:0 6px 16px rgba(0,95,135,.22);display:grid;place-items:center;
}
html[data-theme="dark"] .pwa-notice__action{background:#071f35;color:#fff7da}
.pwa-notice__action:disabled{opacity:.66;cursor:wait}
.pwa-notice__action.is-loading{font-size:10px;line-height:1.15;padding:3px}
.pwa-notice__content{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-width:0;text-align:center;direction:rtl;height:100%}
.pwa-notice__content strong{font-family:BYekan,Arial,sans-serif;font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;width:100%;display:block}
.pwa-notice__content span{display:none}
.pwa-notice__icon-wrap{
  flex:0 0 50px;width:50px;height:50px;border-radius:14px;overflow:hidden;display:block;
  box-shadow:0 5px 16px rgba(0,0,0,.22);
}
.pwa-notice__icon{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.pwa-notice__close{display:none}

.pwa-manual-dialog{
  width:min(430px,calc(100vw - 30px));border:0;border-radius:24px;padding:24px 24px 20px;
  direction:rtl;text-align:center;background:rgba(248,251,255,.97);color:#082f4b;
  box-shadow:0 25px 80px rgba(0,0,0,.48);
}
html[data-theme="dark"] .pwa-manual-dialog{background:#071a2b;color:#fff7df}
.pwa-manual-dialog::backdrop{background:rgba(0,0,0,.58);backdrop-filter:blur(5px)}
.pwa-manual-dialog__icon-wrap img{width:92px;height:92px;border-radius:24px;box-shadow:0 8px 28px rgba(0,0,0,.3)}
.pwa-manual-dialog h2{margin:12px 0 8px;font-size:23px}
.pwa-manual-dialog p{font-family:BMitra,BYekan,sans-serif;font-size:20px;line-height:1.65;margin:0 0 17px}
.pwa-manual-dialog button{border:0;border-radius:14px;background:#0b6f98;color:white;min-width:130px;height:42px;font:700 16px BYekan,Arial,sans-serif}

@media (max-width:560px){
  .pwa-notice{
    top:54%;width:min(420px,calc(100vw - 18px));height:62px;padding:7px 10px;gap:8px;border-radius:17px;
  }
  .pwa-notice__icon-wrap{width:46px;height:46px;min-width:46px;flex-basis:46px;border-radius:13px}
  .pwa-notice__action{width:82px;height:46px;min-width:82px;flex:0 0 82px;border-radius:13px;font-size:12.5px;padding-inline:8px}
  .pwa-notice__content strong{font-size:13.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}


/* dynamic climate background + live forecast */
.landing-stage{
  transition:filter .4s ease;
  background-position:center center;
}
.landing-stage::before{
  content:"";position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(180deg, rgba(4,25,44,.18) 0%, rgba(4,25,44,.10) 24%, rgba(4,25,44,.18) 56%, rgba(3,16,28,.34) 100%),
    radial-gradient(circle at top center, rgba(255,235,180,.12), transparent 34%),
    radial-gradient(circle at bottom center, rgba(0,0,0,.10), transparent 42%);
}
.live-weather-panel{
  position:fixed;left:14px;top:78px;z-index:24;
  transform:translateX(-148%);opacity:0;pointer-events:none;
  transition:transform .68s cubic-bezier(.2,.8,.2,1),opacity .42s ease;
}
.live-weather-panel.is-open{transform:translateX(0);opacity:1;pointer-events:auto}
.weather-panel-shell{display:flex;flex-direction:column;align-items:center;gap:10px;width:112px}
.weather-rail-label{
  width:112px;min-height:42px;display:grid;place-items:center;padding:0 10px;
  color:#fff;background:linear-gradient(180deg,rgba(3,30,55,.78),rgba(6,42,73,.56));
  border:1px solid rgba(255,255,255,.18);border-radius:20px;font-size:15px;font-weight:700;
  box-shadow:0 12px 24px rgba(0,0,0,.22), inset 0 0 0 1px rgba(255,255,255,.04);
  backdrop-filter:blur(14px) saturate(1.15);-webkit-backdrop-filter:blur(14px) saturate(1.15);
  text-align:center;
}
.weather-days{display:flex;flex-direction:column;gap:8px;width:112px;max-height:calc(100svh - 170px)}
.weather-card{
  position:relative;overflow:hidden;
  width:112px;min-height:86px;padding:8px 8px 10px;
  background:linear-gradient(180deg,rgba(14,49,77,.72),rgba(8,38,64,.58));
  border:1px solid rgba(255,255,255,.18);border-radius:22px;
  color:#fff;text-align:center;box-shadow:0 14px 28px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.04);
  backdrop-filter:blur(14px) saturate(1.08);-webkit-backdrop-filter:blur(14px) saturate(1.08);
  animation:none;
}
.weather-card:nth-child(even){animation-delay:.8s}
.weather-card::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0));
}
.weather-card .day{font-size:15px;font-weight:700;line-height:1.1;margin-bottom:3px;position:relative;z-index:1;text-shadow:0 2px 8px rgba(0,0,0,.28)}
.weather-card .icon-wrap{height:34px;display:grid;place-items:center;margin:2px 0 4px;position:relative;z-index:1}
.weather-card .icon-wrap svg{width:40px;height:40px;overflow:visible;filter:drop-shadow(0 3px 8px rgba(0,0,0,.24))}
.weather-card .temp{font-size:16px;font-weight:700;line-height:1;position:relative;z-index:1}
.weather-card .temp .sep{opacity:.65;padding:0 1px}
.weather-card .temp-low{opacity:.84;font-size:13px}
.weather-card .temp-high{font-size:17px}
.weather-card .date{font-size:10px;opacity:.82;margin-top:3px;position:relative;z-index:1}
.weather-card .condition{font-size:10px;opacity:.76;margin-top:2px;line-height:1.1;position:relative;z-index:1}
.weather-card .sun-core{animation:pulseSun 4s ease-in-out infinite;transform-origin:center}
.weather-card .sun-rays{animation:spinSun 16s linear infinite;transform-origin:center}
.weather-card .cloud-drift{animation:cloudDrift 5.2s ease-in-out infinite}
.weather-card .drop{animation:rainDrop 1.35s ease-in-out infinite}
.weather-card .drop:nth-child(2){animation-delay:.2s}
.weather-card .drop:nth-child(3){animation-delay:.4s}
.weather-card .flake{animation:snowFall 2.4s ease-in-out infinite}
.weather-card .flake:nth-child(2){animation-delay:.4s}
.weather-card .flake:nth-child(3){animation-delay:.8s}
.weather-card .bolt{animation:flashBolt 2.8s linear infinite}
.weather-card .fog-line{animation:fogWave 3.8s ease-in-out infinite}
@keyframes weatherFloat{50%{transform:translateY(-4px)}}
@keyframes pulseSun{50%{transform:scale(1.06)}}
@keyframes spinSun{to{transform:rotate(360deg)}}
@keyframes cloudDrift{50%{transform:translateX(2px) translateY(-1px)}}
@keyframes rainDrop{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(3px);opacity:1}}
@keyframes snowFall{0%,100%{transform:translateY(0);opacity:.78}50%{transform:translateY(3px);opacity:1}}
@keyframes flashBolt{0%,86%,100%{opacity:.95}88%,90%{opacity:.25}}
@keyframes fogWave{50%{transform:translateX(2px);opacity:.92}}

/* Performance policy: decorative motion is dormant until the user interacts. */
.weather-card .sun-core,.weather-card .sun-rays,.weather-card .cloud-drift,.weather-card .drop,.weather-card .flake,.weather-card .bolt,.weather-card .fog-line{animation-play-state:paused}
.live-weather-panel.is-open .weather-card{animation:weatherFloat 6s ease-in-out infinite}
.live-weather-panel.is-open .weather-card .sun-core,.live-weather-panel.is-open .weather-card .sun-rays,.live-weather-panel.is-open .weather-card .cloud-drift,.live-weather-panel.is-open .weather-card .drop,.live-weather-panel.is-open .weather-card .flake,.live-weather-panel.is-open .weather-card .bolt,.live-weather-panel.is-open .weather-card .fog-line{animation-play-state:running}

@media (hover:hover) and (pointer:fine){
  .nav-pill:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 0 10px var(--glow),0 0 22px rgba(0,214,255,.26),inset 0 0 14px rgba(255,255,255,.16),var(--pill-shadow)}
  .glow-ring:hover::before,.glow-ring:focus-visible::before,.glow-ring:focus-within::before{animation:edgeOrbit 1.8s linear infinite}
  .food-card:hover::before,.food-card:focus-within::before{animation:edgeOrbit 2s linear infinite}
  .brand-logo:hover,.brand-logo:focus-visible{transform:translateY(-3px) scale(1.012);filter:drop-shadow(0 9px 14px rgba(0,0,0,.22)) drop-shadow(0 0 13px rgba(255,214,75,.30))}
}
@media (hover:none),(pointer:coarse){
  .glow-ring::before,.food-card::before{filter:none;opacity:.78}
  .nav-pill:active{transform:scale(.985)}
  .food-card:active{transform:scale(.994)}
  .hero-title-art:hover,.hero-title-art:focus-visible{transform:none;filter:drop-shadow(0 10px 28px rgba(0,0,0,.22)) drop-shadow(0 0 18px rgba(214,168,52,.18))}
}
.weather-unavailable{
  width:112px;padding:12px 8px;border-radius:18px;text-align:center;direction:rtl;
  color:#fff6cf;background:rgba(5,24,42,.70);border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12px;line-height:1.65;
}
@media(max-width:980px){
  .live-weather-panel{left:10px;top:74px}
  .weather-panel-shell,.weather-days,.weather-rail-label,.weather-card{width:102px}
  .weather-rail-label{font-size:14px;min-height:40px}
  .weather-card{min-height:82px;padding:8px 7px 9px}
  .weather-card .icon-wrap svg{width:36px;height:36px}
}
@media(max-width:760px){
  .live-weather-panel{
    display:block;
    left:6px;
    top:62px;
    z-index:70;
    transform:translateX(-148%);
    opacity:0;
    pointer-events:none;
  }
  .live-weather-panel.is-open{
    transform:translateX(0);
    opacity:1;
    pointer-events:auto;
  }
  .weather-days{
    max-height:calc(100svh - 116px);
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:none;
    padding-bottom:6px;
  }
  .weather-days::-webkit-scrollbar{display:none}
}

/* ===== Bilingual navigation + About page ===== */
.language-toggle{gap:7px;grid-auto-flow:column;direction:ltr}
.language-toggle__mark{font-size:.88em;filter:drop-shadow(0 0 5px rgba(255,221,96,.28))}
.language-toggle>span:last-child{font-family:BYekan,Arial,sans-serif}
html[lang="en"] body,html[lang="en"] button,html[lang="en"] a,html[lang="en"] input,html[lang="en"] textarea,html[lang="en"] select{font-family:Georgia,'Times New Roman',serif}
html[lang="en"] .nav-pill{direction:ltr}
html[lang="en"] .food-overlay{text-align:left;direction:ltr}
html[lang="en"] .pwa-notice__content{direction:ltr}
html[lang="en"] .weather-card,html[lang="en"] .weather-unavailable{direction:ltr}

.about-body{background:#061a2c;color:#fff;overflow-y:auto}
.about-page{min-height:100svh;overflow:visible;padding-bottom:46px;background-position:center top;background-attachment:fixed}
.about-page::before{
  background:
    linear-gradient(180deg,rgba(2,15,29,.46) 0%,rgba(3,20,35,.66) 28%,rgba(3,18,31,.82) 58%,rgba(2,13,24,.96) 100%),
    radial-gradient(circle at 50% 12%,rgba(255,211,82,.11),transparent 26%),
    radial-gradient(circle at 50% 54%,rgba(0,190,230,.08),transparent 36%);
}
.about-scroll{width:min(1120px,92vw);margin:-6px auto 0;padding:0 0 36px;position:relative;z-index:12}
.about-hero{text-align:center;display:flex;flex-direction:column;align-items:center;padding:6px 18px 26px}
.about-logo-link{display:block;line-height:0;border-radius:38px;outline:none}
.about-hero-card{width:min(980px,100%);padding:24px 24px 28px;display:flex;flex-direction:column;align-items:center;gap:0;}
.about-hero-card .about-logo-link{margin:0 auto 2px;}
.about-logo{
  width:min(500px,44vw);max-height:205px;object-fit:contain;transition:transform .42s cubic-bezier(.2,.8,.2,1),filter .42s ease;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(255,213,72,.24));
  animation:none;
}
.about-logo-link:hover .about-logo,.about-logo-link:focus-visible .about-logo{
  transform:translateY(-4px) scale(1.035);
  filter:drop-shadow(0 12px 20px rgba(0,0,0,.38)) drop-shadow(0 0 16px rgba(255,213,72,.72)) drop-shadow(0 0 32px rgba(0,214,255,.48));
  animation:aboutLogoHoverGlow 1.45s ease-in-out infinite;
}
@keyframes aboutLogoBreath{0%,100%{transform:translateY(0);filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(255,213,72,.2))}50%{transform:translateY(-3px);filter:drop-shadow(0 10px 18px rgba(0,0,0,.34)) drop-shadow(0 0 13px rgba(255,213,72,.38))}}
@keyframes aboutLogoHoverGlow{0%,100%{filter:drop-shadow(0 12px 20px rgba(0,0,0,.38)) drop-shadow(0 0 13px rgba(255,213,72,.58)) drop-shadow(0 0 23px rgba(0,214,255,.32))}50%{filter:drop-shadow(0 12px 20px rgba(0,0,0,.38)) drop-shadow(0 0 25px rgba(255,213,72,.88)) drop-shadow(0 0 42px rgba(0,214,255,.58))}}
.about-kicker{margin:6px 0 4px;color:#f8d65e;font:700 clamp(15px,1.45vw,20px) BYekan,Arial,sans-serif;letter-spacing:.1px;text-shadow:0 3px 12px rgba(0,0,0,.54)}
.about-ornament{display:flex;align-items:center;gap:11px;width:min(430px,62vw);color:#d0a833;margin:10px 0 14px}
.about-ornament span{height:3px;flex:1;border-radius:999px;background:linear-gradient(90deg,transparent,#e2b94c 50%,transparent);box-shadow:0 0 12px rgba(231,189,72,.28)}
.about-ornament b{font-size:23px}
.about-hero h1{font-family:Nas,BYekan,Arial,sans-serif;font-size:clamp(40px,4.3vw,68px);line-height:1.16;margin:12px 0 18px;color:#fff8e6;text-shadow:0 3px 16px rgba(0,0,0,.72),0 0 3px rgba(255,255,255,.22)}
.about-lead{max-width:850px;margin:0 auto;color:#f3f5f7;font:400 clamp(21px,2vw,29px)/1.9 BMitra,BYekan,sans-serif;text-shadow:0 2px 10px rgba(0,0,0,.68)}
.glass-about-card{
  position:relative;border:1px solid rgba(255,255,255,.13);border-radius:26px;
  background:linear-gradient(145deg,rgba(4,28,47,.77),rgba(4,20,36,.61));
  backdrop-filter:blur(18px) saturate(1.1);-webkit-backdrop-filter:blur(18px) saturate(1.1);
  box-shadow:0 20px 46px rgba(0,0,0,.24),inset 0 0 0 1px rgba(255,255,255,.025);
}
.glass-about-card::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,rgba(255,213,76,.08),transparent 30%,rgba(26,210,240,.06) 70%,transparent)}
.about-story{padding:30px clamp(24px,4vw,50px);margin:0 auto 18px}
.about-story p,.about-location p,.about-contact p,.about-feature p{position:relative;z-index:1;font-family:BMitra,BYekan,sans-serif}
.about-story p{margin:0 0 15px;color:#f0f4f7;font-size:clamp(20px,1.8vw,26px);line-height:1.95;text-align:justify;text-justify:inter-word}
.about-story p:last-child{margin-bottom:0}
.about-features{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 18px}
.about-feature{padding:25px 22px 22px;text-align:center;min-height:205px}
.about-feature__icon{position:relative;z-index:1;display:grid;place-items:center;width:58px;height:58px;margin:0 auto 10px;border-radius:18px;background:rgba(255,214,80,.09);font-size:29px;box-shadow:inset 0 0 0 1px rgba(255,216,87,.16),0 8px 22px rgba(0,0,0,.16)}
.about-feature h2,.about-location h2,.about-contact h2{position:relative;z-index:1;margin:0;color:#fff7d9;font-size:clamp(20px,2vw,28px)}
.about-feature p{margin:8px 0 0;color:#dce8ee;font-size:20px;line-height:1.55}
.about-location,.about-contact{padding:30px clamp(24px,4vw,48px);margin-bottom:18px}
.about-section-label{position:relative;z-index:1;display:inline-block;margin-bottom:7px;color:#e5bb42;font:700 12px/1.3 BYekan,Arial,sans-serif;letter-spacing:1.4px}
.about-location p,.about-contact p{margin:10px 0 0;color:#e5edf2;font-size:clamp(19px,1.65vw,24px);line-height:1.75}
.about-location p{text-align:justify;text-justify:inter-word}
.contact-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:12px;margin-top:22px}
.contact-item{display:flex;flex-direction:column;gap:6px;min-height:92px;justify-content:center;padding:15px 18px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);color:#fff;text-decoration:none;transition:.25s ease}
.contact-item span{color:#a9c0cf;font-size:13px}
.contact-item strong{font-size:17px;line-height:1.45}
.contact-item--link:hover,.contact-item--link:focus-visible{transform:translateY(-3px);background:rgba(255,216,77,.085);border-color:rgba(255,216,77,.32);box-shadow:0 10px 28px rgba(0,0,0,.2);outline:none}
.contact-placeholder-note{position:relative;z-index:1;display:block;margin-top:12px;color:#9db0bd;font:12px/1.6 BYekan,Arial,sans-serif}
.about-home-link{display:grid;place-items:center;width:max-content;min-width:210px;height:48px;margin:25px auto 0;padding:0 24px;border-radius:20px;background:#07223a;color:#fff6d3;text-decoration:none;font-weight:700;box-shadow:0 12px 28px rgba(0,0,0,.25)}

html[lang="en"] .about-story p,html[lang="en"] .about-location p{text-align:justify;text-justify:inter-word}
html[lang="en"] .about-hero h1,html[lang="en"] .about-kicker,html[lang="en"] .about-feature h2,html[lang="en"] .about-location h2,html[lang="en"] .about-contact h2{font-family:BYekan,Arial,sans-serif}
html[lang="en"] .about-lead,html[lang="en"] .about-story p,html[lang="en"] .about-feature p,html[lang="en"] .about-location p,html[lang="en"] .about-contact p{font-family:Georgia,"Times New Roman",serif}

@media(max-width:760px){
  .language-toggle{gap:3px}.language-toggle__mark{display:none}
  .about-page{background-attachment:scroll;padding-bottom:28px}
  .about-scroll{width:94vw;margin:0 auto;padding-bottom:24px}
  .about-hero{padding:4px 8px 20px}
  .about-hero-card{padding:20px 14px 22px;border-radius:22px}
  .about-logo{width:72vw;max-height:160px}
  .about-kicker{margin:4px 0 4px;font-size:13px}
  .about-ornament{width:68vw;margin:8px 0 10px}
  .about-hero h1{font-size:clamp(31px,9vw,44px);margin:10px 0 14px;line-height:1.18}
  .about-lead{font-size:20px;line-height:1.75;max-width:92%}
  .about-story{padding:22px 18px}.about-story p{font-size:19px;line-height:1.78;text-align:justify;text-justify:inter-word}
  .about-features{grid-template-columns:1fr;gap:12px}
  .about-feature{min-height:0;padding:20px 17px}.about-feature__icon{width:52px;height:52px;font-size:26px}
  .about-feature p{font-size:18px}
  .about-location,.about-contact{padding:24px 18px}
  .about-location p,.about-contact p{font-size:18px;line-height:1.7}
  .about-location p{text-align:justify;text-justify:inter-word}
  .contact-grid{grid-template-columns:1fr;gap:9px;margin-top:16px}
  .contact-item{min-height:76px;padding:12px 15px}.contact-item strong{font-size:15px}
  .about-home-link{height:44px;min-width:180px;font-size:14px}
}

/* ===== Realtime public/manager chat ===== */
.chat-layer{position:fixed;inset:0;z-index:1800;pointer-events:none;font-family:BYekan,Arial,sans-serif}
.chat-backdrop{position:absolute;inset:0;z-index:0;pointer-events:auto;background:transparent}
.chat-backdrop[hidden]{display:none}
.chat-fab{pointer-events:auto;position:absolute;z-index:2;left:max(18px,env(safe-area-inset-left));bottom:max(104px,calc(env(safe-area-inset-bottom) + 88px));width:64px;height:64px;border:0;border-radius:50%;background:linear-gradient(145deg,#061827,#0a2f4b);color:#f4ca54;display:grid;place-items:center;cursor:pointer;isolation:isolate;box-shadow:0 14px 38px rgba(0,0,0,.36),inset 0 0 0 1px rgba(246,204,79,.28);transition:transform .24s ease,box-shadow .3s ease,color .3s ease}
.chat-fab:hover{transform:translateY(-3px) scale(1.045);box-shadow:0 16px 42px rgba(0,0,0,.42),0 0 26px rgba(244,202,84,.38),inset 0 0 0 1px rgba(255,221,106,.5)}
.chat-fab:active{transform:scale(.96)}
.chat-fab-rings,.chat-fab-rings::before,.chat-fab-rings::after{position:absolute;inset:-2px;border-radius:50%;border:1px solid rgba(244,202,84,.62);content:"";z-index:-1;pointer-events:none}
.chat-fab-rings::before{inset:-9px;animation:none;opacity:.48}
.chat-fab-rings::after{inset:-16px;animation:none;opacity:.26}
.chat-fab-headset{width:36px;height:36px;display:grid;place-items:center;filter:drop-shadow(0 0 8px rgba(244,202,84,.54))}
.chat-fab-headset svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.chat-fab.peer-online{color:#52e084;box-shadow:0 14px 38px rgba(0,0,0,.36),0 0 24px rgba(82,224,132,.22),inset 0 0 0 1px rgba(82,224,132,.34)}
.chat-fab.peer-online:hover{box-shadow:0 16px 42px rgba(0,0,0,.42),0 0 30px rgba(82,224,132,.46),inset 0 0 0 1px rgba(82,224,132,.58)}
.chat-fab.peer-online .chat-fab-rings,.chat-fab.peer-online .chat-fab-rings::before,.chat-fab.peer-online .chat-fab-rings::after{border-color:rgba(82,224,132,.66)}
.chat-fab.has-unread{color:#c788ff;box-shadow:0 14px 40px rgba(0,0,0,.38),0 0 30px rgba(160,73,245,.5),inset 0 0 0 1px rgba(199,136,255,.54);animation:chatUnreadBounce 1.5s ease-in-out infinite}
.chat-fab.has-unread:hover{box-shadow:0 18px 46px rgba(0,0,0,.44),0 0 42px rgba(172,83,255,.72),inset 0 0 0 1px rgba(211,163,255,.76)}
.chat-fab.has-unread .chat-fab-rings,.chat-fab.has-unread .chat-fab-rings::before,.chat-fab.has-unread .chat-fab-rings::after{border-color:rgba(190,112,255,.8)}
.chat-fab.has-unread .chat-fab-rings::before{animation:chatPulsePurple 1.35s ease-out infinite}.chat-fab.has-unread .chat-fab-rings::after{animation:chatPulsePurple 1.35s .38s ease-out infinite}
.chat-unread-badge{position:absolute;right:-5px;top:-6px;min-width:23px;height:23px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#8a35d6;color:#fff;border:2px solid #fff;font:700 11px/1 BYekan,sans-serif;box-shadow:0 4px 14px rgba(117,38,190,.58)}
.chat-fab-tip{pointer-events:none;position:absolute;left:max(10px,env(safe-area-inset-left));bottom:max(178px,calc(env(safe-area-inset-bottom) + 164px));padding:9px 17px 10px;border-radius:17px;background:rgba(3,21,36,.88);color:#f7d55e;border:1px solid rgba(245,207,78,.22);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 28px rgba(0,0,0,.28);font:26px/1 BMitra,BYekan,sans-serif;white-space:nowrap;opacity:0;transform:translateY(7px) scale(.96);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.8,.2,1);direction:rtl}
.chat-fab-tip::after{content:"";position:absolute;bottom:-7px;left:27px;width:13px;height:13px;background:rgba(3,21,36,.88);border-right:1px solid rgba(245,207,78,.16);border-bottom:1px solid rgba(245,207,78,.16);transform:rotate(45deg)}
.chat-fab-tip.is-visible:not(.is-hidden){opacity:1;transform:translateY(0) scale(1)}.chat-fab-tip.is-hidden{opacity:0;transform:translateY(6px) scale(.97)}
.chat-notice-stack{pointer-events:auto;position:absolute;z-index:2;left:94px;bottom:max(105px,calc(env(safe-area-inset-bottom) + 90px));width:min(360px,calc(100vw - 120px));display:flex;flex-direction:column-reverse;gap:8px}
.chat-notice{width:100%;display:grid;grid-template-columns:42px 1fr 18px;align-items:center;gap:9px;padding:10px 11px;border:1px solid rgba(197,129,255,.3);border-radius:19px;background:linear-gradient(135deg,rgba(11,19,31,.96),rgba(26,34,50,.96));color:#fff;text-align:start;cursor:pointer;box-shadow:0 15px 38px rgba(0,0,0,.35),0 0 20px rgba(156,70,230,.14);animation:chatNoticeIn .32s cubic-bezier(.2,.8,.2,1)}
.chat-notice.leaving{animation:chatNoticeOut .65s ease forwards}.chat-notice-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:rgba(165,86,236,.13);font-size:20px}.chat-notice-copy{min-width:0;display:flex;flex-direction:column;gap:2px}.chat-notice-copy strong{font-size:12px;color:#e5baff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-notice-copy small{font:20px/1.25 BMitra,BYekan,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-notice>b{font-size:22px;color:#c78aff}
.chat-panel{pointer-events:auto;position:absolute;z-index:3;left:max(16px,env(safe-area-inset-left));bottom:max(177px,calc(env(safe-area-inset-bottom) + 162px));width:min(410px,calc(100vw - 32px));height:min(620px,calc(100dvh - 215px));display:flex;flex-direction:column;border-radius:26px;overflow:hidden;border:1px solid rgba(255,213,74,.2);background:linear-gradient(180deg,rgba(4,20,35,.97),rgba(2,12,22,.98));color:#f7fbff;box-shadow:0 24px 70px rgba(0,0,0,.46),0 0 0 1px rgba(255,255,255,.025) inset;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform-origin:bottom left;animation:chatPanelIn .24s cubic-bezier(.2,.8,.2,1)}
.chat-panel[hidden]{display:none}.chat-panel.is-dragover{outline:2px dashed rgba(44,221,224,.75);outline-offset:-8px;box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 40px rgba(44,221,224,.18)}
.chat-panel-head{min-height:72px;padding:10px 13px;display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:8px;direction:ltr;background:linear-gradient(135deg,#061a2d,#0a2942);border-bottom:1px solid rgba(255,255,255,.07)}
.chat-round-button{width:38px;height:38px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.055);color:#fff;font-size:24px;display:grid;place-items:center;cursor:pointer}.chat-round-button:hover{background:rgba(255,213,74,.1);border-color:rgba(255,213,74,.26)}
.chat-panel-close{grid-column:3;grid-row:1;justify-self:end;width:42px;height:42px;border:0;background:transparent;color:#ff4769;font:700 37px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;text-shadow:0 0 8px rgba(255,71,105,.42);transition:transform .16s ease,color .16s ease,text-shadow .16s ease}
.chat-panel-close:hover{color:#ff6d88;transform:scale(1.08);text-shadow:0 0 12px rgba(255,71,105,.62)}
.chat-peer-button{grid-column:2;grid-row:1;justify-self:stretch;width:100%;border:0;background:transparent;color:inherit;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:4px 8px;direction:rtl;text-align:center}.chat-peer-title{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-weight:700;font-size:16px}.chat-peer-presence{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;color:#91a3b3;font-size:10px;text-align:center;white-space:nowrap}.chat-peer-presence i{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#71808e}.chat-peer-presence.online{color:#6fe091}.chat-peer-presence.online i{background:#48d878;box-shadow:0 0 0 4px rgba(72,216,120,.12)}.chat-peer-presence b{font-weight:500}.chat-contacts-toggle{grid-column:1;grid-row:1;justify-self:start}.chat-contacts-toggle[hidden]{visibility:hidden}
.chat-contacts{max-height:min(48vh,420px);overflow:auto;padding:8px;background:rgba(4,13,23,.96);border-bottom:1px solid rgba(255,255,255,.07);scrollbar-width:none}.chat-contacts::-webkit-scrollbar{display:none}.chat-contacts[hidden]{display:none}.chat-contact{width:100%;display:flex;align-items:center;gap:9px;padding:8px 9px;margin-bottom:6px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#fff;text-align:start;cursor:pointer}.chat-contact.active{border-color:rgba(241,199,72,.36);background:rgba(241,199,72,.07)}.chat-contact-avatar{width:39px;height:39px;flex:0 0 39px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#17283a,#0d1723);color:#f0c956}.chat-contact-avatar.online{box-shadow:0 0 0 1px rgba(68,215,120,.35),0 0 15px rgba(68,215,120,.13)}.chat-contact-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.chat-contact-copy strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-contact-copy small{font:17px/1.15 BMitra,BYekan,sans-serif;color:#aebdca;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-contact-presence{font-size:9px;color:#778895;display:flex;align-items:center;gap:4px}.chat-contact-presence i{width:6px;height:6px;border-radius:50%;background:#657684}.chat-contact-presence.online{color:#65db8a}.chat-contact-presence.online i{background:#49d979}.chat-contact-unread{min-width:21px;height:21px;padding:0 5px;border-radius:99px;background:#8d39d5;display:grid;place-items:center;font-size:10px}.chat-contacts-empty{text-align:center;color:#8798a6;font:18px/1.5 BMitra,sans-serif;padding:13px;margin:0}
.chat-conversation{min-height:0;flex:1;display:flex;flex-direction:column}.chat-messages{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:14px;display:flex;flex-direction:column;gap:9px;scrollbar-width:thin;scrollbar-color:rgba(242,202,78,.23) transparent;background:radial-gradient(circle at 85% 0,rgba(34,146,178,.06),transparent 33%),linear-gradient(180deg,rgba(255,255,255,.015),transparent)}
.chat-empty{margin:auto;text-align:center;color:#8ea0ae;font:20px/1.55 BMitra,BYekan,sans-serif}.chat-message{max-width:83%;padding:9px 11px 7px;border-radius:18px 18px 6px 18px;background:linear-gradient(145deg,rgba(194,153,54,.15),rgba(139,103,28,.09));border:1px solid rgba(226,185,71,.14);align-self:flex-end;box-shadow:0 8px 22px rgba(0,0,0,.08)}.chat-message.incoming{align-self:flex-start;border-radius:18px 18px 18px 6px;background:linear-gradient(145deg,rgba(88,112,139,.17),rgba(54,72,92,.11));border-color:rgba(132,153,177,.13)}.chat-message p{margin:0;font:20px/1.55 BMitra,BYekan,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere}.chat-message footer{display:flex;align-items:center;gap:7px;justify-content:flex-end;margin-top:4px;font-size:9px;color:#91a0ad}.chat-message-status{letter-spacing:-2px}.chat-message-status.read{color:#50d9e7}.chat-message-status.delivered{color:#b7c5d0}.chat-message-attachments{display:flex;flex-direction:column;gap:7px;margin-top:5px}.chat-media-thumb{border:0;background:transparent;padding:0;cursor:pointer}.chat-media-thumb img{display:block;max-width:min(240px,60vw);max-height:260px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.1)}.chat-video-wrap video{display:block;width:min(245px,61vw);max-height:260px;border-radius:14px;background:#000}.chat-video-wrap a,.chat-audio-wrap a{display:inline-block;margin-top:4px;color:#6ee1e9;font-size:10px;text-decoration:none}.chat-audio-wrap audio{max-width:240px}.chat-file-pill{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none;max-width:250px}.chat-file-icon{width:38px;height:38px;flex:0 0 38px;border-radius:11px;display:grid;place-items:center;background:rgba(239,195,66,.13);color:#f0c953;font-size:9px;font-weight:700}.chat-file-pill>span:last-child{min-width:0;display:flex;flex-direction:column}.chat-file-pill strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-file-pill small{font-size:8px;color:#8fa1ae}
.chat-message-form{position:relative;display:flex;flex-direction:column;gap:8px;padding:9px 10px 11px;border-top:1px solid rgba(255,255,255,.07);background:rgba(2,11,20,.93)}.chat-composer-shell{position:relative;min-height:58px;border-radius:21px;border:1px solid rgba(44,203,216,.34);background:linear-gradient(180deg,rgba(5,19,30,.98),rgba(4,14,24,.98));box-shadow:inset 0 0 0 1px rgba(61,191,203,.07);transition:min-height .18s ease}.chat-composer-shell textarea{display:block;width:100%;height:56px;min-height:56px;max-height:176px;resize:none;overflow-y:hidden;border:0;background:transparent;color:#edf5f8;outline:0;padding:15px 61px 13px;font:20px/1.45 BMitra,BYekan,sans-serif;text-align:start;box-sizing:border-box;scrollbar-width:thin;scrollbar-color:rgba(116,143,160,.6) transparent}.chat-composer-shell textarea::-webkit-scrollbar{width:4px}.chat-composer-shell textarea::-webkit-scrollbar-track{background:transparent;margin:7px 0}.chat-composer-shell textarea::-webkit-scrollbar-thumb{background:rgba(116,143,160,.58);border-radius:99px}.chat-composer-shell textarea::-webkit-scrollbar-thumb:hover{background:rgba(143,169,185,.78)}.chat-composer-shell textarea::placeholder{color:#8799a8}.chat-composer-shell.is-expanded textarea{min-height:104px;max-height:176px;padding:11px 12px 60px;overflow-y:auto}.chat-send-button,.chat-attach-button{position:absolute;bottom:8px;top:auto;transform:none;width:41px;height:41px;border-radius:14px;border:0;display:grid;place-items:center;cursor:pointer;z-index:2}.chat-send-button{inset-inline-start:9px;background:linear-gradient(145deg,#32dfda,#159daa);color:#062027;box-shadow:0 0 17px rgba(39,206,208,.19)}.chat-send-button svg{width:20px;height:20px;fill:currentColor}.chat-send-button.is-sending{animation:chatSendSpin 1s linear infinite}.chat-attach-button{inset-inline-end:9px;background:linear-gradient(145deg,#223248,#162334);border:1px solid rgba(138,158,184,.18);color:#f1f5f7;font-size:24px}.chat-drop-hint{position:absolute;inset:8px;z-index:12;display:none;place-items:center;border:2px dashed rgba(55,223,221,.72);border-radius:20px;background:rgba(2,17,27,.92);color:#67e4df;font:25px/1.4 BMitra,sans-serif;pointer-events:none}.chat-panel.is-dragover .chat-drop-hint{display:grid}
.chat-attachment-draft{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px;width:100%}.chat-attachment-draft[hidden]{display:none}.chat-draft-card-wrap{position:relative;width:70px;height:70px}.chat-draft-card{width:100%;height:100%;border-radius:16px;overflow:hidden;border:1px solid rgba(115,138,163,.25);background:#0a1622;position:relative}.chat-draft-thumb,.chat-draft-filemark{width:100%;height:100%;object-fit:cover;display:grid;place-items:center}.chat-draft-filemark{color:#f1c94f;background:linear-gradient(145deg,#102338,#08131f);font-size:11px;font-weight:700}.chat-draft-caption{position:absolute;inset-inline:0;bottom:0;padding:13px 5px 4px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.82));display:flex;flex-direction:column;color:#fff}.chat-draft-caption strong,.chat-draft-caption small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:8px}.chat-draft-remove{position:absolute;left:-4px;top:-5px;z-index:3;width:21px;height:21px;border:0;border-radius:50%;background:#9d3f4e;color:#fff;display:grid;place-items:center;font-size:16px;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.35)}
.chat-inline-error{position:absolute;left:50%;bottom:80px;z-index:20;transform:translateX(-50%);width:max-content;max-width:85%;padding:8px 13px;border-radius:14px;background:rgba(118,28,46,.95);color:#fff;font-size:11px;box-shadow:0 10px 25px rgba(0,0,0,.32);animation:chatNoticeIn .2s ease}.chat-inline-error.leaving{opacity:0;transform:translateX(-50%) translateY(6px);transition:.55s ease}
.chat-login-dialog,.chat-media-dialog{border:1px solid rgba(247,207,78,.23);border-radius:25px;background:linear-gradient(155deg,#071d31,#03111e);color:#fff;box-shadow:0 24px 70px rgba(0,0,0,.56);padding:24px;width:min(390px,calc(100vw - 32px));font-family:BYekan,Arial,sans-serif}.chat-login-dialog::backdrop,.chat-media-dialog::backdrop{background:rgba(0,7,13,.68);backdrop-filter:blur(7px)}.chat-dialog-close{position:absolute;top:10px;left:10px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#fff;font-size:23px;cursor:pointer}.chat-login-mark{width:62px;height:62px;margin:3px auto 9px;border-radius:20px;display:grid;place-items:center;background:rgba(247,204,69,.1);color:#f4c94c;font-size:30px;border:1px solid rgba(247,204,69,.17)}.chat-login-mark--online{color:#5cdc86;border-color:rgba(92,220,134,.24);background:rgba(92,220,134,.09)}.chat-login-dialog h2{text-align:center;margin:0;font-size:20px}.chat-login-dialog p{text-align:center;color:#96a8b8;font:19px/1.4 BMitra,sans-serif;margin:7px 0 16px}.chat-login-dialog form{display:grid;gap:11px}.chat-login-dialog label{display:grid;gap:5px}.chat-login-dialog label span{font-size:11px;color:#bdcbd5}.chat-login-dialog input{height:45px;border-radius:15px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.055);color:#fff;padding:0 12px;outline:0}.chat-login-dialog input:focus{border-color:rgba(247,203,71,.48);box-shadow:0 0 0 3px rgba(247,203,71,.07)}.chat-login-dialog form>button,.chat-logout-button{height:45px;border:0;border-radius:15px;background:linear-gradient(145deg,#e2b748,#f2d06b);color:#092039;font-weight:700;cursor:pointer}.chat-logout-button{width:100%;background:linear-gradient(145deg,#6c2939,#96384b);color:#fff}.chat-login-error{padding:8px 10px;border-radius:12px;background:rgba(143,42,58,.25);color:#ffb7c2;font-size:11px;text-align:center}.chat-media-dialog{width:min(900px,calc(100vw - 28px));max-height:90dvh}.chat-media-body{display:grid;place-items:center;overflow:auto;max-height:72dvh;margin-top:18px}.chat-media-body img,.chat-media-body video{max-width:100%;max-height:70dvh;border-radius:17px}.chat-media-download{display:block;width:max-content;margin:13px auto 0;color:#f3ce5d;text-decoration:none;font-size:12px}
html[lang="en"] .chat-message p,html[lang="en"] .chat-empty,html[lang="en"] .chat-notice-copy small,html[lang="en"] .chat-composer-shell textarea,html[lang="en"] .chat-login-dialog p{font-family:Arial,sans-serif;font-size:13px}html[lang="en"] .chat-peer-button{direction:ltr}.chat-fab-tip{font-family:BMitra,BYekan,sans-serif}
@keyframes chatPulseGold{0%{opacity:.7;transform:scale(.88)}75%,100%{opacity:0;transform:scale(1.18)}}@keyframes chatPulsePurple{0%{opacity:.92;transform:scale(.88)}100%{opacity:0;transform:scale(1.28)}}@keyframes chatUnreadBounce{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-2px) scale(1.035)}}@keyframes chatPanelIn{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes chatNoticeIn{from{opacity:0;transform:translateX(-12px) scale(.97)}to{opacity:1;transform:none}}@keyframes chatNoticeOut{to{opacity:0;transform:translateX(-12px) scale(.96)}}@keyframes chatSendSpin{50%{filter:brightness(1.25);transform:translateY(-50%) rotate(180deg)}}
@media(max-width:760px){.chat-fab{left:14px;bottom:max(112px,calc(env(safe-area-inset-bottom) + 96px));width:58px;height:58px}.chat-fab-headset svg{width:32px;height:32px}.chat-fab-tip{left:8px;bottom:max(180px,calc(env(safe-area-inset-bottom) + 166px));font-size:23px}.chat-notice-stack{left:80px;bottom:max(113px,calc(env(safe-area-inset-bottom) + 98px));width:calc(100vw - 96px)}.chat-backdrop{background:rgba(0,7,13,.16);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.chat-panel{border-radius:20px;max-width:none;max-height:none}.chat-panel-head{min-height:66px;padding:8px 10px;background:linear-gradient(135deg,#0b2942,#0d3a58);border-bottom-color:rgba(74,193,220,.19);box-shadow:inset 0 -1px 0 rgba(255,255,255,.025)}.chat-panel-close{width:40px;height:40px;font-size:35px}.chat-peer-title{font-size:14px}.chat-messages{padding:11px}.chat-message{max-width:87%}.chat-message p{font-size:19px}.chat-composer-shell{min-height:55px}.chat-send-button,.chat-attach-button{width:39px;height:39px}.chat-composer-shell textarea{min-height:53px;padding:14px 58px 12px;font-size:19px}.chat-draft-card-wrap{width:62px;height:62px}html.chat-panel-open,html.chat-panel-open body{overflow:hidden;overscroll-behavior:none}}
body.about-body .chat-fab{bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px))}body.about-body .chat-fab-tip{bottom:max(98px,calc(env(safe-area-inset-bottom) + 92px))}body.about-body .chat-panel{bottom:max(92px,calc(env(safe-area-inset-bottom) + 84px))}body.about-body .chat-notice-stack{bottom:max(26px,calc(env(safe-area-inset-bottom) + 20px))}

/* ===== Chat mobility, public intake & weather alignment ===== */
.weather-rail-label,.weather-card{box-sizing:border-box}
html[lang="en"] .weather-card .temp,
html[lang="en"] .weather-card .date,
html[lang="en"] .weather-card .day{font-family:Arial,sans-serif;font-variant-numeric:tabular-nums}

/* The FAB is draggable. These are only the first-paint defaults; JS persists the user's position. */
.chat-fab{
  left:auto;right:max(18px,env(safe-area-inset-right));
  bottom:max(170px,calc(env(safe-area-inset-bottom) + 154px));
  cursor:grab;user-select:none;-webkit-user-select:none;touch-action:none
}
.chat-fab.is-dragging{cursor:grabbing;transform:none;transition:none;z-index:5}
.chat-fab.is-dragging .chat-fab-rings::before,.chat-fab.is-dragging .chat-fab-rings::after{animation-play-state:paused}

/* JS positions these relative to the draggable FAB and clamps them to the viewport. */
.chat-fab-tip,.chat-notice-stack,.chat-panel{right:auto;bottom:auto}
.chat-panel{max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}

.chat-contact-group{display:grid;gap:6px;margin-bottom:9px}
.chat-contact-group:last-child{margin-bottom:0}
.chat-contact-group-title{display:flex;align-items:center;gap:6px;min-height:28px;padding:3px 7px;color:#e8c963;font-size:11px;border-bottom:1px solid rgba(231,194,80,.12)}
.chat-contact-group-title b{margin-inline-start:auto;min-width:20px;height:20px;padding:0 5px;border-radius:99px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:#c9d3dc;font-size:9px}
.chat-contact-group--public .chat-contact-group-title{color:#a9d8f0}

.chat-message--bot{max-width:90%;background:linear-gradient(145deg,rgba(30,92,118,.23),rgba(21,53,75,.18));border-color:rgba(83,177,213,.22);box-shadow:0 8px 25px rgba(0,0,0,.12),inset 0 0 0 1px rgba(98,200,225,.025)}
.chat-bot-label{margin-bottom:4px;color:#65d8e4;font:700 10px/1.2 BYekan,Arial,sans-serif}
.chat-message--identity{opacity:.96}
.chat-message--identity p{color:#fff8df}

.chat-message-form[hidden]{display:none}
.chat-readonly-note{padding:10px 13px 12px;border-top:1px solid rgba(255,255,255,.07);background:rgba(2,11,20,.96);color:#b9c7d0;font:18px/1.55 BMitra,BYekan,sans-serif;text-align:center}
.chat-readonly-note[hidden]{display:none}

.chat-finish-button{position:absolute;inset-inline-end:8px;top:50%;transform:translateY(-50%);height:40px;min-width:50px;padding:0 9px;border-radius:13px;border:1px solid rgba(242,201,78,.31);background:linear-gradient(145deg,#2b2730,#1b1e28);color:#f5d465;font:700 18px/1 BMitra,BYekan,sans-serif;cursor:pointer;z-index:3;box-shadow:0 0 14px rgba(241,197,69,.08)}
.chat-finish-button:hover{background:linear-gradient(145deg,#3a3129,#24202a);box-shadow:0 0 20px rgba(241,197,69,.16)}
.chat-finish-button:disabled{opacity:.55;cursor:wait}
.chat-finish-button[hidden]{display:none}

html[lang="en"] .chat-finish-button,html[lang="en"] .chat-readonly-note{font-family:Arial,sans-serif;font-size:12px}

@media(max-width:760px){
  .chat-fab{left:auto;right:14px;bottom:max(188px,calc(env(safe-area-inset-bottom) + 172px))}
  .chat-panel{max-width:none;max-height:none}
  .chat-readonly-note{font-size:17px}
  .chat-finish-button{height:38px;min-width:48px;font-size:17px}
}


/* ===== Sequential assistant typewriter ===== */
.chat-message--bot[hidden]{display:none}
.chat-message--bot.is-entering{animation:chatBotBubbleIn .34s cubic-bezier(.2,.75,.2,1) both}
.chat-message--bot.is-typing p::after{content:"";display:inline-block;width:2px;height:.95em;margin-inline-start:4px;vertical-align:-.08em;border-radius:2px;background:#77e6e7;box-shadow:0 0 8px rgba(89,224,226,.55);animation:chatTypingCaret .78s steps(1,end) infinite}
.chat-message--bot.is-revealed p::after{display:none}
.chat-panel.is-bot-typing .chat-composer-shell{opacity:.72;transition:opacity .25s ease}
.chat-panel.is-bot-typing .chat-send-button,.chat-panel.is-bot-typing .chat-finish-button{filter:saturate(.65);cursor:wait}
.chat-composer-shell textarea:disabled{cursor:wait;color:#90a6b6;-webkit-text-fill-color:#90a6b6;opacity:1}
@keyframes chatBotBubbleIn{from{opacity:0;transform:translateY(10px) scale(.975);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes chatTypingCaret{0%,48%{opacity:1}49%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.chat-message--bot.is-entering{animation:none}.chat-message--bot.is-typing p::after{animation:none}}

/* ===== Persistent multi-visitor realtime chat ===== */
@media(max-width:760px){
  .chat-contacts{max-height:min(45dvh,360px)}
}

/* Offline page */
.offline-body{margin:0;min-height:100vh;display:grid;place-items:center;background:#071827;color:#fff7df;font-family:Arial,sans-serif;padding:24px;text-align:center}
.offline-box{max-width:520px;padding:28px;border:1px solid #ffffff22;border-radius:24px;background:#0a2339;box-shadow:0 24px 70px #0007}
.offline-box h1{color:#ffd84d}
.offline-box p{line-height:1.8;font-size:18px}
.offline-retry{border:0;border-radius:14px;padding:12px 20px;background:#ffd84d;color:#08263d;font-weight:700;cursor:pointer}

/* Accessibility policy: intentionally last so normal cascade disables all motion. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms;animation-iteration-count:1;scroll-behavior:auto}
}
/* ===== Natural precipitation canvas ===== */
.weather-precipitation-canvas{
  position:absolute;inset:0;z-index:7;width:100%;height:100%;pointer-events:none;
  display:block;mix-blend-mode:screen;contain:strict;
}
html[data-theme="dark"] .weather-precipitation-canvas{mix-blend-mode:screen}

/* ===== Super Admin multi-lodging dashboard ===== */
.superadmin-body{
  margin:0;min-height:100svh;overflow-y:auto;background:
    radial-gradient(circle at 15% 0,rgba(20,130,160,.16),transparent 28%),
    radial-gradient(circle at 90% 12%,rgba(220,178,58,.11),transparent 25%),
    linear-gradient(180deg,#061827,#03111d 66%,#020b13);
  color:#eef7fb;font-family:BYekan,Arial,sans-serif;
}
.superadmin-shell{width:min(1220px,94vw);margin:0 auto;padding:28px 0 60px}
.superadmin-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.superadmin-kicker{display:block;color:#e7c453;font-size:13px;margin-bottom:5px}
.superadmin-topbar h1{margin:0;font-size:clamp(25px,3vw,38px);color:#fff8df}
.superadmin-top-actions{display:flex;align-items:center;gap:10px}
.superadmin-home-link,.superadmin-logout,.superadmin-primary-button{
  border:1px solid rgba(255,255,255,.1);border-radius:15px;min-height:44px;padding:0 18px;
  display:inline-grid;place-items:center;text-decoration:none;font-weight:700;font-family:BYekan,Arial,sans-serif;
}
.superadmin-home-link{background:#0a2a43;color:#e7f6ff}
.superadmin-logout{background:#6e2d3e;color:#fff;border-color:rgba(255,125,151,.2)}
.superadmin-primary-button{background:linear-gradient(145deg,#d8ae3e,#f2d36f);color:#08273c;border:0;box-shadow:0 9px 24px rgba(0,0,0,.18)}
.superadmin-primary-button:hover{transform:translateY(-1px)}
.superadmin-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.superadmin-stats article{padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:20px;background:rgba(8,34,55,.72);box-shadow:0 16px 36px rgba(0,0,0,.16)}
.superadmin-stats b{display:block;font-size:27px;color:#f2d160;margin-bottom:2px}.superadmin-stats span{color:#a9bdc9;font-size:12px}
.superadmin-action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:18px}
.superadmin-action-card{
  appearance:none;border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:18px;background:linear-gradient(145deg,rgba(10,40,64,.9),rgba(5,24,41,.9));
  color:#f7fbff;text-decoration:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 16px 36px rgba(0,0,0,.18);transition:.22s ease;
}
.superadmin-action-card:hover,.superadmin-action-card.is-active{transform:translateY(-3px);border-color:rgba(237,201,85,.38);box-shadow:0 20px 42px rgba(0,0,0,.24),0 0 24px rgba(228,190,70,.08)}
.superadmin-action-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:rgba(255,255,255,.055);font-size:28px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.superadmin-action-card strong{font-size:18px;color:#fff6d5}.superadmin-action-card small{color:#9eb3c1;font-size:11px}
.superadmin-panel{border:1px solid rgba(255,255,255,.08);border-radius:26px;background:linear-gradient(155deg,rgba(7,31,51,.94),rgba(3,18,31,.94));box-shadow:0 22px 60px rgba(0,0,0,.24);padding:22px}
.superadmin-panel[hidden]{display:none}
.superadmin-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.superadmin-section-head span{color:#e0bc4d;font-size:11px}.superadmin-section-head h2{margin:2px 0 0;font-size:24px;color:#fff8e0}
.superadmin-form-wrap{margin-bottom:18px;padding:17px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.065)}
.superadmin-property-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sa-field{display:grid;gap:6px}.sa-span-2{grid-column:1/-1}.sa-field label{font-size:11px;color:#acc0cc}.sa-field input,.sa-field textarea,.sa-property-select{width:100%;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:#071c2e;color:#f5fbff;outline:0;padding:10px 12px;font-family:BYekan,Arial,sans-serif}.sa-field input{height:44px}.sa-field input:focus,.sa-field textarea:focus,.sa-property-select:focus{border-color:rgba(74,213,226,.48);box-shadow:0 0 0 3px rgba(74,213,226,.07)}
.sa-divider{height:1px;background:rgba(255,255,255,.08);margin:5px 0 8px;position:relative}.sa-divider span{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:#071d30;padding:0 8px;color:#e1c158;font-size:11px}
.sa-form-actions{display:flex;align-items:center;gap:12px}.sa-form-actions span,.sa-status{color:#9ed7df;font-size:12px}.superadmin-property-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sa-property-card{padding:16px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:rgba(255,255,255,.025)}.sa-property-card.is-primary{border-color:rgba(233,196,76,.28);background:linear-gradient(145deg,rgba(233,196,76,.055),rgba(255,255,255,.02))}.sa-property-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.sa-property-card-head span{font-size:10px;color:#dfbd52}.sa-property-card-head b{font-size:17px;color:#fff}.sa-property-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#9db2bf;font-size:10px;margin-bottom:9px}.sa-property-managers{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px}.sa-property-managers strong{color:#f2d160}.sa-property-managers span{padding:5px 8px;border-radius:10px;background:rgba(255,255,255,.045);color:#dbe7ed}.sa-property-managers small{color:#89a0af}
.sa-property-select{width:min(310px,100%);height:44px;padding-block:0}
.weather-admin-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:18px}.weather-admin-controls{display:flex;flex-direction:column;gap:14px}.weather-mode-tabs,.weather-type-switch,.weather-presets{display:flex;gap:8px;flex-wrap:wrap}.weather-mode-tabs button,.weather-type-switch button,.weather-presets button{border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#0a263e;color:#d8e6ee;min-height:39px;padding:0 12px;font-family:BYekan,Arial,sans-serif}.weather-mode-tabs button.is-active,.weather-type-switch button.is-active{background:linear-gradient(145deg,#d9b03f,#f0d270);color:#08273d;border-color:transparent}.weather-presets button:hover{border-color:rgba(82,210,224,.38);background:#0d324f}.weather-slider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.weather-slider-grid label{padding:11px;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:rgba(255,255,255,.025)}.weather-slider-grid label span{display:flex;justify-content:space-between;gap:8px;color:#c9d8df;font-size:11px;margin-bottom:8px}.weather-slider-grid label b{color:#efcf5e}.weather-slider-grid input[type="range"]{width:100%;accent-color:#e8c34c}.superadmin-apply-weather{width:100%;height:48px}
.weather-admin-preview{position:relative;min-height:430px;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:linear-gradient(180deg,#102d45,#061726 66%,#04101b)}.weather-admin-preview::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 65% 20%,rgba(255,255,255,.12),transparent 25%),linear-gradient(180deg,transparent 45%,rgba(0,0,0,.28));pointer-events:none}.weather-admin-preview canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.weather-preview-label{position:absolute;right:14px;bottom:14px;z-index:3;padding:9px 12px;border-radius:13px;background:rgba(3,17,28,.68);backdrop-filter:blur(10px);display:flex;flex-direction:column}.weather-preview-label b{font-size:12px;color:#fff4ce}.weather-preview-label span{font-size:9px;color:#a8bbc7}
.chat-dashboard-button{width:100%;height:45px;margin-bottom:9px;border:0;border-radius:15px;background:linear-gradient(145deg,#0b6f98,#0b486c);color:#fff;font-weight:700;font-family:BYekan,Arial,sans-serif}

@media(max-width:800px){
  .superadmin-shell{width:94vw;padding-top:16px}.superadmin-topbar{align-items:flex-start;flex-direction:column}.superadmin-top-actions{width:100%}.superadmin-top-actions>*{flex:1}.superadmin-stats{grid-template-columns:1fr 1fr}.superadmin-stats article:last-child{grid-column:1/-1}.superadmin-action-grid{grid-template-columns:1fr}.superadmin-action-card{min-height:104px;display:grid;grid-template-columns:58px 1fr;text-align:right;justify-items:start}.superadmin-action-card small{grid-column:2}.superadmin-section-head{align-items:flex-start;flex-direction:column}.superadmin-section-head>.superadmin-primary-button,.sa-property-select{width:100%}.superadmin-property-form,.superadmin-property-list,.weather-slider-grid{grid-template-columns:1fr}.sa-span-2{grid-column:auto}.weather-admin-layout{grid-template-columns:1fr}.weather-admin-preview{min-height:330px;order:-1}.sa-form-actions{align-items:stretch;flex-direction:column}.superadmin-panel{padding:15px}.weather-mode-tabs>*{flex:1 1 30%}.weather-type-switch>*{flex:1}.weather-presets>*{flex:1 1 45%}
}


/* ===== Home Background Studio — Superadmin ===== */
.home-background-mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.home-background-mode-tabs button{flex:1;min-width:220px;min-height:48px;padding:9px 15px;border:1px solid rgba(255,255,255,.13);border-radius:15px;color:#dcecf5;background:#0b293e;font:700 14px var(--font-ui)}
.home-background-mode-tabs button.is-active{background:linear-gradient(140deg,#d5ae42,#f8dd7d);border-color:transparent;color:#082a3b}
.home-background-help{margin:0 0 18px;line-height:1.9}
.home-background-device-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.home-background-device-card{padding:17px;border-radius:22px;border:1px solid rgba(255,255,255,.09);background:rgba(12,50,72,.38);display:flex;flex-direction:column;gap:10px;min-width:0}
.home-background-device-head{display:flex;flex-direction:column;gap:2px}
.home-background-device-head strong{font-size:19px;color:#ffdf82}.home-background-device-head small{font-size:12px;color:#a1bdcd}
.home-background-device-card>label{font-size:13px;color:#daeaf0}
.home-background-device-card select{min-height:46px;font-size:13px}
.home-background-preview{position:relative;height:235px;overflow:hidden;border-radius:17px;background:linear-gradient(145deg,#142b3a,#1d4355);border:1px solid rgba(225,196,95,.20);display:grid;place-items:center}
.home-background-preview img{width:100%;height:100%;object-position:top center}
.home-background-preview.is-empty::after{content:'تصویری انتخاب نشده است';position:absolute;inset:0;display:grid;place-items:center;color:#aac2ce}
.home-background-preview--mobile{width:160px;height:245px;max-width:100%;align-self:center;border-radius:23px}
.home-background-actions{display:grid;gap:8px;margin:16px 0 24px}
.home-background-actions button{width:100%;min-height:50px;font-size:15px}
.home-background-upload-form{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr) auto;align-items:center;gap:14px;border:1px solid rgba(226,193,90,.2);border-radius:20px;background:rgba(228,194,74,.045);padding:17px}
.home-background-upload-form strong{font-size:18px;color:#ffdf86}
.home-background-upload-form p{font-size:13px;margin:6px 0 0;line-height:1.7}
.home-background-upload-form>button{min-height:49px;padding-inline:20px}
.home-background-upload-form>span{grid-column:1/-1}
.home-background-upload-picker{min-height:65px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 16px;border:1px dashed rgba(248,217,116,.42);border-radius:14px;cursor:pointer;background:rgba(11,44,64,.45)}
.home-background-upload-picker input{position:absolute;width:1px;height:1px;opacity:0}
.home-background-upload-picker span{color:#ffe5a3;font-weight:700}.home-background-upload-picker small{color:#adc6d1;overflow-wrap:anywhere}
.home-background-library-head{margin:28px 0 12px}.home-background-library-head h3{color:#ffdf86;font-size:20px;margin:0}
.home-background-library-head p{margin:6px 0}
.home-background-library{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.home-background-auto-head{margin-top:26px}.home-background-auto-context{display:grid;gap:10px;margin:10px 0 16px;padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(11,43,61,.38)}.home-background-auto-current-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-background-auto-current-grid>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:#d7e8ef}.home-background-auto-current-grid button{min-height:34px;padding:0 11px;border-radius:10px;border:1px solid rgba(255,219,128,.22);background:#11374c;color:#f6dea1;font:12px var(--font-ui);cursor:pointer}.home-background-library--builtin .home-background-image-card{border-color:rgba(226,189,81,.15)}.home-background-image-card.is-selected-current{box-shadow:0 0 0 2px rgba(255,219,128,.52) inset}.home-background-image-tags{display:flex;gap:6px;flex-wrap:wrap}.home-background-image-tags span{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:#aecdde;font-size:11px}.home-background-image-actions button.is-accent{border-color:rgba(255,219,128,.24);background:rgba(226,189,81,.11);color:#ffe49b}.home-background-image-actions button.is-selected{background:rgba(36,153,106,.22);border-color:rgba(73,204,150,.36);color:#ddfff3}
.home-background-image-card{min-width:0;border:1px solid rgba(255,255,255,.10);border-radius:19px;background:rgba(9,40,60,.65);padding:10px;overflow:hidden}
.home-background-image-card.is-desktop{border-color:rgba(255,209,97,.72)}
.home-background-image-card.is-mobile{box-shadow:inset 0 0 0 2px rgba(50,207,224,.53)}
.home-background-image-thumb{height:150px;background:#072033;border-radius:12px;overflow:hidden}
.home-background-image-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.home-background-image-info{display:grid;gap:5px;padding:8px 3px 3px}
.home-background-image-info strong{color:#f7fbff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.home-background-image-info small{color:#a6bdcb;font-size:12px}
.home-background-image-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
.home-background-image-actions button{min-height:34px;padding:5px 9px;border-radius:9px;border:1px solid rgba(104,207,224,.22);background:#11374c;color:#d9f0f7;font:12px var(--font-ui)}
.home-background-image-actions button.is-danger{background:rgba(130,32,52,.35);color:#ffc3ce;border-color:rgba(226,104,124,.20)}
.superadmin-body.is-light :is(.home-background-device-card,.home-background-upload-form,.home-background-image-card){background:#f6fbfd;border-color:#cbdde4}
.superadmin-body.is-light :is(.home-background-device-head strong,.home-background-upload-form strong,.home-background-library-head h3){color:#875b05}
.superadmin-body.is-light :is(.home-background-device-card>label,.home-background-image-info strong){color:#1a3d4d}
.superadmin-body.is-light :is(.home-background-device-head small,.home-background-image-info small){color:#65808d}
.superadmin-body.is-light .home-background-mode-tabs button:not(.is-active){background:white;color:#1a3d4d}
@media(max-width:900px){.home-background-device-grid{grid-template-columns:1fr}.home-background-library{grid-template-columns:repeat(2,minmax(0,1fr))}.home-background-upload-form{grid-template-columns:1fr}.home-background-upload-form>span{grid-column:auto}.home-background-auto-current-grid{grid-template-columns:1fr}}
@media(max-width:540px){.home-background-library{grid-template-columns:1fr}.home-background-mode-tabs button{min-width:100%}.home-background-preview{height:175px}.home-background-preview--mobile{height:245px}}

@media(min-width:1100px){.superadmin-body .superadmin-action-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}

/* ===== Public ambient sound control ===== */
.ambient-sound-toggle{
  position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(28px,calc(env(safe-area-inset-bottom) + 20px));z-index:70;
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(244,204,84,.24);
  background:linear-gradient(145deg,rgba(4,24,39,.9),rgba(7,44,67,.92));color:#f3cf63;
  display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.035);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.22s ease;
}
.ambient-sound-toggle[hidden]{display:none}.ambient-sound-toggle span{font:700 24px/1 BYekan,Arial,sans-serif;transform:translateY(-1px)}
.ambient-sound-toggle:hover{transform:translateY(-2px);border-color:rgba(244,204,84,.45);box-shadow:0 15px 34px rgba(0,0,0,.34),0 0 20px rgba(244,204,84,.11)}
.ambient-sound-toggle.is-playing{color:#7be5a8;border-color:rgba(79,214,136,.34);box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 18px rgba(79,214,136,.13)}
.ambient-sound-toggle.is-muted{color:#9eafba;border-color:rgba(158,175,186,.22)}
.ambient-sound-toggle.is-blocked{animation:ambientSoundHint 2.2s ease-in-out infinite}
@keyframes ambientSoundHint{0%,100%{box-shadow:0 12px 30px rgba(0,0,0,.3)}50%{box-shadow:0 12px 30px rgba(0,0,0,.3),0 0 22px rgba(244,204,84,.22)}}
@media(max-width:760px){.ambient-sound-toggle{left:14px;bottom:max(24px,calc(env(safe-area-inset-bottom) + 16px));width:44px;height:44px}.ambient-sound-toggle span{font-size:22px}}

/* ===== Superadmin ambient audio ===== */
.ambient-admin-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);gap:18px}
.ambient-admin-controls,.ambient-library{display:flex;flex-direction:column;gap:14px}
.ambient-mode-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ambient-mode-tabs button{flex:1;min-height:42px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:#0a263e;color:#d8e6ee;padding:0 12px;font-family:BYekan,Arial,sans-serif;cursor:pointer}
.ambient-mode-tabs button.is-active{background:linear-gradient(145deg,#d9b03f,#f0d270);color:#08273d;border-color:transparent}
.ambient-scope-control{display:grid;gap:8px;padding:12px 13px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.025)}
.ambient-control-label{color:#c9d8df;font-size:11px}.ambient-scope-control>small{color:#87a2af;font:14px/1.45 BMitra,BYekan,sans-serif}.ambient-scope-tabs button{min-height:40px}
.ambient-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:13px;border:1px solid rgba(255,255,255,.065);border-radius:17px;background:rgba(255,255,255,.025)}
.ambient-schedule-grid[hidden]{display:none}.ambient-schedule-grid label{display:grid;gap:6px}.ambient-schedule-grid label span{font-size:11px;color:#a9bdc9}
.ambient-schedule-grid input{height:44px;border:1px solid rgba(255,255,255,.11);border-radius:13px;background:#071c2e;color:#f5fbff;padding:0 11px;font:14px BYekan,Arial,sans-serif;color-scheme:dark}
.ambient-schedule-grid p{grid-column:1/-1;margin:0;color:#87a2af;font:15px/1.5 BMitra,BYekan,sans-serif}
.ambient-volume-control{display:grid;gap:8px;padding:12px 13px;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.025)}
.ambient-volume-control span{display:flex;align-items:center;justify-content:space-between;color:#c9d8df;font-size:11px}.ambient-volume-control b{color:#efcf5e}
.ambient-volume-control input{width:100%;accent-color:#e8c34c}
.ambient-selected-card{display:grid;gap:7px;padding:14px;border:1px solid rgba(80,210,224,.14);border-radius:18px;background:linear-gradient(145deg,rgba(13,53,75,.45),rgba(6,31,48,.5))}
.ambient-selected-card>span{color:#8fa9b6;font-size:10px}.ambient-selected-card>strong{color:#fff2bd;font-size:18px}.ambient-selected-card>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ambient-preview-button{min-height:38px;border:1px solid rgba(96,210,221,.18);border-radius:12px;background:rgba(31,127,154,.13);color:#cfeef2;padding:0 12px;font-family:BYekan,Arial,sans-serif;cursor:pointer}
.ambient-now-state{color:#8fa6b2;font-size:11px}.ambient-now-state.is-live{color:#74dba2}.ambient-apply-button{width:100%;height:48px}
.ambient-library{padding:14px;border:1px solid rgba(255,255,255,.065);border-radius:20px;background:rgba(255,255,255,.018)}
.ambient-library-head span{display:block;color:#dfbd52;font-size:10px}.ambient-library-head h3{margin:3px 0 0;color:#fff5d1;font-size:19px}
.ambient-sound-list{display:grid;gap:8px;max-height:390px;overflow:auto;padding-left:2px;scrollbar-width:thin}
.ambient-sound-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid rgba(255,255,255,.065);border-radius:15px;background:rgba(255,255,255,.025);transition:.18s ease}
.ambient-sound-card.is-selected{border-color:rgba(229,196,83,.31);background:linear-gradient(145deg,rgba(229,196,83,.065),rgba(255,255,255,.02))}
.ambient-sound-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#09243a;font-size:22px}
.ambient-sound-meta{min-width:0;display:grid;gap:3px}.ambient-sound-meta strong{color:#edf7fb;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ambient-sound-meta small{color:#819aa7;font-size:9px;direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ambient-sound-actions{display:flex;gap:6px}.ambient-sound-actions button{min-height:34px;border:1px solid rgba(82,198,213,.15);border-radius:10px;background:rgba(32,112,139,.12);color:#cde8ed;padding:0 9px;font:10px BYekan,Arial,sans-serif;cursor:pointer}
.ambient-sound-actions button.is-selected{color:#f2d570;border-color:rgba(242,213,112,.24);background:rgba(242,213,112,.07)}.ambient-sound-actions button.is-danger{color:#ff9daa;border-color:rgba(255,104,128,.17);background:rgba(255,104,128,.06)}
.ambient-upload-form{display:grid;gap:10px;margin-top:3px;padding-top:14px;border-top:1px solid rgba(255,255,255,.065)}
.ambient-file-picker{position:relative;display:grid;gap:4px;padding:13px;border:1px dashed rgba(226,189,81,.3);border-radius:14px;background:rgba(226,189,81,.045);cursor:pointer}.ambient-file-picker input{position:absolute;opacity:0;width:1px;height:1px}.ambient-file-picker span{color:#e8ca68;font-size:12px}.ambient-file-picker small{color:#839aa7;font-size:9px;direction:ltr;text-align:right}
@media(min-width:1100px){.superadmin-action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:800px){.ambient-admin-layout{grid-template-columns:1fr}.ambient-schedule-grid{grid-template-columns:1fr}.ambient-schedule-grid p{grid-column:auto}.ambient-sound-card{grid-template-columns:42px minmax(0,1fr)}.ambient-sound-icon{width:42px;height:42px}.ambient-sound-actions{grid-column:1/-1;justify-content:flex-end}.ambient-mode-tabs>*{flex:1 1 28%}}

/* ===== Reservation system design law =====
   Explanatory/help content uses .helper-note. Date entry uses .jalali-date-field +
   the shared #jalaliDateDialog. Management room state always uses the five
   semantic state classes below. These primitives are the canonical styles for
   future reservation features; do not create feature-local visual duplicates. */
:root{
  --room-available:#3ccf79;
  --room-reserved:#e2b841;
  --room-occupied:#f04455;
  --room-cleaning:#43a9f4;
  --room-locked:#a76cf4;
  --reservation-bg:#061522;
  --reservation-surface:#0a2235;
  --reservation-surface-2:#0d2b43;
  --reservation-line:rgba(255,255,255,.095);
  --reservation-text:#edf7fb;
  --reservation-muted:#9fb4c0;
}
.helper-note{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid rgba(108,206,224,.16);border-radius:16px;background:linear-gradient(145deg,rgba(10,50,72,.58),rgba(6,30,46,.46));font-family:var(--font-ui);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.helper-note__icon{width:30px;height:30px;min-width:30px;display:grid;place-items:center;border-radius:10px;background:rgba(70,202,224,.10);color:#75dbe9;font:700 15px var(--font-ui);border:1px solid rgba(94,215,232,.16)}
.helper-note div{display:grid;gap:2px;min-width:0}.helper-note strong{font-size:12px;color:#dff7fb}.helper-note small{font:16px/1.45 var(--font-body);color:#9fb7c4}
.form-status{min-height:20px;margin:5px 0 0;font:15px/1.4 var(--font-body);color:#9fb7c4;text-align:center}.form-status.is-error{color:#ff9dab}.form-status.is-success{color:#7ee3a3}

/* First viewport remains visually isolated; all new content starts after it. */
.reservation-hub{position:relative;scroll-margin-top:0;background:
  radial-gradient(circle at 8% 4%,rgba(31,159,181,.16),transparent 26%),
  radial-gradient(circle at 92% 10%,rgba(226,184,65,.12),transparent 25%),
  linear-gradient(180deg,#061827,#04111d 58%,#030c14);color:var(--reservation-text);padding:64px 0 86px;min-height:100svh;z-index:3}
.reservation-hub::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 13%)}
.reservation-shell{position:relative;width:min(1320px,94vw);margin:0 auto}
.reservation-heading{text-align:center;max-width:none;margin:0 auto 22px}.reservation-kicker{display:inline-block;color:#e8c85e;font-size:13px;letter-spacing:.02em;margin-bottom:7px}.reservation-heading h2{margin:0;color:#fff9e9;font-size:clamp(27px,3vw,42px);line-height:1.15}.reservation-heading p{font:clamp(17px,1.35vw,21px)/1.55 var(--font-body);color:#b8c9d2;margin:10px auto 0}.reservation-heading__single{white-space:nowrap}
.reservation-search-panel{position:relative;z-index:12;width:100%;margin:0 auto 28px;padding:16px;border:1px solid rgba(48,179,218,.34);border-radius:22px;background:linear-gradient(145deg,rgba(7,37,58,.88),rgba(4,22,37,.9));box-shadow:0 22px 48px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.035);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.reservation-search-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.25fr) minmax(180px,.7fr);gap:12px;align-items:end}.reservation-search-field,.reservation-unit-selector{position:relative;display:grid;gap:6px;min-width:0}.reservation-search-field>span,.reservation-unit-selector>span{font-size:11px;color:#92adba}.reservation-search-date{width:100%;height:48px}.reservation-unit-selector__button{width:100%;height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;border:1px solid rgba(255,255,255,.11);border-radius:14px;background:rgba(10,42,62,.74);color:#eff8fb;font-family:var(--font-ui);cursor:pointer}.reservation-unit-selector__button b{font-size:13px}.reservation-unit-selector__button i{font-style:normal;color:#87ddea}.reservation-unit-selector__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:30;width:min(620px,82vw);padding:10px;border:1px solid rgba(74,202,224,.24);border-radius:18px;background:rgba(5,27,42,.97);box-shadow:0 24px 58px rgba(0,0,0,.42);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.reservation-unit-selector__panel[hidden]{display:none}.reservation-unit-choice{min-height:38px;border:1px solid rgba(255,255,255,.085);border-radius:11px;background:rgba(255,255,255,.035);color:#d7e7ec;font-family:var(--font-ui);font-size:12px;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.reservation-unit-choice:hover{transform:translateY(-1px);border-color:rgba(226,190,76,.28)}.reservation-unit-choice.is-active{background:linear-gradient(145deg,#d3aa3d,#f0d16e);border-color:transparent;color:#092238;box-shadow:0 8px 18px rgba(224,184,66,.17)}.reservation-unit-choice.is-all{width:100%;margin-bottom:8px}.reservation-unit-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.reservation-search-button{height:48px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(246,214,104,.72);border-radius:14px;background:linear-gradient(145deg,#d6aa37,#f4d66d);color:#092338;font-family:var(--font-ui);cursor:pointer;box-shadow:0 8px 22px rgba(226,184,65,.18);transition:transform .18s ease,box-shadow .18s ease}.reservation-search-button:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(226,184,65,.25)}.reservation-search-button span{font-size:22px}.reservation-search-button b{font-size:14px}.reservation-search-status{min-height:18px;margin:10px 2px 0;text-align:center;color:#80d9e7;font:14px/1.4 var(--font-body)}.reservation-search-status.is-empty{color:#ff9dab}
.reservation-building-list{display:grid;gap:30px}.reservation-building-section{position:relative;padding:16px;border:1px solid rgba(255,255,255,.085);border-radius:27px;background:linear-gradient(145deg,rgba(9,36,54,.80),rgba(4,21,35,.82));box-shadow:0 24px 58px rgba(0,0,0,.22)}.reservation-building-title{display:flex;justify-content:center;align-items:baseline;gap:9px;margin:-5px 0 12px;text-align:center}.reservation-building-title h3{margin:0;color:#f5cf60;font-size:28px}.reservation-building-title span{color:#8faab8;font-size:11px}
.building-visual{position:relative;overflow:hidden;width:min(100%,1120px);margin:0 auto;border-radius:20px;background:#07131c;isolation:isolate;box-shadow:0 18px 42px rgba(0,0,0,.22)}.building-visual[data-building-visual="baloot"]{aspect-ratio:1448/1086}.building-visual[data-building-visual="toska"]{aspect-ratio:1400/1000}.building-visual::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(4,14,22,.015),rgba(2,10,16,.12));z-index:2}.building-visual img{display:block;width:100%;height:100%;object-fit:cover}
/* The image itself flies toward the selected door; the clipped stage stays in place. */
.building-visual > img{transform:scale(1);transform-origin:0 0;transition:transform 3.45s cubic-bezier(.24,.58,.28,1),filter 3.45s ease;will-change:transform}
.building-visual.is-entering > img{transform:translate(var(--entry-translate-x,0px),var(--entry-translate-y,0px)) scale(var(--entry-scale,9.5));filter:brightness(.70)}
.building-visual::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(circle at 50% 50%,transparent 0%,rgba(1,9,16,.65) 100%);opacity:0;transition:opacity 3.2s cubic-bezier(.24,.58,.28,1)}
.building-visual.is-entering::before{opacity:.64}
.building-visual .building-hotspots{transition:opacity .28s ease}
.building-visual.is-entering .building-hotspots{opacity:0;pointer-events:none}
@media(prefers-reduced-motion:reduce){.building-visual > img,.building-visual::before{transition:none}}
.building-hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}.room-hotspot{position:absolute;transform:translate(-50%,-50%);min-width:82px;height:34px;padding:0 12px;border:1px solid rgba(246,211,102,.64);border-radius:12px;background:rgba(5,19,29,.80);color:#f4d365;box-shadow:0 7px 18px rgba(0,0,0,.34),0 0 0 1px rgba(232,194,73,.04),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;font:700 17px/1 var(--font-body);white-space:nowrap;text-align:center;pointer-events:auto;cursor:pointer;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;animation:roomHotspotIntro 1.45s ease-out var(--hotspot-delay,0s) 1 both}.room-hotspot__label{display:block;transform:translateY(2px);pointer-events:none}.room-hotspot:hover,.room-hotspot:focus-visible{transform:translate(-50%,-50%) scale(1.02);background:rgba(7,31,43,.94);border-color:#f4d873;box-shadow:0 10px 25px rgba(0,0,0,.42),0 0 10px rgba(238,202,84,.34),0 0 22px rgba(238,202,84,.16),inset 0 0 0 1px rgba(255,231,149,.08);outline:none}.room-hotspot:active{transform:translate(-50%,-50%) scale(.99);background:rgba(14,38,48,.98);border-color:#ffe58c;box-shadow:0 8px 20px rgba(0,0,0,.42),0 0 14px rgba(244,211,101,.48),0 0 28px rgba(244,211,101,.22),inset 0 0 0 1px rgba(255,237,171,.15)}.room-hotspot[data-rear="1"]{min-width:78px;border-radius:12px;background:rgba(55,38,18,.84);color:#f5d46a}@keyframes roomHotspotIntro{0%{opacity:.78;box-shadow:0 7px 18px rgba(0,0,0,.30),0 0 0 rgba(238,202,84,0)}42%{opacity:1;box-shadow:0 9px 22px rgba(0,0,0,.38),0 0 18px rgba(238,202,84,.32),0 0 30px rgba(238,202,84,.14)}100%{opacity:1;box-shadow:0 7px 18px rgba(0,0,0,.34),0 0 0 1px rgba(232,194,73,.04),inset 0 1px 0 rgba(255,255,255,.07)}}
.public-unit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.public-unit-grid--building{margin-top:16px}.reservation-loading{grid-column:1/-1;text-align:center;padding:28px;color:#8fa7b5;font:18px var(--font-body)}.reservation-empty-result{padding:20px}.public-unit-card{position:relative;text-align:center;min-height:160px;padding:15px;border:1px solid rgba(255,255,255,.075);border-radius:19px;background:linear-gradient(145deg,rgba(14,42,62,.92),rgba(7,26,40,.92));color:#eaf6fa;overflow:hidden;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.public-unit-card::after{content:"";position:absolute;inset:auto -30px -45px auto;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(226,184,65,.08),transparent 65%);pointer-events:none}.public-unit-card:hover{transform:translateY(-3px);border-color:rgba(226,190,76,.25);box-shadow:0 16px 34px rgba(0,0,0,.20)}.public-unit-card__top{position:relative;display:grid;place-items:center;min-height:34px}.public-unit-card h4{margin:0;color:#f4d365;font-size:20px;line-height:1.35;text-align:center}.public-unit-card__price{display:grid;gap:3px;justify-items:center;margin-top:9px}.public-unit-card__price small{font:14px/1.1 var(--font-body);color:#8eaab8}.public-unit-card__price b{font-size:14px;color:#f4f8fa}.public-unit-card__foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px}.public-unit-card__beds,.public-unit-card__cta{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border-radius:10px;font-family:var(--font-ui);font-size:13px;font-weight:700}.public-unit-card__beds{border:1px solid rgba(238,151,56,.32);background:rgba(224,120,34,.12);color:#ff9f43}.public-unit-card__cta{border:1px solid rgba(73,213,133,.28);background:rgba(49,185,108,.13);color:#7ee6a7}.public-unit-card__cta.is-blocked{border-color:rgba(182,121,238,.26);background:rgba(182,121,238,.10);color:#d2b1f2}.public-unit-card__cta.is-cleaning{border-color:rgba(84,196,236,.28);background:rgba(84,196,236,.11);color:#8fe7ff}.public-unit-card__cta.is-reserved{border-color:rgba(231,191,74,.30);background:rgba(231,191,74,.11);color:#f3d77d}.public-unit-card__cta.is-occupied{border-color:rgba(232,91,101,.30);background:rgba(232,91,101,.12);color:#ffb1b6}.availability-dot{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#46d384;box-shadow:0 0 0 5px rgba(70,211,132,.08),0 0 12px rgba(70,211,132,.46);animation:availabilityGlow 1.8s ease-in-out infinite}.availability-dot.is-later{background:#e6bd4f;box-shadow:0 0 0 5px rgba(230,189,79,.08),0 0 12px rgba(230,189,79,.38)}.availability-dot.is-cleaning{background:#54c4ec;box-shadow:0 0 0 5px rgba(84,196,236,.08),0 0 12px rgba(84,196,236,.38)}.availability-dot.is-occupied{background:#e85b65;box-shadow:0 0 0 5px rgba(232,91,101,.08),0 0 12px rgba(232,91,101,.38)}.availability-dot.is-blocked{background:#b679ee;box-shadow:0 0 0 5px rgba(182,121,238,.08),0 0 12px rgba(182,121,238,.38)}@keyframes availabilityGlow{0%,100%{opacity:.45;filter:brightness(.8);transform:scale(.92)}50%{opacity:1;filter:brightness(1.35);transform:scale(1.08)}}html:not([data-theme="dark"]) .public-unit-card{background:linear-gradient(145deg,rgba(249,252,253,.97),rgba(228,240,246,.96));border-color:rgba(13,59,82,.14);color:#123447;box-shadow:0 12px 28px rgba(20,68,90,.08)}html:not([data-theme="dark"]) .public-unit-card h4{color:#0b2b49}html:not([data-theme="dark"]) .public-unit-card__price small{color:#5d7887}html:not([data-theme="dark"]) .public-unit-card__price b{color:#17384b}

.unit-detail-dialog,.jalali-date-dialog,.registration-welcome-dialog,.manager-unit-dialog,.manager-manual-dialog{border:1px solid rgba(255,255,255,.10);background:linear-gradient(155deg,#0a263b,#041522);color:#edf8fb;box-shadow:0 30px 90px rgba(0,0,0,.58);font-family:var(--font-ui)}
.unit-detail-dialog::backdrop,.jalali-date-dialog::backdrop,.registration-welcome-dialog::backdrop,.manager-unit-dialog::backdrop,.manager-manual-dialog::backdrop{background:rgba(0,7,12,.72);backdrop-filter:blur(8px)}.dialog-x{position:absolute;top:14px;left:14px;z-index:10;width:56px;height:56px;border:1px solid rgba(85,177,224,.16);border-radius:18px;background:linear-gradient(160deg,rgba(12,41,63,.98),rgba(7,24,39,.98));box-shadow:0 14px 30px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.04);color:#ff5d87;font-size:42px;line-height:1;font-family:Arial,sans-serif;display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,color .18s ease}.dialog-x:hover{transform:translateY(-2px) scale(1.02);background:linear-gradient(160deg,rgba(14,48,74,.98),rgba(8,29,47,.98));box-shadow:0 18px 36px rgba(0,0,0,.3),0 0 18px rgba(255,93,135,.14);color:#ff7096}
.unit-detail-dialog{width:min(1120px,calc(100vw - 28px));max-height:92dvh;padding:18px;border-radius:28px;overflow:auto}.unit-detail-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px}.unit-gallery-panel{min-width:0}.unit-gallery-main{position:relative;display:grid;place-items:center;min-height:410px;border-radius:22px;overflow:hidden;background:#03101a;border:1px solid rgba(255,255,255,.075)}.unit-gallery-main img{width:100%;height:100%;min-height:410px;object-fit:cover;display:block}
.unit-gallery-main video[data-gallery-main]{width:100%;height:100%;min-height:410px;max-height:100%;object-fit:contain;display:block;background:#020b11}
.unit-gallery-main:fullscreen video[data-gallery-main]{height:100%;min-height:0;max-height:100%;object-fit:contain}
.unit-gallery-video-thumb{position:relative}
.unit-gallery-video-thumb .unit-video-play-symbol{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font:24px/1 Arial,sans-serif;background:rgba(1,11,19,.25);text-shadow:0 2px 8px #00131e}
.unit-gallery-thumbs button.is-active{border-color:#f1cd5d;box-shadow:inset 0 0 0 1px rgba(241,205,93,.5)}
@media(max-width:760px){.unit-detail-dialog .unit-gallery-main video[data-gallery-main]{min-height:235px;height:100%;max-height:100%;object-fit:contain}}
.unit-gallery-placeholder{padding:35px;text-align:center;color:#88a5b3}.unit-gallery-placeholder b{display:block;color:#d8e9ef;margin-bottom:6px}.unit-gallery-placeholder span{font:17px/1.5 var(--font-body)}.unit-gallery-thumbs{display:flex;gap:8px;margin-top:9px;overflow-x:auto;scrollbar-width:none}.unit-gallery-thumbs::-webkit-scrollbar{display:none}.unit-gallery-thumbs button{width:76px;height:56px;min-width:76px;padding:0;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:#071b29}.unit-gallery-thumbs img{width:100%;height:100%;object-fit:cover}.unit-info-panel{display:flex;flex-direction:column;gap:12px;padding:5px 4px 3px}.unit-info-title span{color:#e2bd51;font-size:11px}.unit-info-title h2{margin:2px 0 1px;color:#fff7df;font-size:30px}.unit-info-title small{color:#8ea7b4;font-size:10px}.unit-detail-badges{display:flex;gap:7px;flex-wrap:wrap}.unit-detail-badges span{padding:6px 10px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.075);font-size:10px;color:#bed0d8}.unit-view-box{padding:11px 13px;border-radius:15px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.065)}.unit-view-box span{font-size:9px;color:#7f9dab}.unit-view-box p{font:16px/1.5 var(--font-body);margin:3px 0 0;color:#c4d4db}.availability-card{padding:13px;border-radius:16px;border:1px solid rgba(70,211,132,.14);background:rgba(47,183,104,.07);display:grid;gap:3px}.availability-card.is-later{border-color:rgba(230,189,79,.16);background:rgba(230,189,79,.06)}.availability-card.is-blocked{border-color:rgba(174,112,236,.16);background:rgba(174,112,236,.06)}.availability-card strong{font-size:12px}.availability-card span{font:16px var(--font-body);color:#a9c1cc}.availability-card b{font-size:15px;color:#fff0ba}.reservation-primary,.account-submit,.manager-primary-button{min-height:47px;border:0;border-radius:15px;background:linear-gradient(145deg,#d5ac3d,#f0d471);color:#082238;font-family:var(--font-ui);font-weight:700;box-shadow:0 9px 22px rgba(0,0,0,.18);transition:transform .18s ease,filter .18s ease}.reservation-primary:hover,.account-submit:hover,.manager-primary-button:hover{transform:translateY(-1px);filter:brightness(1.05)}
.booking-form{margin-top:2px;padding-top:12px;border-top:1px solid rgba(255,255,255,.075);display:grid;gap:10px}.booking-form-title span{font-size:9px;color:#7d9baa}.booking-form-title h3{margin:2px 0 4px;color:#fff2c9;font-size:20px}.booking-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.booking-form label,.manager-manual-form label,.manager-edit-form label,.account-form label{display:grid;gap:5px}.booking-form label>span,.manager-manual-form label>span,.manager-edit-form label>span,.account-form label>span{font-size:10px;color:#9db3be}.booking-count-field input,.booking-notes-field textarea,.manager-manual-form input,.manager-manual-form select,.manager-manual-form textarea,.manager-edit-form input,.manager-edit-form textarea,.account-form input,.account-form textarea{width:100%;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.045);color:#eef8fb;outline:0;font-family:var(--font-ui);transition:border-color .2s ease,box-shadow .2s ease}.booking-count-field input,.manager-manual-form input,.manager-manual-form select,.manager-edit-form input,.account-form input{height:43px;padding:0 11px}.booking-notes-field textarea,.manager-manual-form textarea,.manager-edit-form textarea,.account-form textarea{padding:10px 11px;resize:vertical;line-height:1.6}.booking-form input:focus,.booking-form textarea:focus,.manager-manual-form input:focus,.manager-manual-form select:focus,.manager-manual-form textarea:focus,.manager-edit-form input:focus,.manager-edit-form textarea:focus,.account-form input:focus,.account-form textarea:focus{border-color:rgba(82,205,225,.42);box-shadow:0 0 0 3px rgba(64,195,218,.07)}.booking-price-summary{padding:10px 12px;border-radius:13px;background:rgba(255,255,255,.035);display:flex;justify-content:space-between;align-items:center;gap:9px;color:#a8bdc7;font-size:10px}.booking-price-summary strong{color:#f2d26c;font-size:13px}
.jalali-date-field{width:100%;height:43px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.045);color:#edf8fb;display:flex;align-items:center;justify-content:space-between;padding:0 11px;font-family:var(--font-ui);font-size:12px}.jalali-date-field:hover,.jalali-date-field:focus-visible{border-color:rgba(73,202,223,.38);outline:none}.jalali-date-field i{font-style:normal;color:#e4c35c}.jalali-date-dialog{width:min(520px,calc(100vw - 28px));padding:28px 26px 24px;border-radius:26px}.jalali-date-dialog .dialog-x{top:2px;left:4px;width:46px;height:46px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#ff5d87;font-size:42px}.jalali-date-dialog .dialog-x:hover{transform:scale(1.06);background:transparent;box-shadow:none;color:#ff7899}.jalali-picker-head{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:10px;margin:22px 0 14px}.jalali-picker-head strong{text-align:center;color:#fff2c8;font-size:19px}.jalali-picker-head button,.jalali-picker-actions button{height:42px;border:1px solid rgba(255,255,255,.10);border-radius:11px;background:rgba(255,255,255,.05);color:#d9e8ee;font-family:var(--font-ui);font-size:14px}.jalali-weekdays,.jalali-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.jalali-weekdays span{text-align:center;font-size:12px;color:#7f9aa8;padding:6px 0}.jalali-day{aspect-ratio:1;border:0;border-radius:11px;background:rgba(255,255,255,.035);color:#d7e6ec;font-family:var(--font-ui);font-size:14px}.jalali-day:hover{background:rgba(75,197,219,.13)}.jalali-day.is-today{box-shadow:inset 0 0 0 1px rgba(228,193,86,.55);color:#ffe58f}.jalali-day.is-selected{background:linear-gradient(145deg,#2db36d,#69d993);color:#072133;font-weight:700}.jalali-day.is-available-start{box-shadow:inset 0 0 0 1px rgba(87,214,136,.68);background:rgba(54,173,101,.14);color:#9ef0b5}.jalali-day.is-reserved{background:rgba(231,191,74,.18);color:#f4dc89}.jalali-day.is-occupied{background:rgba(233,86,96,.20);color:#ffb8bd}.jalali-day:disabled{opacity:.24;cursor:not-allowed}.jalali-day.is-reserved:disabled,.jalali-day.is-occupied:disabled{opacity:.9}.jalali-day.is-blank{visibility:hidden}.jalali-picker-actions{display:flex;justify-content:center;margin-top:14px}.jalali-picker-actions button{padding:0 20px;color:#f0d06b}

/* ===== Customer registration / login ===== */
.account-page{min-height:100svh;overflow-y:auto;background:radial-gradient(circle at 14% 0,rgba(42,168,189,.17),transparent 28%),radial-gradient(circle at 86% 5%,rgba(225,184,66,.12),transparent 24%),linear-gradient(180deg,#061827,#03111d 70%,#020b13);color:#eef8fb}.account-shell{width:min(780px,94vw);margin:0 auto;padding:28px 0 60px}.account-back-link{display:inline-flex;color:#9eb8c5;text-decoration:none;font-size:11px;margin-bottom:14px}.account-card{padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:28px;background:linear-gradient(145deg,rgba(11,40,60,.9),rgba(4,21,34,.92));box-shadow:0 30px 70px rgba(0,0,0,.28)}.account-brand{text-align:center;margin-bottom:16px}.account-brand img{width:min(250px,62vw);height:auto;display:block;margin:0 auto -8px}.account-brand span{color:#e5c24f;font-size:11px}.account-reservation-note{margin-bottom:14px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.account-tabs button{height:42px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);color:#9fb5c0;font-family:var(--font-ui)}.account-tabs button.is-active{background:rgba(65,190,212,.11);border-color:rgba(72,196,219,.24);color:#ecfbff}.account-form{display:grid;gap:10px;margin-top:12px}.account-form-row,.manager-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.account-form label span small,.manager-edit-form label span small,.manager-manual-form label span small{font:13px var(--font-body);color:#728e9d}.password-field{position:relative}.password-field input{padding-left:43px}.password-field button{position:absolute;left:5px;top:5px;width:34px;height:33px;border:0;border-radius:9px;background:rgba(255,255,255,.05);color:#9eb6c1}.account-submit{margin-top:4px}.registration-welcome-dialog{width:min(480px,calc(100vw - 28px));padding:28px;border-radius:27px;text-align:center}.welcome-mark{width:64px;height:64px;margin:0 auto 11px;display:grid;place-items:center;border-radius:21px;background:rgba(57,203,119,.10);border:1px solid rgba(65,214,130,.22);color:#61dc91;font-size:30px}.registration-welcome-dialog h2{margin:0;color:#fff3cf;font-size:21px}.registration-welcome-dialog>p{font:17px var(--font-body);color:#9fb3be}.credential-summary{display:grid;gap:5px;padding:14px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.075);margin:15px 0}.credential-summary span{font-size:10px;color:#8da4b0}.credential-summary strong{color:#f1d06b;font-size:20px;direction:ltr}.credential-summary small{font:15px/1.5 var(--font-body);color:#aec2cb}.registration-welcome-dialog>button{width:100%;height:46px;border:0;border-radius:14px;background:linear-gradient(145deg,#d6ad3d,#efd16c);color:#082339;font-family:var(--font-ui);font-weight:700}

/* ===== Shared dashboard shell — mandatory for every role dashboard ===== */
.dashboard-global-header{position:fixed;top:0;right:0;left:0;z-index:120;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(16px,2.3vw,34px);background:linear-gradient(180deg,rgba(4,20,32,.94),rgba(4,20,32,.84));border-bottom:1px solid rgba(255,255,255,.08);box-shadow:0 14px 38px rgba(0,0,0,.2);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.dashboard-menu-button,.dashboard-header-logo{position:relative;z-index:2;width:48px;height:48px;border-radius:16px;display:grid;place-items:center}.dashboard-menu-button{border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(18,57,82,.82),rgba(8,31,49,.92));cursor:pointer;gap:5px;align-content:center;padding:0}.dashboard-menu-button span{display:block;width:21px;height:2px;border-radius:999px;background:#e8f5f8;box-shadow:0 0 8px rgba(97,217,234,.25);transition:transform .24s ease,opacity .24s ease}.dashboard-menu-button:hover{border-color:rgba(91,214,232,.34);box-shadow:0 0 22px rgba(55,189,211,.11)}.dashboard-header-logo{border:1px solid rgba(232,195,77,.16);background:radial-gradient(circle,rgba(232,195,77,.08),rgba(255,255,255,.018));text-decoration:none}.dashboard-header-logo img{width:auto;max-width:40px;height:38px;object-fit:contain;filter:drop-shadow(0 0 9px rgba(235,201,88,.15))}.dashboard-header-title{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(62vw,720px);text-align:center;display:grid;gap:2px;pointer-events:none}.dashboard-header-title small{font-size:11px;color:#d8bb5a}.dashboard-header-title strong{font-size:clamp(18px,2.2vw,27px);color:#f5fbfd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-header-title--logo{display:grid;place-items:center}.dashboard-header-brand{display:block;width:auto;max-width:min(300px,42vw);height:52px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(235,201,88,.18))}
.dashboard-drawer-backdrop{position:fixed;inset:0;z-index:139;background:rgba(0,8,14,.58);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}.dashboard-profile-drawer{position:fixed;z-index:140;top:0;right:0;width:min(380px,92vw);height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;background:linear-gradient(180deg,#0b2538,#061824 68%,#04121d);border-left:1px solid rgba(255,255,255,.09);box-shadow:-26px 0 60px rgba(0,0,0,.32);transform:translateX(105%);transition:transform .34s cubic-bezier(.2,.82,.2,1);color:#eef8fb;overflow:hidden}.dashboard-drawer-open .dashboard-drawer-backdrop{opacity:1;visibility:visible}.dashboard-drawer-open .dashboard-profile-drawer{transform:translateX(0)}.dashboard-drawer-open{overflow:hidden}.dashboard-drawer-close{position:absolute;z-index:4;top:14px;left:14px;width:36px;height:36px;border-radius:12px;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);color:#b9cdd5;font-size:24px;line-height:1;cursor:pointer}.dashboard-drawer-close:hover{color:#fff;background:rgba(255,255,255,.07)}.dashboard-drawer-scroll{min-height:0;overflow-y:auto;padding:28px 20px 18px;scrollbar-width:none}.dashboard-drawer-scroll::-webkit-scrollbar{width:0;height:0}
.dashboard-profile-block{text-align:center;display:grid;justify-items:center}.dashboard-avatar-control{cursor:pointer;display:block}.dashboard-avatar-ring{position:relative;width:104px;height:104px;display:grid;place-items:center;border-radius:50%;padding:4px;background:conic-gradient(from 20deg,#e0b640,#4fcde1,#8f68e8,#e0b640);box-shadow:0 0 0 5px rgba(255,255,255,.035),0 14px 32px rgba(0,0,0,.24),0 0 28px rgba(76,205,225,.12)}.dashboard-avatar-ring::before{content:"";position:absolute;inset:5px;border-radius:50%;background:#0a2233}.dashboard-avatar-ring img,.dashboard-avatar-ring>b{position:relative;z-index:1;width:91px;height:91px;border-radius:50%;object-fit:cover}.dashboard-avatar-ring>b{display:grid;place-items:center;background:radial-gradient(circle at 35% 25%,#1d5771,#0b2f46 70%);color:#f3d66f;font-size:38px}.dashboard-avatar-edit{position:absolute;z-index:3;left:1px;bottom:6px;width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#f0c954;color:#082536;border:3px solid #0a2233;font-style:normal;font-size:17px}.dashboard-profile-block>strong{margin-top:13px;font-size:20px;color:#f7fbfd}.dashboard-profile-block>small{margin-top:3px;font-size:12px;color:#93adba}.dashboard-avatar-status{min-height:19px;margin-top:5px;font:13px var(--font-body);color:#7ed9e8}.dashboard-drawer-divider{height:1px;margin:17px 2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14),transparent)}
.dashboard-drawer-nav{display:grid;gap:7px}.dashboard-drawer-nav a,.dashboard-drawer-nav button{width:100%;min-height:48px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:8px;border:1px solid transparent;border-radius:14px;padding:0 10px;background:transparent;color:#dbe9ee;text-decoration:none;text-align:right;font-family:var(--font-ui);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease}.dashboard-drawer-nav a span,.dashboard-drawer-nav button span{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:rgba(81,203,222,.075);color:#77d6e4;font-size:17px}.dashboard-drawer-nav b{font-size:14px;font-weight:700}.dashboard-drawer-nav a:hover,.dashboard-drawer-nav button:hover{background:rgba(255,255,255,.045);border-color:rgba(83,204,223,.16);transform:translateX(-2px)}
.dashboard-clock-card{position:relative;overflow:hidden;text-align:center;padding:16px;border-radius:18px;border:1px solid rgba(227,189,75,.18);background:linear-gradient(145deg,rgba(227,189,75,.055),rgba(64,187,208,.035));box-shadow:inset 0 0 24px rgba(255,255,255,.015)}.dashboard-clock-card::before{content:"";position:absolute;inset:-60% 55% auto -20%;height:140px;background:radial-gradient(circle,rgba(222,185,71,.09),transparent 66%);pointer-events:none}.dashboard-clock-card span{display:block;color:#d9bc5d;font-size:13px}.dashboard-clock-card strong{display:block;margin-top:4px;color:#f3f9fb;font-size:18px}.dashboard-clock-card time{display:block;margin-top:6px;color:#86d7e5;font-size:24px;letter-spacing:1px;direction:ltr}.dashboard-drawer-brand{display:grid;justify-items:center;gap:5px;margin:18px 0 4px}.dashboard-drawer-brand img{width:58px;height:58px;object-fit:contain;opacity:.94;filter:drop-shadow(0 0 12px rgba(229,192,77,.13))}.dashboard-drawer-brand strong{font-size:13px;color:#c7d7de}.dashboard-drawer-footer{padding:13px 20px 17px;border-top:1px solid rgba(255,255,255,.075);background:rgba(2,14,23,.66);backdrop-filter:blur(12px)}.dashboard-footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dashboard-footer-actions button{height:44px;border-radius:13px;border:1px solid rgba(255,255,255,.09);background:#0b2a3f;color:#dcebf0;display:flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-ui);cursor:pointer}.dashboard-footer-actions button span{font-size:17px;color:#78d7e5}.dashboard-footer-actions button b{font-size:13px}.dashboard-footer-actions button.is-danger{background:rgba(123,39,53,.23);color:#ffc0c9}.dashboard-footer-actions button.is-danger span{color:#ff8798}.dashboard-drawer-footer>small{display:block;text-align:center;margin-top:10px;color:#6f8793;font-size:10px}.dashboard-drawer-footer>small b{color:#a9bdc6;font-weight:500}
.manager-body.is-light .dashboard-global-header,.superadmin-body.is-light .dashboard-global-header{background:linear-gradient(180deg,rgba(246,252,253,.96),rgba(235,246,249,.9));border-bottom-color:rgba(14,70,87,.1);box-shadow:0 12px 34px rgba(18,61,75,.1)}.manager-body.is-light .dashboard-header-title strong,.superadmin-body.is-light .dashboard-header-title strong{color:#153240}.manager-body.is-light .dashboard-menu-button,.superadmin-body.is-light .dashboard-menu-button{background:#fff;border-color:rgba(24,81,99,.12)}.manager-body.is-light .dashboard-menu-button span,.superadmin-body.is-light .dashboard-menu-button span{background:#214b5b}.manager-body.is-light .dashboard-profile-drawer,.superadmin-body.is-light .dashboard-profile-drawer{background:linear-gradient(180deg,#f7fcfd,#eaf4f6 70%,#e3eef1);border-left-color:rgba(20,69,85,.1);color:#173743}.manager-body.is-light .dashboard-drawer-close,.superadmin-body.is-light .dashboard-drawer-close{background:#fff;color:#466470;border-color:rgba(24,76,92,.1)}.manager-body.is-light .dashboard-avatar-ring::before,.superadmin-body.is-light .dashboard-avatar-ring::before{background:#eef7f9}.manager-body.is-light .dashboard-avatar-edit,.superadmin-body.is-light .dashboard-avatar-edit{border-color:#eef7f9}.manager-body.is-light .dashboard-profile-block>strong,.superadmin-body.is-light .dashboard-profile-block>strong,.manager-body.is-light .dashboard-clock-card strong,.superadmin-body.is-light .dashboard-clock-card strong{color:#183845}.manager-body.is-light .dashboard-profile-block>small,.superadmin-body.is-light .dashboard-profile-block>small{color:#6d8490}.manager-body.is-light .dashboard-drawer-divider,.superadmin-body.is-light .dashboard-drawer-divider{background:linear-gradient(90deg,transparent,rgba(20,69,85,.14),transparent)}.manager-body.is-light .dashboard-drawer-nav a,.manager-body.is-light .dashboard-drawer-nav button,.superadmin-body.is-light .dashboard-drawer-nav a,.superadmin-body.is-light .dashboard-drawer-nav button{color:#284653}.manager-body.is-light .dashboard-drawer-nav a:hover,.manager-body.is-light .dashboard-drawer-nav button:hover,.superadmin-body.is-light .dashboard-drawer-nav a:hover,.superadmin-body.is-light .dashboard-drawer-nav button:hover{background:#fff;border-color:rgba(38,123,143,.14)}.manager-body.is-light .dashboard-clock-card,.superadmin-body.is-light .dashboard-clock-card{background:linear-gradient(145deg,rgba(225,183,63,.08),rgba(56,173,194,.045));border-color:rgba(189,148,30,.18)}.manager-body.is-light .dashboard-drawer-brand strong,.superadmin-body.is-light .dashboard-drawer-brand strong{color:#56707c}.manager-body.is-light .dashboard-drawer-footer,.superadmin-body.is-light .dashboard-drawer-footer{background:rgba(231,242,245,.86);border-top-color:rgba(24,76,93,.09)}.manager-body.is-light .dashboard-footer-actions button,.superadmin-body.is-light .dashboard-footer-actions button{background:#fff;color:#294a58;border-color:rgba(26,81,98,.1)}

/* ===== Manager reservation dashboard ===== */
.manager-body{--manager-bg:#04121e;--manager-panel:#0a2235;--manager-card:#0c2a40;--manager-text:#edf8fb;--manager-muted:#91aab7;--manager-line:rgba(255,255,255,.085);margin:0;min-height:100svh;overflow-y:auto;background:radial-gradient(circle at 13% 0,rgba(30,153,179,.15),transparent 27%),radial-gradient(circle at 90% 7%,rgba(226,183,62,.10),transparent 24%),linear-gradient(180deg,#061827,#03111d 70%,#020b13);color:var(--manager-text);font-family:var(--font-ui);transition:background .3s ease,color .3s ease}.manager-body.is-light{--manager-bg:#eaf2f5;--manager-panel:#f7fbfc;--manager-card:#fff;--manager-text:#16303d;--manager-muted:#607986;--manager-line:rgba(13,55,72,.10);background:radial-gradient(circle at 10% 0,rgba(52,182,202,.14),transparent 28%),linear-gradient(180deg,#eef7f9,#dfeaec);color:var(--manager-text)}.manager-shell{width:min(1420px,95vw);margin:0 auto;padding:104px 0 72px}.manager-overview-head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin:0 0 18px;padding:0 2px}.manager-overview-head span{color:#e2bd51;font-size:14px}.manager-overview-head h1{margin:3px 0 0;color:var(--manager-text);font-size:clamp(29px,3vw,42px)}.manager-overview-head__aside{display:grid;justify-items:end;gap:12px}.manager-overview-head p{max-width:560px;margin:0;color:var(--manager-muted);font:18px/1.65 var(--font-body);text-align:right}.manager-back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 18px;min-width:112px;text-decoration:none;justify-self:end;align-self:end;border-color:rgba(255,98,117,.26);background:linear-gradient(145deg,rgba(114,18,31,.94),rgba(157,34,48,.9));color:#fff}.manager-back-button span{display:none}.manager-back-button b{font-weight:700;color:#fff}.manager-legend-wrap{display:flex;justify-content:center;margin-top:18px}.manager-state-legend{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 auto;max-width:100%}.state-legend{display:flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid var(--manager-line);border-radius:999px;background:color-mix(in srgb,var(--manager-card) 84%,transparent);font-size:13px;color:var(--manager-muted)}.state-legend i{width:10px;height:10px;border-radius:50%;background:var(--state-color);box-shadow:0 0 12px color-mix(in srgb,var(--state-color) 70%,transparent)}
.state-available{--state-color:var(--room-available)}.state-reserved{--state-color:var(--room-reserved)}.state-occupied{--state-color:var(--room-occupied)}.state-cleaning{--state-color:var(--room-cleaning)}.state-locked{--state-color:var(--room-locked)}
.manager-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.manager-stats article{min-height:76px;padding:14px 20px;border:1px solid color-mix(in srgb,var(--state-color) 36%,var(--manager-line));border-radius:18px;background:linear-gradient(90deg,color-mix(in srgb,var(--state-color) 3%,var(--manager-card)),color-mix(in srgb,var(--state-color) 10%,var(--manager-card)));display:flex;align-items:center;justify-content:space-between;gap:10px;box-shadow:inset -4px 0 0 var(--state-color),0 10px 28px rgba(0,0,0,.08)}
.manager-stats b{font-size:31px;color:var(--state-color)}
.manager-stats span{font-size:15px;color:var(--manager-muted)}
.manager-command-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:17px}
.manager-command{--command-accent:#55d2f1;min-height:100px;padding:16px 20px;border:1px solid var(--manager-line);border-radius:20px;background:linear-gradient(90deg,color-mix(in srgb,var(--command-accent) 2%,var(--manager-card)),color-mix(in srgb,var(--command-accent) 8%,var(--manager-card)));color:var(--manager-text);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:right;font-family:var(--font-ui);cursor:pointer;box-shadow:inset -4px 0 0 var(--command-accent);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.manager-command:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--command-accent) 42%,transparent);box-shadow:inset -4px 0 0 var(--command-accent),0 14px 30px rgba(0,0,0,.12)}
.manager-command>span{order:1;flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:15px;background:color-mix(in srgb,var(--command-accent) 10%,transparent);color:var(--command-accent);font-size:23px}
.manager-command strong{order:2;font-size:17px;white-space:nowrap}
.manager-command small{order:3;margin-right:auto;text-align:left;font-size:13px;color:var(--manager-muted)}
.manager-command small b{color:#f0cb5b}
.manager-command--manual{--command-accent:#f0cb5b}.manager-command--requests{--command-accent:#55d2f1}.manager-command--rooms{--command-accent:#43d78a}
.manager-command.is-active{border-color:color-mix(in srgb,var(--command-accent) 48%,transparent);box-shadow:inset -4px 0 0 var(--command-accent),0 0 24px color-mix(in srgb,var(--command-accent) 10%,transparent)}
.manager-secondary-button{height:43px;display:grid;place-items:center;border:1px solid var(--manager-line);border-radius:13px;background:color-mix(in srgb,var(--manager-card) 94%,transparent);color:var(--manager-text);padding:0 15px;font-family:var(--font-ui);font-size:13px;cursor:pointer}.manager-secondary-button.manager-back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.manager-panel{padding:21px;border:1px solid var(--manager-line);border-radius:25px;background:color-mix(in srgb,var(--manager-panel) 96%,transparent);box-shadow:0 22px 50px rgba(0,0,0,.13)}.manager-panel-head{position:relative;display:block;min-height:46px;margin-bottom:18px;padding:2px 150px 0;text-align:center}.manager-panel-head>div{display:grid;justify-items:center}.manager-panel-head h2{margin:2px 0 0;color:var(--manager-text);font-size:29px;text-align:center}.manager-panel-head>.manager-secondary-button{position:absolute;left:0;top:0}.manager-room-groups{display:grid;gap:22px}.manager-room-group-head{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:11px;text-align:center}.manager-room-group-head h3{margin:0;color:var(--manager-text);font-size:24px}.manager-room-group-head span{color:var(--manager-muted);font-size:13px}.manager-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}

















.manager-body.is-light 














@keyframes roomStateBlink{0%,49.999%{opacity:1}50%,100%{opacity:0}}
.manager-loading{padding:34px;text-align:center;color:var(--manager-muted);font:20px var(--font-body)}.manager-pending-list{display:grid;gap:11px}.pending-booking-card{display:grid;grid-template-columns:1.25fr .9fr auto;align-items:center;gap:15px;padding:16px;border:1px solid var(--manager-line);border-radius:18px;background:var(--manager-card)}.pending-booking-card h3{margin:0 0 4px;font-size:17px;color:var(--manager-text)}.pending-booking-card p{margin:0;font:17px var(--font-body);color:var(--manager-muted)}.pending-booking-card__dates{display:grid;gap:4px;font-size:13px;color:var(--manager-muted)}.pending-booking-card__dates b{color:#f0d06a}.pending-booking-actions{display:flex;gap:7px}.pending-booking-actions button,.record-actions button{height:38px;border:1px solid var(--manager-line);border-radius:11px;background:rgba(255,255,255,.045);color:var(--manager-text);font-family:var(--font-ui);font-size:12px;padding:0 11px}.pending-booking-actions .accept{background:rgba(49,196,111,.12);border-color:rgba(59,205,122,.23);color:#91ecb4}.pending-booking-actions .reject{background:rgba(214,65,83,.10);border-color:rgba(225,74,91,.20);color:#ffadb7}.manager-empty{padding:25px;text-align:center;border:1px dashed var(--manager-line);border-radius:17px;color:var(--manager-muted);font:18px var(--font-body)}

.manager-room-card{--state-color:var(--room-available);position:relative;isolation:isolate;min-height:186px;text-align:center;padding:12px 12px 10px;border:1px solid var(--state-color);border-radius:20px;background:linear-gradient(155deg,color-mix(in srgb,var(--state-color) 5%,var(--manager-card)),var(--manager-card) 68%);color:var(--manager-text);font-family:var(--font-ui);box-shadow:0 12px 28px rgba(0,0,0,.13),0 0 0 1px color-mix(in srgb,var(--state-color) 7%,transparent);overflow:hidden;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.manager-room-card:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(0,0,0,.17),0 0 18px color-mix(in srgb,var(--state-color) 12%,transparent)}
.manager-room-card.state-reserved{--state-color:var(--room-reserved)}.manager-room-card.state-occupied{--state-color:var(--room-occupied)}.manager-room-card.state-cleaning{--state-color:var(--room-cleaning)}.manager-room-card.state-locked{--state-color:var(--room-locked)}
.manager-room-pulse{position:absolute;top:12px;left:14px;width:11px;height:11px;border-radius:50%;background:var(--state-color);box-shadow:0 0 12px color-mix(in srgb,var(--state-color) 72%,transparent);animation:roomStateBlink 2s steps(1,end) infinite;z-index:4}
.manager-room-card__head,.room-primary,.room-meta-row,.room-progress-block,.room-action-grid{position:relative;z-index:3}
.manager-room-card h4,.manager-room-card__head h4{margin:0 18px 5px;font-size:18px;line-height:1.3;color:#f0cf64;text-align:center}.manager-body.is-light .manager-room-card h4{color:#173642}
.manager-room-card .room-primary{min-height:40px;display:grid;align-content:start;gap:2px}.manager-room-card .room-person-line{display:block;font-size:15px;line-height:1.35;color:var(--state-color);font-weight:700}.manager-room-card .room-person-line.is-ready{color:#4de1de}.manager-room-card .room-period-line{display:block;font:14px/1.3 var(--font-body);color:var(--manager-muted)}
.room-meta-row{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:12px;color:#dbe8ec}.room-meta-row span,.room-meta-row b{font-size:12px;font-weight:500}.room-meta-row span{color:var(--manager-muted)}.room-meta-row b{color:#dce9ed}
.room-progress-block{margin-top:5px}.room-progress-text{display:block;margin:0 auto 5px;color:var(--manager-muted);font:14px/1.25 var(--font-body);text-align:center;min-height:18px}.room-progress-track{position:relative;height:3px;border-radius:999px;background:rgba(255,255,255,.055);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.room-progress-track span{position:absolute;inset:0 auto 0 0;height:100%;border-radius:inherit;box-shadow:0 0 10px currentColor;transition:width .45s linear,background .25s ease}.manager-room-card.state-available .room-progress-track span{width:0;background:transparent;box-shadow:none}
.room-action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px;pointer-events:auto}.room-mini-action{--action-color:#fff;position:relative;z-index:5;min-height:34px;padding:0;border-radius:12px;border:1px solid color-mix(in srgb,var(--action-color) 42%,rgba(255,255,255,.12));background:linear-gradient(90deg,color-mix(in srgb,var(--action-color) 2%,transparent),color-mix(in srgb,var(--action-color) 8%,transparent));display:grid;place-items:center;color:#f2fbff;cursor:pointer;overflow:visible;box-shadow:inset -3px 0 0 var(--action-color);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,opacity .16s ease}.room-mini-action span{font-size:15px;line-height:1;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--action-color) 18%,transparent))}.room-mini-action b{display:none}.room-mini-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--action-color) 74%,transparent);box-shadow:inset -3px 0 0 var(--action-color),0 8px 18px color-mix(in srgb,var(--action-color) 10%,transparent)}.room-mini-action.is-processing{transform:scale(.94);opacity:.7}.room-mini-action::after{content:attr(data-tip);position:absolute;bottom:calc(100% + 7px);right:50%;transform:translateX(50%) translateY(7px);min-width:80px;padding:5px 9px;border-radius:12px;background:rgba(8,19,31,.9);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);color:#f1ca4e;font:14px/1.45 var(--font-body);text-align:center;opacity:0;pointer-events:none;transition:opacity .16s ease,transform .16s ease;box-shadow:0 10px 22px rgba(0,0,0,.2);white-space:nowrap}.room-mini-action:hover::after{opacity:1;transform:translateX(50%) translateY(0)}.room-mini-action.is-disabled{opacity:.36;cursor:not-allowed;filter:saturate(.55)}.room-mini-action.is-disabled:hover{transform:none;box-shadow:inset -3px 0 0 var(--action-color)}.room-mini-action.is-disabled::after{display:none}.room-mini-action.tone-stay{--action-color:#43d78a}.room-mini-action.tone-reservation{--action-color:#f0cb5b}.room-mini-action.tone-cleaning{--action-color:#55d2f1}.room-mini-action.tone-lock{--action-color:#b16dff}
.manager-unit-dialog{width:min(980px,calc(100vw - 26px));max-height:92dvh;overflow:auto;padding:23px;border-radius:27px;background:var(--manager-panel);color:var(--manager-text)}.manager-body.is-light .manager-unit-dialog,.manager-body.is-light .manager-manual-dialog{background:#f8fcfd;color:#17313d}.manager-unit-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-left:76px}.manager-unit-heading{display:grid;gap:4px}.manager-unit-head span{font-size:12px;color:var(--manager-muted)}.manager-unit-head h2{margin:2px 0;color:var(--manager-text);font-size:34px}.manager-unit-head small{color:var(--manager-muted);font-size:14px}.manager-unit-badge-stack{display:grid;justify-items:end;gap:6px;max-width:min(360px,100%);padding-top:4px}.manager-unit-state-label{color:#e2be52;font-size:12px}.manager-unit-state-badge{padding:10px 14px;border-radius:14px;background:color-mix(in srgb,var(--state-color,#888) 12%,transparent);border:1px solid color-mix(in srgb,var(--state-color,#888) 28%,transparent);color:var(--state-color,#aaa);font-size:14px;font-weight:700}.manager-unit-state-hint{font:16px/1.55 var(--font-body);text-align:right}.manager-unit-quick-actions{display:flex;gap:9px;flex-wrap:wrap;margin:17px 0 10px}.manager-quick-action{min-height:44px;padding:0 16px;border:1px solid var(--manager-line);border-radius:14px;background:rgba(255,255,255,.045);color:var(--manager-text);font-family:var(--font-ui);font-size:14px;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.manager-quick-action:hover{transform:translateY(-1px);border-color:rgba(226,190,82,.34);box-shadow:0 12px 28px rgba(0,0,0,.12)}.manager-quick-action.is-primary{background:linear-gradient(145deg,rgba(227,187,72,.20),rgba(70,169,244,.12));border-color:rgba(227,187,72,.26);color:#fff3ca}.manager-quick-empty{padding:11px 14px;border:1px dashed var(--manager-line);border-radius:15px;color:var(--manager-muted);font:16px/1.5 var(--font-body)}.manager-unit-status-actions{display:flex;gap:8px;margin:12px 0 15px}.manager-unit-status-actions button{flex:1;min-height:46px;border:1px solid var(--manager-line);border-radius:15px;background:rgba(255,255,255,.04);color:var(--manager-text);font-family:var(--font-ui);font-size:14px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.manager-unit-status-actions button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(0,0,0,.11)}.manager-unit-status-actions button.is-active{border-color:color-mix(in srgb,var(--state-color,#7fb) 42%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--state-color,#7fb) 28%,transparent),0 10px 24px rgba(0,0,0,.12)}.manager-unit-status-actions button[data-unit-status="available"]{color:#ff8995;--state-color:var(--room-available)}.manager-unit-status-actions button[data-unit-status="cleaning"]{color:#74c7ff;--state-color:var(--room-cleaning)}.manager-unit-status-actions button[data-unit-status="locked"]{color:#c89cff;--state-color:var(--room-locked)}.manager-unit-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manager-unit-columns>section{padding:14px;border:1px solid var(--manager-line);border-radius:18px;background:color-mix(in srgb,var(--manager-card) 86%,transparent)}.manager-subhead{margin-bottom:9px}.manager-subhead span{display:block;color:#e3bf54;font-size:12px}.manager-subhead b{font-size:18px;color:var(--manager-text)}.manager-record-list{display:grid;gap:8px}.manager-record-card{padding:12px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--manager-line)}.manager-record-card h4{margin:0 0 4px;font-size:16px}.manager-record-card p{margin:0;font:17px var(--font-body);color:var(--manager-muted)}.manager-record-card small{display:block;margin-top:6px;color:#e3c45d;font-size:13px}.record-actions{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.manager-edit-details{margin-top:14px;border:1px solid var(--manager-line);border-radius:17px;padding:12px 14px}.manager-edit-details summary{cursor:pointer;color:#c8d9e0;font-size:14px}.manager-edit-form{display:grid;gap:10px;margin-top:13px}.manager-manual-dialog{width:min(700px,calc(100vw - 26px));max-height:92dvh;overflow:auto;padding:24px;border-radius:27px;background:var(--manager-panel);color:var(--manager-text)}.manager-manual-dialog header{margin:4px 0 14px}.manager-manual-dialog header span{color:#e2be52;font-size:13px}.manager-manual-dialog h2{margin:2px 0;color:var(--manager-text);font-size:27px}.manager-manual-form{display:grid;gap:11px}.manager-manual-form select option{background:#0b2639;color:#eef8fb}.manager-body.is-light .manager-manual-form select option{background:#fff;color:#1c3844}

/* Superadmin uses the same global dashboard shell and theme law. */
.superadmin-shell{width:min(1260px,94vw);margin:0 auto;padding:104px 0 64px}.superadmin-overview-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.superadmin-overview-head h1{margin:2px 0 0;font-size:clamp(28px,3vw,40px);color:#fff8df}.superadmin-overview-head p{max-width:520px;margin:0;color:#9fb4bf;font:17px/1.6 var(--font-body)}.superadmin-body.is-light{background:radial-gradient(circle at 12% 0,rgba(47,177,199,.12),transparent 29%),linear-gradient(180deg,#eff7f9,#e2ecef);color:#163541}.superadmin-body.is-light .superadmin-overview-head h1,.superadmin-body.is-light .superadmin-topbar h1{color:#183845}.superadmin-body.is-light .superadmin-overview-head p{color:#647e89}.superadmin-body.is-light .superadmin-stats article,.superadmin-body.is-light .superadmin-action-card,.superadmin-body.is-light .superadmin-panel,.superadmin-body.is-light .superadmin-form-wrap,.superadmin-body.is-light .sa-property-card,.superadmin-body.is-light .weather-slider-grid label{background:#f8fcfd;color:#173743;border-color:rgba(21,72,88,.1);box-shadow:0 14px 34px rgba(20,66,80,.08)}.superadmin-body.is-light .superadmin-stats span,.superadmin-body.is-light .superadmin-action-card small,.superadmin-body.is-light .sa-property-meta,.superadmin-body.is-light .sa-status{color:#67808b}.superadmin-body.is-light .superadmin-action-card strong,.superadmin-body.is-light .superadmin-section-head h2,.superadmin-body.is-light .sa-property-card-head b,.superadmin-body.is-light .sa-property-managers span{color:#1b3b48}.superadmin-body.is-light .sa-field input,.superadmin-body.is-light .sa-field textarea,.superadmin-body.is-light .sa-property-select,.superadmin-body.is-light .weather-mode-tabs button,.superadmin-body.is-light .weather-type-switch button,.superadmin-body.is-light .weather-presets button{background:#fff;color:#1b3b48;border-color:rgba(24,77,94,.13)}.superadmin-body.is-light .sa-divider{background:rgba(25,76,92,.11)}.superadmin-body.is-light .sa-divider span{background:#f8fcfd}.superadmin-body.is-light .weather-admin-preview{border-color:rgba(24,77,94,.12)}

@media(max-width:980px){.public-unit-grid,.manager-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-detail-layout{grid-template-columns:1fr}.unit-gallery-main,.unit-gallery-main img{min-height:330px}.manager-stats{grid-template-columns:repeat(3,1fr)}.manager-stats article:nth-last-child(-n+2){grid-column:span 1}.pending-booking-card{grid-template-columns:1fr 1fr}.pending-booking-actions{grid-column:1/-1}.manager-unit-columns{grid-template-columns:1fr}.manager-overview-head,.superadmin-overview-head{align-items:flex-start;flex-direction:column}.manager-overview-head p,.superadmin-overview-head p{text-align:right;max-width:none}}
@media(max-width:760px){
  .dashboard-global-header{height:68px;padding:0 12px}.dashboard-menu-button,.dashboard-header-logo{width:43px;height:43px;border-radius:14px}.dashboard-header-logo img{width:30px;height:30px}.dashboard-header-title{width:62vw}.dashboard-header-title small{font-size:9px}.dashboard-header-title strong{font-size:17px}.dashboard-header-brand{max-width:min(190px,46vw);height:38px}.dashboard-profile-drawer{width:min(350px,94vw)}.dashboard-drawer-scroll{padding:22px 16px 16px}
  .reservation-hub{padding:42px 0 64px}.reservation-shell{width:94vw}.reservation-heading__single{white-space:normal}.reservation-heading p{font-size:17px}.reservation-search-panel{padding:11px;border-radius:18px;margin-bottom:18px}.reservation-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.reservation-unit-selector{grid-column:1/-1}.reservation-search-button{grid-column:1/-1}.reservation-unit-selector__panel{width:100%;right:0}.reservation-unit-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reservation-building-list{gap:18px}.reservation-building-section{padding:10px;border-radius:22px}.reservation-building-title h3{font-size:21px}.building-visual{border-radius:16px}.room-hotspot{min-width:58px;height:28px;padding:0 7px;border-radius:9px;font-size:13px}.room-hotspot__label{transform:translateY(1px)}.room-hotspot[data-rear="1"]{min-width:54px}.public-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.public-unit-grid--building{margin-top:10px}.public-unit-card{padding:11px;min-height:148px}.public-unit-card h4{font-size:17px}.public-unit-card__price small{font-size:12px}.public-unit-card__price b{font-size:12px}.public-unit-card__beds,.public-unit-card__cta{min-height:29px;padding:4px 7px;font-size:11px}.unit-detail-dialog{padding:13px;border-radius:22px}.unit-gallery-main,.unit-gallery-main img{min-height:250px}.unit-info-title h2{font-size:25px}.booking-date-grid,.account-form-row,.manager-form-row{grid-template-columns:1fr}.helper-note small{font-size:15px}.account-shell{padding-top:14px}.account-card{padding:15px;border-radius:22px}.manager-shell,.superadmin-shell{width:94vw;padding-top:90px}.manager-overview-head{margin-bottom:14px}.manager-overview-head h1{font-size:30px}.manager-overview-head p{font-size:16px}.manager-stats{grid-template-columns:repeat(2,1fr)}.manager-stats article:last-child{grid-column:1/-1}.manager-stats span{font-size:14px}.manager-command-grid{grid-template-columns:1fr}.manager-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manager-room-card h4{font-size:20px}.manager-panel{padding:14px}.manager-panel-head{min-height:96px;padding:0 0 56px;text-align:center}.manager-panel-head>.manager-secondary-button{position:absolute;left:0;right:0;top:auto;bottom:0;width:100%}.manager-secondary-button{width:100%}.manager-state-legend{gap:6px}.state-legend{padding:7px 9px;font-size:11px}.pending-booking-card{grid-template-columns:1fr}.pending-booking-actions{grid-column:auto}.manager-unit-dialog,.manager-manual-dialog{padding:16px}.manager-unit-status-actions{display:grid;grid-template-columns:1fr}.manager-unit-head{flex-direction:column;padding-left:62px}.manager-unit-badge-stack{justify-items:start}.manager-unit-state-badge{align-self:flex-start}.manager-unit-quick-actions{flex-direction:column}.dialog-x{width:48px;height:48px;font-size:36px;border-radius:16px}.jalali-date-dialog{width:min(94vw,430px);padding:20px 15px 16px}.jalali-date-dialog .dialog-x{top:1px;left:3px;width:42px;height:42px;font-size:38px}.jalali-picker-head strong{font-size:17px}.jalali-day{font-size:12px}.superadmin-overview-head{margin-bottom:16px}
}
@media(max-width:430px){.public-unit-grid,.manager-room-grid{grid-template-columns:1fr 1fr}.manager-stats article{padding:11px}.manager-stats b{font-size:25px}.manager-room-card footer{align-items:flex-start;flex-direction:column}.dashboard-header-title{width:58vw}.room-hotspot[data-rear="1"]{min-width:48px}.reservation-heading h2{font-size:25px}}

/* Reservation navigation motion: opening a room should feel like entering it,
   without changing the building photography or the existing landing motion. */
@keyframes reservationDialogEnter{from{opacity:0;transform:translateY(18px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes reservationGalleryEnter{from{opacity:.3;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}
.unit-detail-dialog[open]{animation:reservationDialogEnter .38s cubic-bezier(.2,.82,.2,1)}
.unit-detail-dialog[open] .unit-gallery-main img{animation:reservationGalleryEnter .72s cubic-bezier(.2,.75,.2,1)}
.manager-unit-dialog[open],.manager-manual-dialog[open],.registration-welcome-dialog[open],.jalali-date-dialog[open]{animation:reservationDialogEnter .28s cubic-bezier(.2,.82,.2,1)}
@media(prefers-reduced-motion:reduce){.unit-detail-dialog[open],.unit-detail-dialog[open] .unit-gallery-main img,.manager-unit-dialog[open],.manager-manual-dialog[open],.registration-welcome-dialog[open],.jalali-date-dialog[open]{animation:none}}

/* v16.4.7 manager refinements */
.manager-command-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.manager-command--current{--command-accent:#b16dff}
.manager-command--history{--command-accent:#ff5b74}
.manager-command,
.manager-command small{font-family:var(--font-body);font-size:16px;text-align:left}
.manager-command strong{font-size:22px}
.manager-command>span{font-size:24px}

.manager-filter-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px}
.manager-filter-toolbar label{flex:1;min-width:220px;display:grid;gap:6px}
.manager-filter-toolbar span{color:#e2be52;font-size:13px}
.manager-filter-toolbar select{height:48px;border-radius:16px;border:1px solid var(--manager-line);background:rgba(255,255,255,.04);color:var(--manager-text);padding:0 14px;font-family:var(--font-ui);font-size:15px}
.manager-filter-toolbar select option{background:#0a2235;color:#eef8fb}
.manager-history-list{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.manager-history-card{padding:14px 16px;border-radius:18px;border:1px solid color-mix(in srgb,var(--state-color,#3dbdf2) 38%,var(--manager-line));background:linear-gradient(160deg,color-mix(in srgb,var(--state-color,#3dbdf2) 7%,var(--manager-card)),var(--manager-card) 70%);box-shadow:0 12px 28px rgba(0,0,0,.11)}
.manager-history-card__head{display:grid;gap:4px;margin-bottom:8px}
.manager-history-card__head h3{margin:0;font-size:18px;color:var(--manager-text)}
.manager-history-card__head span{color:var(--state-color,#66d0ef);font-size:14px}
.manager-history-card p{margin:0;color:var(--manager-muted);font:16px/1.65 var(--font-body)}
.manager-history-card small{display:block;margin-top:8px;color:#e3c45d;font-size:13px}
.manager-history-card.state-current_stays,.manager-history-card.state-occupied{--state-color:var(--room-occupied)}
.manager-history-card.state-available{--state-color:var(--room-available)}
.manager-history-card.state-reserved,.manager-history-card.state-reservation,.manager-history-card.state-booking{--state-color:var(--room-reserved)}
.manager-history-card.state-cleaning{--state-color:var(--room-cleaning)}
.manager-history-card.state-locked,.manager-history-card.state-lock,.manager-history-card.state-status,.manager-history-card.state-unit{--state-color:var(--room-locked)}









.manager-room-card 





.manager-room-card.state-available 


@media(max-width:1024px){.manager-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.manager-history-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.manager-command-grid,.manager-history-list{grid-template-columns:1fr}.manager-filter-toolbar label{min-width:0}}


/* v16.4.8 compact header-grid alignment refinements */
.manager-stats article{position:relative;justify-content:flex-start;min-height:86px;padding:14px 22px}
.manager-stats b{position:relative;z-index:2;margin-right:auto;font-size:34px}
.manager-stats span{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:22px;color:var(--manager-text);padding-inline:64px}

.manager-command-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
.manager-command{position:relative;min-height:86px;justify-content:flex-start;padding:14px 20px}
.manager-command strong{position:absolute;inset:0;display:grid;place-items:center;text-align:center;font-size:22px;padding-inline:70px;white-space:normal;line-height:1.35}
.manager-command small{display:none}
.manager-command>span{position:relative;z-index:2}




@media(max-width:1024px){
  .manager-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .manager-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .manager-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manager-stats article:last-child{grid-column:1/-1}
  .manager-command-grid{grid-template-columns:1fr}
  .manager-stats span,.manager-command strong{font-size:20px;padding-inline:54px}
}

/* v16.4.9 quick room-state filters */
.manager-stats [data-room-filter]{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.manager-stats [data-room-filter]:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--state-color) 58%,transparent);box-shadow:inset -4px 0 0 var(--state-color),0 14px 28px rgba(0,0,0,.11),0 0 16px color-mix(in srgb,var(--state-color) 10%,transparent)}
.manager-stats [data-room-filter]:focus-visible{outline:2px solid color-mix(in srgb,var(--state-color) 72%,#fff);outline-offset:3px}
.manager-stats [data-room-filter].is-filter-active{border-color:color-mix(in srgb,var(--state-color) 76%,transparent);background:linear-gradient(90deg,color-mix(in srgb,var(--state-color) 7%,var(--manager-card)),color-mix(in srgb,var(--state-color) 15%,var(--manager-card)));box-shadow:inset -4px 0 0 var(--state-color),0 0 0 1px color-mix(in srgb,var(--state-color) 20%,transparent),0 0 22px color-mix(in srgb,var(--state-color) 15%,transparent)}


/* v16.5.3 reservation workflow refinements */
.manager-booking-dialog{width:min(1180px,calc(100vw - 28px));max-height:min(760px,94dvh);overflow:hidden;padding:20px 22px}.manager-booking-dialog header{margin:0 0 10px;padding-left:62px}.manager-booking-dialog header h2{font-size:28px}
.manager-booking-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:16px;align-items:start}.manager-booking-fields{display:grid;gap:9px;align-content:start}.manager-booking-fields .manager-form-row{gap:8px}.manager-form-row--compact{grid-template-columns:.55fr 1.45fr}.manager-booking-fields input,.manager-booking-fields select,.manager-booking-fields .jalali-date-field{min-height:42px}.manager-booking-fields label>span{font-size:12px}.manager-booking-fields .manager-primary-button{margin-top:2px}.manager-booking-fields .form-status{min-height:18px;margin:0}
.manual-unit-picker{display:grid;gap:8px;min-width:0}.manual-unit-picker__head{display:flex;justify-content:space-between;align-items:end;gap:12px}.manual-unit-picker__head span{display:block;color:#e2be52;font-size:12px}.manual-unit-picker__head b{display:block;margin-top:2px;color:var(--manager-text);font:15px/1.4 var(--font-body)}.manual-unit-picker__head small{color:#7fd7e9;font-size:11px;white-space:nowrap}
.manual-unit-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;overflow:visible;padding:1px}.manual-unit-choice{--choice-color:var(--room-available);position:relative;min-height:72px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--choice-color) 38%,var(--manager-line));border-radius:14px;background:linear-gradient(155deg,color-mix(in srgb,var(--choice-color) 5%,var(--manager-card)),var(--manager-card));color:var(--manager-text);font-family:var(--font-ui);text-align:right;cursor:pointer;display:grid;align-content:center;gap:1px;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.manual-unit-choice.state-reserved{--choice-color:var(--room-reserved)}.manual-unit-choice.state-occupied{--choice-color:var(--room-occupied)}.manual-unit-choice.state-cleaning{--choice-color:var(--room-cleaning)}.manual-unit-choice.state-locked{--choice-color:var(--room-locked)}.manual-unit-choice:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--choice-color) 72%,transparent)}.manual-unit-choice.is-selected{border-color:var(--choice-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--choice-color) 38%,transparent),0 0 15px color-mix(in srgb,var(--choice-color) 10%,transparent)}.manual-unit-choice.is-conflict{opacity:.4;cursor:not-allowed}.manual-unit-choice.needs-override{border-style:dashed}.manual-unit-choice__dot{position:absolute;top:7px;left:7px;width:8px;height:8px;border-radius:50%;background:var(--choice-color);box-shadow:0 0 9px color-mix(in srgb,var(--choice-color) 65%,transparent)}.manual-unit-choice strong{font-size:13px;color:#f4df8a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:12px}.manual-unit-choice b{font-size:11px;color:var(--choice-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-unit-choice em{font:12px/1.2 var(--font-body);font-style:normal;color:var(--manager-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-unit-choice small{font-size:9px;color:#91aab7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manual-unit-choice>i{color:#ff8290;font:10px/1.2 var(--font-body);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-override-dialog{width:min(620px,calc(100vw - 28px));overflow:hidden}.manager-override-body{display:grid;gap:12px}.manager-override-reservations{display:grid;gap:8px}.manager-override-reservations article{padding:11px 13px;border:1px solid rgba(240,194,71,.24);border-radius:14px;background:rgba(240,194,71,.055);display:flex;justify-content:space-between;gap:12px;align-items:center}.manager-override-reservations strong{color:#f4df8a;font-size:14px}.manager-override-reservations span{color:var(--manager-muted);font:15px var(--font-body)}.manager-override-actions{display:grid;grid-template-columns:1fr 1.6fr;gap:9px}
.manager-lock-dialog{width:min(720px,calc(100vw - 26px))}.manager-lock-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manager-lock-choice{position:relative;display:flex;align-items:center;gap:12px;min-height:84px;padding:13px 14px;border:1px solid var(--manager-line);border-radius:18px;background:linear-gradient(150deg,rgba(177,109,255,.035),rgba(255,255,255,.02));cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.manager-lock-choice input{position:absolute;opacity:0;pointer-events:none}.manager-lock-radio{width:23px;height:23px;flex:0 0 23px;border-radius:50%;border:2px solid rgba(177,109,255,.48);display:grid;place-items:center}.manager-lock-radio::after{content:"";width:11px;height:11px;border-radius:50%;background:#b16dff;transform:scale(0);transition:transform .16s ease}.manager-lock-choice:has(input:checked){border-color:rgba(177,109,255,.72);box-shadow:0 0 0 1px rgba(177,109,255,.16),0 12px 26px rgba(0,0,0,.14)}.manager-lock-choice:has(input:checked) .manager-lock-radio::after{transform:scale(1)}.manager-lock-choice div{display:grid;gap:3px}.manager-lock-choice b{font-size:16px;color:#e9ddff}.manager-lock-choice small{font:14px/1.45 var(--font-body);color:var(--manager-muted)}
.manager-cleaning-dialog{width:min(620px,calc(100vw - 26px))}.cleaning-duration-field input{font-size:22px;text-align:center}.cleaning-duration-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.cleaning-duration-presets button{height:42px;border:1px solid rgba(85,210,241,.2);border-radius:13px;background:rgba(85,210,241,.055);color:#bdefff;font-family:var(--font-ui);cursor:pointer}.cleaning-duration-presets button:hover,.cleaning-duration-presets button.is-active{border-color:rgba(85,210,241,.65);background:rgba(85,210,241,.13);box-shadow:0 0 16px rgba(85,210,241,.08)}
.manager-flash-stack{position:fixed;top:94px;left:18px;z-index:1200;width:min(430px,calc(100vw - 36px));display:grid;gap:10px;pointer-events:none}.manager-flash-toast{pointer-events:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 14px 13px;border:1px solid rgba(85,210,241,.24);border-radius:17px;background:rgba(7,30,47,.94);backdrop-filter:blur(12px);box-shadow:0 18px 42px rgba(0,0,0,.28);animation:managerFlashIn .24s ease-out}.manager-flash-toast.is-cleaning-reminder{border-color:rgba(85,210,241,.48);box-shadow:0 18px 42px rgba(0,0,0,.28),0 0 22px rgba(85,210,241,.08)}.manager-flash-toast strong{color:#f0cb5b;font-size:14px}.manager-flash-toast p{margin:3px 0 0;color:#d8e7ec;font:16px/1.55 var(--font-body)}.manager-flash-toast button{flex:0 0 36px;width:36px;height:36px;border-radius:11px;border:1px solid rgba(255,93,135,.2);background:rgba(255,93,135,.07);color:#ff6b90;font-size:23px;cursor:pointer}@keyframes managerFlashIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.jalali-day.is-disabled,.jalali-day:disabled{opacity:.26;cursor:not-allowed;filter:saturate(.3)}
@media(max-width:900px){.manager-booking-dialog{width:min(96vw,760px);max-height:96dvh;padding:16px}.manager-booking-layout{grid-template-columns:1fr;gap:10px}.manual-unit-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.manual-unit-choice{min-height:58px;padding:6px 7px}.manual-unit-choice strong{font-size:11px}.manual-unit-choice b,.manual-unit-choice em{font-size:10px}.manual-unit-choice small,.manual-unit-choice>i{display:none}.manager-booking-fields{gap:6px}.manager-booking-fields input,.manager-booking-fields select,.manager-booking-fields .jalali-date-field{min-height:38px}.manager-booking-dialog header{margin-bottom:6px}.manager-booking-dialog header h2{font-size:23px}}
@media(max-width:560px){.manager-booking-dialog{width:calc(100vw - 12px);padding:12px;max-height:98dvh}.manual-unit-picker__head{align-items:flex-start;gap:4px}.manual-unit-picker__head b{font-size:13px}.manual-unit-picker__head small{font-size:9px}.manual-unit-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.manual-unit-choice{min-height:52px;border-radius:10px}.manual-unit-choice em{display:none}.manager-booking-fields .manager-form-row{grid-template-columns:1fr 1fr}.manager-booking-fields label>span{font-size:10px}.manager-booking-fields input,.manager-booking-fields select,.manager-booking-fields .jalali-date-field{min-height:36px;font-size:12px}.manager-override-actions{grid-template-columns:1fr}.manager-lock-options{grid-template-columns:1fr 1fr}.cleaning-duration-presets{grid-template-columns:repeat(4,1fr)}}


/* ===== Home slider administration ===== */
.home-slider-admin{display:grid;gap:18px}.home-slider-admin__toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.home-slider-admin__toolbar>div{min-width:0}.home-slider-admin__toolbar span{display:block;color:#e2bd51;font-size:13px}.home-slider-admin__toolbar h3{margin:3px 0 5px;color:var(--manager-text,#f5fbfd);font-size:29px}.superadmin-body .home-slider-admin__toolbar h3{color:#fff8df}.home-slider-admin__toolbar p{margin:0;max-width:760px;color:var(--manager-muted,#99afba);font:17px/1.6 var(--font-body)}.home-slider-property-select{display:grid;gap:6px;min-width:240px;color:#9fb4bf;font-size:12px}.home-slider-property-select select{min-height:44px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:#071d2d;color:#eef8fb;padding:0 12px;font-family:var(--font-ui)}.home-slider-property-name{padding:10px 15px;border:1px solid rgba(226,189,81,.22);border-radius:14px;background:rgba(226,189,81,.07);color:#f0d77d;font-size:14px}.home-slider-master{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 17px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(255,255,255,.035)}.home-slider-master>div{display:grid;gap:4px}.home-slider-master b{font-size:16px}.home-slider-master small{color:var(--manager-muted,#93aab5);font:15px/1.5 var(--font-body)}.home-slider-switch{position:relative;display:block;width:64px;height:34px;flex:0 0 auto;cursor:pointer}.home-slider-switch input{position:absolute;opacity:0;pointer-events:none}.home-slider-switch span{position:absolute;inset:0;border-radius:999px;background:#394d58;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:.22s ease}.home-slider-switch span::after{content:"";position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:.22s ease}.home-slider-switch input:checked+span{background:#25a66d;box-shadow:0 0 22px rgba(37,166,109,.24)}.home-slider-switch input:checked+span::after{transform:translateX(-30px)}.home-slider-admin__status{min-height:21px;color:#9fb4bf;font:15px var(--font-body)}.home-slider-admin__status[data-tone="success"]{color:#77dda7}.home-slider-admin__status[data-tone="error"]{color:#ff8d98}.home-slider-slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-slider-slot-card{display:grid;gap:10px;min-width:0;padding:13px;border:1px solid rgba(255,255,255,.085);border-radius:20px;background:rgba(255,255,255,.035);transition:border-color .2s ease,box-shadow .2s ease}.home-slider-slot-card.is-enabled{border-color:rgba(63,207,121,.28);box-shadow:0 12px 30px rgba(0,0,0,.08)}.home-slider-slot-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-slider-slot-head>span{color:#e3c45d;font-weight:700}.home-slider-mini-switch{display:flex;align-items:center;gap:7px;cursor:pointer;color:#9fb4bf;font-size:12px}.home-slider-mini-switch input{position:absolute;opacity:0}.home-slider-mini-switch i{position:relative;width:36px;height:20px;border-radius:999px;background:#3c4d57;transition:.2s ease}.home-slider-mini-switch i::after{content:"";position:absolute;top:3px;right:3px;width:14px;height:14px;border-radius:50%;background:white;transition:.2s ease}.home-slider-mini-switch input:checked+i{background:#25a66d}.home-slider-mini-switch input:checked+i::after{transform:translateX(-16px)}.home-slider-preview{aspect-ratio:16/9;overflow:hidden;border-radius:15px;border:1px solid rgba(255,255,255,.07);background:#051522}.home-slider-preview img{display:block;width:100%;height:100%;object-fit:cover}.home-slider-empty-preview{height:100%;display:grid;place-items:center;align-content:center;gap:4px;color:#8298a5;text-align:center}.home-slider-empty-preview span{font-size:32px;color:#d6b752}.home-slider-empty-preview b{font-size:13px}.home-slider-empty-preview small{font-size:10px}.home-slider-upload-row{display:grid;grid-template-columns:1fr auto;gap:8px}.home-slider-file-button{display:grid;place-items:center;min-height:38px;border:1px dashed rgba(226,189,81,.34);border-radius:11px;background:rgba(226,189,81,.06);color:#e7c95f;font-size:12px;cursor:pointer}.home-slider-file-button input{position:absolute;opacity:0;width:1px;height:1px}.home-slider-remove-image{border:1px solid rgba(255,112,126,.18);border-radius:11px;background:rgba(255,112,126,.06);color:#ff909b;padding:0 11px;font-family:var(--font-ui);font-size:11px;cursor:pointer}.home-slider-remove-image:disabled{opacity:.35;cursor:default}.home-slider-field{display:grid;gap:5px}.home-slider-field>span{color:#9fb4bf;font-size:11px}.home-slider-field input,.home-slider-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#071c2b;color:#eef8fb;padding:9px 10px;font:14px/1.45 var(--font-body);resize:vertical}.home-slider-english{border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:8px 10px}.home-slider-english summary{cursor:pointer;color:#9fb4bf;font-size:11px}.home-slider-english>div{display:grid;gap:9px;padding-top:9px}.home-slider-save{min-height:40px;border:1px solid rgba(54,193,163,.28);border-radius:12px;background:linear-gradient(135deg,rgba(43,187,157,.22),rgba(42,138,183,.16));color:#dffcf5;font-family:var(--font-ui);cursor:pointer}.home-slider-save:disabled{opacity:.55;cursor:wait}.home-slider-slot-status{min-height:17px;color:#9fb4bf;font:13px var(--font-body)}.home-slider-loading{grid-column:1/-1;padding:28px;border:1px dashed rgba(255,255,255,.1);border-radius:18px;color:#9fb4bf;text-align:center}.home-slider-loading.is-error{color:#ff8d98}.manager-body.is-light .home-slider-master,.manager-body.is-light .home-slider-slot-card,.superadmin-body.is-light .home-slider-master,.superadmin-body.is-light .home-slider-slot-card{background:#fff;border-color:rgba(18,69,87,.1)}.manager-body.is-light .home-slider-field input,.manager-body.is-light .home-slider-field textarea,.superadmin-body.is-light .home-slider-field input,.superadmin-body.is-light .home-slider-field textarea,.superadmin-body.is-light .home-slider-property-select select{background:#f7fbfc;color:#173743;border-color:rgba(18,69,87,.12)}.manager-body.is-light .home-slider-admin__toolbar h3,.superadmin-body.is-light .home-slider-admin__toolbar h3{color:#173743}.manager-body.is-light .home-slider-preview,.superadmin-body.is-light .home-slider-preview{background:#eaf2f5;border-color:rgba(18,69,87,.1)}
@media(min-width:761px){.superadmin-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){.home-slider-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-slider-admin__toolbar{align-items:stretch;flex-direction:column}.home-slider-property-select{min-width:0}}
@media(max-width:650px){.home-slider-slot-grid{grid-template-columns:1fr}.home-slider-master{align-items:flex-start}.home-slider-admin__toolbar h3{font-size:24px}.home-slider-admin__toolbar p{font-size:15px}.home-slider-upload-row{grid-template-columns:1fr}.home-slider-remove-image{min-height:38px}}


/* ===== First-screen version / visit panel ===== */
.gallery-anchor{display:block;width:1px;height:1px;position:absolute;left:50%;bottom:0;pointer-events:none;opacity:0}
.site-metrics-overlay{position:absolute;left:50%;bottom:18px;z-index:14;transform:translateX(-50%);width:min(300px,calc(100vw - 32px));pointer-events:none}
.site-metrics-panel{width:100%;padding:10px 11px 11px;border:1px solid rgba(223,178,48,.32);border-radius:23px;background:rgba(3,13,23,.91);backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px);box-shadow:0 12px 30px rgba(0,0,0,.26),inset 0 0 0 1px rgba(255,255,255,.018);direction:rtl}
.site-metrics-version{min-height:28px;display:flex;align-items:center;justify-content:center;gap:7px;margin-bottom:7px;font-family:BYekan,Arial,sans-serif;white-space:nowrap}
.site-metrics-version span{color:#d9e2e8;font-size:13px;font-weight:700}.site-metrics-version strong{color:#f1ca55;font-size:16px;font-weight:800;line-height:1;direction:ltr}
.site-metrics-visits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;direction:rtl}
.site-visit-cell{min-width:0;min-height:47px;padding:5px 4px 4px;border:1px solid rgba(92,119,148,.2);border-radius:12px;background:rgba(7,18,34,.94);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-family:BYekan,Arial,sans-serif}
.site-visit-cell strong{color:#f1c64c;font-size:15px;line-height:1;font-weight:800;direction:ltr;max-width:100%;overflow:hidden;text-overflow:ellipsis}.site-visit-cell small{color:#e9eef2;font:12px/1.05 BMitra,BYekan,sans-serif}
.landing-stage.has-home-slider .site-metrics-overlay{bottom:184px}html[lang="en"] .site-metrics-panel{direction:ltr}html[lang="en"] .site-metrics-visits{direction:ltr}
@media(max-width:760px){.site-metrics-overlay{width:min(268px,calc(100vw - 30px));bottom:13px}.site-metrics-panel{padding:8px 9px 9px;border-radius:20px}.site-metrics-version{min-height:25px;margin-bottom:6px;gap:6px}.site-metrics-version span{font-size:12px}.site-metrics-version strong{font-size:15px}.site-metrics-visits{gap:6px}.site-visit-cell{min-height:43px;border-radius:11px}.site-visit-cell strong{font-size:14px}.site-visit-cell small{font-size:11px}.landing-stage.has-home-slider .site-metrics-overlay{bottom:126px}}


/* ===== Manager module landing ===== */
.manager-home-body{position:relative;min-height:100svh;overflow-x:hidden;background:#03111d}
.manager-home-body::before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(180deg,rgba(3,15,28,.44),rgba(2,13,24,.72)),var(--manager-home-bg-desktop-night);background-position:center;background-size:cover;background-repeat:no-repeat;transition:filter .35s ease,opacity .35s ease}
.manager-home-body.is-light::before{background-image:linear-gradient(180deg,rgba(239,248,250,.62),rgba(224,238,242,.76)),var(--manager-home-bg-desktop-day);filter:saturate(.88) contrast(.96)}
.manager-home-shell{position:relative;z-index:1;width:min(1260px,94vw);margin:0 auto;padding:100px 0 34px}
.manager-home-intro{display:flex;align-items:center;justify-content:center;gap:20px;padding:18px 20px;margin-bottom:13px;border:1px solid rgba(94,210,244,.16);border-radius:24px;background:linear-gradient(135deg,rgba(4,27,45,.82),rgba(4,20,34,.62));box-shadow:0 22px 52px rgba(0,0,0,.2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);text-align:center}.manager-home-intro>div{width:100%;display:grid;justify-items:center}.manager-home-intro span{color:#e7c65c;font-size:13px}.manager-home-intro h1{margin:4px 0 2px;font-size:clamp(25px,2.7vw,38px);color:#f7fbfd}.manager-home-intro p{margin:0;color:#9fb5c0;font:17px/1.5 var(--font-body)}
.manager-home-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-bottom:14px}.manager-home-summary article{position:relative;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon label value";align-items:center;column-gap:8px;min-height:64px;padding:8px 11px;border:1px solid rgba(255,255,255,.09);border-radius:17px;background:linear-gradient(135deg,rgba(6,29,47,.86),rgba(5,23,39,.7));box-shadow:0 12px 28px rgba(0,0,0,.13);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.summary-icon{grid-area:icon;display:grid;place-items:center;width:42px;height:42px;border-radius:13px;font-style:normal;font-size:20px;background:rgba(74,174,218,.14);border:1px solid rgba(84,196,230,.2)}.summary-icon.tone-purple{background:rgba(153,87,238,.15);border-color:rgba(169,107,247,.25)}.summary-icon.tone-cyan{background:rgba(30,186,215,.15);border-color:rgba(49,207,231,.26)}.summary-icon.tone-gold{background:rgba(219,176,47,.15);border-color:rgba(236,194,66,.26)}.summary-icon.tone-teal{background:rgba(35,191,151,.15);border-color:rgba(53,217,175,.26)}.summary-icon.tone-green{background:rgba(52,193,122,.16);border-color:rgba(90,227,155,.25)}
.manager-home-summary span{grid-area:label;color:#c8d7dd;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.manager-home-summary strong{grid-area:value;color:#f2d15e;font-size:22px;line-height:1;direction:ltr}.manager-home-summary small{display:none}
.manager-home-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(1180px,96%);margin-inline:auto}
.manager-home-card{--card-accent:#47d2e5;--card-grad-1:rgba(7,36,53,.96);--card-grad-2:rgba(8,22,39,.92);--card-grad-3:rgba(3,14,26,.96);position:relative;isolation:isolate;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"icon copy arrow";align-items:center;gap:11px;min-height:136px;padding:17px 18px;direction:rtl;border:1px solid color-mix(in srgb,var(--card-accent) 72%,transparent);border-radius:22px;overflow:hidden;background:linear-gradient(135deg,var(--card-grad-1),var(--card-grad-2) 54%,var(--card-grad-3) 100%);color:#f4fbfd;text-align:right;text-decoration:none;font-family:var(--font-ui);cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,255,255,.025);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.manager-home-card:hover{transform:translateY(-3px);border-color:var(--card-accent);box-shadow:0 16px 38px rgba(0,0,0,.23),0 0 22px color-mix(in srgb,var(--card-accent) 16%,transparent)}
.manager-home-card__shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(130deg,rgba(255,255,255,.05),transparent 34%,rgba(0,0,0,.16) 82%)}
.manager-home-card::before{content:"";position:absolute;inset:-25% auto auto -12%;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--card-accent) 28%,transparent),transparent 68%);opacity:.65;pointer-events:none}
.manager-home-card::after{content:"";position:absolute;inset:auto -6% -30% auto;width:160px;height:160px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--card-accent) 15%,transparent),transparent 72%);pointer-events:none;z-index:-1}
.manager-home-card__icon{grid-area:icon;display:grid;place-items:center;width:61px;height:61px;border-radius:50%;border:1px solid color-mix(in srgb,var(--card-accent) 54%,transparent);background:color-mix(in srgb,var(--card-accent) 18%,rgba(4,16,28,.82));box-shadow:inset 0 0 18px rgba(255,255,255,.035),0 0 18px color-mix(in srgb,var(--card-accent) 10%,transparent);font-size:28px;line-height:1}
.manager-home-card__copy{grid-area:copy;min-width:0;display:grid;gap:5px;text-align:right;justify-self:stretch}.manager-home-card__copy strong{font-size:25px;line-height:1.25;color:#fff}.manager-home-card__copy small{color:#b8c9d1;font:16px/1.35 var(--font-body);white-space:normal}.manager-home-card__arrow{grid-area:arrow;justify-self:start;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid color-mix(in srgb,var(--card-accent) 42%,transparent);background:color-mix(in srgb,var(--card-accent) 11%,rgba(4,16,28,.74));color:#fff;font-size:30px;line-height:1}
.manager-home-card__badge{position:absolute;top:11px;right:11px;z-index:2;display:grid;place-items:center;min-width:31px;height:31px;padding:0 8px;border:2px solid rgba(255,255,255,.72);border-radius:999px;background:#f33861;color:#fff;font-size:13px;box-shadow:0 0 16px rgba(243,56,97,.45)}
.manager-home-card.tone-stay{--card-accent:#f4d655;--card-grad-1:rgba(66,53,13,.95);--card-grad-2:rgba(14,38,54,.92);--card-grad-3:rgba(4,18,31,.96)}.manager-home-card.tone-restaurant{--card-accent:#39d8ee;--card-grad-1:rgba(10,61,77,.95);--card-grad-2:rgba(8,34,49,.92);--card-grad-3:rgba(4,19,31,.96)}.manager-home-card.tone-reservation{--card-accent:#c878ff;--card-grad-1:rgba(61,26,79,.95);--card-grad-2:rgba(19,30,57,.92);--card-grad-3:rgba(7,17,32,.96)}.manager-home-card.tone-requests{--card-accent:#30d5d5;--card-grad-1:rgba(11,67,71,.95);--card-grad-2:rgba(9,33,47,.92);--card-grad-3:rgba(4,19,31,.96)}.manager-home-card.tone-staff{--card-accent:#4fbcff;--card-grad-1:rgba(14,58,90,.95);--card-grad-2:rgba(12,34,53,.92);--card-grad-3:rgba(4,17,31,.96)}.manager-home-card.tone-warehouse{--card-accent:#f1c951;--card-grad-1:rgba(68,54,15,.95);--card-grad-2:rgba(17,34,50,.92);--card-grad-3:rgba(5,18,31,.96)}.manager-home-card.tone-users{--card-accent:#c06dff;--card-grad-1:rgba(58,26,79,.95);--card-grad-2:rgba(16,31,54,.92);--card-grad-3:rgba(6,16,31,.96)}.manager-home-card.tone-messages{--card-accent:#ff5777;--card-grad-1:rgba(78,20,44,.95);--card-grad-2:rgba(28,26,49,.92);--card-grad-3:rgba(8,17,32,.96)}.manager-home-card.tone-reports{--card-accent:#36dbc6;--card-grad-1:rgba(10,73,65,.95);--card-grad-2:rgba(7,34,48,.92);--card-grad-3:rgba(4,19,30,.96)}
.manager-home-footer{display:flex;align-items:center;justify-content:center;gap:13px;margin:22px auto 0;padding:12px 16px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(4,19,32,.68);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#d9c274}.manager-home-footer i{width:1px;height:18px;background:rgba(255,255,255,.15)}.manager-home-footer small{color:#8ea5b0;font:14px var(--font-body)}
.manager-home-soon-dialog{width:min(480px,calc(100vw - 28px));padding:26px 24px 22px;border:1px solid rgba(229,190,74,.22);border-radius:26px;background:linear-gradient(180deg,#092337,#061827);color:#eef8fb;text-align:center;box-shadow:0 34px 90px rgba(0,0,0,.48)}.manager-home-soon-dialog::backdrop{background:rgba(0,8,14,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.manager-home-soon-icon{display:grid;place-items:center;width:66px;height:66px;margin:5px auto 12px;border:1px solid rgba(229,190,74,.3);border-radius:22px;background:rgba(229,190,74,.08);color:#f1cf67;font-size:28px}.manager-home-soon-dialog>span{color:#d7b94e;font-size:12px}.manager-home-soon-dialog h2{margin:5px 0 8px;color:#f7fbfd;font-size:23px}.manager-home-soon-dialog p{margin:0 auto 18px;max-width:380px;color:#9cb2bd;font:17px/1.65 var(--font-body)}.manager-home-soon-confirm{min-width:160px;min-height:44px;border:1px solid rgba(68,213,191,.28);border-radius:14px;background:linear-gradient(135deg,rgba(45,190,168,.25),rgba(36,126,175,.18));color:#e8fffb;font-family:var(--font-ui);cursor:pointer}
.manager-home-body.is-light .manager-home-intro,.manager-home-body.is-light .manager-home-summary article,.manager-home-body.is-light .manager-home-footer{background:rgba(248,252,253,.82);border-color:rgba(25,93,112,.12);box-shadow:0 14px 34px rgba(18,61,75,.08)}.manager-home-body.is-light .manager-home-intro h1{color:#173642}.manager-home-body.is-light .manager-home-intro p,.manager-home-body.is-light .manager-home-summary small,.manager-home-body.is-light .manager-home-footer small{color:#5e7884}.manager-home-body.is-light .manager-home-summary span{color:#375664}.manager-home-body.is-light .manager-home-summary strong{color:#9a7410}.manager-home-body.is-light .manager-home-card{color:#17333f;border-color:color-mix(in srgb,var(--card-accent) 60%,rgba(29,83,98,.12));box-shadow:0 13px 30px rgba(14,56,72,.12);background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 12%,rgba(255,255,255,.97)),rgba(244,250,251,.95) 58%,rgba(235,245,248,.96) 100%)}.manager-home-body.is-light .manager-home-card__shade{background:linear-gradient(140deg,rgba(255,255,255,.34),transparent 38%,rgba(207,228,235,.25) 100%)}.manager-home-body.is-light .manager-home-card__copy strong{color:#17333f}.manager-home-body.is-light .manager-home-card__copy small{color:#506b77}.manager-home-body.is-light .manager-home-card__arrow{color:#214957;background:rgba(255,255,255,.56)}.manager-home-body.is-light .manager-home-card__icon{background:color-mix(in srgb,var(--card-accent) 13%,rgba(255,255,255,.88))}.manager-home-body.is-light .manager-home-footer{color:#80671a}

@media(max-width:980px){.manager-overview-head,.superadmin-overview-head{align-items:flex-start;flex-direction:column}.manager-overview-head__aside{width:100%;justify-items:end}.manager-overview-head p,.superadmin-overview-head p{text-align:right;max-width:none}.manager-back-button{width:auto}}
@media(max-width:760px){
  .manager-home-body::before{background-image:linear-gradient(180deg,rgba(3,15,28,.52),rgba(2,13,24,.79)),var(--manager-home-bg-mobile-night);background-position:center top}
  .manager-home-body.is-light::before{background-image:linear-gradient(180deg,rgba(239,248,250,.65),rgba(224,238,242,.82)),var(--manager-home-bg-mobile-day)}
  .manager-home-shell{width:94vw;padding:84px 0 22px}.manager-home-intro,.manager-home-summary,.manager-home-menu,.manager-home-footer{width:100%}
  .manager-home-intro{padding:13px 14px;border-radius:19px;margin-bottom:9px}.manager-home-intro span{font-size:10px}.manager-home-intro h1{font-size:21px}.manager-home-intro p{font-size:14px}
  .manager-home-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-bottom:9px}.manager-home-summary article{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon label" "value meta";align-items:center;row-gap:2px;column-gap:4px;min-height:48px;padding:4px 5px;text-align:right;border-radius:12px;direction:ltr}.summary-icon{width:24px;height:24px;border-radius:8px;font-size:12px}.manager-home-summary span{font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;justify-self:end;text-align:right;direction:rtl}.manager-home-summary strong{font-size:14px;justify-self:start}.manager-home-summary small{display:none}
  .manager-home-menu{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:100%}.manager-home-card{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy arrow";align-items:center;gap:4px;min-height:86px;padding:8px 6px;border-radius:15px;text-align:right;direction:rtl}.manager-home-card__shade{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(3,14,25,.18) 40%,rgba(3,14,25,.12) 100%)}.manager-home-card__icon{width:33px;height:33px;font-size:15px}.manager-home-card__copy{justify-items:start;gap:1px;text-align:right}.manager-home-card__copy strong{font-size:13px}.manager-home-card__copy small{max-width:100%;font-size:8px;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.manager-home-card__arrow{display:grid;width:25px;height:25px;font-size:18px}.manager-home-card__badge{top:6px;right:6px;min-width:24px;height:24px;padding:0 5px;border-width:1px;font-size:10px}.manager-home-body.is-light .manager-home-card__shade{background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(239,247,249,.14) 100%)}
  .manager-home-footer{margin-top:9px;padding:9px 10px;border-radius:14px}.manager-home-footer span{font-size:12px}.manager-home-footer small{font-size:11px}
  .manager-home-soon-dialog{padding:22px 16px 18px;border-radius:22px}.manager-home-soon-dialog h2{font-size:20px}.manager-home-soon-dialog p{font-size:15px}
}


/* ===== Manager mobile polish v16.5.16 ===== */
:root{--dashboard-safe-top:env(safe-area-inset-top,0px)}
.dashboard-global-header{height:calc(76px + var(--dashboard-safe-top));padding-top:var(--dashboard-safe-top)}
.dashboard-header-brand{height:60px;max-width:min(340px,46vw)}
.manager-shell,.superadmin-shell{padding-top:calc(104px + var(--dashboard-safe-top))}
.manager-home-shell{padding-top:calc(100px + var(--dashboard-safe-top))}

@media(max-width:760px) and (display-mode:standalone){
  :root{--dashboard-safe-top:max(env(safe-area-inset-top,0px),24px)}
}

@media(max-width:760px){
  .dashboard-global-header{height:calc(68px + var(--dashboard-safe-top));padding-top:var(--dashboard-safe-top)}
  .dashboard-header-brand{height:48px;max-width:min(220px,52vw)}
  .manager-shell,.superadmin-shell{padding-top:calc(90px + var(--dashboard-safe-top))}

  .manager-home-shell{
    width:94vw;
    min-height:100svh;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    padding:calc(84px + var(--dashboard-safe-top)) 0 calc(14px + env(safe-area-inset-bottom,0px));
  }
  .manager-home-intro,.manager-home-summary,.manager-home-menu,.manager-home-footer{width:100%}

  .manager-home-summary{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:4px;
    margin-bottom:11px;
  }
  .manager-home-summary article{
    min-width:0;
    min-height:50px;
    padding:6px 6px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:3px;
    direction:rtl;
    border-radius:12px;
  }
  .manager-home-summary .summary-icon{display:none}
  .manager-home-summary span{
    min-width:0;
    font-size:8px;
    line-height:1.25;
    text-align:right;
    direction:rtl;
    white-space:normal;
    overflow:visible;
    text-overflow:clip;
  }
  .manager-home-summary strong{
    flex:0 0 auto;
    justify-self:auto;
    font-size:15px;
    line-height:1;
    direction:ltr;
    text-align:left;
  }
  .manager-home-summary small{display:none}

  .manager-home-menu{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px 7px;
    width:100%;
    margin-inline:auto;
  }
  .manager-home-card{
    grid-template-columns:1fr;
    grid-template-rows:auto auto;
    grid-template-areas:"icon" "copy";
    justify-items:center;
    align-content:center;
    gap:9px;
    min-height:132px;
    padding:12px 7px 11px;
    border-radius:17px;
    text-align:center;
  }
  .manager-home-card__icon{
    width:50px;
    height:50px;
    font-size:22px;
  }
  .manager-home-card__copy{
    width:100%;
    display:grid;
    place-items:center;
    justify-self:center;
    text-align:center;
  }
  .manager-home-card__copy strong{
    display:block;
    width:100%;
    margin:0 auto;
    font-size:17px;
    line-height:1.3;
    text-align:center;
  }
  .manager-home-card__copy small{display:none}
  .manager-home-card__arrow{display:none}
  .manager-home-card__badge{
    top:6px;
    right:6px;
    min-width:25px;
    height:25px;
    padding:0 5px;
    border-width:1px;
    font-size:10px;
  }

  .manager-home-footer{
    margin-top:auto;
    margin-bottom:0;
    padding:9px 10px;
    border-radius:14px;
  }
}

@media(max-width:420px){
  .manager-home-menu{gap:7px 6px}
  .manager-home-card{min-height:126px;padding:10px 5px}
  .manager-home-card__icon{width:47px;height:47px;font-size:20px}
  .manager-home-card__copy strong{font-size:16px;text-align:center}
  .manager-home-summary{gap:3px}
  .manager-home-summary article{padding:5px 4px}
  .manager-home-summary span{font-size:7.4px}
  .manager-home-summary strong{font-size:14px}
}

/* ===== Manager settings ===== */
.manager-settings-body{background:radial-gradient(circle at 12% 0,rgba(31,153,181,.14),transparent 28%),radial-gradient(circle at 88% 4%,rgba(225,184,66,.09),transparent 24%),linear-gradient(180deg,#061827,#03111d 70%,#020b13)}
.manager-settings-shell{width:min(1420px,95vw);margin:0 auto;padding:104px 0 72px}
.manager-settings-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.manager-settings-head>div{min-width:0}.manager-settings-head span,.manager-settings-panel-head span{color:#e2bd51;font-size:13px}.manager-settings-head h1{margin:3px 0 4px;color:var(--manager-text);font-size:clamp(30px,3vw,42px)}.manager-settings-head p,.manager-settings-panel-head p{margin:0;color:var(--manager-muted);font:17px/1.65 var(--font-body)}.manager-settings-back{min-width:110px;min-height:43px;display:grid;place-items:center;border:1px solid rgba(255,99,117,.25);border-radius:13px;background:linear-gradient(145deg,rgba(114,18,31,.94),rgba(157,34,48,.9));color:#fff;text-decoration:none;font-size:13px}
.manager-settings-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}.manager-settings-nav button{--settings-accent:#53d5e8;min-width:0;min-height:86px;display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:11px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--settings-accent) 22%,var(--manager-line));border-radius:19px;background:linear-gradient(135deg,color-mix(in srgb,var(--settings-accent) 5%,var(--manager-card)),color-mix(in srgb,var(--settings-accent) 10%,var(--manager-card)));color:var(--manager-text);font-family:var(--font-ui);text-align:right;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.manager-settings-nav button:nth-child(2){--settings-accent:#be74ff}.manager-settings-nav button:nth-child(3){--settings-accent:#f0ca55}.manager-settings-nav button:nth-child(4){--settings-accent:#43d78a}.manager-settings-nav button:hover,.manager-settings-nav button.is-active{border-color:color-mix(in srgb,var(--settings-accent) 58%,transparent);box-shadow:inset -3px 0 0 var(--settings-accent),0 12px 28px rgba(0,0,0,.1);transform:translateY(-1px)}.manager-settings-nav i{width:43px;height:43px;display:grid;place-items:center;border-radius:13px;background:color-mix(in srgb,var(--settings-accent) 12%,transparent);color:var(--settings-accent);font-style:normal;font-size:20px}.manager-settings-nav span{min-width:0;display:grid;gap:3px}.manager-settings-nav b{font-size:15px}.manager-settings-nav small{color:var(--manager-muted);font:13px/1.25 var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-settings-panel{padding:20px;border:1px solid var(--manager-line);border-radius:25px;background:color-mix(in srgb,var(--manager-panel) 96%,transparent);box-shadow:0 22px 50px rgba(0,0,0,.13)}.manager-settings-panel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:17px}.manager-settings-panel-head h2{margin:2px 0 4px;color:var(--manager-text);font-size:29px}.manager-settings-panel-head>b{padding:8px 12px;border:1px solid rgba(70,201,221,.18);border-radius:12px;background:rgba(70,201,221,.07);color:#83ddec;font-size:13px}.unit-settings-status{min-height:22px;margin-bottom:7px;color:#8fa7b3;font:14px var(--font-body)}.unit-settings-status[data-tone="success"]{color:#77dda7}.unit-settings-status[data-tone="error"]{color:#ff8d98}
.unit-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.unit-settings-card{display:grid;gap:12px;min-width:0;padding:14px;border:1px solid rgba(255,255,255,.085);border-radius:21px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.018));box-shadow:0 12px 30px rgba(0,0,0,.07)}.unit-settings-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.unit-settings-card-head>div{min-width:0}.unit-settings-card-head span{color:#e2bd51;font-size:11px}.unit-settings-card-head h3{margin:2px 0 0;color:var(--manager-text);font-size:20px}.unit-settings-card-head>b{flex:0 0 auto;padding:6px 10px;border:1px solid rgba(66,203,174,.18);border-radius:11px;background:rgba(66,203,174,.07);color:#75dec3;font-size:12px}
.unit-settings-media-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.unit-settings-media-item,.unit-settings-media-add{position:relative;aspect-ratio:1.3/1;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#051522}.unit-settings-media-item img{width:100%;height:100%;display:block;object-fit:cover}.unit-settings-media-item>button{position:absolute;top:5px;left:5px;width:25px;height:25px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(101,17,31,.88);color:#fff;font-size:18px;line-height:1;cursor:pointer}.unit-settings-media-item>span{position:absolute;right:5px;bottom:5px;padding:2px 6px;border-radius:7px;background:rgba(1,12,20,.75);color:#d6e6eb;font-size:9px}.unit-settings-media-item.is-pending{border-color:rgba(226,189,81,.34)}.unit-settings-media-item.is-pending>span{color:#f2d369}
.unit-settings-video{display:grid;gap:10px;border:1px solid rgba(226,189,81,.20);border-radius:17px;padding:13px;background:rgba(226,189,81,.035)}
.unit-settings-video-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:5px}
.unit-settings-video-heading>b{font:700 16px var(--font-ui);color:var(--manager-text)}
.unit-settings-video-heading>small,.unit-settings-video>small{font:13px/1.6 var(--font-body);color:#a9bac7}
.unit-settings-video-preview{display:grid;gap:8px;justify-items:start}
.unit-settings-video-preview[hidden]{display:none}
.unit-settings-video-preview video{width:100%;max-height:220px;object-fit:contain;border-radius:12px;background:#020c16}
.unit-settings-video-preview button{padding:8px 14px;border-radius:11px;border:1px solid rgba(255,110,126,.34);background:rgba(140,37,50,.13);color:#ff9dab;font:700 12px var(--font-ui);cursor:pointer}
.unit-settings-video-upload{position:relative;display:grid;place-items:center;min-height:50px;border:1px dashed rgba(226,189,81,.45);border-radius:12px;background:rgba(226,189,81,.07);color:#f0d269;cursor:pointer;font:700 14px var(--font-ui)}
.unit-settings-video-upload:focus-within{outline:2px solid #e8c15b;outline-offset:2px}
.unit-settings-video-upload input{position:absolute;width:1px;height:1px;opacity:0}
.manager-body.is-light .unit-settings-video{border-color:rgba(149,111,22,.27);background:rgba(224,174,44,.05)}
.manager-body.is-light .unit-settings-video-heading>b{color:#1a3d4d}
.manager-body.is-light .unit-settings-video-heading>small,.manager-body.is-light .unit-settings-video>small{color:#617987}
.unit-settings-media-add{display:grid;place-items:center;align-content:center;gap:2px;border-style:dashed;border-color:rgba(226,189,81,.35);background:rgba(226,189,81,.045);color:#e7c95f;cursor:pointer;text-align:center}.unit-settings-media-add input{position:absolute;width:1px;height:1px;opacity:0}.unit-settings-media-add>span{font-size:24px;line-height:1}.unit-settings-media-add>b{font-size:10px}.unit-settings-media-add small{color:#829aa7;font-size:9px}.unit-settings-media-add small b{color:#e7c95f}
.unit-settings-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.unit-settings-field{display:grid;align-content:start;gap:5px;min-width:0}.unit-settings-field.is-wide{grid-column:1/-1}.unit-settings-field>span{color:#9fb4bf;font-size:11px}.unit-settings-field input,.unit-settings-field textarea{width:100%;box-sizing:border-box;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:#071c2b;color:#eef8fb;padding:9px 10px;font:14px/1.55 var(--font-body);outline:0;resize:vertical}.unit-settings-field input:focus,.unit-settings-field textarea:focus{border-color:rgba(65,205,226,.34);box-shadow:0 0 0 3px rgba(65,205,226,.055)}.unit-settings-field small{color:#6f8996;font:12px/1.35 var(--font-body)}.unit-settings-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.unit-settings-save-row>span{min-height:20px;color:#75d9c0;font:13px var(--font-body)}.unit-settings-save-row>button{min-width:160px;min-height:40px;border:1px solid rgba(54,193,163,.28);border-radius:12px;background:linear-gradient(135deg,rgba(43,187,157,.22),rgba(42,138,183,.16));color:#dffcf5;font-family:var(--font-ui);cursor:pointer}.unit-settings-save-row>button:disabled{opacity:.5;cursor:wait}.unit-settings-loading{grid-column:1/-1;padding:30px;border:1px dashed rgba(255,255,255,.1);border-radius:18px;color:#9fb4bf;text-align:center}.unit-settings-loading.is-error{color:#ff8d98}
.settings-meal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.settings-meal-grid article{min-height:125px;display:grid;place-items:center;align-content:center;gap:7px;border:1px solid rgba(255,255,255,.08);border-radius:19px;background:linear-gradient(145deg,rgba(226,189,81,.06),rgba(50,185,206,.035));text-align:center}.settings-meal-grid i{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(226,189,81,.09);color:#e7c95f;font-style:normal;font-size:20px}.settings-meal-grid strong{font-size:16px}.settings-meal-grid small{color:var(--manager-muted);font:13px var(--font-body)}.settings-coming-note{margin-top:14px;padding:15px;border:1px dashed rgba(226,189,81,.18);border-radius:15px;background:rgba(226,189,81,.035);color:#b6a66f;text-align:center;font:15px var(--font-body)}
.manager-body.is-light .manager-settings-panel,.manager-body.is-light .unit-settings-card,.manager-body.is-light .manager-settings-nav button{background:#fff;border-color:rgba(18,69,87,.1)}.manager-body.is-light .unit-settings-field input,.manager-body.is-light .unit-settings-field textarea{background:#f7fbfc;color:#173743;border-color:rgba(18,69,87,.12)}.manager-body.is-light .manager-settings-head h1,.manager-body.is-light .manager-settings-panel-head h2,.manager-body.is-light .unit-settings-card-head h3{color:#173743}.manager-body.is-light .unit-settings-media-item{background:#eaf2f5;border-color:rgba(18,69,87,.1)}
.unit-amenities-list{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.unit-amenities-list span{padding:5px 9px;border:1px solid rgba(62,194,213,.16);border-radius:999px;background:rgba(62,194,213,.055);color:#a9dbe3;font:12px var(--font-body)}
@media(max-width:1050px){.unit-settings-grid{grid-template-columns:1fr}.manager-settings-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-meal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.manager-settings-shell{width:94vw;padding-top:calc(82px + env(safe-area-inset-top,0px));padding-bottom:34px}.manager-settings-head{align-items:flex-start;flex-direction:column}.manager-settings-head h1{font-size:29px}.manager-settings-back{min-width:96px;min-height:39px;align-self:flex-start}.manager-settings-nav{grid-template-columns:1fr 1fr;gap:6px}.manager-settings-nav button{min-height:68px;grid-template-columns:36px minmax(0,1fr);gap:7px;padding:8px;border-radius:15px}.manager-settings-nav i{width:34px;height:34px;border-radius:10px;font-size:16px}.manager-settings-nav b{font-size:12px}.manager-settings-nav small{font-size:10px}.manager-settings-panel{padding:12px;border-radius:20px}.manager-settings-panel-head{align-items:flex-start;flex-direction:column}.manager-settings-panel-head h2{font-size:24px}.manager-settings-panel-head p{font-size:15px}.unit-settings-card{padding:10px;border-radius:17px}.unit-settings-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.unit-settings-field-grid{grid-template-columns:1fr}.unit-settings-field.is-wide{grid-column:auto}.unit-settings-save-row{align-items:stretch;flex-direction:column}.unit-settings-save-row>button{width:100%}.settings-meal-grid{grid-template-columns:1fr 1fr;gap:6px}.settings-meal-grid article{min-height:100px}.unit-amenities-list span{font-size:11px}}

/* ===== Reservation modal + calendar redesign v16.5.23 ===== */
.unit-detail-dialog{
  width:min(1360px,calc(100vw - 24px));
  max-height:min(930px,95dvh);
  padding:24px 24px 18px;
  border-radius:30px;
  overflow:hidden;
  border:1px solid rgba(77,198,236,.18);
  background:
    radial-gradient(circle at 18% 18%, rgba(46,171,230,.13), transparent 34%),
    radial-gradient(circle at 82% 92%, rgba(229,196,86,.12), transparent 30%),
    linear-gradient(145deg,#061c2f 0%,#08253b 40%,#051827 100%);
  box-shadow:0 35px 100px rgba(0,0,0,.58),0 0 0 1px rgba(77,198,236,.07) inset;
}
.unit-detail-dialog::after,.jalali-date-dialog::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(67,225,232,.08),0 0 0 1px rgba(67,225,232,.08);
}
.dialog-x.dialog-x--bare{
  top:14px;left:16px;width:auto;height:auto;border:0;border-radius:0;background:transparent;box-shadow:none;
  font-size:52px;color:#ff5f89;padding:0 6px;line-height:1;
}
.dialog-x.dialog-x--bare:hover{background:transparent;box-shadow:none;transform:scale(1.04);color:#ff799a}
.unit-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,1.14fr) minmax(0,.86fr);
  gap:18px;
  align-items:stretch;
  min-height:0;
}
.unit-info-panel--reservation{padding:4px 0 0;gap:12px;align-self:start}
.unit-info-title--hero{text-align:center;padding:4px 56px 0 56px}
.unit-info-title--hero span{display:block;font-size:20px;color:#e8b954;margin-bottom:4px}
.unit-info-title--hero h2{margin:0;color:#fff1c4;font-size:74px;line-height:1.02;font-family:Nas,sans-serif;font-weight:400;text-shadow:0 10px 30px rgba(0,0,0,.28)}
.unit-info-title--hero small{display:block;margin-top:8px;font-size:24px;color:#dbe4ea;font-family:var(--font-body)}
.unit-hero-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;direction:rtl}
.unit-hero-card{
  min-height:110px;padding:16px 18px;border-radius:22px;display:flex;align-items:center;gap:14px;
  border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
}
.unit-hero-card__icon{width:54px;height:54px;flex:0 0 54px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:rgba(255,255,255,.10)}
.unit-hero-card strong{display:block;font-size:38px;line-height:1.12;color:#fff}
.unit-hero-card small{display:block;margin-top:4px;font-size:20px;color:#d3e0e7;font-family:var(--font-body)}
.unit-hero-card.is-bed{background:linear-gradient(145deg,rgba(140,83,214,.22),rgba(40,26,88,.18));border-color:rgba(208,145,255,.35)}
.unit-hero-card.is-bed .unit-hero-card__icon{background:radial-gradient(circle at 35% 35%,rgba(255,211,255,.3),rgba(196,110,255,.22));color:#f0caff}
.unit-hero-card.is-price{background:linear-gradient(145deg,rgba(205,166,47,.24),rgba(98,72,10,.16));border-color:rgba(243,212,105,.32)}
.unit-hero-card.is-price .unit-hero-card__icon{background:radial-gradient(circle at 35% 35%,rgba(255,239,176,.35),rgba(231,191,74,.22));color:#ffe18d}
.unit-hero-card.is-family{background:linear-gradient(145deg,rgba(35,149,229,.20),rgba(8,63,105,.16));border-color:rgba(90,203,255,.28)}
.unit-hero-card.is-family .unit-hero-card__icon{background:radial-gradient(circle at 35% 35%,rgba(193,241,255,.35),rgba(83,193,255,.2));color:#a6e7ff}
.unit-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 6px}
.unit-section-head b{font-size:29px;color:#f6f8fa}
.unit-section-head span{font:18px/1.5 var(--font-body);color:#a4b6c2}
.unit-amenity-shell{padding:14px 14px 12px;border-radius:24px;background:rgba(0,16,28,.24);border:1px solid rgba(86,203,236,.18)}
.unit-amenities-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:12px}
.amenity-chip{min-height:108px;padding:10px 8px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(7,44,69,.84),rgba(7,32,50,.88));border:1px solid rgba(83,192,234,.22);display:grid;justify-items:center;align-content:center;gap:8px;text-align:center}
.amenity-chip__icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(105,203,255,.12);color:#aee8ff;font-size:24px}
.amenity-chip b{font-size:22px;line-height:1.25;color:#eef8ff;font-family:var(--font-body)}
.availability-card--inline{padding:13px 16px;border-radius:18px;border:1px solid rgba(78,220,140,.18);background:rgba(38,144,86,.08);display:grid;gap:4px}
.availability-card--inline strong{font-size:21px;color:#c3ffd4}
.availability-card--inline span{font:18px/1.6 var(--font-body);color:#cae3d3}
.availability-card--inline.is-later{border-color:rgba(226,188,74,.18);background:rgba(226,188,74,.08)}
.availability-card--inline.is-later strong{color:#ffe5a5}.availability-card--inline.is-later span{color:#f0dfbc}
.availability-card--inline.is-blocked{border-color:rgba(196,137,255,.18);background:rgba(129,84,198,.09)}
.availability-card--inline.is-blocked strong{color:#f0d5ff}.availability-card--inline.is-blocked span{color:#e1cff0}
.booking-form--immersive{margin-top:0;padding-top:0;border-top:0;display:grid;gap:12px}
.booking-date-grid--three{grid-template-columns:minmax(0,1fr) 210px minmax(0,1fr);gap:12px;align-items:stretch}
.booking-date-grid--three label{display:grid;gap:6px}
.booking-stay-pill{
  padding:12px 14px;border-radius:20px;align-self:end;min-height:86px;display:grid;place-items:center;text-align:center;
  border:1px solid rgba(78,221,139,.28);background:linear-gradient(180deg,rgba(21,96,73,.28),rgba(8,65,52,.34));
}
.booking-stay-pill span{font-size:18px;color:#c7ffe0}.booking-stay-pill strong{font-size:48px;color:#68f0aa;line-height:1}
.booking-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;direction:rtl}
.booking-count-card,.booking-price-card{min-height:144px;padding:16px 18px;border-radius:22px;border:1px solid rgba(255,255,255,.10);display:grid;align-content:space-between}
.booking-count-card--standard{background:linear-gradient(145deg,rgba(5,77,122,.45),rgba(5,38,65,.45));border-color:rgba(90,205,255,.24)}
.booking-count-card--extra{background:linear-gradient(145deg,rgba(80,41,126,.35),rgba(40,23,75,.34));border-color:rgba(210,149,255,.2)}
.booking-count-card--extra.is-disabled{opacity:.78;filter:saturate(.85)}
.booking-price-card{background:linear-gradient(145deg,rgba(12,117,76,.42),rgba(4,56,40,.36));border-color:rgba(92,240,171,.23)}
.booking-count-card__head strong,.booking-price-card__head strong{display:block;font-size:30px;color:#fff}.booking-count-card__head small,.booking-price-card__head small{display:block;margin-top:5px;font:18px/1.5 var(--font-body);color:#d1dae0}
.booking-counter{display:grid;grid-template-columns:56px 1fr 56px;gap:12px;align-items:center;direction:ltr}
.booking-counter__button{height:56px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.06);color:#f3d67a;font-family:var(--font-ui);font-size:40px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,opacity .18s ease,box-shadow .18s ease}
.booking-counter__button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(247,209,97,.38);box-shadow:0 12px 26px rgba(0,0,0,.18)}
.booking-counter__button:disabled{opacity:.36;cursor:not-allowed}
.booking-counter__value{display:grid;place-items:center;min-height:58px;border-radius:18px;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07);font-size:56px;line-height:1;color:#fff8dd}
.booking-price-card__head{display:grid;gap:4px}.booking-price-card b{font-size:56px;line-height:1.08;color:#7affbb;display:block}
.booking-price-card.is-updating{animation:pricePulse .42s ease}
.booking-notes-field textarea{min-height:84px;border-radius:18px;font-size:18px}
.booking-form-actions{display:flex;justify-content:center;align-items:center;gap:16px;padding-top:2px}
.reservation-secondary{min-height:56px;padding:0 26px;border:0;border-radius:18px;background:linear-gradient(145deg,#8b2631,#c33d54);color:#fff2f4;font-family:var(--font-ui);font-size:24px;box-shadow:0 16px 34px rgba(0,0,0,.2);cursor:pointer;transition:transform .18s ease,filter .18s ease}
.reservation-secondary:hover{transform:translateY(-1px);filter:brightness(1.06)}
.reservation-primary--half{min-width:min(50%,430px);padding-inline:34px;font-size:25px;min-height:58px}
.form-status{font-size:18px;min-height:28px}.form-status.is-hint{color:#9ad9ff}.form-status.is-warning{color:#ffd891}
.unit-gallery-panel--reservation{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;min-width:0;align-self:start}
.unit-gallery-main{min-height:560px;border-radius:24px;background:#06131e;border:1px solid rgba(255,255,255,.08);position:relative;overflow:hidden}
.unit-gallery-main img{min-height:560px;object-fit:cover}
.unit-gallery-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:54px;height:54px;border:0;border-radius:50%;background:rgba(19,29,41,.65);color:#fff;font-size:48px;line-height:1;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(8px)}
.unit-gallery-nav.is-prev{left:16px}.unit-gallery-nav.is-next{right:16px}
.unit-gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:0;overflow:visible}
.unit-gallery-thumbs button{width:100%;height:96px;min-width:0;border-radius:16px;border:2px solid rgba(255,255,255,.08);background:#071b29;position:relative;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.unit-gallery-thumbs button.is-active{border-color:#f2cf62;box-shadow:0 0 0 1px rgba(242,207,98,.24),0 12px 26px rgba(0,0,0,.18)}
.unit-gallery-thumbs button:hover{transform:translateY(-1px);border-color:rgba(95,210,255,.4)}
.unit-gallery-thumbs img{width:100%;height:100%;object-fit:cover}
.jalali-date-dialog{
  width:min(660px,calc(100vw - 28px));padding:28px 22px 22px;border-radius:34px;overflow:hidden;
  border:1px solid rgba(89,225,230,.16);
  background:
    radial-gradient(circle at 20% 10%, rgba(76,225,230,.12), transparent 36%),
    radial-gradient(circle at 80% 90%, rgba(67,168,111,.15), transparent 30%),
    linear-gradient(150deg,#082438 0%,#061b2c 50%,#041522 100%);
}
.jalali-date-dialog:hover{box-shadow:0 32px 96px rgba(0,0,0,.6),0 0 0 1px rgba(76,225,230,.14) inset,0 0 28px rgba(76,225,230,.14)}
.jalali-picker-head{grid-template-columns:74px 1fr 74px;gap:14px;margin:26px 0 18px}
.jalali-picker-head strong{font-size:44px;color:#fff1c8}
.jalali-picker-head button,.jalali-picker-actions button{height:54px;border-radius:18px;border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.055);color:#e7f5fa;font-size:28px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.jalali-picker-head button:hover,.jalali-picker-actions button:hover{transform:translateY(-1px);border-color:rgba(90,225,230,.32);box-shadow:0 0 0 1px rgba(90,225,230,.08),0 12px 26px rgba(0,0,0,.18)}
.jalali-weekdays,.jalali-days{gap:10px}
.jalali-weekdays span{font-size:18px;color:#b9d1dc;padding:8px 0 6px;border-bottom:1px dashed rgba(255,255,255,.06)}
.jalali-weekdays .is-friday{color:#ffb8bd;display:grid;place-items:center}.jalali-weekdays .is-friday::after{content:"";width:54px;height:32px;border:1px solid rgba(255,98,119,.42);border-radius:999px;position:absolute;opacity:.9}
.jalali-weekdays .is-friday{position:relative}
.jalali-day{min-height:72px;aspect-ratio:auto;border-radius:18px;background:rgba(255,255,255,.038);font-size:28px;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease;border:1px solid transparent}
.jalali-day:hover:not(:disabled){transform:translateY(-1px);background:rgba(71,201,223,.12);border-color:rgba(71,201,223,.16)}
.jalali-day.is-today{box-shadow:inset 0 0 0 1px rgba(228,193,86,.65),0 0 0 1px rgba(228,193,86,.2);color:#ffe58f}
.jalali-day.is-selected{background:linear-gradient(145deg,#3abe72,#75e3a0);color:#072133;font-weight:700;box-shadow:0 14px 28px rgba(38,149,97,.18)}
.jalali-day.is-available-start{box-shadow:inset 0 0 0 2px rgba(87,214,136,.8);background:rgba(54,173,101,.16);color:#a3f7bf}
.jalali-day.is-reserved{background:rgba(231,191,74,.18);color:#f4dc89;border-color:rgba(231,191,74,.22)}
.jalali-day.is-occupied{background:rgba(233,86,96,.20);color:#ffb8bd;border-color:rgba(233,86,96,.24)}
.jalali-picker-actions{margin-top:18px}.jalali-picker-actions button{padding:0 26px;color:#f0d06b;font-size:24px}
@keyframes pricePulse{0%{transform:scale(1)}40%{transform:scale(1.015)}100%{transform:scale(1)}}
html[data-theme="light"] .unit-detail-dialog{
  background:
    radial-gradient(circle at 18% 18%, rgba(66,181,127,.18), transparent 32%),
    radial-gradient(circle at 82% 92%, rgba(225,206,120,.18), transparent 26%),
    linear-gradient(145deg,rgba(247,253,245,.98),rgba(225,242,228,.98));
  color:#143327;border-color:rgba(87,180,140,.25);box-shadow:0 35px 100px rgba(8,61,33,.22),0 0 0 1px rgba(116,188,154,.12) inset;
}
html[data-theme="light"] .jalali-date-dialog{
  background:
    radial-gradient(circle at 18% 10%, rgba(121,212,155,.22), transparent 34%),
    radial-gradient(circle at 84% 90%, rgba(231,217,145,.2), transparent 30%),
    linear-gradient(145deg,rgba(245,251,241,.98),rgba(223,240,223,.98));
  color:#173528;border-color:rgba(114,185,145,.26)
}
html[data-theme="light"] .unit-info-title--hero h2{color:#21442d;text-shadow:none}
html[data-theme="light"] .unit-info-title--hero small,html[data-theme="light"] .unit-section-head span,html[data-theme="light"] .booking-count-card__head small,html[data-theme="light"] .booking-price-card__head small,html[data-theme="light"] .availability-card--inline span{color:#476356}
html[data-theme="light"] .unit-section-head b,html[data-theme="light"] .booking-count-card__head strong,html[data-theme="light"] .booking-price-card__head strong,html[data-theme="light"] .availability-card--inline strong{color:#173528}
html[data-theme="light"] .unit-amenity-shell{background:rgba(255,255,255,.48);border-color:rgba(100,172,133,.24)}
html[data-theme="light"] .amenity-chip{background:linear-gradient(180deg,rgba(247,253,246,.96),rgba(230,244,233,.96));border-color:rgba(116,185,145,.26)}
html[data-theme="light"] .amenity-chip b{color:#20412b}html[data-theme="light"] .amenity-chip__icon{background:rgba(71,164,117,.12);color:#29734b}
html[data-theme="light"] .unit-hero-card strong,html[data-theme="light"] .booking-counter__value,html[data-theme="light"] .booking-price-card b,html[data-theme="light"] .jalali-picker-head strong{color:#173528}
html[data-theme="light"] .booking-counter__value{background:rgba(255,255,255,.62);border-color:rgba(116,185,145,.18)}
html[data-theme="light"] .booking-count-card--standard,html[data-theme="light"] .booking-count-card--extra,html[data-theme="light"] .booking-price-card,html[data-theme="light"] .availability-card--inline,html[data-theme="light"] .booking-stay-pill{box-shadow:0 18px 40px rgba(37,96,61,.09)}
html[data-theme="light"] .booking-count-card--standard{background:linear-gradient(145deg,rgba(234,247,252,.98),rgba(215,238,247,.95))}
html[data-theme="light"] .booking-count-card--extra{background:linear-gradient(145deg,rgba(244,236,253,.95),rgba(236,228,248,.94))}
html[data-theme="light"] .booking-price-card{background:linear-gradient(145deg,rgba(228,249,239,.97),rgba(214,242,225,.95))}
html[data-theme="light"] .booking-stay-pill{background:linear-gradient(180deg,rgba(221,247,232,.98),rgba(206,238,220,.96))}
html[data-theme="light"] .booking-stay-pill strong{color:#248451}
html[data-theme="light"] .jalali-weekdays span{color:#406050;border-bottom-color:rgba(32,68,45,.08)}
html[data-theme="light"] .jalali-day{background:rgba(255,255,255,.72);color:#173528}
html[data-theme="light"] .jalali-picker-head button,html[data-theme="light"] .jalali-picker-actions button{background:rgba(255,255,255,.72);color:#244332;border-color:rgba(116,185,145,.24)}
@media(max-width:1280px){
  .unit-info-title--hero h2{font-size:64px}
  .unit-info-title--hero small{font-size:22px}
  .unit-amenities-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .amenity-chip{min-height:98px}.amenity-chip b{font-size:20px}
  .booking-price-card b{font-size:46px}
}
@media(max-width:1100px){
  .unit-detail-dialog{padding:18px;overflow:auto}
  .unit-detail-layout{grid-template-columns:1fr}
  .unit-gallery-panel--reservation{order:1}.unit-info-panel--reservation{order:2}
  .unit-gallery-main,.unit-gallery-main img{min-height:360px}
  .unit-info-title--hero{padding-inline:44px}.unit-info-title--hero h2{font-size:58px}
  .unit-hero-summary,.booking-people-grid{grid-template-columns:1fr}
  .booking-date-grid--three{grid-template-columns:1fr}
  .booking-stay-pill{min-height:78px}
}
@media(max-width:700px){
  .dialog-x.dialog-x--bare{font-size:44px;left:8px;top:8px}
  .unit-detail-dialog{width:min(96vw,96vw);padding:14px 12px 14px;border-radius:22px}
  .unit-info-title--hero{padding-inline:24px}.unit-info-title--hero span{font-size:15px}.unit-info-title--hero h2{font-size:44px}.unit-info-title--hero small{font-size:18px}
  .unit-hero-card{min-height:86px;padding:12px 13px;border-radius:18px}.unit-hero-card__icon{width:44px;height:44px;flex-basis:44px;font-size:22px}.unit-hero-card strong{font-size:30px}.unit-hero-card small{font-size:17px}
  .unit-section-head{align-items:flex-start;flex-direction:column;gap:4px}.unit-section-head b{font-size:24px}.unit-section-head span{font-size:16px}
  .unit-amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.amenity-chip{min-height:84px}.amenity-chip b{font-size:18px}
  .availability-card--inline strong{font-size:19px}.availability-card--inline span{font-size:16px}
  .booking-stay-pill span{font-size:16px}.booking-stay-pill strong{font-size:36px}
  .booking-count-card,.booking-price-card{min-height:118px;padding:13px 14px}.booking-count-card__head strong,.booking-price-card__head strong{font-size:24px}.booking-count-card__head small,.booking-price-card__head small{font-size:16px}
  .booking-counter{grid-template-columns:48px 1fr 48px;gap:8px}.booking-counter__button{height:48px;font-size:34px;border-radius:14px}.booking-counter__value{min-height:50px;font-size:42px;border-radius:14px}
  .booking-price-card b{font-size:39px}
  .booking-form-actions{flex-direction:column-reverse;gap:10px}.reservation-primary--half,.reservation-secondary{width:100%;min-width:0;font-size:22px;min-height:52px}
  .unit-gallery-main,.unit-gallery-main img{min-height:250px}.unit-gallery-nav{width:44px;height:44px;font-size:38px}.unit-gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.unit-gallery-thumbs button{height:66px;border-radius:12px}
  .jalali-date-dialog{width:min(96vw,96vw);padding:20px 12px 16px;border-radius:24px}.jalali-picker-head{grid-template-columns:58px 1fr 58px;gap:8px;margin-top:20px}.jalali-picker-head strong{font-size:32px}.jalali-picker-head button,.jalali-picker-actions button{height:46px;border-radius:14px;font-size:24px}.jalali-weekdays,.jalali-days{gap:7px}.jalali-weekdays span{font-size:13px}.jalali-weekdays .is-friday::after{width:42px;height:26px}.jalali-day{min-height:54px;border-radius:14px;font-size:22px}
}
#pendingRequestBadge.is-attention{animation:pendingBadgePulse 1.2s ease 3}
@keyframes pendingBadgePulse{0%,100%{transform:scale(1);text-shadow:none}30%{transform:scale(1.18);text-shadow:0 0 18px rgba(241,203,91,.45)}60%{transform:scale(1.04)}}

/* ===== Reservation modal alignment to approved design v16.5.24 ===== */
.unit-detail-dialog{
  width:min(1660px,calc(100vw - 48px));
  height:min(900px,calc(100dvh - 36px));
  max-width:none;
  max-height:none;
  box-sizing:border-box;
  padding:22px 24px 14px;
  overflow:hidden;
  border-radius:26px;
}
.unit-detail-dialog .reservation-booking-shell{
  height:100%;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) 162px 64px 26px;
  gap:12px;
  overflow:hidden;
}
.unit-detail-dialog .reservation-modal-main{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1.63fr) minmax(430px,1fr);
  gap:18px;
  direction:ltr;
}
.unit-detail-dialog .unit-info-panel--reservation{
  grid-column:1;
  direction:rtl;
  min-width:0;
  min-height:0;
  padding:0;
  display:grid;
  grid-template-rows:auto 118px minmax(138px,1fr) 108px;
  gap:12px;
  align-content:stretch;
}
.unit-detail-dialog .unit-gallery-panel--reservation{
  grid-column:2;
  direction:rtl;
  min-width:0;
  min-height:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) 94px;
  gap:10px;
  align-self:stretch;
}
.unit-detail-dialog .unit-info-title--hero{
  padding:0 52px 0 10px;
  min-height:135px;
  display:grid;
  place-items:center;
  align-content:center;
  text-align:center;
}
.unit-detail-dialog .unit-info-title--hero span{font-size:17px;margin:0 0 1px;color:#e8b954}
.unit-detail-dialog .unit-info-title--hero h2{font-size:66px;line-height:.95;margin:0;font-family:Nas,BYekan,sans-serif;font-weight:400}
.unit-detail-dialog .unit-info-title--hero small{font-size:20px;margin-top:8px;color:#d5e0e6}
.unit-detail-dialog .unit-hero-summary{
  height:118px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  direction:ltr;
}
.unit-detail-dialog .unit-hero-card{
  direction:rtl;
  min-width:0;
  min-height:0;
  height:118px;
  padding:12px 16px;
  border-radius:19px;
  gap:12px;
}
.unit-detail-dialog .unit-hero-card__icon{width:50px;height:50px;flex-basis:50px;border-radius:16px;font-size:25px}
.unit-detail-dialog .unit-hero-card strong{font-size:31px;line-height:1.12;white-space:normal}
.unit-detail-dialog .unit-hero-card small{font-size:16px;line-height:1.4}
.unit-detail-dialog .unit-amenity-shell{
  min-height:0;
  padding:12px 14px 13px;
  border-radius:21px;
  display:grid;
  grid-template-rows:32px minmax(0,1fr);
  gap:9px;
}
.unit-detail-dialog .unit-section-head{padding:0 3px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.unit-detail-dialog .unit-section-head b{font-size:24px}
.unit-detail-dialog .unit-section-head span{font-size:14px}
.unit-detail-dialog .unit-amenities-grid{
  margin:0;
  min-height:0;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
  align-items:stretch;
  overflow:hidden;
}
.unit-detail-dialog .amenity-chip{
  min-width:0;
  min-height:0;
  height:100%;
  padding:8px 5px;
  border-radius:16px;
  gap:5px;
}
.unit-detail-dialog .amenity-chip__icon{width:38px;height:38px;border-radius:12px;font-size:20px}
.unit-detail-dialog .amenity-chip b{font-size:17px;line-height:1.2;white-space:normal}
.unit-detail-dialog .availability-card--inline{display:none}
.unit-detail-dialog .booking-date-grid--three{
  min-height:0;
  height:108px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px minmax(0,1fr);
  gap:12px;
  direction:rtl;
  align-items:end;
}
.unit-detail-dialog .booking-date-grid--three label{min-width:0;display:grid;gap:5px;align-self:end}
.unit-detail-dialog .booking-date-grid--three label>span{font-size:14px;text-align:right;color:#b7cad3}
.unit-detail-dialog .jalali-date-field{height:58px;border-radius:16px;padding:0 15px;font-size:20px;background:rgba(255,255,255,.045)}
.unit-detail-dialog .jalali-date-field b{margin-inline:auto;font-size:22px}
.unit-detail-dialog .booking-stay-pill{
  align-self:end;
  height:84px;
  min-height:84px;
  padding:8px 10px;
  border-radius:17px;
}
.unit-detail-dialog .booking-stay-pill span{font-size:16px}
.unit-detail-dialog .booking-stay-pill strong{font-size:42px}
.unit-detail-dialog .unit-gallery-main{
  width:100%;
  min-height:0;
  height:100%;
  border-radius:21px;
}
.unit-detail-dialog .unit-gallery-main img{
  width:100%;height:100%;min-height:0;object-fit:cover;border-radius:21px;
}
.unit-detail-dialog .unit-gallery-nav{width:48px;height:48px;font-size:40px}
.unit-detail-dialog .unit-gallery-nav.is-prev{left:14px}.unit-detail-dialog .unit-gallery-nav.is-next{right:14px}
.unit-detail-dialog .unit-gallery-thumbs{
  height:94px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.unit-detail-dialog .unit-gallery-thumbs button{height:94px;border-radius:14px}
.unit-detail-dialog .reservation-totals-row{
  min-height:0;
  height:162px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  direction:rtl;
}
.unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{
  min-width:0;
  min-height:0;
  height:162px;
  padding:14px 18px;
  border-radius:20px;
}
.unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:25px}
.unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:15px;margin-top:2px}
.unit-detail-dialog .booking-counter{grid-template-columns:52px 1fr 52px;gap:11px}
.unit-detail-dialog .booking-counter__button{height:54px;border-radius:15px;font-size:36px}
.unit-detail-dialog .booking-counter__value{min-height:54px;border-radius:15px;font-size:42px}
.unit-detail-dialog .booking-price-card b{font-size:44px;line-height:1.05}
.unit-detail-dialog .reservation-notes-optional{display:none}
.unit-detail-dialog .reservation-bottom-actions{
  min-height:0;
  height:64px;
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:18px;
  padding:0;
}
.unit-detail-dialog .reservation-primary--half{min-width:420px;width:42%;max-width:520px;height:58px;min-height:58px;border-radius:17px;font-size:23px}
.unit-detail-dialog .reservation-secondary{width:205px;height:58px;min-height:58px;border-radius:17px;font-size:21px}
.unit-detail-dialog .form-status{height:26px;min-height:26px;margin:0;font-size:16px;line-height:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.unit-detail-dialog .dialog-x.dialog-x--bare{top:12px;left:17px;font-size:48px;z-index:30}

/* Desktop must fit without an inner scrollbar. */
@media(min-width:1101px){
  .unit-detail-dialog,.unit-detail-dialog .reservation-booking-shell{scrollbar-width:none}
  .unit-detail-dialog::-webkit-scrollbar,.unit-detail-dialog .reservation-booking-shell::-webkit-scrollbar{display:none}
}

/* Tablet: keep the approved composition, only compress it. */
@media(min-width:761px) and (max-width:1100px){
  .unit-detail-dialog{width:calc(100vw - 24px);height:calc(100dvh - 24px);padding:18px 16px 12px;overflow:hidden}
  .unit-detail-dialog .reservation-booking-shell{grid-template-rows:minmax(0,1fr) 148px 58px 24px;gap:9px}
  .unit-detail-dialog .reservation-modal-main{grid-template-columns:minmax(0,1.55fr) minmax(330px,1fr);gap:12px}
  .unit-detail-dialog .unit-info-panel--reservation{grid-template-rows:auto 100px minmax(122px,1fr) 96px;gap:9px}
  .unit-detail-dialog .unit-info-title--hero{min-height:112px;padding-right:42px}.unit-detail-dialog .unit-info-title--hero h2{font-size:55px}.unit-detail-dialog .unit-info-title--hero span{font-size:15px}.unit-detail-dialog .unit-info-title--hero small{font-size:17px}
  .unit-detail-dialog .unit-hero-summary{height:100px;gap:8px}.unit-detail-dialog .unit-hero-card{height:100px;padding:9px 10px;gap:8px}.unit-detail-dialog .unit-hero-card__icon{width:42px;height:42px;flex-basis:42px}.unit-detail-dialog .unit-hero-card strong{font-size:24px}.unit-detail-dialog .unit-hero-card small{font-size:13px}
  .unit-detail-dialog .unit-amenities-grid{gap:6px}.unit-detail-dialog .amenity-chip b{font-size:14px}.unit-detail-dialog .amenity-chip__icon{width:32px;height:32px;font-size:17px}
  .unit-detail-dialog .booking-date-grid--three{height:96px;grid-template-columns:minmax(0,1fr) 140px minmax(0,1fr);gap:8px}.unit-detail-dialog .jalali-date-field{height:52px;font-size:17px}.unit-detail-dialog .jalali-date-field b{font-size:18px}.unit-detail-dialog .booking-stay-pill{height:76px;min-height:76px}.unit-detail-dialog .booking-stay-pill strong{font-size:34px}
  .unit-detail-dialog .unit-gallery-thumbs{height:80px}.unit-detail-dialog .unit-gallery-thumbs button{height:80px}
  .unit-detail-dialog .reservation-totals-row{height:148px;gap:9px}.unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:148px;padding:12px}.unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:21px}.unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:13px}.unit-detail-dialog .booking-price-card b{font-size:36px}
  .unit-detail-dialog .reservation-primary--half{height:54px;min-height:54px;min-width:330px;font-size:20px}.unit-detail-dialog .reservation-secondary{height:54px;min-height:54px;width:170px;font-size:19px}
}

/* Mobile has its own layout; it is not the desktop layout collapsed into one column. */
@media(max-width:760px){
  .unit-detail-dialog{
    width:100vw;
    height:100dvh;
    max-width:none;
    max-height:none;
    margin:0;
    padding:12px 10px 14px;
    border-radius:0;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:none;
  }
  .unit-detail-dialog::-webkit-scrollbar,.unit-detail-dialog .reservation-booking-shell::-webkit-scrollbar{display:none}
  .unit-detail-dialog .dialog-x.dialog-x--bare{position:fixed;top:9px;left:9px;font-size:42px;z-index:50;text-shadow:0 0 16px rgba(255,93,135,.25)}
  .unit-detail-dialog .reservation-booking-shell{
    height:auto;
    min-height:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
    overflow:visible;
    padding-top:2px;
  }
  .unit-detail-dialog .reservation-modal-main{
    display:flex;
    flex-direction:column;
    gap:10px;
    direction:rtl;
  }
  .unit-detail-dialog .unit-info-panel--reservation{
    order:1;
    display:contents;
  }
  .unit-detail-dialog .unit-info-title--hero{
    order:1;
    min-height:92px;
    padding:4px 42px 0;
    display:grid;
  }
  .unit-detail-dialog .unit-info-title--hero span{font-size:13px}.unit-detail-dialog .unit-info-title--hero h2{font-size:44px;line-height:.92}.unit-detail-dialog .unit-info-title--hero small{font-size:15px;margin-top:5px}
  .unit-detail-dialog .unit-gallery-panel--reservation{
    order:2;
    display:grid;
    grid-template-rows:auto 64px;
    gap:7px;
  }
  .unit-detail-dialog .unit-gallery-main{height:auto;aspect-ratio:16/10;border-radius:17px}.unit-detail-dialog .unit-gallery-main img{height:100%;min-height:0;border-radius:17px}.unit-detail-dialog .unit-gallery-nav{width:40px;height:40px;font-size:34px}.unit-detail-dialog .unit-gallery-nav.is-prev{left:9px}.unit-detail-dialog .unit-gallery-nav.is-next{right:9px}
  .unit-detail-dialog .unit-gallery-thumbs{height:64px;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.unit-detail-dialog .unit-gallery-thumbs button{height:64px;border-radius:10px}
  .unit-detail-dialog .unit-hero-summary{
    order:3;
    height:auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .unit-detail-dialog .unit-hero-card{height:94px;min-height:94px;padding:7px 6px;display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:3px;border-radius:15px}
  .unit-detail-dialog .unit-hero-card__icon{width:34px;height:34px;flex-basis:34px;border-radius:11px;font-size:17px}
  .unit-detail-dialog .unit-hero-card strong{font-size:19px;line-height:1.15}.unit-detail-dialog .unit-hero-card small{font-size:11px;line-height:1.25}
  .unit-detail-dialog .unit-amenity-shell{order:4;padding:10px;border-radius:17px;display:grid;grid-template-rows:auto auto;gap:7px}
  .unit-detail-dialog .unit-section-head{display:flex;flex-direction:row;align-items:center}.unit-detail-dialog .unit-section-head b{font-size:19px}.unit-detail-dialog .unit-section-head span{font-size:11px}
  .unit-detail-dialog .unit-amenities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;overflow:visible}
  .unit-detail-dialog .amenity-chip{height:66px;min-height:66px;padding:5px 3px;border-radius:12px;gap:2px}.unit-detail-dialog .amenity-chip__icon{width:28px;height:28px;border-radius:9px;font-size:15px}.unit-detail-dialog .amenity-chip b{font-size:12px;line-height:1.12}
  .unit-detail-dialog .booking-date-grid--three{
    order:5;
    height:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);
    gap:6px;
    align-items:end;
  }
  .unit-detail-dialog .booking-date-grid--three label>span{font-size:10px;line-height:1.25;white-space:nowrap}.unit-detail-dialog .jalali-date-field{height:48px;border-radius:13px;padding:0 8px;font-size:13px}.unit-detail-dialog .jalali-date-field b{font-size:14px}.unit-detail-dialog .booking-stay-pill{height:67px;min-height:67px;border-radius:13px;padding:5px}.unit-detail-dialog .booking-stay-pill span{font-size:11px}.unit-detail-dialog .booking-stay-pill strong{font-size:25px}
  .unit-detail-dialog .reservation-totals-row{
    height:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    direction:rtl;
  }
  .unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:122px;min-height:122px;padding:10px;border-radius:16px}
  .unit-detail-dialog .booking-price-card{grid-column:1/-1;height:105px;min-height:105px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:19px}.unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:11px}
  .unit-detail-dialog .booking-counter{grid-template-columns:42px 1fr 42px;gap:7px}.unit-detail-dialog .booking-counter__button{height:44px;border-radius:12px;font-size:29px}.unit-detail-dialog .booking-counter__value{min-height:44px;border-radius:12px;font-size:30px}.unit-detail-dialog .booking-price-card b{font-size:34px}
  .unit-detail-dialog .reservation-bottom-actions{height:54px;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(110px,.8fr);gap:8px;direction:rtl}
  .unit-detail-dialog .reservation-primary--half,.unit-detail-dialog .reservation-secondary{width:100%;min-width:0;max-width:none;height:52px;min-height:52px;border-radius:14px;font-size:17px;padding:0 10px}
  .unit-detail-dialog .form-status{height:auto;min-height:20px;line-height:1.4;white-space:normal;font-size:13px;padding-bottom:2px}
}
.unit-detail-dialog .reservation-bottom-actions{direction:ltr}
.unit-detail-dialog .reservation-bottom-actions>button{direction:rtl}
.public-unit-card h4,.room-hotspot,.reservation-unit-choice{font-family:Nas,BYekan,sans-serif}

/* v16.5.25 — room card title size only */
.public-unit-card h4{font-size:24px}
@media(max-width:700px){.public-unit-card h4{font-size:21px}}

@media(prefers-reduced-motion:reduce){.room-hotspot{animation:none;transition:none}}

/* v16.5.27 — reservation modal refinement */
.unit-detail-dialog .unit-info-title--hero{
  position:relative;
  min-height:122px;
  padding:8px 78px 0;
}
.unit-detail-dialog .unit-info-title--hero span{
  position:absolute;
  top:6px;
  right:76px;
  margin:0;
  font-size:18px;
  line-height:1.15;
  text-align:right;
}
.unit-detail-dialog .unit-info-title--hero h2{font-size:62px;line-height:.93}
.unit-detail-dialog .unit-info-title--hero small{font-size:19px;margin-top:4px}
.unit-detail-dialog .unit-hero-card strong{font-size:29px}
.unit-detail-dialog .unit-hero-card small{
  font-size:14px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.unit-detail-dialog .unit-amenity-shell{
  grid-template-rows:26px minmax(0,1fr);
  gap:7px;
  padding:10px 14px 11px;
}
.unit-detail-dialog .unit-section-head{
  justify-content:center;
  text-align:center;
}
.unit-detail-dialog .unit-section-head span{display:none}
.unit-detail-dialog .unit-section-head b{width:100%;text-align:center}
.unit-detail-dialog .amenity-chip{justify-items:center;text-align:center}
.unit-detail-dialog .amenity-chip b{font-size:16px;text-align:center}
.unit-detail-dialog .booking-date-grid--three{
  height:92px;
  gap:10px;
  margin-top:-2px;
}
.unit-detail-dialog .booking-date-grid--three label{gap:4px}
.unit-detail-dialog .booking-date-grid--three label>span{font-size:13px}
.unit-detail-dialog .jalali-date-field{height:56px}
.unit-detail-dialog .booking-stay-pill{
  height:56px;
  min-height:56px;
  border-radius:16px;
  padding:0 10px;
  display:grid;
  place-items:center;
}
.unit-detail-dialog .booking-stay-pill span{display:none}
.unit-detail-dialog .booking-stay-pill strong{font-size:40px;line-height:1}
.unit-detail-dialog .reservation-totals-row{
  height:140px;
  gap:10px;
}
.unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{
  height:140px;
  padding:12px 14px;
  border-radius:18px;
}
.unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:23px}
.unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:13px}
.unit-detail-dialog .booking-counter{grid-template-columns:48px 1fr 48px;gap:9px}
.unit-detail-dialog .booking-counter__button{height:48px;border-radius:14px;font-size:34px}
.unit-detail-dialog .booking-counter__value{min-height:48px;border-radius:14px;font-size:38px}
.unit-detail-dialog .booking-price-card b{font-size:41px}
.unit-detail-dialog .reservation-bottom-actions{
  height:60px;
  gap:14px;
}
.unit-detail-dialog .reservation-primary--half{height:56px;min-height:56px;font-size:22px}
.unit-detail-dialog .reservation-secondary{height:56px;min-height:56px;font-size:20px}
.unit-detail-dialog .form-status{font-size:14px;height:22px;line-height:22px}

@media(min-width:761px) and (max-width:1100px){
  .unit-detail-dialog .unit-info-title--hero{min-height:104px;padding:6px 60px 0}
  .unit-detail-dialog .unit-info-title--hero span{right:58px;font-size:16px}
  .unit-detail-dialog .unit-info-title--hero h2{font-size:50px}
  .unit-detail-dialog .unit-info-title--hero small{font-size:16px}
  .unit-detail-dialog .unit-hero-card small{font-size:12px}
  .unit-detail-dialog .unit-amenity-shell{padding:8px 10px 10px}
  .unit-detail-dialog .booking-date-grid--three{height:86px;grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr);gap:7px}
  .unit-detail-dialog .booking-date-grid--three label>span{font-size:11px}
  .unit-detail-dialog .jalali-date-field{height:50px;font-size:16px}.unit-detail-dialog .jalali-date-field b{font-size:17px}
  .unit-detail-dialog .booking-stay-pill{height:50px;min-height:50px}.unit-detail-dialog .booking-stay-pill strong{font-size:33px}
  .unit-detail-dialog .reservation-totals-row{height:130px}.unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:130px;padding:10px 11px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:20px}
  .unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:12px}
  .unit-detail-dialog .booking-counter__value{font-size:32px}.unit-detail-dialog .booking-price-card b{font-size:34px}
}

@media(max-width:760px){
  .unit-detail-dialog .unit-info-title--hero{min-height:88px;padding:2px 40px 0}
  .unit-detail-dialog .unit-info-title--hero span{top:2px;right:42px;font-size:13px}
  .unit-detail-dialog .unit-info-title--hero h2{font-size:40px;line-height:.9}
  .unit-detail-dialog .unit-info-title--hero small{font-size:14px;margin-top:3px}
  .unit-detail-dialog .unit-hero-card small{font-size:10px;white-space:nowrap}
  .unit-detail-dialog .unit-section-head{justify-content:center}.unit-detail-dialog .unit-section-head b{font-size:18px;text-align:center}.unit-detail-dialog .unit-section-head span{display:none}
  .unit-detail-dialog .unit-amenities-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .unit-detail-dialog .amenity-chip{height:62px;min-height:62px}.unit-detail-dialog .amenity-chip b{font-size:11px}
  .unit-detail-dialog .booking-date-grid--three{grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);gap:5px}
  .unit-detail-dialog .booking-date-grid--three label>span{font-size:9px}
  .unit-detail-dialog .jalali-date-field{height:44px;font-size:12px}.unit-detail-dialog .jalali-date-field b{font-size:13px}
  .unit-detail-dialog .booking-stay-pill{height:44px;min-height:44px;border-radius:12px;padding:0}.unit-detail-dialog .booking-stay-pill strong{font-size:22px}
  .unit-detail-dialog .reservation-totals-row{gap:6px}
  .unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:112px;min-height:112px;padding:8px 9px}
  .unit-detail-dialog .booking-price-card{height:96px;min-height:96px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:17px}
  .unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:10px}
  .unit-detail-dialog .booking-counter{grid-template-columns:38px 1fr 38px;gap:6px}
  .unit-detail-dialog .booking-counter__button{height:40px;font-size:25px}.unit-detail-dialog .booking-counter__value{min-height:40px;font-size:28px}
  .unit-detail-dialog .booking-price-card b{font-size:29px}
  .unit-detail-dialog .reservation-bottom-actions{height:50px;gap:7px}.unit-detail-dialog .reservation-primary--half,.unit-detail-dialog .reservation-secondary{height:48px;min-height:48px;font-size:16px}
  .unit-detail-dialog .form-status{font-size:12px}
}

/* v16.5.28 — reservation modal polish */
.unit-detail-dialog .unit-info-title--hero{
  min-height:110px;
  padding:8px 46px 0;
}
.unit-detail-dialog .unit-info-title--hero span{
  top:8px;
  right:8px;
  left:auto;
  width:auto;
  font-size:18px;
  text-align:right;
}
.unit-detail-dialog .unit-info-title--hero h2{
  font-size:58px;
  line-height:.92;
  text-align:center;
}
.unit-detail-dialog .unit-info-title--hero small{
  font-size:18px;
  margin-top:2px;
  text-align:center;
}
.unit-detail-dialog .unit-hero-summary{gap:10px}
.unit-detail-dialog .unit-hero-card{
  min-height:98px;
  padding:12px 14px;
  align-items:center;
  justify-content:center;
  gap:12px;
}
.unit-detail-dialog .unit-hero-card>div{
  min-width:0;
  text-align:center;
}
.unit-detail-dialog .unit-hero-card strong{
  font-size:24px;
  line-height:1.12;
  white-space:nowrap;
}
.unit-detail-dialog .unit-hero-card small{
  font-size:12px;
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.unit-detail-dialog .unit-amenity-shell{
  padding:8px 12px 10px;
  gap:6px;
}
.unit-detail-dialog .unit-section-head{margin-bottom:0}
.unit-detail-dialog .unit-section-head b{font-size:17px;text-align:center}
.unit-detail-dialog .unit-amenities-grid{gap:10px}
.unit-detail-dialog .amenity-chip{
  min-height:78px;
  height:78px;
  padding:8px 8px 10px;
  justify-items:center;
  align-content:center;
  text-align:center;
  gap:6px;
}
.unit-detail-dialog .amenity-chip__icon{
  margin-inline:auto;
}
.unit-detail-dialog .amenity-chip b{
  width:100%;
  text-align:center;
  font-size:15px;
  line-height:1.15;
}
.unit-detail-dialog .booking-date-grid--three{
  height:84px;
  gap:10px;
  margin-top:-6px;
}
.unit-detail-dialog .booking-date-grid--three label>span{
  font-size:12px;
}
.unit-detail-dialog .jalali-date-field{
  height:52px;
}
.unit-detail-dialog .booking-stay-pill{
  height:52px;
  min-height:52px;
  border-radius:14px;
  padding:0 8px;
}
.unit-detail-dialog .booking-stay-pill span{display:none}
.unit-detail-dialog .booking-stay-pill strong{
  font-size:38px;
  line-height:1;
}
.unit-detail-dialog .reservation-totals-row{
  height:122px;
  gap:10px;
}
.unit-detail-dialog .booking-count-card,
.unit-detail-dialog .booking-price-card{
  height:122px;
  min-height:122px;
  padding:10px 12px;
  border-radius:16px;
}
.unit-detail-dialog .booking-count-card__head strong,
.unit-detail-dialog .booking-price-card__head strong{font-size:21px}
.unit-detail-dialog .booking-count-card__head small,
.unit-detail-dialog .booking-price-card__head small{font-size:12px}
.unit-detail-dialog .booking-counter{grid-template-columns:46px 1fr 46px;gap:8px}
.unit-detail-dialog .booking-counter__button{height:46px;font-size:32px}
.unit-detail-dialog .booking-counter__value{min-height:46px;font-size:34px}
.unit-detail-dialog .booking-price-card b{font-size:36px}

@media(min-width:761px) and (max-width:1100px){
  .unit-detail-dialog .unit-info-title--hero{min-height:100px;padding:6px 38px 0}
  .unit-detail-dialog .unit-info-title--hero span{right:6px;font-size:16px}
  .unit-detail-dialog .unit-info-title--hero h2{font-size:50px}
  .unit-detail-dialog .unit-info-title--hero small{font-size:16px}
  .unit-detail-dialog .unit-hero-card strong{font-size:21px}
  .unit-detail-dialog .unit-hero-card small{font-size:11px}
  .unit-detail-dialog .unit-amenities-grid{gap:8px}
  .unit-detail-dialog .amenity-chip{min-height:72px;height:72px}
  .unit-detail-dialog .amenity-chip b{font-size:13px}
  .unit-detail-dialog .booking-date-grid--three{height:78px;grid-template-columns:minmax(0,1fr) 124px minmax(0,1fr);gap:7px;margin-top:-4px}
  .unit-detail-dialog .jalali-date-field{height:48px}
  .unit-detail-dialog .booking-stay-pill{height:48px;min-height:48px}
  .unit-detail-dialog .booking-stay-pill strong{font-size:31px}
  .unit-detail-dialog .reservation-totals-row{height:116px}
  .unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:116px;min-height:116px;padding:9px 10px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:19px}
  .unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:11px}
  .unit-detail-dialog .booking-counter__button{height:42px;font-size:28px}
  .unit-detail-dialog .booking-counter__value{min-height:42px;font-size:30px}
  .unit-detail-dialog .booking-price-card b{font-size:31px}
}

@media(max-width:760px){
  .unit-detail-dialog .unit-info-title--hero{min-height:84px;padding:2px 32px 0}
  .unit-detail-dialog .unit-info-title--hero span{top:4px;right:4px;font-size:12px}
  .unit-detail-dialog .unit-info-title--hero h2{font-size:37px}
  .unit-detail-dialog .unit-info-title--hero small{font-size:13px}
  .unit-detail-dialog .unit-hero-card{min-height:86px;padding:10px 9px;gap:8px}
  .unit-detail-dialog .unit-hero-card strong{font-size:18px}
  .unit-detail-dialog .unit-hero-card small{font-size:10px}
  .unit-detail-dialog .unit-amenity-shell{padding:8px 9px 9px}
  .unit-detail-dialog .unit-section-head b{font-size:16px}
  .unit-detail-dialog .amenity-chip{height:60px;min-height:60px;padding:7px 6px;gap:4px}
  .unit-detail-dialog .amenity-chip b{font-size:10px}
  .unit-detail-dialog .booking-date-grid--three{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:5px;margin-top:-2px}
  .unit-detail-dialog .booking-date-grid--three label>span{font-size:8px}
  .unit-detail-dialog .jalali-date-field{height:42px}.unit-detail-dialog .jalali-date-field b{font-size:12px}
  .unit-detail-dialog .booking-stay-pill{height:42px;min-height:42px;border-radius:12px}
  .unit-detail-dialog .booking-stay-pill strong{font-size:21px}
  .unit-detail-dialog .reservation-totals-row{height:auto;gap:6px}
  .unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:106px;min-height:106px;padding:8px}
  .unit-detail-dialog .booking-price-card{height:92px;min-height:92px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:16px}
  .unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:9px}
  .unit-detail-dialog .booking-counter{grid-template-columns:36px 1fr 36px;gap:5px}
  .unit-detail-dialog .booking-counter__button{height:38px;font-size:24px}
  .unit-detail-dialog .booking-counter__value{min-height:38px;font-size:26px}
  .unit-detail-dialog .booking-price-card b{font-size:27px}
}

/* v16.5.29 — reservation modal final visual alignment */
.unit-detail-dialog .unit-info-title--hero{
  min-height:118px;
  padding:10px 44px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
}
.unit-detail-dialog .unit-info-title--hero span{
  position:absolute;
  top:10px;
  right:8px;
  left:auto;
  width:auto;
  max-width:calc(100% - 84px);
  font-size:17px;
  line-height:1.25;
  text-align:right;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.unit-detail-dialog .unit-info-title--hero h2{
  margin-top:24px;
  font-size:56px;
  line-height:.92;
  text-align:center;
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
.unit-detail-dialog .unit-info-title--hero small{display:none}
.unit-detail-dialog .unit-hero-summary{gap:10px}
.unit-detail-dialog .unit-hero-card{
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:space-between;
  min-height:98px;
  padding:12px 16px;
}
.unit-detail-dialog .unit-hero-card__icon{flex:0 0 auto}
.unit-detail-dialog .unit-hero-card > div{
  flex:1 1 auto;
  min-width:0;
  text-align:center;
}
.unit-detail-dialog .unit-hero-card strong{display:block;font-size:23px;line-height:1.14;white-space:nowrap}
.unit-detail-dialog .unit-hero-card small{display:block;font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unit-detail-dialog .unit-amenity-shell{padding:8px 12px 10px}
.unit-detail-dialog .unit-amenities-grid{
  justify-items:center;
  align-items:stretch;
  gap:10px;
}
.unit-detail-dialog .amenity-chip{
  width:100%;
  min-height:76px;
  height:76px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:6px;
  padding:8px 6px;
}
.unit-detail-dialog .amenity-chip__icon{
  display:grid;
  place-items:center;
  margin:0 auto;
}
.unit-detail-dialog .amenity-chip b{width:100%;font-size:15px;line-height:1.1;text-align:center}
.unit-detail-dialog .booking-date-grid--three{height:82px;gap:10px;margin-top:-8px}
.unit-detail-dialog .booking-date-grid--three label>span{font-size:12px}
.unit-detail-dialog .jalali-date-field{height:52px}
.unit-detail-dialog .booking-stay-pill{height:52px;min-height:52px;border-radius:14px;padding:0 8px}
.unit-detail-dialog .booking-stay-pill strong{font-size:37px;line-height:1}
.unit-detail-dialog .reservation-totals-row{
  height:118px;
  gap:10px;
  grid-template-columns:.92fr .92fr 1.16fr;
  direction:rtl;
}
.unit-detail-dialog .booking-count-card,
.unit-detail-dialog .booking-price-card{
  height:118px;
  min-height:118px;
  padding:10px 12px;
  border-radius:16px;
}
.unit-detail-dialog .booking-price-card{
  text-align:center;
}
.unit-detail-dialog .booking-count-card__head,
.unit-detail-dialog .booking-price-card__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  text-align:center;
}
.unit-detail-dialog .booking-count-card__head strong,
.unit-detail-dialog .booking-price-card__head strong{font-size:20px;line-height:1.1}
.unit-detail-dialog .booking-count-card__head small,
.unit-detail-dialog .booking-price-card__head small{font-size:11px;line-height:1.15;white-space:nowrap}
.unit-detail-dialog .booking-counter{grid-template-columns:42px 1fr 42px;gap:8px}
.unit-detail-dialog .booking-counter__button{height:42px;font-size:30px}
.unit-detail-dialog .booking-counter__value{min-height:42px;font-size:33px}
.unit-detail-dialog .booking-price-card b{display:block;width:100%;text-align:center;font-size:34px;line-height:1.1}
.unit-detail-dialog .unit-gallery-main{min-height:420px}
.unit-detail-dialog .unit-gallery-main img{min-height:420px;cursor:zoom-in;transition:opacity .35s ease, transform .35s ease}
.unit-detail-dialog .unit-gallery-main img[data-gallery-main].is-switching{opacity:.72;transform:scale(1.015)}
.unit-detail-dialog .unit-gallery-nav{
  width:48px;
  height:48px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:26px;
  line-height:1;
}
.unit-detail-dialog .unit-gallery-nav.is-prev{left:14px;right:auto}
.unit-detail-dialog .unit-gallery-nav.is-next{right:14px;left:auto}
.unit-detail-dialog .unit-gallery-thumbs{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 24px) / 4);
  gap:8px;
  margin-top:9px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
}
.unit-detail-dialog .unit-gallery-thumbs::-webkit-scrollbar{display:none}
.unit-detail-dialog .unit-gallery-thumbs button{width:auto;min-width:0;height:64px}
.unit-detail-dialog .unit-gallery-fs-exit{
  position:absolute;
  top:12px;
  left:12px;
  width:44px;
  height:44px;
  border:0;
  border-radius:14px;
  background:rgba(3,18,30,.72);
  color:#ff6a91;
  display:none;
  place-items:center;
  font-size:34px;
  line-height:1;
  z-index:6;
}
.unit-detail-dialog .unit-gallery-main.is-fullscreen .unit-gallery-fs-exit,
.unit-gallery-main:fullscreen .unit-gallery-fs-exit{display:grid}
.unit-detail-dialog .unit-gallery-main.is-fullscreen,
.unit-gallery-main:fullscreen{background:#020a10}
.unit-detail-dialog .unit-gallery-main.is-fullscreen img,
.unit-gallery-main:fullscreen img{width:100%;height:100%;object-fit:contain;cursor:zoom-out}
.unit-detail-dialog .unit-gallery-main.is-fullscreen .unit-gallery-nav,
.unit-gallery-main:fullscreen .unit-gallery-nav{width:54px;height:54px;font-size:28px}

@media(min-width:761px) and (max-width:1100px){
  .unit-detail-dialog .unit-info-title--hero{min-height:108px;padding:8px 40px 0}
  .unit-detail-dialog .unit-info-title--hero span{font-size:15px}
  .unit-detail-dialog .unit-info-title--hero h2{margin-top:22px;font-size:48px}
  .unit-detail-dialog .unit-hero-card{min-height:90px;padding:10px 12px}
  .unit-detail-dialog .unit-hero-card strong{font-size:20px}
  .unit-detail-dialog .unit-hero-card small{font-size:10px}
  .unit-detail-dialog .amenity-chip{height:70px;min-height:70px}
  .unit-detail-dialog .amenity-chip b{font-size:13px}
  .unit-detail-dialog .booking-date-grid--three{height:78px;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);gap:7px}
  .unit-detail-dialog .jalali-date-field,.unit-detail-dialog .booking-stay-pill{height:48px;min-height:48px}
  .unit-detail-dialog .booking-stay-pill strong{font-size:30px}
  .unit-detail-dialog .reservation-totals-row{height:112px;gap:8px}
  .unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:112px;min-height:112px;padding:9px 10px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:18px}
  .unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:10px}
  .unit-detail-dialog .booking-counter__button{height:40px;font-size:27px}
  .unit-detail-dialog .booking-counter__value{min-height:40px;font-size:30px}
  .unit-detail-dialog .booking-price-card b{font-size:30px}
  .unit-detail-dialog .unit-gallery-main,.unit-detail-dialog .unit-gallery-main img{min-height:360px}
}

@media(max-width:760px){
  .unit-detail-dialog .unit-info-title--hero{min-height:92px;padding:4px 28px 0}
  .unit-detail-dialog .unit-info-title--hero span{top:4px;right:4px;max-width:calc(100% - 64px);font-size:11px}
  .unit-detail-dialog .unit-info-title--hero h2{margin-top:20px;font-size:34px}
  .unit-detail-dialog .unit-hero-card{min-height:82px;padding:9px 8px;gap:6px}
  .unit-detail-dialog .unit-hero-card strong{font-size:16px}
  .unit-detail-dialog .unit-hero-card small{font-size:9px}
  .unit-detail-dialog .unit-amenities-grid{gap:8px}
  .unit-detail-dialog .amenity-chip{height:60px;min-height:60px;padding:6px 4px}
  .unit-detail-dialog .amenity-chip b{font-size:10px}
  .unit-detail-dialog .booking-date-grid--three{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:5px;height:74px;margin-top:-4px}
  .unit-detail-dialog .booking-date-grid--three label>span{font-size:8px}
  .unit-detail-dialog .jalali-date-field,.unit-detail-dialog .booking-stay-pill{height:42px;min-height:42px}
  .unit-detail-dialog .booking-stay-pill strong{font-size:21px}
  .unit-detail-dialog .reservation-totals-row{grid-template-columns:1fr;gap:6px;direction:ltr;height:auto}
  .unit-detail-dialog .booking-count-card,.unit-detail-dialog .booking-price-card{height:102px;min-height:102px;padding:8px}
  .unit-detail-dialog .booking-price-card{height:96px;min-height:96px}
  .unit-detail-dialog .booking-count-card__head strong,.unit-detail-dialog .booking-price-card__head strong{font-size:15px}
  .unit-detail-dialog .booking-count-card__head small,.unit-detail-dialog .booking-price-card__head small{font-size:9px}
  .unit-detail-dialog .booking-counter{grid-template-columns:36px 1fr 36px;gap:5px}
  .unit-detail-dialog .booking-counter__button{height:38px;font-size:24px}
  .unit-detail-dialog .booking-counter__value{min-height:38px;font-size:25px}
  .unit-detail-dialog .booking-price-card b{font-size:26px}
  .unit-detail-dialog .unit-gallery-thumbs{grid-auto-columns:calc((100% - 18px) / 4);gap:6px}
  .unit-detail-dialog .unit-gallery-thumbs button{height:54px}
}

/* v16.5.30 — reservation modal fit, alignment, mobile polish */
.unit-detail-dialog .unit-info-panel--reservation{
  display:grid;
  grid-template-rows:auto auto auto auto auto;
  align-content:start;
  gap:10px;
}
.unit-detail-dialog .unit-info-title--hero{
  min-height:130px;
  padding:8px 44px 0;
}
.unit-detail-dialog .unit-info-title--hero span{
  top:8px;
  right:10px;
  left:auto;
  max-width:calc(100% - 74px);
  overflow:visible;
  white-space:nowrap;
  text-overflow:clip;
}
.unit-detail-dialog #unitBlockLabel .unit-block-name{font-size:19px;font-weight:900;color:#e7bb49}
.unit-detail-dialog #unitBlockLabel .unit-block-meta{font-size:14px;font-weight:700;color:#f0c964;opacity:.95}
.unit-detail-dialog .unit-info-title--hero h2{
  margin-top:32px;
  padding-inline:8px;
  font-size:clamp(42px,3.7vw,64px);
  line-height:1.02;
  white-space:nowrap;
  max-width:none;
  overflow:visible;
  text-overflow:clip;
}
.unit-detail-dialog .unit-hero-summary{gap:10px}
.unit-detail-dialog .unit-hero-card{
  position:relative;
  min-height:102px;
  padding:14px 18px;
}
.unit-detail-dialog .unit-hero-card__icon{
  background:none;
  border:none;
  box-shadow:none;
  width:auto;
  height:auto;
  flex-basis:auto;
  font-size:24px;
}
.unit-detail-dialog .unit-hero-card>div{text-align:center}
.unit-detail-dialog .unit-hero-card strong{font-size:22px;white-space:nowrap}
.unit-detail-dialog .unit-hero-card small{font-size:11px;white-space:nowrap}
.unit-detail-dialog .unit-amenity-shell{
  padding:10px 14px 12px;
  overflow:hidden;
}
.unit-detail-dialog .unit-section-head{display:flex;justify-content:center;align-items:center;text-align:center;margin-bottom:2px}
.unit-detail-dialog .unit-section-head span{display:none}
.unit-detail-dialog .unit-amenities-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  justify-items:center;
  align-items:stretch;
  gap:10px;
}
.unit-detail-dialog .amenity-chip{
  width:100%;
  min-height:78px;
  height:78px;
  padding:8px 6px;
  border-radius:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.unit-detail-dialog .amenity-chip__icon{margin:0 auto 4px;font-size:22px;line-height:1}
.unit-detail-dialog .amenity-chip b{display:block;width:100%;text-align:center;font-size:14px;line-height:1.1}
.unit-detail-dialog .unit-description-card{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:9px 14px;
  border-radius:16px;
  border:1px solid rgba(85,170,198,.22);
  background:linear-gradient(180deg,rgba(7,39,60,.72),rgba(5,31,50,.52));
  color:#e8f2f7;
}
.unit-detail-dialog .unit-description-card strong{flex:0 0 auto;font-size:16px;color:#d7ecf5}
.unit-detail-dialog .unit-description-card span{font-size:14px;color:#c8d9e1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unit-detail-dialog .unit-description-card.is-empty span::after{content:'—';opacity:.55}
.unit-detail-dialog .availability-card--inline{min-height:52px;padding:9px 14px}
.unit-detail-dialog .booking-date-grid--three{margin-top:-2px}
.unit-detail-dialog .unit-gallery-main{min-height:390px}
.unit-detail-dialog .unit-gallery-main img{min-height:390px}
.unit-detail-dialog .unit-gallery-nav{
  background:none;
  border:none;
  box-shadow:none;
  width:32px;
  height:58px;
  border-radius:0;
  color:#fff;
  text-shadow:0 4px 12px rgba(0,0,0,.45);
  font-size:44px;
  padding:0;
}
.unit-detail-dialog .unit-gallery-nav.is-prev{right:16px;left:auto}
.unit-detail-dialog .unit-gallery-nav.is-next{left:16px;right:auto}
.unit-detail-dialog .unit-gallery-nav:hover{transform:translateY(-50%) scale(1.06)}
.unit-detail-dialog .unit-gallery-nav::before{content:none}
.unit-detail-dialog .reservation-totals-row{
  grid-template-columns:.9fr .9fr 1.2fr;
  height:112px;
  gap:10px;
}
.unit-detail-dialog .booking-count-card,
.unit-detail-dialog .booking-price-card{height:112px;min-height:112px;padding:10px 12px}
.unit-detail-dialog .booking-count-card__head,
.unit-detail-dialog .booking-price-card__head{
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:baseline;
  gap:6px;
  text-align:center;
}
.unit-detail-dialog .booking-count-card__head strong,
.unit-detail-dialog .booking-price-card__head strong{order:1;font-size:19px}
.unit-detail-dialog .booking-count-card__head small,
.unit-detail-dialog .booking-price-card__head small{order:2;font-size:11px;white-space:nowrap}
.unit-detail-dialog .booking-price-card{
  justify-content:center;
}
.unit-detail-dialog .booking-price-card__head{margin-bottom:4px}
.unit-detail-dialog .booking-price-card b{
  margin-top:6px;
  font-size:33px;
  align-self:center;
}
.unit-detail-dialog .booking-counter{grid-template-columns:42px 1fr 42px;align-items:center}
.unit-detail-dialog .booking-counter__button{background:rgba(255,255,255,.04)}
.unit-detail-dialog .reservation-bottom-actions{margin-top:8px}

@media(min-width:761px){
  .unit-detail-dialog .unit-gallery-panel--reservation{grid-row:1 / span 2}
}

@media(max-width:760px){
  .unit-detail-dialog .unit-info-title--hero{
    min-height:96px;
    padding:4px 22px 0;
  }
  .unit-detail-dialog .unit-info-title--hero span{
    top:4px;
    right:4px;
    max-width:calc(100% - 46px);
  }
  .unit-detail-dialog #unitBlockLabel .unit-block-name{font-size:13px}
  .unit-detail-dialog #unitBlockLabel .unit-block-meta{font-size:10px}
  .unit-detail-dialog .unit-info-title--hero h2{
    margin-top:26px;
    font-size:clamp(30px,8vw,40px);
  }
  .unit-detail-dialog .unit-hero-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .unit-detail-dialog .unit-hero-card{
    min-height:88px;
    padding:12px 8px 8px;
    display:block;
  }
  .unit-detail-dialog .unit-hero-card__icon{
    position:absolute;
    top:9px;
    right:10px;
    font-size:18px;
  }
  .unit-detail-dialog .unit-hero-card > div{
    padding-top:16px;
  }
  .unit-detail-dialog .unit-hero-card strong{font-size:15px}
  .unit-detail-dialog .unit-hero-card small{font-size:8.5px}
  .unit-detail-dialog .unit-amenity-shell{padding:10px 10px 12px}
  .unit-detail-dialog .unit-amenities-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .unit-detail-dialog .amenity-chip{min-height:64px;height:64px;padding:7px 4px}
  .unit-detail-dialog .amenity-chip__icon{font-size:18px;margin-bottom:3px}
  .unit-detail-dialog .amenity-chip b{font-size:10px}
  .unit-detail-dialog .unit-description-card{min-height:38px;padding:8px 10px;border-radius:14px}
  .unit-detail-dialog .unit-description-card strong{font-size:13px}
  .unit-detail-dialog .unit-description-card span{font-size:11px}
  .unit-detail-dialog .unit-gallery-main{min-height:320px}
  .unit-detail-dialog .unit-gallery-main img{min-height:320px}
  .unit-detail-dialog .unit-gallery-nav{font-size:40px;width:28px;height:50px}
  .unit-detail-dialog .reservation-totals-row{
    grid-template-columns:1fr 1fr;
    height:auto;
    gap:8px;
  }
  .unit-detail-dialog .booking-count-card{height:98px;min-height:98px;padding:8px 8px}
  .unit-detail-dialog .booking-price-card{grid-column:1 / -1;height:94px;min-height:94px;padding:8px 10px}
  .unit-detail-dialog .booking-count-card__head,
  .unit-detail-dialog .booking-price-card__head{
    justify-content:center;
    gap:4px;
  }
  .unit-detail-dialog .booking-count-card__head strong,
  .unit-detail-dialog .booking-price-card__head strong{font-size:15px}
  .unit-detail-dialog .booking-count-card__head small,
  .unit-detail-dialog .booking-price-card__head small{font-size:8px}
  .unit-detail-dialog .booking-price-card b{font-size:24px;margin-top:2px}
  .unit-detail-dialog .reservation-bottom-actions{display:grid;grid-template-columns:.88fr 1.2fr;gap:8px}
  .unit-detail-dialog .reservation-bottom-actions .reservation-primary,
  .unit-detail-dialog .reservation-bottom-actions .reservation-secondary{width:100%;min-width:0}
}

/* v16.5.31 — desktop spacing + restore approved mobile composition */
@media(min-width:761px){
  .unit-detail-dialog .reservation-totals-row{
    position:relative;
    top:12px;
  }
  .unit-detail-dialog .unit-hero-card{
    position:relative;
    display:grid;
    place-items:center;
    text-align:center;
  }
  .unit-detail-dialog .unit-hero-card > div{
    width:100%;
    padding-inline:42px;
    text-align:center;
  }
  .unit-detail-dialog .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-bed .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-price .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-family .unit-hero-card__icon{
    position:absolute;
    top:50%;
    right:16px;
    left:auto;
    transform:translateY(-50%);
    width:auto;
    height:auto;
    min-width:0;
    min-height:0;
    flex:0 0 auto;
    padding:0;
    margin:0;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    color:inherit;
    font-size:34px;
    line-height:1;
  }
}

@media(max-width:760px){
  .unit-detail-dialog{
    width:100vw;
    height:100dvh;
    max-width:none;
    max-height:none;
    margin:0;
    padding:12px 10px 14px;
    border-radius:0;
    overflow-y:auto;
    overflow-x:hidden;
    scrollbar-width:none;
  }
  .unit-detail-dialog::-webkit-scrollbar,
  .unit-detail-dialog .reservation-booking-shell::-webkit-scrollbar{display:none}
  .unit-detail-dialog .dialog-x.dialog-x--bare{
    position:fixed;
    top:9px;
    left:9px;
    font-size:42px;
    z-index:50;
    text-shadow:0 0 16px rgba(255,93,135,.25);
  }
  .unit-detail-dialog .reservation-booking-shell{
    height:auto;
    min-height:100%;
    display:flex;
    flex-direction:column;
    gap:10px;
    overflow:visible;
    padding-top:2px;
  }
  .unit-detail-dialog .reservation-modal-main{
    display:flex;
    flex-direction:column;
    gap:10px;
    direction:rtl;
  }
  .unit-detail-dialog .unit-info-panel--reservation{
    order:1;
    display:contents;
  }
  .unit-detail-dialog .unit-info-title--hero{
    order:1;
    min-height:92px;
    padding:4px 42px 0;
    display:grid;
  }
  .unit-detail-dialog .unit-info-title--hero span{
    top:4px;
    right:4px;
    max-width:calc(100% - 64px);
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .unit-detail-dialog #unitBlockLabel .unit-block-name{font-size:13px}
  .unit-detail-dialog #unitBlockLabel .unit-block-meta{font-size:10px}
  .unit-detail-dialog .unit-info-title--hero h2{
    margin-top:20px;
    font-size:34px;
    line-height:.92;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
  }
  .unit-detail-dialog .unit-gallery-panel--reservation{
    order:2;
    display:grid;
    grid-template-rows:auto 64px;
    gap:7px;
  }
  .unit-detail-dialog .unit-gallery-main{
    height:auto;
    min-height:0;
    aspect-ratio:16/10;
    border-radius:17px;
  }
  .unit-detail-dialog .unit-gallery-main img{
    height:100%;
    min-height:0;
    border-radius:17px;
  }
  .unit-detail-dialog .unit-gallery-nav{
    width:28px;
    height:50px;
    border:0;
    border-radius:0;
    background:none;
    box-shadow:none;
    font-size:40px;
  }
  .unit-detail-dialog .unit-gallery-nav.is-prev{right:9px;left:auto}
  .unit-detail-dialog .unit-gallery-nav.is-next{left:9px;right:auto}
  .unit-detail-dialog .unit-gallery-thumbs{
    height:64px;
    grid-auto-flow:column;
    grid-auto-columns:calc((100% - 18px) / 4);
    grid-template-columns:none;
    gap:6px;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
  }
  .unit-detail-dialog .unit-gallery-thumbs::-webkit-scrollbar{display:none}
  .unit-detail-dialog .unit-gallery-thumbs button{height:64px;border-radius:10px}
  .unit-detail-dialog .unit-hero-summary{
    order:3;
    height:auto;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .unit-detail-dialog .unit-hero-card{
    height:94px;
    min-height:94px;
    padding:8px 6px;
    display:grid;
    grid-template-columns:1fr;
    place-items:center;
    text-align:center;
    gap:3px;
    border-radius:15px;
  }
  .unit-detail-dialog .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-bed .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-price .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-family .unit-hero-card__icon{display:none}
  .unit-detail-dialog .unit-hero-card > div{
    width:100%;
    padding:0;
    text-align:center;
  }
  .unit-detail-dialog .unit-hero-card strong{font-size:19px;line-height:1.15}
  .unit-detail-dialog .unit-hero-card small{font-size:11px;line-height:1.25}
  .unit-detail-dialog .unit-amenity-shell{
    order:4;
    padding:10px;
    border-radius:17px;
    display:grid;
    grid-template-rows:auto auto;
    gap:7px;
    overflow:hidden;
  }
  .unit-detail-dialog .unit-section-head{
    display:flex;
    flex-direction:row;
    justify-content:center;
    align-items:center;
  }
  .unit-detail-dialog .unit-section-head b{font-size:19px;text-align:center}
  .unit-detail-dialog .unit-section-head span{display:none}
  .unit-detail-dialog .unit-amenities-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
    overflow:visible;
  }
  .unit-detail-dialog .amenity-chip{
    height:66px;
    min-height:66px;
    padding:5px 3px;
    border-radius:12px;
    gap:2px;
  }
  .unit-detail-dialog .amenity-chip__icon{width:28px;height:28px;border-radius:9px;font-size:15px}
  .unit-detail-dialog .amenity-chip b{font-size:12px;line-height:1.12}
  .unit-detail-dialog .unit-description-card{
    order:5;
    min-height:38px;
    padding:8px 10px;
    border-radius:14px;
  }
  .unit-detail-dialog .unit-description-card strong{font-size:13px}
  .unit-detail-dialog .unit-description-card span{font-size:11px}
  .unit-detail-dialog .availability-card--inline{display:none}
  .unit-detail-dialog .booking-date-grid--three{
    order:6;
    height:auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr);
    gap:6px;
    align-items:end;
    margin-top:0;
  }
  .unit-detail-dialog .booking-date-grid--three label>span{font-size:10px;line-height:1.25;white-space:nowrap}
  .unit-detail-dialog .jalali-date-field{height:48px;border-radius:13px;padding:0 8px;font-size:13px}
  .unit-detail-dialog .jalali-date-field b{font-size:14px}
  .unit-detail-dialog .booking-stay-pill{height:67px;min-height:67px;border-radius:13px;padding:5px}
  .unit-detail-dialog .booking-stay-pill span{display:none}
  .unit-detail-dialog .booking-stay-pill strong{font-size:25px}
  .unit-detail-dialog .reservation-totals-row{
    position:static;
    height:auto;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    direction:rtl;
  }
  .unit-detail-dialog .booking-count-card{
    min-width:0;
    height:112px;
    min-height:112px;
    padding:9px;
    border-radius:16px;
  }
  .unit-detail-dialog .booking-price-card{
    grid-column:1/-1;
    height:100px;
    min-height:100px;
    padding:9px 10px;
    border-radius:16px;
  }
  .unit-detail-dialog .booking-count-card__head,
  .unit-detail-dialog .booking-price-card__head{
    display:flex;
    flex-direction:row;
    align-items:baseline;
    justify-content:center;
    gap:4px;
    text-align:center;
  }
  .unit-detail-dialog .booking-count-card__head strong,
  .unit-detail-dialog .booking-price-card__head strong{order:1;font-size:17px}
  .unit-detail-dialog .booking-count-card__head small,
  .unit-detail-dialog .booking-price-card__head small{order:2;font-size:9px;white-space:nowrap}
  .unit-detail-dialog .booking-counter{grid-template-columns:40px 1fr 40px;gap:6px}
  .unit-detail-dialog .booking-counter__button{height:42px;border-radius:12px;font-size:27px}
  .unit-detail-dialog .booking-counter__value{min-height:42px;border-radius:12px;font-size:29px}
  .unit-detail-dialog .booking-price-card b{font-size:31px;margin-top:1px;text-align:center}
  .unit-detail-dialog .reservation-bottom-actions{
    height:54px;
    display:grid;
    grid-template-columns:minmax(105px,.72fr) minmax(0,1.28fr);
    gap:8px;
    direction:ltr;
    margin-top:0;
  }
  .unit-detail-dialog .reservation-primary--half,
  .unit-detail-dialog .reservation-secondary{
    width:100%;
    min-width:0;
    max-width:none;
    height:52px;
    min-height:52px;
    border-radius:14px;
    font-size:17px;
    padding:0 10px;
  }
  .unit-detail-dialog .form-status{
    height:auto;
    min-height:20px;
    line-height:1.4;
    white-space:normal;
    font-size:13px;
    padding-bottom:2px;
  }
}

/* v16.5.32 — top cards alignment + mobile title/row fix */
@media (min-width: 761px){
  .unit-detail-dialog .unit-hero-card{
    display:flex;
    flex-direction:row-reverse;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .unit-detail-dialog .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-bed .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-price .unit-hero-card__icon,
  .unit-detail-dialog .unit-hero-card.is-family .unit-hero-card__icon{
    margin-inline:0 4px;
    font-size:31px;
    line-height:1;
    flex:0 0 auto;
    align-self:center;
  }
  .unit-detail-dialog .unit-hero-card > div{
    flex:1 1 auto;
    min-width:0;
    text-align:center;
  }
  .unit-detail-dialog .reservation-totals-row{
    margin-top:14px;
  }
  .unit-detail-dialog .unit-gallery-thumbs{
    height:76px;
  }
  .unit-detail-dialog .unit-gallery-thumbs button{
    height:76px;
  }
}

@media (max-width: 760px){
  .unit-detail-dialog .unit-info-title--hero{
    justify-items:center;
    align-items:start;
    text-align:center;
  }
  .unit-detail-dialog .unit-info-title--hero h2{
    width:100%;
    text-align:center;
    justify-self:center;
    margin-inline:auto;
  }
  .unit-detail-dialog .unit-info-title--hero span{
    max-width:none;
    width:auto;
  }
  .unit-detail-dialog .booking-date-grid--three{
    grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
  }
  .unit-detail-dialog .booking-stay-pill{
    height:48px;
    min-height:48px;
    padding:0 4px;
    display:grid;
    place-items:center;
    align-items:center;
  }
  .unit-detail-dialog .booking-stay-pill strong{
    font-size:22px;
    line-height:1;
  }
}

/* v16.5.33 — branded footer credits on public home */
.home-brand-footer{
  width:min(980px,92vw);
  margin:54px auto 34px;
  padding:26px 22px 28px;
  display:grid;
  justify-items:center;
  gap:12px;
  text-align:center;
  border:1px solid rgba(231,190,79,.16);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(6,28,43,.86),rgba(4,19,31,.74));
  box-shadow:0 18px 40px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.03);
}
.home-brand-footer__logo{
  width:min(360px,52vw);
  max-width:360px;
  height:auto;
  object-fit:contain;
  margin-bottom:4px;
  filter:drop-shadow(0 0 18px rgba(229,190,73,.14));
}
.home-brand-footer__kicker,
.home-brand-footer__title{
  margin:0;
  font-family:Nas, BYekan, serif;
  color:#f0dfb3;
}
.home-brand-footer__kicker{
  margin-top:4px;
  font-size:29px;
  line-height:1.45;
}
.home-brand-footer__title{
  margin-top:10px;
  font-size:42px;
  line-height:1.3;
  color:#f7e9c4;
}
.home-brand-footer__body{
  margin:8px 0 0;
  max-width:880px;
  font:27px/1.65 BMitra, BYekan, sans-serif;
  color:#d6e4eb;
}
.home-brand-footer__english{
  margin:2px 0 0;
  direction:ltr;
  font:600 18px/1.5 "Segoe UI", Tahoma, Arial, sans-serif;
  letter-spacing:.2px;
  color:#c4d6df;
}

@media(max-width:760px){
  .home-brand-footer{
    width:min(94vw,520px);
    margin:38px auto 24px;
    padding:20px 14px 22px;
    gap:7px;
    border-radius:22px;
  }
  .home-brand-footer__logo{width:min(260px,66vw);height:auto}
  .home-brand-footer__kicker{font-size:21px;line-height:1.4}
  .home-brand-footer__title{font-size:31px;line-height:1.2}
  .home-brand-footer__body{font-size:19px;line-height:1.55}
  .home-brand-footer__english{font-size:14px;line-height:1.45}
}


/* v16.5.34 — manager room semantic colors + stable hover */
.manager-room-card{
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.manager-room-card:hover,
.manager-room-card:focus-within{
  transform:none;
  border-color:var(--state-color);
  box-shadow:0 15px 32px rgba(0,0,0,.16),0 0 18px color-mix(in srgb,var(--state-color) 13%,transparent);
}
.room-mini-action{
  transition:box-shadow .16s ease,border-color .16s ease,opacity .16s ease,background .16s ease;
}
.room-mini-action:hover:not(.is-disabled){
  transform:none;
  border-color:color-mix(in srgb,var(--action-color) 74%,transparent);
  box-shadow:inset -3px 0 0 var(--action-color),0 8px 18px color-mix(in srgb,var(--action-color) 10%,transparent);
}
.room-mini-action::after{
  transform:translateX(50%) translateY(0);
  transition:opacity .16s ease;
}
.room-mini-action:hover::after{
  transform:translateX(50%) translateY(0);
}
.room-mini-action.is-disabled:hover{
  transform:none;
}

/* v16.5.35 — footer typography + room title + stable manager tooltip */
.home-brand-footer{
  gap:0;
}
.home-brand-footer__kicker{
  margin:4px 0 0;
  font-family:BYekan, Arial, sans-serif;
  font-size:27px;
  line-height:1.45;
  color:#f0dfb3;
}
.home-brand-footer__title{
  margin:13px 0 0;
  font-family:Nas, BYekan, serif;
  font-size:42px;
  line-height:1.25;
  color:#f7e9c4;
}
.home-brand-footer__body{
  margin:18px 0 0;
  max-width:880px;
  font:22px/1.65 BMitra, BYekan, sans-serif;
  color:#d6e4eb;
}
.home-brand-footer__english{
  margin:13px 0 0;
  color:#f29a45;
  font-weight:700;
}
@media(min-width:701px){
  .public-unit-card h4{font-size:26px}
}

.room-mini-action::after{display:none}
.manager-room-tooltip{
  position:fixed;
  z-index:9999;
  transform:translateX(-50%);
  min-width:86px;
  max-width:min(260px,calc(100vw - 20px));
  padding:6px 11px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.09);
  background:rgba(6,18,29,.96);
  color:#f3ce59;
  font:14px/1.45 var(--font-body);
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:opacity .12s ease;
}
.manager-room-tooltip[hidden]{display:none}
.manager-room-tooltip.is-visible{opacity:1}

@media(max-width:760px){
  .home-brand-footer__kicker{
    margin-top:3px;
    font-size:19px;
  }
  .home-brand-footer__title{
    margin-top:10px;
    font-size:31px;
  }
  .home-brand-footer__body{
    margin-top:14px;
    font-size:17px;
    line-height:1.6;
  }
  .home-brand-footer__english{
    margin-top:10px;
    font-size:14px;
  }
}

/* v16.5.36 — customer registration + customer panel */
.account-shell--register{width:min(920px,94vw)}
.account-card--register{padding:26px 28px}
.account-brand--compact{display:grid;justify-items:center;gap:3px;margin-bottom:14px}
.account-brand--compact img{width:92px;height:92px;object-fit:contain;margin:0;filter:drop-shadow(0 0 16px rgba(227,187,73,.13))}
.account-brand--compact strong{font-family:Nas,var(--font-ui);font-size:31px;line-height:1.2;color:#f4e5bd;font-weight:400}
.account-brand--compact span{font-size:12px;color:#d7b84d}
.account-form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.account-address-block{display:grid;gap:9px;padding:14px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:rgba(255,255,255,.025)}
.account-section-title{display:flex;align-items:baseline;gap:8px}.account-section-title strong{font-size:15px;color:#f1f6f8}.account-section-title small{font:13px var(--font-body);color:#718d9b}
.account-form-row--address{grid-template-columns:.8fr .8fr 1.4fr}
.referral-fieldset{margin:0;padding:13px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:rgba(255,255,255,.02)}
.referral-fieldset legend{padding:0 8px;color:#a8bec8;font-size:11px}
.referral-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.referral-choice{position:relative;display:block;cursor:pointer}.referral-choice input{position:absolute;opacity:0;pointer-events:none}.referral-choice span{height:48px;padding:0 8px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.035);color:#c8d8df;font-size:13px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,color .18s ease}.referral-choice:hover span{border-color:rgba(74,197,218,.24);background:rgba(74,197,218,.06)}.referral-choice.is-selected span,.referral-choice input:checked+span{border-color:rgba(78,216,141,.36);background:rgba(50,181,108,.12);color:#aaf0c3;box-shadow:0 0 0 3px rgba(50,181,108,.05)}
.registration-welcome-dialog--brand{width:min(520px,calc(100vw - 28px));padding:28px 30px}.registration-welcome-logo{width:100px;height:100px;display:block;object-fit:contain;margin:0 auto 10px;filter:drop-shadow(0 0 18px rgba(226,188,70,.14))}.registration-welcome-dialog--brand h2{font-family:Nas,var(--font-ui);font-size:33px;font-weight:400}.registration-welcome-dialog--brand>p{font:20px/1.65 var(--font-body);margin:10px 0;color:#c4d3da}.registration-welcome-dialog--brand .credential-summary{margin:12px 0 16px}.registration-welcome-dialog--brand>button{font-size:15px}

.customer-panel-page{min-height:100svh;background:radial-gradient(circle at 12% 0,rgba(45,172,191,.12),transparent 30%),radial-gradient(circle at 88% 4%,rgba(224,183,63,.1),transparent 25%),linear-gradient(180deg,#061827,#03111d 72%,#020b13);color:#ecf7fa;overflow-x:hidden}
.customer-global-header{position:fixed;top:0;left:0;right:0;z-index:80;height:74px;padding:0 max(18px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-bottom:1px solid rgba(255,255,255,.075);background:rgba(4,20,33,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.customer-header-brand{justify-self:start;display:flex;align-items:center;gap:9px;color:#e8f3f6;text-decoration:none}.customer-header-brand img{width:44px;height:44px;object-fit:contain}.customer-header-brand span{font-size:13px;color:#d9c06d}.customer-header-title{justify-self:center;font-size:18px;color:#eef8fb}.customer-menu-button{justify-self:end;width:48px;height:48px;border:1px solid rgba(255,255,255,.09);border-radius:15px;background:rgba(255,255,255,.035);display:grid;place-content:center;gap:5px;cursor:pointer}.customer-menu-button span{display:block;width:22px;height:2px;border-radius:999px;background:#dce9ed}
.customer-panel-shell{width:min(1040px,94vw);margin:0 auto;padding:102px 0 48px;display:grid;gap:16px}.customer-welcome-card{min-height:170px;padding:25px 27px;border:1px solid rgba(255,255,255,.085);border-radius:27px;background:linear-gradient(145deg,rgba(11,43,64,.88),rgba(5,25,39,.9));display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 24px 58px rgba(0,0,0,.2)}.customer-welcome-card span{font-size:12px;color:#d4b64f}.customer-welcome-card h1{margin:5px 0 7px;font-size:31px;color:#f3e7c5}.customer-welcome-card p{margin:0;max-width:620px;font:18px/1.55 var(--font-body);color:#a7bdc7}.customer-reserve-link{flex:0 0 auto;min-width:150px;height:48px;padding:0 18px;border-radius:15px;display:grid;place-items:center;text-decoration:none;background:linear-gradient(145deg,#d4aa39,#efd16a);color:#082239;font-size:14px;font-weight:700}
.customer-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.customer-summary-grid article{min-height:92px;padding:15px 17px;border:1px solid rgba(255,255,255,.075);border-radius:19px;background:rgba(9,37,55,.76);display:grid;align-content:center;gap:6px}.customer-summary-grid span{font-size:11px;color:#839eab}.customer-summary-grid strong{font-size:17px;color:#eef7fa}
.customer-bookings-panel{padding:19px;border:1px solid rgba(255,255,255,.08);border-radius:25px;background:rgba(7,28,43,.76)}.customer-panel-heading span{font-size:10px;color:#d4b64f}.customer-panel-heading h2{margin:2px 0 12px;font-size:22px}.customer-booking-list{display:grid;gap:9px}.customer-booking-card{padding:14px 15px;border:1px solid rgba(255,255,255,.075);border-radius:18px;background:rgba(255,255,255,.025);display:grid;gap:10px}.customer-booking-card__head{display:flex;justify-content:space-between;align-items:center;gap:10px}.customer-booking-card__head>div{display:grid;gap:2px}.customer-booking-card__head strong{font-size:16px;color:#f4d76f}.customer-booking-card__head small{font-size:10px;color:#839daa}.customer-booking-card__head>span{padding:5px 9px;border-radius:9px;border:1px solid rgba(231,190,74,.2);background:rgba(231,190,74,.08);color:#efd576;font-size:10px}.customer-booking-card--confirmed .customer-booking-card__head>span{border-color:rgba(66,208,126,.22);background:rgba(66,208,126,.08);color:#81e5a8}.customer-booking-card--rejected .customer-booking-card__head>span,.customer-booking-card--cancelled .customer-booking-card__head>span{border-color:rgba(235,89,101,.22);background:rgba(235,89,101,.08);color:#ffadb5}.customer-booking-card__meta{display:flex;gap:8px;flex-wrap:wrap}.customer-booking-card__meta span{padding:6px 9px;border-radius:9px;background:rgba(255,255,255,.035);color:#9eb4bf;font-size:10px}.customer-booking-card__meta b{color:#eaf5f8}.customer-empty-state{padding:28px;text-align:center;border:1px dashed rgba(255,255,255,.08);border-radius:18px}.customer-empty-state strong{display:block;color:#dce9ed}.customer-empty-state p{font:16px var(--font-body);color:#839da9}
.customer-drawer-backdrop{position:fixed;inset:0;z-index:89;background:rgba(0,7,12,.55);opacity:0;transition:opacity .2s ease;backdrop-filter:blur(3px)}.customer-drawer-backdrop.is-open{opacity:1}.customer-profile-drawer{position:fixed;top:0;right:0;bottom:0;z-index:90;width:min(390px,90vw);padding:24px 20px 20px;background:linear-gradient(180deg,#08283d,#041823 75%,#03131e);border-left:1px solid rgba(255,255,255,.08);box-shadow:-25px 0 65px rgba(0,0,0,.35);transform:translateX(104%);transition:transform .28s cubic-bezier(.2,.82,.2,1);overflow-y:auto}.customer-profile-drawer.is-open{transform:translateX(0)}.customer-drawer-close{position:absolute;top:14px;left:14px;border:0;background:transparent;color:#ff648a;font-size:40px;line-height:1;cursor:pointer}.customer-profile-identity{display:grid;justify-items:center;gap:5px;margin:40px 0 18px}.customer-avatar{width:76px;height:76px;border-radius:24px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(69,196,216,.2),rgba(224,184,63,.14));border:1px solid rgba(255,255,255,.09);color:#f2d36a;font-size:28px}.customer-profile-identity strong{font-size:19px}.customer-profile-identity span{direction:ltr;color:#8da5b1;font-size:11px}.customer-profile-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.customer-profile-list>div{min-height:72px;padding:10px 11px;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.025);display:grid;align-content:center;gap:5px}.customer-profile-list .is-wide{grid-column:1/-1}.customer-profile-list span{font-size:9px;color:#7894a1}.customer-profile-list b{font:15px/1.45 var(--font-body);color:#dce9ee;word-break:break-word}.customer-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.customer-drawer-actions a,.customer-drawer-actions button{height:45px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:rgba(255,255,255,.035);display:grid;place-items:center;color:#d6e6eb;text-decoration:none;font-family:var(--font-ui);font-size:12px;cursor:pointer}.customer-drawer-actions button{background:rgba(150,45,61,.16);color:#ffb1bc}.customer-drawer-open{overflow:hidden}

/* exact three one-second flashes when a new manager booking request arrives */
#pendingRequestBadge.is-attention{animation:pendingBadgeRequestBlink 2s step-end 3}
@keyframes pendingBadgeRequestBlink{0%,49%{opacity:1;filter:brightness(1.35);text-shadow:0 0 16px rgba(241,203,91,.5)}50%,100%{opacity:.22;filter:brightness(.75);text-shadow:none}}

@media(max-width:760px){
  .account-card--register{padding:15px}.account-brand--compact img{width:76px;height:76px}.account-brand--compact strong{font-size:27px}.account-form-row--three,.account-form-row--address{grid-template-columns:1fr}.referral-choice-grid{grid-template-columns:1fr 1fr}.referral-choice span{height:44px;font-size:12px}.registration-welcome-dialog--brand{padding:22px 18px}.registration-welcome-logo{width:82px;height:82px}.registration-welcome-dialog--brand h2{font-size:27px}.registration-welcome-dialog--brand>p{font-size:18px}
  .customer-global-header{height:66px;padding-inline:12px}.customer-header-brand img{width:38px;height:38px}.customer-header-brand span{display:none}.customer-header-title{font-size:16px}.customer-menu-button{width:44px;height:44px}.customer-panel-shell{width:94vw;padding:84px 0 30px}.customer-welcome-card{min-height:0;padding:18px;display:grid}.customer-welcome-card h1{font-size:25px}.customer-welcome-card p{font-size:16px}.customer-reserve-link{width:100%;min-width:0;height:45px}.customer-summary-grid{grid-template-columns:1fr 1fr}.customer-summary-grid article:last-child{grid-column:1/-1}.customer-bookings-panel{padding:13px}.customer-booking-card__head{align-items:flex-start}.customer-booking-card__meta{display:grid;grid-template-columns:1fr 1fr}.customer-profile-list{grid-template-columns:1fr}.customer-profile-list .is-wide{grid-column:auto}.customer-drawer-actions{grid-template-columns:1fr}
}
.pending-booking-card__note{display:block;margin-top:5px;color:#8fa7b2;font:13px/1.45 var(--font-body)}

/* ===== v16.5.37 — customer auth flip modal ===== */
.account-page--auth{
  min-height:100svh;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 5%,rgba(33,166,205,.14),transparent 30%),
    radial-gradient(circle at 88% 0,rgba(229,186,69,.12),transparent 27%),
    linear-gradient(180deg,#041522 0%,#061b2b 54%,#020d16 100%);
  color:#eef8fb;
}
.customer-auth-page{min-height:100svh}
.customer-auth-dialog{
  width:min(980px,calc(100vw - 34px));
  max-height:94dvh;
  padding:0;
  border:0;
  border-radius:30px;
  background:transparent;
  color:#eef8fb;
  overflow:visible;
}
.customer-auth-dialog::backdrop{
  background:rgba(0,8,14,.72);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.customer-auth-close{
  position:absolute;
  z-index:12;
  top:15px;
  left:18px;
  color:#ff6289;
  font:46px/1 Arial,sans-serif;
  text-decoration:none;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.28));
}
.auth-flip-shell{
  position:relative;
  width:100%;
  height:760px;
  perspective:1800px;
  transition:height .38s cubic-bezier(.2,.8,.2,1);
}
.auth-flip-card{
  position:absolute;
  inset:0;
  transform-style:preserve-3d;
  transition:transform .72s cubic-bezier(.2,.78,.18,1);
}
.auth-flip-card.is-flipped{transform:rotateY(180deg)}
.auth-face{
  position:absolute;
  inset:0;
  padding:24px 28px 22px;
  border:1px solid rgba(80,194,225,.20);
  border-radius:30px;
  background:
    radial-gradient(circle at 16% 8%,rgba(54,185,221,.10),transparent 27%),
    radial-gradient(circle at 88% 92%,rgba(226,184,69,.08),transparent 26%),
    linear-gradient(150deg,rgba(8,39,59,.985),rgba(4,24,38,.99));
  box-shadow:0 34px 92px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,255,255,.02);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  overflow-y:auto;
  scrollbar-width:none;
}
.auth-face::-webkit-scrollbar{display:none}
.auth-face--login{transform:rotateY(180deg);display:grid;align-content:start;max-width:680px;margin-inline:auto;left:0;right:0}
.auth-brand{display:grid;justify-items:center;text-align:center;gap:3px;margin:0 auto 15px}
.auth-brand img{
  width:188px;
  height:88px;
  object-fit:contain;
  margin-top:-3px;
  filter:drop-shadow(0 0 18px rgba(234,189,57,.15));
}
.auth-brand strong{
  margin-top:12px;
  font-family:Nas,var(--font-ui);
  font-size:38px;
  line-height:1.1;
  font-weight:400;
  color:#f6e8c2;
}
.auth-brand span{font-size:14px;color:#daba4c;margin-top:4px}
.auth-brand--login{margin-top:18px;margin-bottom:22px}.auth-brand--login img{width:220px;height:104px}.auth-brand--login strong{font-size:43px}
.auth-mode-switch{
  width:min(460px,100%);
  margin:0 auto 16px;
  padding:5px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:16px;
  background:rgba(255,255,255,.025);
}
.auth-mode-switch button{
  height:42px;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:#9db3bd;
  font-family:var(--font-ui);
  font-size:14px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.auth-mode-switch button i{width:8px;height:8px;border-radius:50%;background:#536b77;box-shadow:none;transition:.2s ease}
.auth-mode-switch button.is-active{
  color:#baf3cf;
  border-color:rgba(67,213,130,.26);
  background:rgba(39,158,92,.12);
  box-shadow:inset 0 0 22px rgba(53,207,116,.025);
}
.auth-mode-switch button.is-active i{background:#51df8c;box-shadow:0 0 0 5px rgba(81,223,140,.07),0 0 12px rgba(81,223,140,.38)}
.auth-form{display:grid;gap:12px}
.auth-form label{display:grid;gap:6px;min-width:0}
.auth-form label>span{font-size:14px;color:#bfd0d8}.auth-form label>span small{font-size:11px;color:#7994a0;margin-right:5px}
.auth-form input,.auth-form textarea{
  width:100%;
  border:1px solid rgba(255,255,255,.10);
  border-radius:14px;
  background:rgba(16,48,68,.72);
  color:#f4fbfd;
  outline:0;
  font-family:var(--font-ui);
  font-size:16px;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.auth-form input{height:48px;padding:0 13px}.auth-form textarea{min-height:74px;padding:11px 13px;resize:vertical;line-height:1.5}
.auth-form input:focus,.auth-form textarea:focus{border-color:rgba(74,210,224,.45);box-shadow:0 0 0 3px rgba(74,210,224,.07);background:rgba(17,55,77,.84)}
.auth-form-row{display:grid;gap:10px}.auth-form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.auth-form-row--address{grid-template-columns:.8fr .8fr 1.4fr}
.auth-wide-field{grid-column:1/-1}
.auth-password-field{position:relative;min-width:0}.auth-password-field input{padding-left:48px}.auth-password-field button{
  position:absolute;left:6px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.045);color:#b9d3dc;font-size:18px;display:grid;place-items:center;cursor:pointer
}
.auth-password-field button.is-visible{background:rgba(75,202,220,.10);color:#85e7f1}
.auth-section{display:grid;gap:10px;padding:13px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.02)}
.auth-section-title{display:flex;align-items:baseline;gap:8px}.auth-section-title strong{font-size:18px;color:#edf7fa}.auth-section-title small{font:14px var(--font-body);color:#77919d}
.auth-referral-fieldset{margin:0;padding:11px 12px 12px;border:1px solid rgba(255,255,255,.07);border-radius:18px;background:rgba(255,255,255,.018)}
.auth-referral-fieldset legend{padding:0 8px;color:#bfd0d8;font-size:13px}
.auth-referral-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.auth-referral-choice{position:relative;cursor:pointer}.auth-referral-choice input{position:absolute;opacity:0;pointer-events:none}.auth-referral-choice span{
  height:44px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.035);color:#cad9df;font-size:13px;transition:.18s ease
}
.auth-referral-choice:hover span{border-color:rgba(77,201,220,.26);background:rgba(77,201,220,.055)}
.auth-referral-choice input:checked+span,.auth-referral-choice.is-selected span{border-color:rgba(75,216,137,.38);background:rgba(44,172,100,.13);color:#b8f4cd;box-shadow:0 0 0 3px rgba(44,172,100,.045)}
.auth-submit{
  width:min(560px,100%);height:50px;margin:2px auto 0;border:0;border-radius:15px;background:linear-gradient(145deg,#d9ae3b,#f2d36e);color:#08253a;font-family:var(--font-ui);font-size:17px;font-weight:900;cursor:pointer;box-shadow:0 12px 26px rgba(0,0,0,.18);transition:transform .16s ease,filter .16s ease
}
.auth-submit:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.04)}.auth-submit:disabled{opacity:.62;cursor:wait}
.auth-status{min-height:21px;margin:0;text-align:center;font-size:13px}
.auth-login-form{width:min(520px,100%);margin:6px auto 0;gap:14px}.auth-login-copy{text-align:center;margin:4px 0 6px}.auth-login-copy strong{font-size:25px;color:#f3f8fa}.auth-login-copy p{margin:5px 0 0;font:17px/1.55 var(--font-body);color:#8fa8b3}.auth-login-form .auth-submit{margin-top:7px}
.registration-welcome-logo--wide{width:220px;height:105px;margin-bottom:18px}.registration-welcome-dialog--brand h2{margin-top:12px;line-height:1.25}

/* customer panel uses the same user-supplied brand mark */
.customer-header-brand img{width:92px;height:46px;object-fit:contain}.customer-header-brand span{display:none}

@media(max-width:760px){
  .customer-auth-dialog{width:min(96vw,560px);max-height:96dvh;border-radius:23px}
  .customer-auth-close{top:10px;left:11px;font-size:40px}
  .auth-flip-shell{height:850px}
  .auth-face{padding:18px 13px 16px;border-radius:23px}
  .auth-brand{margin-bottom:12px}.auth-brand img{width:150px;height:70px}.auth-brand strong{font-size:31px;margin-top:9px}.auth-brand span{font-size:12px}
  .auth-brand--login{margin-top:22px}.auth-brand--login img{width:175px;height:82px}.auth-brand--login strong{font-size:34px}
  .auth-mode-switch{margin-bottom:13px}.auth-mode-switch button{height:40px;font-size:12px}
  .auth-form{gap:10px}.auth-form-row--three,.auth-form-row--address{grid-template-columns:1fr 1fr}.auth-form-row--three>label:nth-child(3){grid-column:1/-1}.auth-form-row--address>label:last-child{grid-column:1/-1}
  .auth-form label>span{font-size:12px}.auth-form input{height:45px;font-size:14px}.auth-form textarea{font-size:14px}
  .auth-section{padding:10px}.auth-section-title strong{font-size:16px}.auth-section-title small{font-size:12px}
  .auth-referral-grid{grid-template-columns:1fr 1fr}.auth-referral-choice span{height:42px;font-size:11px}
  .auth-submit{height:48px;font-size:15px}.auth-login-form{width:100%;margin-top:2px}.auth-login-copy strong{font-size:22px}.auth-login-copy p{font-size:15px}
  .registration-welcome-logo--wide{width:178px;height:84px}.registration-welcome-dialog--brand h2{font-size:29px}
  .customer-header-brand img{width:78px;height:39px}
}
@media(max-width:430px){
  .auth-form-row--three,.auth-form-row--address{grid-template-columns:1fr}.auth-form-row--three>label:nth-child(3),.auth-form-row--address>label:last-child{grid-column:auto}
  .auth-brand strong{font-size:28px}.auth-brand img{width:138px;height:64px}.auth-flip-shell{height:1050px}
}
@media(prefers-reduced-motion:reduce){.auth-flip-card,.auth-flip-shell{transition:none}}
.auth-face{bottom:auto;min-height:0}

/* v16.5.38 — compact auth flip modal + login input normalization layout */
@media (min-width:761px){
  .customer-auth-dialog{
    width:min(960px,calc(100vw - 34px));
    max-height:96dvh;
  }
  .auth-flip-shell{height:720px}
  .auth-face{
    padding:18px 26px 16px;
    overflow:hidden;
  }
  .auth-brand{
    gap:2px;
    margin:0 auto 10px;
  }
  .auth-brand img{
    width:174px;
    height:81px;
    margin-top:-2px;
  }
  .auth-brand strong{display:none}
  .auth-brand span{
    margin-top:1px;
    font-size:13px;
  }
  .auth-mode-switch{
    margin-bottom:11px;
  }
  .auth-form{gap:9px}
  .auth-form label{gap:4px}
  .auth-form label>span{font-size:13px}
  .auth-form input{height:44px}
  .auth-section{
    gap:7px;
    padding:10px 12px;
    border-radius:16px;
  }
  .auth-section-title strong{font-size:17px}
  .auth-section-title small{font-size:12px}
  .auth-referral-fieldset{
    padding:8px 10px 10px;
    border-radius:16px;
  }
  .auth-referral-choice span{height:40px}
  .auth-submit{height:46px;margin-top:0}
  .auth-status{min-height:18px;font-size:12px}
  .auth-face--login{
    max-width:680px;
    padding-top:22px;
  }
  .auth-brand--login{
    margin-top:0;
    margin-bottom:16px;
  }
  .auth-brand--login img{width:188px;height:88px}
  .auth-brand--login strong{display:none}
  .auth-login-form{margin-top:2px}
}

.customer-auth-close{
  position:absolute;
  z-index:30;
  top:14px;
  left:17px;
}
.auth-login-ltr{
  direction:ltr;
  text-align:left;
  unicode-bidi:plaintext;
}
.auth-login-form .auth-password-field input{
  direction:ltr;
  text-align:left;
  padding-left:13px;
  padding-right:48px;
}
.auth-login-form .auth-password-field button{
  left:auto;
  right:6px;
}

@media(max-width:760px){
  .auth-brand strong{display:none}
  .auth-brand{margin-bottom:8px}
  .auth-brand img{margin-top:0}
  .auth-section{gap:8px}
  .auth-flip-shell{height:760px}
}
@media(max-width:430px){
  .auth-flip-shell{height:920px}
}

/* Customer account auth: compact mobile grid and intrinsic-height flip faces.
   Passwords remain full width, and content remains scrollable under the soft keyboard. */
.auth-register-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.auth-register-passwords{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
  .customer-auth-dialog{
    width:min(96vw,560px);
    max-height:calc(100dvh - 16px);
    overflow:visible;
    margin:auto;
  }
  .auth-flip-shell{
    height:min(90dvh,680px);
    min-height:0;
  }
  .auth-face{
    bottom:auto;
    height:auto;
    max-height:calc(100dvh - 16px);
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:rgba(97,185,208,.35) transparent;
    padding:14px 13px 12px;
  }
  .auth-face--login{display:block;padding-bottom:19px}
  .auth-face::-webkit-scrollbar{display:block;width:4px}
  .auth-face::-webkit-scrollbar-thumb{background:rgba(97,185,208,.35);border-radius:8px}
  .auth-brand,.auth-brand--login{margin:0 auto 7px;gap:0}
  .auth-brand img,.auth-brand--login img{width:110px;height:54px;margin:0}
  .auth-brand span{font-size:11px;margin-top:0}
  .auth-mode-switch{width:100%;padding:3px;margin-bottom:8px;gap:4px;border-radius:13px}
  .auth-mode-switch button{height:35px;min-height:35px;font-size:12px;border-radius:10px}
  .auth-form,.auth-register-form{gap:6px}
  .auth-form-row,.auth-register-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .auth-register-passwords{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .auth-register-pair>label{grid-column:auto}
  .auth-form label{gap:2px}
  .auth-form label>span{font-size:11px;line-height:1.3;white-space:nowrap}
  .auth-form label>span small{font-size:9px;margin-inline-start:3px}
  .auth-form input{height:40px;min-height:40px;padding-inline:9px;font-size:14px;border-radius:11px}
  .auth-password-field input{padding-left:45px}
  .auth-password-field button{height:32px;width:34px}
  .auth-section{gap:5px;padding:7px 9px;border-radius:13px}
  .auth-section-title{gap:6px}
  .auth-section-title strong{font-size:13px}
  .auth-section-title small{font-size:10px}
  .auth-referral-fieldset{padding:5px 7px 7px;border-radius:13px}
  .auth-referral-fieldset legend{font-size:10px}
  .auth-referral-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .auth-referral-choice span{height:35px;font-size:11px;line-height:1.2;padding:0 4px;border-radius:9px;text-align:center}
  .auth-submit{height:42px;min-height:42px;margin:3px auto 0;font-size:14px;border-radius:11px}
  .auth-status:empty{display:none}
  .auth-login-form{gap:10px;margin-top:2px}
  .auth-login-copy{margin:0 0 2px}
  .auth-login-copy strong{font-size:19px}
  .auth-login-copy p{font-size:12px;margin-top:3px}
  .auth-login-form .auth-submit{margin-top:5px}
}
@media(max-width:350px){
  .auth-face{padding-inline:9px}
  .auth-form-row,.auth-register-pair{gap:5px}
  .auth-form input{padding-inline:6px;font-size:13px}
  .auth-referral-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-height:590px) and (max-width:760px){
  .auth-face{max-height:calc(100dvh - 10px)}
  .customer-auth-dialog{max-height:calc(100dvh - 10px)}
}

/* v16.5.39 — unified login + reservation success modal */
.booking-success-dialog{
  width:min(650px,calc(100vw - 28px));
  padding:0;
  border:1px solid rgba(71,211,132,.26);
  border-radius:30px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 0%,rgba(64,205,143,.13),transparent 36%),
    linear-gradient(145deg,#08273b,#061b2b 72%,#051622);
  box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.025) inset;
  color:#eef8fa;
}
.booking-success-dialog::backdrop{
  background:rgba(0,10,17,.78);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.booking-success-card{
  padding:28px 34px 30px;
  display:grid;
  justify-items:center;
  gap:12px;
  text-align:center;
}
.booking-success-logo{
  width:126px;
  height:auto;
  max-height:94px;
  object-fit:contain;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,.22));
}
.booking-success-check{
  width:62px;
  height:62px;
  border-radius:50%;
  display:grid;
  place-items:center;
  margin-top:2px;
  border:1px solid rgba(78,234,151,.38);
  background:radial-gradient(circle at 35% 30%,rgba(111,255,178,.26),rgba(27,129,81,.18));
  color:#72f1ab;
  font-size:38px;
  font-weight:900;
  box-shadow:0 0 0 8px rgba(67,203,129,.045),0 0 28px rgba(67,203,129,.13);
}
.booking-success-card h2{
  margin:0;
  color:#83f0b2;
  font-size:30px;
  line-height:1.35;
}
.booking-success-message{
  margin:2px 0 0;
  max-width:560px;
  font:23px/1.8 BMitra,BYekan,sans-serif;
  color:#e5f0f4;
}
.booking-success-followup{
  margin:0;
  max-width:540px;
  font:20px/1.7 BMitra,BYekan,sans-serif;
  color:#a9c2cd;
}
.booking-success-confirm{
  width:min(360px,100%);
  min-height:58px;
  margin-top:6px;
  border:0;
  border-radius:18px;
  background:linear-gradient(135deg,#dfb334,#f2d367);
  color:#09253a;
  font-family:var(--font-ui);
  font-size:21px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 15px 34px rgba(0,0,0,.2),0 0 22px rgba(225,187,64,.08);
  transition:transform .18s ease,filter .18s ease;
}
.booking-success-confirm:hover{transform:translateY(-1px);filter:brightness(1.05)}
.chat-login-dialog #chatLoginUsername,
.chat-login-dialog #chatLoginPassword{
  direction:ltr;
  text-align:left;
}

@media(max-width:760px){
  .booking-success-dialog{width:min(94vw,560px);border-radius:24px}
  .booking-success-card{padding:22px 17px 23px;gap:10px}
  .booking-success-logo{width:106px;max-height:80px}
  .booking-success-check{width:54px;height:54px;font-size:32px}
  .booking-success-card h2{font-size:25px}
  .booking-success-message{font-size:20px;line-height:1.65}
  .booking-success-followup{font-size:18px;line-height:1.6}
  .booking-success-confirm{min-height:54px;font-size:19px;border-radius:16px}
}

/* ===== v16.5.40 manager direct reservation + alerts + checkout ===== */
.dashboard-notification-button{cursor:pointer;padding:0}
.dashboard-notification-badge{position:absolute;top:-7px;right:-7px;min-width:23px;height:23px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:#ff355d;color:#fff;border:2px solid #071827;font:700 12px BYekan,sans-serif;box-shadow:0 0 0 4px rgba(255,53,93,.12),0 0 18px rgba(255,53,93,.42);animation:managerNoticeBadge 1.8s ease-in-out infinite}
@keyframes managerNoticeBadge{0%,100%{transform:scale(.96)}50%{transform:scale(1.08)}}
.dashboard-notification-dialog{width:min(720px,92vw);max-height:82dvh;padding:24px;border-radius:28px;border:1px solid rgba(75,199,220,.24);background:linear-gradient(155deg,#08283d,#061b2b 66%,#04131f);color:#eff8fa;box-shadow:0 34px 90px rgba(0,0,0,.58);overflow:hidden}
.dashboard-notification-dialog::backdrop{background:rgba(0,8,14,.72);backdrop-filter:blur(8px)}
.dashboard-notification-dialog>header{text-align:center;padding:3px 48px 16px;border-bottom:1px solid rgba(255,255,255,.07)}
.dashboard-notification-dialog>header span{color:#e7be50;font-size:14px}.dashboard-notification-dialog>header h2{margin:4px 0;font-size:31px}.dashboard-notification-dialog>header p{margin:0;color:#9fb4bf;font:17px/1.55 BMitra,sans-serif}
.dashboard-notification-list{display:grid;gap:10px;max-height:58dvh;overflow:auto;scrollbar-width:none;padding:14px 2px 2px}.dashboard-notification-list::-webkit-scrollbar{display:none}
.dashboard-notification-item{position:relative;display:grid;grid-template-columns:12px 1fr;gap:12px;align-items:start;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035)}
.dashboard-notification-item.is-unread{border-color:rgba(255,76,103,.25);background:linear-gradient(145deg,rgba(94,24,42,.18),rgba(255,255,255,.03))}.dashboard-notification-dot{width:9px;height:9px;margin-top:7px;border-radius:50%;background:#ff4867;box-shadow:0 0 12px rgba(255,72,103,.54)}.dashboard-notification-item.is-read .dashboard-notification-dot{background:#5e7783;box-shadow:none}.dashboard-notification-item strong{display:block;font-size:17px;color:#f5fbfd}.dashboard-notification-item p{margin:4px 0 0;color:#b9cbd3;font:17px/1.6 BMitra,sans-serif}
.dashboard-notification-toast-stack{position:fixed;right:20px;bottom:20px;z-index:99999;display:grid;gap:10px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.dashboard-notification-toast{display:grid;grid-template-columns:10px 1fr;gap:12px;padding:14px 16px;border-radius:20px;border:1px solid rgba(255,83,105,.3);background:linear-gradient(145deg,rgba(7,37,56,.97),rgba(21,25,35,.97));box-shadow:0 20px 55px rgba(0,0,0,.42);transform:translateX(28px);opacity:0;transition:opacity .45s ease,transform .45s ease}.dashboard-notification-toast.is-visible{opacity:1;transform:translateX(0)}.dashboard-notification-toast.is-leaving{opacity:0;transform:translateX(35px)}.dashboard-notification-toast>i{width:9px;height:9px;margin-top:7px;border-radius:50%;background:#ff3b63;box-shadow:0 0 14px rgba(255,59,99,.65)}.dashboard-notification-toast strong{display:block;color:#fff;font-size:17px}.dashboard-notification-toast p{margin:4px 0 0;color:#c7d6dc;font:17px/1.55 BMitra,sans-serif}

.manager-direct-booking-dialog{width:min(1450px,calc(100vw - 26px));max-height:95dvh}
.manager-direct-layout{align-items:start}.manager-direct-booking-dialog .unit-info-title--hero{min-height:112px}.manager-direct-booking-dialog .unit-gallery-main,.manager-direct-booking-dialog .unit-gallery-main img{min-height:430px}.manager-direct-booking-dialog .unit-gallery-main img{width:100%;height:100%;object-fit:cover}
.manager-direct-guest-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr .65fr;gap:10px}.manager-direct-guest-grid label{display:grid;gap:5px}.manager-direct-guest-grid label>span,.manager-direct-form .booking-notes-field>span{font:15px BYekan,sans-serif;color:#bcd0d9}.manager-direct-guest-grid input,.manager-direct-form .booking-notes-field input{height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.055);color:#f5fbfd;padding:0 13px;font:18px BYekan,sans-serif;outline:none}.manager-direct-guest-grid input:focus,.manager-direct-form .booking-notes-field input:focus{border-color:rgba(76,206,228,.42);box-shadow:0 0 0 3px rgba(76,206,228,.08)}
.manager-direct-booking-dialog .unit-gallery-thumbs{grid-auto-columns:calc((100% - 24px)/4)}

.room-checkout-bill-button{width:100%;min-height:34px;margin-top:8px;border:1px solid rgba(255,72,88,.48);border-radius:11px;background:linear-gradient(145deg,rgba(130,30,44,.88),rgba(183,48,67,.92));color:#fff;font:700 13px BYekan,sans-serif;cursor:pointer;box-shadow:0 8px 20px rgba(98,13,29,.18);transition:filter .18s ease,box-shadow .18s ease}.room-checkout-bill-button:hover{filter:brightness(1.08);box-shadow:0 0 0 2px rgba(255,75,97,.12),0 10px 24px rgba(98,13,29,.26)}
.manager-checkout-bill-dialog{width:min(720px,92vw)}.manager-checkout-bill-body{padding:8px 0 16px}.manager-checkout-bill-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.manager-checkout-bill-grid article{padding:13px 14px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);display:grid;gap:4px}.manager-checkout-bill-grid article span{font:14px BYekan,sans-serif;color:#8ea8b5}.manager-checkout-bill-grid article strong{font-size:19px;color:#f2f8fa}.manager-checkout-bill-grid article.is-total{grid-column:1/-1;text-align:center;border-color:rgba(75,221,145,.25);background:rgba(26,133,82,.13)}.manager-checkout-bill-grid article.is-total strong{font-size:30px;color:#75f0ac}

@media(max-width:760px){
  .dashboard-notification-toast-stack{right:10px;bottom:12px;width:calc(100vw - 20px)}
  .dashboard-notification-dialog{padding:18px 13px;border-radius:22px}.dashboard-notification-dialog>header h2{font-size:25px}.dashboard-notification-dialog>header p{font-size:15px}
  .manager-direct-booking-dialog{width:96vw;padding:14px 10px}.manager-direct-guest-grid{grid-template-columns:1fr 1fr}.manager-direct-guest-grid label:first-child{grid-column:1/-1}.manager-direct-booking-dialog .unit-gallery-main,.manager-direct-booking-dialog .unit-gallery-main img{min-height:300px}
  .manager-checkout-bill-grid{grid-template-columns:1fr}.manager-checkout-bill-grid article.is-total{grid-column:auto}
}

/* v16.5.41 — manager direct unit booking / stay modal */
.manager-direct-booking-dialog{
  width:min(1360px,calc(100vw - 30px));
  max-height:94dvh;
  overflow:hidden;
  padding:18px;
}
.manager-direct-booking-dialog .dialog-x{
  top:14px;
  left:16px;
  z-index:20;
}
.manager-direct-layout{
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  gap:18px;
  align-items:start;
}
.manager-direct-info{
  gap:10px;
  padding-top:0;
}
.manager-direct-booking-dialog .manager-direct-title{
  min-height:96px;
  padding-top:2px;
}
.manager-direct-booking-dialog .manager-direct-title h2{
  font-size:50px;
  margin-top:18px;
}
.manager-direct-booking-dialog .manager-direct-title small{
  display:block;
  margin-top:3px;
  font-size:15px;
}
.manager-direct-mode-switch{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:6px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.manager-direct-mode-switch button{
  min-height:64px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#d9e7ed;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:8px;
  align-items:center;
  text-align:right;
  padding:10px 14px;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.manager-direct-mode-switch button i{
  grid-row:1/-1;
  width:12px;
  height:12px;
  border-radius:50%;
  background:#526a76;
  box-shadow:0 0 0 5px rgba(82,106,118,.08);
}
.manager-direct-mode-switch button b{font-size:20px;line-height:1.1}
.manager-direct-mode-switch button small{font:15px/1.35 BMitra,sans-serif;color:#93a9b4}
.manager-direct-mode-switch button.is-active{
  border-color:rgba(68,216,137,.38);
  background:linear-gradient(145deg,rgba(23,118,75,.24),rgba(12,72,49,.18));
  box-shadow:0 0 0 1px rgba(68,216,137,.05),0 8px 20px rgba(0,0,0,.12);
}
.manager-direct-mode-switch button.is-active i{
  background:#48db8a;
  box-shadow:0 0 0 5px rgba(72,219,138,.11),0 0 12px rgba(72,219,138,.42);
}
.manager-direct-mode-switch button.is-active b{color:#d9ffe8}
.manager-direct-date-grid{margin-top:0}
.manager-direct-guest-grid--compact{
  grid-template-columns:1.25fr 1fr 1fr;
  gap:10px;
}
.manager-direct-form .booking-notes-field input{height:44px}
.manager-direct-totals-row{
  grid-template-columns:.92fr .92fr 1.16fr;
  gap:10px;
  height:110px;
  margin-top:0;
}
.manager-direct-totals-row .booking-count-card,
.manager-direct-totals-row .booking-price-card{
  height:110px;
  min-height:110px;
  padding:9px 11px;
}
.manager-direct-totals-row .booking-count-card__head,
.manager-direct-totals-row .booking-price-card__head{
  gap:5px;
}
.manager-direct-totals-row .booking-count-card__head strong,
.manager-direct-totals-row .booking-price-card__head strong{font-size:18px}
.manager-direct-totals-row .booking-count-card__head small,
.manager-direct-totals-row .booking-price-card__head small{font-size:10px}
.manager-direct-totals-row .booking-counter{grid-template-columns:40px 1fr 40px;gap:7px}
.manager-direct-totals-row .booking-counter__button{height:40px;font-size:28px}
.manager-direct-totals-row .booking-counter__value{min-height:40px;font-size:29px}
.manager-direct-total-card b{font-size:30px;text-align:center}
.manager-direct-actions{margin-top:2px}
.manager-direct-gallery-panel{
  margin-top:44px;
  align-self:start;
}
.manager-direct-booking-dialog .unit-gallery-main,
.manager-direct-booking-dialog .unit-gallery-main img{
  min-height:315px;
  height:315px;
}
.manager-direct-booking-dialog .unit-gallery-main img{
  width:100%;
  object-fit:cover;
}
.manager-direct-booking-dialog .unit-gallery-thumbs{
  height:68px;
  grid-auto-columns:calc((100% - 24px)/4);
}
.manager-direct-booking-dialog .unit-gallery-thumbs button{height:68px}

@media(max-width:980px){
  .manager-direct-booking-dialog{overflow:auto}
  .manager-direct-layout{grid-template-columns:1fr}
  .manager-direct-gallery-panel{margin-top:0;order:1}
  .manager-direct-info{order:2}
  .manager-direct-booking-dialog .unit-gallery-main,
  .manager-direct-booking-dialog .unit-gallery-main img{min-height:280px;height:280px}
}

@media(max-width:760px){
  .manager-direct-booking-dialog{width:96vw;padding:14px 10px}
  .manager-direct-booking-dialog .manager-direct-title{min-height:86px}
  .manager-direct-booking-dialog .manager-direct-title h2{font-size:38px;margin-top:18px}
  .manager-direct-mode-switch{gap:7px;padding:5px}
  .manager-direct-mode-switch button{min-height:58px;padding:8px 9px}
  .manager-direct-mode-switch button b{font-size:17px}
  .manager-direct-mode-switch button small{font-size:13px}
  .manager-direct-guest-grid--compact{grid-template-columns:1fr 1fr}
  .manager-direct-guest-grid--compact label:first-child{grid-column:1/-1}
  .manager-direct-totals-row{grid-template-columns:1fr 1fr;height:auto}
  .manager-direct-totals-row .booking-price-card{grid-column:1/-1;height:92px;min-height:92px}
  .manager-direct-totals-row .booking-count-card{height:98px;min-height:98px}
  .manager-direct-booking-dialog .unit-gallery-main,
  .manager-direct-booking-dialog .unit-gallery-main img{min-height:235px;height:235px}
}

/* v16.5.42 — manager direct modal rebuilt for desktop + mobile */
.manager-direct-booking-dialog{
  width:min(1380px,calc(100vw - 28px));
  max-height:95dvh;
  overflow:hidden;
  padding:18px 20px 16px;
}
.manager-direct-booking-dialog .dialog-x{
  top:12px;
  left:14px;
  z-index:30;
}
.manager-direct-shell{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  grid-template-areas:
    "gallery head"
    "gallery form"
    "footer footer";
  column-gap:18px;
  row-gap:10px;
  direction:ltr;
  align-items:start;
}
.manager-direct-head{
  grid-area:head;
  direction:rtl;
  min-width:0;
  display:grid;
  gap:10px;
}
.manager-direct-title{
  position:relative;
  min-height:96px;
  padding:8px 64px 0;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
}
.manager-direct-title span{
  position:absolute;
  top:7px;
  right:8px;
  left:auto;
  width:auto;
  color:#e8bd4e;
  font-size:15px;
  font-weight:800;
  white-space:nowrap;
}
.manager-direct-title h2{
  margin:18px 0 0;
  width:100%;
  text-align:center;
  font-family:Nas,BYekan,sans-serif;
  font-size:54px;
  line-height:1;
  color:#fff0bd;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
}
.manager-direct-mode-switch{
  margin:0;
  min-height:68px;
}
.manager-direct-form-panel{
  grid-area:form;
  direction:rtl;
  min-width:0;
}
.manager-direct-form{
  margin:0;
  padding:0;
  border-top:0;
  display:grid;
  gap:10px;
}
.manager-direct-date-grid{margin:0}
.manager-direct-guest-grid--compact{
  grid-template-columns:1.2fr 1fr 1fr;
  gap:9px;
}
.manager-direct-guest-grid input,
.manager-direct-form .booking-notes-field input{
  height:44px;
}
.manager-direct-totals-row{
  grid-template-columns:.9fr .9fr 1.2fr;
  gap:9px;
  height:104px;
  margin-top:1px;
}
.manager-direct-totals-row .booking-count-card,
.manager-direct-totals-row .booking-price-card{
  height:104px;
  min-height:104px;
  padding:8px 10px;
}
.manager-direct-gallery-panel{
  grid-area:gallery;
  direction:rtl;
  margin:0;
  align-self:start;
  min-width:0;
}
.manager-direct-booking-dialog .unit-gallery-main,
.manager-direct-booking-dialog .unit-gallery-main img{
  min-height:300px;
  height:300px;
}
.manager-direct-booking-dialog .unit-gallery-main{
  border-radius:22px;
}
.manager-direct-booking-dialog .unit-gallery-main img{
  width:100%;
  object-fit:cover;
  transition:opacity .28s ease,transform .28s ease;
}
.manager-direct-booking-dialog .unit-gallery-main img.is-switching{
  opacity:.76;
  transform:scale(1.012);
}
.manager-direct-booking-dialog .unit-gallery-thumbs{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 24px)/4);
  gap:8px;
  height:74px;
  margin-top:9px;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  overscroll-behavior-x:contain;
}
.manager-direct-booking-dialog .unit-gallery-thumbs::-webkit-scrollbar{display:none}
.manager-direct-booking-dialog .unit-gallery-thumbs button{
  width:auto;
  min-width:0;
  height:74px;
  border-radius:14px;
}
.manager-direct-booking-dialog .unit-gallery-nav{
  background:none;
  border:0;
  box-shadow:none;
  width:34px;
  height:62px;
  border-radius:0;
  padding:0;
  font-size:46px;
  color:#fff;
  text-shadow:0 4px 14px rgba(0,0,0,.5);
}
.manager-direct-booking-dialog .unit-gallery-nav.is-prev{left:14px;right:auto}
.manager-direct-booking-dialog .unit-gallery-nav.is-next{right:14px;left:auto}
.manager-direct-footer{
  grid-area:footer;
  direction:rtl;
  display:grid;
  justify-items:center;
  gap:6px;
  padding-top:4px;
}
.manager-direct-footer .form-status{
  order:1;
  min-height:18px;
  margin:0;
  font-size:13px;
  text-align:center;
}
.manager-direct-footer .manager-direct-actions{
  order:2;
  width:min(680px,100%);
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:12px;
  margin:0;
}
.manager-direct-footer .reservation-secondary,
.manager-direct-footer .reservation-primary{
  width:100%;
  min-width:0;
  min-height:54px;
  font-size:20px;
}

@media(max-width:980px){
  .manager-direct-booking-dialog{
    width:min(96vw,760px);
    max-height:96dvh;
    padding:14px 12px 12px;
    overflow:auto;
    scrollbar-width:none;
  }
  .manager-direct-booking-dialog::-webkit-scrollbar{display:none}
  .manager-direct-shell{
    grid-template-columns:1fr;
    grid-template-areas:
      "head"
      "gallery"
      "form"
      "footer";
    gap:10px;
  }
  .manager-direct-title{
    min-height:82px;
    padding:2px 34px 0;
  }
  .manager-direct-title span{
    top:3px;
    right:4px;
    font-size:12px;
  }
  .manager-direct-title h2{
    margin-top:17px;
    font-size:40px;
  }
  .manager-direct-mode-switch{
    gap:7px;
    padding:5px;
  }
  .manager-direct-mode-switch button{
    min-height:58px;
    padding:8px 9px;
  }
  .manager-direct-mode-switch button b{font-size:17px}
  .manager-direct-mode-switch button small{font-size:12px}
  .manager-direct-gallery-panel{margin:0}
  .manager-direct-booking-dialog .unit-gallery-main,
  .manager-direct-booking-dialog .unit-gallery-main img{
    min-height:250px;
    height:250px;
  }
  .manager-direct-booking-dialog .unit-gallery-thumbs{
    height:62px;
    grid-auto-columns:calc((100% - 18px)/4);
    gap:6px;
    margin-top:7px;
  }
  .manager-direct-booking-dialog .unit-gallery-thumbs button{height:62px}
  .manager-direct-form{gap:9px}
  .manager-direct-date-grid{
    grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);
    gap:6px;
  }
  .manager-direct-date-grid label>span{font-size:9px}
  .manager-direct-date-grid .jalali-date-field,
  .manager-direct-date-grid .booking-stay-pill{
    height:46px;
    min-height:46px;
  }
  .manager-direct-date-grid .booking-stay-pill strong{font-size:23px}
  .manager-direct-guest-grid--compact{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .manager-direct-guest-grid--compact label:first-child{grid-column:1/-1}
  .manager-direct-guest-grid input,
  .manager-direct-form .booking-notes-field input{height:42px;font-size:15px}
  .manager-direct-totals-row{
    grid-template-columns:1fr 1fr;
    height:auto;
    gap:7px;
  }
  .manager-direct-totals-row .booking-count-card{
    height:98px;
    min-height:98px;
  }
  .manager-direct-totals-row .booking-price-card{
    grid-column:1/-1;
    height:88px;
    min-height:88px;
  }
  .manager-direct-totals-row .booking-count-card__head strong,
  .manager-direct-totals-row .booking-price-card__head strong{font-size:16px}
  .manager-direct-totals-row .booking-count-card__head small,
  .manager-direct-totals-row .booking-price-card__head small{font-size:9px}
  .manager-direct-total-card b{font-size:27px}
  .manager-direct-footer{padding-top:2px}
  .manager-direct-footer .manager-direct-actions{
    width:100%;
    grid-template-columns:.76fr 1.24fr;
    gap:8px;
  }
  .manager-direct-footer .reservation-secondary,
  .manager-direct-footer .reservation-primary{
    min-height:50px;
    font-size:17px;
  }
}

@media(max-width:520px){
  .manager-direct-booking-dialog{
    width:calc(100vw - 10px);
    padding:12px 8px 10px;
    border-radius:22px;
  }
  .manager-direct-booking-dialog .dialog-x{
    top:7px;
    left:7px;
    font-size:42px;
  }
  .manager-direct-title{
    min-height:78px;
    padding-inline:28px;
  }
  .manager-direct-title h2{font-size:35px}
  .manager-direct-mode-switch button{
    min-height:54px;
    grid-template-columns:auto 1fr;
    padding:7px 8px;
  }
  .manager-direct-mode-switch button b{font-size:15px}
  .manager-direct-mode-switch button small{font-size:10px}
  .manager-direct-booking-dialog .unit-gallery-main,
  .manager-direct-booking-dialog .unit-gallery-main img{
    min-height:218px;
    height:218px;
  }
  .manager-direct-booking-dialog .unit-gallery-thumbs{
    height:54px;
  }
  .manager-direct-booking-dialog .unit-gallery-thumbs button{height:54px}
  .manager-direct-booking-dialog .unit-gallery-nav{
    font-size:38px;
    width:28px;
  }
  .manager-direct-guest-grid--compact{grid-template-columns:1fr 1fr}
  .manager-direct-guest-grid--compact label:first-child{grid-column:1/-1}
  .manager-direct-guest-grid label>span,
  .manager-direct-form .booking-notes-field>span{font-size:11px}
  .manager-direct-totals-row .booking-count-card{height:92px;min-height:92px;padding:7px}
  .manager-direct-totals-row .booking-price-card{height:82px;min-height:82px;padding:7px 9px}
  .manager-direct-totals-row .booking-counter{grid-template-columns:36px 1fr 36px;gap:5px}
  .manager-direct-totals-row .booking-counter__button{height:36px;font-size:24px}
  .manager-direct-totals-row .booking-counter__value{min-height:36px;font-size:25px}
  .manager-direct-total-card b{font-size:24px}
  .manager-direct-footer .form-status{font-size:11px;min-height:14px}
}

/* v16.5.43 — persistent manager alerts + stay resolution + arrival confirm */
.dashboard-notification-toast-stack{
  top:92px;
  left:20px;
  right:auto;
  bottom:auto;
  width:min(390px,calc(100vw - 28px));
  z-index:99999;
  pointer-events:none;
}
.dashboard-notification-toast{
  position:relative;
  grid-template-columns:10px 1fr 28px;
  align-items:start;
  pointer-events:auto;
}
.dashboard-notification-toast__close{
  width:26px;
  height:26px;
  border:0;
  border-radius:8px;
  background:rgba(255,255,255,.055);
  color:#ff7891;
  display:grid;
  place-items:center;
  font:700 20px/1 BYekan,sans-serif;
  cursor:pointer;
}
.dashboard-notification-toast__close:hover{background:rgba(255,80,105,.12);color:#ff9caf}
.dashboard-notification-toast.is-checkin{border-color:rgba(241,194,71,.36)}
.dashboard-notification-toast.is-checkin>i{background:#f1c247;box-shadow:0 0 14px rgba(241,194,71,.55)}
.dashboard-notification-toast.is-checkout{border-color:rgba(255,72,96,.36)}

.room-arrival-confirm-button{
  width:100%;
  min-height:34px;
  margin-top:8px;
  border:1px solid rgba(241,194,71,.52);
  border-radius:11px;
  background:linear-gradient(145deg,rgba(137,104,20,.9),rgba(205,158,38,.94));
  color:#fff7d4;
  font:700 13px BYekan,sans-serif;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(104,76,10,.18);
}
.room-arrival-confirm-button:hover{filter:brightness(1.08);box-shadow:0 0 0 2px rgba(241,194,71,.12),0 10px 24px rgba(104,76,10,.24)}

.manager-resolution-dialog{width:min(840px,94vw);overflow:hidden}
.manager-resolution-dialog>header{text-align:center;padding:3px 48px 12px}
.manager-resolution-dialog>header>span{color:#e6bd52;font-size:14px}
.manager-resolution-dialog>header h2{margin:4px 0 0;font-size:28px}
.manager-resolution-switch{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:4px 0 14px;
  padding:6px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:18px;
  background:rgba(255,255,255,.025);
}
.manager-resolution-switch button{
  min-height:54px;
  border:1px solid transparent;
  border-radius:14px;
  background:transparent;
  color:#9db2bd;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:700 18px BYekan,sans-serif;
  cursor:pointer;
}
.manager-resolution-switch button i{width:9px;height:9px;border-radius:50%;background:#526c78}
.manager-resolution-switch button.is-active{color:#eff9fa;border-color:rgba(75,215,144,.3);background:rgba(35,146,91,.13)}
.manager-resolution-switch button.is-active i{background:#4bd88d;box-shadow:0 0 12px rgba(75,216,141,.55)}
.manager-resolution-flip{position:relative;perspective:1300px;min-height:410px}
.manager-resolution-face{
  position:absolute;
  inset:0;
  backface-visibility:hidden;
  transition:transform .55s cubic-bezier(.2,.75,.22,1),opacity .35s ease;
}
.manager-resolution-face--checkout{transform:rotateY(0deg);opacity:1}
.manager-resolution-face--extend{transform:rotateY(180deg);opacity:0}
.manager-resolution-flip.is-extend .manager-resolution-face--checkout{transform:rotateY(-180deg);opacity:0}
.manager-resolution-flip.is-extend .manager-resolution-face--extend{transform:rotateY(0deg);opacity:1}
.manager-extension-form{display:grid;gap:14px}
.manager-extension-date-grid{grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);align-items:end}
.manager-extension-now{
  min-height:64px;
  display:grid;
  align-content:center;
  justify-items:center;
  gap:4px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(255,255,255,.045);
}
.manager-extension-now span{font:13px BYekan,sans-serif;color:#94aab5}
.manager-extension-now strong{font-size:20px;color:#f1f8fa}
.manager-extension-totals,.manager-arrival-totals{grid-template-columns:1fr 1fr 1.25fr;gap:10px;height:auto}
.manager-extension-totals .booking-count-card,.manager-extension-totals .booking-price-card,
.manager-arrival-totals .booking-count-card,.manager-arrival-totals .booking-price-card{min-height:132px;height:132px}
.manager-arrival-dialog{width:min(820px,94vw)}
.manager-arrival-dialog>header{text-align:center;padding:3px 48px 16px}
.manager-arrival-dialog>header span{color:#e6bd52;font-size:14px}
.manager-arrival-dialog>header h2{margin:4px 0;font-size:29px}
.manager-arrival-dialog>header p{margin:0;color:#9fb3bd;font:17px/1.5 BMitra,sans-serif}
.manager-arrival-form{display:grid;gap:16px}

@media(max-width:760px){
  .dashboard-notification-toast-stack{top:76px;left:10px;right:auto;bottom:auto;width:calc(100vw - 20px)}
  .dashboard-notification-toast{grid-template-columns:9px 1fr 26px;padding:12px 12px;border-radius:16px}
  .manager-resolution-dialog,.manager-arrival-dialog{width:96vw;padding:16px 12px;border-radius:22px}
  .manager-resolution-dialog>header h2,.manager-arrival-dialog>header h2{font-size:23px}
  .manager-resolution-switch button{min-height:48px;font-size:16px}
  .manager-resolution-flip{min-height:610px}
  .manager-extension-date-grid{grid-template-columns:1fr 76px 1fr;gap:6px}
  .manager-extension-now{min-height:48px;border-radius:13px}.manager-extension-now span{font-size:10px}.manager-extension-now strong{font-size:14px}
  .manager-extension-totals,.manager-arrival-totals{grid-template-columns:1fr 1fr;gap:7px}
  .manager-extension-totals .booking-price-card,.manager-arrival-totals .booking-price-card{grid-column:1/-1}
  .manager-extension-totals .booking-count-card,.manager-extension-totals .booking-price-card,
  .manager-arrival-totals .booking-count-card,.manager-arrival-totals .booking-price-card{min-height:110px;height:110px}
  .manager-resolution-face{overflow:auto;scrollbar-width:none}.manager-resolution-face::-webkit-scrollbar{display:none}
}

/* v16.5.44 — desktop-first stay-extension modal layout */
.manager-resolution-dialog{
  width:min(980px,94vw);
  max-height:94dvh;
  overflow:hidden;
  padding:20px 24px 18px;
}
.manager-resolution-dialog>header{padding:2px 54px 8px}
.manager-resolution-dialog>header h2{font-size:30px}
.manager-resolution-switch{margin:2px 0 12px}
.manager-resolution-flip{
  min-height:420px;
  transition:min-height .42s ease;
}
.manager-resolution-flip.is-extend{min-height:500px}
.manager-extension-form{
  display:grid;
  gap:11px;
  align-content:start;
}
.manager-extension-date-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px minmax(0,1fr);
  gap:12px;
  align-items:end;
  direction:ltr;
}
.manager-extension-date-field,
.manager-extension-start-field{
  display:grid;
  gap:6px;
  direction:rtl;
}
.manager-extension-date-field>span,
.manager-extension-start-field>span{
  min-height:18px;
  padding:0 3px;
  color:#b8cbd4;
  font:14px/1.3 BYekan,sans-serif;
}
.manager-extension-now{
  min-height:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.045);
}
.manager-extension-now strong{
  font-size:23px;
  line-height:1;
  color:#f5fbfd;
}
.manager-extension-date-grid .jalali-date-field{
  position:relative;
  height:52px;
  min-height:52px;
  padding:0 38px;
  justify-content:center;
}
.manager-extension-date-grid .jalali-date-field b{
  width:100%;
  text-align:center;
  font-size:21px;
  line-height:1;
  color:#f3f8fa;
}
.manager-extension-date-grid .jalali-date-field i{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
}
.manager-extension-days{
  width:100%;
  height:52px;
  min-height:52px;
  margin:0;
  padding:0 6px;
  display:grid;
  place-items:center;
  align-self:end;
  border-radius:14px;
}
.manager-extension-days strong{
  font-size:29px;
  line-height:1;
  white-space:nowrap;
}
.manager-extension-totals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  height:auto;
  margin-top:2px;
}
.manager-extension-totals .booking-count-card{
  min-height:112px;
  height:112px;
  padding:12px 16px;
  border-radius:18px;
}
.manager-extension-totals .booking-count-card__head{
  min-height:42px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  text-align:center;
}
.manager-extension-totals .booking-count-card__head strong{font-size:22px}
.manager-extension-totals .booking-count-card__head small{font-size:12px;white-space:nowrap}
.manager-extension-totals .booking-counter{
  grid-template-columns:48px 1fr 48px;
  gap:10px;
}
.manager-extension-totals .booking-counter__button{height:48px;font-size:31px}
.manager-extension-totals .booking-counter__value{min-height:48px;font-size:34px}
.manager-extension-price-card{
  min-height:92px;
  height:92px;
  padding:12px 18px;
  border-radius:18px;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  border-color:rgba(76,224,147,.26);
  background:linear-gradient(145deg,rgba(10,112,72,.34),rgba(4,62,43,.3));
}
.manager-extension-price-card .booking-price-card__head{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  margin:0 0 6px;
}
.manager-extension-price-card .booking-price-card__head strong{font-size:21px}
.manager-extension-price-card .booking-price-card__head small{font-size:12px;white-space:nowrap}
.manager-extension-price-card>b{
  margin:0;
  font-size:34px;
  line-height:1.05;
  color:#72f0ad;
  text-align:center;
}
.manager-extension-notes{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:10px;
  padding-top:2px;
}
.manager-extension-notes>span{
  color:#d4e3e9;
  font:16px BYekan,sans-serif;
  white-space:nowrap;
}
.manager-extension-notes textarea{
  width:100%;
  min-height:60px;
  max-height:60px;
  resize:none;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.045);
  color:#edf8fb;
  padding:10px 12px;
  outline:0;
  font:16px/1.5 BMitra,sans-serif;
}
.manager-extension-notes textarea:focus{
  border-color:rgba(77,204,224,.42);
  box-shadow:0 0 0 3px rgba(77,204,224,.07);
}
.manager-extension-actions{
  width:min(650px,100%);
  margin:2px auto 0;
  grid-template-columns:.8fr 1.55fr;
  gap:10px;
}
.manager-extension-actions button{height:48px;font-size:15px}
#managerExtensionStatus{min-height:22px;margin:0;text-align:center}

@media(max-width:760px){
  .manager-resolution-dialog{
    width:96vw;
    max-height:96dvh;
    padding:14px 10px 12px;
    overflow:hidden;
  }
  .manager-resolution-dialog>header{padding:2px 42px 8px}
  .manager-resolution-dialog>header h2{font-size:22px}
  .manager-resolution-switch{margin-bottom:9px;padding:5px}
  .manager-resolution-flip{min-height:470px}
  .manager-resolution-flip.is-extend{min-height:548px}
  .manager-extension-form{gap:9px}
  .manager-extension-date-grid{
    grid-template-columns:minmax(0,1fr) 74px minmax(0,1fr);
    gap:6px;
  }
  .manager-extension-date-field>span,
  .manager-extension-start-field>span{font-size:10px;min-height:14px}
  .manager-extension-now,
  .manager-extension-date-grid .jalali-date-field,
  .manager-extension-days{
    height:44px;
    min-height:44px;
    border-radius:12px;
  }
  .manager-extension-now strong{font-size:15px}
  .manager-extension-date-grid .jalali-date-field{padding:0 24px 0 18px}
  .manager-extension-date-grid .jalali-date-field b{font-size:14px}
  .manager-extension-date-grid .jalali-date-field i{left:8px}
  .manager-extension-days strong{font-size:20px}
  .manager-extension-totals{grid-template-columns:1fr 1fr;gap:7px}
  .manager-extension-totals .booking-count-card{
    min-height:104px;
    height:104px;
    padding:9px 8px;
  }
  .manager-extension-totals .booking-count-card__head{min-height:38px;gap:4px;flex-wrap:wrap}
  .manager-extension-totals .booking-count-card__head strong{font-size:15px}
  .manager-extension-totals .booking-count-card__head small{font-size:9px}
  .manager-extension-totals .booking-counter{grid-template-columns:37px 1fr 37px;gap:5px}
  .manager-extension-totals .booking-counter__button{height:39px;font-size:25px}
  .manager-extension-totals .booking-counter__value{min-height:39px;font-size:26px}
  .manager-extension-price-card{height:84px;min-height:84px;padding:9px 10px}
  .manager-extension-price-card .booking-price-card__head{gap:5px;margin-bottom:3px;flex-wrap:wrap}
  .manager-extension-price-card .booking-price-card__head strong{font-size:16px}
  .manager-extension-price-card .booking-price-card__head small{font-size:9px}
  .manager-extension-price-card>b{font-size:25px}
  .manager-extension-notes{grid-template-columns:1fr;gap:4px}
  .manager-extension-notes>span{font-size:12px}
  .manager-extension-notes textarea{min-height:52px;max-height:52px;font-size:14px}
  .manager-extension-actions{grid-template-columns:.75fr 1.4fr;gap:7px}
  .manager-extension-actions button{height:44px;font-size:13px}
  #managerExtensionStatus{min-height:18px;font-size:12px}
  .manager-resolution-face{overflow:hidden}
}

/* v16.5.45 — manager direct booking grid containment fix */
.manager-direct-booking-dialog{
  padding-top:20px;
}
.manager-direct-shell{
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);
  grid-template-areas:
    "head head"
    "gallery form"
    "footer footer";
  column-gap:20px;
  row-gap:14px;
  align-items:start;
}
.manager-direct-head{
  width:100%;
  max-width:980px;
  margin:0 auto;
  justify-self:center;
  gap:10px;
}
.manager-direct-title{
  min-height:104px;
  padding:6px 70px 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.manager-direct-title span{
  position:static;
  width:100%;
  margin:0 0 5px;
  text-align:center;
  font-size:16px;
  line-height:1.25;
}
.manager-direct-title h2{
  margin:0;
  width:100%;
  text-align:center;
  font-size:56px;
  line-height:1.05;
}
.manager-direct-mode-switch{
  width:min(760px,100%);
  margin:0 auto;
}
.manager-direct-gallery-panel{
  grid-area:gallery;
  min-width:0;
  width:100%;
  overflow:hidden;
  align-self:start;
}
.manager-direct-form-panel{
  grid-area:form;
  min-width:0;
  width:100%;
  align-self:start;
  position:relative;
  z-index:1;
}
.manager-direct-booking-dialog .unit-gallery-main{
  position:relative;
  width:100%;
  overflow:hidden;
}
.manager-direct-booking-dialog .unit-gallery-thumbs{
  position:relative;
  z-index:1;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
}
.manager-direct-booking-dialog .unit-gallery-thumbs button{
  overflow:hidden;
}
.manager-direct-totals-row{
  position:relative;
  z-index:2;
}
.manager-direct-footer{
  margin-top:2px;
}

@media(max-width:980px){
  .manager-direct-shell{
    grid-template-columns:1fr;
    grid-template-areas:
      "head"
      "gallery"
      "form"
      "footer";
    gap:11px;
  }
  .manager-direct-head{max-width:none;width:100%}
  .manager-direct-title{
    min-height:90px;
    padding:4px 38px 0;
  }
  .manager-direct-title span{
    position:static;
    margin-bottom:3px;
    text-align:center;
  }
  .manager-direct-title h2{
    margin:0;
    text-align:center;
  }
  .manager-direct-mode-switch{width:100%}
  .manager-direct-gallery-panel,
  .manager-direct-form-panel{width:100%;max-width:100%}
}

@media(max-width:520px){
  .manager-direct-booking-dialog{padding-top:14px}
  .manager-direct-title{
    min-height:82px;
    padding:2px 34px 0;
  }
  .manager-direct-title span{font-size:12px}
  .manager-direct-title h2{font-size:36px;line-height:1.05}
}

/* v16.5.46 — checkout spacing + centered bill values + extension amount animation */
.manager-resolution-face--checkout{
  box-sizing:border-box;
  padding-bottom:22px;
}
.manager-resolution-face--checkout .manager-checkout-bill-body{
  padding:8px 0 14px;
}
.manager-resolution-face--checkout .manager-override-actions{
  margin-top:18px;
  margin-bottom:14px;
}
.manager-resolution-face--checkout #managerCheckoutBillStatus{
  min-height:22px;
  margin:0 0 4px;
  text-align:center;
}
.manager-checkout-bill-grid article{
  text-align:center;
  justify-items:center;
  align-content:center;
}
.manager-checkout-bill-grid article span{
  width:100%;
  text-align:center;
}
.manager-checkout-bill-grid article strong{
  width:100%;
  text-align:center;
  color:#f0c84f;
}
.manager-checkout-bill-grid article.is-total strong{
  color:#75f0ac;
}
.manager-extension-price-card>b{
  font-variant-numeric:tabular-nums;
  will-change:contents;
}
@media(min-width:761px){
  .manager-resolution-flip:not(.is-extend){min-height:440px}
}
@media(max-width:760px){
  .manager-resolution-face--checkout{padding-bottom:14px}
  .manager-resolution-face--checkout .manager-override-actions{margin-top:12px;margin-bottom:10px}
}

/* v16.5.47 — fixed-size stay resolution + stable manager booking grid */
.manager-resolution-dialog{
  width:min(980px,94vw);
  height:min(710px,94dvh);
  max-height:94dvh;
  overflow:hidden;
  padding:20px 24px 18px;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr);
}
.manager-resolution-dialog>header{
  margin:0;
  padding:2px 54px 8px;
}
.manager-resolution-switch{margin:2px 0 12px}
.manager-resolution-flip,
.manager-resolution-flip.is-extend{
  min-height:0;
  height:100%;
}
.manager-resolution-face{
  height:100%;
  box-sizing:border-box;
  overflow:hidden;
}
.manager-resolution-face--checkout{
  display:grid;
  grid-template-rows:minmax(0,1fr) auto auto;
  align-content:stretch;
  padding:0 0 10px;
}
.manager-resolution-face--checkout .manager-checkout-bill-body{
  align-self:start;
  padding:8px 0 12px;
}
.manager-resolution-actions,
.manager-extension-actions{
  width:min(700px,100%);
  margin:10px auto 0;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);
  gap:12px;
  direction:rtl;
}
.manager-resolution-actions .manager-primary-button,
.manager-extension-actions .manager-primary-button,
.manager-resolution-actions .manager-resolution-back,
.manager-extension-actions .manager-resolution-back{
  width:100%;
  height:52px;
  min-height:52px;
  font-size:18px;
  font-weight:800;
}
.manager-resolution-actions .manager-resolution-back,
.manager-extension-actions .manager-resolution-back{
  border-color:rgba(255,92,105,.44);
  background:linear-gradient(145deg,#9d2838,#c53e53);
  color:#fff4f5;
  box-shadow:0 10px 24px rgba(126,25,42,.18);
}
.manager-resolution-actions .manager-resolution-back:hover,
.manager-extension-actions .manager-resolution-back:hover{
  background:linear-gradient(145deg,#aa2c3d,#d3475d);
  border-color:rgba(255,112,124,.58);
}
.manager-extension-form{
  height:100%;
  grid-template-rows:auto auto auto auto auto auto;
  align-content:start;
  gap:10px;
}
.manager-extension-actions{margin-top:2px}
#managerExtensionStatus{min-height:18px}

/* When a decisive action appears on a room card, it replaces the old progress text/track. */
.room-progress-block.has-action{
  min-height:32px;
  margin-top:5px;
  display:grid;
  align-items:center;
}
.room-progress-block.has-action .room-checkout-bill-button,
.room-progress-block.has-action .room-arrival-confirm-button{
  margin:0;
  min-height:30px;
  height:30px;
  padding:0 10px;
  font-size:12px;
}

/* Manager direct booking: neutralize generic reservation gallery grid-row rules. */
.manager-direct-booking-dialog{
  width:min(1380px,calc(100vw - 28px));
  max-height:95dvh;
  overflow:hidden;
}
.manager-direct-shell{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  grid-template-rows:auto auto auto;
  grid-template-areas:
    "head head"
    "gallery form"
    "footer footer";
  column-gap:22px;
  row-gap:14px;
  align-items:start;
}
.manager-direct-head{
  grid-area:head;
  grid-column:1 / -1;
  grid-row:1;
  width:100%;
  max-width:none;
}
.manager-direct-title{
  min-height:96px;
  padding:4px 72px 0;
}
.manager-direct-title h2{
  margin:0;
  text-align:center;
  font-size:54px;
}
.manager-direct-gallery-panel,
.manager-direct-booking-dialog .unit-gallery-panel--reservation{
  grid-area:gallery;
  grid-column:1;
  grid-row:2;
  align-self:start;
  min-width:0;
  width:100%;
  display:grid;
  grid-template-rows:300px 76px;
  gap:9px;
  overflow:hidden;
}
.manager-direct-form-panel{
  grid-area:form;
  grid-column:2;
  grid-row:2;
  align-self:start;
  min-width:0;
  width:100%;
}
.manager-direct-booking-dialog .unit-gallery-main,
.manager-direct-booking-dialog .unit-gallery-main img{
  width:100%;
  height:300px;
  min-height:300px;
  max-height:300px;
}
.manager-direct-booking-dialog .unit-gallery-thumbs{
  position:relative;
  width:100%;
  height:76px;
  margin:0;
  overflow-x:auto;
  overflow-y:hidden;
}
.manager-direct-booking-dialog .unit-gallery-thumbs button{
  height:76px;
}
.manager-direct-totals-row{
  position:relative;
  z-index:2;
}
.manager-direct-footer{
  grid-area:footer;
  grid-column:1 / -1;
  grid-row:3;
  align-self:start;
  padding-top:0;
}
.manager-direct-footer .manager-direct-actions{
  width:min(700px,100%);
  margin:0 auto;
}

@media(max-width:980px){
  .manager-direct-booking-dialog{
    width:min(96vw,760px);
    max-height:96dvh;
    overflow:auto;
    scrollbar-width:none;
  }
  .manager-direct-booking-dialog::-webkit-scrollbar{display:none}
  .manager-direct-shell{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    grid-template-areas:"head" "gallery" "form" "footer";
    gap:10px;
  }
  .manager-direct-head{grid-column:1;grid-row:1}
  .manager-direct-gallery-panel,
  .manager-direct-booking-dialog .unit-gallery-panel--reservation{
    grid-column:1;
    grid-row:2;
    grid-template-rows:250px 62px;
  }
  .manager-direct-form-panel{grid-column:1;grid-row:3}
  .manager-direct-footer{grid-column:1;grid-row:4}
  .manager-direct-booking-dialog .unit-gallery-main,
  .manager-direct-booking-dialog .unit-gallery-main img{
    height:250px;
    min-height:250px;
    max-height:250px;
  }
  .manager-direct-booking-dialog .unit-gallery-thumbs,
  .manager-direct-booking-dialog .unit-gallery-thumbs button{height:62px}
}

@media(max-width:760px){
  .manager-resolution-dialog{
    width:96vw;
    height:min(760px,96dvh);
    max-height:96dvh;
    padding:14px 10px 12px;
  }
  .manager-resolution-flip,
  .manager-resolution-flip.is-extend{height:100%;min-height:0}
  .manager-resolution-face{overflow:auto;scrollbar-width:none}
  .manager-resolution-face::-webkit-scrollbar{display:none}
  .manager-resolution-actions,
  .manager-extension-actions{
    grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);
    gap:7px;
  }
  .manager-resolution-actions .manager-primary-button,
  .manager-extension-actions .manager-primary-button,
  .manager-resolution-actions .manager-resolution-back,
  .manager-extension-actions .manager-resolution-back{
    height:46px;
    min-height:46px;
    font-size:14px;
  }
}

/* v16.5.48 — persistent room timeline + true stay extension + dialog visibility */
.manager-resolution-dialog:not([open]),
.manager-arrival-dialog:not([open]){
  display:none;
}
.manager-resolution-dialog[open]{display:grid}
.manager-arrival-dialog[open]{display:block}

/* Keep the timeline visible even when the primary room action is present. */
.manager-room-card .room-primary.has-primary-action{
  min-height:22px;
}
.room-progress-block.has-action{
  min-height:51px;
  margin-top:4px;
  display:grid;
  grid-template-rows:28px 15px 3px;
  gap:2px;
  align-items:center;
}
.room-progress-block.has-action .room-checkout-bill-button,
.room-progress-block.has-action .room-arrival-confirm-button{
  width:100%;
  height:28px;
  min-height:28px;
  margin:0;
  padding:0 10px;
  font-size:12px;
  line-height:1;
}
.room-progress-block.has-action .room-progress-text{
  min-height:15px;
  margin:0;
  font-size:12px;
  line-height:15px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.room-progress-block.has-action .room-progress-track{
  height:3px;
  margin:0;
}

/* Arrival confirmation: same visual language as the stay-resolution modal. */
.manager-arrival-dialog{
  width:min(900px,94vw);
  max-height:92dvh;
  overflow:hidden;
  padding:22px 26px 20px;
  border-radius:28px;
}
.manager-arrival-dialog>header{
  text-align:center;
  padding:2px 56px 14px;
  margin:0;
}
.manager-arrival-dialog>header span{
  display:block;
  color:#e8bd4c;
  font-size:13px;
  margin-bottom:5px;
}
.manager-arrival-dialog>header h2{
  margin:0;
  font-size:31px;
  color:#f4f9fb;
}
.manager-arrival-dialog>header p{
  margin:7px 0 0;
  color:#a9bdc6;
  font:18px/1.5 BMitra,sans-serif;
}
.manager-arrival-form{
  display:grid;
  gap:14px;
}
.manager-arrival-totals{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  height:auto;
}
.manager-arrival-totals .booking-count-card{
  min-height:122px;
  height:122px;
  padding:12px 16px;
  border-radius:18px;
}
.manager-arrival-totals .booking-price-card{
  grid-column:1 / -1;
  min-height:98px;
  height:98px;
  padding:12px 18px;
  border-radius:18px;
  display:grid;
  align-content:center;
  justify-items:center;
  text-align:center;
  background:linear-gradient(145deg,rgba(8,107,70,.38),rgba(5,61,44,.34));
  border-color:rgba(76,224,147,.28);
}
.manager-arrival-totals .booking-price-card .booking-price-card__head{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  margin-bottom:5px;
}
.manager-arrival-totals .booking-price-card>b{
  margin:0;
  color:#71efad;
  font-size:35px;
  line-height:1.05;
}
.manager-arrival-actions{
  width:min(700px,100%);
  margin:2px auto 0;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr);
  gap:12px;
  direction:rtl;
}
.manager-arrival-actions .manager-primary-button,
.manager-arrival-actions .manager-secondary-button{
  width:100%;
  height:52px;
  min-height:52px;
  font-size:17px;
  font-weight:800;
}
.manager-arrival-actions .manager-secondary-button{
  border-color:rgba(255,92,105,.44);
  background:linear-gradient(145deg,#9d2838,#c53e53);
  color:#fff4f5;
}
#managerArrivalStatus{
  min-height:20px;
  margin:0;
  text-align:center;
}

@media(max-width:760px){
  .manager-arrival-dialog{
    width:96vw;
    max-height:96dvh;
    overflow:auto;
    scrollbar-width:none;
    padding:14px 10px 12px;
  }
  .manager-arrival-dialog::-webkit-scrollbar{display:none}
  .manager-arrival-dialog>header{padding:2px 42px 10px}
  .manager-arrival-dialog>header h2{font-size:23px}
  .manager-arrival-dialog>header p{font-size:15px}
  .manager-arrival-totals{grid-template-columns:1fr 1fr;gap:7px}
  .manager-arrival-totals .booking-count-card{height:108px;min-height:108px;padding:9px 8px}
  .manager-arrival-totals .booking-price-card{height:86px;min-height:86px;padding:9px 10px}
  .manager-arrival-totals .booking-price-card>b{font-size:27px}
  .manager-arrival-actions{grid-template-columns:minmax(0,1.35fr) minmax(0,.75fr);gap:7px}
  .manager-arrival-actions .manager-primary-button,
  .manager-arrival-actions .manager-secondary-button{height:46px;min-height:46px;font-size:14px}
}

/* v16.5.49 — reservation search filters, opaque selectors, facade labels, arrival modal fit */
.reservation-search-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(260px,1.18fr) minmax(180px,.78fr) minmax(180px,.72fr);
  gap:12px;
}
.reservation-search-field,
.reservation-unit-selector,
.reservation-bed-selector{position:relative;display:grid;gap:7px;min-width:0}
.reservation-search-field>span,
.reservation-unit-selector>span,
.reservation-bed-selector>span{font-size:14px;color:#a9c0ca;font-family:BYekan,Arial,sans-serif}
.reservation-search-date,
.reservation-unit-selector__button,
.reservation-bed-selector__button,
.reservation-search-button{height:54px}
.reservation-search-date b,
.reservation-unit-selector__button b,
.reservation-bed-selector__button b{font-size:17px;font-family:BYekan,Arial,sans-serif}
.reservation-search-button b{font-size:17px}.reservation-search-button span{font-size:24px}
.reservation-bed-selector__button{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;
  border:1px solid rgba(255,255,255,.11);border-radius:14px;background:#0a2a3e;color:#eff8fb;
  font-family:BYekan,Arial,sans-serif;cursor:pointer
}
.reservation-bed-selector__button i{font-style:normal;color:#87ddea}
.reservation-unit-selector__panel,
.reservation-bed-selector__panel{
  position:absolute;top:calc(100% + 8px);right:0;z-index:40;padding:12px;
  border:1px solid rgba(74,202,224,.28);border-radius:18px;background:#061b2a;
  box-shadow:0 24px 58px rgba(0,0,0,.5);backdrop-filter:none;-webkit-backdrop-filter:none;
}
.reservation-unit-selector__panel{width:min(720px,88vw)}
.reservation-bed-selector__panel{width:min(410px,84vw)}
.reservation-unit-selector__panel[hidden],.reservation-bed-selector__panel[hidden]{display:none}
.reservation-unit-choice,
.reservation-bed-choice{
  min-height:46px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:#0b293d;color:#edf7fb;
  font-family:BYekan,Arial,sans-serif;font-size:18px;font-weight:700;cursor:pointer;
  transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease
}
.reservation-unit-choice:hover,.reservation-bed-choice:hover{border-color:rgba(226,190,76,.34);background:#0e334b}
.reservation-unit-choice.is-active,.reservation-bed-choice.is-active{background:linear-gradient(145deg,#d3aa3d,#f0d16e);border-color:transparent;color:#092238;box-shadow:0 8px 18px rgba(224,184,66,.17)}
.reservation-unit-choice.is-all,.reservation-bed-choice.is-all{width:100%;margin-bottom:9px}
.reservation-unit-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.reservation-bed-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}

/* Unit labels on mansion renders: BYekan and corrected, readable placement. */
.room-hotspot{
  min-width:88px;height:36px;padding:0 12px;
  font-family:BYekan,Arial,sans-serif;font-size:18px;font-weight:700;
}
.room-hotspot__label{font-family:BYekan,Arial,sans-serif;transform:none}

/* Larger, roomier manager arrival confirmation modal. */
.manager-arrival-dialog{
  width:min(980px,94vw);
  min-height:610px;
  max-height:94dvh;
  padding:26px 30px 24px;
}
.manager-arrival-dialog>header{padding:4px 60px 18px}
.manager-arrival-dialog>header span{font-size:15px}
.manager-arrival-dialog>header h2{font-size:34px}
.manager-arrival-dialog>header p{font-size:20px}
.manager-arrival-form{gap:18px}
.manager-arrival-totals{gap:14px}
.manager-arrival-totals .booking-count-card{height:146px;min-height:146px;padding:16px 18px}
.manager-arrival-totals .booking-count-card__head strong{font-size:26px}
.manager-arrival-totals .booking-count-card__head small{font-size:14px}
.manager-arrival-totals .booking-counter__value{font-size:42px}
.manager-arrival-totals .booking-counter__button{font-size:34px}
.manager-arrival-totals .booking-price-card{height:112px;min-height:112px}
.manager-arrival-totals .booking-price-card__head strong{font-size:24px}
.manager-arrival-totals .booking-price-card__head small{font-size:14px}
.manager-arrival-totals .booking-price-card>b{font-size:40px}
.manager-arrival-actions{margin-top:8px}

@media(max-width:1100px) and (min-width:761px){
  .reservation-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-unit-selector{grid-column:1/-1}
  .reservation-bed-selector{grid-column:1/2}
  .reservation-search-button{grid-column:2/3}
}

@media(max-width:760px){
  .reservation-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .reservation-unit-selector,.reservation-bed-selector{grid-column:1/-1}
  .reservation-search-button{grid-column:1/-1}
  .reservation-search-field>span,.reservation-unit-selector>span,.reservation-bed-selector>span{font-size:12px}
  .reservation-search-date,.reservation-unit-selector__button,.reservation-bed-selector__button,.reservation-search-button{height:48px}
  .reservation-search-date b,.reservation-unit-selector__button b,.reservation-bed-selector__button b,.reservation-search-button b{font-size:15px}
  .reservation-unit-selector__panel,.reservation-bed-selector__panel{width:100%;right:0;padding:9px;background:#061b2a}
  .reservation-unit-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .reservation-unit-choice,.reservation-bed-choice{min-height:42px;font-size:15px}
  .reservation-bed-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .room-hotspot{min-width:56px;height:28px;padding:0 6px;font-size:12px}
  .room-hotspot[data-rear="1"]{min-width:52px}

  /* Baloot mobile: outer labels stay at real outer doors/walls instead of drifting toward the center. */

  /* Toska mobile keeps the same door-centered geometry. */

  .manager-arrival-dialog{width:96vw;min-height:0;max-height:96dvh;padding:16px 12px 14px;overflow:auto}
  .manager-arrival-dialog>header h2{font-size:25px}.manager-arrival-dialog>header p{font-size:16px}
  .manager-arrival-totals .booking-count-card{height:110px;min-height:110px}
  .manager-arrival-totals .booking-count-card__head strong{font-size:18px}
  .manager-arrival-totals .booking-count-card__head small{font-size:10px}
  .manager-arrival-totals .booking-counter__value{font-size:30px}
  .manager-arrival-totals .booking-price-card{height:90px;min-height:90px}
  .manager-arrival-totals .booking-price-card>b{font-size:29px}
}
/* Match the corrected Toska source image ratio so hotspot Y coordinates remain exact. */
.building-visual[data-building-visual="toska"]{aspect-ratio:1448/1086}

/* ===== v16.5.50 — iOS / installed-PWA safe-area viewport fix ===== */
:root{
  --app-safe-top:env(safe-area-inset-top,0px);
  --app-safe-right:env(safe-area-inset-right,0px);
  --app-safe-bottom:env(safe-area-inset-bottom,0px);
  --app-safe-left:env(safe-area-inset-left,0px);
}

/* Keep every full-page surface painted through the physical viewport. */
html,body{
  min-height:100vh;
  min-height:100dvh;
  background-color:#071827;
}

@media(max-width:760px){
  .landing-shell{
    min-height:100vh;
    min-height:100dvh;
    background:#071827;
  }

  .landing-stage{
    min-height:100vh;
    min-height:100dvh;
    background-color:#071827;
  }

  /* The navigation must begin below the iPhone status / Dynamic-Island area. */
  .topbar{
    min-height:calc(56px + var(--app-safe-top));
    padding-top:calc(6px + var(--app-safe-top));
    padding-right:max(8px,var(--app-safe-right));
    padding-left:max(8px,var(--app-safe-left));
  }

  /* Keep the visual background painted behind the bottom home-indicator area. */
  .landing-bg-layer{
    bottom:calc(-1 * var(--app-safe-bottom));
  }
  .landing-stage::before,
  .landing-stage::after{
    bottom:calc(-1 * var(--app-safe-bottom));
  }

  /* Bottom overlays stay above the home indicator instead of leaving a false gap. */
  .site-metrics-overlay{
    bottom:calc(13px + var(--app-safe-bottom));
  }
  .landing-stage.has-home-slider .site-metrics-overlay{
    bottom:calc(126px + var(--app-safe-bottom));
  }
  .food-zone{
    bottom:calc(.15vh + var(--app-safe-bottom));
  }

  /* Other full-screen PWA surfaces use the modern mobile viewport as well. */
  .manager-body,
  .manager-home-body,
  .customer-panel-page,
  .customer-auth-page{
    min-height:100dvh;
  }

  .customer-global-header{
    height:calc(66px + var(--app-safe-top));
    padding-top:var(--app-safe-top);
    padding-right:max(12px,var(--app-safe-right));
    padding-left:max(12px,var(--app-safe-left));
  }
  .customer-panel-shell{
    padding-top:calc(84px + var(--app-safe-top));
    padding-bottom:calc(30px + var(--app-safe-bottom));
  }
}

/* Installed mode on iOS can report the CSS viewport without the lower safe inset.
   Extend only the hero stage by that inset, so the dynamic background reaches the
   physical bottom edge while the next section remains naturally below it. */
@media(max-width:760px) and (display-mode:standalone){
  .landing-stage{
    min-height:calc(100dvh + var(--app-safe-bottom));
  }

  /* Move the composition slightly down inside the full-bleed canvas. */
  .landing-bg-layer{
    background-position:center calc(50% + 12px);
  }

  .hero{
    margin-top:-8px;
    transform:translateY(0);
  }
}

@media(max-width:430px) and (display-mode:standalone){
  .topbar{
    min-height:calc(54px + var(--app-safe-top));
    padding-top:calc(5px + var(--app-safe-top));
  }
  .hero{
    margin-top:-10px;
    transform:translateY(0);
  }
}

/* v16.5.51 — manager news categories + extension lifecycle fix */
.dashboard-notification-item{
  grid-template-columns:12px minmax(0,1fr);
  align-items:start;
}
.dashboard-notification-copy{min-width:0}
.dashboard-notification-title-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.dashboard-notification-title-row strong{min-width:0}
.dashboard-notification-title-row time{
  flex:0 0 auto;
  direction:rtl;
  color:#8fa6b2;
  font:14px/1.35 BYekan,sans-serif;
  white-space:nowrap;
}
.dashboard-notification-item.is-checkin .dashboard-notification-dot{
  background:#f1c247;
  box-shadow:0 0 12px rgba(241,194,71,.58);
}
.dashboard-notification-item.is-checkin .dashboard-notification-title-row strong{
  color:#f2c84f;
}
.dashboard-notification-item.is-checkout .dashboard-notification-dot{
  background:#ff4c67;
  box-shadow:0 0 12px rgba(255,76,103,.58);
}
.dashboard-notification-item.is-checkout .dashboard-notification-title-row strong{
  color:#ff6178;
}
.dashboard-notification-item.is-checkin.is-read,
.dashboard-notification-item.is-checkout.is-read{
  opacity:1;
}
@media(max-width:760px){
  .dashboard-notification-title-row{align-items:flex-start;gap:8px}
  .dashboard-notification-title-row time{font-size:11px}
}

/* v16.5.52 — crawl-visible brand authority section for the public homepage */
.home-seo-intro{
  position:relative;
  z-index:4;
  margin:0;
  padding:56px 0 34px;
  background:
    radial-gradient(circle at 12% 8%,rgba(223,182,61,.10),transparent 32%),
    radial-gradient(circle at 88% 82%,rgba(43,190,203,.09),transparent 34%),
    linear-gradient(180deg,#051522 0%,#061827 100%);
  color:#edf7fb;
}
.home-seo-intro__inner{
  width:min(1120px,92vw);
  margin:0 auto;
  padding:34px clamp(22px,4vw,48px);
  border:1px solid rgba(236,207,104,.20);
  border-radius:30px;
  background:linear-gradient(145deg,rgba(11,38,55,.92),rgba(5,24,38,.94));
  box-shadow:0 26px 68px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  text-align:center;
}
.home-seo-intro__kicker{
  margin:0 0 16px;
  color:#e7c85b;
  font:700 13px/1.5 var(--font-ui);
  letter-spacing:.03em;
}
.home-seo-intro h1{
  margin:20px 0 0;
  color:#fff8df;
  font:700 clamp(30px,4vw,48px)/1.22 Nas,BYekan,sans-serif;
  text-wrap:balance;
}
.home-seo-intro__lead{
  max-width:900px;
  margin:20px auto 0;
  color:#d8e6eb;
  font:clamp(17px,1.45vw,21px)/1.95 var(--font-body);
}
.home-seo-intro__aliases{
  max-width:900px;
  margin:11px auto 0;
  padding-top:11px;
  border-top:1px solid rgba(255,255,255,.07);
  color:#9fb7c3;
  font:clamp(15px,1.15vw,18px)/1.9 var(--font-body);
}
.home-seo-intro__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:26px;
  text-align:center;
}
.home-seo-card{
  min-width:0;
  padding:21px 22px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025);
}
.home-seo-card h2{
  margin:0 0 10px;
  color:#f1d166;
  font:700 clamp(18px,1.7vw,24px)/1.45 Nas,BYekan,sans-serif;
}
.home-seo-card p{
  margin:0;
  text-align:center;
  color:#bfd0d7;
  font:clamp(15px,1.08vw,18px)/1.8 var(--font-body);
}
.home-seo-intro__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.home-seo-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 20px;
  border:1px solid rgba(235,205,96,.36);
  border-radius:14px;
  background:rgba(229,192,65,.07);
  color:#f3dc84;
  font:700 14px/1.3 var(--font-ui);
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.home-seo-link:hover{
  transform:translateY(-1px);
  border-color:rgba(242,215,117,.64);
  background:rgba(229,192,65,.12);
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.home-seo-link--primary{
  border-color:rgba(89,205,214,.38);
  background:rgba(52,178,192,.10);
  color:#96ebef;
}
html:not([data-theme="dark"]) .home-seo-intro{
  background:
    radial-gradient(circle at 12% 8%,rgba(202,157,28,.11),transparent 34%),
    radial-gradient(circle at 88% 82%,rgba(35,153,165,.08),transparent 36%),
    linear-gradient(180deg,#eef5f7,#e6f0f3);
  color:#143447;
}
html:not([data-theme="dark"]) .home-seo-intro__inner{
  border-color:rgba(164,126,20,.18);
  background:rgba(251,253,253,.86);
  box-shadow:0 24px 55px rgba(22,67,83,.10),inset 0 1px 0 rgba(255,255,255,.8);
}
html:not([data-theme="dark"]) .home-seo-intro h1{color:#0c3046}
html:not([data-theme="dark"]) .home-seo-intro__lead{color:#294d60}
html:not([data-theme="dark"]) .home-seo-intro__aliases{border-color:rgba(15,70,91,.08);color:#607b89}
html:not([data-theme="dark"]) .home-seo-card{border-color:rgba(20,72,91,.10);background:rgba(255,255,255,.72)}
html:not([data-theme="dark"]) .home-seo-card h2{color:#8b6914}
html:not([data-theme="dark"]) .home-seo-card p{color:#426173}
html[lang="en"] .home-seo-intro,
html[lang="en"] .home-seo-intro__grid{text-align:left;direction:ltr}
html[lang="en"] .home-seo-intro__inner{text-align:center}
html[lang="en"] .home-seo-intro h1,
html[lang="en"] .home-seo-card h2{font-family:var(--font-ui),sans-serif}
@media(max-width:760px){
  .home-seo-intro{padding:34px 0 24px}
  .home-seo-intro__inner{width:min(94vw,680px);padding:25px 17px;border-radius:23px}
  .home-seo-intro h1{font-size:31px}
  .home-seo-intro__lead{font-size:17px;line-height:1.82}
  .home-seo-intro__aliases{font-size:15px;line-height:1.8}
  .home-seo-intro__grid{grid-template-columns:1fr;gap:10px;margin-top:20px}
  .home-seo-card{padding:17px 16px;border-radius:17px}
  .home-seo-card h2{font-size:20px}
  .home-seo-card p{font-size:15px;line-height:1.75}
  .home-seo-intro__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
  .home-seo-link{min-width:0;padding:9px 10px;font-size:12px}
}
@media(max-width:430px){
  .home-seo-intro__actions{grid-template-columns:1fr}
  .home-seo-link{font-size:13px}
}

/* v16.5.56 — manager realtime badges + registered users dialog */
.manager-home-card .manager-home-card__badge[hidden]{display:none}
.manager-home-card__badge.is-fresh{animation:managerHomeBadgeThreeBlink 1.45s ease-in-out 1}
@keyframes managerHomeBadgeThreeBlink{
  0%,16%,32%,48%,64%,100%{opacity:1;transform:scale(1)}
  8%,24%,40%{opacity:.12;transform:scale(.84)}
  56%{opacity:1;transform:scale(1.16)}
}
.manager-users-dialog{
  width:min(1040px,94vw);max-height:88dvh;padding:24px;border:1px solid rgba(192,109,255,.25);border-radius:28px;
  background:linear-gradient(155deg,#0a263b,#071a2a 62%,#061522);color:#edf8fb;box-shadow:0 34px 90px rgba(0,0,0,.58);overflow:hidden
}
.manager-users-dialog::backdrop{background:rgba(0,8,14,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.manager-users-dialog__head{text-align:center;padding:2px 52px 15px;border-bottom:1px solid rgba(255,255,255,.07)}
.manager-users-dialog__head>span{color:#d59cff;font-size:12px}.manager-users-dialog__head h2{margin:4px 0 5px;font-size:30px}.manager-users-dialog__head p{margin:0;color:#9eb6c0;font:17px/1.55 BMitra,sans-serif}
.manager-users-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.manager-users-summary article{display:grid;place-items:center;gap:3px;min-height:72px;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:17px;background:rgba(255,255,255,.035)}.manager-users-summary span{color:#91aab7;font-size:11px}.manager-users-summary strong{color:#f0d06b;font-size:25px}
.manager-users-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:57dvh;overflow:auto;padding:2px;scrollbar-width:thin}
.manager-user-card{position:relative;padding:15px;border:1px solid rgba(255,255,255,.075);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.manager-user-card.is-new{border-color:rgba(255,77,111,.38);box-shadow:0 0 0 1px rgba(255,77,111,.08),0 0 24px rgba(255,77,111,.08)}
.manager-user-card__head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.06)}
.manager-user-avatar{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(192,109,255,.22),rgba(56,194,223,.13));border:1px solid rgba(192,109,255,.28);color:#f3ddff;font-size:22px}.manager-user-card__head strong{display:block;font-size:17px}.manager-user-card__head small{display:block;margin-top:2px;color:#8fa9b4;font-size:11px}.manager-user-new-tag{padding:5px 9px;border-radius:99px;background:rgba(255,70,105,.14);border:1px solid rgba(255,70,105,.32);color:#ff9bad;font-size:10px}
.manager-user-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px}.manager-user-meta-grid>span{min-width:0;padding:8px 9px;border-radius:12px;background:rgba(255,255,255,.028);display:grid;gap:3px}.manager-user-meta-grid>span.is-wide{grid-column:1/-1}.manager-user-meta-grid small{color:#809ba8;font-size:9px}.manager-user-meta-grid b{color:#dbe9ee;font:13px/1.5 BYekan,sans-serif;white-space:normal;overflow-wrap:anywhere}.manager-user-meta-grid b.manager-referral-code{color:#f2d166;letter-spacing:.5px}
@media(max-width:760px){.manager-users-dialog{width:96vw;max-height:94dvh;padding:17px 11px;border-radius:22px}.manager-users-dialog__head{padding:3px 44px 12px}.manager-users-dialog__head h2{font-size:24px}.manager-users-dialog__head p{font-size:14px}.manager-users-summary{gap:6px;margin:10px 0}.manager-users-summary article{min-height:58px;padding:7px}.manager-users-summary strong{font-size:20px}.manager-users-list{grid-template-columns:1fr;max-height:66dvh}.manager-user-card{padding:12px;border-radius:17px}.manager-user-meta-grid{gap:5px}.manager-user-meta-grid b{font-size:12px}}

/* v16.5.56 — unified direct login/register flip modal */
.chat-auth-dialog{
  width:min(860px,calc(100vw - 28px));max-width:none;padding:0;border:0;background:transparent;box-shadow:none;overflow:visible;color:#fff
}
.chat-auth-dialog::backdrop{background:rgba(0,8,14,.76);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px)}
.chat-auth-dialog .chat-dialog-close{z-index:80;top:12px;left:12px;border:1px solid rgba(255,255,255,.12);background:rgba(5,25,39,.88);box-shadow:0 8px 24px rgba(0,0,0,.26)}
.chat-auth-view{width:100%}
.chat-auth-flip-shell{position:relative;width:100%;height:500px;perspective:1800px;transition:height .38s cubic-bezier(.2,.8,.2,1)}
.chat-auth-flip-card{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.78,.18,1)}
.chat-auth-flip-card.is-flipped{transform:rotateY(180deg)}
.chat-auth-face{
  position:absolute;inset:0;padding:24px 28px 22px;border:1px solid rgba(73,204,224,.22);border-radius:28px;
  background:radial-gradient(circle at 12% 8%,rgba(49,188,218,.11),transparent 28%),radial-gradient(circle at 88% 92%,rgba(231,190,75,.08),transparent 28%),linear-gradient(150deg,rgba(8,39,59,.99),rgba(4,23,37,.995));
  box-shadow:0 34px 92px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.025);backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow-y:auto;scrollbar-width:none
}
.chat-auth-face::-webkit-scrollbar{display:none}.chat-auth-face--login{transform:rotateY(0);display:grid;align-content:start;justify-items:center}.chat-auth-face--register{transform:rotateY(180deg)}
.chat-auth-app-icon{display:block;width:76px;height:76px;object-fit:contain;margin:2px auto 9px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.28)) drop-shadow(0 0 14px rgba(238,197,76,.12))}
.chat-auth-face h2{margin:0 0 14px;text-align:center;color:#f4f8fa;font-size:25px}
.chat-auth-mode-switch{width:min(410px,100%);margin:0 auto 16px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:6px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.025)}
.chat-auth-mode-switch button{height:40px;border:1px solid transparent;border-radius:11px;background:transparent;color:#9fb4bf;font-family:BYekan,sans-serif;cursor:pointer}.chat-auth-mode-switch button.is-active{color:#baf3cf;border-color:rgba(67,213,130,.28);background:rgba(39,158,92,.12);box-shadow:inset 0 0 20px rgba(53,207,116,.025)}
.chat-auth-form{display:grid;gap:10px}.chat-auth-login-form{width:min(520px,100%);margin:0 auto}.chat-auth-form label{display:grid;gap:5px;min-width:0}.chat-auth-form label>span{font-size:12px;color:#bfd0d8}.chat-auth-form label>span small{font-size:10px;color:#78919d}
.chat-auth-form input{min-width:0;width:100%;height:45px;padding:0 12px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(16,48,68,.72);color:#f4fbfd;outline:0;font-family:BYekan,sans-serif;font-size:14px}.chat-auth-form input:focus{border-color:rgba(74,210,224,.45);box-shadow:0 0 0 3px rgba(74,210,224,.07)}
.chat-auth-form-row{display:grid;gap:9px}.chat-auth-form-row--three{grid-template-columns:repeat(3,minmax(0,1fr))}.chat-auth-form-row--pair{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-auth-wide-field{grid-column:1/-1}
.chat-auth-referral-fieldset{margin:0;padding:9px 10px 10px;border:1px solid rgba(255,255,255,.07);border-radius:15px;background:rgba(255,255,255,.018)}.chat-auth-referral-fieldset legend{padding:0 7px;color:#bfd0d8;font-size:11px}.chat-auth-referral-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.chat-auth-referral-grid label{position:relative;cursor:pointer}.chat-auth-referral-grid input{position:absolute;opacity:0;pointer-events:none}.chat-auth-referral-grid span{height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(255,255,255,.035);color:#cad9df;font-size:11px;transition:.18s ease}.chat-auth-referral-grid input:checked+span{border-color:rgba(75,216,137,.4);background:rgba(44,172,100,.13);color:#b8f4cd;box-shadow:0 0 0 3px rgba(44,172,100,.045)}
.chat-auth-submit{width:min(520px,100%);height:47px;margin:2px auto 0;border:0;border-radius:14px;background:linear-gradient(145deg,#d9ae3b,#f2d36e);color:#08253a;font:900 15px BYekan,sans-serif;cursor:pointer;box-shadow:0 12px 26px rgba(0,0,0,.18)}.chat-auth-submit:disabled{opacity:.58;cursor:wait}
.chat-auth-dialog .chat-login-error{width:min(520px,100%);margin:0 auto;padding:8px 10px}.chat-auth-dialog .chat-auth-face .chat-login-error[hidden]{display:none}.chat-auth-dialog div#chatAccountView[hidden]{display:none}
.chat-registration-welcome-dialog .credential-summary--referral strong{color:#f3d36d;letter-spacing:.6px}
@media(max-width:760px){.chat-auth-dialog{width:min(96vw,620px)}.chat-auth-face{padding:19px 13px 16px;border-radius:23px}.chat-auth-app-icon{width:62px;height:62px;margin-bottom:7px}.chat-auth-face h2{font-size:21px;margin-bottom:11px}.chat-auth-mode-switch{margin-bottom:11px}.chat-auth-form-row--three{grid-template-columns:1fr 1fr}.chat-auth-form-row--three>label:nth-child(3){grid-column:1/-1}.chat-auth-referral-grid{grid-template-columns:1fr 1fr}.chat-auth-flip-shell{height:650px}}
@media(max-width:430px){.chat-auth-form-row--three{grid-template-columns:1fr}.chat-auth-form-row--three>label:nth-child(3){grid-column:auto}.chat-auth-flip-shell{height:860px}.chat-auth-face{padding-inline:11px}}
@media(prefers-reduced-motion:reduce){.chat-auth-flip-card,.chat-auth-flip-shell{transition:none}}
.chat-auth-dialog #chatAccountView{padding:26px 24px 22px;border:1px solid rgba(73,204,224,.22);border-radius:26px;background:linear-gradient(150deg,rgba(8,39,59,.99),rgba(4,23,37,.995));box-shadow:0 34px 92px rgba(0,0,0,.5);text-align:center}

/* ===== v16.5.57 — compact public auth + one X standard everywhere ===== */
/* Direct login stays compact; registration expands only when the card flips. */
.chat-auth-dialog{
  width:min(520px,calc(100vw - 32px));
  transition:width .34s cubic-bezier(.2,.78,.18,1);
}
.chat-auth-dialog.is-register-mode{
  width:min(820px,calc(100vw - 32px));
}
.chat-auth-flip-shell{height:405px;transition:height .34s cubic-bezier(.2,.78,.18,1)}
.chat-auth-face{border-radius:24px}
.chat-auth-face--login{padding:20px 24px 18px}
.chat-auth-face--login .chat-auth-app-icon{width:66px;height:66px;margin:0 auto 7px}
.chat-auth-face--login h2{font-size:23px;margin-bottom:11px}
.chat-auth-face--login .chat-auth-mode-switch{width:min(360px,100%);margin-bottom:12px}
.chat-auth-face--login .chat-auth-login-form{width:min(430px,100%);gap:11px}
.chat-auth-face--login .chat-auth-form input{height:44px}
.chat-auth-face--login .chat-auth-submit{width:min(430px,100%);height:45px;margin-top:2px}
.chat-auth-face--register{padding:21px 24px 19px}
.chat-auth-dialog.is-register-mode .chat-auth-app-icon{width:68px;height:68px;margin-bottom:6px}
.chat-auth-dialog.is-register-mode .chat-auth-face h2{font-size:23px;margin-bottom:11px}
.chat-auth-dialog.is-register-mode .chat-auth-mode-switch{margin-bottom:11px}

/* Every actual close control follows the same reference: bare thick pink X, no box. */
html body .dialog-x.dialog-x.dialog-x.dialog-x,
html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close,
html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close,
html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close,
html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close,
html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close,
html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit,
html body .manager-flash-toast.manager-flash-toast button[aria-label*="بستن"]{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#ff4f73;
  font-family:Arial,"Segoe UI Symbol",sans-serif;
  font-size:34px;
  font-weight:900;
  line-height:1;
  text-decoration:none;
  display:grid;
  place-items:center;
  cursor:pointer;
  filter:drop-shadow(0 0 7px rgba(255,79,115,.34));
  transition:transform .16s ease,color .16s ease,filter .16s ease;
}
html body .dialog-x.dialog-x.dialog-x.dialog-x:hover,
html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close:hover,
html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close:hover,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close:hover,
html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close:hover,
html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close:hover,
html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close:hover,
html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit:hover,
html body .manager-flash-toast.manager-flash-toast button[aria-label*="بستن"]:hover{
  background:transparent;
  color:#ff6f8e;
  box-shadow:none;
  transform:scale(1.10);
  filter:drop-shadow(0 0 10px rgba(255,79,115,.50));
}
html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close{top:10px;left:12px;z-index:90}
html body .customer-auth-close.customer-auth-close{top:10px;left:12px}

@media(max-width:760px){
  .chat-auth-dialog{width:min(440px,94vw)}
  .chat-auth-dialog.is-register-mode{width:min(620px,96vw)}
  .chat-auth-face--login{padding:18px 16px 16px}
  .chat-auth-face--login .chat-auth-app-icon{width:60px;height:60px}
  .chat-auth-face--login h2{font-size:21px}
}
@media(max-width:430px){
  .chat-auth-dialog,.chat-auth-dialog.is-register-mode{width:95vw}
  html body .dialog-x.dialog-x.dialog-x.dialog-x,
  html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close,
  html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close,
  html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close,
  html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close,
  html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close,
  html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close,
  html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit{
    width:34px;height:34px;min-width:34px;min-height:34px;font-size:31px;
  }
}


/* ===== v16.5.58 — final auth proportions + embossed close X ===== */
/* The two auth faces keep deliberately different sizes, but width/height changes
   are staged around the flip so the card never stretches into a large trapezoid. */
.chat-auth-dialog{
  width:min(460px,calc(100vw - 34px));
  transition:width .22s cubic-bezier(.2,.78,.18,1);
}
.chat-auth-dialog.is-register-mode{
  width:min(700px,calc(100vw - 34px));
}
.chat-auth-flip-shell{
  height:455px;
  perspective:4200px;
  transition:height .24s cubic-bezier(.2,.78,.18,1);
}
.chat-auth-flip-card{
  transition:transform .46s cubic-bezier(.24,.75,.24,1);
  transform-origin:center center;
}
.chat-auth-face{
  border-radius:22px;
  overflow-y:auto;
}
.chat-auth-face--login{
  padding:26px 18px 24px;
}
.chat-auth-face--login .chat-auth-app-icon{
  width:56px;height:56px;margin:6px auto 9px;
}
.chat-auth-face--login h2{
  font-size:21px;line-height:1.35;margin:0 0 8px;
}
.chat-auth-face--login .chat-auth-mode-switch{
  width:min(340px,100%);margin:0 auto 10px;padding:4px;border-radius:13px;
}
.chat-auth-face--login .chat-auth-mode-switch button{
  height:36px;border-radius:9px;font-size:12px;
}
.chat-auth-face--login .chat-auth-login-form{
  width:min(390px,100%);gap:8px;
}
.chat-auth-face--login .chat-auth-form label{gap:4px}
.chat-auth-face--login .chat-auth-form label>span{font-size:11px}
.chat-auth-face--login .chat-auth-form input{
  height:42px;border-radius:12px;font-size:13px;
}
.chat-auth-face--login .chat-auth-submit{
  width:min(390px,100%);height:43px;margin-top:1px;border-radius:12px;font-size:14px;
}

.chat-auth-face--register{
  padding:27px 20px 25px;
}
.chat-auth-dialog.is-register-mode .chat-auth-app-icon{
  width:56px;height:56px;margin:6px auto 8px;
}
.chat-auth-dialog.is-register-mode .chat-auth-face h2{
  font-size:21px;line-height:1.35;margin:0 0 8px;
}
.chat-auth-dialog.is-register-mode .chat-auth-mode-switch{
  width:min(390px,100%);margin:0 auto 9px;padding:4px;border-radius:13px;
}
.chat-auth-dialog.is-register-mode .chat-auth-mode-switch button{
  height:36px;border-radius:9px;font-size:12px;
}
.chat-auth-face--register .chat-auth-form{gap:8px}
.chat-auth-face--register .chat-auth-form-row{gap:8px}
.chat-auth-face--register .chat-auth-form label{gap:4px}
.chat-auth-face--register .chat-auth-form label>span{font-size:11px}
.chat-auth-face--register .chat-auth-form input{
  height:41px;border-radius:11px;font-size:12px;
}
.chat-auth-face--register .chat-auth-referral-fieldset{
  padding:7px 8px 8px;border-radius:13px;
}
.chat-auth-face--register .chat-auth-referral-fieldset legend{font-size:10px}
.chat-auth-face--register .chat-auth-referral-grid{gap:6px}
.chat-auth-face--register .chat-auth-referral-grid span{height:34px;border-radius:9px;font-size:10px}
.chat-auth-face--register .chat-auth-submit{
  width:min(480px,100%);height:43px;border-radius:12px;font-size:14px;
}

/* One close-button drawing everywhere: thick, rounded, slightly raised pink X.
   The glyph is hidden; two beveled bars render the exact same mark in every UI. */
html body .dialog-x.dialog-x.dialog-x.dialog-x,
html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close,
html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close,
html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close,
html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close,
html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close,
html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit,
html body .manager-flash-toast.manager-flash-toast button[aria-label*="بستن"]{
  position:relative;
  width:36px;height:36px;min-width:36px;min-height:36px;
  padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;
  color:transparent;font-size:0;line-height:0;text-shadow:none;filter:none;
  display:block;cursor:pointer;overflow:visible;
  transition:transform .16s ease,filter .16s ease;
}
html body .dialog-x.dialog-x.dialog-x.dialog-x::before,
html body .dialog-x.dialog-x.dialog-x.dialog-x::after,
html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close::before,
html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close::after,
html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close::before,
html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close::after,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close::before,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close::after,
html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close::before,
html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close::after,
html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close::before,
html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close::after,
html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close::before,
html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close::after,
html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit::before,
html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit::after,
html body .manager-flash-toast.manager-flash-toast button[aria-label*="بستن"]::before,
html body .manager-flash-toast.manager-flash-toast button[aria-label*="بستن"]::after{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:26px;height:4.5px;
  border-radius:99px;
  background:linear-gradient(180deg,#ff8da2 0%,#ff536f 42%,#e32c4e 72%,#c81738 100%);
  box-shadow:
    0 1.6px 0 rgba(107,6,27,.88),
    0 -1px 0 rgba(255,196,205,.32) inset,
    0 0 7px rgba(255,63,98,.47);
  transform-origin:center;
  pointer-events:none;
}
html body .dialog-x::before,html body .chat-dialog-close::before,html body .chat-panel-close::before,
html body .customer-auth-close::before,html body .customer-drawer-close::before,html body .dashboard-drawer-close::before,
html body .dashboard-notification-toast__close::before,html body .unit-gallery-fs-exit::before,
html body .manager-flash-toast button[aria-label*="بستن"]::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
html body .dialog-x::after,html body .chat-dialog-close::after,html body .chat-panel-close::after,
html body .customer-auth-close::after,html body .customer-drawer-close::after,html body .dashboard-drawer-close::after,
html body .dashboard-notification-toast__close::after,html body .unit-gallery-fs-exit::after,
html body .manager-flash-toast button[aria-label*="بستن"]::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}
html body .dialog-x:hover,html body .chat-dialog-close:hover,html body .chat-panel-close:hover,
html body .customer-auth-close:hover,html body .customer-drawer-close:hover,html body .dashboard-drawer-close:hover,
html body .dashboard-notification-toast__close:hover,html body .unit-gallery-fs-exit:hover,
html body .manager-flash-toast button[aria-label*="بستن"]:hover{
  background:transparent;box-shadow:none;transform:scale(1.08);filter:brightness(1.08);
}
html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close{top:20px;left:20px;z-index:90}
html body .customer-auth-close.customer-auth-close{top:8px;left:9px}

@media(max-width:760px){
  .chat-auth-dialog{width:min(445px,94vw)}
  .chat-auth-dialog.is-register-mode{width:min(620px,96vw)}
  .chat-auth-face--login{padding:22px 14px 20px}
  .chat-auth-face--register{padding:23px 13px 21px}
  .chat-auth-flip-shell{height:500px}
  .chat-auth-form-row--three{grid-template-columns:1fr 1fr}
  .chat-auth-form-row--three>label:nth-child(3){grid-column:1/-1}
}
@media(max-width:430px){
  .chat-auth-dialog,.chat-auth-dialog.is-register-mode{width:94vw}
  html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close{top:16px;left:16px}
  .chat-auth-form-row--three{grid-template-columns:1fr}
  .chat-auth-form-row--three>label:nth-child(3){grid-column:auto}
  html body .dialog-x.dialog-x.dialog-x.dialog-x,
  html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close,
  html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close,
  html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close,
  html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close,
  html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close,
  html body .dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close.dashboard-notification-toast__close,
  html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit{
    width:34px;height:34px;min-width:34px;min-height:34px;
  }
}


/* ===== v16.5.59 — taller auth cards + close control inset ===== */
/* Both faces intentionally keep more vertical breathing room. The close mark stays
   inside the rounded face rather than riding the outside corner. */
.chat-auth-flip-shell{min-height:455px}
.chat-auth-dialog.is-register-mode .chat-auth-flip-shell{min-height:630px}
html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close{top:20px;left:20px}
@media(max-width:760px){
  .chat-auth-flip-shell{min-height:500px}
  .chat-auth-dialog.is-register-mode .chat-auth-flip-shell{min-height:620px}
}
@media(max-width:430px){
  .chat-auth-flip-shell{min-height:520px}
  .chat-auth-dialog.is-register-mode .chat-auth-flip-shell{min-height:620px}
  html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close{top:16px;left:16px}
}


/* ===== v16.5.60 — auth close fully inset + stronger selected tab ===== */
/* Keep the approved X artwork exactly as-is; only force its physical position
   well inside the rounded auth card so no legacy inset/right rule can pull it
   onto the border. */
html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close{
  position:absolute;
  inset:auto;
  top:28px;
  left:28px;
  right:auto;
  bottom:auto;
  margin:0;
  transform:none;
  z-index:220;
}
html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close:hover{
  transform:scale(1.08);
}

/* The selected Login/Register state should read like an illuminated green lamp,
   not just a faint tint. Both faces share the exact same active-state language. */
html body .chat-auth-mode-switch button.is-active{
  color:#eafff1;
  border-color:rgba(61,232,139,.74);
  background:
    radial-gradient(circle at 50% 0%,rgba(104,255,176,.22),transparent 62%),
    linear-gradient(180deg,rgba(31,154,91,.46),rgba(17,112,67,.42));
  box-shadow:
    0 0 0 1px rgba(74,233,145,.12),
    0 0 16px rgba(45,224,126,.23),
    inset 0 0 20px rgba(62,229,138,.12);
  text-shadow:0 0 8px rgba(116,255,181,.26);
}
html body .chat-auth-mode-switch button:not(.is-active){
  color:#8fa7b2;
  background:rgba(255,255,255,.008);
}
@media(max-width:430px){
  html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close{
    top:22px;
    left:22px;
  }
}

/* ===== Customer member lifecycle, approval workflow and live stay timeline ===== */
.customer-panel-shell{width:min(1320px,95vw)}
.customer-panel-shell[data-account-mode="idle"] .customer-reservation-workspace{border-color:rgba(88,213,220,.25);box-shadow:0 26px 70px rgba(0,0,0,.22),0 0 0 1px rgba(75,204,213,.035)}
.customer-welcome-card--compact{min-height:128px;padding:20px 23px}
.customer-welcome-card--compact h1{font-size:27px}
.customer-manager-chat-button,.customer-lifecycle-chat{border:1px solid rgba(78,208,226,.24);border-radius:15px;background:linear-gradient(145deg,rgba(29,117,142,.26),rgba(11,58,78,.32));color:#dffaff;font-family:var(--font-ui);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.customer-manager-chat-button{min-width:170px;height:50px;padding:0 17px;display:flex;align-items:center;justify-content:center;gap:9px}
.customer-manager-chat-button span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(113,226,239,.3);color:#79dce8}
.customer-manager-chat-button:hover,.customer-lifecycle-chat:hover{transform:translateY(-1px);border-color:rgba(95,225,239,.42);background:linear-gradient(145deg,rgba(34,139,164,.34),rgba(12,70,91,.38));box-shadow:0 11px 25px rgba(0,0,0,.14)}

.customer-decision-notice{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:16px 17px;border:1px solid rgba(244,96,116,.28);border-radius:21px;background:linear-gradient(145deg,rgba(104,24,40,.35),rgba(51,14,27,.4));box-shadow:0 16px 38px rgba(0,0,0,.17)}
.customer-decision-notice[hidden]{display:none}
.customer-decision-notice__icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(255,127,142,.25);background:rgba(255,91,110,.1);color:#ff9cab;font-size:21px;font-weight:800}
.customer-decision-notice__copy{display:grid;gap:2px;min-width:0}.customer-decision-notice__copy>span{font-size:10px;color:#ff9fab}.customer-decision-notice__copy strong{font-size:16px;color:#ffe8eb}.customer-decision-notice__copy p{margin:2px 0 0;font:16px/1.55 var(--font-body);color:#d9b8bf}
.customer-notice-dismiss{height:39px;padding:0 14px;border:1px solid rgba(255,151,164,.2);border-radius:12px;background:rgba(255,255,255,.045);color:#ffd4da;font-family:var(--font-ui);cursor:pointer}.customer-notice-dismiss:disabled{opacity:.55;cursor:wait}

.customer-lifecycle-card{position:relative;overflow:hidden;min-height:210px;padding:1px;border-radius:29px;background:linear-gradient(120deg,rgba(236,197,79,.34),rgba(86,217,219,.28),rgba(255,255,255,.07));box-shadow:0 28px 70px rgba(0,0,0,.24)}
.customer-lifecycle-card::before{content:"";position:absolute;inset:-120px auto auto -90px;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(74,214,220,.13),transparent 68%);pointer-events:none}
.customer-lifecycle-content{position:relative;min-height:208px;padding:24px 26px;border-radius:28px;background:linear-gradient(145deg,rgba(8,37,55,.97),rgba(4,22,35,.985));display:grid;align-content:center}
.customer-lifecycle-loading{display:flex;align-items:center;justify-content:center;gap:10px;color:#91aab6}.customer-lifecycle-loading span{width:14px;height:14px;border:2px solid rgba(255,255,255,.14);border-top-color:#74dbe5;border-radius:50%;animation:customerSpin .8s linear infinite}@keyframes customerSpin{to{transform:rotate(360deg)}}
.customer-lifecycle-main{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);align-items:center;gap:18px}.customer-lifecycle-copy{min-width:0}.customer-lifecycle-kicker{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;border:1px solid rgba(234,198,83,.18);background:rgba(234,198,83,.07);color:#e8c85e;font-size:11px}.customer-lifecycle-copy h2{margin:7px 0 5px;color:#fff7df;font-size:clamp(25px,2.7vw,37px)}.customer-lifecycle-copy p{margin:0;max-width:750px;color:#a8bec8;font:18px/1.6 var(--font-body)}.customer-lifecycle-copy p b{color:#e7f4f7;font-weight:700}
.customer-reserve-now{position:relative;overflow:hidden;min-height:118px;padding:17px 19px;border:1px solid rgba(245,214,105,.68);border-radius:23px;background:linear-gradient(145deg,#cfa435,#f0d16b);color:#082438;display:grid;grid-template-columns:46px 1fr;grid-template-rows:auto auto;align-items:center;text-align:right;column-gap:12px;cursor:pointer;box-shadow:0 18px 36px rgba(220,177,53,.15);transition:transform .2s ease,box-shadow .2s ease}
.customer-reserve-now::after{content:"";position:absolute;inset:-35% -20% auto auto;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.16);pointer-events:none}.customer-reserve-now:hover{transform:translateY(-2px);box-shadow:0 22px 46px rgba(220,177,53,.23)}.customer-reserve-now>span{grid-row:1/3;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:rgba(6,35,53,.12);font-size:26px}.customer-reserve-now b{align-self:end;font-size:21px}.customer-reserve-now small{align-self:start;color:rgba(8,36,56,.72);font-size:11px}
.customer-request-state{justify-self:stretch;min-height:105px;padding:16px 18px;border:1px solid rgba(237,201,86,.24);border-radius:21px;background:rgba(227,185,63,.07);display:grid;grid-template-columns:auto 1fr;align-content:center;gap:4px 9px}.customer-request-state__pulse{width:11px;height:11px;border-radius:50%;background:#f1cf61;box-shadow:0 0 0 6px rgba(241,207,97,.07);animation:customerPendingPulse 1.8s ease-in-out infinite}.customer-request-state strong{font-size:16px;color:#f3d36c}.customer-request-state small{grid-column:1/-1;color:#9eb5bf;font-size:11px}@keyframes customerPendingPulse{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}
.customer-lifecycle-note{grid-column:1/-1;padding:10px 13px;border:1px solid rgba(255,255,255,.065);border-radius:13px;background:rgba(255,255,255,.025);color:#8fa9b4;font:15px/1.5 var(--font-body);text-align:center}.customer-lifecycle-chat{justify-self:end;min-width:210px;height:44px;padding:0 16px}
.customer-confirmed-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.customer-confirmed-grid>div{min-height:92px;padding:12px;border:1px solid rgba(84,210,135,.15);border-radius:17px;background:rgba(51,180,107,.055);display:grid;align-content:center;gap:2px;text-align:center}.customer-confirmed-grid small{color:#78a592;font-size:9px}.customer-confirmed-grid strong{color:#9ce8b8;font-size:16px}.customer-confirmed-grid span{color:#7d9990;font-size:10px}.customer-countdown-capsule{grid-column:1/-1;height:54px;padding:0 17px;border:1px solid rgba(93,220,148,.21);border-radius:999px;background:linear-gradient(90deg,rgba(41,155,94,.09),rgba(67,202,211,.065));display:flex;align-items:center;justify-content:space-between;gap:16px}.customer-countdown-capsule span{color:#86a99b;font-size:11px}.customer-countdown-capsule strong{direction:ltr;color:#9ae9b8;font-size:22px;letter-spacing:.5px}

.customer-stay-progress-card{grid-column:1/-1;padding:15px 17px 13px;border:1px solid rgba(91,214,218,.16);border-radius:22px;background:linear-gradient(145deg,rgba(8,45,61,.7),rgba(6,31,46,.78));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
.customer-stay-progress-head,.customer-stay-progress-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.customer-stay-progress-head{margin-bottom:9px;color:#88a7b1;font-size:10px}.customer-stay-progress-head strong{color:#8de1df;font-size:15px}.customer-stay-progress-track{direction:ltr;position:relative;overflow:hidden;height:17px;border-radius:999px;border:1px solid rgba(112,218,221,.1);background:#082b3a;box-shadow:inset 0 2px 7px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.018)}
.customer-stay-progress-fill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:inherit;background:linear-gradient(90deg,#f2d562 0%,#c9dc83 45%,#73dfd5 100%);box-shadow:0 0 16px rgba(102,225,213,.28);transition:width .85s linear}.customer-stay-progress-fill::after{content:"";position:absolute;right:1px;top:50%;width:11px;height:11px;border-radius:50%;background:#96eee3;box-shadow:0 0 10px rgba(139,239,226,.7);transform:translateY(-50%)}
.customer-stay-progress-meta{margin-top:10px;color:#78939e;font-size:10px}.customer-stay-progress-meta span{display:flex;align-items:center;gap:5px}.customer-stay-progress-meta b{direction:ltr;color:#bdcdd3;font-size:11px}

.customer-reservation-workspace{scroll-margin-top:90px;padding:22px;border:1px solid rgba(255,255,255,.08);border-radius:29px;background:linear-gradient(145deg,rgba(7,29,45,.9),rgba(3,18,29,.92));transition:border-color .2s ease,box-shadow .2s ease}.customer-workspace-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:2px 4px 17px}.customer-workspace-heading span{font-size:10px;color:#dfbc50}.customer-workspace-heading h2{margin:3px 0 0;font-size:24px;color:#f0f7f9}.customer-workspace-heading p{max-width:600px;margin:0;color:#829ca8;font:15px/1.55 var(--font-body);text-align:left}.customer-reservation-workspace .reservation-hub{min-height:0;padding:0;background:transparent;z-index:auto}.customer-reservation-workspace .reservation-hub::before{display:none}.customer-reservation-workspace .reservation-shell{width:100%}.customer-reservation-workspace .reservation-heading{display:none}.customer-reservation-workspace .reservation-search-panel{margin-bottom:18px}.customer-reservation-workspace .reservation-building-list{gap:18px}.customer-reservation-workspace .reservation-building-section{background:linear-gradient(145deg,rgba(9,36,54,.58),rgba(4,21,35,.68));box-shadow:0 16px 38px rgba(0,0,0,.14)}
.customer-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.customer-referral-panel,.customer-profile-summary{padding:19px;border:1px solid rgba(255,255,255,.08);border-radius:24px;background:rgba(7,28,43,.76)}.customer-referral-panel>p{margin:0 0 14px;color:#849eaa;font:15px/1.55 var(--font-body)}.customer-referral-code-row{display:grid;grid-template-columns:1fr auto;gap:8px}.customer-referral-code-row code{min-height:48px;padding:0 15px;border:1px solid rgba(231,190,73,.2);border-radius:14px;background:rgba(230,188,69,.055);color:#f1d36c;display:flex;align-items:center;font:700 17px var(--font-ui);letter-spacing:1px}.customer-referral-code-row button,.customer-history-refresh,.customer-empty-state button{height:42px;padding:0 14px;border:1px solid rgba(83,203,218,.2);border-radius:12px;background:rgba(46,164,185,.1);color:#8ee0e9;font-family:var(--font-ui);cursor:pointer}.customer-referral-panel>small{display:block;margin-top:10px;color:#7c96a2;font-size:10px}.customer-referral-panel>small b{color:#d7e6ea}.customer-profile-summary__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.customer-profile-summary__grid>span{min-height:61px;padding:10px 11px;border:1px solid rgba(255,255,255,.055);border-radius:13px;background:rgba(255,255,255,.022);display:grid;align-content:center;gap:4px}.customer-profile-summary__grid small{color:#7894a1;font-size:9px}.customer-profile-summary__grid b{color:#dfecef;font-size:13px}
.customer-panel-heading--split{display:flex;align-items:center;justify-content:space-between;gap:12px}.customer-history-refresh.is-loading{opacity:.55;cursor:wait}.customer-booking-card--checked_in .customer-booking-card__head>span{border-color:rgba(77,211,135,.25);background:rgba(58,187,113,.11);color:#8ceab0}.customer-booking-card--completed .customer-booking-card__head>span{border-color:rgba(92,201,216,.2);background:rgba(62,166,186,.08);color:#94dfe8}.customer-booking-card__reason{margin:0;padding:8px 10px;border-radius:11px;background:rgba(219,62,79,.055);color:#d89da7;font:14px/1.45 var(--font-body)}.customer-empty-state button{margin-top:12px}

.customer-drawer-nav{display:grid;gap:7px;margin-bottom:15px}.customer-drawer-nav button{width:100%;min-height:47px;padding:0 10px;border:1px solid transparent;border-radius:13px;background:transparent;color:#d9e8ed;display:grid;grid-template-columns:36px 1fr;align-items:center;gap:8px;text-align:right;font-family:var(--font-ui);cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease}.customer-drawer-nav button span{width:33px;height:33px;border-radius:10px;display:grid;place-items:center;background:rgba(72,194,214,.07);color:#78d7e4;font-size:15px}.customer-drawer-nav button b{font-size:13px}.customer-drawer-nav button:hover{background:rgba(255,255,255,.04);border-color:rgba(83,204,223,.14);transform:translateX(-2px)}

.pending-booking-actions .message{background:rgba(43,159,190,.1);border-color:rgba(72,196,221,.22);color:#8ee4ef}.manager-booking-decision-dialog{width:min(600px,94vw)}.manager-booking-decision-summary{padding:14px 15px;border:1px solid var(--manager-line);border-radius:16px;background:rgba(255,255,255,.025);display:grid;gap:4px}.manager-booking-decision-summary strong{color:#f0d26b;font-size:15px}.manager-booking-decision-summary small{color:var(--manager-muted);font:15px/1.45 var(--font-body)}.manager-booking-reject-reason{display:grid;gap:7px}.manager-booking-reject-reason[hidden]{display:none}.manager-booking-reject-reason>span{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--manager-text);font-size:12px}.manager-booking-reject-reason>span small{color:#dd8f9b;font:13px var(--font-body)}.manager-booking-reject-reason textarea{width:100%;min-height:112px;resize:vertical;padding:12px 13px;border:1px solid rgba(231,83,103,.18);border-radius:14px;background:color-mix(in srgb,var(--manager-card) 88%,black);color:var(--manager-text);font:16px/1.55 var(--font-body);outline:none}.manager-booking-reject-reason textarea:focus{border-color:rgba(240,103,120,.42);box-shadow:0 0 0 3px rgba(225,70,90,.06)}.manager-booking-decision-actions{display:grid;grid-template-columns:1fr 1.3fr;gap:9px}.manager-booking-decision-actions .manager-primary-button.is-reject{border-color:rgba(233,80,99,.34);background:linear-gradient(145deg,rgba(137,35,52,.95),rgba(175,45,60,.93));color:#fff}

@media(max-width:900px){
  .customer-panel-shell{width:94vw}.customer-lifecycle-main{grid-template-columns:1fr}.customer-reserve-now{min-height:92px}.customer-lifecycle-chat{justify-self:stretch;width:100%}.customer-confirmed-grid{grid-template-columns:1fr 1fr}.customer-dashboard-grid{grid-template-columns:1fr}.customer-workspace-heading{display:grid}.customer-workspace-heading p{text-align:right}.customer-reservation-workspace{padding:14px}.pending-booking-actions{flex-wrap:wrap}.pending-booking-actions button{flex:1 1 90px}
}
@media(max-width:760px){
  .customer-welcome-card--compact{padding:17px;display:grid}.customer-manager-chat-button{width:100%;min-width:0}.customer-decision-notice{grid-template-columns:auto 1fr}.customer-notice-dismiss{grid-column:1/-1;width:100%}.customer-lifecycle-content{padding:18px 16px}.customer-lifecycle-copy h2{font-size:27px}.customer-lifecycle-copy p{font-size:16px}.customer-reserve-now{min-height:86px;border-radius:19px}.customer-reservation-workspace{padding:10px;border-radius:23px}.customer-workspace-heading{padding:5px 5px 13px}.customer-workspace-heading h2{font-size:21px}.customer-reservation-workspace .reservation-hub{padding:0}.customer-stay-progress-track{height:16px}.customer-stay-progress-meta{display:grid;grid-template-columns:1fr 1fr}.customer-stay-progress-meta span:last-child{justify-self:end}.customer-confirmed-grid{grid-template-columns:1fr 1fr}.customer-countdown-capsule{height:auto;min-height:54px}.customer-countdown-capsule strong{font-size:18px}.customer-dashboard-grid{gap:10px}.customer-profile-summary__grid{grid-template-columns:1fr 1fr}.manager-booking-decision-actions{grid-template-columns:1fr}.manager-booking-reject-reason>span{display:grid}.manager-booking-decision-dialog{padding:16px}
}
@media(max-width:460px){
  .customer-lifecycle-card{border-radius:23px}.customer-lifecycle-content{border-radius:22px}.customer-reserve-now{grid-template-columns:40px 1fr;padding:14px}.customer-reserve-now>span{width:40px;height:40px}.customer-reserve-now b{font-size:18px}.customer-confirmed-grid{grid-template-columns:1fr}.customer-profile-summary__grid{grid-template-columns:1fr}.customer-referral-code-row{grid-template-columns:1fr}.customer-referral-code-row button{width:100%}.customer-stay-progress-head span{font-size:9px}.customer-stay-progress-meta{grid-template-columns:1fr;gap:4px}.customer-stay-progress-meta span:last-child{justify-self:start}.customer-panel-heading--split{align-items:flex-end}.customer-history-refresh{height:36px;padding:0 10px}
}

/* ===== Manager staff / attendance / payroll ===== */
.manager-staff-body{min-height:100vh;max-width:100%;overflow-x:clip;background:radial-gradient(circle at 15% 7%,rgba(55,173,227,.08),transparent 30%),linear-gradient(180deg,#061827 0%,#04121f 100%);color:#edf8fb}
.staff-shell{width:min(1480px,94vw);max-width:100%;min-width:0;margin:0 auto;padding:calc(104px + var(--dashboard-safe-top)) 0 44px;display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.staff-shell>*{min-width:0;max-width:100%}
.staff-hero{position:relative;display:grid;justify-items:center;gap:18px;overflow:hidden;padding:24px 27px;border:1px solid rgba(111,205,236,.14);border-radius:28px;background:linear-gradient(135deg,rgba(13,50,71,.94),rgba(6,29,45,.95) 55%,rgba(4,22,36,.98));box-shadow:0 22px 55px rgba(0,0,0,.22),inset -5px 0 0 rgba(80,188,255,.42);text-align:center}
.staff-hero::after{content:"";position:absolute;left:-80px;top:-100px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(69,198,245,.12),transparent 69%);pointer-events:none}
.staff-hero__copy{position:relative;z-index:1;display:grid;justify-items:center;gap:5px}.staff-hero__copy>span,.staff-panel-head>div>span,.staff-dialog__head>span{color:#66d9f1;font-size:12px;letter-spacing:.03em}.staff-hero__copy h1{margin:0;color:#fff;font-size:31px}.staff-hero__copy p{margin:0;max-width:720px;color:#9db7c2;font:17px/1.55 var(--font-body)}
.staff-hero__actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;width:100%;min-width:0}.staff-hero__actions .staff-primary-button{min-width:240px}.staff-primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border:1px solid rgba(73,204,237,.32);border-radius:15px;background:linear-gradient(135deg,rgba(37,177,214,.94),rgba(29,126,181,.94));color:#fff;font-family:var(--font-ui);font-size:15px;cursor:pointer;box-shadow:0 11px 28px rgba(20,137,184,.2);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.staff-primary-button:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 14px 34px rgba(20,137,184,.3)}.staff-primary-button:disabled{opacity:.55;cursor:wait;transform:none}
.staff-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.staff-summary-card{--staff-accent:#51bfff;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;min-height:104px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--staff-accent) 24%,rgba(255,255,255,.05));border-radius:21px;background:linear-gradient(145deg,color-mix(in srgb,var(--staff-accent) 8%,rgba(7,31,48,.9)),rgba(5,24,39,.96));box-shadow:inset -4px 0 0 color-mix(in srgb,var(--staff-accent) 70%,transparent),0 14px 31px rgba(0,0,0,.14)}.staff-summary-card>i{display:grid;place-items:center;width:48px;height:48px;border-radius:16px;background:color-mix(in srgb,var(--staff-accent) 12%,rgba(4,22,35,.9));border:1px solid color-mix(in srgb,var(--staff-accent) 24%,transparent);color:var(--staff-accent);font-style:normal;font-size:21px}.staff-summary-card>div{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "meta value";align-items:center;gap:1px 8px}.staff-summary-card span{grid-area:label;color:#b4c9d1;font-size:12px}.staff-summary-card strong{grid-area:value;color:#fff;font-size:25px;direction:ltr}.staff-summary-card small{grid-area:meta;color:#718d99;font:13px var(--font-body)}.staff-summary-card.tone-green{--staff-accent:#4ae0a1}.staff-summary-card.tone-cyan{--staff-accent:#50d8ec}.staff-summary-card.tone-gold{--staff-accent:#f0cb5a}.staff-summary-card.tone-blue{--staff-accent:#55aef8}
.staff-panel{min-width:0;max-width:100%;padding:21px;border:1px solid rgba(111,205,236,.11);border-radius:26px;background:linear-gradient(180deg,rgba(7,31,49,.95),rgba(5,23,38,.97));box-shadow:0 20px 48px rgba(0,0,0,.17)}.staff-panel-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.staff-panel-head>div{min-width:0;display:grid;gap:2px}.staff-panel-head h2{margin:0;color:#f5fbfd;font-size:23px}.staff-panel-head p{margin:2px 0 0;color:#829da8;font:15px/1.45 var(--font-body)}
.staff-roster-grid{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.staff-person-card{position:relative;min-width:0;overflow:hidden;padding:15px;border:1px solid rgba(104,166,192,.16);border-radius:22px;background:linear-gradient(155deg,rgba(10,41,59,.96),rgba(5,25,40,.98));box-shadow:0 13px 28px rgba(0,0,0,.14);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.staff-person-card:hover{transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.2)}.staff-person-card.is-present{border-color:rgba(62,220,153,.28);box-shadow:inset -4px 0 0 rgba(66,225,159,.72),0 14px 30px rgba(0,0,0,.16)}.staff-person-card.is-present:hover{border-color:rgba(77,234,171,.52);box-shadow:inset -4px 0 0 rgba(66,225,159,.88),0 18px 38px rgba(32,164,115,.18)}.staff-person-card.is-absent:hover{border-color:rgba(244,108,129,.42);box-shadow:inset -4px 0 0 rgba(244,108,129,.72),0 18px 38px rgba(132,38,53,.18)}.staff-person-card.is-inactive{opacity:.63;filter:saturate(.65)}
.staff-person-card__top{display:grid;grid-template-columns:12px minmax(0,1fr) 36px;align-items:center;gap:9px}.staff-presence-dot{width:9px;height:9px;border-radius:50%;background:#607b87;box-shadow:0 0 0 4px rgba(96,123,135,.09)}.staff-person-card.is-present .staff-presence-dot{background:#4be0a1;box-shadow:0 0 0 4px rgba(75,224,161,.1),0 0 14px rgba(75,224,161,.48);animation:staffPresencePulse 1.8s ease-in-out infinite}.staff-person-card.is-absent .staff-presence-dot{background:#f56e84;box-shadow:0 0 0 4px rgba(245,110,132,.08),0 0 14px rgba(245,110,132,.28)}@keyframes staffPresencePulse{50%{box-shadow:0 0 0 7px rgba(75,224,161,.04),0 0 19px rgba(75,224,161,.56)}}.staff-person-identity{min-width:0}.staff-person-identity h3{margin:0;color:#fff;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-position-inline{color:#6fd6ec;font:15px var(--font-body)}.staff-person-identity p{margin:2px 0 0;color:#6fd6ec;font:14px var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.staff-card-edit{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(104,190,221,.16);border-radius:11px;background:rgba(59,148,181,.07);color:#b7dce8;font-size:17px;cursor:pointer}.staff-card-edit:hover{border-color:rgba(95,209,236,.34);color:#fff}
.staff-presence-state{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0 10px;padding:9px 11px;border-radius:13px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.045)}.staff-presence-state strong{color:#cfdee4;font-size:13px}.staff-person-card.is-present .staff-presence-state strong{color:#69eab3}.staff-presence-state small{color:#698591;font:11px var(--font-body)}
.staff-card-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.staff-card-metrics>span{display:grid;gap:3px;padding:8px 5px;text-align:center;border:1px solid rgba(255,255,255,.045);border-radius:12px;background:rgba(2,16,27,.24)}.staff-card-metrics--monthly .is-work{background:rgba(22,96,128,.3);border-color:rgba(88,201,241,.22)}.staff-card-metrics--monthly .is-overtime{background:rgba(84,47,142,.3);border-color:rgba(197,150,255,.22)}.staff-card-metrics--monthly .is-income{background:rgba(15,95,73,.3);border-color:rgba(82,233,177,.24)}.staff-card-metrics small{color:#9ec0cb;font:12px var(--font-body)}.staff-card-metrics b{color:#e8f7fb;font-size:18px;direction:ltr}.staff-card-money{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:9px 1px 11px;color:#8db1be;font:12px var(--font-body)}.staff-card-money span{display:block;padding:8px 7px;text-align:center;border:1px solid rgba(255,255,255,.045);border-radius:12px;background:rgba(2,16,27,.2)}.staff-card-money b{display:block;margin-top:3px;color:#d9edf4;font-weight:normal;font-family:var(--font-ui)}.staff-card-actions{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:6px}.staff-attendance-button,.staff-history-button{min-height:48px;border-radius:13px;font-family:var(--font-ui);cursor:pointer}.staff-attendance-button{display:grid;grid-template-columns:28px 1fr;grid-template-areas:"icon label" "icon meta";align-items:center;padding:5px 9px;border:1px solid rgba(77,220,161,.25);background:linear-gradient(135deg,rgba(39,169,120,.21),rgba(22,99,84,.12));color:#dcfff0;text-align:right}.staff-attendance-button>i{grid-area:icon;font-style:normal;font-size:20px}.staff-attendance-button>span{grid-area:label;font-size:14px}.staff-attendance-button>small{grid-area:meta;color:#78bfa1;font:11px var(--font-body)}.staff-attendance-button.is-checkout{border-color:rgba(245,110,132,.38);background:linear-gradient(135deg,rgba(139,31,54,.34),rgba(88,18,33,.18));color:#fff0f3}.staff-attendance-button.is-checkout>small{color:#f3a8b4}.staff-attendance-button.is-processing{opacity:.55;pointer-events:none}.staff-attendance-button.is-disabled{display:flex;justify-content:center;border-color:rgba(126,145,153,.14);background:rgba(99,119,127,.06);color:#78909a;cursor:default}.staff-history-button{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border:1px solid rgba(88,183,218,.14);background:rgba(49,134,167,.06);color:#a9cfdd}.staff-history-button i{font-style:normal;font-size:20px}
.staff-empty-state{grid-column:1/-1;display:grid;place-items:center;gap:5px;padding:45px 18px;text-align:center;border:1px dashed rgba(95,189,219,.18);border-radius:20px;color:#77949f}.staff-empty-state>span{font-size:32px}.staff-empty-state h3{margin:2px 0 0;color:#c6dae1}.staff-empty-state p{margin:0;font:15px var(--font-body)}
.staff-payroll-head{align-items:center;justify-content:center}.staff-payroll-head.is-centered,.staff-payroll-head.is-centered>div{text-align:center;justify-items:center}.staff-period-presets{display:flex;gap:5px;padding:4px;border:1px solid rgba(104,190,221,.12);border-radius:14px;background:rgba(2,16,27,.32)}.staff-period-presets button{min-height:36px;padding:0 13px;border:0;border-radius:10px;background:transparent;color:#829ca7;font-family:var(--font-ui);cursor:pointer}.staff-period-presets button.is-active{background:linear-gradient(135deg,rgba(64,181,217,.22),rgba(41,126,166,.16));color:#e6fbff;box-shadow:inset 0 0 0 1px rgba(88,202,231,.2)}
.staff-period-form{display:grid;grid-template-columns:auto minmax(170px,.95fr) minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:8px;margin:3px 0 12px;padding:11px;border:1px solid rgba(255,255,255,.055);border-radius:17px;background:rgba(2,16,27,.25)}.staff-period-form>label{display:grid;gap:5px}.staff-period-form>label>span{color:#8ca7b2;font-size:11px}.staff-period-form .jalali-date-field{min-height:43px}.staff-period-apply{min-height:43px;padding:0 17px;border:1px solid rgba(82,220,154,.32);border-radius:12px;background:linear-gradient(145deg,rgba(18,132,91,.78),rgba(14,108,76,.92));color:#effff8;font-family:var(--font-ui);cursor:pointer}.staff-period-caption{display:grid;gap:3px;align-self:stretch;align-content:center;padding:0 12px;border-right:1px solid rgba(255,255,255,.06)}.staff-period-caption span{color:#657f8a;font-size:10px}.staff-period-caption strong{color:#cce0e7;font-size:13px}.staff-period-form--compact .staff-period-presets{height:100%;align-self:stretch}.staff-period-form--compact .staff-period-presets button{white-space:nowrap}
.staff-payroll-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-bottom:10px}.staff-payroll-totals article{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:56px;padding:9px 12px;border:1px solid rgba(92,186,218,.1);border-radius:15px;background:linear-gradient(145deg,rgba(10,39,56,.62),rgba(5,24,38,.56))}.staff-payroll-totals span{color:#78949f;font-size:11px}.staff-payroll-totals strong{color:#e8f8fb;font-size:16px;direction:ltr}.staff-payroll-totals article:nth-child(2) strong{color:#efce6b}.staff-payroll-totals article:nth-child(3) strong{color:#80dfba}.staff-payroll-totals article:nth-child(4) strong{color:#64d6ed}
.staff-table-wrap{min-width:0;max-width:100%;overflow:auto;border:1px solid rgba(255,255,255,.055);border-radius:18px;background:rgba(1,13,23,.18);scrollbar-width:none;-ms-overflow-style:none}.staff-table-wrap::-webkit-scrollbar{display:none;width:0;height:0}.staff-payroll-table{width:100%;min-width:1040px;border-collapse:collapse}.staff-payroll-table th{padding:11px 12px;border-bottom:1px solid rgba(96,184,214,.11);background:rgba(8,36,53,.73);color:#f0cb5a;font-size:13px;text-align:right;white-space:nowrap;font-family:BYekan, var(--font-ui)}.staff-payroll-table td{padding:12px;border-bottom:1px solid rgba(255,255,255,.04);color:#d5e7ed;font:16px BYekan, var(--font-ui);white-space:nowrap}.staff-payroll-table tr:last-child td{border-bottom:0}.staff-payroll-table tbody tr:hover{background:rgba(55,150,185,.045)}.staff-payroll-table tr.is-inactive{opacity:.56}.staff-payroll-table td:nth-child(2) strong{color:#ecf8fb;font-family:BYekan, var(--font-ui);font-size:16px}.staff-payroll-table td small{display:none}.staff-overtime-value{color:#ebcf71}.staff-estimated-value{color:#62d7ed}.staff-payroll-note{margin-top:11px}
.staff-dialog{width:min(850px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:min(88dvh,830px);overflow-y:auto;overflow-x:hidden;padding:23px;scrollbar-width:none;-ms-overflow-style:none;border:1px solid rgba(91,196,228,.19);border-radius:26px;background:linear-gradient(180deg,#082338,#051827);color:#ecf8fb;box-shadow:0 38px 100px rgba(0,0,0,.5)}.staff-dialog::-webkit-scrollbar{display:none;width:0;height:0}.staff-dialog::backdrop{background:rgba(0,8,14,.76);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.staff-dialog__head{display:grid;justify-items:center;gap:2px;padding:0 54px;margin-bottom:16px;text-align:center}.staff-dialog__head h2{margin:0;color:#fff;font-size:24px}.staff-dialog__head p{margin:2px 0 0;color:#849faa;font:15px/1.5 var(--font-body)}.staff-editor-form{display:grid;gap:12px}.staff-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.staff-editor-form label{display:grid;gap:6px}.staff-editor-form label>span:first-child{color:#9bb2bc;font-size:12px}.staff-editor-form input,.staff-editor-form textarea{width:100%;border:1px solid rgba(112,188,214,.16);border-radius:13px;background:rgba(1,15,26,.42);color:#f1fbfd;font:15px var(--font-ui);outline:0}.staff-editor-form input{min-height:44px;padding:0 12px}.staff-editor-form textarea{padding:10px 12px;resize:vertical}.staff-editor-form input:focus,.staff-editor-form textarea:focus{border-color:rgba(78,204,235,.48);box-shadow:0 0 0 3px rgba(78,204,235,.07)}.staff-active-field{grid-column:1/-1;align-content:end}.staff-switch-row{display:flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border:1px solid rgba(91,190,220,.12);border-radius:13px;background:rgba(2,16,27,.24)}.staff-switch-row input{width:18px;height:18px;min-height:0;accent-color:#43cfa1}.staff-switch-row b{color:#c8dbe2;font-size:13px}.staff-notes-field{grid-column:1/-1}.staff-dialog-actions{display:flex;justify-content:center;gap:9px;margin-top:4px}.staff-dialog-actions button{min-width:150px}.staff-back-button{border-color:rgba(255,89,112,.38);background:linear-gradient(145deg,rgba(123,22,37,.96),rgba(174,42,58,.94));color:#fff;text-decoration:none}.staff-back-button:hover{border-color:rgba(255,116,134,.58);background:linear-gradient(145deg,rgba(145,25,42,.98),rgba(196,49,66,.96));color:#fff;text-decoration:none}
.staff-attendance-dialog{width:min(680px,calc(100vw - 28px));overflow:visible}.staff-attendance-form{display:grid;gap:15px}.staff-checkin-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.staff-checkin-choice{position:relative;cursor:pointer}.staff-checkin-choice>input{position:absolute;opacity:0;pointer-events:none}.staff-checkin-choice>span{min-height:104px;padding:13px 10px;border:1px solid rgba(105,185,214,.14);border-radius:17px;background:linear-gradient(145deg,rgba(9,37,54,.72),rgba(4,22,35,.8));display:grid;place-items:center;align-content:center;gap:4px;text-align:center;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.staff-checkin-choice i{font-style:normal;color:#7ccfe2;font-size:20px}.staff-checkin-choice b{color:#dcecf1;font-size:15px}.staff-checkin-choice small{color:#718c98;font:12px/1.45 var(--font-body)}.staff-checkin-choice>input:checked+span{border-color:rgba(74,224,164,.48);background:linear-gradient(145deg,rgba(26,115,90,.38),rgba(9,55,57,.36));box-shadow:0 0 0 1px rgba(74,224,164,.08),0 0 22px rgba(43,208,148,.1),inset 0 0 24px rgba(55,220,157,.05);transform:translateY(-1px)}.staff-checkin-choice>input:checked+span i,.staff-checkin-choice>input:checked+span b{color:#9cf2c9}.staff-checkin-choice>input:checked+span small{color:#91cdb5}.staff-manual-time{display:grid;justify-items:center;gap:7px;padding:12px;border:1px solid rgba(93,188,219,.12);border-radius:16px;background:rgba(2,17,28,.3)}.staff-manual-time[hidden]{display:none}.staff-manual-time>span{color:#90a9b3;font-size:12px}.staff-manual-time input{width:min(260px,100%);height:47px;padding:0 14px;border:1px solid rgba(105,194,223,.2);border-radius:13px;background:rgba(1,15,26,.58);color:#effbfe;font:17px var(--font-ui);text-align:center;direction:ltr;outline:0;color-scheme:dark}.staff-manual-time input:focus{border-color:rgba(78,204,235,.48);box-shadow:0 0 0 3px rgba(78,204,235,.07)}
.staff-history-dialog{width:min(760px,calc(100vw - 28px))}.staff-history-list{display:grid;gap:7px}.staff-history-item{display:grid;grid-template-columns:minmax(170px,1.4fr) repeat(3,minmax(95px,.7fr));align-items:center;gap:8px;padding:11px;border:1px solid rgba(101,181,209,.11);border-radius:15px;background:rgba(3,19,31,.35)}.staff-history-item.is-open{border-color:rgba(69,219,157,.24);box-shadow:inset -3px 0 0 rgba(69,219,157,.65)}.staff-history-item>div{display:grid;gap:2px}.staff-history-item>div strong{color:#e9f7fa}.staff-history-item>div small{color:#6f8c98;font:11px var(--font-body)}.staff-history-item>span{display:grid;gap:2px}.staff-history-item>span small{color:#6f8b96;font:10px var(--font-body)}.staff-history-item>span b{color:#c5dbe2;font-size:14px;direction:ltr;text-align:right}.staff-history-item.is-open>span b{color:#77e5b5}
.manager-staff-body.is-light{background:linear-gradient(180deg,#eef7f9,#e6f1f4);color:#173744}.manager-staff-body.is-light .staff-hero,.manager-staff-body.is-light .staff-panel,.manager-staff-body.is-light .staff-person-card,.manager-staff-body.is-light .staff-dialog{background:rgba(250,253,254,.96);border-color:rgba(34,113,139,.12);box-shadow:0 15px 34px rgba(25,73,88,.09)}.manager-staff-body.is-light .staff-hero__copy h1,.manager-staff-body.is-light .staff-panel-head h2,.manager-staff-body.is-light .staff-person-identity h3,.manager-staff-body.is-light .staff-dialog__head h2{color:#173744}.manager-staff-body.is-light .staff-hero__copy p,.manager-staff-body.is-light .staff-panel-head p,.manager-staff-body.is-light .staff-dialog__head p{color:#607d88}.manager-staff-body.is-light .staff-summary-card{background:rgba(251,254,255,.94);box-shadow:inset -4px 0 0 color-mix(in srgb,var(--staff-accent) 65%,transparent),0 10px 25px rgba(21,68,84,.07)}.manager-staff-body.is-light .staff-summary-card strong{color:#1b4655}.manager-staff-body.is-light .staff-summary-card span{color:#496b78}.manager-staff-body.is-light .staff-summary-card small{color:#708b95}.manager-staff-body.is-light .staff-presence-state,.manager-staff-body.is-light .staff-card-metrics>span,.manager-staff-body.is-light .staff-period-form,.manager-staff-body.is-light .staff-table-wrap{background:rgba(232,243,247,.48);border-color:rgba(30,100,123,.1)}.manager-staff-body.is-light .staff-card-metrics b,.manager-staff-body.is-light .staff-payroll-totals strong,.manager-staff-body.is-light .staff-payroll-table td:first-child strong{color:#234c5a}.manager-staff-body.is-light .staff-payroll-table th{background:#eaf4f7;color:#4e7180}.manager-staff-body.is-light .staff-payroll-table td{color:#4e6974;border-color:rgba(28,94,116,.08)}.manager-staff-body.is-light .staff-editor-form input,.manager-staff-body.is-light .staff-editor-form textarea{background:#f6fbfc;color:#1a3c48;border-color:rgba(35,111,137,.16)}.manager-staff-body.is-light .staff-checkin-choice>span,.manager-staff-body.is-light .staff-manual-time{background:#f6fbfc;border-color:rgba(35,111,137,.13)}.manager-staff-body.is-light .staff-checkin-choice b{color:#234c5a}.manager-staff-body.is-light .staff-checkin-choice small{color:#6b8792}.manager-staff-body.is-light .staff-manual-time input{background:#fff;color:#173743;color-scheme:light}
@media(max-width:1100px){.staff-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-period-form{grid-template-columns:1fr 1fr}.staff-period-presets,.staff-period-caption,.staff-period-apply{grid-column:1/-1}.staff-period-caption{border-right:0;border-top:1px solid rgba(255,255,255,.05);padding:8px 2px 0}.staff-payroll-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .manager-staff-body{width:100%;max-width:100%;overflow-x:clip}
  .staff-shell{width:100%;max-width:100%;min-width:0;padding:calc(78px + var(--dashboard-safe-top)) 10px 30px;gap:10px}
  .staff-shell>*,.staff-hero,.staff-panel,.staff-panel-head,.staff-panel-head>div,.staff-roster-grid,.staff-person-card,.staff-payroll-panel,.staff-period-form,.staff-payroll-totals,.staff-table-wrap{min-width:0;max-width:100%}
  .staff-hero{display:grid;gap:12px;padding:14px 12px;border-radius:20px;box-shadow:0 14px 34px rgba(0,0,0,.16),inset -3px 0 0 rgba(80,188,255,.34)}
  .staff-hero__copy{gap:3px}.staff-hero__copy>span{font-size:10px}.staff-hero__copy h1{font-size:23px}.staff-hero__copy p{max-width:32rem;font-size:14px;line-height:1.55}
  .staff-hero__actions{display:flex;justify-content:center}.staff-hero__actions .staff-primary-button{width:min(100%,420px);min-width:0;min-height:44px;padding-inline:12px;font-size:13px}
  .staff-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .staff-summary-card{grid-template-columns:34px minmax(0,1fr);gap:8px;min-height:78px;padding:9px;border-radius:16px;box-shadow:inset -3px 0 0 color-mix(in srgb,var(--staff-accent) 62%,transparent),0 8px 18px rgba(0,0,0,.11)}
  .staff-summary-card>i{width:32px;height:32px;border-radius:10px;font-size:14px}.staff-summary-card>div{grid-template-columns:minmax(0,1fr);grid-template-areas:"label" "value" "meta";gap:0}.staff-summary-card span{font-size:10px}.staff-summary-card strong{font-size:18px;justify-self:start}.staff-summary-card small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .staff-panel{padding:11px;border-radius:19px}
  .staff-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:10px}.staff-panel-head h2{font-size:18px}.staff-panel-head p{font-size:12px;line-height:1.45}.staff-panel-head>div>span{font-size:10px}.staff-attendance-panel .staff-panel-head>.manager-secondary-button{min-width:86px;min-height:39px;padding-inline:10px;font-size:11px}
  .staff-roster-grid{grid-template-columns:1fr;gap:8px}.staff-person-card{padding:11px;border-radius:17px}.staff-person-card__top{grid-template-columns:10px minmax(0,1fr) 34px;gap:7px}.staff-person-identity h3{font-size:17px}.staff-person-identity p{font-size:12px}.staff-presence-state{margin:9px 0 8px;padding:8px 9px}.staff-presence-state strong{font-size:12px}.staff-presence-state small{font-size:10px;text-align:left}
  .staff-card-metrics{gap:4px}.staff-card-metrics>span{padding:7px 3px;border-radius:10px}.staff-card-metrics small{font-size:9px}.staff-card-metrics b{font-size:14px}.staff-card-money{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin:7px 0 9px}.staff-card-money span{min-width:0;padding:6px 7px;border-radius:10px;background:rgba(2,16,27,.2);text-align:center;font-size:10px}.staff-card-money b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px}.staff-card-actions{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:5px}.staff-attendance-button,.staff-history-button{min-height:45px}.staff-attendance-button{grid-template-columns:25px 1fr;padding:4px 7px}.staff-attendance-button>span{font-size:12px}.staff-attendance-button>small{font-size:9px}.staff-history-button{padding-inline:9px;font-size:11px}
  .staff-payroll-head{display:grid;grid-template-columns:1fr;align-items:start}.staff-payroll-head .staff-period-presets{margin-top:2px}.staff-period-presets{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.staff-period-presets button{min-width:0;padding:0 4px;font-size:11px}
  .staff-period-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:8px;margin-bottom:8px}.staff-period-form>label{min-width:0}.staff-period-form .jalali-date-field{width:100%;min-width:0;min-height:40px}.staff-period-apply{grid-column:1/-1;min-height:41px}.staff-period-caption{grid-column:1/-1;min-width:0;border-right:0;border-top:1px solid rgba(255,255,255,.05);padding:7px 2px 0}.staff-period-caption strong{font-size:12px;overflow-wrap:anywhere}
  .staff-payroll-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-bottom:8px}.staff-payroll-totals article{display:grid;align-content:center;gap:2px;min-height:61px;padding:8px 9px}.staff-payroll-totals span{font-size:9px}.staff-payroll-totals strong{min-width:0;font-size:13px;overflow-wrap:anywhere}
  .staff-table-wrap{overflow:visible;border:0;background:transparent;border-radius:0}.staff-payroll-table{display:block;width:100%;min-width:0}.staff-payroll-table thead{display:none}.staff-payroll-table tbody{display:grid;gap:7px}.staff-payroll-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(96,184,214,.11);border-radius:15px;background:rgba(2,16,27,.24)}.staff-payroll-table tbody tr:hover{background:rgba(2,16,27,.24)}.staff-payroll-table td{display:grid;min-width:0;gap:2px;padding:8px 9px;border-bottom:1px solid rgba(255,255,255,.04);white-space:normal;font-size:12px;overflow-wrap:anywhere}.staff-payroll-table td::before{content:attr(data-label);color:#688794;font:9px var(--font-ui)}.staff-payroll-table td:first-child{grid-column:1/-1;padding:10px 11px;background:rgba(52,153,187,.055)}.staff-payroll-table td:first-child strong{font-size:14px}.staff-payroll-table td:first-child small{font-size:10px}.staff-payroll-table td:last-child{grid-column:1/-1;border-bottom:0}.staff-payroll-table td[colspan]{grid-column:1/-1}.staff-payroll-table td[colspan]::before{content:none}
  .staff-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:auto;padding:16px 11px 13px;border-radius:20px}.staff-dialog__head{padding:0 38px;margin-bottom:12px}.staff-dialog__head h2{font-size:20px}.staff-dialog__head p{font-size:13px;line-height:1.45}.staff-editor-grid{grid-template-columns:1fr;gap:7px}.staff-editor-form{gap:9px}.staff-editor-form input{min-height:42px}.staff-editor-form textarea{min-height:82px}.staff-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.staff-dialog-actions button{min-width:0;width:100%;padding-inline:7px;font-size:12px}
  .staff-checkin-options{grid-template-columns:1fr;gap:6px}.staff-checkin-choice>span{min-height:70px;padding:9px 10px;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;justify-items:start;text-align:right}.staff-checkin-choice i{grid-row:1/3;align-self:center}.staff-checkin-choice b{align-self:end}.staff-checkin-choice small{align-self:start}.staff-manual-time{padding:9px}.staff-manual-time input{height:44px}
  .staff-history-item{grid-template-columns:1fr 1fr;gap:6px;padding:9px}.staff-history-item>div{grid-column:1/-1}.staff-history-item>span:last-child{grid-column:1/-1;padding-top:5px;border-top:1px solid rgba(255,255,255,.05)}
  .staff-empty-state{padding:28px 12px}.staff-empty-state>span{font-size:26px}.staff-empty-state h3{font-size:15px}.staff-empty-state p{font-size:13px}
}
@media(max-width:430px){
  .staff-shell{padding-inline:8px}.staff-hero{padding-inline:10px}.staff-summary-card{grid-template-columns:30px minmax(0,1fr);padding:8px}.staff-summary-card>i{width:29px;height:29px}.staff-summary-card strong{font-size:16px}.staff-panel{padding:9px}.staff-panel-head{grid-template-columns:1fr}.staff-attendance-panel .staff-panel-head>.manager-secondary-button{width:100%}.staff-card-actions{grid-template-columns:1fr 1fr}.staff-payroll-table tr{grid-template-columns:1fr 1fr}.staff-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding-inline:9px}.staff-dialog__head{padding-inline:34px}.staff-dialog-actions{grid-template-columns:1fr 1fr}
}

/* Canonical dialog header and close-control standard. */
:root{--dialog-close-inset:10px}
html body .dialog-x.dialog-x.dialog-x.dialog-x,
html body .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close,
html body .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close,
html body .customer-drawer-close.customer-drawer-close.customer-drawer-close.customer-drawer-close,
html body .dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close.dashboard-drawer-close,
html body .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit{
  position:absolute;
  top:var(--dialog-close-inset);
  right:var(--dialog-close-inset);
  left:auto;
  bottom:auto;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
html body .chat-auth-dialog .chat-dialog-close.chat-dialog-close.chat-dialog-close.chat-dialog-close,
html body .customer-auth-close.customer-auth-close.customer-auth-close.customer-auth-close{
  top:var(--dialog-close-inset);
  right:var(--dialog-close-inset);
  left:auto;
}
dialog>header,
dialog .staff-dialog__head,
dialog .manager-users-dialog__head,
dialog .manager-direct-title,
dialog .manager-unit-heading,
dialog .unit-info-title{
  text-align:center;
}
dialog .staff-dialog__head,dialog .manager-users-dialog__head,dialog .manager-unit-heading,dialog .unit-info-title{justify-items:center}


/* ===== v16.5.64 — Restaurant POS / table & stay-linked billing ===== */
.restaurant-body{min-height:100vh;background:radial-gradient(circle at 8% 4%,rgba(38,194,221,.08),transparent 29%),radial-gradient(circle at 92% 2%,rgba(228,181,67,.07),transparent 24%),linear-gradient(180deg,#061827 0%,#03111c 76%,#020a11 100%);color:#edf8fb}
.restaurant-shell{width:min(1540px,95vw);margin:0 auto;padding:calc(104px + var(--dashboard-safe-top)) 0 48px;display:grid;gap:16px}
.restaurant-hero{position:relative;overflow:hidden;display:grid;justify-items:center;gap:18px;padding:25px 28px;border:1px solid rgba(100,205,235,.14);border-radius:29px;background:linear-gradient(135deg,rgba(12,48,69,.95),rgba(6,28,44,.96) 58%,rgba(4,20,33,.99));box-shadow:0 22px 58px rgba(0,0,0,.22),inset -5px 0 0 rgba(54,198,229,.42);text-align:center}
.restaurant-hero::after{content:"";position:absolute;left:-82px;top:-112px;width:290px;height:290px;border-radius:50%;background:radial-gradient(circle,rgba(55,207,235,.12),transparent 68%);pointer-events:none}
.restaurant-hero__copy{position:relative;z-index:1;display:grid;justify-items:center;gap:5px}.restaurant-hero__copy>span,.restaurant-panel-head>div>span,.restaurant-dialog__head>span{color:#66d9f1;font-size:12px;letter-spacing:.035em}.restaurant-hero__copy h1{margin:0;color:#fff;font-size:32px}.restaurant-hero__copy p{margin:0;max-width:830px;color:#9db7c2;font:17px/1.55 var(--font-body)}
.restaurant-hero__actions{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}.restaurant-action-button{min-height:45px;padding:0 17px;border:1px solid rgba(91,192,220,.2);border-radius:14px;background:rgba(10,46,66,.88);color:#e9f8fb;font-family:var(--font-ui);font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:.18s ease}.restaurant-action-button:hover{transform:translateY(-1px);border-color:rgba(103,214,240,.38);background:rgba(15,59,82,.95)}.restaurant-action-button.is-table span{color:#61d8ef}.restaurant-action-button.is-menu span{color:#f2ca62}.restaurant-back-button{min-width:112px;text-decoration:none}.restaurant-back-button:hover{text-decoration:none}
.restaurant-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.restaurant-summary-card{--restaurant-accent:#52baff;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:11px;min-height:91px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--restaurant-accent) 22%,rgba(255,255,255,.04));border-radius:20px;background:linear-gradient(145deg,color-mix(in srgb,var(--restaurant-accent) 7%,rgba(7,31,48,.92)),rgba(5,23,38,.97));box-shadow:inset -4px 0 0 color-mix(in srgb,var(--restaurant-accent) 70%,transparent),0 13px 28px rgba(0,0,0,.13)}.restaurant-summary-card>i{display:grid;place-items:center;width:43px;height:43px;border-radius:14px;background:color-mix(in srgb,var(--restaurant-accent) 11%,rgba(4,21,34,.9));border:1px solid color-mix(in srgb,var(--restaurant-accent) 23%,transparent);color:var(--restaurant-accent);font-style:normal;font-size:18px}.restaurant-summary-card>div{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "meta value";gap:1px 8px;align-items:center}.restaurant-summary-card span{grid-area:label;color:#b5cad2;font-size:11px}.restaurant-summary-card strong{grid-area:value;color:#fff;font-size:21px;direction:ltr}.restaurant-summary-card small{grid-area:meta;color:#718b96;font:11px var(--font-body)}.restaurant-summary-card.tone-red{--restaurant-accent:#ff6677}.restaurant-summary-card.tone-green{--restaurant-accent:#48dea0}.restaurant-summary-card.tone-cyan{--restaurant-accent:#51d8ed}.restaurant-summary-card.tone-gold{--restaurant-accent:#eec754}.restaurant-summary-card.tone-blue{--restaurant-accent:#55adfa}
.restaurant-workspace{display:grid;grid-template-columns:minmax(380px,.76fr) minmax(0,1.7fr);gap:12px;align-items:start;direction:rtl}.restaurant-order-panel,.restaurant-panel{border:1px solid rgba(99,195,226,.12);border-radius:25px;background:linear-gradient(180deg,rgba(7,31,49,.96),rgba(4,21,35,.98));box-shadow:0 20px 48px rgba(0,0,0,.17)}.restaurant-order-panel{position:sticky;top:calc(84px + var(--dashboard-safe-top));min-height:560px;padding:16px}.restaurant-main-column{display:grid;gap:12px;min-width:0}
.restaurant-order-empty{min-height:520px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.restaurant-order-empty__icon{display:grid;place-items:center;width:88px;height:88px;border:1px solid rgba(91,205,233,.18);border-radius:28px;background:radial-gradient(circle,rgba(52,191,222,.13),rgba(3,21,34,.5));font-size:38px}.restaurant-order-empty h2{margin:16px 0 4px;color:#f4fbfd;font-size:23px}.restaurant-order-empty p{margin:0;max-width:340px;color:#77939f;font:15px/1.7 var(--font-body)}
.restaurant-order-content{display:grid;gap:11px}.restaurant-order-content[hidden]{display:none}.restaurant-order-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:3px 2px 9px;border-bottom:1px solid rgba(255,255,255,.055)}.restaurant-order-head>div{display:grid;gap:1px}.restaurant-order-head span{color:#5fd8ef;font-size:11px}.restaurant-order-head h2{margin:0;color:#fff;font-size:24px}.restaurant-order-head small{color:#718f9c;font-size:11px}.restaurant-order-reset{width:34px;height:34px;border:1px solid rgba(255,95,116,.17);border-radius:11px;background:rgba(151,32,48,.09);color:#ff6a80;font-size:22px;cursor:pointer}
.restaurant-service-toggle{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;border:1px solid rgba(90,185,214,.1);border-radius:16px;background:rgba(2,16,27,.28)}.restaurant-service-toggle button{min-height:65px;border:1px solid transparent;border-radius:12px;background:transparent;color:#849da8;font-family:var(--font-ui);display:grid;grid-template-columns:28px 1fr;grid-template-areas:"icon title" "icon meta";align-items:center;padding:7px 10px;text-align:right;cursor:pointer;transition:.18s ease}.restaurant-service-toggle button>span{grid-area:icon;color:#6f9cab;font-size:18px}.restaurant-service-toggle button>b{grid-area:title;color:#b8cbd2;font-size:13px}.restaurant-service-toggle button>small{grid-area:meta;color:#67818c;font:10px var(--font-body)}.restaurant-service-toggle button.is-active{border-color:rgba(72,216,238,.32);background:linear-gradient(135deg,rgba(35,166,198,.22),rgba(12,83,103,.16));box-shadow:inset -3px 0 0 rgba(73,215,239,.55)}.restaurant-service-toggle button.is-active>span,.restaurant-service-toggle button.is-active>b{color:#79e5f6}.restaurant-service-toggle button[data-service-mode="stay"].is-active{border-color:rgba(237,198,82,.32);background:linear-gradient(135deg,rgba(159,124,36,.18),rgba(95,70,17,.12));box-shadow:inset -3px 0 0 rgba(237,198,82,.55)}.restaurant-service-toggle button[data-service-mode="stay"].is-active>span,.restaurant-service-toggle button[data-service-mode="stay"].is-active>b{color:#f1d672}
.restaurant-stay-link{display:grid;gap:6px;padding:10px;border:1px solid rgba(236,196,75,.15);border-radius:15px;background:linear-gradient(145deg,rgba(103,78,19,.10),rgba(3,19,31,.24))}.restaurant-stay-link[hidden]{display:none}.restaurant-stay-link label{display:flex;justify-content:space-between;align-items:center;color:#d9c474;font-size:11px}.restaurant-stay-link label small{color:#7f8d82;font:10px var(--font-body)}.restaurant-stay-link select{width:100%;height:42px;padding:0 11px;border:1px solid rgba(222,190,87,.2);border-radius:12px;background:#071d2d;color:#edf7f5;font-family:var(--font-ui);outline:0}.restaurant-stay-link p{margin:0;color:#7c938e;font:11px/1.5 var(--font-body)}
.restaurant-order-meta-row{display:grid;grid-template-columns:1fr 1.2fr;gap:7px}.restaurant-order-meta-row>label{min-height:61px;padding:8px 10px;border:1px solid rgba(255,255,255,.055);border-radius:14px;background:rgba(2,15,25,.28);display:grid;gap:4px}.restaurant-order-meta-row>label>span{color:#78939e;font-size:10px}.restaurant-stepper{display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:5px}.restaurant-stepper button,.restaurant-cart-row__stepper button{height:28px;border:1px solid rgba(87,179,208,.15);border-radius:9px;background:rgba(55,137,163,.08);color:#bce6ee;font-size:17px;cursor:pointer}.restaurant-stepper strong{text-align:center;color:#fff;font-size:18px}.restaurant-order-total{align-self:end;color:#62e5bd;font-size:18px}
.restaurant-cart-section{display:grid;gap:8px}.restaurant-section-title{display:flex;align-items:end;justify-content:space-between;gap:10px}.restaurant-section-title>div{display:grid}.restaurant-section-title span{color:#6f8c98;font-size:10px}.restaurant-section-title h3{margin:0;color:#dfeef2;font-size:16px}.restaurant-section-title>button{border:0;background:transparent;color:#ff7185;font-family:var(--font-ui);font-size:10px;cursor:pointer}.restaurant-cart-list{display:grid;gap:5px;max-height:300px;overflow:auto;padding-left:2px}.restaurant-cart-empty{padding:20px 9px;border:1px dashed rgba(105,181,208,.14);border-radius:14px;color:#6e8995;text-align:center;font:12px var(--font-body)}.restaurant-cart-row{display:grid;grid-template-columns:minmax(0,1fr) 88px auto 26px;align-items:center;gap:7px;padding:8px;border:1px solid rgba(93,177,205,.10);border-radius:13px;background:rgba(3,19,31,.34)}.restaurant-cart-row__copy{min-width:0;display:grid}.restaurant-cart-row__copy strong{color:#eaf6f9;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-cart-row__copy small{color:#6f8b96;font:10px var(--font-body)}.restaurant-cart-row__stepper{display:grid;grid-template-columns:27px 1fr 27px;align-items:center;gap:3px}.restaurant-cart-row__stepper b{text-align:center;color:#d8edf2;font-size:12px}.restaurant-cart-row__total{color:#8ae9c5;font-size:11px;white-space:nowrap}.restaurant-cart-remove{width:25px;height:25px;border:0;border-radius:8px;background:rgba(151,29,45,.12);color:#ff6b80;font-size:17px;cursor:pointer}
.restaurant-order-note{display:grid;gap:5px}.restaurant-order-note>span{color:#7f99a4;font-size:10px}.restaurant-order-note textarea{resize:vertical;min-height:58px;padding:9px 11px;border:1px solid rgba(99,185,214,.13);border-radius:13px;background:rgba(2,15,25,.42);color:#e7f5f8;font:13px/1.55 var(--font-body);outline:0}.restaurant-order-note textarea:focus{border-color:rgba(76,207,235,.37);box-shadow:0 0 0 3px rgba(76,207,235,.06)}
.restaurant-order-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.restaurant-order-actions button{min-height:44px;border-radius:13px;font-family:var(--font-ui);font-size:12px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.restaurant-save-button{border:1px solid rgba(70,211,168,.27);background:linear-gradient(135deg,rgba(39,171,126,.72),rgba(27,123,111,.72));color:#effff8}.restaurant-print-button{border:1px solid rgba(76,184,225,.27);background:linear-gradient(135deg,rgba(39,146,193,.70),rgba(27,92,142,.72));color:#effaff}.restaurant-order-actions button:disabled,.restaurant-settlement-actions button:disabled{opacity:.48;cursor:wait}
.restaurant-settlement-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.restaurant-settlement-actions button{min-height:61px;padding:7px 9px;border-radius:14px;font-family:var(--font-ui);display:grid;grid-template-columns:28px 1fr;grid-template-areas:"icon title" "icon meta";align-items:center;text-align:right;cursor:pointer}.restaurant-settlement-actions button>span{grid-area:icon;font-size:18px}.restaurant-settlement-actions button>b{grid-area:title;font-size:12px}.restaurant-settlement-actions button>small{grid-area:meta;font:9px var(--font-body)}.restaurant-paid-button{border:1px solid rgba(62,218,151,.28);background:linear-gradient(135deg,rgba(38,165,112,.23),rgba(11,76,69,.17));color:#dffff0}.restaurant-paid-button small{color:#77a797}.restaurant-room-charge-button{border:1px solid rgba(233,196,76,.28);background:linear-gradient(135deg,rgba(146,109,27,.20),rgba(78,58,15,.14));color:#f6e9ad}.restaurant-room-charge-button small{color:#9d9165}.restaurant-room-charge-button.is-disabled{opacity:.34;cursor:not-allowed}.restaurant-cancel-order{min-height:34px;border:1px solid rgba(255,91,112,.15);border-radius:11px;background:rgba(143,27,43,.07);color:#ff7185;font-family:var(--font-ui);font-size:10px;cursor:pointer}
.restaurant-panel{padding:18px}.restaurant-panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.restaurant-panel-head>div{display:grid;gap:1px}.restaurant-panel-head h2{margin:0;color:#f5fbfd;font-size:22px}.restaurant-panel-head p{margin:1px 0 0;color:#819da8;font:14px/1.45 var(--font-body)}.restaurant-mini-add{min-height:40px;padding:0 14px;border:1px solid rgba(76,197,228,.23);border-radius:12px;background:rgba(36,147,179,.12);color:#aeeaf5;font-family:var(--font-ui);font-size:12px;cursor:pointer}
.restaurant-tables-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.restaurant-table-card{position:relative;overflow:hidden;min-height:145px;padding:13px 11px 10px;border:1px solid rgba(72,178,214,.27);border-radius:18px;background:linear-gradient(150deg,rgba(8,42,60,.96),rgba(4,25,40,.99));color:#d8eaf0;font-family:var(--font-ui);display:grid;justify-items:center;align-content:start;gap:4px;cursor:pointer;box-shadow:0 10px 23px rgba(0,0,0,.14),inset 0 0 0 1px rgba(255,255,255,.01);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.restaurant-table-card:hover{transform:translateY(-2px);border-color:rgba(75,205,235,.54);box-shadow:0 15px 28px rgba(0,0,0,.2),0 0 20px rgba(63,194,226,.05)}.restaurant-table-card.is-selected{border-color:#61def2;box-shadow:0 0 0 2px rgba(85,216,239,.11),0 16px 31px rgba(0,0,0,.22)}.restaurant-table-card.is-occupied{border-color:rgba(255,83,103,.68);background:linear-gradient(150deg,rgba(69,25,38,.52),rgba(5,25,39,.99));box-shadow:inset -3px 0 0 rgba(255,82,104,.75),0 11px 24px rgba(0,0,0,.17)}.restaurant-table-card__state{position:absolute;top:8px;left:8px;padding:3px 7px;border-radius:999px;background:rgba(49,191,147,.13);color:#68dfb6;font-size:9px}.restaurant-table-card.is-occupied .restaurant-table-card__state{background:rgba(255,73,95,.13);color:#ff8595}.restaurant-table-card__icon{position:relative;width:70px;height:48px;display:grid;place-items:center;margin-top:8px}.restaurant-table-card__icon::before{content:"";position:absolute;left:12px;right:12px;top:17px;height:22px;border-radius:6px 6px 12px 12px;background:linear-gradient(180deg,#8c552f,#51311d);box-shadow:0 7px 12px rgba(0,0,0,.22)}.restaurant-table-card__icon::after{content:"";position:absolute;left:18px;right:18px;top:13px;height:9px;border-radius:50%;background:#b87c4d;border:1px solid rgba(255,255,255,.12)}.restaurant-table-card__icon b{position:relative;z-index:2;font-size:16px;transform:translateY(-1px)}.restaurant-table-card__icon i{position:absolute;bottom:0;width:4px;height:16px;background:#55321d;border-radius:2px}.restaurant-table-card__icon i:first-child{right:19px;transform:rotate(-8deg)}.restaurant-table-card__icon i:nth-child(2){left:19px;transform:rotate(8deg)}.restaurant-table-card>strong{color:#fff;font-size:18px}.restaurant-table-card>small{max-width:100%;color:#78949f;font:11px var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-table-card.is-occupied>small{color:#d6929d}.restaurant-table-card footer{width:100%;margin-top:5px;padding-top:7px;border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-between;gap:6px;color:#7f9ba6;font-size:9px}.restaurant-table-card footer b{color:#8adfca;font-size:9px}.restaurant-table-card.is-occupied footer b{color:#ff9dac}
.restaurant-empty-state{grid-column:1/-1;min-height:210px;padding:26px;border:1px dashed rgba(99,190,220,.16);border-radius:18px;display:grid;place-items:center;align-content:center;text-align:center}.restaurant-empty-state>span{font-size:34px;color:#66d8ee}.restaurant-empty-state h3{margin:6px 0 2px;color:#dceef3;font-size:18px}.restaurant-empty-state p{margin:0;max-width:520px;color:#76929e;font:14px/1.6 var(--font-body)}.restaurant-empty-state button{margin-top:12px;height:40px;padding:0 15px;border:1px solid rgba(65,205,236,.26);border-radius:12px;background:rgba(35,150,184,.16);color:#9eeafa;font-family:var(--font-ui);cursor:pointer}
.restaurant-menu-head{align-items:end}.restaurant-menu-search{position:relative;width:min(330px,40%)}.restaurant-menu-search input{width:100%;height:41px;padding:0 38px 0 12px;border:1px solid rgba(94,185,214,.13);border-radius:13px;background:rgba(2,16,27,.35);color:#e8f6f9;font-family:var(--font-ui);outline:0}.restaurant-menu-search input:focus{border-color:rgba(72,205,234,.38);box-shadow:0 0 0 3px rgba(72,205,234,.05)}.restaurant-menu-search>span{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#73a9b8;font-size:18px}.restaurant-category-tabs{display:flex;gap:6px;overflow:auto;padding:1px 0 9px;scrollbar-width:none}.restaurant-category-tabs::-webkit-scrollbar{display:none}.restaurant-category-tabs button{flex:0 0 auto;height:36px;padding:0 13px;border:1px solid rgba(91,179,209,.11);border-radius:11px;background:rgba(4,24,38,.58);color:#8ea7b1;font-family:var(--font-ui);font-size:11px;display:flex;align-items:center;gap:5px;cursor:pointer}.restaurant-category-tabs button.is-active{border-color:rgba(67,207,235,.38);background:linear-gradient(135deg,rgba(41,168,199,.38),rgba(23,112,150,.3));color:#fff;box-shadow:0 8px 18px rgba(25,120,153,.1)}.restaurant-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.restaurant-menu-card{position:relative;overflow:hidden;border:1px solid rgba(91,176,205,.11);border-radius:17px;background:linear-gradient(155deg,rgba(9,38,56,.94),rgba(4,23,37,.98));min-width:0;transition:.18s ease}.restaurant-menu-card:hover{transform:translateY(-2px);border-color:rgba(76,204,233,.25);box-shadow:0 13px 25px rgba(0,0,0,.17)}.restaurant-menu-card.is-in-cart{border-color:rgba(72,218,164,.28);box-shadow:inset -3px 0 0 rgba(72,218,164,.65)}.restaurant-menu-card__media{position:relative;height:112px;overflow:hidden;background:radial-gradient(circle at 50% 34%,rgba(50,159,185,.16),rgba(2,16,26,.76));display:grid;place-items:center}.restaurant-menu-card__media img{width:100%;height:100%;object-fit:cover}.restaurant-menu-placeholder{font-size:42px;filter:drop-shadow(0 8px 12px rgba(0,0,0,.22))}.restaurant-menu-card__media>span:last-child{position:absolute;right:7px;bottom:7px;padding:3px 7px;border-radius:999px;background:rgba(3,17,28,.74);backdrop-filter:blur(6px);color:#b7d7df;font-size:9px}.restaurant-menu-card__body{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:9px 9px 6px}.restaurant-menu-card__body h3{min-width:0;margin:0;color:#edf7fa;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-menu-card__body strong{color:#71e1bc;font-size:10px;white-space:nowrap}.restaurant-menu-card>button{width:calc(100% - 16px);height:33px;margin:0 8px 8px;border:1px solid rgba(77,199,226,.16);border-radius:10px;background:rgba(41,145,174,.1);color:#b6e7f0;font-family:var(--font-ui);font-size:10px;display:flex;align-items:center;justify-content:center;gap:7px;cursor:pointer}.restaurant-menu-card.is-in-cart>button{border-color:rgba(65,218,159,.22);background:rgba(31,145,103,.11);color:#8aeac1}.restaurant-menu-empty{grid-column:1/-1;padding:32px;text-align:center;color:#738f9a;font:14px var(--font-body)}
.restaurant-dialog{position:relative;width:min(1080px,calc(100vw - 30px));max-height:min(88vh,880px);overflow:auto;padding:28px 24px 24px;border:1px solid rgba(92,188,219,.18);border-radius:27px;background:linear-gradient(155deg,#0a2b40,#061d2e 56%,#041725);color:#edf7fa;box-shadow:0 35px 90px rgba(0,0,0,.55)}.restaurant-dialog::backdrop{background:rgba(0,7,12,.74);backdrop-filter:blur(9px)}.restaurant-dialog__head{display:grid;justify-items:center;gap:3px;text-align:center;padding:0 54px;margin-bottom:18px}.restaurant-dialog__head h2{margin:0;color:#fff;font-size:27px}.restaurant-dialog__head p{margin:2px 0 0;max-width:730px;color:#819ca7;font:15px/1.5 var(--font-body)}.restaurant-table-manager,.restaurant-menu-manager{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:12px;align-items:start}.restaurant-editor-card{display:grid;gap:12px;padding:15px;border:1px solid rgba(91,183,211,.12);border-radius:19px;background:rgba(2,17,28,.30)}.restaurant-editor-card>h3{margin:0;text-align:center;color:#e9f6f9;font-size:17px}.restaurant-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.restaurant-editor-grid label{display:grid;gap:5px}.restaurant-editor-grid label>span{color:#8da5ae;font-size:10px}.restaurant-editor-grid label>span small{color:#627d87;font:9px var(--font-body)}.restaurant-editor-grid input,.restaurant-editor-grid select{width:100%;min-width:0;height:42px;padding:0 11px;border:1px solid rgba(91,183,211,.13);border-radius:12px;background:rgba(1,14,24,.48);color:#e9f6f9;font-family:var(--font-ui);outline:0;box-sizing:border-box}.restaurant-editor-grid input:focus,.restaurant-editor-grid select:focus{border-color:rgba(77,207,235,.4);box-shadow:0 0 0 3px rgba(77,207,235,.06)}.restaurant-dialog-actions{display:flex;justify-content:center;gap:8px}.restaurant-dialog-actions>*{min-width:145px;min-height:43px}.restaurant-dialog-primary{border:1px solid rgba(72,204,232,.31);border-radius:13px;background:linear-gradient(135deg,#239fca,#2476b0);color:#fff;font-family:var(--font-ui);cursor:pointer}.restaurant-dialog-primary.is-gold{border-color:rgba(230,193,73,.36);background:linear-gradient(135deg,#b68624,#806219)}.restaurant-dialog-primary:disabled{opacity:.5;cursor:wait}
.restaurant-managed-list,.restaurant-managed-menu{display:grid;gap:6px;max-height:570px;overflow:auto;padding-left:2px}.restaurant-managed-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;padding:10px 11px;border:1px solid rgba(92,177,206,.1);border-radius:14px;background:rgba(3,20,33,.38)}.restaurant-managed-row>div:first-child{display:grid}.restaurant-managed-row>div:first-child strong{color:#e8f5f8;font-size:13px}.restaurant-managed-row>div:first-child small{color:#6e8994;font:10px var(--font-body)}.restaurant-managed-row>span{padding:3px 7px;border-radius:999px;background:rgba(54,190,143,.10);color:#73deb8;font-size:9px}.restaurant-managed-row>span.is-busy{background:rgba(255,76,98,.10);color:#ff8998}.restaurant-managed-row__actions{display:flex;gap:5px}.restaurant-managed-row__actions button,.restaurant-managed-menu-card>div:last-child button{height:31px;padding:0 9px;border:1px solid rgba(86,176,206,.13);border-radius:9px;background:rgba(49,132,160,.08);color:#a7d8e2;font-family:var(--font-ui);font-size:9px;cursor:pointer}.restaurant-managed-row__actions button.is-danger,.restaurant-managed-menu-card>div:last-child button.is-danger{border-color:rgba(255,86,107,.14);background:rgba(142,27,43,.08);color:#ff7b8e}.restaurant-manager-empty{padding:28px;border:1px dashed rgba(92,181,211,.13);border-radius:15px;text-align:center;color:#718c97;font:13px var(--font-body)}
.restaurant-menu-image-editor{display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:8px}.restaurant-menu-image-preview{width:86px;height:70px;border:1px solid rgba(91,183,211,.13);border-radius:13px;background:radial-gradient(circle,rgba(53,156,183,.12),rgba(1,14,24,.55));display:grid;place-items:center;overflow:hidden}.restaurant-menu-image-preview img{width:100%;height:100%;object-fit:cover}.restaurant-menu-image-preview span{font-size:30px}.restaurant-image-upload{height:70px;padding:0 12px;border:1px dashed rgba(76,198,227,.22);border-radius:13px;display:grid;grid-template-columns:26px 1fr;grid-template-areas:"icon title" "icon meta";align-items:center;cursor:pointer}.restaurant-image-upload>span{grid-area:icon;color:#65d9ef;font-size:21px}.restaurant-image-upload>b{grid-area:title;color:#c7e7ed;font-size:11px}.restaurant-image-upload>small{grid-area:meta;color:#68858f;font:9px var(--font-body)}#restaurantMenuRemoveImage{height:34px;padding:0 8px;border:1px solid rgba(255,82,105,.13);border-radius:9px;background:rgba(140,27,43,.07);color:#ff7589;font-family:var(--font-ui);font-size:9px;cursor:pointer}.restaurant-managed-menu-card{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:8px;padding:7px;border:1px solid rgba(92,177,206,.09);border-radius:13px;background:rgba(3,19,31,.34)}.restaurant-managed-menu-card.is-inactive{opacity:.5}.restaurant-managed-menu-card__media{width:58px;height:50px;border-radius:10px;overflow:hidden;background:rgba(25,99,123,.1);display:grid;place-items:center}.restaurant-managed-menu-card__media img{width:100%;height:100%;object-fit:cover}.restaurant-managed-menu-card>div:nth-child(2){display:grid}.restaurant-managed-menu-card>div:nth-child(2) strong{color:#e8f4f8;font-size:12px}.restaurant-managed-menu-card>div:nth-child(2) small{color:#6f8994;font:10px var(--font-body)}.restaurant-managed-menu-card>div:last-child{display:flex;gap:4px}.restaurant-managed-menu-card>div:last-child>span{color:#8a9498;font-size:9px}
.restaurant-settlement-dialog{width:min(600px,calc(100vw - 28px))}.restaurant-settlement-summary{display:grid;justify-items:center;gap:4px;margin:5px 0 18px;padding:18px;border:1px solid rgba(90,184,214,.12);border-radius:17px;background:rgba(2,17,28,.3)}.restaurant-settlement-summary>span{color:#819aa4;font-size:11px}.restaurant-settlement-summary>strong{color:#72e3bd;font-size:27px}.restaurant-settlement-summary>small{color:#758f99;font:11px var(--font-body)}
.restaurant-body.is-light{background:linear-gradient(180deg,#eef7f9,#e5eff3);color:#183744}.restaurant-body.is-light .restaurant-hero,.restaurant-body.is-light .restaurant-panel,.restaurant-body.is-light .restaurant-order-panel,.restaurant-body.is-light .restaurant-dialog{background:rgba(250,253,254,.97);border-color:rgba(35,111,137,.12);box-shadow:0 15px 34px rgba(25,73,88,.09)}.restaurant-body.is-light .restaurant-hero__copy h1,.restaurant-body.is-light .restaurant-panel-head h2,.restaurant-body.is-light .restaurant-order-head h2,.restaurant-body.is-light .restaurant-dialog__head h2{color:#173744}.restaurant-body.is-light .restaurant-hero__copy p,.restaurant-body.is-light .restaurant-panel-head p,.restaurant-body.is-light .restaurant-dialog__head p{color:#607d88}.restaurant-body.is-light .restaurant-summary-card{background:#fbfeff}.restaurant-body.is-light .restaurant-summary-card strong{color:#204b5a}.restaurant-body.is-light .restaurant-table-card,.restaurant-body.is-light .restaurant-menu-card,.restaurant-body.is-light .restaurant-cart-row,.restaurant-body.is-light .restaurant-editor-card,.restaurant-body.is-light .restaurant-managed-row,.restaurant-body.is-light .restaurant-managed-menu-card{background:#f7fbfc;border-color:rgba(31,103,127,.12)}.restaurant-body.is-light .restaurant-table-card>strong,.restaurant-body.is-light .restaurant-menu-card__body h3,.restaurant-body.is-light .restaurant-cart-row__copy strong,.restaurant-body.is-light .restaurant-editor-card>h3,.restaurant-body.is-light .restaurant-managed-row strong,.restaurant-body.is-light .restaurant-managed-menu-card strong{color:#244c5a}.restaurant-body.is-light .restaurant-menu-search input,.restaurant-body.is-light .restaurant-stay-link select,.restaurant-body.is-light .restaurant-order-note textarea,.restaurant-body.is-light .restaurant-editor-grid input,.restaurant-body.is-light .restaurant-editor-grid select{background:#fff;color:#173743;border-color:rgba(31,103,127,.14);color-scheme:light}.restaurant-body.is-light .restaurant-service-toggle,.restaurant-body.is-light .restaurant-order-meta-row>label{background:rgba(229,241,245,.55)}
@media(max-width:1280px){.restaurant-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-summary-card:nth-child(4),.restaurant-summary-card:nth-child(5){grid-column:auto}.restaurant-workspace{grid-template-columns:minmax(340px,.8fr) minmax(0,1.4fr)}.restaurant-tables-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:980px){.restaurant-workspace{grid-template-columns:1fr}.restaurant-order-panel{position:relative;top:auto;min-height:0;order:1}.restaurant-main-column{order:0}.restaurant-order-empty{min-height:220px}.restaurant-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-summary-card:last-child{grid-column:1/-1}.restaurant-table-manager,.restaurant-menu-manager{grid-template-columns:1fr}.restaurant-managed-list,.restaurant-managed-menu{max-height:390px}.restaurant-tables-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.restaurant-menu-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:720px){.restaurant-shell{width:94vw;padding-top:calc(88px + var(--dashboard-safe-top));gap:9px}.restaurant-hero{padding:16px;border-radius:20px}.restaurant-hero__copy h1{font-size:23px}.restaurant-hero__copy p{font-size:14px}.restaurant-hero__actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.restaurant-hero__actions>*{min-width:0;width:100%;padding:0 6px;font-size:10px}.restaurant-summary-grid{gap:5px}.restaurant-summary-card{grid-template-columns:37px minmax(0,1fr);min-height:76px;padding:9px;border-radius:15px}.restaurant-summary-card>i{width:33px;height:33px;border-radius:10px;font-size:14px}.restaurant-summary-card strong{font-size:17px}.restaurant-summary-card small{font-size:9px}.restaurant-panel,.restaurant-order-panel{padding:11px;border-radius:19px}.restaurant-panel-head{align-items:flex-start;margin-bottom:10px}.restaurant-panel-head h2{font-size:18px}.restaurant-panel-head p{font-size:11px}.restaurant-mini-add{height:36px;min-height:36px;padding:0 9px;font-size:9px}.restaurant-tables-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.restaurant-table-card{min-height:130px;border-radius:15px}.restaurant-menu-head{display:grid}.restaurant-menu-search{width:100%}.restaurant-category-tabs{padding-bottom:7px}.restaurant-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.restaurant-menu-card__media{height:96px}.restaurant-order-meta-row,.restaurant-order-actions,.restaurant-settlement-actions{grid-template-columns:1fr 1fr}.restaurant-cart-row{grid-template-columns:minmax(0,1fr) 80px 24px}.restaurant-cart-row__total{grid-column:1/3;text-align:right}.restaurant-dialog{padding:20px 12px 14px;border-radius:21px}.restaurant-dialog__head{padding:0 40px}.restaurant-dialog__head h2{font-size:21px}.restaurant-dialog__head p{font-size:12px}.restaurant-editor-grid{grid-template-columns:1fr}.restaurant-dialog-actions{display:grid;grid-template-columns:1fr 1fr}.restaurant-dialog-actions>*{min-width:0;width:100%}.restaurant-menu-image-editor{grid-template-columns:75px minmax(0,1fr)}.restaurant-menu-image-preview{width:75px;height:65px}#restaurantMenuRemoveImage{grid-column:1/-1;width:100%}.restaurant-managed-row{grid-template-columns:minmax(0,1fr) auto}.restaurant-managed-row__actions{grid-column:1/-1;justify-content:flex-end}.restaurant-managed-menu-card{grid-template-columns:50px minmax(0,1fr)}.restaurant-managed-menu-card__media{width:50px;height:45px}.restaurant-managed-menu-card>div:last-child{grid-column:1/-1;justify-content:flex-end}.restaurant-order-empty{min-height:180px;padding:18px}.restaurant-order-empty__icon{width:68px;height:68px;border-radius:21px;font-size:29px}.restaurant-order-empty h2{font-size:18px}}
@media(max-width:430px){.restaurant-hero__actions{grid-template-columns:1fr 1fr}.restaurant-hero__actions .restaurant-back-button{grid-column:1/-1}.restaurant-summary-card>div{grid-template-columns:1fr;grid-template-areas:"label" "value" "meta"}.restaurant-summary-card strong{direction:rtl}.restaurant-service-toggle{grid-template-columns:1fr}.restaurant-order-meta-row{grid-template-columns:1fr}.restaurant-order-actions,.restaurant-settlement-actions{grid-template-columns:1fr}.restaurant-menu-card__body{display:grid}.restaurant-menu-card__body strong{justify-self:start}.restaurant-settlement-summary>strong{font-size:22px}}
.restaurant-confirm-dialog{width:min(560px,calc(100vw - 28px))}.restaurant-confirm-danger{min-height:43px;min-width:145px;border:1px solid rgba(255,90,111,.34);border-radius:13px;background:linear-gradient(145deg,rgba(145,25,42,.98),rgba(196,49,66,.96));color:#fff;font-family:var(--font-ui);cursor:pointer}.restaurant-confirm-danger:hover{filter:brightness(1.08)}

/* ===== v16.5.65 — compact restaurant command bar / all-unit picker / thermal POS ===== */
.dashboard-header-back{position:relative;z-index:2;min-width:98px;height:42px;padding:0 13px;border:1px solid rgba(255,91,112,.32);border-radius:13px;background:linear-gradient(145deg,rgba(116,20,35,.92),rgba(171,39,55,.9));color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-family:var(--font-ui);font-size:12px;box-shadow:0 10px 24px rgba(87,14,25,.18);transition:transform .16s ease,filter .16s ease}.dashboard-header-back:hover{transform:translateY(-1px);filter:brightness(1.08);text-decoration:none;color:#fff}.dashboard-header-back span{font:19px/1 Arial,sans-serif}.dashboard-header-back b{font-weight:700}
.restaurant-body,.restaurant-body *{scrollbar-width:none;-ms-overflow-style:none}.restaurant-body::-webkit-scrollbar,.restaurant-body *::-webkit-scrollbar{width:0;height:0;display:none}
.restaurant-shell{gap:10px;padding-top:calc(94px + var(--dashboard-safe-top))}
.restaurant-command-bar{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(255px,.8fr) auto minmax(600px,1.8fr);align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(100,205,235,.14);border-radius:23px;background:linear-gradient(135deg,rgba(12,48,69,.96),rgba(6,28,44,.97) 58%,rgba(4,20,33,.99));box-shadow:0 17px 40px rgba(0,0,0,.18),inset -4px 0 0 rgba(54,198,229,.38)}
.restaurant-command-bar::after{content:"";position:absolute;left:-60px;top:-100px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(55,207,235,.10),transparent 70%);pointer-events:none}
.restaurant-command-copy{position:relative;z-index:1;display:grid;gap:1px;align-content:center;text-align:right}.restaurant-command-copy>span{color:#66d9f1;font-size:10px}.restaurant-command-copy h1{margin:0;color:#fff;font-size:25px;line-height:1.25}.restaurant-command-copy p{margin:2px 0 0;color:#8faab5;font:12px/1.45 var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restaurant-command-actions{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.restaurant-command-actions .restaurant-action-button{min-height:40px;padding:0 12px;font-size:11px;white-space:nowrap}
.restaurant-command-bar .restaurant-summary-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.restaurant-command-bar .restaurant-summary-card{grid-template-columns:32px minmax(0,1fr);gap:7px;min-height:62px;padding:8px 9px;border-radius:15px;box-shadow:inset -3px 0 0 color-mix(in srgb,var(--restaurant-accent) 64%,transparent)}.restaurant-command-bar .restaurant-summary-card>i{width:30px;height:30px;border-radius:10px;font-size:13px}.restaurant-command-bar .restaurant-summary-card>div{grid-template-columns:1fr auto;grid-template-areas:"label value" "meta meta";gap:0 5px}.restaurant-command-bar .restaurant-summary-card span{font-size:9px}.restaurant-command-bar .restaurant-summary-card strong{font-size:16px}.restaurant-command-bar .restaurant-summary-card small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restaurant-workspace{grid-template-columns:minmax(350px,.68fr) minmax(0,1.72fr);gap:10px}.restaurant-order-panel{top:calc(82px + var(--dashboard-safe-top));min-height:0;padding:13px}.restaurant-order-empty{min-height:245px;padding:18px}.restaurant-order-empty__icon{width:64px;height:64px;border-radius:20px;font-size:28px}.restaurant-order-empty h2{margin:10px 0 3px;font-size:18px}.restaurant-order-empty p{font-size:12px;max-width:300px}.restaurant-order-empty[hidden]{display:none}.restaurant-order-panel.has-selection .restaurant-order-content{min-height:0}
.restaurant-order-head{min-height:68px;justify-content:center;padding:7px 46px 9px;text-align:center}.restaurant-order-head>div{justify-items:center}.restaurant-order-head h2{font-size:21px}.restaurant-order-head .restaurant-order-reset{top:var(--dialog-close-inset);right:var(--dialog-close-inset);left:auto}
.restaurant-stay-link{padding:7px}.restaurant-unit-picker-trigger{position:relative;width:100%;min-height:63px;padding:8px 42px 8px 11px;border:1px solid rgba(236,196,75,.20);border-radius:13px;background:linear-gradient(145deg,rgba(105,79,17,.12),rgba(3,19,31,.32));color:#eaf6f8;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"label value" "meta meta";align-items:center;gap:2px 8px;text-align:right;font-family:var(--font-ui);cursor:pointer}.restaurant-unit-picker-trigger>span{grid-area:label;color:#c9b35f;font-size:10px}.restaurant-unit-picker-trigger>strong{grid-area:value;color:#fff3bd;font-size:13px;text-align:left}.restaurant-unit-picker-trigger>small{grid-area:meta;color:#728f94;font:10px/1.5 var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-unit-picker-trigger>i{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#e6c75f;font:22px/1 Arial,sans-serif;font-style:normal}.restaurant-unit-picker-trigger:hover{border-color:rgba(238,201,86,.38);background:linear-gradient(145deg,rgba(123,93,20,.18),rgba(4,24,38,.4))}
.restaurant-unit-dialog{width:min(930px,calc(100vw - 28px));max-height:min(82vh,760px);overflow:hidden}.restaurant-unit-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 12px}.restaurant-unit-search{width:min(430px,58%);height:42px;padding:0 11px;border:1px solid rgba(93,184,215,.15);border-radius:13px;background:rgba(2,16,27,.38);display:flex;align-items:center;gap:8px}.restaurant-unit-search span{color:#62d4eb}.restaurant-unit-search input{width:100%;height:100%;border:0;background:transparent;color:#edf8fb;font-family:var(--font-ui);outline:0}.restaurant-unit-legend{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}.restaurant-unit-legend span{padding:5px 9px;border:1px solid rgba(255,255,255,.08);border-radius:999px;font-size:9px}.restaurant-unit-legend .is-occupied{color:#78e7b4;border-color:rgba(69,219,157,.27);background:rgba(69,219,157,.08)}.restaurant-unit-legend .is-reserved{color:#f1d76f;border-color:rgba(235,196,72,.25);background:rgba(235,196,72,.08)}.restaurant-unit-legend .is-available{color:#ff8998;border-color:rgba(255,101,120,.23);background:rgba(255,101,120,.07)}.restaurant-unit-legend .is-other{color:#8ccbe9;border-color:rgba(91,178,222,.23);background:rgba(91,178,222,.07)}
.restaurant-unit-grid{max-height:min(58vh,530px);overflow:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:2px}.restaurant-unit-card{--unit-accent:#ff687c;position:relative;min-height:128px;padding:13px 11px 10px;border:1px solid color-mix(in srgb,var(--unit-accent) 42%,rgba(255,255,255,.05));border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--unit-accent) 6%,rgba(6,31,48,.95)),rgba(3,19,31,.97));box-shadow:inset -3px 0 0 color-mix(in srgb,var(--unit-accent) 64%,transparent);color:#eef8fa;display:grid;align-content:start;gap:3px;text-align:right;font-family:var(--font-ui);cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.restaurant-unit-card:hover,.restaurant-unit-card.is-selected{transform:translateY(-2px);border-color:color-mix(in srgb,var(--unit-accent) 78%,#fff 8%);box-shadow:inset -3px 0 0 var(--unit-accent),0 10px 25px color-mix(in srgb,var(--unit-accent) 11%,transparent)}.restaurant-unit-card.is-occupied{--unit-accent:#45db9d}.restaurant-unit-card.is-reserved{--unit-accent:#e8c44b}.restaurant-unit-card.is-available{--unit-accent:#ff6677}.restaurant-unit-card.is-cleaning{--unit-accent:#55b7f1}.restaurant-unit-card.is-locked{--unit-accent:#a978f2}.restaurant-unit-card__state{justify-self:start;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--unit-accent) 12%,transparent);color:var(--unit-accent);font-size:9px}.restaurant-unit-card>strong{margin-top:4px;color:#fff;font-size:16px;text-align:center}.restaurant-unit-card>small{color:#76929d;font:10px var(--font-body);text-align:center}.restaurant-unit-card>em{min-height:29px;color:#a8c0c8;font:10px/1.45 var(--font-body);font-style:normal;text-align:center}.restaurant-unit-card>b{justify-self:center;color:var(--unit-accent);font-size:9px}
.restaurant-cart-list{max-height:275px}.restaurant-order-note textarea{min-height:64px}.restaurant-order-meta-row>label{min-height:56px}.restaurant-service-toggle button{min-height:58px}
.restaurant-settlement-summary>strong{direction:ltr}
.restaurant-body.is-light .restaurant-command-bar{background:rgba(250,253,254,.97);border-color:rgba(35,111,137,.12)}.restaurant-body.is-light .restaurant-command-copy h1{color:#173744}.restaurant-body.is-light .restaurant-command-copy p{color:#607d88}.restaurant-body.is-light .restaurant-unit-picker-trigger,.restaurant-body.is-light .restaurant-unit-search,.restaurant-body.is-light .restaurant-unit-card{background:#f7fbfc;color:#173743}.restaurant-body.is-light .restaurant-unit-picker-trigger>strong,.restaurant-body.is-light .restaurant-unit-card>strong{color:#244c5a}.restaurant-body.is-light .restaurant-unit-search input{color:#173743}
@media(max-width:1320px){.restaurant-command-bar{grid-template-columns:minmax(240px,.75fr) auto 1.6fr}.restaurant-command-copy p{display:none}.restaurant-command-bar .restaurant-summary-card small{display:none}.restaurant-workspace{grid-template-columns:minmax(330px,.72fr) minmax(0,1.5fr)}}
@media(max-width:1080px){.restaurant-command-bar{grid-template-columns:1fr auto;grid-template-areas:"copy actions" "summary summary"}.restaurant-command-copy{grid-area:copy}.restaurant-command-actions{grid-area:actions}.restaurant-command-bar .restaurant-summary-grid{grid-area:summary}.restaurant-command-bar .restaurant-summary-card small{display:block}.restaurant-unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-workspace{grid-template-columns:1fr}.restaurant-order-panel{position:relative;top:auto;order:0}.restaurant-main-column{order:1}}
@media(max-width:720px){.dashboard-header-back{min-width:76px;height:38px;padding:0 9px;font-size:10px}.dashboard-header-back span{font-size:16px}.restaurant-shell{padding-top:calc(80px + var(--dashboard-safe-top))}.restaurant-command-bar{grid-template-columns:1fr;grid-template-areas:"copy" "actions" "summary";padding:10px;border-radius:18px}.restaurant-command-copy{text-align:center}.restaurant-command-copy h1{font-size:21px}.restaurant-command-actions{grid-template-columns:1fr 1fr}.restaurant-command-bar .restaurant-summary-grid{grid-template-columns:repeat(5,minmax(92px,1fr));overflow-x:auto;padding-bottom:1px}.restaurant-command-bar .restaurant-summary-card{min-height:57px}.restaurant-order-empty{min-height:150px}.restaurant-unit-toolbar{display:grid}.restaurant-unit-search{width:100%}.restaurant-unit-legend{justify-content:center}.restaurant-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:60vh}.restaurant-unit-card{min-height:116px}.restaurant-unit-picker-trigger>small{white-space:normal}}
@media(max-width:430px){.dashboard-header-back{min-width:41px;width:41px;padding:0;border-radius:12px}.dashboard-header-back b{display:none}.restaurant-command-bar .restaurant-summary-grid{grid-template-columns:repeat(5,105px)}.restaurant-command-actions .restaurant-action-button{font-size:10px}.restaurant-unit-dialog{padding-inline:11px}.restaurant-unit-grid{gap:6px}.restaurant-unit-card{padding:11px 8px}.restaurant-order-head{padding-inline:42px}}

/* ===== Restaurant seating model + compact 8-box command bar (v16.5.67) ===== */
.restaurant-command-bar{
  grid-template-columns:minmax(0,1fr) minmax(205px,260px) minmax(0,1fr);
  grid-template-areas:"left copy right";
  gap:8px;
  padding:9px 10px;
  overflow:visible;
}
.restaurant-command-cluster{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0}
.restaurant-command-cluster.is-right{grid-area:right}
.restaurant-command-cluster.is-left{grid-area:left}
.restaurant-command-copy{grid-area:copy;justify-items:center;text-align:center;min-width:0}
.restaurant-command-copy>span{font-size:11px;white-space:nowrap}.restaurant-command-copy>span b{color:#fff;font-size:13px}
.restaurant-command-copy h1{font-size:26px;text-align:center;white-space:nowrap}
.restaurant-command-bar .restaurant-summary-card{
  width:100%;min-width:0;min-height:62px;margin:0;padding:8px 9px;
  grid-template-columns:31px minmax(0,1fr);gap:7px;border-radius:15px;
  box-shadow:inset -3px 0 0 color-mix(in srgb,var(--restaurant-accent) 64%,transparent);
}
.restaurant-command-bar .restaurant-summary-card>i{width:30px;height:30px;border-radius:10px;font-size:14px}
.restaurant-command-bar .restaurant-summary-card>div{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "meta meta";gap:0 5px;align-items:center;min-width:0;text-align:right}
.restaurant-command-bar .restaurant-summary-card span{font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restaurant-command-bar .restaurant-summary-card strong{font-size:18px;line-height:1.1;white-space:nowrap}
.restaurant-command-bar .restaurant-summary-card small{font-size:9.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restaurant-summary-card.tone-purple{--restaurant-accent:#b584ff}.restaurant-summary-card.tone-menu{--restaurant-accent:#f0c65c}
.restaurant-summary-action{appearance:none;text-align:inherit;font-family:var(--font-ui);cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}
.restaurant-summary-action:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--restaurant-accent) 42%,rgba(255,255,255,.06));background:linear-gradient(145deg,color-mix(in srgb,var(--restaurant-accent) 10%,rgba(7,31,48,.95)),rgba(5,23,38,.98))}
.restaurant-command-bar .restaurant-summary-action strong{color:var(--restaurant-accent);font-size:13px}

.restaurant-seating-panel-head{align-items:center}.restaurant-seating-add-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-start}
.restaurant-mini-add.is-table{border-color:rgba(69,222,236,.48);background:linear-gradient(135deg,#17b8cf,#168fb6);color:#fff;box-shadow:0 8px 18px rgba(21,174,202,.14)}
.restaurant-mini-add.is-bed{border-color:rgba(235,199,87,.28);background:rgba(171,129,29,.12);color:#efd777}
.restaurant-seating-groups{display:grid;gap:10px}.restaurant-seating-group{min-width:0;padding:10px;border:1px solid rgba(83,178,208,.10);border-radius:17px;background:rgba(2,18,29,.22)}
.restaurant-seating-group.is-bed{border-color:rgba(181,132,255,.14);background:linear-gradient(145deg,rgba(84,42,113,.075),rgba(2,18,29,.22))}
.restaurant-seating-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px 8px}.restaurant-seating-group>header>div{display:flex;align-items:center;gap:7px}.restaurant-seating-group>header span{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:rgba(82,190,220,.09);color:#6fd9ed;font-size:13px}.restaurant-seating-group.is-bed>header span{color:#c7a5ff;background:rgba(181,132,255,.09)}
.restaurant-seating-group>header strong{color:#f1f9fb;font-size:15px}.restaurant-seating-group>header small{color:#78949f;font:10px var(--font-body)}
.restaurant-seating-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(145px,1fr);grid-template-rows:1fr;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;padding:1px 1px 2px}.restaurant-seating-row::-webkit-scrollbar{display:none}
.restaurant-seating-row .restaurant-table-card{min-width:145px;min-height:136px}
.restaurant-table-card.is-bed{border-color:rgba(181,132,255,.36);background:linear-gradient(150deg,rgba(64,35,81,.42),rgba(4,25,40,.99));box-shadow:inset -3px 0 0 rgba(181,132,255,.48),0 10px 23px rgba(0,0,0,.14)}
.restaurant-table-card.is-bed.is-selected{border-color:#caa9ff;box-shadow:0 0 0 2px rgba(181,132,255,.12),0 16px 31px rgba(0,0,0,.22)}
.restaurant-table-card.is-bed .restaurant-table-card__icon::before{height:18px;top:21px;border-radius:11px 11px 7px 7px;background:linear-gradient(180deg,#70514a,#49302e)}
.restaurant-table-card.is-bed .restaurant-table-card__icon::after{left:9px;right:9px;top:14px;height:17px;border-radius:9px;background:#8a6a5f}
.restaurant-table-card.is-bed .restaurant-table-card__icon i{height:10px;bottom:1px;background:#49302e}
.restaurant-seating-empty{min-width:210px;min-height:118px;display:grid;place-items:center;align-content:center;gap:5px;padding:13px;border:1px dashed rgba(91,184,215,.16);border-radius:14px;color:#78949f;text-align:center}.restaurant-seating-empty>span{color:#69d5e9;font-size:18px}.restaurant-seating-empty>b{color:#a9c0c8;font-size:11px}.restaurant-seating-empty button{min-height:34px;padding:0 11px;border:1px solid rgba(71,202,229,.23);border-radius:10px;background:rgba(31,151,181,.11);color:#aeeaf5;font-family:var(--font-ui);font-size:10px;cursor:pointer}

.restaurant-seating-type-picker{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:7px;margin:0;padding:8px;border:1px solid rgba(92,181,211,.12);border-radius:13px;background:rgba(1,14,24,.30)}
.restaurant-seating-type-picker legend{display:none}.restaurant-seating-type-picker::before{content:"نوع جایگاه";color:#8da5ae;font-size:10px;padding-inline:3px}
.restaurant-seating-type-picker label{position:relative;cursor:pointer}.restaurant-seating-type-picker input{position:absolute;opacity:0;pointer-events:none}.restaurant-seating-type-picker label>span{min-height:38px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(87,180,209,.12);border-radius:10px;background:rgba(4,29,44,.72);color:#9ab5bf;font-size:11px;transition:.16s ease}.restaurant-seating-type-picker input:checked+span{border-color:rgba(74,212,236,.45);background:rgba(27,144,173,.17);color:#dffbff;box-shadow:inset 0 0 0 1px rgba(74,212,236,.08)}
.restaurant-seating-type-picker label:last-child input:checked+span{border-color:rgba(181,132,255,.42);background:rgba(115,70,170,.16);color:#decaff}
.restaurant-managed-list{scrollbar-width:none}.restaurant-managed-list::-webkit-scrollbar{display:none}.restaurant-managed-seat-group{display:grid;gap:6px}.restaurant-managed-seat-group+ .restaurant-managed-seat-group{margin-top:5px;padding-top:10px;border-top:1px solid rgba(255,255,255,.05)}.restaurant-managed-seat-group>header{display:flex;align-items:center;justify-content:space-between;padding:0 3px}.restaurant-managed-seat-group>header strong{color:#dcecf1;font-size:12px}.restaurant-managed-seat-group>header small{color:#6e8994;font-size:9px}.restaurant-managed-row.is-bed{border-color:rgba(181,132,255,.12);box-shadow:inset -2px 0 0 rgba(181,132,255,.22)}

.restaurant-body.is-light .restaurant-seating-group,.restaurant-body.is-light .restaurant-seating-type-picker,.restaurant-body.is-light .restaurant-managed-row{background:rgba(242,249,251,.75);border-color:rgba(35,111,137,.11)}.restaurant-body.is-light .restaurant-seating-group>header strong,.restaurant-body.is-light .restaurant-seating-type-picker label>span{color:#244c5a}.restaurant-body.is-light .restaurant-seating-type-picker label>span{background:#fff}.restaurant-body.is-light .restaurant-command-copy>span b{color:#1c4858}

@media(max-width:1320px){
  .restaurant-command-bar{grid-template-columns:minmax(0,1fr) minmax(190px,235px) minmax(0,1fr)}
  .restaurant-command-bar .restaurant-summary-card small{display:none}
  .restaurant-command-bar .restaurant-summary-card span{font-size:10px}.restaurant-command-bar .restaurant-summary-card strong{font-size:17px}
}
@media(max-width:1120px){
  .restaurant-command-bar{grid-template-columns:1fr;grid-template-areas:"copy" "right" "left";gap:7px}
  .restaurant-command-copy{padding:2px 0 4px}.restaurant-command-copy>span{font-size:10px}.restaurant-command-copy h1{font-size:23px}
  .restaurant-command-bar .restaurant-summary-card small{display:block}
}
@media(max-width:720px){
  .restaurant-command-bar{padding:9px;grid-template-areas:"copy" "right" "left"}
  .restaurant-command-cluster{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .restaurant-command-copy h1{font-size:21px}.restaurant-command-copy>span{font-size:9px}
  .restaurant-command-bar .restaurant-summary-card{min-height:61px;padding:8px}.restaurant-command-bar .restaurant-summary-card span{font-size:10px}.restaurant-command-bar .restaurant-summary-card strong{font-size:17px}.restaurant-command-bar .restaurant-summary-card small{font-size:8.5px}
  .restaurant-seating-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.restaurant-seating-panel-head>div:first-child{min-width:0}.restaurant-seating-add-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}.restaurant-seating-add-actions .restaurant-mini-add{min-width:0;padding-inline:8px;font-size:9px}
  .restaurant-seating-group{padding:8px}.restaurant-seating-row{grid-auto-columns:minmax(132px,72%)}.restaurant-seating-row .restaurant-table-card{min-width:132px}
  .restaurant-seating-type-picker{grid-template-columns:1fr 1fr}.restaurant-seating-type-picker::before{grid-column:1/-1;text-align:center}
}
@media(max-width:430px){
  .restaurant-command-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-command-bar .restaurant-summary-card{grid-template-columns:28px minmax(0,1fr);gap:6px}.restaurant-command-bar .restaurant-summary-card>i{width:28px;height:28px}.restaurant-command-bar .restaurant-summary-card>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label value" "meta meta"}.restaurant-command-bar .restaurant-summary-card strong{direction:rtl;font-size:16px}.restaurant-command-bar .restaurant-summary-card span{font-size:9.5px}
  .restaurant-seating-panel-head{grid-template-columns:1fr}.restaurant-seating-add-actions{width:100%}.restaurant-seating-add-actions .restaurant-mini-add{min-height:38px}
  .restaurant-seating-row{grid-auto-columns:minmax(128px,78%)}
}
.restaurant-table-card.is-bed.is-occupied{border-color:rgba(255,83,103,.70);background:linear-gradient(150deg,rgba(72,28,54,.58),rgba(5,25,39,.99));box-shadow:inset -3px 0 0 rgba(255,82,104,.76),0 11px 24px rgba(0,0,0,.17)}
/* Final command-card typography: larger primary text without increasing card dimensions. */
.restaurant-command-bar .restaurant-summary-card>div{grid-template-columns:1fr;grid-template-areas:"label" "value";gap:2px;align-content:center}
.restaurant-command-bar .restaurant-summary-card span{font-size:11.5px}
.restaurant-command-bar .restaurant-summary-card strong{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;font-size:18px}
.restaurant-command-bar .restaurant-summary-card small{display:none}
.restaurant-command-bar .restaurant-summary-action strong{font-size:14px}
@media(max-width:430px){.restaurant-command-bar .restaurant-summary-card>div{grid-template-columns:1fr;grid-template-areas:"label" "value"}.restaurant-command-bar .restaurant-summary-card span{font-size:10px}.restaurant-command-bar .restaurant-summary-card strong{font-size:16px}}
.restaurant-command-bar{overflow:hidden}

/* ===== v16.5.68 — Restaurant hierarchy, hall editor and menu interaction refinement ===== */
/* Command bar: eight equal cards, no icons, title/value on one line. */
.restaurant-command-copy{display:grid;place-items:center;align-content:center;gap:2px;text-align:center}
.restaurant-command-copy>span{color:#66d9f1;font-size:12px;font-weight:700;letter-spacing:.02em}
.restaurant-command-copy h1{margin:0;color:#fff;font-size:28px;line-height:1.2;text-align:center}
.restaurant-command-bar .restaurant-summary-card{
  display:flex;align-items:center;min-height:62px;padding:8px 12px;border-radius:15px;
  grid-template-columns:none;gap:0;
}
.restaurant-command-bar .restaurant-summary-card>i{display:none}
.restaurant-command-bar .restaurant-summary-card>div{
  width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:none;align-items:center;gap:9px;text-align:right;
}
.restaurant-command-bar .restaurant-summary-card span{
  grid-area:auto;justify-self:start;color:#c4d9df;font-size:13px;font-weight:800;
  line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.restaurant-command-bar .restaurant-summary-card strong{
  grid-area:auto;justify-self:end;color:#fff;font-size:19px;font-weight:800;
  line-height:1.2;direction:rtl;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
.restaurant-command-bar .restaurant-summary-card small{display:none}
.restaurant-command-bar .restaurant-summary-action>div{display:flex;align-items:center;justify-content:center}
.restaurant-command-bar .restaurant-summary-action strong{
  justify-self:center;color:#f2fbfd;font-size:15px;font-weight:800;text-align:center;
}
.restaurant-summary-action:focus-visible,.restaurant-mini-add:focus-visible,.restaurant-category-tabs button:focus-visible,.restaurant-menu-card:focus-visible{
  outline:2px solid rgba(92,224,244,.72);outline-offset:2px;
}

/* Seating panel: one turquoise entry point; type is chosen inside the dialog. */
.restaurant-seating-panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.restaurant-seating-panel-head>div:first-child{text-align:center;justify-items:center}
.restaurant-seating-panel-head h2{font-size:23px}
.restaurant-seating-add-actions{display:flex;justify-content:flex-start;align-items:center}
.restaurant-seating-add-actions .restaurant-mini-add{min-width:126px;min-height:41px;font-size:12px;font-weight:800}
.restaurant-mini-add.is-table{border-color:rgba(79,232,241,.62);background:linear-gradient(135deg,#1cc7d8,#1398be);box-shadow:0 9px 20px rgba(18,177,201,.16)}
.restaurant-seating-empty button{display:none}

/* Dialog standard: explicit type heading above two choices, green save, red back. */
.restaurant-seating-type-picker{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0;padding:0;border:0;background:transparent;
}
.restaurant-seating-type-picker::before{content:none}
.restaurant-seating-type-picker legend{
  display:block;grid-column:1/-1;width:100%;padding:0 2px 4px;color:#a8c1c9;
  font-size:12px;font-weight:800;text-align:right;
}
.restaurant-seating-type-picker label>span{min-height:43px;font-size:13px;font-weight:700}
.restaurant-dialog-primary{
  border-color:rgba(72,240,167,.48);
  background:linear-gradient(135deg,#20cb83,#129b64);
  color:#fff;box-shadow:0 0 0 1px rgba(80,235,171,.08),0 9px 22px rgba(23,188,119,.18);
  font-weight:800;
}
.restaurant-dialog-primary:hover{filter:brightness(1.08);box-shadow:0 0 0 1px rgba(93,244,183,.18),0 12px 26px rgba(23,188,119,.24)}
.restaurant-dialog-actions .restaurant-back-button{
  border-color:rgba(255,92,112,.45);
  background:linear-gradient(135deg,#e84258,#b9233a);
  color:#fff;box-shadow:0 8px 20px rgba(191,35,57,.17);text-decoration:none;
}
.restaurant-dialog-actions .restaurant-back-button:hover{filter:brightness(1.07);text-decoration:none}
.restaurant-dialog__head{margin-bottom:15px}

/* Menu: centered title, category tabs and search on the same row. */
.restaurant-menu-head{display:flex;justify-content:center;align-items:center;text-align:center;margin-bottom:10px}
.restaurant-menu-head>div{justify-items:center;text-align:center}
.restaurant-menu-head h2{font-size:24px}
.restaurant-menu-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,330px);align-items:center;gap:10px;margin-bottom:10px}
.restaurant-menu-controls .restaurant-category-tabs{min-width:0;padding:1px 0;align-items:center}
.restaurant-menu-controls .restaurant-menu-search{width:100%;min-width:0}
.restaurant-category-tabs button{
  min-height:38px;padding:0 15px;font-size:12px;font-weight:700;
  transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
@media(hover:hover) and (pointer:fine){
  .restaurant-category-tabs button:hover{transform:translateY(-2px);border-color:rgba(82,212,236,.32);background:rgba(22,82,105,.7);box-shadow:0 8px 18px rgba(0,0,0,.16)}
  .restaurant-menu-card:hover{transform:translateY(-4px) scale(1.012);border-color:rgba(84,218,239,.4);box-shadow:0 15px 30px rgba(0,0,0,.23),0 0 0 1px rgba(82,211,235,.07)}
}

/* Entire food card is the add action; category replaces the old inline price and price owns the bottom bar. */
.restaurant-menu-card{
  appearance:none;width:100%;padding:0;border:1px solid rgba(91,176,205,.14);color:inherit;
  font-family:var(--font-ui);text-align:inherit;cursor:pointer;display:block;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.restaurant-menu-card__media{height:122px}
.restaurant-menu-card__media>span:last-child:not(.restaurant-menu-placeholder){position:static;padding:0;background:none;backdrop-filter:none}
.restaurant-menu-card__qty{
  position:absolute;left:8px;top:8px;right:auto;bottom:auto;
  min-width:31px;height:27px;padding:0 8px;border-radius:999px;
  display:grid;place-items:center;background:rgba(21,160,111,.9);color:#fff;font-size:11px;font-weight:800;
}
.restaurant-menu-card__body{padding:10px 10px 8px;align-items:center;gap:8px}
.restaurant-menu-card__body h3{font-size:16px;font-weight:800;line-height:1.25}
.restaurant-menu-card__body>span{flex:0 0 auto;color:#8fb0ba;font-size:11px;font-weight:700;white-space:nowrap}
.restaurant-menu-card__price{
  display:flex;align-items:center;justify-content:center;width:calc(100% - 16px);min-height:40px;
  margin:0 8px 8px;border:1px solid rgba(239,198,73,.23);border-radius:11px;
  background:linear-gradient(135deg,rgba(177,132,25,.13),rgba(108,78,14,.08));
  color:#ffd65c;font-size:19px;font-weight:900;letter-spacing:.01em;direction:rtl;
}
.restaurant-menu-card.is-in-cart .restaurant-menu-card__price{border-color:rgba(77,223,164,.28);color:#7aebbb;background:rgba(31,145,103,.11)}
.restaurant-menu-card>button{display:none}

/* Restaurant scroll areas always use hidden/customless scrollbars. */
.restaurant-dialog,.restaurant-cart-list,.restaurant-managed-list,.restaurant-managed-menu,.restaurant-unit-grid,.restaurant-category-tabs,.restaurant-seating-row{
  scrollbar-width:none;
}
.restaurant-dialog::-webkit-scrollbar,.restaurant-cart-list::-webkit-scrollbar,.restaurant-managed-list::-webkit-scrollbar,.restaurant-managed-menu::-webkit-scrollbar,.restaurant-unit-grid::-webkit-scrollbar,.restaurant-category-tabs::-webkit-scrollbar,.restaurant-seating-row::-webkit-scrollbar{display:none}

.restaurant-body.is-light .restaurant-menu-card__body>span{color:#627f89}
.restaurant-body.is-light .restaurant-menu-card__price{color:#8a6810;background:rgba(224,186,63,.12)}

@media(max-width:1120px){
  .restaurant-command-copy h1{font-size:25px}
  .restaurant-command-bar .restaurant-summary-card span{font-size:12px}
  .restaurant-command-bar .restaurant-summary-card strong{font-size:17px}
}
@media(max-width:720px){
  .restaurant-command-copy>span{font-size:10px}.restaurant-command-copy h1{font-size:23px}
  .restaurant-command-bar .restaurant-summary-card{min-height:58px;padding:7px 9px}
  .restaurant-command-bar .restaurant-summary-card>div{grid-template-columns:minmax(0,1fr) auto;gap:6px}
  .restaurant-command-bar .restaurant-summary-card span{font-size:11px}
  .restaurant-command-bar .restaurant-summary-card strong{font-size:15px}
  .restaurant-command-bar .restaurant-summary-action strong{font-size:13px}
  .restaurant-seating-panel-head{grid-template-columns:minmax(0,1fr) auto}.restaurant-seating-panel-head h2{font-size:19px}
  .restaurant-seating-add-actions{width:auto}.restaurant-seating-add-actions .restaurant-mini-add{min-width:108px;min-height:38px;padding-inline:9px;font-size:10px}
  .restaurant-menu-head h2{font-size:20px}
  .restaurant-menu-controls{grid-template-columns:1fr;gap:7px}
  .restaurant-menu-controls .restaurant-menu-search{grid-row:1}
  .restaurant-menu-controls .restaurant-category-tabs{grid-row:2}
  .restaurant-menu-card__media{height:104px}
  .restaurant-menu-card__body h3{font-size:14px}.restaurant-menu-card__body>span{font-size:9.5px}.restaurant-menu-card__price{font-size:17px;min-height:38px}
}
@media(max-width:430px){
  .restaurant-command-cluster{grid-template-columns:repeat(2,minmax(0,1fr))}
  .restaurant-command-bar .restaurant-summary-card{grid-template-columns:none;gap:0}
  .restaurant-command-bar .restaurant-summary-card>div{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none}
  .restaurant-command-bar .restaurant-summary-card span{font-size:10.5px}
  .restaurant-command-bar .restaurant-summary-card strong{font-size:14px}
  .restaurant-command-bar .restaurant-summary-action>div{display:flex}
  .restaurant-command-bar .restaurant-summary-action strong{font-size:12.5px}
  .restaurant-seating-panel-head{grid-template-columns:minmax(0,1fr) auto}.restaurant-seating-add-actions{width:auto}
  .restaurant-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .restaurant-menu-card__body{padding-inline:8px}.restaurant-menu-card__body h3{font-size:13.5px}.restaurant-menu-card__body>span{font-size:9px}
}

/* ===== v16.5.69 — Restaurant hall cards, summary reveal and menu media crop ===== */
.restaurant-command-bar .restaurant-summary-value-card{
  appearance:none;font-family:var(--font-ui);cursor:pointer;text-align:inherit;
}
.restaurant-command-bar .restaurant-summary-value-card>div{
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.restaurant-command-bar .restaurant-summary-value-card span,
.restaurant-command-bar .restaurant-summary-value-card strong{
  width:100%;justify-self:center;text-align:center;
}
.restaurant-command-bar .restaurant-summary-value-card strong{display:none;color:#fff;font-size:19px}
.restaurant-command-bar .restaurant-summary-value-card[data-has-value="0"] strong{display:none}
.restaurant-command-bar .restaurant-summary-value-card.is-value-peek span,
.restaurant-command-bar .restaurant-summary-value-card.is-value-locked span{display:none}
.restaurant-command-bar .restaurant-summary-value-card.is-value-peek strong,
.restaurant-command-bar .restaurant-summary-value-card.is-value-locked strong{display:block}
.restaurant-command-bar .restaurant-summary-value-card[data-has-value="0"] span{display:block}
.restaurant-seating-add-actions{display:none}

.restaurant-dialog__head{
  width:100%;padding:0 42px 16px;margin-bottom:18px;position:relative;
}
.restaurant-dialog__head::after{
  content:"";display:block;width:100%;height:1px;margin-top:15px;
  background:linear-gradient(90deg,transparent 0%,rgba(233,195,73,.12) 8%,rgba(239,204,96,.44) 26%,rgba(244,213,111,.8) 50%,rgba(239,204,96,.44) 74%,rgba(233,195,73,.12) 92%,transparent 100%);
  box-shadow:0 0 10px rgba(229,189,62,.1);
}
.restaurant-dialog-copy{margin:-4px auto 18px;max-width:780px;text-align:center;color:#87a4ae;font:14px/1.75 var(--font-body)}
.restaurant-editor-actions{margin-top:24px;padding-top:4px}

.restaurant-managed-list{display:grid;gap:14px;max-height:610px}
.restaurant-managed-seat-group{display:grid;gap:10px}
.restaurant-managed-seat-group+.restaurant-managed-seat-group{margin-top:4px;padding-top:16px}
.restaurant-managed-seat-group>header strong{font-size:15px}
.restaurant-managed-seat-group>header small{font-size:10px}
.restaurant-managed-seat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.restaurant-managed-seat-card{
  position:relative;min-height:174px;padding:12px;border:1px solid rgba(104,175,222,.15);border-radius:18px;
  background:linear-gradient(155deg,rgba(8,35,55,.96),rgba(4,21,35,.99));display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:5px;
  box-shadow:inset -3px 0 0 rgba(174,91,212,.43),0 10px 24px rgba(0,0,0,.12);
}
.restaurant-managed-seat-card.is-bed{border-color:rgba(144,95,255,.28);box-shadow:inset -4px 0 0 rgba(143,91,255,.68),0 10px 24px rgba(0,0,0,.13);background:linear-gradient(155deg,rgba(47,31,79,.48),rgba(4,21,35,.99))}
.restaurant-managed-seat-card.is-table{border-color:rgba(194,82,204,.23);box-shadow:inset -4px 0 0 rgba(191,83,210,.52),0 10px 24px rgba(0,0,0,.13);background:linear-gradient(155deg,rgba(54,26,68,.32),rgba(4,21,35,.99))}
.restaurant-managed-seat-card__state{align-self:flex-start;padding:3px 8px;border-radius:999px;font-size:9px;font-weight:800}
.restaurant-managed-seat-card__state.is-free{background:rgba(30,157,112,.12);color:#71dfb4}.restaurant-managed-seat-card__state.is-busy{background:rgba(217,51,78,.13);color:#ff8aa0}
.restaurant-managed-seat-card__visual{font-size:34px;line-height:1;filter:drop-shadow(0 7px 10px rgba(0,0,0,.25))}
.restaurant-managed-seat-card>strong{color:#f2f9fb;font-size:19px;text-align:center}
.restaurant-managed-seat-card>small{color:#88a5af;font:11px/1.5 var(--font-body);text-align:center}
.restaurant-managed-seat-card__actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:5px}
.restaurant-managed-seat-card__actions button{height:31px;padding:0 5px;border:1px solid rgba(87,174,210,.14);border-radius:9px;background:rgba(45,125,156,.08);color:#b2dbe4;font-family:var(--font-ui);font-size:9px;cursor:pointer}
.restaurant-managed-seat-card__actions button.is-state{border-color:rgba(53,204,151,.15);background:rgba(36,147,108,.09);color:#75deb8;cursor:default;opacity:1}
.restaurant-managed-seat-card__actions button.is-danger{border-color:rgba(255,80,105,.17);background:rgba(143,22,41,.09);color:#ff8093}

.restaurant-table-card.is-table{
  border-color:rgba(194,83,210,.30);background:linear-gradient(150deg,rgba(50,28,67,.34),rgba(4,25,40,.99));
  box-shadow:inset -3px 0 0 rgba(190,82,207,.45),0 10px 23px rgba(0,0,0,.14);
}
.restaurant-table-card.is-table.is-selected{border-color:#d58ce6;box-shadow:0 0 0 2px rgba(192,83,208,.12),0 16px 31px rgba(0,0,0,.22)}

.restaurant-category-tab{--category:#62cde7}
.restaurant-category-tab.tone-main{--category:#59aef7}.restaurant-category-tab.tone-local{--category:#71d66f}.restaurant-category-tab.tone-starter{--category:#8b8cff}.restaurant-category-tab.tone-salad{--category:#b5d95a}.restaurant-category-tab.tone-drink{--category:#f06a98}.restaurant-category-tab.tone-dessert{--category:#e18ad7}.restaurant-category-tab.tone-all{--category:#53d7e9}
.restaurant-category-tabs .restaurant-category-tab{border-color:color-mix(in srgb,var(--category) 19%,rgba(91,179,209,.11))}
.restaurant-category-tabs .restaurant-category-tab:hover,
.restaurant-category-tabs .restaurant-category-tab.is-active{border-color:color-mix(in srgb,var(--category) 50%,transparent);background:color-mix(in srgb,var(--category) 18%,rgba(4,24,38,.72));color:#fff;box-shadow:0 8px 18px color-mix(in srgb,var(--category) 12%,transparent)}

.restaurant-menu-card{--category:#62cde7}
.restaurant-menu-card.tone-main{--category:#59aef7}.restaurant-menu-card.tone-local{--category:#71d66f}.restaurant-menu-card.tone-starter{--category:#8b8cff}.restaurant-menu-card.tone-salad{--category:#b5d95a}.restaurant-menu-card.tone-drink{--category:#f06a98}.restaurant-menu-card.tone-dessert{--category:#e18ad7}
.restaurant-menu-card__media{height:134px;background:radial-gradient(circle at 50% 42%,color-mix(in srgb,var(--category) 13%,transparent),rgba(2,16,26,.79) 68%)}
.restaurant-menu-placeholder{font-size:56px;line-height:1;filter:drop-shadow(0 10px 15px rgba(0,0,0,.22))}
.restaurant-menu-image-plus{
  position:absolute;top:8px;right:8px;z-index:3;width:27px;height:27px;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:50%;
  background:rgba(4,18,30,.72);color:#ffe070;font:900 18px/1 var(--font-ui);display:grid;place-items:center;cursor:pointer;box-shadow:0 5px 12px rgba(0,0,0,.24)
}
.restaurant-menu-image-plus:hover{transform:scale(1.08);border-color:rgba(255,220,96,.42);background:rgba(28,35,30,.88)}
.restaurant-menu-card__qty{
  left:50%;right:auto;top:auto;bottom:7px;transform:translateX(-50%);min-width:0;height:auto;padding:0;background:none;border-radius:0;
  color:#e7fbff;font-size:27px;font-weight:900;line-height:1;text-shadow:0 5px 12px rgba(0,0,0,.55)
}
.restaurant-menu-card__body{align-items:center;gap:8px}
.restaurant-menu-card__body h3{font-size:17px}
.restaurant-category-badge{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 9px;border-radius:9px;
  border:1px solid color-mix(in srgb,var(--category) 35%,transparent);background:color-mix(in srgb,var(--category) 12%,rgba(2,16,27,.84));
  color:color-mix(in srgb,var(--category) 82%,white);font-size:10px;font-weight:800;white-space:nowrap
}
.restaurant-category-badge.tone-main{--category:#59aef7}.restaurant-category-badge.tone-local{--category:#71d66f}.restaurant-category-badge.tone-starter{--category:#8b8cff}.restaurant-category-badge.tone-salad{--category:#b5d95a}.restaurant-category-badge.tone-drink{--category:#f06a98}.restaurant-category-badge.tone-dessert{--category:#e18ad7}
.restaurant-menu-card__price{font-size:22px;min-height:43px;color:#ffd65c}

.restaurant-image-crop-dialog{width:min(930px,calc(100vw - 26px))}
.restaurant-crop-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:16px;align-items:start}
.restaurant-crop-stage{position:relative;min-height:370px;overflow:hidden;border:1px solid rgba(95,184,224,.16);border-radius:20px;background:#02121e;touch-action:none;cursor:grab}
.restaurant-crop-stage:active{cursor:grabbing}
.restaurant-crop-stage>img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;transform-origin:center center;user-select:none;pointer-events:none}
.restaurant-crop-frame{position:absolute;inset:14px;border:1.5px solid rgba(255,255,255,.78);border-radius:16px;box-shadow:0 0 0 999px rgba(0,0,0,.42),inset 0 0 0 1px rgba(0,0,0,.22);pointer-events:none}
.restaurant-crop-controls{display:grid;gap:14px;padding:12px;border:1px solid rgba(91,183,211,.11);border-radius:17px;background:rgba(2,17,28,.28)}
.restaurant-crop-controls label{display:grid;gap:8px;color:#abc4cc;font-size:12px}
.restaurant-crop-controls input[type="range"]{width:100%;accent-color:#42cce7}

.restaurant-body.is-light .restaurant-managed-seat-card{background:#f7fbfc;border-color:rgba(31,103,127,.12)}
.restaurant-body.is-light .restaurant-managed-seat-card>strong{color:#244c5a}
.restaurant-body.is-light .restaurant-category-badge{background:color-mix(in srgb,var(--category) 10%,white)}

@media(max-width:1100px){
  .restaurant-managed-seat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .restaurant-dialog__head{padding-inline:38px}
  .restaurant-managed-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .restaurant-managed-seat-card{min-height:160px}
  .restaurant-crop-workspace{grid-template-columns:1fr}.restaurant-crop-stage{min-height:290px}
  .restaurant-menu-card__qty{font-size:23px}.restaurant-menu-card__body h3{font-size:14px}.restaurant-category-badge{font-size:9px;padding-inline:6px}.restaurant-menu-card__price{font-size:19px}
}
@media(max-width:430px){
  .restaurant-command-bar .restaurant-summary-value-card strong{font-size:14px}
  .restaurant-managed-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .restaurant-managed-seat-card{min-height:154px;padding:9px}.restaurant-managed-seat-card>strong{font-size:16px}.restaurant-managed-seat-card>small{font-size:9px}.restaurant-managed-seat-card__actions button{font-size:8px;padding-inline:2px}
  .restaurant-crop-stage{min-height:245px}
}

/* ===== v16.5.71 — stable restaurant order-flow refinements ===== */
/* Keep v16.5.69 page composition intact; only requested order/card details change. */

/* Bed/table contrast: beds = vivid violet, tables = electric cyan/blue. */
.restaurant-seating-group.is-bed{
  border-color:rgba(164,87,255,.46);
  background:linear-gradient(145deg,rgba(67,29,108,.26),rgba(4,18,31,.78));
}
.restaurant-seating-group.is-table{
  border-color:rgba(27,200,244,.34);
  background:linear-gradient(145deg,rgba(8,66,91,.24),rgba(4,18,31,.78));
}
.restaurant-table-card{background:none;border:0;box-shadow:none;padding:0;display:grid;gap:7px;min-width:0}
.restaurant-table-card__select{
  width:100%;min-height:168px;padding:11px;border-radius:18px;border:2px solid rgba(161,89,255,.74);
  background:linear-gradient(155deg,rgba(54,34,93,.76),rgba(8,24,42,.99));color:#f7fbff;
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:7px;cursor:pointer;
  box-shadow:inset -5px 0 0 rgba(145,72,255,.72),0 10px 25px rgba(0,0,0,.16);transition:.16s ease;
}
.restaurant-table-card.is-table .restaurant-table-card__select{
  border-color:rgba(40,213,246,.72);background:linear-gradient(155deg,rgba(11,65,89,.70),rgba(6,24,42,.99));
  box-shadow:inset -5px 0 0 rgba(23,199,239,.80),0 10px 25px rgba(0,0,0,.16);
}
.restaurant-table-card.is-occupied .restaurant-table-card__select{
  border-color:#ff425e;box-shadow:inset -5px 0 0 rgba(255,52,82,.88),0 12px 26px rgba(91,12,24,.28);
}
.restaurant-table-card.is-selected .restaurant-table-card__select{transform:translateY(-2px);filter:brightness(1.08)}
.restaurant-table-card__state{align-self:flex-start;padding:3px 8px;border-radius:999px;background:rgba(24,142,104,.20);color:#77e7bc;font-size:9px;font-weight:800}
.restaurant-table-card.is-occupied .restaurant-table-card__state{background:rgba(180,32,60,.22);color:#ff9bae}
.restaurant-table-card__identity{
  min-width:82px;height:52px;padding:0 12px;border-radius:15px;background:linear-gradient(145deg,#020609,#111820);display:flex;align-items:center;justify-content:center;gap:8px;
  box-shadow:0 9px 17px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.055)
}
.restaurant-table-card__identity>b{font-size:27px;line-height:1}.restaurant-table-card__identity>strong{font-size:27px;color:#fff;line-height:1}
.restaurant-table-card__select>small{color:#9bb4bf;font:10px/1.45 var(--font-body);text-align:center;min-height:15px}
.restaurant-table-card__select>footer{width:100%;padding-top:7px;border-top:1px solid rgba(255,255,255,.07);display:flex;justify-content:space-between;gap:8px;color:#a6cad6;font-size:9.5px}
.restaurant-table-card__select>footer>b{color:#6fefc0}
.restaurant-table-card__live-total{width:100%;min-height:45px;display:grid;place-items:center;text-align:center;color:#69f1b8;font-size:25px;font-weight:900;direction:rtl;animation:restaurantLiveAmount .28s ease}
.restaurant-table-close{min-height:39px;border:1px solid rgba(255,71,98,.55);border-radius:12px;background:linear-gradient(135deg,#bf1732,#811123);color:#fff;font:800 11px var(--font-ui);cursor:pointer;box-shadow:0 8px 18px rgba(137,19,38,.22)}
.restaurant-table-close:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* Quantity bubble: opposite the image-plus control; appears only after first selection. */
.restaurant-menu-image-plus{left:8px;right:auto;top:8px;width:30px;height:30px;font-size:19px}
.restaurant-menu-card__qty{
  right:8px;left:auto;top:8px;bottom:auto;transform:none;
  min-width:42px;height:42px;padding:0 10px;border-radius:999px;
  display:grid;place-items:center;background:linear-gradient(135deg,#13a869,#20d18a);
  color:#fff;font-size:23px;font-weight:900;line-height:1;text-shadow:none;
  box-shadow:0 10px 20px rgba(13,170,103,.35);animation:restaurantQtyBubble .32s cubic-bezier(.2,.8,.2,1)
}

/* Order header: X at far upper-right, daily receipt mirrored at far upper-left. */
.restaurant-order-head--compact{position:relative;min-height:68px;padding:0 54px 12px;display:flex;align-items:flex-start;justify-content:center;border-bottom:1px solid rgba(93,178,207,.12)}
.restaurant-order-head--compact>div{text-align:center}.restaurant-order-head--compact h2{font-size:26px;margin-top:5px}
.restaurant-order-head--compact .restaurant-order-reset{position:absolute;top:-6px;right:-6px;left:auto;margin:0}
.restaurant-order-receipt{position:absolute;top:-2px;left:0;min-width:62px;height:38px;padding:0 10px;border-radius:12px;border:1px solid rgba(100,188,220,.18);background:rgba(4,18,30,.80);display:grid;place-items:center;color:#fff;font-size:19px;font-weight:900;direction:ltr}
.restaurant-order-total{font-size:30px;text-align:center;justify-self:center;align-self:center;color:#68f0bc;animation:restaurantLiveAmount .28s ease}
.restaurant-order-meta-row>label:last-child{text-align:center;justify-items:center}

/* Cart columns are fixed; long names/prices cannot move plus/minus controls. */
.restaurant-cart-row{
  display:grid;grid-template-columns:30px minmax(0,1fr) 92px 96px;align-items:center;gap:7px;padding:8px 7px
}
.restaurant-cart-remove{grid-column:1;grid-row:1;width:28px;height:28px}
.restaurant-cart-row__copy{grid-column:2;grid-row:1;min-width:0}.restaurant-cart-row__copy strong{font-size:12px}.restaurant-cart-row__copy small{font-size:9.5px}
.restaurant-cart-row__total{grid-column:3;grid-row:1;text-align:center;color:#71efbd;font-size:15px;font-weight:900;white-space:nowrap}
.restaurant-cart-row__stepper{grid-column:4;grid-row:1;display:grid;grid-template-columns:30px 1fr 30px;direction:rtl;align-items:center;gap:4px}
.restaurant-cart-row__stepper button{width:30px;height:30px;border-radius:9px;opacity:.72;transition:.13s ease}
.restaurant-cart-row__stepper button.is-plus{background:rgba(14,118,74,.33);border-color:rgba(63,232,151,.28);color:#77f0b4}
.restaurant-cart-row__stepper button.is-minus{background:rgba(139,24,44,.30);border-color:rgba(255,91,115,.28);color:#ff8398}
.restaurant-cart-row__stepper button:hover{opacity:1}.restaurant-cart-row__stepper button.is-pulse{animation:restaurantControlFlash .28s ease}
.restaurant-cart-row__stepper b{font-size:14px;color:#fff}

/* One-line note, no title. */
.restaurant-order-note--single{display:block}.restaurant-order-note--single input{width:100%;height:48px;border:1px solid rgba(84,179,210,.13);border-radius:13px;background:rgba(3,17,28,.36);color:#eaf7fa;padding:0 13px;font:12px var(--font-ui)}
.restaurant-order-note--single input::placeholder{color:#76929d}
.restaurant-order-actions--final{grid-template-columns:1fr 1fr;gap:8px}.restaurant-order-actions--final>*{min-height:48px}
.restaurant-cancel-order--visible{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,77,102,.35);border-radius:12px;background:linear-gradient(135deg,#9d172c,#68101f);color:#fff;font:800 12px var(--font-ui)}

.restaurant-settlement-summary{text-align:center}.restaurant-settlement-summary>strong{display:block;text-align:center;font-size:30px;color:#69efb9;direction:rtl}
.restaurant-settlement-methods{grid-template-columns:1fr 1fr 1fr}.restaurant-settlement-cash{background:linear-gradient(135deg,#21bf7b,#11885a)}.restaurant-settlement-room{background:linear-gradient(135deg,#b18a2d,#70551a)}.restaurant-settlement-methods .restaurant-back-button{background:linear-gradient(135deg,#df3e57,#9e1e35);color:#fff}

@keyframes restaurantQtyBubble{0%{opacity:.45;transform:scale(.58) translateY(5px)}55%{opacity:1;transform:scale(1.18) translateY(-2px)}100%{transform:scale(1) translateY(0)}}
@keyframes restaurantControlFlash{0%{opacity:.62;box-shadow:none}45%{opacity:1;box-shadow:0 0 0 4px rgba(255,255,255,.05),0 0 16px currentColor}100%{opacity:.78;box-shadow:none}}
@keyframes restaurantLiveAmount{0%{transform:scale(.92);opacity:.62}55%{transform:scale(1.06);opacity:1}100%{transform:scale(1);opacity:1}}

@media(max-width:720px){
  .restaurant-table-card__select{min-height:154px}.restaurant-table-card__identity{min-width:70px;height:46px}.restaurant-table-card__identity>b,.restaurant-table-card__identity>strong{font-size:23px}
  .restaurant-table-card__live-total{font-size:21px}
  .restaurant-cart-row{grid-template-columns:28px minmax(0,1fr) 78px 90px}.restaurant-cart-row__total{font-size:13px}
  .restaurant-order-head--compact{padding-inline:48px}.restaurant-order-receipt{min-width:55px;font-size:16px}
  .restaurant-settlement-methods{grid-template-columns:1fr}
}
.restaurant-cart-row__total{font-size:17px}

/* ===== v16.5.72 — precise seat cards + isolated quantity animation ===== */
/* Keep every seat card in the same geometry. Occupied state only changes tone/action/value. */
.restaurant-table-card{
  --seat-accent:#25d6f5;
  position:relative;isolation:isolate;overflow:visible;min-width:0;min-height:188px;padding:0;
  display:grid;grid-template-rows:minmax(0,1fr) auto;gap:0;border:2px solid color-mix(in srgb,var(--seat-accent) 74%,transparent);
  border-radius:20px;background:linear-gradient(155deg,color-mix(in srgb,var(--seat-accent) 14%,rgba(7,27,46,.98)),rgba(5,20,35,.99));
  box-shadow:inset -4px 0 0 color-mix(in srgb,var(--seat-accent) 58%,transparent),0 10px 24px rgba(0,0,0,.16)
}
.restaurant-table-card.is-bed{--seat-accent:#9d59ff}
.restaurant-table-card.is-table{--seat-accent:#21cfee}
.restaurant-table-card.is-occupied{
  --seat-accent:#ff4969;border-color:rgba(255,73,105,.86);
  background:linear-gradient(155deg,rgba(78,25,53,.56),rgba(7,23,40,.99));
  box-shadow:inset -4px 0 0 rgba(255,61,94,.86),0 12px 28px rgba(91,11,29,.25)
}
.restaurant-table-card__select{
  width:100%;min-height:139px;padding:10px 11px 6px;border:0;border-radius:18px 18px 0 0;
  background:transparent;box-shadow:none;filter:none;transform:none;
  color:#f7fbff;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:9px;cursor:pointer
}
.restaurant-table-card.is-selected .restaurant-table-card__select{transform:none;filter:none}
.restaurant-table-card__state{align-self:flex-start;position:static;margin:0;padding:3px 8px;border-radius:999px;background:rgba(21,130,96,.24);color:#77efc1;font-size:9px;font-weight:800}
.restaurant-table-card.is-occupied .restaurant-table-card__state{background:rgba(175,34,59,.28);color:#ffa0b1}

/* Restore the wooden bed/table sticker. The old white glyph is replaced only by the number badge. */
.restaurant-table-card__sticker{
  position:relative;width:104px;height:62px;display:grid;place-items:center;margin-top:-2px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.22))
}
.restaurant-table-card__sticker::before,.restaurant-table-card__sticker::after{content:"";position:absolute;z-index:0}
.restaurant-table-card.is-table .restaurant-table-card__sticker::before{
  left:13px;right:13px;top:11px;height:39px;border-radius:50% 50% 38% 38%;
  background:linear-gradient(180deg,#a66636 0%,#844925 48%,#69391f 100%);box-shadow:inset 0 3px 0 rgba(255,207,153,.25),0 7px 8px rgba(0,0,0,.16)
}
.restaurant-table-card.is-table .restaurant-table-card__sticker::after{
  left:18px;right:18px;top:7px;height:23px;border-radius:50%;background:linear-gradient(180deg,#c8834c,#9a5a31);border:1px solid rgba(255,214,176,.14)
}
.restaurant-table-card.is-bed .restaurant-table-card__sticker::before{
  left:6px;right:6px;top:8px;height:40px;border-radius:23px 23px 15px 15px;
  background:linear-gradient(180deg,#a48679 0%,#8a675d 58%,#735047 100%);box-shadow:inset 0 4px 0 rgba(255,224,207,.22),0 7px 8px rgba(0,0,0,.17)
}
.restaurant-table-card.is-bed .restaurant-table-card__sticker::after{
  left:10px;right:10px;top:4px;height:29px;border-radius:24px 24px 13px 13px;background:linear-gradient(180deg,#a9897c,#8f6d62);border:1px solid rgba(255,226,212,.15)
}
.restaurant-table-card__sticker>i{position:absolute;z-index:0;bottom:0;width:10px;height:24px;border-radius:3px 3px 6px 6px;background:#56301f}
.restaurant-table-card.is-bed .restaurant-table-card__sticker>i{background:#51342f;height:23px;width:9px}
.restaurant-table-card__sticker>i:first-child{right:24px;transform:rotate(-8deg)}
.restaurant-table-card__sticker>i:nth-child(2){left:24px;transform:rotate(8deg)}
.restaurant-table-card__sticker>b{
  position:relative;z-index:3;display:grid;place-items:center;min-width:42px;height:34px;padding:0 10px;border-radius:11px;
  background:linear-gradient(145deg,#030609,#111821);border:1px solid rgba(255,255,255,.07);color:#fff;font-size:24px;font-weight:900;line-height:1;
  box-shadow:0 8px 14px rgba(0,0,0,.36),inset 0 0 0 1px rgba(255,255,255,.02)
}
.restaurant-table-card__select>small{margin-top:0;min-height:18px;color:#9ab4c0;font:10px/1.45 var(--font-body);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.restaurant-table-card.is-occupied .restaurant-table-card__select>small{color:#d9a0ab}

.restaurant-table-card__footer{
  min-height:47px;padding:7px 9px 8px;border-top:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;direction:ltr
}
.restaurant-table-card__action{
  min-width:88px;height:32px;padding:0 10px;border-radius:10px;font:800 10px var(--font-ui);direction:rtl;cursor:pointer;transition:border-color .14s ease,background .14s ease,box-shadow .14s ease
}
.restaurant-table-card__action.is-ready{border:1px solid rgba(53,224,148,.34);background:linear-gradient(135deg,rgba(20,123,80,.48),rgba(10,79,53,.48));color:#86f3be}
.restaurant-table-card__action.is-close{border:1px solid rgba(255,78,107,.55);background:linear-gradient(135deg,#bd1731,#7c1021);color:#fff;box-shadow:0 7px 14px rgba(125,14,32,.22)}
.restaurant-table-card__bottom-value{justify-self:end;min-width:0;text-align:right;direction:rtl;color:#a7c1cc;font-size:10px;font-weight:800;white-space:nowrap}
.restaurant-table-card__bottom-value.is-live{color:#69efb8;font-size:22px;font-weight:900;letter-spacing:.01em}
.restaurant-table-card.is-selected .restaurant-table-card__bottom-value.is-live{animation:restaurantSeatAmountPop .28s ease}

/* Only the selected seat receives the moving perimeter light; nothing shifts in layout. */
.restaurant-table-card.is-selected::after{
  content:"";position:absolute;z-index:7;inset:-4px;border-radius:23px;padding:2px;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 67%,rgba(255,255,255,.18) 74%,#fff 79%,color-mix(in srgb,var(--seat-accent) 92%,white) 84%,transparent 92%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:restaurantSeatBorderOrbit 1.65s linear infinite;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--seat-accent) 55%,transparent))
}

/* Quantity lives opposite the image-plus button. It never contains × and only the touched item animates. */
.restaurant-menu-image-plus{left:8px;right:auto;top:8px;width:31px;height:31px;border-radius:50%}
.restaurant-menu-card__qty{
  position:absolute;right:8px;left:auto;top:8px;bottom:auto;transform:none;
  width:31px;min-width:31px;height:31px;padding:0;border-radius:50%;
  display:grid;place-items:center;background:rgba(3,11,18,.88);border:1px solid rgba(255,216,82,.58);
  color:#ffd74f;font-size:18px;font-weight:900;line-height:1;text-shadow:none;
  box-shadow:0 7px 15px rgba(0,0,0,.28);z-index:4
}
.restaurant-menu-card__qty.is-bubble-change{animation:restaurantQtyMerge .34s cubic-bezier(.2,.8,.2,1)}
.restaurant-menu-card__qty.is-bubble-change::after{
  content:"";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(255,217,78,.78);animation:restaurantQtyRing .34s ease-out
}
/* Do not reanimate or move unrelated food cards when another quantity changes. */
.restaurant-menu-card.is-in-cart{transform:none}
.restaurant-menu-card.is-in-cart .restaurant-menu-card__price{transition:color .15s ease,border-color .15s ease,background .15s ease}

@keyframes restaurantSeatBorderOrbit{to{transform:rotate(1turn)}}
@keyframes restaurantSeatAmountPop{0%{transform:scale(.93);opacity:.72}55%{transform:scale(1.06);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes restaurantQtyMerge{0%{transform:scale(.72)}48%{transform:scale(1.16)}100%{transform:scale(1)}}
@keyframes restaurantQtyRing{0%{opacity:.92;transform:scale(1.38)}100%{opacity:0;transform:scale(.72)}}

@media(max-width:720px){
  .restaurant-table-card{min-height:174px}.restaurant-table-card__select{min-height:128px}
  .restaurant-table-card__sticker{width:92px;height:56px}.restaurant-table-card__sticker>b{min-width:38px;height:31px;font-size:21px}
  .restaurant-table-card__bottom-value.is-live{font-size:18px}.restaurant-table-card__action{min-width:78px;padding-inline:8px;font-size:9px}
}
.restaurant-menu-card__qty{animation:none}
.restaurant-menu-card__qty.is-bubble-change{animation:restaurantQtyMerge .34s cubic-bezier(.2,.8,.2,1)}

/* ===== v16.5.73 — seat-card placement correction + cleaner selection glow ===== */
.restaurant-table-card{
  overflow:hidden;
  min-height:190px;
  border-width:2px;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.restaurant-table-card.is-bed{
  --seat-accent:#a764ff;
  background:linear-gradient(165deg,rgba(50,33,89,.98),rgba(11,24,47,.98));
}
.restaurant-table-card.is-table{
  --seat-accent:#25d6f5;
  background:linear-gradient(165deg,rgba(8,58,85,.98),rgba(6,31,52,.98));
}
.restaurant-table-card.is-occupied{
  --seat-accent:#ff4969;
  background:linear-gradient(165deg,rgba(69,27,49,.98),rgba(13,25,49,.98));
  box-shadow:0 12px 28px rgba(91,11,29,.24);
}
.restaurant-table-card__select{
  min-height:112px;
  padding:10px 12px 0;
  gap:8px;
}
.restaurant-table-card__state{
  align-self:flex-end;
  margin-bottom:2px;
}
.restaurant-table-card__sticker{
  width:104px;
  height:64px;
  margin-top:0;
}
.restaurant-table-card__sticker>b{
  min-width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#f4fbff;
  font-size:31px;
  line-height:1;
  text-shadow:0 4px 10px rgba(0,0,0,.55),0 0 8px rgba(0,0,0,.18);
  transform:translateY(-6px);
}
.restaurant-table-card__action-row{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:0 10px;
}
.restaurant-table-card__action{
  min-width:102px;
  height:34px;
  padding:0 14px;
  border-radius:11px;
  font:900 12px var(--font-ui);
}
.restaurant-table-card__footer{
  min-height:34px;
  padding:6px 10px 10px;
  border-top:1px solid rgba(255,255,255,.07);
  display:flex;
  align-items:center;
  justify-content:center;
}
.restaurant-table-card__bottom-value{
  width:100%;
  text-align:center;
  color:#b5cdda;
  font-size:12px;
}
.restaurant-table-card__bottom-value.is-live{
  text-align:center;
  font-size:24px;
  color:#6df1bb;
}
.restaurant-table-card.is-selected{
  box-shadow:0 0 0 1px color-mix(in srgb,var(--seat-accent) 36%,transparent),0 14px 28px rgba(0,0,0,.18),0 0 22px color-mix(in srgb,var(--seat-accent) 16%,transparent);
}
.restaurant-table-card.is-selected::after{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:5;
  pointer-events:none;
  border-radius:22px;
  padding:2px;
  background:linear-gradient(90deg,transparent 0%,transparent 38%,rgba(255,255,255,0) 44%,rgba(255,255,255,.96) 50%,color-mix(in srgb,var(--seat-accent) 92%,white) 56%,transparent 62%,transparent 100%);
  background-size:240% 100%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  mask-composite:exclude;
  animation:restaurantSeatSweep 1.85s linear infinite;
  filter:drop-shadow(0 0 6px color-mix(in srgb,var(--seat-accent) 40%,transparent));
}

.restaurant-menu-image-plus{
  left:8px;
  top:8px;
  width:34px;
  height:34px;
}
.restaurant-menu-card__qty{
  right:8px;
  left:auto;
  top:8px;
  width:42px;
  min-width:42px;
  height:42px;
  border:2px solid rgba(255,214,64,.72);
  border-radius:50%;
  background:rgba(4,15,24,.92);
  color:#ffd54a;
  font-size:26px;
  font-weight:900;
  box-shadow:0 8px 16px rgba(0,0,0,.28);
}
.restaurant-menu-card__qty.is-bubble-change{animation:restaurantQtyMergeLarge .34s cubic-bezier(.18,.8,.18,1)}
.restaurant-menu-card__qty.is-bubble-change::after{border-width:2px}

@keyframes restaurantSeatSweep{from{background-position:220% 0}to{background-position:-40% 0}}
@keyframes restaurantQtyMergeLarge{0%{transform:scale(.68)}55%{transform:scale(1.18)}100%{transform:scale(1)}}

@media(max-width:720px){
  .restaurant-table-card__sticker{width:96px;height:60px}
  .restaurant-table-card__sticker>b{font-size:28px}
  .restaurant-table-card__action{min-width:92px;height:32px;font-size:11px}
  .restaurant-table-card__bottom-value.is-live{font-size:21px}
  .restaurant-menu-card__qty{width:38px;min-width:38px;height:38px;font-size:22px}
}

/* Ambient audio final responsive/light-theme refinements. */
@media(min-width:1100px){.superadmin-action-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.superadmin-body.is-light .ambient-library,
.superadmin-body.is-light .ambient-schedule-grid,
.superadmin-body.is-light .ambient-volume-control,
.superadmin-body.is-light .ambient-scope-control,
.superadmin-body.is-light .ambient-selected-card,
.superadmin-body.is-light .ambient-sound-card{background:#f8fcfd;border-color:rgba(21,72,88,.1);color:#173743}
.superadmin-body.is-light .ambient-mode-tabs button,
.superadmin-body.is-light .ambient-schedule-grid input{background:#fff;color:#1b3b48;border-color:rgba(24,77,94,.13);color-scheme:light}
.superadmin-body.is-light .ambient-sound-meta strong,
.superadmin-body.is-light .ambient-library-head h3{color:#1b3b48}
.superadmin-body.is-light .ambient-selected-card>strong{color:#8f7115}
.superadmin-body.is-light .ambient-sound-icon{background:#edf5f7}

/* Public homepage and reservation presentation refinements. */
html[lang="en"]{
  --font-ui:Georgia,"Times New Roman",serif;
  --font-body:Georgia,"Times New Roman",serif;
  --font-display:Georgia,"Times New Roman",serif;
}
html[lang="en"] body,
html[lang="en"] body *{
  font-family:Georgia,"Times New Roman",serif;
}

.home-seo-intro h1{margin-top:34px}
.home-brand-footer__title{margin-top:28px}
.home-brand-footer__logo{
  animation:homeBrandLogoGlow 3.8s ease-in-out infinite;
  transform-origin:center;
  will-change:filter,opacity;
}
@keyframes homeBrandLogoGlow{
  0%,100%{filter:drop-shadow(0 0 12px rgba(229,190,73,.10)) brightness(.94);opacity:.94}
  50%{filter:drop-shadow(0 0 26px rgba(229,190,73,.30)) brightness(1.16);opacity:1}
}

.reservation-search-field>span,
.reservation-unit-selector>span,
.reservation-bed-selector>span{text-align:center}
.reservation-search-date,
.reservation-unit-selector__button,
.reservation-bed-selector__button{
  position:relative;
  justify-content:center;
  text-align:center;
}
.reservation-search-date b,
.reservation-unit-selector__button b,
.reservation-bed-selector__button b{
  width:100%;
  min-width:0;
  text-align:center;
}
.reservation-search-date i,
.reservation-unit-selector__button i,
.reservation-bed-selector__button i{
  position:absolute;
  inset-inline-end:14px;
}
.reservation-unit-choice,
.reservation-bed-choice{text-align:center}

.public-unit-card{
  height:160px;
  min-height:160px;
  padding:12px 14px;
}
.public-unit-card__top{min-height:34px}
.public-unit-card h4{font-size:30px;line-height:1.15}
.public-unit-card__mobile-status{display:none}
.public-unit-card__price{gap:2px;margin-top:5px}
.public-unit-card__price em{
  display:none;
  color:#75dba6;
  font:700 11px/1.15 var(--font-ui);
  font-style:normal;
  text-align:center;
}
.public-unit-card__foot{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;justify-items:center;gap:5px;margin-top:7px}
.public-unit-card__beds,
.public-unit-card__breakfast,
.public-unit-card__child{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  min-width:0;
  width:100%;
  max-width:100%;
  padding:4px 7px;
  border-radius:10px;
  font:700 11px/1.1 var(--font-ui);
  white-space:nowrap;
  text-align:center;
}
.public-unit-card__beds{border:1px solid rgba(238,151,56,.32);background:rgba(224,120,34,.12);color:#ff9f43}
.public-unit-card__breakfast{border:1px solid rgba(77,196,225,.25);background:rgba(51,157,190,.12);color:#93e7f3}
.public-unit-card__child{border:1px solid rgba(73,213,133,.28);background:rgba(49,185,108,.13);color:#7ee6a7}
html:not([data-theme="dark"]) .public-unit-card__breakfast{color:#127087;background:rgba(27,151,178,.10);border-color:rgba(27,151,178,.22)}
html:not([data-theme="dark"]) .public-unit-card__child{color:#167243;background:rgba(49,185,108,.09);border-color:rgba(49,185,108,.22)}

/* The public unit dialog owns one close control; the gallery exit appears only in fullscreen. */
html body .unit-detail-dialog > .dialog-x.dialog-x.dialog-x.dialog-x{
  position:absolute;
  top:10px;
  left:10px;
  right:auto;
  z-index:80;
}
html body .unit-detail-dialog .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit{display:none}
html body .unit-detail-dialog .unit-gallery-main.is-fullscreen .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit,
html body .unit-detail-dialog .unit-gallery-main:fullscreen .unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit.unit-gallery-fs-exit{
  display:grid;
  right:10px;
  left:auto;
}

html[lang="en"] .unit-detail-dialog .unit-hero-card{
  overflow:hidden;
}
html[lang="en"] .unit-detail-dialog .unit-hero-card>div{
  min-width:0;
  padding-inline:34px;
}
html[lang="en"] .unit-detail-dialog .unit-hero-card strong{
  display:block;
  max-width:100%;
  font-size:18px;
  line-height:1.12;
  white-space:normal;
  text-wrap:balance;
}
html[lang="en"] .unit-detail-dialog .unit-hero-card small{
  display:block;
  margin-top:4px;
  font-size:10px;
  line-height:1.18;
  white-space:normal;
  text-wrap:balance;
}
html[lang="en"] .unit-detail-dialog .unit-info-title--hero h2,
html[lang="en"] .unit-detail-dialog .unit-info-title--hero span,
html[lang="en"] .unit-detail-dialog .unit-hero-summary,
html[lang="en"] .unit-detail-dialog .unit-hero-card,
html[lang="en"] .unit-detail-dialog .unit-amenities-grid,
html[lang="en"] .unit-detail-dialog .unit-description-card,
html[lang="en"] .unit-detail-dialog .booking-date-grid--three,
html[lang="en"] .unit-detail-dialog .reservation-totals-row{
  direction:ltr;
}
html[lang="en"] .unit-detail-dialog .booking-count-card__head,
html[lang="en"] .unit-detail-dialog .booking-price-card__head{
  min-width:0;
  text-align:center;
}
html[lang="en"] .unit-detail-dialog .booking-count-card__head strong,
html[lang="en"] .unit-detail-dialog .booking-price-card__head strong{
  max-width:100%;
  font-size:16px;
  line-height:1.12;
  white-space:normal;
  text-wrap:balance;
}
html[lang="en"] .unit-detail-dialog .booking-count-card__head small,
html[lang="en"] .unit-detail-dialog .booking-price-card__head small{
  font-size:10px;
  white-space:normal;
}
html[lang="en"] .unit-detail-dialog .booking-price-card b,
html[lang="en"] .unit-detail-dialog #unitPriceLabel{
  direction:ltr;
  unicode-bidi:isolate;
}
html[lang="en"] .unit-detail-dialog .amenity-chip b{font-size:11px;line-height:1.15;text-wrap:balance}

@media(max-width:760px){
  .home-seo-intro h1{margin-top:28px}
  .home-brand-footer__title{margin-top:20px}
  .public-unit-card{
    height:142px;
    min-height:142px;
    padding:8px 10px 9px;
  }
  .public-unit-card__top{min-height:29px;padding-inline:44px}
  .public-unit-card h4{font-size:20px;line-height:1.08;transform:translateY(-1px);white-space:nowrap}
  .public-unit-card__mobile-status{
    position:absolute;
    top:0;
    right:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:23px;
    padding:2px 6px;
    border:1px solid rgba(73,213,133,.28);
    border-radius:8px;
    background:rgba(49,185,108,.13);
    color:#7ee6a7;
    font:700 9px/1 var(--font-ui);
    white-space:nowrap;
  }
  .public-unit-card__price{gap:1px;margin-top:0}
  .public-unit-card__price small{font-size:11px;line-height:1.05}
  .public-unit-card__price b{font-size:12px;line-height:1.05}
  .public-unit-card__price em{display:block;margin-top:2px;font-size:9px}
  .public-unit-card.is-reserved .public-unit-card__mobile-status{border-color:rgba(231,191,74,.30);background:rgba(231,191,74,.11);color:#f3d77d}
  .public-unit-card.is-occupied .public-unit-card__mobile-status{border-color:rgba(232,91,101,.30);background:rgba(232,91,101,.12);color:#ffb1b6}
  .public-unit-card.is-cleaning .public-unit-card__mobile-status{border-color:rgba(84,196,236,.28);background:rgba(84,196,236,.11);color:#8fe7ff}
  .public-unit-card.is-blocked .public-unit-card__mobile-status{border-color:rgba(182,121,238,.26);background:rgba(182,121,238,.10);color:#d2b1f2}
  .public-unit-card__foot{display:grid;grid-template-columns:1fr 1fr;justify-items:center;align-items:center;margin-top:2px;gap:5px}
  .public-unit-card__breakfast{display:none}
  .public-unit-card__beds,
  .public-unit-card__child{min-height:27px;padding:3px 7px;font-size:10px;width:100%;max-width:100%;text-align:center}
  html body .unit-detail-dialog > .dialog-x.dialog-x.dialog-x.dialog-x{
    position:fixed;
    top:9px;
    left:9px;
    right:auto;
  }
  html[lang="en"] .unit-detail-dialog .unit-hero-card>div{padding-inline:4px}
  html[lang="en"] .unit-detail-dialog .unit-hero-card strong{font-size:15px;line-height:1.08}
  html[lang="en"] .unit-detail-dialog .unit-hero-card small{font-size:9px;line-height:1.12;margin-top:3px}
  html[lang="en"] .unit-detail-dialog .booking-count-card__head strong,
  html[lang="en"] .unit-detail-dialog .booking-price-card__head strong{font-size:14px}
  html[lang="en"] .unit-detail-dialog .booking-count-card__head small,
  html[lang="en"] .unit-detail-dialog .booking-price-card__head small{font-size:9px}
}

@media(prefers-reduced-motion:reduce){
  .home-brand-footer__logo{animation:none}
}



/* ===== v16.5.80 — restaurant counters, seat number alignment ===== */
.restaurant-table-card__sticker>b{transform:translateY(-10px)}
.restaurant-menu-card__media{position:relative;isolation:isolate;overflow:hidden}
.restaurant-menu-card__media>img{position:relative;z-index:0}
.restaurant-menu-image-plus{
  position:absolute;left:8px;right:auto;top:8px;bottom:auto;
  width:38px;height:38px;z-index:30;border-radius:50%;
  background:rgba(3,11,18,.96);border:1px solid rgba(255,255,255,.22);
  color:#ffe16a;font:900 24px/1 BYekan,Arial,sans-serif;box-shadow:0 8px 18px rgba(0,0,0,.42);
}
.restaurant-menu-card__qty{
  position:absolute;right:8px;left:auto;top:8px;bottom:auto;transform:none;
  width:38px;min-width:38px;height:38px;padding:0;z-index:31;border-radius:50%;
  display:grid;place-items:center;background:rgba(3,11,18,.96);border:2px solid rgba(255,214,64,.78);
  color:#ffd84f;font:900 30px/1 BYekan,Arial,sans-serif;text-shadow:none;box-shadow:0 8px 18px rgba(0,0,0,.42);
}
@media(max-width:720px){
  .restaurant-table-card__sticker>b{transform:translateY(-9px)}
  .restaurant-menu-image-plus,.restaurant-menu-card__qty{width:36px;height:36px;min-width:36px}
  .restaurant-menu-card__qty{font-size:28px}
}


/* ===== v16.5.81 — restaurant precision + full light-theme redesign ===== */
/* Seat/table numerals sit directly on the upper wooden surface. */
.restaurant-table-card__sticker>b{
  transform:translateY(-16px);
}
@media(max-width:720px){
  .restaurant-table-card__sticker>b{transform:translateY(-15px)}
}

/* Food-card controls: a dedicated quantity class prevents legacy badge rules from moving/shrinking it. */
.restaurant-menu-card__media{
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.restaurant-menu-card__media>img{
  position:relative;
  z-index:1;
}
.restaurant-menu-card__media>.restaurant-menu-image-plus{
  position:absolute;
  top:8px;
  left:8px;
  right:auto;
  bottom:auto;
  width:40px;
  min-width:40px;
  height:40px;
  padding:0;
  border-radius:50%;
  display:grid;
  place-items:center;
  z-index:80;
  background:rgba(2,10,17,.96);
  border:2px solid rgba(109,206,230,.42);
  color:#ffe05f;
  font:900 25px/1 BYekan,Arial,sans-serif;
  box-shadow:0 9px 21px rgba(0,0,0,.52);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
}
.restaurant-menu-card__media>.restaurant-menu-selected-count{
  position:absolute;
  top:8px;
  right:8px;
  left:auto;
  bottom:auto;
  transform:none;
  width:40px;
  min-width:40px;
  max-width:40px;
  height:40px;
  min-height:40px;
  padding:0;
  margin:0;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:81;
  pointer-events:none;
  overflow:visible;
  background:rgba(2,10,17,.97);
  border:2px solid rgba(255,215,63,.84);
  color:#ffe060;
  font-family:BYekan,Arial,sans-serif;
  font-size:30px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  text-align:center;
  text-shadow:0 1px 1px rgba(0,0,0,.35);
  box-shadow:0 9px 21px rgba(0,0,0,.54);
}
.restaurant-menu-card__media>.restaurant-menu-selected-count.is-bubble-change{
  animation:restaurantQtyDedicatedPop .30s cubic-bezier(.18,.82,.18,1);
}
.restaurant-menu-card__media>.restaurant-menu-selected-count.is-bubble-change::after{
  content:"";position:absolute;inset:-3px;border:2px solid rgba(255,219,73,.72);border-radius:50%;
  animation:restaurantQtyDedicatedRing .30s ease-out;
}
@keyframes restaurantQtyDedicatedPop{0%{transform:scale(.72)}55%{transform:scale(1.16)}100%{transform:scale(1)}}
@keyframes restaurantQtyDedicatedRing{0%{opacity:.95;transform:scale(1.28)}100%{opacity:0;transform:scale(.9)}}
@media(max-width:720px){
  .restaurant-menu-card__media>.restaurant-menu-image-plus,
  .restaurant-menu-card__media>.restaurant-menu-selected-count{
    width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px
  }
  .restaurant-menu-card__media>.restaurant-menu-selected-count{font-size:28px}
}

/* Center both service-mode cards without moving the icon from its edge cue. */
.restaurant-service-toggle button{
  position:relative;
  grid-template-columns:1fr;
  grid-template-areas:"title" "meta";
  justify-items:center;
  align-content:center;
  text-align:center;
  padding:7px 36px;
}
.restaurant-service-toggle button>span{
  position:absolute;
  right:12px;
  top:50%;
  transform:translateY(-50%);
}
.restaurant-service-toggle button>b,
.restaurant-service-toggle button>small{
  width:100%;text-align:center;justify-self:center
}

/* Current-order X belongs in the top corner, above the title line. */
.restaurant-order-head--compact .restaurant-order-reset{
  top:-15px;
  right:-11px;
  left:auto;
  z-index:30;
}
@media(max-width:720px){
  .restaurant-order-head--compact .restaurant-order-reset{top:-13px;right:-8px}
}

/* -------------------------------------------------------------------------
   Light theme: saturated pastel turquoise/lilac system instead of flat white.
   Dark outlines/shadows keep every card visually separated on bright screens.
   ------------------------------------------------------------------------- */
.manager-body.is-light,
.superadmin-body.is-light{
  --manager-bg:#b9ddd9;
  --manager-panel:#b9deda;
  --manager-card:#c8d6e7;
  --manager-text:#102e3b;
  --manager-muted:#365965;
  --manager-line:rgba(20,42,52,.30);
  color:#102e3b;
  background:
    radial-gradient(circle at 9% 2%,rgba(63,199,191,.48),transparent 31%),
    radial-gradient(circle at 92% 7%,rgba(153,106,207,.34),transparent 30%),
    linear-gradient(145deg,#a8dcd5 0%,#c3dfdc 46%,#d4c5e8 100%);
}

.manager-body.is-light .dashboard-global-header,
.superadmin-body.is-light .dashboard-global-header{
  background:linear-gradient(135deg,rgba(142,211,204,.97),rgba(192,165,224,.94));
  border-bottom:1px solid rgba(17,38,48,.34);
  box-shadow:0 12px 30px rgba(8,24,32,.20);
}
.manager-body.is-light .dashboard-menu-button,
.superadmin-body.is-light .dashboard-menu-button,
.manager-body.is-light .dashboard-drawer-close,
.superadmin-body.is-light .dashboard-drawer-close,
.manager-body.is-light .dashboard-footer-actions button,
.superadmin-body.is-light .dashboard-footer-actions button{
  background:linear-gradient(145deg,#9cd9d2,#c5afe0);
  border:1px solid rgba(18,41,51,.30);
  color:#123442;
  box-shadow:0 7px 17px rgba(8,25,34,.15);
}
.manager-body.is-light .dashboard-profile-drawer,
.superadmin-body.is-light .dashboard-profile-drawer{
  background:linear-gradient(165deg,#a9dcd6 0%,#c1d8df 52%,#c9b5df 100%);
  border-left:1px solid rgba(18,40,50,.34);
  color:#102e3b;
  box-shadow:-22px 0 46px rgba(7,22,30,.24);
}
.manager-body.is-light .dashboard-drawer-nav a,
.manager-body.is-light .dashboard-drawer-nav button,
.superadmin-body.is-light .dashboard-drawer-nav a,
.superadmin-body.is-light .dashboard-drawer-nav button,
.manager-body.is-light .dashboard-clock-card,
.superadmin-body.is-light .dashboard-clock-card{
  background:linear-gradient(135deg,rgba(125,205,198,.56),rgba(190,158,220,.48));
  border:1px solid rgba(16,40,50,.25);
  color:#143542;
}

/* General manager/superadmin cards and panels. */
.manager-body.is-light :is(
  .manager-panel,.manager-stats article,.manager-command,.state-legend,.pending-booking-card,.manager-history-card,
  .manager-room-card,.manager-settings-panel,.unit-settings-card,.manager-settings-nav button,
  .staff-hero,.staff-panel,.staff-person-card,.staff-dialog,.staff-summary-card,.staff-presence-state,
  .staff-card-metrics>span,.staff-period-form,.staff-table-wrap,.staff-checkin-choice>span,.staff-manual-time,
  .restaurant-command-bar,.restaurant-panel,.restaurant-order-panel,.restaurant-dialog,.restaurant-seating-group,
  .restaurant-menu-card,.restaurant-cart-row,.restaurant-editor-card,.restaurant-managed-row,.restaurant-managed-menu-card,
  .restaurant-unit-card,.restaurant-unit-picker-trigger,.restaurant-service-toggle,.restaurant-order-meta-row>label
),
.superadmin-body.is-light :is(
  .superadmin-panel,.superadmin-action-card,.sa-property-card,.ambient-library,.ambient-schedule-grid,
  .ambient-volume-control,.ambient-scope-control,.ambient-selected-card,.ambient-sound-card,.home-slider-master,.home-slider-slot-card
){
  background:linear-gradient(145deg,rgba(142,214,205,.86),rgba(190,166,222,.80));
  border:1px solid rgba(18,40,50,.30);
  box-shadow:0 12px 26px rgba(8,25,34,.17),inset 0 1px 0 rgba(255,255,255,.28);
  color:#102e3b;
}

/* Richer per-card color variation while keeping one coherent system. */
.manager-body.is-light .manager-stats article,
.manager-body.is-light .manager-command,
.manager-body.is-light .manager-room-card,
.manager-home-body.is-light .manager-home-card,
.superadmin-body.is-light .superadmin-action-card{
  background:linear-gradient(140deg,color-mix(in srgb,var(--state-color,var(--command-accent,var(--card-accent,#31bcb3))) 25%,#9fdcd5),#c6b7df 112%);
  border-color:rgba(19,42,52,.33);
  box-shadow:0 11px 25px rgba(6,23,31,.18),inset -4px 0 0 color-mix(in srgb,var(--state-color,var(--command-accent,var(--card-accent,#239fa8))) 70%,#3f4a61);
}
.manager-home-body.is-light{
  background:linear-gradient(145deg,#a5d9d2,#d2c0e6);
}
.manager-home-body.is-light::before{
  background-image:linear-gradient(180deg,rgba(142,211,204,.38),rgba(190,165,224,.42)),var(--manager-home-bg-desktop-day);
}
@media(max-width:760px){
  .manager-home-body.is-light::before{background-image:linear-gradient(180deg,rgba(142,211,204,.40),rgba(190,165,224,.44)),var(--manager-home-bg-mobile-day)}
}

/* Inputs/selects in light mode are tinted, never plain white. */
.manager-body.is-light :is(input,textarea,select),
.superadmin-body.is-light :is(input,textarea,select){
  background:linear-gradient(145deg,#a9dcd6,#c8b9df);
  color:#102f3c;
  border:1px solid rgba(18,40,50,.32);
  box-shadow:inset 0 1px 2px rgba(255,255,255,.28),0 4px 10px rgba(8,25,34,.08);
  color-scheme:light;
}
.manager-body.is-light :is(input,textarea)::placeholder,
.superadmin-body.is-light :is(input,textarea)::placeholder{color:#486976;opacity:1}
.manager-body.is-light select option,
.superadmin-body.is-light select option{background:#b8d9d7;color:#102f3c}

/* Light-theme typography: high contrast for titles, labels and values. */
.manager-body.is-light :is(h1,h2,h3,h4,strong,b),
.superadmin-body.is-light :is(h1,h2,h3,h4,strong,b){color:#102d3a}
.manager-body.is-light :is(p,small,label,span),
.superadmin-body.is-light :is(p,small,label,span){text-shadow:none}
.manager-body.is-light .manager-muted,
.manager-body.is-light .restaurant-dialog-copy{color:#365965}

/* Restaurant gets a distinct turquoise/lilac POS treatment in light mode. */
.restaurant-body.is-light{
  background:
    radial-gradient(circle at 10% 0,rgba(58,200,190,.52),transparent 31%),
    radial-gradient(circle at 90% 8%,rgba(143,91,202,.38),transparent 29%),
    linear-gradient(145deg,#9fdad3,#c2ddd9 48%,#cfbce4);
  color:#102e3b;
}
.restaurant-body.is-light :is(.restaurant-command-bar,.restaurant-panel,.restaurant-order-panel,.restaurant-dialog){
  background:linear-gradient(145deg,#9bd7d1 0%,#b6d7dc 52%,#c6addd 100%);
  border:1px solid rgba(17,39,49,.35);
  box-shadow:0 16px 34px rgba(8,23,31,.20),inset 0 1px 0 rgba(255,255,255,.28);
}
.restaurant-body.is-light .restaurant-summary-card{
  background:linear-gradient(140deg,#91d2cc,#bea8d8);
  border:1px solid rgba(18,40,50,.31);
  box-shadow:0 7px 17px rgba(8,25,34,.14);
}
.restaurant-body.is-light .restaurant-summary-card :is(span,strong){color:#123541}
.restaurant-body.is-light .restaurant-seating-group{
  background:linear-gradient(145deg,rgba(120,203,197,.63),rgba(181,150,214,.56));
  border:1px solid rgba(18,40,50,.31);
  box-shadow:0 10px 23px rgba(8,25,34,.14);
}
.restaurant-body.is-light .restaurant-table-card{
  background:linear-gradient(150deg,color-mix(in srgb,var(--seat-accent,#39bfd2) 25%,#9ed9d2),#c0afd9);
  border:2px solid rgba(18,39,49,.38);
  box-shadow:inset -4px 0 0 color-mix(in srgb,var(--seat-accent,#39bfd2) 72%,#273a49),0 12px 25px rgba(6,22,30,.20);
}
.restaurant-body.is-light .restaurant-table-card__select{color:#102e3b}
.restaurant-body.is-light .restaurant-table-card__bottom-value{color:#294f5d}
.restaurant-body.is-light .restaurant-table-card__bottom-value.is-live{color:#087a5c}
.restaurant-body.is-light .restaurant-table-card__state{background:rgba(24,122,99,.18);color:#075b48}
.restaurant-body.is-light .restaurant-table-card.is-occupied .restaurant-table-card__state{background:rgba(177,38,64,.16);color:#8f1734}
.restaurant-body.is-light .restaurant-table-card__action.is-ready{background:linear-gradient(135deg,#65c7a4,#4eaa91);color:#0b4036;border-color:rgba(14,64,53,.30)}

.restaurant-body.is-light .restaurant-menu-card{
  background:linear-gradient(145deg,#9ed9d2,#c7b4df);
  border:1px solid rgba(17,40,50,.34);
  box-shadow:0 10px 22px rgba(7,24,32,.18);
}
.restaurant-body.is-light .restaurant-menu-card__media{background:linear-gradient(145deg,#72c5c0,#a890cc)}
.restaurant-body.is-light .restaurant-menu-card__body h3{color:#102e3b}
.restaurant-body.is-light .restaurant-menu-card__body>span{color:#325865}
.restaurant-body.is-light .restaurant-menu-card__price{
  background:linear-gradient(135deg,#83cfc4,#b9a2d2);
  border-color:rgba(18,39,48,.31);
  color:#674709;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25);
}
.restaurant-body.is-light .restaurant-cart-row{
  background:linear-gradient(135deg,#9bd5cf,#baa9d5);
  border:1px solid rgba(18,39,49,.29);
  box-shadow:0 6px 14px rgba(8,25,34,.10);
}
.restaurant-body.is-light .restaurant-cart-row__copy strong{color:#102e3b}
.restaurant-body.is-light .restaurant-cart-row__copy small{color:#41636f}
.restaurant-body.is-light .restaurant-cart-row__total,
.restaurant-body.is-light .restaurant-order-total{color:#08795a}
.restaurant-body.is-light .restaurant-service-toggle,
.restaurant-body.is-light .restaurant-order-meta-row>label,
.restaurant-body.is-light .restaurant-order-note--single input{
  background:linear-gradient(145deg,#91d0cb,#baa5d4);
  border:1px solid rgba(17,39,49,.31);
  box-shadow:0 6px 14px rgba(8,25,34,.10);
  color:#102e3b;
}
.restaurant-body.is-light .restaurant-service-toggle button{color:#315562}
.restaurant-body.is-light .restaurant-service-toggle button>b{color:#173d4a}
.restaurant-body.is-light .restaurant-service-toggle button>small{color:#496a76}
.restaurant-body.is-light .restaurant-service-toggle button.is-active{
  background:linear-gradient(135deg,#73cfd0,#9d8fce);
  border-color:rgba(18,55,66,.42);
  box-shadow:inset -3px 0 0 rgba(25,115,135,.58),0 5px 13px rgba(8,25,34,.11);
}
.restaurant-body.is-light .restaurant-service-toggle button.is-active>b,
.restaurant-body.is-light .restaurant-service-toggle button.is-active>span{color:#0c6672}
.restaurant-body.is-light .restaurant-service-toggle button[data-service-mode="stay"].is-active{
  background:linear-gradient(135deg,#c4b45f,#aa91cc);
  border-color:rgba(91,70,22,.38);
}
.restaurant-body.is-light .restaurant-service-toggle button[data-service-mode="stay"].is-active>b,
.restaurant-body.is-light .restaurant-service-toggle button[data-service-mode="stay"].is-active>span{color:#6d5310}
.restaurant-body.is-light .restaurant-order-head{border-bottom-color:rgba(17,39,49,.24)}
.restaurant-body.is-light .restaurant-order-head h2{color:#102e3b}
.restaurant-body.is-light .restaurant-order-receipt{
  background:linear-gradient(145deg,#7dbfbd,#9985b9);
  color:#102e3b;border-color:rgba(17,39,49,.34)
}

/* Staff/settings/superadmin: replace remaining flat white with the same two-tone system. */
.manager-settings-body.is-light :is(.manager-settings-panel,.unit-settings-card,.manager-settings-nav button,.unit-settings-media-item),
.manager-staff-body.is-light :is(.staff-hero,.staff-panel,.staff-person-card,.staff-dialog,.staff-summary-card,.staff-presence-state,.staff-card-metrics>span,.staff-period-form,.staff-table-wrap,.staff-checkin-choice>span,.staff-manual-time),
.superadmin-body.is-light :is(.superadmin-panel,.superadmin-action-card,.sa-property-card,.home-slider-master,.home-slider-slot-card,.ambient-library,.ambient-sound-card,.ambient-selected-card){
  background:linear-gradient(145deg,#9dd9d2,#c6b2df);
  border:1px solid rgba(18,40,50,.30);
  box-shadow:0 11px 24px rgba(8,25,34,.16);
}
.manager-staff-body.is-light .staff-payroll-table th{background:#8fcfc9;color:#163d49}
.manager-staff-body.is-light .staff-payroll-table td{color:#244d5a;border-color:rgba(17,39,49,.18)}
.superadmin-body.is-light .sa-divider span{background:#a8d7d2;color:#173b48}

/* Focus/hover in light mode remains visible without white surfaces. */
.manager-body.is-light :is(button,a,input,textarea,select):focus-visible,
.superadmin-body.is-light :is(button,a,input,textarea,select):focus-visible{
  outline:2px solid rgba(30,117,143,.55);
  outline-offset:2px;
}

/* ===== v16.5.82 — hard reset for restaurant quantity + saturated light UI ===== */
/*
   The quantity indicator is intentionally a NEW <b> element/class.  It must not
   inherit any of the historical .restaurant-menu-card__qty / span:last-child rules.
*/
.restaurant-menu-card__media > b.restaurant-food-count-indicator{
  position:absolute;
  top:8px;
  right:8px;
  left:auto;
  bottom:auto;
  z-index:120;
  width:40px;
  min-width:40px;
  max-width:40px;
  height:40px;
  min-height:40px;
  margin:0;
  padding:0;
  border:2px solid rgba(255,214,67,.92);
  border-radius:50%;
  display:grid;
  place-items:center;
  overflow:visible;
  pointer-events:none;
  transform:none;
  background:#06131d;
  color:#ffe05c;
  font-family:BYekan,Arial,sans-serif;
  font-size:29px;
  font-weight:900;
  line-height:1;
  letter-spacing:0;
  text-align:center;
  text-shadow:0 2px 2px rgba(0,0,0,.55);
  box-shadow:0 8px 20px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.05);
  isolation:isolate;
}
.restaurant-menu-card__media > b.restaurant-food-count-indicator.is-count-pop{
  animation:restaurantFoodCountPop .28s cubic-bezier(.18,.82,.18,1);
}
.restaurant-menu-card__media > b.restaurant-food-count-indicator.is-count-pop::after{
  content:"";
  position:absolute;
  inset:-4px;
  border:2px solid rgba(255,220,78,.72);
  border-radius:50%;
  animation:restaurantFoodCountRing .28s ease-out;
}
@keyframes restaurantFoodCountPop{0%{transform:scale(.72)}55%{transform:scale(1.16)}100%{transform:scale(1)}}
@keyframes restaurantFoodCountRing{0%{opacity:.9;transform:scale(1.22)}100%{opacity:0;transform:scale(.92)}}
.restaurant-menu-card__media > .restaurant-menu-image-plus{
  position:absolute;
  top:8px;
  left:8px;
  right:auto;
  bottom:auto;
  z-index:119;
  width:40px;
  min-width:40px;
  height:40px;
  margin:0;
  padding:0;
  border:2px solid rgba(93,208,232,.58);
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#06131d;
  color:#ffe05c;
  font:900 25px/1 BYekan,Arial,sans-serif;
  box-shadow:0 8px 20px rgba(0,0,0,.55);
}
.restaurant-menu-card__media,
.restaurant-menu-card__media > img{position:relative}
.restaurant-menu-card__media > img{z-index:1}

/* Bed/table number sits on the upper wooden surface, not in its visual centre. */
.restaurant-table-card__sticker>b{
  transform:translateY(-21px);
}

/* Free and occupied seats share exactly the same geometry. Only color/action/value change. */
.restaurant-table-card{
  height:190px;
  min-height:190px;
  max-height:190px;
  display:grid;
  grid-template-rows:120px 38px 32px;
  gap:0;
  align-content:stretch;
  overflow:hidden;
  padding:0;
}
.restaurant-table-card__select{
  width:100%;
  height:120px;
  min-height:120px;
  max-height:120px;
  margin:0;
  padding:9px 11px 0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  transform:none;
  filter:none;
}
.restaurant-table-card__action-row{
  height:38px;
  min-height:38px;
  margin:0;
  padding:2px 8px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
}
.restaurant-table-card__action{
  height:34px;
  min-height:34px;
  min-width:102px;
  margin:0;
}
.restaurant-table-card__footer{
  height:32px;
  min-height:32px;
  margin:0;
  padding:2px 8px 5px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-top:0;
  background:transparent;
}
.restaurant-table-card__bottom-value,
.restaurant-table-card__bottom-value.is-live{
  width:100%;
  margin:0;
  text-align:center;
  justify-self:center;
  line-height:1.05;
}
.restaurant-table-card__bottom-value.is-live{
  font-size:22px;
  font-weight:900;
}

/* --------------------------------------------------------------------------
   Light mode — saturated turquoise/violet surfaces, no flat white cards.
   -------------------------------------------------------------------------- */
.manager-body.is-light,
.superadmin-body.is-light,
.manager-home-body.is-light{
  --manager-bg:#58bfb8;
  --manager-panel:#69c7c0;
  --manager-card:#8d7ac7;
  --manager-text:#0b2833;
  --manager-muted:#244955;
  --manager-line:#111b22;
  color:#0b2833;
}
.manager-body.is-light,
.superadmin-body.is-light{
  background:
    radial-gradient(circle at 8% 3%,rgba(32,194,184,.76),transparent 31%),
    radial-gradient(circle at 92% 4%,rgba(126,73,190,.60),transparent 31%),
    linear-gradient(145deg,#58c8bf 0%,#76bfc6 45%,#9a74c8 100%);
}

/* Every box-like surface in the light dashboards receives a true dark outline. */
.manager-body.is-light :is(
  [class$="-card"],[class*="-card "],
  [class$="-panel"],[class*="-panel "],
  [class$="-dialog"],[class*="-dialog "],
  [class$="-group"],[class*="-group "],
  [class$="-bar"],[class*="-bar "],
  .dashboard-global-header,.dashboard-profile-drawer,
  input,textarea,select
),
.superadmin-body.is-light :is(
  [class$="-card"],[class*="-card "],
  [class$="-panel"],[class*="-panel "],
  [class$="-dialog"],[class*="-dialog "],
  [class$="-group"],[class*="-group "],
  [class$="-bar"],[class*="-bar "],
  .dashboard-global-header,.dashboard-profile-drawer,
  input,textarea,select
),
.manager-home-body.is-light :is(
  [class$="-card"],[class*="-card "],
  [class$="-panel"],[class*="-panel "],
  [class$="-bar"],[class*="-bar "],
  .dashboard-global-header,.dashboard-profile-drawer
){
  border-style:solid;
  border-width:1px;
  border-color:#131d24;
}

/* No white veil over the manager-home artwork. */
.manager-home-body.is-light{
  background:#59bdb7;
}
.manager-home-body.is-light::before{
  background-image:var(--manager-home-bg-desktop-day);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
  filter:saturate(1.16) contrast(1.05);
  opacity:1;
}
.manager-home-body.is-light .manager-home-card__shade{background:none}
@media(max-width:760px){
  .manager-home-body.is-light::before{
    background-image:var(--manager-home-bg-mobile-day);
    background-position:center top;
  }
}

/* Manager home: stronger color, zero flat-white card treatment. */
.manager-home-body.is-light .manager-home-intro{
  background:linear-gradient(135deg,rgba(72,199,190,.94),rgba(140,94,198,.90));
  color:#0b2732;
  box-shadow:0 15px 34px rgba(9,22,29,.30);
}
.manager-home-body.is-light .manager-home-summary article{
  background:linear-gradient(135deg,#59c7bd,#8877c7);
  border:1px solid #131d24;
  box-shadow:0 9px 20px rgba(9,22,29,.24);
}
.manager-home-body.is-light .manager-home-card{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--card-accent,#22b9b0) 56%,#54c8bd),
    color-mix(in srgb,var(--card-accent,#7f62c4) 34%,#9274ca) 100%);
  border:1px solid #131d24;
  box-shadow:0 13px 28px rgba(7,20,27,.28),inset -4px 0 0 color-mix(in srgb,var(--card-accent,#1aaab0) 78%,#17232b);
}
.manager-home-body.is-light .manager-home-card__copy strong,
.manager-home-body.is-light .manager-home-intro h1{color:#092a35}
.manager-home-body.is-light .manager-home-card__copy small,
.manager-home-body.is-light .manager-home-intro p,
.manager-home-body.is-light .manager-home-summary small{color:#173e49}
.manager-home-body.is-light .manager-home-card__arrow,
.manager-home-body.is-light .manager-home-card__icon{
  background:rgba(84,205,198,.72);
  border:1px solid #172129;
  color:#092a35;
}
.manager-home-body.is-light .manager-home-footer{
  background:linear-gradient(135deg,#58c5bb,#8875c5);
  border:1px solid #131d24;
  color:#0b2b35;
}

/* General light dashboard panels/cards: stronger two-colour surfaces, no white. */
.manager-body.is-light :is(
  .manager-panel,.manager-stats article,.manager-command,.pending-booking-card,.manager-history-card,.manager-room-card,
  .manager-settings-panel,.unit-settings-card,.manager-settings-nav button,
  .staff-hero,.staff-panel,.staff-person-card,.staff-dialog,.staff-summary-card,.staff-presence-state,.staff-card-metrics>span,.staff-period-form,.staff-table-wrap,.staff-checkin-choice>span,.staff-manual-time,
  .restaurant-command-bar,.restaurant-panel,.restaurant-order-panel,.restaurant-dialog,.restaurant-seating-group,.restaurant-cart-row,.restaurant-editor-card,.restaurant-managed-row,.restaurant-managed-menu-card,.restaurant-unit-card,.restaurant-unit-picker-trigger,.restaurant-service-toggle,.restaurant-order-meta-row>label
),
.superadmin-body.is-light :is(
  .superadmin-panel,.superadmin-action-card,.sa-property-card,.ambient-library,.ambient-schedule-grid,.ambient-volume-control,.ambient-scope-control,.ambient-selected-card,.ambient-sound-card,.home-slider-master,.home-slider-slot-card
){
  background:linear-gradient(145deg,#58c5bc 0%,#6db9c8 48%,#9477c9 100%);
  border:1px solid #131d24;
  box-shadow:0 12px 26px rgba(7,20,27,.27),inset 0 1px 0 rgba(255,255,255,.12);
  color:#0a2b36;
}
.manager-body.is-light :is(input,textarea,select),
.superadmin-body.is-light :is(input,textarea,select){
  background:linear-gradient(145deg,#55c2ba,#866fc1);
  border:1px solid #131d24;
  color:#071f29;
  box-shadow:inset 0 1px 2px rgba(255,255,255,.10),0 4px 10px rgba(7,20,27,.16);
}
.manager-body.is-light :is(input,textarea)::placeholder,
.superadmin-body.is-light :is(input,textarea)::placeholder{color:#183f4a;opacity:1}

/* Restaurant seating in light mode: the SELECT surface itself must be light/colorful. */
.restaurant-body.is-light .restaurant-seating-group{
  background:linear-gradient(145deg,#52c5bc,#7a8fd0 52%,#956fc4);
  border:1px solid #111b22;
}
.restaurant-body.is-light .restaurant-table-card{
  border:2px solid #111b22;
  box-shadow:inset -4px 0 0 var(--seat-accent),0 11px 24px rgba(7,20,27,.30);
}
.restaurant-body.is-light .restaurant-table-card.is-table{
  background:linear-gradient(150deg,#42c4bc 0%,#58a8cc 52%,#8076c4 100%);
}
.restaurant-body.is-light .restaurant-table-card.is-bed{
  background:linear-gradient(150deg,#7f76c9 0%,#9b70c7 48%,#58beb9 100%);
}
.restaurant-body.is-light .restaurant-table-card.is-occupied{
  background:linear-gradient(150deg,#b85878 0%,#8b67ba 52%,#4eaaa9 100%);
  border-color:#111b22;
  box-shadow:inset -4px 0 0 #d82149,0 11px 24px rgba(7,20,27,.30);
}
.restaurant-body.is-light .restaurant-table-card__select{
  background:transparent;
  color:#071f29;
}
.restaurant-body.is-light .restaurant-table-card__state{
  background:rgba(22,108,85,.26);
  color:#073e33;
  border:1px solid rgba(8,29,35,.32);
}
.restaurant-body.is-light .restaurant-table-card.is-occupied .restaurant-table-card__state{
  background:rgba(128,21,50,.28);
  color:#5b0820;
}
.restaurant-body.is-light .restaurant-table-card__action.is-ready{
  background:linear-gradient(135deg,#24a77d,#15735d);
  border:1px solid #10231f;
  color:#e6fff6;
}
.restaurant-body.is-light .restaurant-table-card__action.is-close{
  background:linear-gradient(135deg,#cf1f42,#8a1027);
  border:1px solid #29070f;
  color:#fff;
}
.restaurant-body.is-light .restaurant-table-card__bottom-value{color:#0b3a46}
.restaurant-body.is-light .restaurant-table-card__bottom-value.is-live{color:#046b50}

/* Food cards keep saturated non-white surfaces in light mode. */
.restaurant-body.is-light .restaurant-menu-card{
  background:linear-gradient(145deg,#49c1b8 0%,#6ba8cb 52%,#8d6dc4 100%);
  border:1px solid #111b22;
  box-shadow:0 10px 22px rgba(7,20,27,.27);
}
.restaurant-body.is-light .restaurant-menu-card__media{
  background:linear-gradient(145deg,#3bada9,#665ca7);
}
.restaurant-body.is-light .restaurant-menu-card__body h3{color:#08232d}
.restaurant-body.is-light .restaurant-category-badge{
  background:rgba(32,89,102,.22);
  border:1px solid #15232a;
  color:#092e38;
}
.restaurant-body.is-light .restaurant-menu-card__price{
  background:linear-gradient(135deg,#53bdb2,#8070bc);
  border:1px solid #111b22;
  color:#5d3b00;
}

@media(max-width:720px){
  .restaurant-menu-card__media > b.restaurant-food-count-indicator,
  .restaurant-menu-card__media > .restaurant-menu-image-plus{
    width:38px;min-width:38px;height:38px
  }
  .restaurant-menu-card__media > b.restaurant-food-count-indicator{font-size:27px}
  .restaurant-table-card__sticker>b{transform:translateY(-20px)}
}


/* v16.5.83 light manager refresh */
.manager-body.is-light .dashboard-global-header,
.superadmin-body.is-light .dashboard-global-header{
  border-bottom-left-radius:22px;
  border-bottom-right-radius:22px;
  overflow:hidden;
}

/* Main manager dashboard: unify all menu cards to the same turquoise-violet gradient as the title card. */
.manager-home-body.is-light .manager-home-card,
.manager-home-body.is-light .manager-home-intro,
.manager-home-body.is-light .manager-home-summary article,
.manager-home-body.is-light .manager-home-footer{
  background:linear-gradient(135deg,#5ccdc5 0%,#74c8d6 54%,#9b79d1 100%);
  border:1px solid #0f1a21;
  box-shadow:0 14px 30px rgba(6,18,24,.24), inset 0 1px 0 rgba(255,255,255,.14);
}
.manager-home-body.is-light .manager-home-card__shade{background:none}
.manager-home-body.is-light .manager-home-card::before,
.manager-home-body.is-light .manager-home-card::after{display:none}

/* Light manager cards/text should read as strong black text, not pale/washed-out. */
.manager-home-body.is-light .manager-home-intro span,
.manager-home-body.is-light .manager-home-intro h1,
.manager-home-body.is-light .manager-home-intro p,
.manager-home-body.is-light .manager-home-summary span,
.manager-home-body.is-light .manager-home-summary strong,
.manager-home-body.is-light .manager-home-summary small,
.manager-home-body.is-light .manager-home-card__copy strong,
.manager-home-body.is-light .manager-home-card__copy small,
.manager-home-body.is-light .manager-home-footer,
.manager-home-body.is-light .manager-home-footer small{
  color:#07141a;
  opacity:1;
  text-shadow:none;
}

/* Make top stats labels larger and bolder in light theme. */
.manager-home-body.is-light .manager-home-summary article{
  min-height:70px;
  padding:10px 12px;
}
.manager-home-body.is-light .manager-home-summary span{
  font-size:15px;
  font-weight:800;
  letter-spacing:0;
}
.manager-home-body.is-light .manager-home-summary strong{
  font-size:31px;
  font-weight:900;
}
.manager-home-body.is-light .summary-icon{
  border:1px solid #111b22;
  box-shadow:0 5px 12px rgba(7,20,27,.18);
}

/* Make manager menu box titles/descriptions darker, larger, and clearer. */
.manager-home-body.is-light .manager-home-card__copy strong{
  font-size:28px;
  font-weight:900;
}
.manager-home-body.is-light .manager-home-card__copy small{
  font-size:17px;
  font-weight:700;
  line-height:1.45;
}
.manager-home-body.is-light .manager-home-card__icon,
.manager-home-body.is-light .manager-home-card__arrow{
  background:rgba(121,224,218,.58);
  border:1px solid #0f1a21;
  color:#08161c;
  box-shadow:0 6px 14px rgba(7,20,27,.18);
}
.manager-home-body.is-light .manager-home-card__icon{font-size:29px}
.manager-home-body.is-light .manager-home-card__arrow{
  font-size:34px;
  font-weight:900;
}

/* Mobile/compact light theme readable sizes */
@media (max-width: 1200px){
  .manager-home-body.is-light .manager-home-card__copy strong{font-size:23px}
  .manager-home-body.is-light .manager-home-card__copy small{font-size:15px}
  .manager-home-body.is-light .manager-home-summary span{font-size:13px}
  .manager-home-body.is-light .manager-home-summary strong{font-size:25px}
}
@media (max-width: 760px){
  .manager-home-body.is-light .manager-home-card__copy strong{font-size:13px}
  .manager-home-body.is-light .manager-home-card__copy small{font-size:8.5px}
  .manager-home-body.is-light .manager-home-summary span{font-size:8.3px;font-weight:900}
  .manager-home-body.is-light .manager-home-summary strong{font-size:15px;font-weight:900}
}

/* Same stronger turquoise-violet identity for superadmin quick-action cards in light mode. */
.superadmin-body.is-light .superadmin-action-card,
.superadmin-body.is-light .superadmin-stats article,
.superadmin-body.is-light .superadmin-panel,
.superadmin-body.is-light .superadmin-form-wrap,
.superadmin-body.is-light .sa-property-card,
.superadmin-body.is-light .weather-slider-grid label{
  background:linear-gradient(135deg,#5ccdc5 0%,#74c8d6 54%,#9b79d1 100%);
  border:1px solid #0f1a21;
  color:#07141a;
  box-shadow:0 14px 30px rgba(6,18,24,.22), inset 0 1px 0 rgba(255,255,255,.14);
}
.superadmin-body.is-light .superadmin-action-card strong,
.superadmin-body.is-light .superadmin-action-card small,
.superadmin-body.is-light .superadmin-stats b,
.superadmin-body.is-light .superadmin-stats span,
.superadmin-body.is-light .superadmin-section-head h2,
.superadmin-body.is-light .superadmin-section-head span{
  color:#07141a;
  opacity:1;
}


/* v16.5.84 — restaurant modal polish, glass light dialogs, stronger light readability */

/* Light-mode dialogs use a glassy blurred surface while preserving the same dark X button language. */
.restaurant-body.is-light .restaurant-dialog{
  background:linear-gradient(145deg,rgba(91,212,204,.72) 0%,rgba(114,190,210,.70) 52%,rgba(157,121,208,.68) 100%);
  border:1px solid rgba(16,28,36,.72);
  border-radius:28px;
  backdrop-filter:blur(16px) saturate(1.12);
  -webkit-backdrop-filter:blur(16px) saturate(1.12);
  box-shadow:0 24px 55px rgba(3,15,22,.34), inset 0 1px 0 rgba(255,255,255,.18);
}
.restaurant-body.is-light .restaurant-dialog::backdrop{
  background:rgba(1,10,17,.52);
  backdrop-filter:blur(12px) saturate(1.02);
}
.restaurant-body.is-light :is(.restaurant-unit-dialog,.restaurant-tables-dialog){max-height:min(92vh,940px)}
.restaurant-body.is-light .restaurant-unit-grid{max-height:min(66vh,650px)}

/* Close buttons intentionally inherit the canonical global dark-style X in every theme. */
/* Hall management modal: light-mode seat manager should visually mirror dark mode geometry. */
.restaurant-body.is-light .restaurant-table-manager{
  grid-template-columns:minmax(0,1.52fr) minmax(360px,.96fr);
  gap:14px;
}
.restaurant-body.is-light .restaurant-managed-list,
.restaurant-body.is-light .restaurant-editor-card,
.restaurant-body.is-light .restaurant-seating-group,
.restaurant-body.is-light .restaurant-managed-row,
.restaurant-body.is-light .restaurant-seating-type-picker{
  background:linear-gradient(145deg,rgba(67,196,189,.68),rgba(104,172,208,.62) 54%,rgba(149,112,206,.60));
  border:1px solid rgba(15,28,36,.78);
  border-radius:21px;
  box-shadow:0 10px 24px rgba(4,18,25,.18), inset 0 1px 0 rgba(255,255,255,.10);
}
.restaurant-body.is-light .restaurant-seating-group{padding:12px;border-radius:22px}
.restaurant-body.is-light .restaurant-managed-row{border-radius:16px}
.restaurant-body.is-light .restaurant-seating-group>header strong,
.restaurant-body.is-light .restaurant-managed-seat-group>header strong,
.restaurant-body.is-light .restaurant-editor-card>h3,
.restaurant-body.is-light .restaurant-editor-grid label>span,
.restaurant-body.is-light .restaurant-editor-grid label>span small,
.restaurant-body.is-light .restaurant-managed-row>div:first-child strong,
.restaurant-body.is-light .restaurant-managed-row>div:first-child small,
.restaurant-body.is-light .restaurant-seating-type-picker::before{
  color:#0d2833;
  opacity:1;
}
.restaurant-body.is-light .restaurant-editor-grid input,
.restaurant-body.is-light .restaurant-editor-grid select,
.restaurant-body.is-light .restaurant-unit-search,
.restaurant-body.is-light .restaurant-menu-search input,
.restaurant-body.is-light .restaurant-order-note--single input{
  background:linear-gradient(145deg,rgba(66,192,186,.88),rgba(108,175,210,.84) 56%,rgba(151,116,207,.80));
  border:1px solid rgba(13,26,34,.78);
  border-radius:14px;
  color:#08212b;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 5px 12px rgba(5,18,25,.13);
}
.restaurant-body.is-light .restaurant-editor-grid input::placeholder,
.restaurant-body.is-light .restaurant-order-note--single input::placeholder,
.restaurant-body.is-light .restaurant-unit-search input::placeholder,
.restaurant-body.is-light .restaurant-menu-search input::placeholder{
  color:#173e49;
  opacity:1;
}
.restaurant-body.is-light .restaurant-unit-search input,
.restaurant-body.is-light .restaurant-menu-search input{color:#08212b}

/* Seating type selection must be obviously selected in light mode. */
.restaurant-body.is-light .restaurant-seating-type-picker label>span{
  background:linear-gradient(145deg,rgba(79,198,191,.62),rgba(132,114,202,.48));
  border:1px solid rgba(14,28,36,.65);
  color:#143946;
  font-weight:800;
}
.restaurant-body.is-light .restaurant-seating-type-picker input:checked+span{
  background:linear-gradient(135deg,#2fcee0,#7d6ad8);
  border-color:#102832;
  color:#081c24;
  box-shadow:0 0 0 2px rgba(9,31,39,.26), inset 0 1px 0 rgba(255,255,255,.16);
}
.restaurant-body.is-light .restaurant-seating-type-picker label:last-child input:checked+span{
  background:linear-gradient(135deg,#b6943c,#9e7ce0);
  color:#251a00;
}

/* Unit search / unit cards in light mode should not use flat white and need darker readable copy. */
.restaurant-body.is-light .restaurant-unit-search,
.restaurant-body.is-light .restaurant-unit-card,
.restaurant-body.is-light .restaurant-unit-picker-trigger{
  background:linear-gradient(145deg,rgba(81,203,196,.82),rgba(116,186,210,.78) 52%,rgba(156,118,208,.74));
  border:1px solid rgba(14,27,35,.76);
  color:#0a2330;
  box-shadow:0 10px 22px rgba(5,18,25,.16);
}
.restaurant-body.is-light .restaurant-unit-card{
  min-height:136px;
  padding:12px 10px 9px;
}
.restaurant-body.is-light .restaurant-unit-card>strong,
.restaurant-body.is-light .restaurant-unit-card>small,
.restaurant-body.is-light .restaurant-unit-card>em,
.restaurant-body.is-light .restaurant-unit-card>b,
.restaurant-body.is-light .restaurant-unit-picker-trigger>strong,
.restaurant-body.is-light .restaurant-unit-picker-trigger>small,
.restaurant-body.is-light .restaurant-unit-legend span,
.restaurant-body.is-light .restaurant-dialog-copy{
  color:#102733;
  opacity:1;
}
.restaurant-body.is-light .restaurant-unit-card>strong{font-size:17px}
.restaurant-body.is-light .restaurant-unit-card>small,
.restaurant-body.is-light .restaurant-unit-card>em,
.restaurant-body.is-light .restaurant-unit-card>b{font-weight:700}

/* Seat cards: consistent rounded corners in light mode, number slightly lower, capacity slightly higher. */
.restaurant-table-card,
.restaurant-table-card__select,
.restaurant-table-card__footer{border-radius:18px}
.restaurant-table-card{overflow:hidden}
.restaurant-table-card__sticker>b{transform:translateY(-17px)}
.restaurant-table-card__select>small{margin-top:-3px}
.restaurant-table-card__bottom-value.is-live{
  margin-top:-2px;
  color:#0bc48f;
  text-shadow:none;
}
.restaurant-body.is-light .restaurant-table-card__bottom-value,
.restaurant-body.is-light .restaurant-table-card__bottom-value.is-live,
.restaurant-body.is-light .restaurant-table-card__select>small,
.restaurant-body.is-light .restaurant-table-card>strong{
  color:#08232d;
  opacity:1;
}
.restaurant-body.is-light .restaurant-table-card__bottom-value.is-live{font-size:24px;font-weight:900}
.restaurant-body.is-light .restaurant-table-card__action-row{background:transparent}
.restaurant-body.is-light .restaurant-table-card__footer{padding-top:0;padding-bottom:7px}

/* Ordering modal/panel in light mode: darker text, stronger controls, no pale numbers. */
.restaurant-body.is-light :is(
  .restaurant-order-panel h2,
  .restaurant-order-panel h3,
  .restaurant-order-panel strong,
  .restaurant-order-panel b,
  .restaurant-order-panel label>span,
  .restaurant-order-panel .restaurant-section-title span,
  .restaurant-order-panel .restaurant-section-title h3,
  .restaurant-order-panel .restaurant-dialog-copy,
  .restaurant-order-panel .restaurant-order-meta-row>label>span,
  .restaurant-order-panel .restaurant-service-toggle button>b,
  .restaurant-order-panel .restaurant-service-toggle button>small,
  .restaurant-order-panel .restaurant-cart-row__copy strong,
  .restaurant-order-panel .restaurant-cart-row__copy small,
  .restaurant-order-panel .restaurant-stepper strong,
  .restaurant-order-panel .restaurant-cart-row__stepper b,
  .restaurant-order-panel .restaurant-cart-row__total,
  .restaurant-order-panel .restaurant-order-total,
  .restaurant-order-panel .restaurant-cart-empty,
  .restaurant-order-panel .restaurant-settlement-summary>span,
  .restaurant-order-panel .restaurant-settlement-summary>small,
  .restaurant-order-panel .restaurant-settlement-summary>strong,
  .restaurant-order-panel #restaurantSettlementTarget,
  .restaurant-order-panel #restaurantSettlementText,
  .restaurant-order-panel #restaurantOrderNote,
  .restaurant-order-panel #restaurantSettlementStatus,
  .restaurant-order-panel #restaurantOrderStatus,
  .restaurant-order-panel #restaurantCartGuests,
  .restaurant-order-panel #restaurantCartTotal,
  .restaurant-body.is-light .restaurant-dialog__head>span,
  .restaurant-body.is-light .restaurant-dialog__head h2
 ){
  color:#092530;
  opacity:1;
  text-shadow:none;
}
.restaurant-body.is-light .restaurant-order-panel :is(.restaurant-stepper button,.restaurant-cart-row__stepper button){
  background:linear-gradient(145deg,#58c5bc,#7aa2d0 54%,#8e6cc5);
  border:1px solid rgba(13,26,34,.82);
  color:#07212a;
  opacity:1;
  box-shadow:0 5px 12px rgba(5,18,25,.16);
}
.restaurant-body.is-light .restaurant-cart-row__stepper button.is-plus{
  background:linear-gradient(145deg,#30c78b,#1c8f69);
  color:#f3fff9;
}
.restaurant-body.is-light .restaurant-cart-row__stepper button.is-minus{
  background:linear-gradient(145deg,#d44363,#921e39);
  color:#fff;
}
.restaurant-body.is-light .restaurant-stepper strong,
.restaurant-body.is-light .restaurant-cart-row__stepper b,
.restaurant-body.is-light .restaurant-order-total,
.restaurant-body.is-light .restaurant-cart-row__total,
.restaurant-body.is-light .restaurant-settlement-summary>strong{
  font-weight:900;
}
.restaurant-body.is-light .restaurant-cart-row__total,
.restaurant-body.is-light .restaurant-order-total,
.restaurant-body.is-light .restaurant-settlement-summary>strong{color:#046848}
.restaurant-body.is-light .restaurant-order-meta-row>label,
.restaurant-body.is-light .restaurant-service-toggle,
.restaurant-body.is-light .restaurant-cart-row,
.restaurant-body.is-light .restaurant-order-note--single input,
.restaurant-body.is-light .restaurant-cart-empty,
.restaurant-body.is-light .restaurant-settlement-summary{
  border:1px solid rgba(14,27,35,.76);
}
.restaurant-body.is-light .restaurant-cart-row{
  background:linear-gradient(145deg,rgba(83,203,196,.76),rgba(114,184,211,.72) 54%,rgba(153,116,205,.70));
  min-height:58px;
}
.restaurant-body.is-light .restaurant-cart-empty{background:linear-gradient(145deg,rgba(88,198,191,.48),rgba(146,120,205,.42))}
.restaurant-body.is-light .restaurant-order-note--single input{height:50px}

/* The guest-unit selector inside the order modal gets slightly more room, avoiding the awkward extra scroll. */
.restaurant-body.is-light .restaurant-order-panel{min-height:610px}
.restaurant-body.is-light .restaurant-order-meta-row{align-items:stretch}
.restaurant-body.is-light #restaurantUnitDialog .restaurant-dialog__head{margin-bottom:14px}

/* Search fields should never be flat white in light mode. */
.restaurant-body.is-light .restaurant-menu-search,
.restaurant-body.is-light .restaurant-unit-search{
  background:transparent;
}
.restaurant-body.is-light .restaurant-menu-search input,
.restaurant-body.is-light .restaurant-unit-search input{
  height:44px;
}


/* v16.5.84 follow-up fixes */
.restaurant-body.is-light .restaurant-dialog__head>span,
.restaurant-body.is-light .restaurant-dialog__head h2,
.restaurant-body.is-light .restaurant-dialog__head p,
.restaurant-body.is-light .restaurant-service-toggle button>span,
.restaurant-body.is-light .restaurant-order-meta-row>label>span,
.restaurant-body.is-light .restaurant-editor-grid label>span,
.restaurant-body.is-light .restaurant-editor-grid label>span small,
.restaurant-body.is-light .restaurant-menu-search>span,
.restaurant-body.is-light .restaurant-unit-search>span{
  color:#0c2934;
  opacity:1;
}
.restaurant-body.is-light .restaurant-service-toggle button{
  border:1px solid rgba(13,26,34,.62);
}
.restaurant-body.is-light .restaurant-service-toggle button.is-active,
.restaurant-body.is-light .restaurant-service-toggle button[data-service-mode="stay"].is-active{
  box-shadow:inset -4px 0 0 rgba(9,31,39,.34),0 7px 15px rgba(6,18,25,.18);
}
.restaurant-body.is-light .restaurant-managed-row__actions button,
.restaurant-body.is-light .restaurant-managed-menu-card>div:last-child button{
  border:1px solid rgba(13,26,34,.72);
  background:linear-gradient(145deg,rgba(84,198,192,.70),rgba(136,113,203,.64));
  color:#0b2732;
}
.restaurant-body.is-light .restaurant-managed-row__actions button.is-danger,
.restaurant-body.is-light .restaurant-managed-menu-card>div:last-child button.is-danger{
  background:linear-gradient(145deg,#dc556f,#9a2843);
  color:#fff;
}


/* ===== v16.5.86 — light theme must mirror dark geometry ===== */

/* Light restaurant dialogs keep the DARK layout/geometry. Only palette/transparency changes. */
.restaurant-body.is-light .restaurant-dialog{
  background:linear-gradient(145deg,rgba(101,211,204,.48) 0%,rgba(128,190,211,.46) 55%,rgba(163,137,204,.44) 100%);
  border:1px solid rgba(12,25,33,.72);
  border-radius:27px;
  color:#0a2631;
  box-shadow:0 30px 70px rgba(2,14,21,.32),inset 0 1px 0 rgba(255,255,255,.13);
  backdrop-filter:blur(20px) saturate(1.05);
  -webkit-backdrop-filter:blur(20px) saturate(1.05);
}
.restaurant-body.is-light .restaurant-dialog::backdrop{
  background:rgba(0,8,14,.47);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

/* Hall manager: exact same column ratio and spacing as dark mode. */
.restaurant-body.is-light .restaurant-table-manager{
  grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);
  gap:12px;
  align-items:start;
}
.restaurant-body.is-light .restaurant-managed-list{
  display:grid;
  gap:14px;
  max-height:610px;
  padding-left:2px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.restaurant-body.is-light .restaurant-managed-seat-group{
  display:grid;
  gap:10px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
}
.restaurant-body.is-light .restaurant-managed-seat-group+.restaurant-managed-seat-group{
  margin-top:4px;
  padding-top:16px;
  border-top:1px solid rgba(10,30,38,.28);
}
.restaurant-body.is-light .restaurant-managed-seat-group>header strong,
.restaurant-body.is-light .restaurant-managed-seat-group>header small{
  color:#092630;
  opacity:1;
}
.restaurant-body.is-light .restaurant-managed-seat-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.restaurant-body.is-light .restaurant-managed-seat-card{
  min-height:174px;
  padding:12px;
  border:1px solid rgba(13,30,39,.72);
  border-radius:18px;
  background:linear-gradient(155deg,rgba(89,204,197,.80),rgba(123,181,210,.74) 54%,rgba(151,119,200,.72));
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-between;
  gap:5px;
  box-shadow:inset -3px 0 0 rgba(154,80,210,.58),0 10px 24px rgba(3,17,24,.16);
}
.restaurant-body.is-light .restaurant-managed-seat-card.is-bed{
  background:linear-gradient(155deg,rgba(119,169,212,.78),rgba(151,115,203,.75) 58%,rgba(96,202,193,.76));
  border-color:rgba(67,41,105,.70);
  box-shadow:inset -4px 0 0 rgba(111,69,196,.68),0 10px 24px rgba(3,17,24,.16);
}
.restaurant-body.is-light .restaurant-managed-seat-card.is-table{
  background:linear-gradient(155deg,rgba(75,199,194,.80),rgba(107,176,210,.74) 58%,rgba(148,105,191,.70));
  border-color:rgba(44,51,86,.72);
}
.restaurant-body.is-light .restaurant-managed-seat-card>strong,
.restaurant-body.is-light .restaurant-managed-seat-card>small{
  color:#092630;
  opacity:1;
}
.restaurant-body.is-light .restaurant-managed-seat-card__actions button{
  border:1px solid rgba(13,30,39,.62);
  background:rgba(75,179,184,.28);
  color:#0a2b35;
  opacity:1;
}
.restaurant-body.is-light .restaurant-managed-seat-card__actions button.is-state{
  background:rgba(37,172,122,.20);
  color:#07503e;
}
.restaurant-body.is-light .restaurant-managed-seat-card__actions button.is-danger{
  background:rgba(197,53,78,.16);
  color:#8a1530;
}

/* Editor card keeps dark-mode dimensions. Inputs are colored, never white. */
.restaurant-body.is-light .restaurant-editor-card{
  display:grid;
  gap:12px;
  padding:15px;
  border:1px solid rgba(12,27,35,.74);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(84,200,194,.60),rgba(121,181,208,.55) 54%,rgba(154,120,201,.52));
  box-shadow:0 12px 26px rgba(3,17,24,.16);
}
.restaurant-body.is-light .restaurant-editor-card>h3,
.restaurant-body.is-light .restaurant-editor-grid label>span,
.restaurant-body.is-light .restaurant-editor-grid label>span small,
.restaurant-body.is-light .restaurant-seating-type-picker::before{
  color:#082630;
  opacity:1;
}
.restaurant-body.is-light .restaurant-editor-grid input,
.restaurant-body.is-light .restaurant-editor-grid select{
  height:42px;
  background:linear-gradient(145deg,rgba(77,196,190,.72),rgba(112,174,205,.68) 58%,rgba(147,111,194,.65));
  border:1px solid rgba(10,25,33,.75);
  border-radius:12px;
  color:#071f29;
  box-shadow:none;
}
.restaurant-body.is-light .restaurant-editor-grid input::placeholder{color:#173f4a;opacity:1}

/* Selected table/bed type is unmistakable, but geometry stays identical to dark. */
.restaurant-body.is-light .restaurant-seating-type-picker{
  grid-template-columns:auto 1fr 1fr;
  gap:7px;
  margin:0;
  padding:8px;
  border:1px solid rgba(12,27,35,.72);
  border-radius:13px;
  background:rgba(82,190,187,.20);
  box-shadow:none;
}
.restaurant-body.is-light .restaurant-seating-type-picker label>span{
  min-height:38px;
  border:1px solid rgba(14,31,39,.62);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(79,190,187,.42),rgba(131,112,192,.34));
  color:#143943;
  font-weight:800;
}
.restaurant-body.is-light .restaurant-seating-type-picker input:checked+span{
  border-color:#0b2530;
  background:linear-gradient(135deg,#2cbfd0,#6961c7);
  color:#061a22;
  box-shadow:0 0 0 2px rgba(6,24,31,.22),inset 0 1px 0 rgba(255,255,255,.14);
}
.restaurant-body.is-light .restaurant-seating-type-picker label:last-child input:checked+span{
  background:linear-gradient(135deg,#b49b55,#8e72d1);
  color:#261c02;
}

/* ALL close X controls in light dashboards revert to the exact dark-theme bare embossed X. */
html body.manager-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x,
html body.superadmin-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x{
  position:relative;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:transparent;
  font-size:0;
  line-height:0;
  text-shadow:none;
  filter:none;
  display:block;
  cursor:pointer;
  overflow:visible;
}
html body.manager-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x:hover,
html body.superadmin-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x:hover{
  background:transparent;
  box-shadow:none;
  transform:scale(1.08);
  filter:brightness(1.08);
}

/* Order panel: remove artificial bottom height; lower final buttons into usable space. */
.restaurant-body.is-light .restaurant-order-panel{
  min-height:0;
  padding-bottom:8px;
}
.restaurant-body.is-light .restaurant-order-content{gap:8px}
.restaurant-body.is-light .restaurant-order-actions--final{
  margin-top:7px;
  margin-bottom:0;
}
.restaurant-body.is-light #restaurantOrderStatus:empty{display:none}
.restaurant-body.is-light #restaurantOrderStatus:not(:empty){min-height:18px;margin:3px 0 0}

/* Guest-unit dialog: shorter cards, names higher, no desktop inner scroll. */
.restaurant-body.is-light .restaurant-unit-dialog{
  background:linear-gradient(145deg,rgba(108,214,207,.43),rgba(137,194,214,.41) 55%,rgba(169,145,207,.39));
}
.restaurant-body.is-light .restaurant-unit-toolbar{margin:1px 0 9px}
.restaurant-body.is-light .restaurant-unit-search{
  height:42px;
  background:linear-gradient(145deg,rgba(80,194,190,.45),rgba(139,114,194,.35));
  border:1px solid rgba(10,25,33,.72);
  box-shadow:none;
}
.restaurant-body.is-light .restaurant-unit-search input{
  background:transparent;
  color:#08242e;
}
.restaurant-body.is-light .restaurant-unit-search input::placeholder{color:#173d47;opacity:1}
.restaurant-body.is-light .restaurant-unit-card{
  min-height:110px;
  padding:8px 9px 7px;
  gap:1px;
  border:1px solid rgba(11,26,34,.72);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(82,200,193,.66),rgba(117,178,207,.61) 54%,rgba(153,115,200,.59));
  box-shadow:none;
}
.restaurant-body.is-light .restaurant-unit-card>strong{
  margin-top:0;
  transform:translateY(-3px);
  color:#092630;
  font-size:16px;
  line-height:1.12;
}
.restaurant-body.is-light .restaurant-unit-card>small{
  color:#183d47;
  font-size:9px;
  line-height:1.2;
}
.restaurant-body.is-light .restaurant-unit-card>em{
  min-height:18px;
  color:#234b55;
  font-size:9px;
  line-height:1.22;
}
.restaurant-body.is-light .restaurant-unit-card>b{
  color:#0b2b35;
  font-size:8.5px;
  line-height:1.1;
}
.restaurant-body.is-light .restaurant-unit-card__state{
  padding:2px 6px;
  font-size:8px;
}

/* Light order panel copy and controls: full contrast. */
.restaurant-body.is-light .restaurant-order-panel :is(
  h2,h3,strong,b,label>span,.restaurant-section-title span,.restaurant-section-title h3,
  .restaurant-cart-row__copy strong,.restaurant-cart-row__copy small,.restaurant-stepper strong,
  .restaurant-cart-row__stepper b,.restaurant-cart-row__total,.restaurant-order-total,.restaurant-cart-empty,
  .restaurant-service-toggle button>b,.restaurant-service-toggle button>small
){color:#082630;opacity:1;text-shadow:none}
.restaurant-body.is-light .restaurant-order-total,
.restaurant-body.is-light .restaurant-cart-row__total{color:#04694e;font-weight:900}
.restaurant-body.is-light .restaurant-stepper button,
.restaurant-body.is-light .restaurant-cart-row__stepper button{
  border:1px solid rgba(10,25,33,.74);
  opacity:1;
  color:#071f29;
}
.restaurant-body.is-light .restaurant-stepper button{background:linear-gradient(145deg,#59c4bc,#8874c8)}
.restaurant-body.is-light .restaurant-cart-row__stepper button.is-plus{background:linear-gradient(145deg,#2dbb83,#167459);color:#fff}
.restaurant-body.is-light .restaurant-cart-row__stepper button.is-minus{background:linear-gradient(145deg,#d33c5c,#8c1833);color:#fff}
.restaurant-body.is-light .restaurant-order-note--single input,
.restaurant-body.is-light .restaurant-menu-search input{
  background:linear-gradient(145deg,rgba(79,195,190,.62),rgba(127,111,190,.48));
  border:1px solid rgba(10,25,33,.72);
  color:#08242e;
}
.restaurant-body.is-light .restaurant-order-note--single input::placeholder,
.restaurant-body.is-light .restaurant-menu-search input::placeholder{color:#173d47;opacity:1}

/* Seat number comes down slightly; capacity comes up slightly. */
.restaurant-table-card__sticker>b{transform:translateY(-15px)}
.restaurant-table-card__select>small{margin-top:-3px}
.restaurant-body.is-light .restaurant-table-card__bottom-value.is-live{
  margin-top:-4px;
  color:#056b50;
  font-weight:900;
}

@media(min-width:721px){
  .restaurant-body.is-light .restaurant-unit-dialog{
    max-height:calc(100vh - 34px);
    overflow:hidden;
  }
  .restaurant-body.is-light .restaurant-unit-grid{
    max-height:none;
    overflow:visible;
    gap:7px;
  }
}
@media(max-width:1100px){
  .restaurant-body.is-light .restaurant-managed-seat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .restaurant-body.is-light .restaurant-table-manager{grid-template-columns:1fr}
  .restaurant-body.is-light .restaurant-managed-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .restaurant-body.is-light .restaurant-unit-card{min-height:104px;padding:7px 8px 6px}
}
@media(max-width:430px){
  html body.manager-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x,
  html body.superadmin-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x{
    width:34px;height:34px;min-width:34px;min-height:34px;
  }
}


/* v16.5.87 — final X geometry + equal table/bed selector */
/* Light theme must use the exact same close-control geometry as dark theme. */
html body.manager-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x,
html body.superadmin-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x{
  position:absolute;
  top:var(--dialog-close-inset);
  right:var(--dialog-close-inset);
  left:auto;
  bottom:auto;
  width:36px;
  height:36px;
  min-width:36px;
  min-height:36px;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:transparent;
  font-size:0;
  line-height:0;
  text-shadow:none;
  filter:none;
  display:block;
  overflow:visible;
  z-index:90;
}
html body.manager-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x:hover,
html body.superadmin-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x:hover{
  background:transparent;
  box-shadow:none;
  transform:scale(1.08);
  filter:brightness(1.08);
}
/* Order-close belongs to the upper corner, never inline beside the title. */
html body.restaurant-body.is-light .restaurant-order-head .restaurant-order-reset{
  position:absolute;
  top:var(--dialog-close-inset);
  right:var(--dialog-close-inset);
  left:auto;
}

/* Type picker: table and bed are always two equal-width choices, exactly like dark mode. */
.restaurant-body.is-light .restaurant-seating-type-picker{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  align-items:stretch;
  padding:0;
  border:0;
  background:transparent;
}
.restaurant-body.is-light .restaurant-seating-type-picker legend{
  display:block;
  grid-column:1/-1;
  width:100%;
  padding:0 2px 4px;
  color:#0b2a35;
  font-size:12px;
  font-weight:800;
  text-align:right;
}
.restaurant-body.is-light .restaurant-seating-type-picker label{
  display:block;
  min-width:0;
  width:100%;
}
.restaurant-body.is-light .restaurant-seating-type-picker label>span{
  width:100%;
  min-width:0;
  min-height:43px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  font-size:13px;
  font-weight:800;
}
@media(max-width:430px){
  html body.manager-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x,
  html body.superadmin-body.is-light .dialog-x.dialog-x.dialog-x.dialog-x{
    width:34px;height:34px;min-width:34px;min-height:34px;
  }
}

/* v16.5.89 manual invoice action */
.restaurant-order-actions--final{grid-template-columns:repeat(3,minmax(0,1fr))}
.restaurant-customer-print-button{border:1px solid rgba(232,196,77,.36);background:linear-gradient(135deg,rgba(196,148,36,.86),rgba(135,91,22,.86));color:#fff9dc}
.restaurant-customer-print-button:hover{filter:brightness(1.06)}
@media(max-width:520px){.restaurant-order-actions--final{grid-template-columns:1fr 1fr}.restaurant-order-actions--final .restaurant-cancel-order{grid-column:1/-1}}

/* ===== v16.5.93 — Kitchen realtime dashboard ===== */
.kitchen-body{background:radial-gradient(circle at 15% 0,rgba(14,88,100,.18),transparent 31%),linear-gradient(180deg,#05141f,#04111b 72%,#020a10);color:#edf8fb;min-height:100vh}
.kitchen-shell{width:min(1460px,96vw);margin:0 auto;padding:calc(92px + var(--dashboard-safe-top)) 0 36px;display:grid;gap:14px}
.kitchen-command-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,330px) minmax(0,1fr);grid-template-areas:"right copy left";direction:rtl;align-items:stretch;gap:8px;padding:10px;border:1px solid rgba(77,193,222,.18);border-radius:24px;background:linear-gradient(145deg,rgba(7,35,51,.94),rgba(5,24,39,.96));box-shadow:0 18px 42px rgba(0,0,0,.22)}
.kitchen-command-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0}.kitchen-command-cluster.is-right{grid-area:right}.kitchen-command-cluster.is-left{grid-area:left}
.kitchen-command-copy{grid-area:copy;display:grid;place-content:center;text-align:center;padding:4px 10px}.kitchen-command-copy>span{color:#68d8ec;font-size:11px}.kitchen-command-copy h1{margin:2px 0 0;color:#fff;font-size:27px}.kitchen-command-copy small{margin-top:2px;color:#87a5b0;font:11px var(--font-body)}
.kitchen-nav-card{position:relative;min-height:68px;padding:8px 9px;border:1px solid rgba(81,183,213,.15);border-radius:15px;background:linear-gradient(145deg,rgba(7,42,59,.92),rgba(6,27,43,.95));color:#b8cdd5;font-family:var(--font-ui);display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:6px;text-align:right;cursor:pointer;box-shadow:inset -3px 0 0 rgba(73,204,230,.11);transition:.17s ease}
.kitchen-nav-card>span{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:rgba(64,177,207,.10);color:#6ed8ec;font-size:13px}.kitchen-nav-card>b{font-size:12px;white-space:nowrap}.kitchen-nav-card>strong{font-size:18px;color:#efd269}.kitchen-nav-card:hover{transform:translateY(-1px);border-color:rgba(76,211,235,.35)}.kitchen-nav-card.is-active{border-color:#54dcec;background:linear-gradient(135deg,rgba(22,131,158,.42),rgba(10,67,87,.36));box-shadow:inset -4px 0 0 #52d9eb,0 8px 20px rgba(15,111,137,.14)}.kitchen-nav-card.is-active>b,.kitchen-nav-card.is-active>span{color:#dffcff}
.kitchen-orders-panel{padding:14px;border:1px solid rgba(80,184,213,.14);border-radius:24px;background:linear-gradient(180deg,rgba(7,31,49,.92),rgba(4,21,35,.96));box-shadow:0 18px 42px rgba(0,0,0,.17)}
.kitchen-section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:12px;padding:0 3px}.kitchen-section-head>div{display:grid}.kitchen-section-head span{color:#65d9ef;font-size:11px}.kitchen-section-head h2{margin:0;color:#f5fbfd;font-size:24px}.kitchen-section-head p{margin:0;color:#809ba6;font:13px/1.5 var(--font-body)}
.kitchen-orders-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;min-height:220px}
.kitchen-order-card{--kitchen-accent:#24cfe6;position:relative;height:252px;display:grid;grid-template-rows:134px 43px 42px 33px;overflow:hidden;border:2px solid color-mix(in srgb,var(--kitchen-accent) 52%,#332c58);border-radius:20px;background:linear-gradient(155deg,rgba(7,42,58,.98),rgba(4,23,38,.99));box-shadow:inset -4px 0 0 color-mix(in srgb,var(--kitchen-accent) 72%,transparent),0 12px 26px rgba(0,0,0,.18);cursor:pointer;transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;outline:none}
.kitchen-order-card:hover,.kitchen-order-card:focus-visible{transform:translateY(-2px);border-color:var(--kitchen-accent);box-shadow:inset -4px 0 0 var(--kitchen-accent),0 16px 32px rgba(0,0,0,.23)}
.kitchen-order-card.is-bed{--kitchen-accent:#b686ff;background:linear-gradient(155deg,rgba(58,34,78,.86),rgba(5,24,39,.98))}.kitchen-order-card.is-unit{--kitchen-accent:#efc552;background:linear-gradient(155deg,rgba(61,52,17,.75),rgba(5,25,39,.98))}.kitchen-order-card.is-new{--kitchen-accent:#ff5772}.kitchen-order-card.is-preparing{--kitchen-accent:#e9b744}.kitchen-order-card.is-ready{--kitchen-accent:#39dda0}.kitchen-order-card.is-closed{--kitchen-accent:#6e8995;opacity:.76}
.kitchen-order-card.is-update{animation:kitchenNewPulse 1s ease-in-out infinite}.kitchen-order-card.is-update::after{content:"جدید";position:absolute;top:9px;left:9px;z-index:4;padding:3px 8px;border-radius:999px;background:#1d9d68;color:#eafff5;font-size:9px;font-weight:900;box-shadow:0 0 18px rgba(53,225,153,.34)}
@keyframes kitchenNewPulse{0%,100%{box-shadow:inset -4px 0 0 var(--kitchen-accent),0 12px 26px rgba(0,0,0,.18)}50%{box-shadow:inset -4px 0 0 var(--kitchen-accent),0 0 0 3px rgba(255,80,108,.18),0 12px 30px rgba(255,80,108,.18)}}
.kitchen-order-card__select{position:relative;display:grid;justify-items:center;align-content:start;padding:9px 9px 0;background:transparent}.kitchen-order-card__state{justify-self:start;padding:3px 8px;border-radius:999px;background:rgba(45,186,139,.17);color:#77e7ba;font-size:9px;font-weight:900}.kitchen-order-card.is-new .kitchen-order-card__state{background:rgba(215,46,75,.22);color:#ff9aad}.kitchen-order-card.is-preparing .kitchen-order-card__state{background:rgba(209,159,48,.19);color:#ffe290}.kitchen-order-card.is-ready .kitchen-order-card__state{background:rgba(46,193,139,.22);color:#93f5c7}.kitchen-order-card__source{position:absolute;top:10px;left:10px;color:#73919d;font-size:8px}
.kitchen-order-card__sticker{position:relative;width:92px;height:57px;margin-top:5px;display:grid;place-items:center}.kitchen-order-card__sticker::before{content:"";position:absolute;left:11px;right:11px;top:17px;height:25px;border-radius:10px 10px 15px 15px;background:linear-gradient(180deg,#9f6540,#59351f);box-shadow:0 8px 13px rgba(0,0,0,.24)}.kitchen-order-card.is-bed .kitchen-order-card__sticker::before{background:linear-gradient(180deg,#94756b,#5b4039);height:21px;top:21px}.kitchen-order-card.is-unit .kitchen-order-card__sticker::before{left:13px;right:13px;top:11px;height:34px;border-radius:11px;background:linear-gradient(145deg,#b28a35,#74591f)}.kitchen-order-card__sticker>i{position:absolute;bottom:2px;width:8px;height:19px;border-radius:3px;background:#54321f}.kitchen-order-card__sticker>i:first-child{right:25px;transform:rotate(-7deg)}.kitchen-order-card__sticker>i:nth-child(2){left:25px;transform:rotate(7deg)}.kitchen-order-card.is-unit .kitchen-order-card__sticker>i{display:none}.kitchen-order-card__sticker>b{position:relative;z-index:2;color:#fff;font-size:25px;transform:translateY(-5px)}.kitchen-order-card.is-unit .kitchen-order-card__sticker>b{font-size:25px;transform:none}.kitchen-order-card__select>strong{margin-top:-2px;color:#f3fbfd;font-size:18px;line-height:1.2;text-align:center}.kitchen-order-card__select>small{margin-top:2px;max-width:100%;color:#78959f;font:10px var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kitchen-order-card__action-row{display:grid;place-items:center;padding:3px 9px}.kitchen-order-card__action{width:min(150px,88%);height:35px;border-radius:11px;font-family:var(--font-ui);font-size:11px;font-weight:900;cursor:pointer}.kitchen-order-card__action.is-accept{border:1px solid rgba(69,209,231,.45);background:linear-gradient(135deg,#1da7c8,#146c8e);color:#effdff}.kitchen-order-card__action.is-ready{border:1px solid rgba(61,226,154,.42);background:linear-gradient(135deg,#21a874,#116a50);color:#effff8}.kitchen-order-card__action.is-done{border:1px solid rgba(67,221,160,.25);background:rgba(31,134,97,.35);color:#8ff0c1;cursor:default}.kitchen-order-card__action.is-history{border:1px solid rgba(123,151,163,.18);background:rgba(50,74,85,.26);color:#93aab3;cursor:default}
.kitchen-order-card__timer{display:grid;align-content:center;gap:4px;padding:2px 12px}.kitchen-order-card__timer>span{text-align:center;color:#f0d36a;font-size:12px;font-weight:900}.kitchen-order-card__timer>i{height:6px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.065)}.kitchen-order-card__timer>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0c852,#42d7b3);transition:width .8s linear}.kitchen-order-card__timer.is-late>span{color:#ff7a90}.kitchen-order-card__timer.is-late>i>b{background:#e53f5d}.kitchen-order-card__timer.is-empty{visibility:hidden}
.kitchen-order-card>footer{display:grid;place-items:center;padding:0 8px 6px;color:#9db5be;font-size:10px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kitchen-empty-state{grid-column:1/-1;min-height:250px;display:grid;place-items:center;align-content:center;gap:6px;border:1px dashed rgba(89,186,216,.17);border-radius:18px;color:#78949f;text-align:center}.kitchen-empty-state>span{display:grid;place-items:center;width:58px;height:58px;border-radius:19px;background:rgba(59,178,207,.10);color:#65d8ee;font-size:26px}.kitchen-empty-state h3{margin:0;color:#cfe2e8;font-size:18px}.kitchen-empty-state p{margin:0;max-width:520px;font:13px/1.7 var(--font-body)}.kitchen-empty-state.is-small{min-height:90px;border:0}
.kitchen-dialog{position:relative;width:min(760px,calc(100vw - 26px));max-height:min(88vh,800px);padding:24px 20px 20px;border:1px solid rgba(89,190,219,.20);border-radius:25px;background:linear-gradient(155deg,#0a2c41,#061d2f 58%,#041725);color:#edf8fb;box-shadow:0 34px 85px rgba(0,0,0,.55)}.kitchen-dialog::backdrop{background:rgba(0,7,12,.76);backdrop-filter:blur(9px)}.kitchen-dialog-head{display:grid;justify-items:center;gap:2px;text-align:center;padding:0 52px 14px;border-bottom:1px solid rgba(255,255,255,.07)}.kitchen-dialog-head>span{color:#65d8ee;font-size:11px}.kitchen-dialog-head h2{margin:0;color:#fff;font-size:26px}.kitchen-dialog-head small{color:#7f9ba6;font-size:10px}.kitchen-order-list{display:grid;gap:6px;margin-top:13px}.kitchen-item-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;min-height:55px;padding:8px 10px;border:1px solid rgba(86,177,206,.12);border-radius:13px;background:rgba(3,20,32,.40)}.kitchen-item-row strong{font-size:15px;color:#eef8fa}.kitchen-item-row>span{color:#d8edf2;font-size:14px;font-weight:900}.kitchen-item-row em{min-width:50px;padding:4px 7px;border-radius:9px;background:rgba(60,199,143,.15);color:#7ce7ba;font-style:normal;font-size:9px;text-align:center}.kitchen-item-row.is-added{border-color:rgba(64,221,153,.34);background:linear-gradient(135deg,rgba(24,113,78,.30),rgba(3,20,32,.40))}.kitchen-item-row.is-reduced,.kitchen-item-row.is-removed{border-color:rgba(255,88,110,.30);background:linear-gradient(135deg,rgba(120,25,43,.25),rgba(3,20,32,.40))}.kitchen-item-row.is-reduced em,.kitchen-item-row.is-removed em{background:rgba(204,42,68,.22);color:#ff9aaa}.kitchen-order-note{margin-top:10px;padding:10px 12px;border:1px solid rgba(237,198,82,.22);border-radius:12px;background:rgba(124,94,26,.13);color:#efd983;font:12px/1.7 var(--font-body)}.kitchen-dialog-action{display:grid;place-items:center;margin-top:14px}.kitchen-dialog-action .kitchen-order-card__action{width:min(310px,100%);height:48px;font-size:14px}.kitchen-dialog-status{min-width:200px;padding:10px 14px;border-radius:12px;background:rgba(56,172,132,.15);color:#85e8bd;text-align:center;font-weight:900}
.kitchen-time-dialog{width:min(620px,calc(100vw - 26px))}.kitchen-time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:17px}.kitchen-time-grid button{min-height:118px;border:1px solid rgba(76,200,228,.24);border-radius:17px;background:linear-gradient(145deg,rgba(19,112,140,.34),rgba(7,37,55,.68));color:#eefbfe;font-family:var(--font-ui);display:grid;place-content:center;gap:2px;cursor:pointer;box-shadow:0 10px 22px rgba(0,0,0,.12)}.kitchen-time-grid button>b{font-size:31px;color:#f2d369}.kitchen-time-grid button>span{font-size:12px;color:#b7ccd4}.kitchen-time-grid button:hover{transform:translateY(-2px);border-color:#5bd9ef}.kitchen-time-grid button:disabled{opacity:.5;cursor:wait}

/* Kitchen light theme keeps the same geometry and only changes the palette. */
.kitchen-body.is-light{background:linear-gradient(145deg,#62c9c0 0%,#78bfd0 52%,#9278c8 100%);color:#071a22}
.kitchen-body.is-light :is(.kitchen-command-bar,.kitchen-orders-panel,.kitchen-dialog){background:linear-gradient(145deg,rgba(84,201,193,.90),rgba(111,184,210,.88) 54%,rgba(145,117,201,.86));border:1px solid #101a20;box-shadow:0 14px 30px rgba(6,18,24,.22)}
.kitchen-body.is-light .kitchen-nav-card{background:linear-gradient(145deg,#59c7be,#77acd0 55%,#8e75c7);border:1px solid #101a20;color:#071a22}.kitchen-body.is-light .kitchen-nav-card>b,.kitchen-body.is-light .kitchen-nav-card>strong,.kitchen-body.is-light .kitchen-command-copy h1,.kitchen-body.is-light .kitchen-command-copy span,.kitchen-body.is-light .kitchen-command-copy small,.kitchen-body.is-light .kitchen-section-head h2,.kitchen-body.is-light .kitchen-section-head span,.kitchen-body.is-light .kitchen-section-head p{color:#071a22}.kitchen-body.is-light .kitchen-nav-card.is-active{background:linear-gradient(135deg,#31c9ca,#7b70d0);border-color:#0c252e;box-shadow:inset -4px 0 0 #0b6574,0 8px 18px rgba(5,20,27,.18)}
.kitchen-body.is-light .kitchen-order-card{background:linear-gradient(150deg,#55c6bd,#6fa8cf 54%,#8a73c6);border-color:#111b22;box-shadow:inset -4px 0 0 var(--kitchen-accent),0 10px 22px rgba(6,20,27,.24)}.kitchen-body.is-light .kitchen-order-card__select>strong,.kitchen-body.is-light .kitchen-order-card__select>small,.kitchen-body.is-light .kitchen-order-card>footer,.kitchen-body.is-light .kitchen-order-card__source{color:#071a22}.kitchen-body.is-light .kitchen-order-card__timer>i{background:rgba(3,22,28,.18)}.kitchen-body.is-light .kitchen-empty-state{border-color:rgba(10,30,37,.50);color:#133741}.kitchen-body.is-light .kitchen-empty-state h3{color:#071a22}.kitchen-body.is-light .kitchen-dialog::backdrop{background:rgba(2,12,18,.52);backdrop-filter:blur(10px)}.kitchen-body.is-light .kitchen-dialog-head h2,.kitchen-body.is-light .kitchen-dialog-head span,.kitchen-body.is-light .kitchen-dialog-head small{color:#071a22}.kitchen-body.is-light .kitchen-item-row{background:linear-gradient(145deg,rgba(91,202,195,.68),rgba(142,118,200,.58));border-color:#152229}.kitchen-body.is-light .kitchen-item-row strong,.kitchen-body.is-light .kitchen-item-row>span{color:#071a22}.kitchen-body.is-light .kitchen-time-grid button{background:linear-gradient(145deg,#50c7be,#8077cb);border-color:#101a20;color:#071a22}.kitchen-body.is-light .kitchen-time-grid button>b,.kitchen-body.is-light .kitchen-time-grid button>span{color:#071a22}

/* Manager restaurant kitchen-status layer and countdown. */
.restaurant-table-card{height:220px;min-height:220px;max-height:220px;grid-template-rows:120px 38px 32px 30px}
.restaurant-table-card__kitchen-timer{height:32px;display:grid;align-content:center;gap:3px;padding:1px 9px}.restaurant-table-card__kitchen-timer>span{text-align:center;color:#eaca5d;font-size:9px;font-weight:900}.restaurant-table-card__kitchen-timer>i{display:block;height:5px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.06)}.restaurant-table-card__kitchen-timer>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#e9c14f,#44d8b3);transition:width .8s linear}.restaurant-table-card__kitchen-timer.is-late>span{color:#ff7d91}.restaurant-table-card__kitchen-timer.is-late>i>b{background:#db3f5c}.restaurant-table-card__kitchen-timer.is-empty{visibility:hidden}.restaurant-table-card.is-kitchen-new{border-color:#ff5975;box-shadow:inset -4px 0 0 #ff4969,0 10px 24px rgba(0,0,0,.17);animation:restaurantKitchenNewPulse 1.15s ease-in-out infinite}.restaurant-table-card.is-kitchen-ready{border-color:#48dfa6;box-shadow:inset -4px 0 0 #37d397,0 10px 24px rgba(0,0,0,.17)}.restaurant-table-card.is-kitchen-preparing{border-color:#e6bd52;box-shadow:inset -4px 0 0 #e2b743,0 10px 24px rgba(0,0,0,.17)}@keyframes restaurantKitchenNewPulse{0%,100%{filter:none}50%{filter:brightness(1.16)}}.restaurant-table-card.is-kitchen-new .restaurant-table-card__state{background:rgba(191,35,61,.26);color:#ff9bad}.restaurant-table-card.is-kitchen-preparing .restaurant-table-card__state{background:rgba(181,137,34,.22);color:#ffe28b}.restaurant-table-card.is-kitchen-ready .restaurant-table-card__state{background:rgba(37,165,112,.24);color:#92f2c6}.restaurant-body.is-light .restaurant-table-card__kitchen-timer>span{color:#513a00}.restaurant-body.is-light .restaurant-table-card__kitchen-timer>i{background:rgba(5,25,31,.18)}

@media(max-width:1180px){.kitchen-command-bar{grid-template-columns:1fr;grid-template-areas:"copy" "right" "left"}.kitchen-command-cluster{grid-template-columns:repeat(3,minmax(0,1fr))}.kitchen-orders-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:820px){.kitchen-shell{width:95vw;padding-top:calc(80px + var(--dashboard-safe-top))}.kitchen-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.kitchen-command-bar{padding:8px;border-radius:19px}.kitchen-command-copy h1{font-size:22px}.kitchen-nav-card{min-height:61px;padding:7px 6px;grid-template-columns:24px minmax(0,1fr) auto}.kitchen-nav-card>span{width:24px;height:24px}.kitchen-nav-card>b{font-size:10px}.kitchen-nav-card>strong{font-size:15px}.kitchen-section-head{display:grid}.kitchen-section-head p{font-size:11px}.kitchen-time-grid{grid-template-columns:1fr 1fr}.kitchen-order-card{height:244px;grid-template-rows:129px 41px 41px 33px}.restaurant-table-card{height:214px;min-height:214px;max-height:214px;grid-template-rows:116px 36px 31px 31px}}
@media(max-width:480px){.kitchen-command-cluster{gap:4px}.kitchen-nav-card{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:1px;min-height:67px}.kitchen-nav-card>span{display:none}.kitchen-nav-card>b{font-size:9px}.kitchen-nav-card>strong{font-size:14px}.kitchen-orders-grid{grid-template-columns:1fr 1fr}.kitchen-order-card{height:232px;grid-template-rows:123px 39px 39px 31px}.kitchen-order-card__sticker{width:78px;height:50px}.kitchen-order-card__select>strong{font-size:15px}.kitchen-dialog{padding:18px 11px 14px}.kitchen-dialog-head h2{font-size:21px}.kitchen-item-row{grid-template-columns:minmax(0,1fr) auto}.kitchen-item-row em{grid-column:1/-1;justify-self:start}.kitchen-time-grid button{min-height:94px}}


/* ===== v16.5.94 — restaurant command density, manager/kitchen card parity ===== */
/* Summary values show only guests currently attached to open orders; typography is uniform. */
.restaurant-command-bar .restaurant-summary-card span,
.restaurant-command-bar .restaurant-summary-card strong,
.restaurant-command-bar .restaurant-summary-action strong{
  font-size:14px;
  font-weight:900;
  line-height:1.15;
}
.restaurant-command-bar .restaurant-summary-card strong{direction:rtl}

/* Tablet/mobile: management actions first, then operational stats; four cards on every row. */
@media(max-width:1200px){
  .restaurant-command-bar{
    grid-template-columns:1fr;
    grid-template-areas:"copy" "left" "right";
    gap:7px;
  }
  .restaurant-command-cluster{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  .restaurant-command-cluster.is-left{grid-area:left}
  .restaurant-command-cluster.is-right{grid-area:right}
  .restaurant-command-copy{grid-area:copy;padding:2px 0 4px}
  .restaurant-command-bar .restaurant-summary-card{min-height:58px;padding:7px 8px}
  .restaurant-command-bar .restaurant-summary-card>div{display:flex;align-items:center;justify-content:space-between;gap:5px}
  .restaurant-command-bar .restaurant-summary-value-card>div,
  .restaurant-command-bar .restaurant-summary-action>div{justify-content:center}
  .restaurant-command-bar .restaurant-summary-card span,
  .restaurant-command-bar .restaurant-summary-card strong,
  .restaurant-command-bar .restaurant-summary-action strong{font-size:13px}
}
@media(max-width:560px){
  .restaurant-shell{width:96vw}
  .restaurant-command-bar{padding:7px;gap:5px}
  .restaurant-command-cluster{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .restaurant-command-bar .restaurant-summary-card{min-height:54px;padding:5px 4px;border-radius:12px}
  .restaurant-command-bar .restaurant-summary-card>div{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:2px}
  .restaurant-command-bar .restaurant-summary-card span,
  .restaurant-command-bar .restaurant-summary-card strong,
  .restaurant-command-bar .restaurant-summary-action strong{font-size:11px;white-space:normal;text-align:center;justify-self:center}
  .restaurant-command-bar .restaurant-summary-value-card>div,
  .restaurant-command-bar .restaurant-summary-action>div{display:grid;place-items:center}
}

/* Manager seat cards now use the same four-zone geometry as the kitchen cards. */
.restaurant-table-card{
  height:252px;
  min-height:252px;
  max-height:252px;
  grid-template-rows:134px 43px 42px 33px;
  border-radius:20px;
  overflow:hidden;
}
.restaurant-table-card__select{
  height:134px;
  min-height:134px;
  max-height:134px;
  padding:9px 9px 0;
  border-radius:18px 18px 0 0;
  display:grid;
  justify-items:center;
  align-content:start;
  gap:0;
}
.restaurant-table-card__state{
  justify-self:start;
  align-self:start;
  margin:0;
  padding:4px 10px;
  border-radius:999px;
  font-size:10.5px;
  font-weight:900;
  line-height:1.2;
}
.restaurant-table-card__sticker{width:104px;height:64px;margin-top:4px}
.restaurant-table-card__sticker>b{transform:translateY(-15px)}
.restaurant-table-card__action-row{height:43px;min-height:43px;padding:4px 9px;display:grid;place-items:center}
.restaurant-table-card__action{width:min(150px,88%);height:35px;min-height:35px;min-width:0;font-size:11px;font-weight:900}
.restaurant-table-card__kitchen-timer{height:42px;min-height:42px;display:grid;align-content:center;gap:4px;padding:2px 12px}
.restaurant-table-card__kitchen-timer>span{text-align:center;color:#f0d36a;font-size:12px;font-weight:900;line-height:1.1}
.restaurant-table-card__kitchen-timer>i{height:6px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.065)}
.restaurant-table-card__kitchen-timer>i>b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f0c852,#42d7b3);transition:width .8s linear}
.restaurant-table-card__footer{height:33px;min-height:33px;margin:0;padding:0 8px 5px;border:0;display:grid;place-items:center;direction:rtl}
.restaurant-table-card__bottom-value,
.restaurant-table-card__bottom-value.is-live{width:100%;margin:0;text-align:center;justify-self:center;align-self:center;line-height:1;font-weight:900}
.restaurant-table-card__bottom-value{font-size:11px;color:#a8c1cb}
.restaurant-table-card__bottom-value.is-live{font-size:21px;color:#69efb8;transform:translateY(-1px)}

/* Kitchen table/bed drawing matches manager exactly; only units keep the house tile. */
.kitchen-order-card__sticker{position:relative;width:104px;height:64px;display:grid;place-items:center;margin-top:4px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.22))}
.kitchen-order-card__sticker::before,.kitchen-order-card__sticker::after{content:"";position:absolute;z-index:0}
.kitchen-order-card.is-table .kitchen-order-card__sticker::before{
  left:13px;right:13px;top:11px;height:39px;border-radius:50% 50% 38% 38%;
  background:linear-gradient(180deg,#a66636 0%,#844925 48%,#69391f 100%);box-shadow:inset 0 3px 0 rgba(255,207,153,.25),0 7px 8px rgba(0,0,0,.16)
}
.kitchen-order-card.is-table .kitchen-order-card__sticker::after{
  left:18px;right:18px;top:7px;height:23px;border-radius:50%;background:linear-gradient(180deg,#c8834c,#9a5a31);border:1px solid rgba(255,214,176,.14)
}
.kitchen-order-card.is-bed .kitchen-order-card__sticker::before{
  left:6px;right:6px;top:8px;height:40px;border-radius:23px 23px 15px 15px;
  background:linear-gradient(180deg,#a48679 0%,#8a675d 58%,#735047 100%);box-shadow:inset 0 4px 0 rgba(255,224,207,.22),0 7px 8px rgba(0,0,0,.17)
}
.kitchen-order-card.is-bed .kitchen-order-card__sticker::after{
  left:10px;right:10px;top:4px;height:29px;border-radius:24px 24px 13px 13px;background:linear-gradient(180deg,#a9897c,#8f6d62);border:1px solid rgba(255,226,212,.15)
}
.kitchen-order-card__sticker>i{position:absolute;z-index:0;bottom:0;width:10px;height:24px;border-radius:3px 3px 6px 6px;background:#56301f}
.kitchen-order-card.is-bed .kitchen-order-card__sticker>i{background:#51342f;height:23px;width:9px}
.kitchen-order-card__sticker>i:first-child{right:24px;transform:rotate(-8deg)}
.kitchen-order-card__sticker>i:nth-child(2){left:24px;transform:rotate(8deg)}
.kitchen-order-card__sticker>b{position:relative;z-index:3;color:#fff;font-size:31px;font-weight:900;line-height:1;transform:translateY(-15px);text-shadow:0 4px 10px rgba(0,0,0,.55)}
.kitchen-order-card.is-unit .kitchen-order-card__sticker{width:92px;height:57px;margin-top:5px;filter:none}
.kitchen-order-card.is-unit .kitchen-order-card__sticker::before{left:13px;right:13px;top:11px;height:34px;border-radius:11px;background:linear-gradient(145deg,#b28a35,#74591f)}
.kitchen-order-card.is-unit .kitchen-order-card__sticker::after{display:none}
.kitchen-order-card.is-unit .kitchen-order-card__sticker>i{display:none}
.kitchen-order-card.is-unit .kitchen-order-card__sticker>b{font-size:25px;transform:none;text-shadow:none}
.kitchen-order-card__select>small{margin-top:1px}

@media(max-width:820px){
  .restaurant-table-card{height:244px;min-height:244px;max-height:244px;grid-template-rows:129px 41px 41px 33px}
  .restaurant-table-card__select{height:129px;min-height:129px;max-height:129px}
}
@media(max-width:480px){
  .restaurant-table-card{height:232px;min-height:232px;max-height:232px;grid-template-rows:123px 39px 39px 31px}
  .restaurant-table-card__select{height:123px;min-height:123px;max-height:123px}
  .restaurant-table-card__state{font-size:10px;padding:4px 8px}
  .restaurant-table-card__sticker,.kitchen-order-card__sticker{width:92px;height:58px}
  .restaurant-table-card__bottom-value.is-live{font-size:19px}
}


/* ===== Restaurant layout/timing refinement ===== */
/* Use almost the entire desktop viewport. Browser zoom must not force the app into a narrow 1540px ceiling. */
.restaurant-shell{
  width:min(1880px,99vw);
}
.restaurant-workspace{
  gap:8px;
}

/* Header command cards: exactly four per row on tablet/mobile, never let legacy :last-child span a row. */
@media(max-width:1200px){
  .restaurant-command-cluster{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  .restaurant-command-cluster>.restaurant-summary-card,
  .restaurant-command-cluster>.restaurant-summary-card:last-child{
    grid-column:auto;
    min-width:0;
  }
  .restaurant-command-bar .restaurant-command-cluster .restaurant-summary-card span,
  .restaurant-command-bar .restaurant-command-cluster .restaurant-summary-card strong,
  .restaurant-command-bar .restaurant-command-cluster .restaurant-summary-action strong{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}
@media(max-width:560px){
  .restaurant-shell{width:98vw}
  .restaurant-command-bar{padding:6px;gap:4px}
  .restaurant-command-cluster{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .restaurant-command-cluster>.restaurant-summary-card,
  .restaurant-command-cluster>.restaurant-summary-card:last-child{grid-column:auto}
  .restaurant-command-bar .restaurant-summary-card{min-height:52px;padding:5px 3px}
  .restaurant-command-bar .restaurant-command-cluster .restaurant-summary-card span,
  .restaurant-command-bar .restaurant-command-cluster .restaurant-summary-card strong,
  .restaurant-command-bar .restaurant-command-cluster .restaurant-summary-action strong{
    font-size:9.5px;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}

/* Manager table/bed cards: same visual rhythm as kitchen, with stable one-line actions and centered furniture. */
.restaurant-table-card{
  box-sizing:border-box;
  height:258px;
  min-height:258px;
  max-height:258px;
  grid-template-rows:126px 40px 38px 46px;
  align-content:start;
}
.restaurant-table-card__select{
  box-sizing:border-box;
  height:126px;
  min-height:126px;
  max-height:126px;
  padding:8px 9px 0;
  justify-items:center;
  align-content:start;
}
.restaurant-table-card__sticker{
  justify-self:center;
  align-self:center;
  margin:3px auto 0;
  left:auto;
  right:auto;
}
.restaurant-table-card__action-row{
  box-sizing:border-box;
  height:40px;
  min-height:40px;
  padding:3px 8px;
}
.restaurant-table-card__action{
  width:calc(100% - 16px);
  max-width:156px;
  height:34px;
  min-height:34px;
  padding:0 8px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  line-height:1;
}
.restaurant-table-card__kitchen-timer{
  box-sizing:border-box;
  width:100%;
  height:38px;
  min-height:38px;
  padding:1px 10px 2px;
  gap:4px;
}
.restaurant-table-card__kitchen-timer>span{
  font-size:11px;
  line-height:1.1;
  white-space:nowrap;
}
.restaurant-table-card__kitchen-timer>i{
  width:100%;
  height:6px;
  justify-self:stretch;
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}
.restaurant-table-card__footer{
  box-sizing:border-box;
  height:46px;
  min-height:46px;
  padding:2px 8px 10px;
  align-content:start;
  overflow:visible;
}
.restaurant-table-card__bottom-value,
.restaurant-table-card__bottom-value.is-live{
  align-self:start;
  line-height:1.12;
  transform:none;
}
.restaurant-table-card__bottom-value.is-live{
  font-size:22px;
  padding-top:1px;
}

/* Let the order panel use the available screen height before the item list starts scrolling. */
.restaurant-order-panel{
  padding-bottom:8px;
}
.restaurant-order-content{
  gap:8px;
}
.restaurant-cart-list{
  max-height:min(520px,max(270px,calc(100vh - 500px)));
}
.restaurant-order-actions--final{
  margin:0;
  gap:6px;
}
#restaurantOrderStatus:empty{display:none}
#restaurantOrderStatus:not(:empty){min-height:18px;margin:2px 0 0}

@media(max-width:980px){
  .restaurant-order-panel{max-height:none}
  .restaurant-cart-list{max-height:min(52vh,520px)}
}
@media(max-width:720px){
  .restaurant-table-card{
    height:246px;
    min-height:246px;
    max-height:246px;
    grid-template-rows:120px 39px 37px 44px;
  }
  .restaurant-table-card__select{height:120px;min-height:120px;max-height:120px}
  .restaurant-table-card__action-row{height:39px;min-height:39px}
  .restaurant-table-card__kitchen-timer{height:37px;min-height:37px}
  .restaurant-table-card__footer{height:44px;min-height:44px;padding-bottom:9px}
  .restaurant-cart-list{max-height:min(50vh,460px)}
}
@media(max-width:480px){
  .restaurant-table-card{
    height:238px;
    min-height:238px;
    max-height:238px;
    grid-template-rows:116px 38px 36px 42px;
  }
  .restaurant-table-card__select{height:116px;min-height:116px;max-height:116px}
  .restaurant-table-card__action-row{height:38px;min-height:38px}
  .restaurant-table-card__kitchen-timer{height:36px;min-height:36px;padding-inline:7px}
  .restaurant-table-card__footer{height:42px;min-height:42px;padding:1px 6px 9px}
  .restaurant-table-card__bottom-value.is-live{font-size:20px}
}

/* Kitchen countdown follows the same elapsed-time convention: starts empty and fills to 100%. */
.kitchen-order-card__timer>i{
  background:rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035);
}


/* ===== v16.5.97 — manager seat-card centering + full-card hit target ===== */
.restaurant-table-card{
  cursor:pointer;
}
.restaurant-table-card__select{
  position:relative;
}
/* Keep the wooden table/bed art geometrically centered regardless of the state pill. */
.restaurant-table-card__sticker{
  position:absolute;
  left:50%;
  right:auto;
  top:60%;
  margin:0;
  transform:translate(-50%,-50%);
  justify-self:auto;
  align-self:auto;
}
/* Button text must always be complete; the button grows with its label up to the card width. */
.restaurant-table-card__action{
  width:auto;
  min-width:min(112px,calc(100% - 12px));
  max-width:calc(100% - 12px);
  padding-inline:13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  overflow:visible;
  text-overflow:clip;
  line-height:1;
}
.restaurant-table-card__action-row{
  overflow:visible;
}
@media(max-width:720px){
  .restaurant-table-card__action{
    min-width:min(104px,calc(100% - 10px));
    max-width:calc(100% - 10px);
    padding-inline:10px;
    font-size:10.5px;
  }
}
@media(max-width:480px){
  .restaurant-table-card__action{
    min-width:min(96px,calc(100% - 8px));
    max-width:calc(100% - 8px);
    padding-inline:8px;
    font-size:10px;
  }
}

/* v16.5.100 — manager-controlled restaurant/kitchen alert sounds */
.manager-settings-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
.restaurant-alert-settings-status{min-height:24px;margin:-4px 0 12px;color:var(--manager-muted);font:14px var(--font-body)}
.restaurant-alert-settings-status[data-tone="success"]{color:#6ce2a4}
.restaurant-alert-settings-status[data-tone="error"]{color:#ff7f8f}
.restaurant-alert-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.restaurant-alert-channel-card{--alert-accent:#58d8e8;padding:16px;border:1px solid color-mix(in srgb,var(--alert-accent) 34%,var(--manager-line));border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,var(--alert-accent) 7%,var(--manager-card)),color-mix(in srgb,#8c66d8 8%,var(--manager-card)));box-shadow:0 14px 30px rgba(0,0,0,.12);transition:opacity .18s ease,border-color .18s ease}
.restaurant-alert-channel-card[data-alert-channel="kitchen"]{--alert-accent:#f2c95a}
.restaurant-alert-channel-card.is-muted{opacity:.68}
.restaurant-alert-channel-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}
.restaurant-alert-channel-card>header>div{min-width:0;display:grid;gap:2px}
.restaurant-alert-channel-card>header span{color:var(--alert-accent);font-size:12px;font-weight:800}
.restaurant-alert-channel-card h3{margin:0;color:var(--manager-text);font-size:24px}
.restaurant-alert-channel-card>header small{color:var(--manager-muted);font:13px/1.5 var(--font-body)}
.restaurant-alert-switch{display:grid;grid-template-columns:42px auto;align-items:center;gap:7px;cursor:pointer;flex:0 0 auto}
.restaurant-alert-switch input{position:absolute;opacity:0;pointer-events:none}
.restaurant-alert-switch span{position:relative;width:42px;height:23px;border:1px solid var(--manager-line);border-radius:999px;background:#142536;transition:.18s ease}
.restaurant-alert-switch span::after{content:"";position:absolute;top:3px;right:3px;width:15px;height:15px;border-radius:50%;background:#718291;transition:.18s ease}
.restaurant-alert-switch input:checked+span{border-color:rgba(74,221,157,.58);background:rgba(25,137,91,.36)}
.restaurant-alert-switch input:checked+span::after{right:22px;background:#55e39e}
.restaurant-alert-switch b{min-width:32px;color:var(--manager-text);font-size:12px}
.restaurant-alert-range,.restaurant-alert-select{display:grid;gap:8px;margin-top:11px;color:var(--manager-text)}
.restaurant-alert-range>span{display:flex;align-items:center;justify-content:space-between;gap:10px}
.restaurant-alert-range b,.restaurant-alert-select>span{font-size:13px}
.restaurant-alert-range strong{color:var(--alert-accent);font-size:14px}
.restaurant-alert-range input{width:100%;accent-color:var(--alert-accent);cursor:pointer}
.restaurant-alert-select select{width:100%;min-height:45px;padding:0 12px;border:1px solid var(--manager-line);border-radius:13px;background:var(--manager-panel);color:var(--manager-text);font-family:var(--font-ui)}
.restaurant-alert-preview{width:100%;min-height:43px;margin-top:12px;border:1px solid color-mix(in srgb,var(--alert-accent) 40%,var(--manager-line));border-radius:13px;background:color-mix(in srgb,var(--alert-accent) 11%,var(--manager-card));color:var(--manager-text);font-family:var(--font-ui);font-weight:800;cursor:pointer}
.restaurant-alert-library{margin-top:14px;padding:15px;border:1px solid var(--manager-line);border-radius:21px;background:color-mix(in srgb,var(--manager-panel) 94%,transparent)}
.restaurant-alert-library-head h3{margin:2px 0 3px;color:var(--manager-text);font-size:21px}
.restaurant-alert-library-head span{color:#e2bd51;font-size:12px}
.restaurant-alert-library-head p{margin:0;color:var(--manager-muted);font:13px/1.5 var(--font-body)}
.restaurant-alert-upload{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(250px,1.4fr) 130px;gap:8px;align-items:end;margin-top:13px}
.restaurant-alert-upload label{display:grid;gap:6px;color:var(--manager-text);font-size:12px}
.restaurant-alert-upload input[type="text"],.restaurant-alert-upload input[type="file"]{width:100%;min-height:43px;border:1px solid var(--manager-line);border-radius:12px;background:var(--manager-card);color:var(--manager-text);padding:9px 11px;font-family:var(--font-ui)}
.restaurant-alert-upload input[type="file"]{padding:7px}
.restaurant-alert-upload button,.restaurant-alert-save-row button{min-height:43px;border:1px solid rgba(70,220,151,.38);border-radius:12px;background:linear-gradient(145deg,#158f63,#22b87d);color:#fff;font-family:var(--font-ui);font-weight:900;cursor:pointer}
.restaurant-alert-upload button:disabled,.restaurant-alert-save-row button:disabled{opacity:.55;cursor:wait}
.restaurant-alert-sound-list{display:grid;gap:7px;margin-top:12px}
.restaurant-alert-library-empty{padding:13px;border:1px dashed var(--manager-line);border-radius:12px;color:var(--manager-muted);text-align:center;font:13px var(--font-body)}
.restaurant-alert-sound-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--manager-line);border-radius:13px;background:color-mix(in srgb,#52cdda 5%,var(--manager-card))}
.restaurant-alert-sound-item>div:first-child{min-width:0;display:grid;grid-template-columns:30px minmax(0,1fr);column-gap:8px;align-items:center}
.restaurant-alert-sound-item>div:first-child>span{grid-row:1/3;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:rgba(75,202,222,.12);color:#71dcec}
.restaurant-alert-sound-item b{color:var(--manager-text);font-size:13px}
.restaurant-alert-sound-item small{min-width:0;color:var(--manager-muted);font-size:10px;direction:ltr;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.restaurant-alert-sound-actions{display:flex;gap:6px;flex:0 0 auto}
.restaurant-alert-sound-actions button{min-width:62px;min-height:32px;border:1px solid var(--manager-line);border-radius:9px;background:rgba(73,201,220,.08);color:var(--manager-text);font-family:var(--font-ui);cursor:pointer}
.restaurant-alert-sound-actions button.is-danger{border-color:rgba(255,81,104,.26);background:rgba(139,26,44,.22);color:#ff8796}
.restaurant-alert-save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:13px;border-top:1px solid var(--manager-line)}
.restaurant-alert-save-row span{color:var(--manager-muted);font:13px var(--font-body)}
.restaurant-alert-save-row button{min-width:190px}
.manager-body.is-light .restaurant-alert-channel-card,.manager-body.is-light .restaurant-alert-library,.manager-body.is-light .restaurant-alert-sound-item{border-color:rgba(10,29,36,.72);background:linear-gradient(135deg,#63cec6,#73bbd5 58%,#9b7ad2)}
.manager-body.is-light .restaurant-alert-channel-card h3,.manager-body.is-light .restaurant-alert-channel-card>header small,.manager-body.is-light .restaurant-alert-switch b,.manager-body.is-light .restaurant-alert-range,.manager-body.is-light .restaurant-alert-select,.manager-body.is-light .restaurant-alert-library-head h3,.manager-body.is-light .restaurant-alert-library-head p,.manager-body.is-light .restaurant-alert-sound-item b,.manager-body.is-light .restaurant-alert-sound-item small,.manager-body.is-light .restaurant-alert-save-row span{color:#071820;opacity:1}
.manager-body.is-light .restaurant-alert-select select,.manager-body.is-light .restaurant-alert-upload input[type="text"],.manager-body.is-light .restaurant-alert-upload input[type="file"]{border-color:rgba(10,29,36,.65);background:rgba(81,193,190,.54);color:#071820}
@media(max-width:1050px){.manager-settings-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-alert-upload{grid-template-columns:1fr 1fr}.restaurant-alert-upload button{grid-column:1/-1}}
@media(max-width:720px){.manager-settings-nav{grid-template-columns:1fr 1fr}.restaurant-alert-settings-grid{grid-template-columns:1fr}.restaurant-alert-channel-card{padding:12px;border-radius:18px}.restaurant-alert-channel-card h3{font-size:20px}.restaurant-alert-upload{grid-template-columns:1fr}.restaurant-alert-upload button{grid-column:auto}.restaurant-alert-save-row{align-items:stretch;flex-direction:column}.restaurant-alert-save-row button{width:100%}.restaurant-alert-sound-item{align-items:flex-start;flex-direction:column}.restaurant-alert-sound-actions{width:100%}.restaurant-alert-sound-actions button{flex:1}}

/* v16.5.103 — manager manual reception / companion roster / A4 preview */
.manager-booking-dialog{width:min(1360px,calc(100vw - 24px));max-height:96dvh;overflow:auto}
.manager-booking-dialog .manager-booking-layout{grid-template-columns:minmax(0,1.08fr) minmax(470px,.92fr)}

.manual-unit-choice.is-selected{isolation:isolate;overflow:hidden;border-color:transparent;box-shadow:0 0 22px rgba(56,214,220,.34),0 0 34px rgba(153,104,234,.18);transform:translateY(-1px)}
.manual-unit-choice.is-selected::before{content:"";position:absolute;z-index:-2;inset:-120%;background:conic-gradient(from 0deg,#3ee7cf,#35aef1,#a76cf1,#f1c95b,#3ee7cf);animation:manualUnitOrbit 2.6s linear infinite}
.manual-unit-choice.is-selected::after{content:"";position:absolute;z-index:-1;inset:2px;border-radius:12px;background:linear-gradient(155deg,color-mix(in srgb,var(--choice-color) 6%,var(--manager-card)),var(--manager-card))}
.manual-unit-choice.is-selected>*{position:relative;z-index:1}
@keyframes manualUnitOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.manual-unit-choice.is-selected::before{animation:none}}

.manager-manual-counter-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.manual-guest-card,.manual-guest-total-card{min-height:118px}
.manual-guest-total-card .booking-price-card__head strong{font-size:20px}
.manual-guest-total-card .booking-price-card__head small{font-size:11px;line-height:1.4}
.manual-guest-total-card>b{display:block;margin-top:8px;font-size:28px;text-align:center}
.manual-booking-notes{margin-top:2px}

.manual-payment{display:grid;gap:10px;padding:12px;border:1px solid var(--manager-line);border-radius:18px;background:rgba(255,255,255,.02)}
.manual-payment__head{display:flex;align-items:center;justify-content:space-between;gap:10px}.manual-payment__head>div{display:grid;gap:2px}.manual-payment__head span{color:#e9c75f;font-size:11px}.manual-payment__head b{font-size:13px;color:var(--manager-text)}.manual-payment__head small{color:var(--manager-muted);white-space:nowrap}
.manual-payment-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.manual-payment-totals .booking-price-card{min-height:118px;height:118px;padding:14px 16px}.manual-payment-totals .booking-price-card__head strong{font-size:20px}.manual-payment-totals .booking-price-card__head small{font-size:11px;line-height:1.45}.manual-payment-totals .booking-price-card>b{font-size:28px;text-align:center;width:100%}
.booking-price-card--paid{background:linear-gradient(145deg,rgba(10,88,129,.42),rgba(8,49,77,.36));border-color:rgba(94,181,255,.23)}
.booking-price-card--remaining{background:linear-gradient(145deg,rgba(122,78,16,.40),rgba(71,46,8,.34));border-color:rgba(236,194,88,.22)}
.manual-companions{display:grid;gap:8px;padding:10px;border:1px solid var(--manager-line);border-radius:16px;background:rgba(255,255,255,.018);min-width:0}
.manual-companions__head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.manual-companions__head>div{display:grid;gap:2px}.manual-companions__head span{color:#e9c75f;font-size:11px}.manual-companions__head b{font-size:13px;color:var(--manager-text)}.manual-companions__head small{color:var(--manager-muted);white-space:nowrap}
.manual-companion-list{display:grid;gap:7px;max-height:none;overflow:visible;padding-left:0}
.manual-companion-row{display:grid;grid-template-columns:42px 1.3fr .95fr .95fr 1.25fr 1fr .8fr;gap:6px;align-items:end;padding:7px;border:1px solid color-mix(in srgb,var(--manager-line) 80%,transparent);border-radius:13px;background:rgba(2,20,33,.28);min-width:0}
.manual-companion-row__index{display:grid;place-items:center;height:38px;border-radius:10px;background:rgba(52,188,174,.12);color:#77ddca;font-weight:900;font-size:12px}
.manual-companion-field{display:grid;gap:3px;min-width:0}.manual-companion-field>span{font-size:9px;color:var(--manager-muted)}
.manual-companion-field input,.manual-companion-field select{min-width:0;width:100%;height:38px;border:1px solid var(--manager-line);border-radius:10px;background:var(--manager-input);color:var(--manager-text);padding:0 7px;font-family:var(--font-ui);font-size:11px}
.manual-companion-field--name{grid-column:auto}.manual-companion-field--birth{min-width:0}
.manual-companion-birth{display:grid;grid-template-columns:.7fr .7fr 1fr;gap:4px;direction:rtl}.manual-companion-birth input{text-align:center;padding:0 3px}
.manual-companion-empty{padding:9px;text-align:center;color:var(--manager-muted);font:14px var(--font-body)}

.manager-acceptance-dialog{width:min(1240px,97vw);max-height:97dvh;padding:18px;border:1px solid var(--manager-line);border-radius:25px;background:var(--manager-card);color:var(--manager-text)}
.manager-acceptance-dialog::backdrop{background:rgba(0,8,15,.72);backdrop-filter:blur(8px)}
.manager-acceptance-dialog header{text-align:center;margin:0 0 10px}.manager-acceptance-dialog header span{color:#dcbf5a;font-size:12px}.manager-acceptance-dialog header h2{margin:3px 0 0;font-size:24px}
.manager-acceptance-preview-wrap{height:min(76dvh,820px);overflow:hidden;border:1px solid var(--manager-line);border-radius:17px;background:#dfe5e7;padding:4px;display:flex}
.manager-acceptance-preview-wrap iframe{display:block;width:100%;height:100%;border:0;border-radius:13px;background:#fff}
.manager-acceptance-actions{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:10px;margin-top:10px}.manager-acceptance-actions button{min-height:44px}

.manager-body.is-light .manual-payment,.manager-body.is-light .manual-companions,.manager-body.is-light .manual-companion-row{background:linear-gradient(145deg,rgba(75,199,193,.52),rgba(145,118,205,.42));border-color:#14232b}
.manager-body.is-light .manual-companion-field input,.manager-body.is-light .manual-companion-field select{background:rgba(97,194,196,.62);color:#081c25;border-color:#172a33}
.manager-body.is-light .manual-payment__head b,.manager-body.is-light .manual-companions__head b,.manager-body.is-light .manual-companion-field>span{color:#0a252e;opacity:1}

@media(max-width:1100px){
  .manager-booking-dialog .manager-booking-layout{grid-template-columns:1fr}
  .manager-manual-counter-row,.manual-payment-totals{grid-template-columns:1fr}
  .manual-companion-row{grid-template-columns:38px repeat(2,minmax(0,1fr));align-items:end}
  .manual-companion-field--name,.manual-companion-field--birth{grid-column:2/4}
  .manager-acceptance-actions{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .manual-payment__head{align-items:flex-start;flex-direction:column}
  .manual-companion-row{grid-template-columns:34px 1fr 1fr;padding:6px}
  .manual-companion-row__index{grid-row:span 4;height:100%}
  .manual-companion-field--name,.manual-companion-field--birth{grid-column:2/4}
  .manager-acceptance-dialog{width:calc(100vw - 10px);padding:12px}
  .manager-acceptance-preview-wrap{height:72dvh;padding:3px}
  .manager-acceptance-actions{grid-template-columns:1fr}
}


/* v16.5.104 — compact expandable customer management + hidden scrollbars */
html,body,*{scrollbar-width:none}
*::-webkit-scrollbar{width:0;height:0;display:none}

.manager-home-card__badge--total{right:11px;left:auto;background:#f33861;color:#fff}
.manager-home-card__badge--signup{right:auto;left:11px;background:#11b879;color:#fff;box-shadow:0 0 16px rgba(17,184,121,.48)}

.manager-users-dialog{width:min(1160px,95vw);max-height:91dvh;overflow:hidden}
.manager-users-dialog__head{padding-bottom:13px}
.manager-users-dialog__head h2{margin-bottom:0}
.manager-users-summary{margin:12px 0}
.manager-users-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:62dvh;overflow:auto;padding:2px}
.manager-user-card{padding:0;overflow:hidden;border-radius:19px;transition:border-color .28s ease,box-shadow .28s ease,transform .28s ease;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))}
.manager-user-card:hover{border-color:rgba(126,197,221,.18)}
.manager-user-card.is-expanded{border-color:rgba(192,109,255,.28);box-shadow:0 14px 34px rgba(0,0,0,.14),0 0 0 1px rgba(192,109,255,.04)}
.manager-user-card.is-disabled{opacity:.78;filter:saturate(.7)}
.manager-user-card__head{appearance:none;width:100%;border:0;background:transparent;color:inherit;cursor:pointer;display:grid;grid-template-columns:48px minmax(0,1fr) minmax(104px,.78fr) auto 24px;align-items:center;gap:9px;padding:11px 12px;text-align:right;direction:rtl;border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease}
.manager-user-card.is-expanded .manager-user-card__head{background:rgba(255,255,255,.018);border-bottom-color:rgba(255,255,255,.06)}
.manager-user-avatar{position:relative;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(192,109,255,.28);color:#f3ddff;font-size:20px;font-weight:900;background:linear-gradient(145deg,rgba(192,109,255,.22),rgba(56,194,223,.13));box-shadow:inset 0 0 18px rgba(255,255,255,.025);transition:.28s ease}
.manager-user-avatar.is-reservation{background:linear-gradient(145deg,#d9a72d,#7f6014);border-color:#f2ca58;color:#1b1604;box-shadow:0 0 16px rgba(226,176,48,.25)}
.manager-user-avatar.is-stay{background:linear-gradient(145deg,#18a66e,#076443);border-color:#43da9d;color:#effff7;box-shadow:0 0 18px rgba(32,205,132,.26)}
.manager-user-avatar.is-disabled{background:linear-gradient(145deg,#46505a,#27313a);border-color:#687987;color:#c5d0d5;box-shadow:none}
.manager-user-avatar__online{position:absolute;right:5px;bottom:5px;width:8px;height:8px;border-radius:50%;background:#55f3a6;border:1px solid #dfffee;box-shadow:0 0 10px #55f3a6}
.manager-user-head-name,.manager-user-head-mobile{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-user-head-name{font-size:16px;font-weight:900;color:#eef9fc}
.manager-user-head-mobile{font-size:16px;font-weight:800;color:#b9ced7;direction:ltr;text-align:left}
.manager-user-new-tag{padding:4px 8px;border-radius:99px;background:rgba(255,70,105,.14);border:1px solid rgba(255,70,105,.32);color:#ff9bad;font-size:9px;white-space:nowrap}
.manager-user-chevron{display:grid;place-items:center;width:24px;height:24px;color:#9bb1bc;font-size:20px;transition:transform .3s ease,color .3s ease}
.manager-user-card.is-expanded .manager-user-chevron{transform:rotate(180deg);color:#d59cff}
.manager-user-expand{display:grid;grid-template-rows:0fr;transition:grid-template-rows .38s cubic-bezier(.2,.8,.2,1)}
.manager-user-expand__inner{min-height:0;overflow:hidden;opacity:0;transform:translateY(-7px);padding:0 12px;transition:opacity .25s ease,transform .35s ease,padding .35s ease}
.manager-user-card.is-expanded .manager-user-expand{grid-template-rows:1fr}
.manager-user-card.is-expanded .manager-user-expand__inner{opacity:1;transform:translateY(0);padding:10px 12px 12px}
.manager-user-status-row{display:flex;justify-content:flex-start;margin-bottom:8px}
.manager-user-state{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:10px;font-weight:900;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.04);color:#c8d8df}
.manager-user-state.is-stay{background:rgba(20,165,104,.13);border-color:rgba(61,220,148,.3);color:#73e6b2}
.manager-user-state.is-reservation{background:rgba(218,169,39,.12);border-color:rgba(240,199,82,.28);color:#f2d36b}
.manager-user-state.is-disabled{background:rgba(218,62,82,.10);border-color:rgba(255,89,111,.25);color:#ff9cab}
.manager-user-meta-grid{margin-top:0}
.manager-user-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:9px}
.manager-user-actions button{min-height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#d9e7ec;font-family:var(--font-ui);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s ease}
.manager-user-actions button:hover{transform:translateY(-1px);filter:brightness(1.12)}
.manager-user-actions button span{font-size:17px;line-height:1}.manager-user-actions button b{font-size:10px}
.manager-user-actions .is-edit{border-color:rgba(70,187,235,.22);background:rgba(28,133,181,.10);color:#83d7f6}
.manager-user-actions .is-disable,.manager-user-actions .is-delete{border-color:rgba(243,72,99,.24);background:rgba(166,35,57,.12);color:#ff9bad}
.manager-user-actions .is-enable{border-color:rgba(53,212,136,.26);background:rgba(26,139,90,.13);color:#7ce8b2}

.manager-user-edit-dialog,.manager-user-action-dialog{border:1px solid rgba(192,109,255,.26);background:linear-gradient(155deg,#0a263b,#071a2a 62%,#061522);color:#eef8fb;box-shadow:0 34px 90px rgba(0,0,0,.58);border-radius:26px}
.manager-user-edit-dialog::backdrop,.manager-user-action-dialog::backdrop{background:rgba(0,8,14,.76);backdrop-filter:blur(9px)}
.manager-user-edit-dialog{width:min(760px,94vw);padding:24px}.manager-user-edit-dialog header{text-align:center;margin-bottom:16px}.manager-user-edit-dialog header>span{color:#d59cff;font-size:11px}.manager-user-edit-dialog header h2{margin:4px 0 0;font-size:25px}
.manager-user-edit-form{display:grid;gap:12px}.manager-user-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.manager-user-edit-grid label{display:grid;gap:5px}.manager-user-edit-grid label.is-wide{grid-column:1/-1}.manager-user-edit-grid label span{font-size:10px;color:#9ab2bd}.manager-user-edit-grid input{height:44px;border:1px solid rgba(255,255,255,.10);border-radius:13px;background:rgba(255,255,255,.045);color:#eef8fb;padding:0 12px;font-family:var(--font-ui);outline:0}.manager-user-edit-grid input:focus{border-color:rgba(76,201,221,.45);box-shadow:0 0 0 3px rgba(76,201,221,.07)}
.manager-user-edit-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}.manager-user-edit-actions button{min-height:44px}
.manager-user-action-dialog{width:min(470px,92vw);padding:28px;text-align:center}.manager-user-action-mark{width:62px;height:62px;margin:0 auto 10px;border-radius:20px;display:grid;place-items:center;background:rgba(192,109,255,.10);border:1px solid rgba(192,109,255,.22);font-size:28px}.manager-user-action-dialog>span{color:#d59cff;font-size:11px}.manager-user-action-dialog h2{margin:5px 0 8px;font-size:22px}.manager-user-action-dialog p{margin:0 auto 18px;color:#a8bdc6;font:17px/1.65 var(--font-body)}.manager-user-action-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:9px}.manager-user-action-actions button{min-height:44px}.manager-user-action-actions .is-danger{background:linear-gradient(145deg,#a91e3c,#d43752);color:#fff}.manager-user-action-actions .is-success{background:linear-gradient(145deg,#0a8e5b,#19b978);color:#fff}

@media(max-width:760px){
  .manager-home-card__badge--total{right:6px;left:auto}.manager-home-card__badge--signup{left:6px;right:auto}
  .manager-users-dialog{width:96vw;max-height:95dvh;padding:15px 10px}
  .manager-users-dialog__head{padding:2px 42px 10px}.manager-users-dialog__head h2{font-size:23px}
  .manager-users-list{grid-template-columns:1fr;max-height:69dvh}
  .manager-user-card__head{grid-template-columns:44px minmax(0,1fr) minmax(88px,.72fr) auto 20px;gap:6px;padding:10px 8px}
  .manager-user-avatar{width:42px;height:42px}
  .manager-user-head-name,.manager-user-head-mobile{font-size:14px}
  .manager-user-new-tag{font-size:8px;padding:3px 6px}
  .manager-user-meta-grid{grid-template-columns:1fr 1fr}
  .manager-user-actions{grid-template-columns:repeat(3,1fr)}
  .manager-user-actions button b{font-size:9px}
  .manager-user-edit-dialog{padding:20px 13px}.manager-user-edit-grid{grid-template-columns:1fr}.manager-user-edit-grid label.is-wide{grid-column:auto}.manager-user-edit-actions{grid-template-columns:1fr}
  .manager-user-action-dialog{padding:24px 16px}.manager-user-action-actions{grid-template-columns:1fr}
}
@media(max-width:430px){
  .manager-user-card__head{grid-template-columns:40px minmax(0,1fr) minmax(82px,.72fr) 18px}.manager-user-new-tag{display:none}.manager-user-avatar{width:39px;height:39px;border-radius:12px}.manager-user-head-name,.manager-user-head-mobile{font-size:13px}
}
.manager-user-card__head .manager-user-head-name{display:block;margin:0;font-size:16px;font-weight:900;color:#eef9fc}
.manager-user-card__head .manager-user-head-mobile{display:block;margin:0;font-size:16px;font-weight:800;color:#b9ced7}
@media(max-width:760px){.manager-user-card__head .manager-user-head-name,.manager-user-card__head .manager-user-head-mobile{font-size:14px}}
@media(max-width:430px){.manager-user-card__head .manager-user-head-name,.manager-user-card__head .manager-user-head-mobile{font-size:13px}}

/* v16.5.105 — compact manual booking, separate unit picker, fixed standard capacity */
.manager-booking-dialog{width:min(1320px,calc(100vw - 24px));max-height:96dvh;overflow:auto;scrollbar-width:none;-ms-overflow-style:none}
.manager-booking-dialog::-webkit-scrollbar,.manager-manual-unit-dialog::-webkit-scrollbar,.manual-companion-list::-webkit-scrollbar{width:0;height:0;display:none}
.manager-booking-dialog .manager-booking-layout--compact{display:block}
.manager-booking-dialog .manager-booking-fields{display:grid;gap:9px}
.manager-booking-dialog>header{margin-bottom:8px}
.manager-booking-dialog>header h2{margin-top:2px}

.manager-manual-top-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}
.manager-manual-unit-select-wrap{display:grid;gap:6px}.manager-manual-unit-select-wrap>span{color:var(--manager-muted);font-size:11px}
.manager-manual-unit-select{position:relative;min-height:48px;width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:right;padding:8px 14px;border:1px solid rgba(72,199,228,.26);border-radius:13px;background:linear-gradient(145deg,rgba(8,48,69,.92),rgba(7,33,52,.94));color:var(--manager-text);cursor:pointer}
.manager-manual-unit-select b{font-size:13px;line-height:1.25}.manager-manual-unit-select small{font:11px var(--font-body);color:var(--manager-muted)}.manager-manual-unit-select i{grid-column:2;grid-row:1/3;color:#e7c34e;font-size:24px;font-style:normal;line-height:1}
.manager-manual-identity-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.manager-manual-identity-row label{min-width:0}
.manager-manual-date-grid{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);gap:9px;align-items:end}
.manager-manual-date-grid .jalali-date-field{justify-content:center;text-align:center}.manager-manual-date-grid .jalali-date-field b{width:100%;text-align:center;font-size:18px}
.manager-manual-days-pill{height:48px;min-height:48px;margin-bottom:0;display:grid;place-items:center}.manager-manual-days-pill strong{font-size:28px;white-space:nowrap}

.manager-manual-counter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;direction:rtl}
.manager-manual-counter-row .booking-count-card,.manager-manual-counter-row .booking-price-card{height:112px;min-height:112px;padding:12px 14px}
.manager-manual-counter-row .booking-count-card__head strong,.manager-manual-counter-row .booking-price-card__head strong{font-size:18px;white-space:nowrap}
.manager-manual-counter-row .booking-count-card__head small,.manager-manual-counter-row .booking-price-card__head small{font-size:10px}
.manager-manual-counter-row .booking-counter{margin-top:6px}
.manager-manual-counter-row .booking-counter__button:disabled{opacity:.28;cursor:not-allowed;filter:saturate(.3)}
.manager-manual-counter-row .manual-guest-total-card>b{font-size:30px;line-height:1.05;white-space:nowrap;color:#62efb2}

.manual-payment{padding:9px 10px;gap:8px}.manual-payment__head b{font-size:12px}.manual-payment__head small{font-size:10px}
.manual-payment-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.manual-payment-totals .booking-price-card{height:92px;min-height:92px;padding:10px 12px}.manual-payment-totals .booking-price-card__head strong{font-size:16px}.manual-payment-totals .booking-price-card>b{font-size:25px;line-height:1.05}
.manager-manual-payment-fields{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px}.manager-manual-payment-fields label{display:grid;gap:5px}.manager-manual-payment-fields label>span{font-size:10px;color:var(--manager-muted)}.manager-manual-payment-fields input,.manager-manual-payment-fields select{height:42px}

.manual-companions{padding:8px;gap:6px}.manual-companions__head b{font-size:12px}.manual-companion-list{max-height:none;overflow:visible;gap:5px}
.manual-companion-row{grid-template-columns:34px 1.2fr .8fr .86fr 1.15fr .85fr .75fr;gap:5px;padding:5px;border-radius:11px}
.manual-companion-row__index{height:34px}.manual-companion-field{gap:2px}.manual-companion-field>span{font-size:8px}.manual-companion-field input,.manual-companion-field select{height:34px;font-size:10px;border-radius:9px}.manual-companion-birth{gap:3px}
.manual-booking-notes input{height:40px}.manager-booking-dialog .manager-primary-button{min-height:44px}

.manager-manual-unit-dialog{position:relative;width:min(960px,calc(100vw - 26px));max-height:90dvh;overflow:auto;padding:22px;border:1px solid var(--manager-line);border-radius:25px;background:linear-gradient(180deg,#0a2940,#071d2e);color:var(--manager-text);box-shadow:0 32px 90px rgba(0,0,0,.56);scrollbar-width:none;-ms-overflow-style:none}
.manager-manual-unit-dialog::backdrop{background:rgba(0,8,15,.74);backdrop-filter:blur(8px)}
.manager-manual-unit-dialog>header{text-align:center;padding:0 55px 12px}.manager-manual-unit-dialog>header span{color:#e6c657;font-size:11px}.manager-manual-unit-dialog>header h2{margin:3px 0 4px;font-size:24px}.manager-manual-unit-dialog>header small{color:var(--manager-muted);font:12px var(--font-body)}
.manual-unit-choice-grid--modal{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:none;overflow:visible;padding:2px}
.manual-unit-choice-grid--modal .manual-unit-choice{min-height:124px}

.manager-body.is-light .manager-manual-unit-select{border-color:#172a33;background:linear-gradient(145deg,rgba(75,199,193,.70),rgba(137,116,205,.62));color:#071b24}.manager-body.is-light .manager-manual-unit-select small,.manager-body.is-light .manager-manual-unit-select-wrap>span{color:#17323a}

@media(max-width:1050px){
  .manager-manual-identity-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .manual-unit-choice-grid--modal{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .manager-booking-dialog{width:calc(100vw - 8px);max-height:97dvh;padding:14px}
  .manager-manual-top-row{grid-template-columns:1fr 1fr}
  .manager-manual-identity-row{grid-template-columns:1fr 1fr}
  .manager-manual-date-grid{grid-template-columns:1fr 96px 1fr}.manager-manual-days-pill strong{font-size:21px}
  .manager-manual-counter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.manager-manual-counter-row .booking-count-card,.manager-manual-counter-row .booking-price-card{padding:8px 6px;height:104px;min-height:104px}.manager-manual-counter-row .booking-count-card__head strong,.manager-manual-counter-row .booking-price-card__head strong{font-size:13px}.manager-manual-counter-row .manual-guest-total-card>b{font-size:21px}
  .manager-manual-payment-fields{grid-template-columns:1fr 1fr}.manager-manual-payment-fields label:last-child{grid-column:1/-1}.manual-payment-totals .booking-price-card{height:82px;min-height:82px}
  .manual-companion-list{overflow-x:auto;scrollbar-width:none}.manual-companion-row{min-width:760px}
  .manager-manual-unit-dialog{width:calc(100vw - 10px);padding:14px}.manual-unit-choice-grid--modal{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v16.5.106 — tighter manual booking layout + template-based acceptance preview */
.manager-booking-dialog,.manager-manual-dialog{scrollbar-width:none;-ms-overflow-style:none}
.manager-booking-dialog::-webkit-scrollbar,.manager-manual-dialog::-webkit-scrollbar,.manager-manual-unit-dialog::-webkit-scrollbar,.manual-companion-list::-webkit-scrollbar{width:0;height:0;display:none}
.manager-booking-dialog{width:min(1360px,calc(100vw - 18px));max-height:97dvh;padding:16px 18px}
.manager-booking-dialog>header{margin-bottom:6px}.manager-booking-dialog>header span{font-size:11px}.manager-booking-dialog>header h2{font-size:25px;margin:1px 0 0}
.manager-booking-dialog .manager-booking-fields{gap:8px}
.manager-manual-form label>span{font-size:10px}
.manager-manual-form input,.manager-manual-form select,.manager-manual-form textarea{border-radius:12px}
.manager-manual-form input,.manager-manual-form select{height:40px;padding:0 10px}
.manager-manual-top-row{gap:8px}
.manager-manual-unit-select{min-height:42px;padding:7px 12px}.manager-manual-unit-select b{font-size:12px}.manager-manual-unit-select small{font-size:10px}.manager-manual-unit-select i{font-size:21px}
.manager-manual-identity-row{gap:6px}
.manager-manual-date-grid{gap:7px;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr)}
.manager-manual-date-grid .jalali-date-field{min-height:40px}.manager-manual-date-grid .jalali-date-field b{font-size:16px}
.manager-manual-days-pill{height:40px;min-height:40px;border-radius:16px}.manager-manual-days-pill strong{font-size:20px}
.manager-manual-counter-row{gap:7px}.manager-manual-counter-row .booking-count-card,.manager-manual-counter-row .booking-price-card{height:92px;min-height:92px;padding:10px 12px;border-radius:18px}
.manager-manual-counter-row .booking-count-card__head,.manual-payment-totals .booking-price-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-height:auto}
.manager-manual-counter-row .booking-count-card__head strong,.manager-manual-counter-row .booking-price-card__head strong,.manual-payment-totals .booking-price-card__head strong{font-size:16px;margin:0}
.manager-manual-counter-row .booking-count-card__head small,.manager-manual-counter-row .booking-price-card__head small,.manual-payment-totals .booking-price-card__head small{font-size:10px;margin:0;white-space:nowrap}
.manager-manual-counter-row .booking-counter{margin-top:4px}
.manager-manual-counter-row .booking-counter__button{width:40px;height:40px;border-radius:14px;font-size:28px}
.manager-manual-counter-row .booking-counter__value{font-size:28px;min-height:40px}
.manager-manual-counter-row .manual-guest-total-card>b{font-size:24px}
.manual-payment{padding:7px 8px;border-radius:16px;gap:7px}
.manual-payment__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.manual-payment__head div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.manual-payment__head span{font-size:11px}.manual-payment__head b{font-size:11px}.manual-payment__head small{font-size:10px}
.manual-payment-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.manual-payment-totals .booking-price-card{height:78px;min-height:78px;padding:8px 10px;border-radius:16px}.manual-payment-totals .booking-price-card>b{font-size:22px;line-height:1}
.manager-manual-payment-fields{grid-template-columns:1fr 1fr 1fr;gap:7px}.manager-manual-payment-fields input,.manager-manual-payment-fields select{height:40px}
.manual-companions{padding:7px;border-radius:16px;gap:6px}.manual-companions__head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.manual-companions__head div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.manual-companions__head span{font-size:11px}.manual-companions__head b{font-size:12px}
.manual-companion-row{padding:4px;gap:4px}.manual-companion-row__index{width:28px;height:28px;border-radius:10px;font-size:11px}.manual-companion-field>span{font-size:8px}.manual-companion-field input,.manual-companion-field select{height:30px;font-size:10px}
.manual-booking-notes input{height:38px}
.manager-booking-dialog .manager-primary-button{min-height:38px;border-radius:14px;font-size:14px;padding:0 14px}
.manager-acceptance-preview-wrap{height:min(79dvh,840px);scrollbar-width:none;-ms-overflow-style:none}
.manager-acceptance-preview-wrap iframe{overflow:hidden}
@media(max-width:1050px){
  .manager-manual-identity-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .manager-booking-dialog{width:calc(100vw - 8px);max-height:97dvh;padding:12px}
  .manager-booking-dialog>header h2{font-size:22px}
  .manager-manual-top-row{grid-template-columns:1fr 1fr}
  .manager-manual-identity-row{grid-template-columns:1fr 1fr}
  .manager-manual-date-grid{grid-template-columns:1fr 82px 1fr}
  .manager-manual-days-pill strong{font-size:17px}
  .manager-manual-counter-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
  .manager-manual-counter-row .booking-count-card,.manager-manual-counter-row .booking-price-card{height:88px;min-height:88px;padding:7px}
  .manager-manual-counter-row .booking-count-card__head strong,.manager-manual-counter-row .booking-price-card__head strong{font-size:12px}
  .manager-manual-counter-row .booking-count-card__head small,.manager-manual-counter-row .booking-price-card__head small{font-size:9px}
  .manager-manual-counter-row .booking-counter__button{width:34px;height:34px;font-size:24px;border-radius:12px}
  .manager-manual-counter-row .booking-counter__value{font-size:22px}
  .manager-manual-counter-row .manual-guest-total-card>b{font-size:18px}
  .manual-payment-totals .booking-price-card{height:72px;min-height:72px}
  .manual-payment-totals .booking-price-card>b{font-size:18px}
  .manager-manual-payment-fields{grid-template-columns:1fr 1fr}.manager-manual-payment-fields label:last-child{grid-column:1/-1}
  .manual-companion-list{overflow-x:auto;scrollbar-width:none}.manual-companion-row{min-width:760px}
}

/* ===== Restaurant request-centric workspace v16.5.107 ===== */
.restaurant-v2{--rv2-bg:#031522;--rv2-panel:#071f30;--rv2-panel-2:#09283c;--rv2-card:#082235;--rv2-text:#f5fbfd;--rv2-muted:#89a8b5;--rv2-line:rgba(94,193,224,.18);--rv2-gold:#f2c84b;--rv2-cyan:#24d7e5;--rv2-green:#4ee4b1;--rv2-danger:#ff536e;--rv2-shadow:0 24px 70px rgba(0,0,0,.34);}
.restaurant-v2 .dashboard-global-header{z-index:1200}
.restaurant-v2-shell{width:min(1560px,calc(100vw - 28px));margin:0 auto;padding:82px 0 48px;position:relative;z-index:2}
.restaurant-v2-command{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px) minmax(0,1fr);gap:12px;align-items:stretch;margin:0 0 12px;padding:8px 10px;border:1px solid rgba(61,181,220,.17);border-radius:23px;background:linear-gradient(135deg,rgba(9,49,68,.9),rgba(3,24,39,.93));box-shadow:inset 0 0 0 1px rgba(255,255,255,.018),0 14px 36px rgba(0,0,0,.18)}
.restaurant-v2-category-cluster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:0}
.restaurant-v2-category{min-width:0;min-height:58px;padding:8px 11px;border:1px solid color-mix(in srgb,var(--cat,#55cbe0) 42%,transparent);border-radius:15px;background:linear-gradient(145deg,color-mix(in srgb,var(--cat,#55cbe0) 9%,rgba(4,28,43,.98)),rgba(3,23,36,.94));color:#dff6fa;font-family:var(--font-ui);display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.restaurant-v2-category span{font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-v2-category small{font-size:13px;font-weight:900;color:color-mix(in srgb,var(--cat,#55cbe0) 86%,white);min-width:22px;text-align:center}
.restaurant-v2-category:hover,.restaurant-v2-category.is-active{transform:translateY(-1px);border-color:color-mix(in srgb,var(--cat,#55cbe0) 80%,white 5%);box-shadow:0 0 0 1px color-mix(in srgb,var(--cat,#55cbe0) 22%,transparent),0 10px 28px color-mix(in srgb,var(--cat,#55cbe0) 14%,transparent)}
.restaurant-v2-category.is-active{background:linear-gradient(145deg,color-mix(in srgb,var(--cat,#55cbe0) 18%,rgba(7,32,47,.96)),rgba(3,24,37,.98))}
.restaurant-v2-category.tone-all{--cat:#35cfe2}.restaurant-v2-category.tone-kebab{--cat:#ff536c}.restaurant-v2-category.tone-rice{--cat:#efc443}.restaurant-v2-category.tone-stew{--cat:#60d19b}.restaurant-v2-category.tone-stewrice{--cat:#59bafa}.restaurant-v2-category.tone-starter{--cat:#8c83ff}.restaurant-v2-category.tone-drink{--cat:#cf70dc}.restaurant-v2-category.tone-misc{--cat:#45d7b5}
.restaurant-v2-brand{display:grid;place-items:center;align-content:center;min-height:58px;text-align:center}.restaurant-v2-brand span{font-size:12px;font-weight:900;color:#49cee3}.restaurant-v2-brand h1{margin:1px 0 0;font-size:30px;line-height:1.08;color:#fff;font-weight:900;text-shadow:0 0 24px rgba(61,198,224,.28)}
.restaurant-v2-board{position:relative;min-height:calc(100vh - 190px);overflow:hidden;padding:16px;border:1px solid rgba(72,173,207,.15);border-radius:25px;background:linear-gradient(155deg,rgba(5,30,46,.96),rgba(2,19,31,.98));box-shadow:var(--rv2-shadow)}
.restaurant-v2-watermark{position:absolute;inset:50% auto auto 50%;width:min(390px,34vw);max-height:58%;object-fit:contain;transform:translate(-50%,-50%);opacity:.025;filter:grayscale(1) brightness(2);pointer-events:none}
.restaurant-v2-board-head{position:relative;z-index:2;display:grid;grid-template-columns:minmax(210px,1fr) minmax(250px,430px) auto;gap:12px;align-items:center;margin-bottom:14px}.restaurant-v2-board-head>div:first-child span{display:block;color:#48cee3;font-size:11px;font-weight:800}.restaurant-v2-board-head h2{margin:2px 0 0;font-size:23px;color:#fff}
.restaurant-v2-search,.restaurant-v2-menu-search{display:flex;align-items:center;gap:9px;min-height:43px;padding:0 13px;border:1px solid rgba(75,177,211,.18);border-radius:13px;background:rgba(2,17,29,.56);color:#7fa8b7}.restaurant-v2-search input,.restaurant-v2-menu-search input{width:100%;border:0;background:transparent;color:#eaf8fb;font:14px var(--font-ui);outline:0}.restaurant-v2-search input::placeholder,.restaurant-v2-menu-search input::placeholder{color:#6f919f}
.restaurant-v2-board-actions{display:flex;align-items:center;gap:7px}.restaurant-v2-tool,.restaurant-v2-new-order{min-height:42px;padding:0 13px;border-radius:12px;border:1px solid rgba(72,180,217,.19);background:rgba(13,52,70,.7);color:#d9eef4;font-family:var(--font-ui);font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.restaurant-v2-new-order{padding-inline:17px;background:linear-gradient(135deg,#0a91b5,#0b6f9f);border-color:rgba(62,203,235,.36);color:#fff;font-size:14px}.restaurant-v2-new-order span{font-size:19px;vertical-align:-1px}
.restaurant-v2-orders-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-content:start}
.restaurant-v2-order-card{--tone:#39c8e2;position:relative;min-height:235px;padding:50px 15px 46px;border:1px solid color-mix(in srgb,var(--tone) 44%,transparent);border-radius:20px;background:linear-gradient(150deg,color-mix(in srgb,var(--tone) 9%,rgba(8,34,51,.97)),rgba(3,20,32,.985));color:var(--rv2-text);font-family:var(--font-ui);cursor:pointer;box-shadow:inset 0 0 28px color-mix(in srgb,var(--tone) 4%,transparent),0 10px 28px rgba(0,0,0,.14);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;overflow:hidden}
.restaurant-v2-order-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--tone) 80%,white 4%);box-shadow:0 0 0 1px color-mix(in srgb,var(--tone) 16%,transparent),0 15px 34px rgba(0,0,0,.23)}.restaurant-v2-order-card.is-selected{animation:restaurantV2Pulse 1.65s ease-in-out infinite;border-color:var(--tone)}
.restaurant-v2-order-card.tone-free-table{--tone:#f1c63f}.restaurant-v2-order-card.tone-free-bed{--tone:#4fafff}.restaurant-v2-order-card.tone-stay-table{--tone:#3cd9a4}.restaurant-v2-order-card.tone-stay-bed{--tone:#c46cff}.restaurant-v2-order-card.tone-free-none{--tone:#44c8dc}.restaurant-v2-order-card.tone-stay-none{--tone:#7ad38e}
@keyframes restaurantV2Pulse{0%,100%{box-shadow:0 0 0 1px color-mix(in srgb,var(--tone) 16%,transparent),0 14px 34px rgba(0,0,0,.2)}50%{box-shadow:0 0 0 2px color-mix(in srgb,var(--tone) 30%,transparent),0 0 28px color-mix(in srgb,var(--tone) 28%,transparent),0 18px 40px rgba(0,0,0,.25)}}
.restaurant-v2-card-chip{position:absolute;display:inline-flex;align-items:center;justify-content:center;min-width:74px;max-width:44%;height:31px;padding:0 10px;border:1px solid color-mix(in srgb,var(--tone) 55%,transparent);border-radius:10px;background:color-mix(in srgb,var(--tone) 10%,rgba(4,23,36,.95));color:color-mix(in srgb,var(--tone) 72%,white);font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-v2-card-chip.is-place{top:11px;left:11px}.restaurant-v2-card-chip.is-source{top:11px;right:11px}.restaurant-v2-card-chip.is-meal{bottom:10px;left:11px}.restaurant-v2-card-chip.is-count{bottom:10px;right:11px}
.restaurant-v2-order-card h3{margin:0;text-align:center;font-size:24px;line-height:1.2;color:#fff}.restaurant-v2-card-customer{display:block;margin-top:5px;text-align:center;font-size:17px;color:#e8f5f8}.restaurant-v2-card-progress-label{margin:13px 0 6px;text-align:center;color:#9eb8c2;font-size:11px;line-height:1.3;min-height:15px}.restaurant-v2-card-progress{width:100%;height:5px;border-radius:99px;background:color-mix(in srgb,var(--tone) 15%,rgba(5,15,24,.85));overflow:hidden}.restaurant-v2-card-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in srgb,var(--tone) 90%,white 3%),color-mix(in srgb,var(--tone) 58%,white));box-shadow:0 0 12px color-mix(in srgb,var(--tone) 55%,transparent);transition:width .7s linear}.restaurant-v2-card-progress.is-late i{background:#ff566f}.restaurant-v2-card-price{display:block;margin:10px 0 0;text-align:center;color:#47e4d0;font-size:24px;font-weight:900;letter-spacing:.3px}
.restaurant-v2-empty{grid-column:1/-1;min-height:300px;display:grid;place-items:center;align-content:center;gap:6px;color:#87a6b2;border:1px dashed rgba(87,180,210,.18);border-radius:20px}.restaurant-v2-empty b{font-size:22px;color:#cce0e6}.restaurant-v2-empty span{font-size:14px}
.restaurant-order-open{overflow:hidden}
.restaurant-v2-overlay{position:fixed;inset:0;z-index:1100;padding:96px 18px 18px;display:grid;place-items:center}.restaurant-v2-overlay[hidden]{display:none}.restaurant-v2-overlay-backdrop{position:absolute;inset:0;border:0;background:rgba(0,8,15,.55);backdrop-filter:blur(7px);cursor:default}.restaurant-v2-floating-workspace{position:relative;z-index:1;width:min(1230px,calc(100vw - 34px));height:min(790px,calc(100dvh - 114px));display:flex;direction:ltr;justify-content:center;align-items:stretch;gap:12px;transform:translateY(10px) scale(.99);opacity:0;transition:transform .18s ease,opacity .18s ease}.restaurant-v2-overlay.is-open .restaurant-v2-floating-workspace{transform:none;opacity:1}
.restaurant-v2-order-modal{direction:rtl;flex:1 1 780px;min-width:0;max-width:820px;height:100%;display:flex;flex-direction:column;overflow:hidden;padding:13px;border:1px solid rgba(63,184,220,.23);border-radius:24px;background:linear-gradient(160deg,rgba(6,35,52,.99),rgba(3,19,31,.995));box-shadow:0 34px 100px rgba(0,0,0,.54),inset 0 0 0 1px rgba(255,255,255,.018)}
.restaurant-v2-order-head{position:relative;display:flex;align-items:center;justify-content:center;min-height:52px;padding:0 54px;border-bottom:1px solid rgba(97,184,210,.12)}.restaurant-v2-order-head h2{margin:0;color:#fff;font-size:29px}.restaurant-v2-order-head>small{position:absolute;left:3px;top:4px;min-width:58px;padding:7px 9px;text-align:center;border:1px solid rgba(84,177,210,.2);border-radius:10px;background:rgba(6,34,50,.78);color:#9fbcc7;font-size:12px;font-weight:900}.restaurant-v2-order-close{top:7px;right:7px}
.restaurant-v2-order-compact{padding:9px 0 7px}.restaurant-v2-service-toggle{grid-template-columns:1fr 1fr;margin:0 0 8px;min-height:58px}.restaurant-v2-service-toggle button{min-height:58px}.restaurant-v2-service-toggle button>b{font-size:15px}.restaurant-v2-service-toggle button>small{font-size:10px}.restaurant-v2-service-toggle button[data-service-mode="free"].is-active{border-color:rgba(242,199,64,.7);background:linear-gradient(145deg,rgba(165,126,16,.34),rgba(94,73,17,.18));box-shadow:inset 0 0 22px rgba(242,199,64,.08),0 0 18px rgba(242,199,64,.08)}.restaurant-v2-service-toggle button[data-service-mode="free"].is-active :is(b,span){color:#ffe87e}
.restaurant-v2-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.restaurant-v2-field,.restaurant-v2-stay-link{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:7px;min-height:45px;padding:6px 8px;border:1px solid rgba(73,175,208,.13);border-radius:13px;background:rgba(5,26,40,.58)}.restaurant-v2-field>span{font-size:12px;font-weight:900;color:#c9dde4}.restaurant-v2-field>span small{font-size:9px;color:#6d909e}.restaurant-v2-input-wrap{position:relative}.restaurant-v2-input-wrap input,.restaurant-v2-place-input,.restaurant-v2-time{width:100%;height:34px;border:1px solid rgba(77,179,212,.17);border-radius:9px;background:rgba(3,18,29,.7);color:#f2fbfd;font:13px var(--font-ui);outline:0;padding:0 10px}.restaurant-v2-input-wrap i{position:absolute;left:10px;top:7px;color:#68a6ba;font-style:normal}.restaurant-v2-customer-field{z-index:6}.restaurant-v2-suggestions{position:absolute;z-index:10;top:45px;right:96px;left:8px;padding:5px;border:1px solid rgba(72,181,216,.2);border-radius:12px;background:#082235;box-shadow:0 18px 40px rgba(0,0,0,.4)}.restaurant-v2-suggestions button{width:100%;min-height:38px;padding:5px 9px;border:0;border-radius:8px;background:transparent;color:#dff5fa;font-family:var(--font-ui);display:flex;justify-content:space-between;align-items:center;cursor:pointer}.restaurant-v2-suggestions button:hover{background:rgba(60,178,211,.1)}.restaurant-v2-suggestions small{font-size:9px;color:#7195a3}
.restaurant-v2-place-row,.restaurant-v2-meal-row{display:flex;align-items:center;gap:6px;min-width:0}.restaurant-v2-segment{display:flex;flex:1;min-width:0;gap:4px}.restaurant-v2-segment button{flex:1;min-width:0;height:34px;padding:0 8px;border:1px solid rgba(72,174,207,.15);border-radius:9px;background:rgba(5,29,44,.66);color:#8faeba;font-family:var(--font-ui);font-size:10px;font-weight:800;cursor:pointer;white-space:nowrap}.restaurant-v2-segment button.is-active{border-color:rgba(236,193,57,.48);background:rgba(147,112,15,.24);color:#ffe16a;box-shadow:inset 0 0 15px rgba(233,194,63,.07)}.restaurant-v2-place-input{flex:0 0 110px}.restaurant-v2-time{flex:0 0 82px;padding-inline:6px;text-align:center;color-scheme:dark}.restaurant-v2-stay-link{grid-column:1/-1;padding:0;border:0;background:transparent}.restaurant-v2-stay-link .restaurant-unit-picker-trigger{min-height:44px;padding:6px 12px;border-radius:12px}.restaurant-v2-stay-link .restaurant-unit-picker-trigger>small{display:none}
.restaurant-v2-cart-section{min-height:0;flex:1;display:flex;flex-direction:column;border-top:1px solid rgba(77,177,210,.13);padding-top:8px}.restaurant-v2-cart-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:5px}.restaurant-v2-cart-head>div span{font-size:10px;color:#59bdd5}.restaurant-v2-cart-head h3{margin:0;font-size:22px;color:#fff}.restaurant-v2-cart-head>button{min-height:38px;padding:0 14px;border:1px solid rgba(52,178,225,.35);border-radius:10px;background:linear-gradient(145deg,#0c8cbc,#0b6d9f);color:#fff;font:13px var(--font-ui);font-weight:900;cursor:pointer}.restaurant-v2-cart-columns,.restaurant-v2-cart-row{display:grid;grid-template-columns:minmax(170px,1.5fr) 110px 120px 120px 40px;gap:7px;align-items:center}.restaurant-v2-cart-columns{padding:5px 10px;color:#698e9d;font-size:10px;text-align:center}.restaurant-v2-cart-columns span:first-child{text-align:right}.restaurant-v2-cart-list{min-height:0;flex:1;overflow:auto;display:grid;align-content:start;gap:5px;padding:1px 2px 4px}.restaurant-v2-cart-row{min-height:50px;padding:5px 8px;border:1px solid rgba(71,166,199,.12);border-radius:11px;background:rgba(4,25,38,.55)}.restaurant-v2-cart-name{font-size:16px;color:#f5fbfd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-v2-cart-unit,.restaurant-v2-cart-line{text-align:center;color:#55dfc7;font-size:13px;font-weight:900}.restaurant-v2-cart-stepper{display:grid;grid-template-columns:32px 34px 32px;gap:3px;align-items:center;justify-content:center}.restaurant-v2-cart-stepper button{height:31px;border-radius:8px;border:1px solid rgba(77,205,156,.25);background:rgba(31,142,104,.1);color:#66e4b5;font-size:18px;cursor:pointer}.restaurant-v2-cart-stepper button:last-child{border-color:rgba(255,81,105,.24);background:rgba(144,26,45,.12);color:#ff7286}.restaurant-v2-cart-stepper b{text-align:center;font-size:13px}.restaurant-v2-cart-remove{width:32px;height:32px;border:1px solid rgba(255,78,105,.24);border-radius:8px;background:rgba(147,24,43,.17);color:#ff667e;font-size:20px;cursor:pointer}.restaurant-cart-empty{padding:45px 15px;text-align:center;color:#7695a2;font-size:14px}
.restaurant-v2-note{margin:6px 0}.restaurant-v2-note input{width:100%;height:38px;padding:0 12px;border:1px solid rgba(76,175,207,.13);border-radius:10px;background:rgba(4,24,37,.56);color:#dfeef2;font:12px var(--font-ui);outline:0}
.restaurant-v2-order-footer{border-top:1px solid rgba(80,178,209,.13);padding-top:8px}.restaurant-v2-total{display:flex;align-items:center;justify-content:center;gap:18px;min-height:47px;margin-bottom:7px;border:1px solid rgba(56,206,175,.22);border-radius:12px;background:rgba(22,109,91,.11)}.restaurant-v2-total span{font-size:14px;font-weight:900;color:#cbe9e1}.restaurant-v2-total strong{font-size:28px;color:#53e5c6}.restaurant-v2-actions{display:grid;grid-template-columns:1fr 1.15fr 1.15fr 1.5fr;gap:6px}.restaurant-v2-actions button{min-height:43px;border-radius:11px;font-size:11px}.restaurant-v2-settle{border:1px solid rgba(244,195,51,.45);background:linear-gradient(145deg,#ba8d17,#8b6811);color:#fff3ba;font-family:var(--font-ui);font-weight:900;cursor:pointer}.restaurant-v2-order-footer .form-status{min-height:0;margin:4px 0 0;text-align:center;font-size:10px}
.restaurant-v2-menu-drawer{direction:rtl;flex:0 0 385px;min-width:0;height:100%;display:flex;flex-direction:column;overflow:hidden;padding:12px;border:1px solid rgba(77,183,216,.2);border-radius:24px;background:linear-gradient(160deg,rgba(7,34,50,.99),rgba(3,20,31,.995));box-shadow:0 32px 90px rgba(0,0,0,.48);transform:translateX(-14px);opacity:0;transition:transform .16s ease,opacity .16s ease}.restaurant-v2-menu-drawer.is-open{transform:none;opacity:1}.restaurant-v2-menu-drawer>header{position:relative;min-height:58px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(78,178,210,.12);margin-bottom:8px}.restaurant-v2-menu-drawer>header>div{text-align:center}.restaurant-v2-menu-drawer>header span{font-size:10px;color:#65c4da}.restaurant-v2-menu-drawer>header h2{margin:0;color:#f0c84b;font-size:24px}.restaurant-v2-menu-drawer>header>button:first-child{position:absolute;left:4px;width:38px;height:38px;border:1px solid rgba(70,181,216,.18);border-radius:50%;background:rgba(10,55,76,.7);color:#d9f2f8;font-size:25px;cursor:pointer}.restaurant-v2-menu-drawer .dialog-x{top:8px;right:7px}.restaurant-v2-menu-search{margin-bottom:8px;flex:0 0 42px}.restaurant-v2-menu-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.restaurant-v2-food-card{position:relative;min-width:0;overflow:hidden;padding:0 0 9px;border:1px solid rgba(69,174,208,.17);border-radius:15px;background:rgba(7,35,51,.72);color:#fff;font-family:var(--font-ui);cursor:pointer;transition:transform .16s ease,border-color .16s ease}.restaurant-v2-food-card:hover{transform:translateY(-2px);border-color:rgba(239,195,54,.48)}.restaurant-v2-food-card.is-in-cart{border-color:rgba(75,222,165,.42)}.restaurant-v2-food-media{position:relative;height:126px;overflow:hidden;background:radial-gradient(circle at 50% 45%,rgba(52,166,190,.17),rgba(2,15,25,.88) 72%)}.restaurant-v2-food-media img{width:100%;height:100%;object-fit:cover}.restaurant-v2-food-plus{position:absolute;top:7px;left:7px;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#f1c542;color:#13252c;font-size:22px;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.25)}.restaurant-v2-food-media>b{position:absolute;top:7px;right:7px;min-width:29px;height:29px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:#0b9b70;color:#fff;font-size:13px}.restaurant-v2-food-card h3{margin:8px 7px 2px;font-size:16px;line-height:1.35;color:#f7fbfc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.restaurant-v2-food-card>strong{display:block;color:#56e2c9;font-size:19px;text-align:center}.restaurant-v2-menu-empty{grid-column:1/-1;padding:40px 12px;text-align:center;color:#7898a6}

/* light restaurant theme */
.restaurant-body.is-light.restaurant-v2{--rv2-bg:#eef7fb;--rv2-panel:#fff;--rv2-panel-2:#f5fbfd;--rv2-card:#fff;--rv2-text:#102f3c;--rv2-muted:#597985;--rv2-line:rgba(28,102,132,.13);--rv2-shadow:0 22px 58px rgba(46,87,105,.13);background:radial-gradient(circle at 15% 0,rgba(73,188,219,.12),transparent 30%),linear-gradient(180deg,#f6fbfd,#e7f1f5)}
.restaurant-body.is-light .restaurant-v2-command{background:rgba(255,255,255,.82);border-color:rgba(35,116,147,.12);box-shadow:0 12px 28px rgba(48,92,110,.09)}.restaurant-body.is-light .restaurant-v2-category{background:linear-gradient(145deg,color-mix(in srgb,var(--cat) 6%,white),#fff);color:#173b49;border-color:color-mix(in srgb,var(--cat) 34%,rgba(31,93,116,.12))}.restaurant-body.is-light .restaurant-v2-category span{color:#173b49}.restaurant-body.is-light .restaurant-v2-category.is-active{background:color-mix(in srgb,var(--cat) 11%,white)}.restaurant-body.is-light .restaurant-v2-brand h1{color:#174a61;text-shadow:none}
.restaurant-body.is-light .restaurant-v2-board{background:rgba(255,255,255,.88);border-color:rgba(37,111,139,.12);box-shadow:var(--rv2-shadow)}.restaurant-body.is-light .restaurant-v2-watermark{opacity:.035;filter:grayscale(1)}.restaurant-body.is-light .restaurant-v2-board-head h2{color:#173744}.restaurant-body.is-light .restaurant-v2-search,.restaurant-body.is-light .restaurant-v2-menu-search{background:#f7fbfd;border-color:rgba(28,99,126,.12)}.restaurant-body.is-light .restaurant-v2-search input,.restaurant-body.is-light .restaurant-v2-menu-search input{color:#173744}.restaurant-body.is-light .restaurant-v2-tool{background:#f5fafc;color:#315967;border-color:rgba(36,112,141,.12)}
.restaurant-body.is-light .restaurant-v2-order-card{background:linear-gradient(150deg,color-mix(in srgb,var(--tone) 8%,white),#fff);color:#173744;box-shadow:0 10px 27px rgba(38,81,98,.08)}.restaurant-body.is-light .restaurant-v2-order-card h3{color:#142f3b}.restaurant-body.is-light .restaurant-v2-card-customer{color:#274d5a}.restaurant-body.is-light .restaurant-v2-card-progress-label{color:#5c7884}.restaurant-body.is-light .restaurant-v2-card-chip{background:color-mix(in srgb,var(--tone) 9%,white);color:color-mix(in srgb,var(--tone) 62%,#173744)}.restaurant-body.is-light .restaurant-v2-card-price{color:#087e9c}.restaurant-body.is-light .restaurant-v2-empty b{color:#284e5b}
.restaurant-body.is-light .restaurant-v2-overlay-backdrop{background:rgba(210,226,233,.65)}.restaurant-body.is-light .restaurant-v2-order-modal,.restaurant-body.is-light .restaurant-v2-menu-drawer{background:linear-gradient(160deg,#fff,#f4fafc);border-color:rgba(39,111,139,.14);box-shadow:0 32px 90px rgba(38,75,91,.2)}.restaurant-body.is-light .restaurant-v2-order-head h2,.restaurant-body.is-light .restaurant-v2-cart-head h3,.restaurant-body.is-light .restaurant-v2-cart-name,.restaurant-body.is-light .restaurant-v2-food-card h3{color:#173744}.restaurant-body.is-light .restaurant-v2-order-head>small{background:#f4f9fb;color:#54727d;border-color:rgba(30,99,125,.12)}.restaurant-body.is-light .restaurant-v2-field{background:#f8fbfc;border-color:rgba(34,105,132,.1)}.restaurant-body.is-light .restaurant-v2-field>span{color:#31545f}.restaurant-body.is-light .restaurant-v2-input-wrap input,.restaurant-body.is-light .restaurant-v2-place-input,.restaurant-body.is-light .restaurant-v2-time{background:#fff;color:#163743;border-color:rgba(33,105,134,.14);color-scheme:light}.restaurant-body.is-light .restaurant-v2-segment button{background:#fff;color:#5c7984;border-color:rgba(33,104,131,.12)}.restaurant-body.is-light .restaurant-v2-segment button.is-active{background:#fff4cb;color:#85660a;border-color:#e4bd36}.restaurant-body.is-light .restaurant-v2-suggestions{background:#fff;border-color:rgba(36,108,135,.14);box-shadow:0 18px 36px rgba(40,77,91,.15)}.restaurant-body.is-light .restaurant-v2-suggestions button{color:#244b58}.restaurant-body.is-light .restaurant-v2-cart-section,.restaurant-body.is-light .restaurant-v2-order-footer{border-color:rgba(35,105,132,.11)}.restaurant-body.is-light .restaurant-v2-cart-columns{color:#6b8791}.restaurant-body.is-light .restaurant-v2-cart-row{background:#fff;border-color:rgba(34,105,132,.1)}.restaurant-body.is-light .restaurant-v2-cart-unit,.restaurant-body.is-light .restaurant-v2-cart-line{color:#087e98}.restaurant-body.is-light .restaurant-v2-note input{background:#fff;color:#173744;border-color:rgba(35,105,132,.12)}.restaurant-body.is-light .restaurant-v2-total{background:#f0fbf8;border-color:rgba(17,147,111,.15)}.restaurant-body.is-light .restaurant-v2-total span{color:#315c55}.restaurant-body.is-light .restaurant-v2-total strong{color:#087f9e}.restaurant-body.is-light .restaurant-v2-food-card{background:#fff;border-color:rgba(33,103,130,.12);box-shadow:0 10px 22px rgba(47,88,104,.08)}.restaurant-body.is-light .restaurant-v2-food-media{background:linear-gradient(145deg,#edf7fa,#f8fbfc)}.restaurant-body.is-light .restaurant-v2-food-card>strong{color:#087ca0}.restaurant-body.is-light .restaurant-v2-menu-drawer>header h2{color:#a87900}

@media (max-width:1280px){.restaurant-v2-shell{width:calc(100vw - 18px)}.restaurant-v2-command{grid-template-columns:1fr 220px 1fr}.restaurant-v2-category{padding-inline:7px}.restaurant-v2-category span{font-size:12px}.restaurant-v2-category small{font-size:11px}.restaurant-v2-orders-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.restaurant-v2-floating-workspace{width:calc(100vw - 24px)}.restaurant-v2-menu-drawer{flex-basis:340px}.restaurant-v2-cart-columns,.restaurant-v2-cart-row{grid-template-columns:minmax(145px,1.45fr) 94px 105px 105px 36px}}
@media (max-width:980px){.restaurant-v2-shell{padding-top:76px}.restaurant-v2-command{grid-template-columns:1fr;gap:7px}.restaurant-v2-brand{grid-row:1}.restaurant-v2-category-cluster{grid-template-columns:repeat(4,minmax(0,1fr))}.restaurant-v2-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-v2-board-head{grid-template-columns:1fr auto}.restaurant-v2-search{grid-column:1/-1;grid-row:2}.restaurant-v2-board-actions{justify-content:flex-end}.restaurant-v2-overlay{padding:72px 8px 8px}.restaurant-v2-floating-workspace{width:100%;height:calc(100dvh - 80px);position:relative}.restaurant-v2-order-modal{max-width:none}.restaurant-v2-menu-drawer{position:absolute;inset:0 0 0 auto;width:min(430px,96%);z-index:4}.restaurant-v2-meta-grid{grid-template-columns:1fr}.restaurant-v2-stay-link{grid-column:auto}}
@media (max-width:620px){.restaurant-v2-shell{width:calc(100vw - 10px);padding-top:72px}.restaurant-v2-command{padding:6px;border-radius:16px}.restaurant-v2-category-cluster{gap:4px}.restaurant-v2-category{min-height:48px;padding:4px 5px;border-radius:10px}.restaurant-v2-category span{font-size:10px}.restaurant-v2-category small{display:none}.restaurant-v2-brand{min-height:50px}.restaurant-v2-brand h1{font-size:24px}.restaurant-v2-board{padding:9px;border-radius:18px}.restaurant-v2-board-head{display:flex;flex-wrap:wrap}.restaurant-v2-board-head>div:first-child{flex:1 1 auto}.restaurant-v2-board-head h2{font-size:19px}.restaurant-v2-board-actions{width:100%;display:grid;grid-template-columns:1fr 1fr 1.2fr}.restaurant-v2-tool,.restaurant-v2-new-order{padding-inline:7px;font-size:10px}.restaurant-v2-search{order:3;width:100%}.restaurant-v2-orders-grid{grid-template-columns:1fr}.restaurant-v2-order-card{min-height:225px}.restaurant-v2-overlay{padding:68px 4px 4px}.restaurant-v2-order-modal{padding:8px;border-radius:17px}.restaurant-v2-order-head h2{font-size:24px}.restaurant-v2-service-toggle button>b{font-size:13px}.restaurant-v2-field{grid-template-columns:78px minmax(0,1fr)}.restaurant-v2-suggestions{right:78px}.restaurant-v2-place-row,.restaurant-v2-meal-row{flex-wrap:wrap}.restaurant-v2-place-input,.restaurant-v2-time{flex:1 1 100%;height:32px}.restaurant-v2-cart-columns{display:none}.restaurant-v2-cart-row{grid-template-columns:minmax(0,1fr) auto auto;gap:5px;min-height:64px}.restaurant-v2-cart-name{grid-column:1/-1;font-size:15px}.restaurant-v2-cart-unit{display:none}.restaurant-v2-cart-line{grid-column:1}.restaurant-v2-cart-stepper{grid-column:2}.restaurant-v2-cart-remove{grid-column:3}.restaurant-v2-actions{grid-template-columns:1fr 1fr}.restaurant-v2-menu-drawer{width:100%;border-radius:17px}.restaurant-v2-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-v2-food-media{height:112px}.restaurant-v2-food-card h3{font-size:14px}.restaurant-v2-food-card>strong{font-size:17px}}

/* ===== Restaurant dual-side ordering workspace v16.5.108 ===== */
.restaurant-v2 .dashboard-header-back span{display:none}
.restaurant-v2 .dashboard-header-back{gap:0}
.restaurant-v2-header-manage{position:fixed;top:17px;left:145px;z-index:1220;display:flex;gap:9px;direction:rtl}
.restaurant-v2-header-tool{height:42px;padding:0 18px;border:1px solid rgba(78,180,214,.28);border-radius:13px;background:linear-gradient(145deg,rgba(9,43,61,.96),rgba(5,29,44,.96));color:#e7f6fa;font:800 13px var(--font-ui);cursor:pointer;box-shadow:0 9px 22px rgba(0,0,0,.16);transition:.18s ease}
.restaurant-v2-header-tool:hover{transform:translateY(-1px);border-color:rgba(82,205,231,.55);box-shadow:0 12px 26px rgba(0,0,0,.22)}
.restaurant-v2-header-new{position:fixed;top:17px;right:92px;z-index:1220;height:44px;padding:0 21px;border:1px solid rgba(92,255,166,.58);border-radius:14px;background:linear-gradient(145deg,#12aa5f,#078d4d);color:#fff;font:900 15px var(--font-ui);cursor:pointer;box-shadow:0 0 0 1px rgba(112,255,179,.14),0 0 28px rgba(25,210,112,.25),0 12px 28px rgba(0,0,0,.2);transition:.18s ease}
.restaurant-v2-header-new:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 0 0 1px rgba(112,255,179,.25),0 0 34px rgba(25,210,112,.34),0 14px 30px rgba(0,0,0,.24)}
.restaurant-v2-header-new span{font-size:22px;vertical-align:-2px;margin-left:5px}

.restaurant-v2-shell{padding-top:88px}
.restaurant-v2-command{position:relative;z-index:1150;direction:ltr;grid-template-columns:minmax(0,1fr) minmax(270px,340px) minmax(0,1fr);margin-bottom:14px}
.restaurant-v2-category-cluster{direction:ltr}
.restaurant-v2-category{direction:rtl;min-height:62px;padding-inline:14px}
.restaurant-v2-category span{font-size:16px}
.restaurant-v2-brand span{font-size:13px}.restaurant-v2-brand h1{font-size:32px}
.restaurant-v2-board{min-height:calc(100vh - 190px);padding:18px}
.restaurant-v2-board-head{display:block;margin:0 0 16px;text-align:right}
.restaurant-v2-board-head>div:first-child span{font-size:12px}.restaurant-v2-board-head h2{font-size:26px}
.restaurant-v2-watermark{width:min(760px,68vw);max-height:76%;opacity:.035}

/* Non-blocking order workspace: category controls and page remain clickable. */
.restaurant-v2-overlay{z-index:1100;padding:184px 12px 14px;place-items:start center;pointer-events:none}
.restaurant-v2-overlay-backdrop{display:none}
.restaurant-v2-floating-workspace{width:min(1640px,calc(100vw - 20px));height:min(735px,calc(100dvh - 198px));display:grid;grid-template-columns:minmax(320px,1fr) minmax(570px,660px) minmax(320px,1fr);gap:12px;direction:ltr;align-items:stretch;pointer-events:none}
.restaurant-v2-side-slot{min-width:0;height:100%;pointer-events:none}
.restaurant-v2-order-modal{grid-column:2;direction:rtl;width:100%;max-width:none;min-width:0;height:100%;padding:12px;pointer-events:auto;border-radius:22px}
.restaurant-v2-menu-drawer{width:100%;height:100%;padding:12px;pointer-events:auto;flex:none;border-radius:22px;transform:none;opacity:0}
.restaurant-v2-menu-drawer.is-left{direction:rtl;transform:translateX(-12px)}
.restaurant-v2-menu-drawer.is-right{direction:rtl;transform:translateX(12px)}
.restaurant-v2-menu-drawer.is-open{transform:none;opacity:1}
.restaurant-v2-side-slot.is-left{grid-column:1}.restaurant-v2-side-slot.is-right{grid-column:3}

.restaurant-v2-order-head{min-height:50px;padding:0 62px}
.restaurant-v2-order-head h2{font-size:28px}
.restaurant-v2-header-unit{position:absolute;left:4px;top:5px;max-width:180px;height:39px;padding:0 12px;border:1px solid rgba(87,183,213,.26);border-radius:11px;background:rgba(7,39,56,.8);color:#dff5f9;font:900 12px var(--font-ui);display:flex;align-items:center;gap:8px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.restaurant-v2-header-unit span{overflow:hidden;text-overflow:ellipsis}.restaurant-v2-header-unit i{font-style:normal;color:#65cfe2}
.restaurant-v2-order-close{top:6px;right:5px}
.restaurant-v2-order-compact{padding:7px 0 6px}
.restaurant-v2-service-toggle{min-height:52px;margin-bottom:6px}.restaurant-v2-service-toggle button{min-height:52px}.restaurant-v2-service-toggle button>b{font-size:15px}
.restaurant-v2-meta-grid{grid-template-columns:1fr 1fr;gap:6px}
.restaurant-v2-field{min-height:42px;padding:5px 7px;grid-template-columns:88px minmax(0,1fr)}
.restaurant-v2-customer-field{grid-column:1}.restaurant-v2-place-field{grid-column:2}.restaurant-v2-meal-field{grid-column:1/-1}
.restaurant-v2-field>span{font-size:12px}.restaurant-v2-input-wrap input,.restaurant-v2-place-input,.restaurant-v2-time{height:32px;font-size:13px}
.restaurant-v2-segment button{height:32px;font-size:11px}.restaurant-v2-place-input{flex-basis:92px}.restaurant-v2-time{flex-basis:92px}
.restaurant-v2-cart-section{padding-top:7px}.restaurant-v2-cart-head{margin-bottom:4px}.restaurant-v2-cart-head h3{font-size:24px}.restaurant-v2-cart-head>div span{font-size:10px}
.restaurant-v2-cart-columns,.restaurant-v2-cart-row{grid-template-columns:minmax(175px,1.65fr) 100px 112px 108px 36px}
.restaurant-v2-cart-list{gap:4px}.restaurant-v2-cart-row{min-height:48px;padding:4px 7px}.restaurant-v2-cart-name{font-size:18px}.restaurant-v2-cart-unit,.restaurant-v2-cart-line{font-size:14px}
.restaurant-v2-note{margin:5px 0}.restaurant-v2-note input{height:35px;font-size:12px}
.restaurant-v2-order-footer{padding-top:6px}.restaurant-v2-total{min-height:44px;margin-bottom:6px}.restaurant-v2-total strong{font-size:27px}.restaurant-v2-actions button{min-height:41px;font-size:11px}

.restaurant-v2-menu-drawer>header{min-height:58px;margin-bottom:9px;padding:0 42px}
.restaurant-v2-menu-drawer>header h2{font-size:27px}.restaurant-v2-menu-drawer>header span{font-size:11px}
.restaurant-v2-menu-drawer>header .dialog-x{top:9px;right:6px}
.restaurant-v2-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;align-content:start;padding:1px;overflow:auto}
.restaurant-v2-food-card{position:relative;min-height:112px;padding:17px 12px 12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;border-radius:17px;background:linear-gradient(150deg,rgba(8,39,56,.92),rgba(4,25,38,.96));overflow:visible}
.restaurant-v2-food-card h3{margin:0;width:100%;font-size:18px;line-height:1.45;text-align:center;color:#f6fbfc;white-space:normal;overflow:visible;text-overflow:clip;font-weight:900}
.restaurant-v2-food-card>strong{min-width:72%;padding:6px 10px;border:1px solid rgba(63,231,167,.42);border-radius:10px;background:linear-gradient(145deg,rgba(11,125,89,.28),rgba(7,78,60,.2));display:flex;align-items:center;justify-content:center;gap:5px;color:#67f1bf;font-size:18px;line-height:1}
.restaurant-v2-food-card>strong small{font-size:10px;color:#9ff1d1;font-weight:800}
.restaurant-v2-food-qty{position:absolute;top:9px;left:9px;min-width:32px;height:32px;padding:0 8px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(145deg,#1797d7,#176bb6);border:1px solid rgba(112,208,255,.6);color:#fff;font-size:15px;box-shadow:0 0 18px rgba(35,160,223,.2)}
.restaurant-v2-food-card.is-in-cart{border-color:rgba(72,225,173,.58);box-shadow:inset 0 0 24px rgba(58,210,162,.05),0 0 18px rgba(56,204,164,.08)}
.restaurant-v2-food-add{min-height:112px;border-style:dashed;border-color:rgba(78,206,231,.35);background:linear-gradient(145deg,rgba(10,57,75,.72),rgba(4,31,45,.82))}
.restaurant-v2-food-add-icon{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(81,224,239,.55);background:rgba(33,168,196,.12);color:#65e4ef;font-size:28px;line-height:1}
.restaurant-v2-food-add h3{font-size:18px;color:#8beaf1}.restaurant-v2-food-add>small{font-size:10px;color:#789eaa;text-align:center}

.restaurant-quick-food-dialog{width:min(460px,calc(100vw - 26px))}
.restaurant-quick-food-form{display:grid;gap:12px;margin-top:14px}.restaurant-quick-food-form>label{display:grid;gap:6px}.restaurant-quick-food-form>label>span{font-size:13px;font-weight:900}.restaurant-quick-food-form input{height:46px;border:1px solid rgba(74,178,211,.2);border-radius:12px;background:rgba(5,28,42,.7);color:#eefafd;padding:0 12px;font:15px var(--font-ui);outline:0}

/* Light counterpart for the exact same structure. */
.restaurant-body.is-light .restaurant-v2-header-tool{background:#fff;color:#244b5a;border-color:rgba(40,115,144,.18);box-shadow:0 8px 20px rgba(50,91,108,.08)}
.restaurant-body.is-light .restaurant-v2-header-new{background:linear-gradient(145deg,#1bbf6e,#0ca85c);border-color:rgba(11,159,83,.32);box-shadow:0 0 24px rgba(21,185,104,.18),0 10px 22px rgba(55,104,89,.12)}
.restaurant-body.is-light .restaurant-v2-watermark{opacity:.05;filter:grayscale(1) opacity(.8)}
.restaurant-body.is-light .restaurant-v2-header-unit{background:#f8fbfc;color:#315b68;border-color:rgba(34,110,139,.16)}
.restaurant-body.is-light .restaurant-v2-food-card{background:linear-gradient(150deg,#fff,#f4fafc);border-color:rgba(40,113,140,.14);box-shadow:0 8px 20px rgba(42,87,104,.07)}
.restaurant-body.is-light .restaurant-v2-food-card h3{color:#173946}
.restaurant-body.is-light .restaurant-v2-food-card>strong{background:linear-gradient(145deg,#ebfff7,#e2f8ef);border-color:rgba(18,159,111,.25);color:#087b5a}
.restaurant-body.is-light .restaurant-v2-food-card>strong small{color:#3a806a}
.restaurant-body.is-light .restaurant-v2-food-add{background:linear-gradient(145deg,#f4fcfd,#edf8fb);border-color:rgba(35,155,185,.28)}
.restaurant-body.is-light .restaurant-v2-food-add h3{color:#127d99}.restaurant-body.is-light .restaurant-v2-food-add>small{color:#67818b}
.restaurant-body.is-light .restaurant-quick-food-form input{background:#fff;color:#173946;border-color:rgba(38,111,139,.16)}

@media(max-width:1380px){
  .restaurant-v2-header-manage{left:125px}.restaurant-v2-header-tool{padding-inline:12px;font-size:11px}.restaurant-v2-header-new{right:76px;padding-inline:15px;font-size:13px}
  .restaurant-v2-floating-workspace{grid-template-columns:minmax(285px,1fr) minmax(545px,620px) minmax(285px,1fr);gap:8px}
  .restaurant-v2-food-card h3{font-size:16px}.restaurant-v2-food-card>strong{font-size:16px}
}
@media(max-width:1080px){
  .restaurant-v2-header-manage{display:none}.restaurant-v2-header-new{right:68px;top:15px;height:40px;padding-inline:12px;font-size:11px}
  .restaurant-v2-overlay{padding-top:170px}.restaurant-v2-floating-workspace{height:calc(100dvh - 180px);grid-template-columns:1fr minmax(500px,620px) 1fr}
  .restaurant-v2-side-slot{position:relative}.restaurant-v2-menu-drawer{position:absolute;inset:0;width:min(390px,44vw);z-index:3}.restaurant-v2-side-slot.is-left .restaurant-v2-menu-drawer{left:0}.restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{right:0}
}
@media(max-width:820px){
  .restaurant-v2-header-new{right:62px}.restaurant-v2-command{grid-template-columns:1fr;direction:rtl}.restaurant-v2-brand{grid-row:1}.restaurant-v2-category-cluster{grid-template-columns:repeat(4,minmax(0,1fr))}.restaurant-v2-overlay{padding:150px 5px 5px}.restaurant-v2-floating-workspace{display:block;width:100%;height:calc(100dvh - 156px)}.restaurant-v2-order-modal{width:100%;height:100%}.restaurant-v2-side-slot{position:absolute;inset:0;pointer-events:none}.restaurant-v2-menu-drawer{position:absolute;inset:0;width:min(430px,96vw);height:100%;pointer-events:auto;z-index:5}.restaurant-v2-side-slot.is-left .restaurant-v2-menu-drawer{left:0;right:auto}.restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{right:0;left:auto}
}


/* ===== Restaurant contained scrolling + category identity v16.5.109 ===== */
.restaurant-v2 .dashboard-global-header{padding-inline:14px}
.restaurant-v2-header-manage{left:122px}
.restaurant-v2-header-new{right:74px}

/* Keep the page stationary while the non-blocking editor is open; controls remain clickable. */
.restaurant-order-open{overflow:hidden;overscroll-behavior:none}
.restaurant-v2-overlay{overflow:hidden}
.restaurant-v2-floating-workspace{height:auto;max-height:calc(100dvh - 198px);align-items:start}
.restaurant-v2-side-slot{height:min(735px,calc(100dvh - 198px));min-height:0}
.restaurant-v2-order-modal{height:auto;max-height:min(735px,calc(100dvh - 198px));align-self:start;min-height:0}
.restaurant-v2-order-head,.restaurant-v2-order-compact,.restaurant-v2-note,.restaurant-v2-order-footer{flex:0 0 auto}
.restaurant-v2-cart-section{flex:1 1 auto;min-height:0;overflow:hidden;padding-top:4px}
.restaurant-v2-cart-list{flex:1 1 auto;min-height:0;max-height:410px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.restaurant-v2-menu-grid{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
.restaurant-v2-cart-list,.restaurant-v2-menu-grid{scrollbar-width:thin;scrollbar-color:rgba(73,198,220,.58) rgba(3,20,31,.22)}
.restaurant-v2-cart-list::-webkit-scrollbar,.restaurant-v2-menu-grid::-webkit-scrollbar{width:7px}
.restaurant-v2-cart-list::-webkit-scrollbar-track,.restaurant-v2-menu-grid::-webkit-scrollbar-track{background:rgba(3,20,31,.22);border-radius:999px}
.restaurant-v2-cart-list::-webkit-scrollbar-thumb,.restaurant-v2-menu-grid::-webkit-scrollbar-thumb{background:rgba(73,198,220,.58);border-radius:999px}

/* Food-group panels: tighter header, no count label, category-specific identity. */
.restaurant-v2-menu-drawer{--drawer-tone:#35cfe2;border-color:color-mix(in srgb,var(--drawer-tone) 36%,transparent);box-shadow:0 32px 90px rgba(0,0,0,.48),inset 0 0 28px color-mix(in srgb,var(--drawer-tone) 4%,transparent)}
.restaurant-v2-menu-drawer[data-category="all"]{--drawer-tone:#35cfe2}
.restaurant-v2-menu-drawer[data-category="kebab"]{--drawer-tone:#ff536c}
.restaurant-v2-menu-drawer[data-category="rice-kebab"]{--drawer-tone:#efc443}
.restaurant-v2-menu-drawer[data-category="stew"]{--drawer-tone:#60d19b}
.restaurant-v2-menu-drawer[data-category="stew-rice"]{--drawer-tone:#59bafa}
.restaurant-v2-menu-drawer[data-category="starter"]{--drawer-tone:#8c83ff}
.restaurant-v2-menu-drawer[data-category="drink"]{--drawer-tone:#cf70dc}
.restaurant-v2-menu-drawer[data-category="misc"]{--drawer-tone:#45d7b5}
.restaurant-v2-menu-drawer>header{min-height:48px;margin-bottom:7px;padding:0 38px 4px;align-items:flex-start;border-bottom-color:color-mix(in srgb,var(--drawer-tone) 22%,transparent)}
.restaurant-v2-menu-drawer>header>div{width:100%;text-align:center}
.restaurant-v2-menu-drawer>header h2{margin:0;color:color-mix(in srgb,var(--drawer-tone) 72%,white);font-size:29px;line-height:1.12;text-shadow:0 0 18px color-mix(in srgb,var(--drawer-tone) 22%,transparent)}
.restaurant-v2-menu-drawer>header .dialog-x{top:0;right:0}
.restaurant-v2-food-card{border-color:color-mix(in srgb,var(--drawer-tone) 28%,rgba(69,174,208,.12));background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 7%,rgba(8,39,56,.94)),rgba(4,25,38,.97));box-shadow:inset 0 0 20px color-mix(in srgb,var(--drawer-tone) 3%,transparent)}
.restaurant-v2-food-card:hover{border-color:color-mix(in srgb,var(--drawer-tone) 66%,white 4%);box-shadow:0 10px 26px color-mix(in srgb,var(--drawer-tone) 10%,transparent)}
.restaurant-v2-food-card.is-in-cart{border-color:color-mix(in srgb,var(--drawer-tone) 72%,#5de6b8);box-shadow:inset 0 0 26px color-mix(in srgb,var(--drawer-tone) 8%,transparent),0 0 18px color-mix(in srgb,var(--drawer-tone) 9%,transparent)}
.restaurant-v2-food-qty{background:linear-gradient(145deg,color-mix(in srgb,var(--drawer-tone) 82%,#168dcc),color-mix(in srgb,var(--drawer-tone) 66%,#115a92));border-color:color-mix(in srgb,var(--drawer-tone) 65%,white);box-shadow:0 0 18px color-mix(in srgb,var(--drawer-tone) 24%,transparent)}
.restaurant-v2-food-add{border-color:color-mix(in srgb,var(--drawer-tone) 45%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--drawer-tone) 9%,rgba(10,57,75,.74)),rgba(4,31,45,.84))}
.restaurant-v2-food-add-icon{border-color:color-mix(in srgb,var(--drawer-tone) 62%,white 4%);background:color-mix(in srgb,var(--drawer-tone) 12%,transparent);color:color-mix(in srgb,var(--drawer-tone) 74%,white)}
.restaurant-v2-food-add h3{color:color-mix(in srgb,var(--drawer-tone) 74%,white)}

/* The redundant receipt/cart heading is intentionally removed; columns start immediately. */
.restaurant-v2-cart-columns{margin-top:1px}

/* Light theme keeps exactly the same scrolling and per-category identity. */
.restaurant-body.is-light .restaurant-v2-menu-drawer{border-color:color-mix(in srgb,var(--drawer-tone) 28%,rgba(39,111,139,.1));box-shadow:0 24px 64px rgba(38,75,91,.16),inset 0 0 24px color-mix(in srgb,var(--drawer-tone) 4%,transparent)}
.restaurant-body.is-light .restaurant-v2-menu-drawer>header{border-bottom-color:color-mix(in srgb,var(--drawer-tone) 20%,transparent)}
.restaurant-body.is-light .restaurant-v2-menu-drawer>header h2{color:color-mix(in srgb,var(--drawer-tone) 78%,#233d49);text-shadow:none}
.restaurant-body.is-light .restaurant-v2-food-card{background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 4%,#fff),#f7fbfc);border-color:color-mix(in srgb,var(--drawer-tone) 25%,rgba(40,113,140,.1));box-shadow:0 8px 20px rgba(42,87,104,.06)}
.restaurant-body.is-light .restaurant-v2-food-card:hover{border-color:color-mix(in srgb,var(--drawer-tone) 52%,#6a7f88);box-shadow:0 10px 24px color-mix(in srgb,var(--drawer-tone) 8%,rgba(42,87,104,.1))}
.restaurant-body.is-light .restaurant-v2-food-add{background:linear-gradient(145deg,color-mix(in srgb,var(--drawer-tone) 5%,#f8fdfe),#eef8fa);border-color:color-mix(in srgb,var(--drawer-tone) 32%,rgba(35,155,185,.15))}
.restaurant-body.is-light .restaurant-v2-cart-list,.restaurant-body.is-light .restaurant-v2-menu-grid{scrollbar-color:color-mix(in srgb,var(--drawer-tone,#35cfe2) 48%,#7ea5b3) rgba(43,93,111,.08)}

@media(max-width:1380px){
  .restaurant-v2 .dashboard-global-header{padding-inline:12px}
  .restaurant-v2-header-manage{left:116px}
  .restaurant-v2-header-new{right:70px}
  .restaurant-v2-cart-list{max-height:360px}
}
@media(max-width:1080px){
  .restaurant-v2-header-new{right:62px}
  .restaurant-v2-floating-workspace{max-height:calc(100dvh - 180px)}
  .restaurant-v2-side-slot,.restaurant-v2-order-modal{max-height:calc(100dvh - 180px);height:calc(100dvh - 180px)}
  .restaurant-v2-cart-list{max-height:none}
}
@media(max-width:820px){
  .restaurant-v2 .dashboard-global-header{padding-inline:8px}
  .restaurant-v2-header-new{right:58px}
  .restaurant-v2-side-slot,.restaurant-v2-order-modal{height:calc(100dvh - 156px);max-height:calc(100dvh - 156px)}
}

/* ===== Restaurant scroll-side, auto-reveal & vivid group palette v16.5.110 ===== */
/* Put every internal vertical scrollbar on the user's right while keeping Persian content RTL. */
.restaurant-v2-cart-list,
.restaurant-v2-menu-grid{
  direction:ltr;
  display:block;
}
.restaurant-v2-cart-list-inner{
  direction:rtl;
  width:100%;
  display:grid;
  align-content:start;
  gap:4px;
}
.restaurant-v2-menu-grid-inner{
  direction:rtl;
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  align-content:start;
}
.restaurant-v2-cart-list-inner>.restaurant-cart-empty{direction:rtl}

/* Make the eight food groups unmistakably different, not just slightly different teal variants. */
.restaurant-v2-category.tone-all{--cat:#22c7d9}       /* cyan */
.restaurant-v2-category.tone-kebab{--cat:#ff4f64}    /* red */
.restaurant-v2-category.tone-rice{--cat:#ff9f2f}     /* orange */
.restaurant-v2-category.tone-stew{--cat:#35d07f}     /* green */
.restaurant-v2-category.tone-stewrice{--cat:#3b82f6} /* blue */
.restaurant-v2-category.tone-starter{--cat:#8f63ff}  /* purple */
.restaurant-v2-category.tone-drink{--cat:#ef5bbb}    /* pink */
.restaurant-v2-category.tone-misc{--cat:#f2c94c}     /* yellow */
.restaurant-v2-category{
  border-color:color-mix(in srgb,var(--cat) 64%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--cat) 18%,rgba(4,28,43,.98)),color-mix(in srgb,var(--cat) 7%,rgba(3,23,36,.96)));
  box-shadow:inset 0 0 24px color-mix(in srgb,var(--cat) 5%,transparent);
}
.restaurant-v2-category small{color:color-mix(in srgb,var(--cat) 82%,white)}
.restaurant-v2-category:hover,
.restaurant-v2-category.is-active{
  border-color:color-mix(in srgb,var(--cat) 88%,white 6%);
  background:linear-gradient(145deg,color-mix(in srgb,var(--cat) 28%,rgba(7,32,47,.96)),color-mix(in srgb,var(--cat) 12%,rgba(3,24,37,.98)));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--cat) 34%,transparent),0 10px 30px color-mix(in srgb,var(--cat) 22%,transparent),inset 0 0 24px color-mix(in srgb,var(--cat) 7%,transparent);
}

/* Side panel and its food cards inherit a visibly stronger category identity. */
.restaurant-v2-menu-drawer[data-category="all"]{--drawer-tone:#22c7d9}
.restaurant-v2-menu-drawer[data-category="kebab"]{--drawer-tone:#ff4f64}
.restaurant-v2-menu-drawer[data-category="rice-kebab"]{--drawer-tone:#ff9f2f}
.restaurant-v2-menu-drawer[data-category="stew"]{--drawer-tone:#35d07f}
.restaurant-v2-menu-drawer[data-category="stew-rice"]{--drawer-tone:#3b82f6}
.restaurant-v2-menu-drawer[data-category="starter"]{--drawer-tone:#8f63ff}
.restaurant-v2-menu-drawer[data-category="drink"]{--drawer-tone:#ef5bbb}
.restaurant-v2-menu-drawer[data-category="misc"]{--drawer-tone:#f2c94c}
.restaurant-v2-menu-drawer{
  background:linear-gradient(160deg,color-mix(in srgb,var(--drawer-tone) 15%,#072232),color-mix(in srgb,var(--drawer-tone) 5%,#03141f));
  border-color:color-mix(in srgb,var(--drawer-tone) 58%,transparent);
  box-shadow:0 32px 90px rgba(0,0,0,.48),inset 0 0 42px color-mix(in srgb,var(--drawer-tone) 8%,transparent);
}
.restaurant-v2-food-card{
  border-color:color-mix(in srgb,var(--drawer-tone) 54%,transparent);
  background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 16%,rgba(8,39,56,.95)),color-mix(in srgb,var(--drawer-tone) 6%,rgba(4,25,38,.98)));
  box-shadow:inset 0 0 24px color-mix(in srgb,var(--drawer-tone) 7%,transparent);
}
.restaurant-v2-food-card:hover{
  border-color:color-mix(in srgb,var(--drawer-tone) 84%,white 5%);
  background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 23%,rgba(8,39,56,.95)),color-mix(in srgb,var(--drawer-tone) 9%,rgba(4,25,38,.98)));
  box-shadow:0 10px 28px color-mix(in srgb,var(--drawer-tone) 18%,transparent),inset 0 0 26px color-mix(in srgb,var(--drawer-tone) 8%,transparent);
}
.restaurant-v2-food-card.is-in-cart{
  border-color:color-mix(in srgb,var(--drawer-tone) 92%,#baffea);
  background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 24%,rgba(8,39,56,.95)),color-mix(in srgb,var(--drawer-tone) 10%,rgba(4,25,38,.98)));
}
.restaurant-v2-food-add{
  border-color:color-mix(in srgb,var(--drawer-tone) 68%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--drawer-tone) 18%,rgba(10,57,75,.76)),color-mix(in srgb,var(--drawer-tone) 8%,rgba(4,31,45,.88)));
}

/* The just-selected order line stays visible and receives a short visual confirmation. */
.restaurant-v2-cart-row.is-recent{
  animation:restaurantV2RecentItem .82s ease-out;
}
@keyframes restaurantV2RecentItem{
  0%{outline:2px solid rgba(79,233,183,.58);outline-offset:-2px;box-shadow:0 0 0 2px rgba(79,233,183,.16),0 0 26px rgba(79,233,183,.20)}
  100%{outline:2px solid transparent;outline-offset:-2px;box-shadow:none}
}

/* Light theme keeps the same vivid group separation. */
.restaurant-body.is-light .restaurant-v2-category{
  background:linear-gradient(145deg,color-mix(in srgb,var(--cat) 15%,white),color-mix(in srgb,var(--cat) 5%,#fff));
  border-color:color-mix(in srgb,var(--cat) 58%,rgba(31,93,116,.12));
  box-shadow:inset 0 0 20px color-mix(in srgb,var(--cat) 5%,transparent);
}
.restaurant-body.is-light .restaurant-v2-category.is-active,
.restaurant-body.is-light .restaurant-v2-category:hover{
  background:linear-gradient(145deg,color-mix(in srgb,var(--cat) 25%,white),color-mix(in srgb,var(--cat) 10%,#fff));
  border-color:color-mix(in srgb,var(--cat) 76%,#6c8490);
}
.restaurant-body.is-light .restaurant-v2-menu-drawer{
  background:linear-gradient(160deg,color-mix(in srgb,var(--drawer-tone) 9%,#fff),color-mix(in srgb,var(--drawer-tone) 3%,#f4fafc));
  border-color:color-mix(in srgb,var(--drawer-tone) 46%,rgba(39,111,139,.1));
}
.restaurant-body.is-light .restaurant-v2-food-card{
  background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 11%,#fff),color-mix(in srgb,var(--drawer-tone) 3%,#f7fbfc));
  border-color:color-mix(in srgb,var(--drawer-tone) 42%,rgba(40,113,140,.1));
}
.restaurant-body.is-light .restaurant-v2-food-card:hover,
.restaurant-body.is-light .restaurant-v2-food-card.is-in-cart{
  background:linear-gradient(150deg,color-mix(in srgb,var(--drawer-tone) 18%,#fff),color-mix(in srgb,var(--drawer-tone) 6%,#f7fbfc));
  border-color:color-mix(in srgb,var(--drawer-tone) 70%,#728994);
}
.restaurant-body.is-light .restaurant-v2-food-add{
  background:linear-gradient(145deg,color-mix(in srgb,var(--drawer-tone) 12%,#f8fdfe),color-mix(in srgb,var(--drawer-tone) 4%,#eef8fa));
  border-color:color-mix(in srgb,var(--drawer-tone) 50%,rgba(35,155,185,.15));
}
\n\n/* ===== Restaurant breakfast, spacing & readability v16.5.111 ===== */\n/* Lift close controls so they no longer visually sink into the header. */\nhtml body.restaurant-v2 .restaurant-v2-order-close{top:-4px;right:1px}\nhtml body.restaurant-v2 .restaurant-unit-dialog>.dialog-x{top:2px;right:7px;left:auto}\n\n/* Keep table/bed selector and its number field in dedicated grid tracks; no overlap. */\n.restaurant-v2-place-row{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:6px;align-items:center;width:100%;min-width:0}\n.restaurant-v2-place-row .restaurant-v2-segment{min-width:0;width:100%}\n.restaurant-v2-place-input{width:86px;min-width:0;max-width:86px;flex:none;padding-inline:7px;text-align:center}\n.restaurant-v2-place-input[hidden]{display:none}\n.restaurant-v2-place-row:has(.restaurant-v2-place-input[hidden]){grid-template-columns:1fr}\n\n/* Four meal choices fit cleanly: no meal is default, then breakfast, lunch, dinner. */\n.restaurant-v2-meal-row{display:grid;grid-template-columns:minmax(0,1fr) 92px;gap:6px;align-items:center;width:100%;min-width:0}\n.restaurant-v2-meal-segment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%}\n.restaurant-v2-meal-segment button{padding-inline:5px;font-size:12px}\n.restaurant-v2-time{width:92px;max-width:92px;flex:none}\n.restaurant-v2-time:disabled{opacity:.42;cursor:not-allowed}\n\n/* Taller unit picker: more rows visible before internal scrolling starts. */\n.restaurant-unit-dialog{max-height:min(92dvh,900px)}\n.restaurant-unit-dialog[open]{min-height:min(86dvh,840px)}\n.restaurant-unit-grid{max-height:min(70dvh,690px)}\n\n/* Numbers in the order list are operational data: make them easy to read at a glance. */\n.restaurant-v2-cart-columns{font-size:12px}\n.restaurant-v2-cart-unit,.restaurant-v2-cart-line{font-size:17px;letter-spacing:.15px}\n.restaurant-v2-cart-stepper b{font-size:17px}\n.restaurant-v2-cart-stepper button{font-size:20px}\n.restaurant-v2-cart-remove{font-size:22px}\n\n/* Button typography should match the physical size of the controls. */\n.restaurant-v2-header-tool{font-size:14px}\n.restaurant-v2-header-new{font-size:15px}\n.restaurant-v2-service-toggle button>b{font-size:16px}\n.restaurant-v2-service-toggle button>small{font-size:11px}\n.restaurant-v2-segment button{font-size:12.5px}\n.restaurant-v2-actions button{font-size:14px;font-weight:900;min-height:44px}\n.restaurant-dialog-primary,.restaurant-confirm-danger,.restaurant-dialog-actions button{font-size:14px;font-weight:900}\n.restaurant-unit-search input{font-size:14px}\n.restaurant-unit-legend span{font-size:11px}\n.restaurant-unit-card__state{font-size:10px}.restaurant-unit-card>strong{font-size:17px}.restaurant-unit-card>small,.restaurant-unit-card>em{font-size:11px}\n\n/* Breakfast inherits the former left-most quick-group slot but has its own warm identity. */\n.restaurant-v2-category.tone-misc{--cat:#f2c94c}\n.restaurant-v2-menu-drawer[data-category="misc"]{--drawer-tone:#f2c94c}\n\n@media(max-width:1380px){\n  .restaurant-v2-place-row{grid-template-columns:minmax(0,1fr) 76px}\n  .restaurant-v2-place-input{width:76px;max-width:76px}\n  .restaurant-v2-meal-row{grid-template-columns:minmax(0,1fr) 84px}\n  .restaurant-v2-time{width:84px;max-width:84px}\n  .restaurant-v2-meal-segment button{font-size:11px;padding-inline:3px}\n}\n@media(max-width:820px){\n  .restaurant-v2-place-row,.restaurant-v2-meal-row{grid-template-columns:1fr}\n  .restaurant-v2-place-input,.restaurant-v2-time{width:100%;max-width:none}\n  .restaurant-v2-meal-segment{grid-template-columns:repeat(2,minmax(0,1fr))}\n  .restaurant-unit-dialog[open]{min-height:0}\n}\n

/* v16.5.113: reservation calendar and genuinely responsive compact mobile booking cards. */
.jalali-day.is-reserved,.jalali-day.is-reserved:disabled{background:#d5aa33;color:#142b38;border:1px solid #f7dc70;opacity:1;cursor:not-allowed;box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}
.jalali-day.is-occupied,.jalali-day.is-occupied:disabled{background:#b73548;color:#fff4f4;border:1px solid #e75d6d;opacity:1;cursor:not-allowed;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.jalali-day.is-reserved.is-today,.jalali-day.is-occupied.is-today{outline:2px solid rgba(255,255,255,.65);outline-offset:-4px}
@media(max-width:760px){
  /* Center the unit name independent of the dismiss control. */
  .unit-detail-dialog .unit-info-title--hero{
    width:100%;box-sizing:border-box;min-height:94px;margin:0 auto;
    padding:4px 52px 3px;display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;gap:3px;
  }
  .unit-detail-dialog .unit-info-title--hero span{width:100%;margin:0;text-align:center}
  .unit-detail-dialog .unit-info-title--hero h2{
    width:100%;margin:0;max-width:100%;font-size:clamp(33px,9.5vw,44px);
    line-height:1.08;text-align:center;overflow-wrap:anywhere;
  }
  .unit-detail-dialog .dialog-x.dialog-x--bare{
    position:fixed;left:10px;top:45px;width:42px;height:42px;display:grid;place-items:center;
    line-height:1;margin:0;padding:0;
  }
  .unit-detail-dialog .unit-hero-summary{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}
  .unit-detail-dialog .unit-hero-card{min-width:0;max-width:100%;overflow:hidden;padding:6px 4px;gap:3px}
  .unit-detail-dialog .unit-hero-card>div{width:100%;min-width:0;max-width:100%;overflow:hidden}
  .unit-detail-dialog .unit-hero-card strong{display:block;width:100%;max-width:100%;font-size:clamp(13px,3.7vw,18px);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:clip;font-variant-numeric:tabular-nums}
  .unit-detail-dialog .unit-hero-card.is-price strong{font-size:clamp(12px,3.2vw,16px);direction:ltr;unicode-bidi:plaintext}
  .unit-detail-dialog .unit-hero-card small{font-size:clamp(10px,2.7vw,12px);line-height:1.25;overflow-wrap:anywhere}
}
@media(max-width:360px){
  .unit-detail-dialog .unit-hero-card.is-price strong{font-size:11px}
  .unit-detail-dialog .unit-info-title--hero h2{font-size:32px}
}


/* 16.5.114: two-click unified booking date range selection; other calendars unaffected. */
.jalali-range-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:38px;margin:0 0 12px}
.jalali-range-hint{min-width:0;flex:1;margin:0;line-height:1.6;font-size:14px;color:#a9e3dc;font-weight:650}
.jalali-range-hint[data-type="error"]{color:#ffacb6}
.jalali-range-restart{padding:7px 10px;border:1px solid rgba(152,192,213,.28);background:rgba(255,255,255,.04);color:#e7d5a0;font:inherit;font-size:12px;border-radius:10px;white-space:nowrap;cursor:pointer}
.jalali-range-toolbar:has(.jalali-range-hint[hidden]){display:none}
.jalali-date-dialog .jalali-day.is-range-interior:not(:disabled),
.jalali-date-dialog .jalali-day.is-range-preview:not(:disabled){background:#1e6875;color:#e5fbf4;border-color:#4399a2;box-shadow:inset 0 0 0 1px rgba(153,238,225,.15)}
.jalali-date-dialog .jalali-day.is-range-start:not(:disabled),
.jalali-date-dialog .jalali-day.is-range-end:not(:disabled){background:linear-gradient(135deg,#38b979,#71dcaa);color:#032d24;border-color:#b8f8d5;box-shadow:0 2px 16px rgba(45,192,133,.24);font-weight:800}
.jalali-date-dialog .jalali-day.is-range-conflict-preview:not(.is-reserved):not(.is-occupied){background:#702b3e;color:#ffdae0;border-color:#d45e78}
.jalali-date-dialog .jalali-day.is-reserved:disabled{background:#d5aa33;color:#142b38;border-color:#f7dc70;opacity:1;filter:none}
.jalali-date-dialog .jalali-day.is-occupied:disabled{background:#b73548;color:#fff4f4;border-color:#e75d6d;opacity:1;filter:none}
@media(max-width:760px){.jalali-range-hint{font-size:12px}.jalali-range-toolbar{margin-bottom:8px}.jalali-range-restart{font-size:11px;padding:6px 7px}}

/* Override legacy high-specificity universal close-button sizing only in mobile booking. */
@media(max-width:760px){
  html body .unit-detail-dialog > .dialog-x.dialog-x.dialog-x.dialog-x.dialog-x{
    position:fixed;top:42px;left:10px;width:42px;height:42px;min-width:42px;min-height:42px;
    padding:0;display:grid;place-items:center;line-height:1;font-size:34px;
  }
}

/* v16.5.115 — ordered, intrinsic-ratio backgrounds over dark base */
.landing-shell.is-manual-background{background:#061b29}
.landing-shell.is-manual-background>.landing-manual-background{position:absolute;inset:0 0 auto;z-index:0;display:block;overflow:hidden;background:transparent}
.landing-manual-background .landing-art-stack{width:100%;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:0}
.landing-manual-background .landing-art-stack img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;object-position:center top;aspect-ratio:auto}
.landing-manual-background .landing-art-stack--mobile{display:none}
.landing-shell.is-manual-background .landing-stage,.landing-shell.is-manual-background .reservation-hub,.landing-shell.is-manual-background .home-seo-intro{background:transparent}
.home-bg-extra-slots{display:grid;gap:10px;margin-top:10px}
.home-bg-extra-slots label{display:grid;gap:6px;font-size:12px;color:#c8d7e3}
@media(max-width:760px){.landing-manual-background .landing-art-stack--desktop{display:none}.landing-manual-background .landing-art-stack--mobile{display:grid}}

/* v16.5.115 — customer approval workflow, payment receipt and signal-rain status */
.customer-lifecycle-content{isolation:isolate}
.customer-lifecycle-main{position:relative;z-index:1}
.customer-signal-rain{position:absolute;z-index:0;left:0;top:0;bottom:0;width:min(28%,245px);pointer-events:none;overflow:hidden;opacity:.7;
  --signal-color:rgba(248,80,102,.7);mask-image:linear-gradient(to right,#000 20%,transparent 98%)}
.customer-signal-rain::before,.customer-signal-rain::after{content:"";position:absolute;inset:-120% 0 0;
  background-image:radial-gradient(circle,var(--signal-color) 1px,transparent 2px);
  background-size:13px 15px;animation:customerSignalFall 13s linear infinite;opacity:.7}
.customer-signal-rain::after{background-size:19px 21px;transform:translateX(5px);animation-duration:19s;opacity:.45}
.customer-panel-shell[data-account-mode="confirmed"] .customer-signal-rain{--signal-color:rgba(245,194,55,.85)}
.customer-panel-shell[data-account-mode="checked_in"] .customer-signal-rain{--signal-color:rgba(65,224,145,.85)}
@keyframes customerSignalFall{from{translate:0 0}to{translate:0 50%}}
.customer-request-actions{grid-column:1/-1;display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px}
.customer-request-cancel{min-height:44px;padding:0 25px;border-radius:13px;border:1px solid rgba(252,104,120,.4);background:rgba(160,42,63,.22);color:#ffd3d8;font:700 14px var(--font-ui);cursor:pointer}
.customer-request-cancel:disabled{opacity:.5}
.customer-payment-total{display:grid;gap:10px;justify-items:center;text-align:center;padding:21px;border:1px solid rgba(227,184,57,.28);border-radius:20px;background:rgba(148,112,16,.1)}
.customer-payment-total small{color:#afbec9}.customer-payment-total strong{color:#f1d45d;font-size:clamp(19px,2.6vw,31px)}
.customer-payment-total span{color:#c2dae3}.customer-payment-total a{color:#ffd96e}
.customer-receipt-form{grid-column:1/-1;display:grid;gap:11px;grid-template-columns:minmax(0,1fr) auto;align-items:end}
.customer-receipt-form label{display:grid;gap:9px;font-size:13px;color:#c9d9e0}
.customer-receipt-form input{max-width:100%;min-width:0;padding:12px;border:1px solid #28546b;border-radius:13px;color:#e4f4f7;background:#0a2738}
.customer-receipt-form button{min-height:48px;padding:0 24px;border:0;border-radius:14px;color:#132634;font:700 14px var(--font-ui);background:linear-gradient(100deg,#d4ab3d,#f1d66c);cursor:pointer}
.customer-receipt-form button:disabled{opacity:.55}.customer-receipt-status{grid-column:1/-1;margin:0;color:#e7c45c}
.manager-payment-stage{display:block;margin:7px 0;font:700 13px var(--font-ui);color:#efd06b}
.pending-booking-card[data-approval-stage="receipt_submitted"]{border-color:rgba(247,209,83,.47)}
.pending-booking-actions a{min-height:40px;display:inline-grid;place-items:center;padding:0 13px;border:1px solid #2d6778;border-radius:12px;color:#c7edf3;text-decoration:none}
.manager-receipt-dialog{width:min(850px,96vw);max-height:90dvh;border:1px solid #306078;border-radius:22px;padding:12px;background:#061e2e;color:#f9eed3}
.manager-receipt-dialog::backdrop{background:rgba(0,5,12,.84);backdrop-filter:blur(6px)}
.manager-receipt-dialog img{display:block;max-height:75dvh;max-width:100%;width:auto;height:auto;object-fit:contain;margin:10px auto;border-radius:9px}
.manager-receipt-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:5px 10px}
.manager-receipt-toolbar a{color:#edcc61}.manager-receipt-toolbar button{padding:8px 15px;border-radius:10px;border:1px solid #436476;background:#14394c;color:#f4e9cc;cursor:pointer}
@media(max-width:760px){.customer-receipt-form{grid-template-columns:1fr}.customer-request-actions>*{flex:1 1 130px}.customer-payment-total{padding:14px}.customer-signal-rain{width:38%;opacity:.48}.manager-receipt-dialog{padding:8px}.manager-receipt-toolbar{font-size:12px}}
@media(prefers-reduced-motion:reduce){.customer-signal-rain::before,.customer-signal-rain::after{animation:none}}

.customer-booking-card .customer-request-cancel{margin:9px 12px;width:calc(100% - 24px)}
.customer-history-receipt-link{display:inline-block;margin:9px 12px;color:#e7c55a;font-weight:700}
.customer-arrival-progress{grid-column:1/-1;display:grid;gap:8px}
.customer-arrival-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#b7a171;font-size:12px}
.customer-arrival-progress-head b{color:#ffdd72}
.customer-arrival-progress-track{height:15px;background:#17252a;border:1px solid rgba(249,200,85,.25);border-radius:20px;overflow:hidden;direction:ltr}
.customer-arrival-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ad8920,#e3c247,#f8e188);box-shadow:0 0 12px #ddbf4488;transition:width 1s linear}
.customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-fill{background:linear-gradient(90deg,#168e55,#42c789,#8bf3b7)}

.customer-receipt-file-picker{position:relative;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;min-height:49px;padding:9px 14px;border:1px solid #2a6879;border-radius:13px;background:#0a2d3e;cursor:pointer;color:#e5eef3}
.customer-receipt-file-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.customer-receipt-file-picker b{font-size:13px;color:#e4c75c}.customer-receipt-file-picker>span{font-size:11px;color:#abc3ce;overflow-wrap:anywhere}
.customer-receipt-file-picker:focus-within{outline:2px solid #d8bb53;outline-offset:2px}

/* v16.5.116: animated particles belong to the page background, never cards/modal panels. */
.customer-panel-page{position:relative;isolation:isolate;background:linear-gradient(125deg,#061b28,#081e28 58%,#061624)}
.customer-page-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;--account-particle:rgba(242,81,96,.62)}
.customer-panel-page[data-account-mode="confirmed"] .customer-page-atmosphere{--account-particle:rgba(244,192,51,.7)}
.customer-panel-page[data-account-mode="checked_in"] .customer-page-atmosphere{--account-particle:rgba(55,224,132,.7)}
.customer-page-particles{position:absolute;inset:-100% 0 0 0;display:block;opacity:.7;
 background-image:radial-gradient(circle,var(--account-particle) 1.35px,transparent 2px);
 background-size:17px 19px;mask-image:linear-gradient(90deg,#000,rgba(0,0,0,.8) 40%,transparent 90%);
 animation:customerBackgroundFlow 25s linear infinite}
.customer-page-particles--secondary{background-size:29px 31px;animation-duration:38s;animation-delay:-17s;opacity:.38}
@keyframes customerBackgroundFlow{0%{transform:translateY(-18%)}100%{transform:translateY(37%)}}
.customer-global-header,.customer-panel-shell{position:relative;z-index:1}
.customer-signal-rain{display:none}
/* Center countdown/waiting message without changing status badge alignment. */
.customer-countdown-capsule,.customer-countdown-capsule strong,.customer-countdown-capsule span{text-align:center;justify-content:center}
.customer-countdown-capsule{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.customer-receipt-form{grid-template-columns:minmax(0,1fr) auto}
.customer-receipt-preview{grid-column:1/-1;display:grid;gap:7px;justify-items:center;padding:12px;border:1px dashed rgba(236,196,78,.45);border-radius:16px;background:rgba(2,15,28,.35)}
.customer-receipt-preview[hidden]{display:none}
.customer-receipt-preview img{display:block;width:min(100%,400px);max-height:260px;object-fit:contain;border-radius:11px}
.customer-receipt-preview span{color:#c7d9df;font-size:12px}
.customer-receipt-note-label{grid-column:1/-1}.customer-receipt-note-label textarea{width:100%;min-height:78px;max-height:210px;resize:vertical;border:1px solid #346177;border-radius:13px;padding:12px 14px;font:15px/1.8 var(--font-body);color:#f2f5f7;background:#0a2738}
.customer-receipt-note-label textarea:focus{outline:2px solid #d6b949;outline-offset:2px}
.customer-payment-not-final{color:#ffe08a;font-weight:700}.customer-receipt-sent-note{margin:0;color:#dce6ed;overflow-wrap:anywhere;text-align:center}
.manager-receipt-note,.manager-receipt-dialog-note{font:14px/1.85 var(--font-body);color:#f0d993;white-space:pre-wrap;overflow-wrap:anywhere}.manager-receipt-dialog-note{margin:9px 15px;padding:10px;border:1px solid rgba(240,205,95,.28);border-radius:11px}
@media(max-width:760px){.customer-receipt-form{grid-template-columns:1fr}.customer-receipt-form>button{width:100%}.customer-page-particles{opacity:.38;background-size:24px 26px}.customer-page-particles--secondary{opacity:.2}.customer-countdown-capsule{gap:5px}}
@media(prefers-reduced-motion:reduce){.customer-page-particles{animation:none}}

/* v16.5.117 — manager's current-guest / confirmed-reservations dossier */
.manager-operations-dialog{width:min(1030px,calc(100vw - 26px));max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;padding:clamp(14px,2.4vw,26px);color:var(--manager-text);}
.manager-operations-heading{position:relative;display:grid;gap:5px;padding:4px 0 19px 64px;border-bottom:1px solid var(--manager-line);}
.manager-operations-heading>span:first-child{font:15px var(--font-body);color:#d7b96a;}
.manager-operations-heading h2{margin:0;font-size:clamp(22px,2.8vw,31px);color:var(--manager-text);}
.manager-operations-badge{width:max-content;max-width:100%;border-radius:100px;padding:6px 15px;border:1px solid currentColor;font-size:12px;font-weight:700;}
.manager-operations-badge.is-occupied{color:#ff6b7d;background:rgba(254,73,103,.10);}
.manager-operations-badge.is-reserved{color:#eac451;background:rgba(231,188,55,.10);}
.manager-operations-body{display:grid;gap:15px;margin-top:17px;}
.manager-op-progress,.manager-op-section,.manager-op-reservation{border:1px solid var(--manager-line);border-radius:20px;padding:clamp(13px,2vw,20px);background:color-mix(in srgb,var(--manager-card) 84%,transparent);min-width:0;}
.manager-op-progress{background:linear-gradient(115deg,rgba(20,76,84,.3),rgba(8,43,62,.20));}
.manager-op-progress>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:14px;}
.manager-op-progress b{color:#9be9c8;font-weight:800;font-size:17px;}
.manager-op-progress-track{height:9px;margin-top:15px;background:rgba(255,255,255,.09);border-radius:100px;overflow:hidden;}
.manager-op-progress-track>span{display:block;height:100%;border-radius:100px;transition:width .75s linear;}
.manager-op-section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px;}
.manager-op-section-title:not(:first-child){margin-top:18px;}
.manager-op-section-title h3,.manager-op-section-title h4{font-size:18px;margin:0;color:var(--manager-text);}
.manager-op-section-title small{color:var(--manager-muted);font-size:12px;}
.manager-op-info-grid,.manager-op-money-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.manager-op-money-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.manager-op-info,.manager-op-money-total,.manager-op-money-balance{display:grid;gap:5px;padding:13px;border-radius:15px;border:1px solid var(--manager-line);background:rgba(12,48,66,.3);min-width:0;}
.manager-op-info span,.manager-op-money-total span,.manager-op-money-balance span{color:var(--manager-muted);font-size:12px;}
.manager-op-info strong,.manager-op-money-total strong,.manager-op-money-balance strong{color:var(--manager-text);font-size:16px;overflow-wrap:anywhere;}
.manager-op-money-total{background:rgba(7,106,82,.14);border-color:rgba(41,218,140,.34);}
.manager-op-money-total strong{font-size:20px;color:#85edbd;}
.manager-op-money-balance{background:rgba(219,170,46,.11);border-color:rgba(230,187,65,.32);}
.manager-op-money-balance strong{font-size:20px;color:#f4d976;}
.manager-op-reservation{border-color:rgba(226,192,75,.28);margin-bottom:10px;}
.manager-op-reservation.is-nearest{border-color:rgba(247,201,66,.65);box-shadow:0 0 20px rgba(223,177,50,.06);}
.manager-op-reservation-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px;}
.manager-op-reservation-head strong{font-size:19px;color:#ffe1a2;}
.manager-op-reservation-head span{font-size:12px;color:#f1cd66;}
.manager-op-action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px;}
.manager-op-action-row .manager-secondary-button,.manager-op-action-row .manager-primary-button{width:auto;min-width:150px;min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;}
.manager-op-companions,.manager-op-notes,.manager-op-finance-note{display:block;padding:12px 0;color:var(--manager-muted);line-height:1.85;font-size:13px;}
.manager-op-companions strong{color:var(--manager-text);}
.manager-op-ledger,.manager-op-orders{display:grid;gap:8px;}
.manager-op-ledger article,.manager-op-orders article{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid var(--manager-line);border-radius:14px;padding:12px;background:rgba(255,255,255,.025);}
.manager-op-ledger article>div,.manager-op-orders article>div{display:grid;gap:5px;min-width:0;flex:1 1 185px;}
.manager-op-ledger strong,.manager-op-orders strong{color:var(--manager-text);font-size:14px;}
.manager-op-ledger small,.manager-op-orders small,.manager-op-orders span{font-size:12px;line-height:1.8;color:var(--manager-muted);overflow-wrap:anywhere;}
.manager-op-ledger b,.manager-op-orders b{color:#e9d28a;font-size:15px;white-space:nowrap;}
.manager-op-ledger .manager-secondary-button{width:auto;min-height:35px;padding:6px 12px;font-size:12px;}
.manager-op-service-form{display:grid;gap:11px;padding:15px;border:1px solid var(--manager-line);border-radius:17px;margin-top:14px;}
.manager-op-service-form>div{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;}
.manager-op-service-form label{display:grid;gap:6px;font-size:13px;color:var(--manager-muted);}
.manager-op-service-form input,.manager-op-service-form textarea{min-width:0;width:100%;min-height:42px;padding:10px 12px;resize:vertical;border-radius:12px;border:1px solid var(--manager-line);color:var(--manager-text);background:rgba(4,24,37,.45);font-family:var(--font-ui);font-size:14px;}
.manager-op-service-form .manager-primary-button{min-height:42px;width:max-content;min-width:160px;max-width:100%;}
.manager-operations-footer{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:17px;padding-top:15px;border-top:1px solid var(--manager-line);}
.manager-operations-footer button{width:auto;min-width:155px;}
.manager-body.is-light .manager-op-service-form input,.manager-body.is-light .manager-op-service-form textarea{background:#fff;color:#183746;}
@media(max-width:650px){
  .manager-operations-dialog{width:calc(100vw - 12px);max-height:96dvh;padding:12px;border-radius:20px;}
  .manager-operations-heading{padding-left:53px;}
  .manager-op-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .manager-op-info-grid .manager-op-info strong{font-size:14px;}
  .manager-op-money-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .manager-op-progress>div:first-child{display:grid;}
  .manager-op-progress b{font-size:15px;}
  .manager-op-section{padding:11px;}
  .manager-op-section-title h3{font-size:16px;}
  .manager-op-service-form>div{grid-template-columns:1fr;}
  .manager-op-action-row>*{width:100%;}
  .manager-operations-footer button{flex:1 1 120px;min-width:0;}
}
@media(max-width:340px){.manager-op-info-grid,.manager-op-money-grid{grid-template-columns:1fr;}}

.manager-op-checkout-summary{border:1px solid var(--manager-line);border-radius:15px;padding:13px;margin:9px 0;color:var(--manager-text);}
.manager-op-checkout-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
@media(max-width:650px){.manager-op-checkout-grid{grid-template-columns:1fr;}}


/* v16.5.118 — public home reserve split + features + attractions */
.reserve-page-shell{min-height:100dvh;background:linear-gradient(180deg,#04131f 0%,#071d2d 32%,#051522 100%);color:#eef7fb}
.reserve-page-stage{position:relative;padding-bottom:12px;background:radial-gradient(circle at 12% 10%,rgba(232,196,83,.09),transparent 30%),radial-gradient(circle at 88% 18%,rgba(72,199,206,.09),transparent 30%),linear-gradient(180deg,#061a2a 0%,#082235 100%)}
.reserve-page-intro{padding:118px 0 26px}
.reserve-page-intro__inner{width:min(1100px,92vw);margin:0 auto;padding:34px clamp(22px,4vw,44px);border:1px solid rgba(236,207,104,.18);border-radius:30px;background:linear-gradient(145deg,rgba(10,36,54,.88),rgba(5,23,36,.9));box-shadow:0 26px 68px rgba(0,0,0,.22);text-align:center}
.reserve-page-intro__kicker{margin:0 0 14px;color:#e9c55a;font:700 13px/1.5 var(--font-ui);letter-spacing:.03em}
.reserve-page-intro h1{margin:0;color:#fff7da;font:700 clamp(31px,4.1vw,50px)/1.22 Nas,BYekan,sans-serif}
.reserve-page-intro__lead{max-width:860px;margin:18px auto 0;color:#cfe1e8;font:clamp(17px,1.4vw,20px)/1.95 var(--font-body)}
.reserve-page-intro__actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.home-why,.home-attractions{position:relative;z-index:4;padding:22px 0 34px;background:linear-gradient(180deg,#051522 0%,#061827 100%);color:#edf7fb}
.home-why__inner,.home-attractions__inner{width:min(1120px,92vw);margin:0 auto;padding:34px clamp(20px,4vw,44px);border:1px solid rgba(236,207,104,.16);border-radius:30px;background:linear-gradient(145deg,rgba(10,36,54,.9),rgba(5,23,36,.94));box-shadow:0 22px 58px rgba(0,0,0,.2);text-align:center}
.home-why__kicker,.home-attractions__kicker{margin:0 0 14px;color:#e9c55a;font:700 13px/1.5 var(--font-ui);letter-spacing:.03em}
.home-why h2,.home-attractions h2{margin:0;color:#fff7da;font:700 clamp(29px,3.6vw,45px)/1.25 Nas,BYekan,sans-serif}
.home-why__lead,.home-attractions__lead{max-width:900px;margin:17px auto 0;color:#d0e0e7;font:clamp(17px,1.35vw,19px)/1.9 var(--font-body)}
.home-why__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
.home-why-card{position:relative;min-width:0;padding:24px 18px 20px;border:1px solid rgba(255,255,255,.08);border-radius:22px;background:linear-gradient(155deg,rgba(255,255,255,.05),rgba(255,255,255,.018));overflow:hidden;box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.home-why-card::before{content:"";position:absolute;inset:auto 50% -80px auto;transform:translateX(50%);width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(235,200,90,.12),transparent 68%);pointer-events:none}
.home-why-card__icon{width:96px;height:96px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(236,207,104,.3);background:radial-gradient(circle at 50% 38%,rgba(255,255,255,.14),rgba(255,255,255,.04) 46%,rgba(7,24,35,.6) 70%);box-shadow:0 0 0 1px rgba(255,255,255,.03),0 0 24px rgba(237,191,83,.18),inset 0 0 24px rgba(255,255,255,.05)}
.home-why-card__icon span{position:relative;display:block;width:42px;height:42px}
.home-why-card h3{margin:0;color:#f6d56c;font:700 25px/1.4 Nas,BYekan,sans-serif}
.home-why-card p{margin:10px 0 0;color:#c3d4db;font:16px/1.9 var(--font-body)}
.home-why-card--shield .home-why-card__icon span::before{content:"";position:absolute;inset:2px 8px 6px;border:2px solid #f0d06b;border-radius:16px 16px 20px 20px/14px 14px 24px 24px;box-shadow:0 0 14px rgba(240,208,107,.32)}
.home-why-card--shield .home-why-card__icon span::after{content:"";position:absolute;left:50%;top:13px;width:12px;height:12px;border-right:3px solid #7ee5f0;border-bottom:3px solid #7ee5f0;transform:translateX(-50%) rotate(45deg)}
.home-why-card--family .home-why-card__icon span::before,.home-why-card--family .home-why-card__icon span::after{content:"";position:absolute;border-radius:50%;background:#f0d06b;box-shadow:0 0 10px rgba(240,208,107,.24)}
.home-why-card--family .home-why-card__icon span::before{width:14px;height:14px;top:4px;left:14px;box-shadow:18px 0 0 #7ee5f0,9px 12px 0 6px rgba(240,208,107,.95),27px 12px 0 6px rgba(126,229,240,.95)}
.home-why-card--family .home-why-card__icon span::after{width:8px;height:8px;top:10px;left:2px;background:#7ee5f0;box-shadow:38px 0 0 #f0d06b,10px 12px 0 7px #7ee5f0,28px 12px 0 7px #f0d06b}
.home-why-card--food .home-why-card__icon span::before{content:"";position:absolute;left:7px;top:5px;width:8px;height:30px;border-radius:8px;background:#f0d06b;box-shadow:18px 0 0 #7ee5f0,24px 0 0 #7ee5f0,30px 0 0 #7ee5f0}
.home-why-card--food .home-why-card__icon span::after{content:"";position:absolute;right:3px;top:4px;width:13px;height:32px;border:3px solid #f0d06b;border-top-left-radius:8px;border-top-right-radius:8px;border-bottom:none;transform:rotate(15deg)}
.home-why-card--leaf .home-why-card__icon span::before,.home-why-card--leaf .home-why-card__icon span::after{content:"";position:absolute;border-radius:100% 0 100% 0;transform-origin:center;background:linear-gradient(135deg,#7ee5f0,#2dd3a0)}
.home-why-card--leaf .home-why-card__icon span::before{width:24px;height:16px;left:7px;top:14px;transform:rotate(-38deg)}
.home-why-card--leaf .home-why-card__icon span::after{width:26px;height:18px;right:5px;top:10px;transform:rotate(32deg)}
.home-attractions__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:26px}
.home-attraction-card{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:22px;overflow:hidden;background:linear-gradient(155deg,rgba(255,255,255,.04),rgba(255,255,255,.015));box-shadow:0 16px 36px rgba(0,0,0,.14)}
.home-attraction-card__art{aspect-ratio:4/3;position:relative;background:#123;overflow:hidden}
.home-attraction-card__art::before,.home-attraction-card__art::after{content:"";position:absolute;inset:0}
.home-attraction-card__art::before{background:radial-gradient(circle at 78% 20%,rgba(255,244,176,.85),rgba(255,244,176,0) 16%),linear-gradient(180deg,#4ab0ff 0%,#89d2ff 30%,#2f7f67 70%,#163725 100%)}
.home-attraction-card__art::after{background:linear-gradient(180deg,transparent 0 56%,rgba(17,57,39,.9) 57% 64%,rgba(17,57,39,0) 65%),radial-gradient(circle at 22% 68%,rgba(20,50,31,.86),transparent 23%),radial-gradient(circle at 78% 72%,rgba(24,64,37,.8),transparent 24%),linear-gradient(155deg,transparent 0 58%,rgba(255,255,255,.16) 58.5% 60%,transparent 60.5%)}
.home-attraction-card__art--paragliding::before{background:radial-gradient(circle at 76% 22%,rgba(255,230,153,.82),rgba(255,244,176,0) 15%),linear-gradient(180deg,#7cc3ff 0%,#93d1ff 28%,#6e7a84 47%,#406251 66%,#274231 100%)}
.home-attraction-card__art--paragliding::after{background:radial-gradient(circle at 62% 24%,#ffd86d 0 2%,transparent 2.4%),radial-gradient(circle at 64% 26%,#ff5b7a 0 1.4%,transparent 1.8%),linear-gradient(180deg,transparent 0 56%,rgba(35,85,55,.9) 57% 66%,rgba(35,85,55,0) 67%),linear-gradient(160deg,transparent 0 54%,rgba(255,255,255,.18) 54.5% 56%,transparent 56.5%)}
.home-attraction-card__art--saravan::before{background:linear-gradient(180deg,#d9eadb 0%,#c1dfc4 18%,#6ba56c 26%,#28533a 62%,#153023 100%)}
.home-attraction-card__art--saravan::after{background:linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.08) 18.5% 19%,transparent 19.5%),linear-gradient(180deg,transparent 0 63%,rgba(134,219,117,.72) 64% 82%,transparent 83%),radial-gradient(circle at 50% 68%,rgba(201,255,151,.82),rgba(201,255,151,0) 22%)}
.home-attraction-card__art--mirat::before{background:linear-gradient(180deg,#96d6ff 0%,#9bd3ff 30%,#739c6c 55%,#5b4d37 100%)}
.home-attraction-card__art--mirat::after{background:linear-gradient(0deg,rgba(69,54,35,.95) 0 18%,transparent 18.5%),linear-gradient(155deg,transparent 0 34%,rgba(144,111,69,.9) 34.5% 58%,transparent 58.5%),linear-gradient(25deg,transparent 0 30%,rgba(107,80,50,.92) 30.5% 44%,transparent 44.5%),radial-gradient(circle at 15% 34%,rgba(43,84,41,.72),transparent 22%),radial-gradient(circle at 88% 26%,rgba(77,122,60,.72),transparent 20%)}
.home-attraction-card__art--salandar::before{background:linear-gradient(180deg,#8fd0ff 0%,#ffd091 28%,#6f9653 52%,#36553c 100%)}
.home-attraction-card__art--salandar::after{background:linear-gradient(180deg,transparent 0 60%,rgba(255,111,163,.56) 60.5% 71%,transparent 71.5%),radial-gradient(circle at 50% 72%,rgba(255,124,181,.84),transparent 23%),linear-gradient(160deg,transparent 0 62%,rgba(255,255,255,.14) 62.5% 64%,transparent 64.5%)}
.home-attraction-card__art--sidasht::before{background:linear-gradient(180deg,#b6e2ff 0%,#bfe9d0 32%,#7caf64 50%,#34583a 100%)}
.home-attraction-card__art--sidasht::after{background:radial-gradient(circle at 62% 54%,rgba(242,222,240,.8),transparent 10%),radial-gradient(circle at 60% 52%,rgba(209,241,188,.9),transparent 4%),radial-gradient(circle at 18% 28%,rgba(49,103,51,.68),transparent 18%),radial-gradient(circle at 86% 22%,rgba(49,103,51,.68),transparent 18%)}
.home-attraction-card__body{padding:18px 18px 20px;text-align:center}
.home-attraction-card__body h3{margin:0;color:#f4d36c;font:700 24px/1.4 Nas,BYekan,sans-serif}
.home-attraction-card__body p{margin:8px 0 0;color:#bcd0d8;font:15px/1.8 var(--font-body)}
.home-brand-footer__contact{margin-top:17px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08);width:min(860px,100%)}
.home-brand-footer__contact h3{margin:0 0 8px;color:#f0d06b;font:700 24px/1.4 BYekan,Arial,sans-serif}
.home-brand-footer__contact p{margin:0;color:#d7e6ed;font:18px/1.9 BYekan,Arial,sans-serif}
@media(max-width:960px){.home-why__grid,.home-attractions__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.reserve-page-intro{padding:100px 0 20px}.reserve-page-intro__inner,.home-why__inner,.home-attractions__inner{width:min(94vw,680px);padding:24px 16px;border-radius:23px}.reserve-page-intro h1,.home-why h2,.home-attractions h2{font-size:31px}.reserve-page-intro__lead,.home-why__lead,.home-attractions__lead{font-size:16px;line-height:1.85}.reserve-page-intro__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-why__grid,.home-attractions__grid{grid-template-columns:1fr;gap:12px;margin-top:20px}.home-why-card{padding:20px 15px 18px}.home-why-card__icon{width:82px;height:82px;margin-bottom:14px}.home-why-card h3,.home-attraction-card__body h3{font-size:21px}.home-why-card p,.home-attraction-card__body p{font-size:15px;line-height:1.75}.home-brand-footer__contact h3{font-size:20px}.home-brand-footer__contact p{font-size:15px;line-height:1.85}}
@media(max-width:430px){.reserve-page-intro__actions{grid-template-columns:1fr}}


/* v16.5.121 – true 06:00–18:00 day / 18:00–06:00 night backgrounds. */
.home-background-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.home-background-period{display:flex;flex-direction:column;gap:9px;min-width:0;padding:12px;border:1px solid rgba(221,188,88,.14);border-radius:16px;background:rgba(3,21,34,.27)}
.home-background-period>strong{font:700 14px/1.6 BYekan,sans-serif;color:#f1d37a;text-align:center}
.home-background-period>label{font:13px/1.6 BYekan,sans-serif;color:#d6e6ec}
.home-background-period .home-background-preview{height:156px;max-width:100%;width:100%;border-radius:12px}
.home-background-period .home-background-preview--mobile{height:176px;width:min(120px,100%);margin:auto;border-radius:17px}
.home-background-period .home-background-preview img{object-fit:contain}
.home-background-period .sa-property-select{min-width:0;width:100%}
@media(max-width:600px){.home-background-period-grid{grid-template-columns:1fr}.home-background-period .home-background-preview{height:170px}.home-background-period .home-background-preview--mobile{height:225px;width:145px}}
/* The artwork BELOW the main logo (both FA/EN) is exactly half its prior width.
   The main brand logo above is intentionally unaffected. */
.hero .hero-copy-art{width:min(215px,15.25vw);max-width:100%;margin:-38px auto -5px}
.hero .hero-title-art{width:100%;max-width:100%;height:auto}
@media(max-width:760px){.hero .hero-copy-art{width:min(195px,39vw);margin:-7px auto -4px}}
@media(max-width:430px){.hero .hero-copy-art{width:min(180px,40vw);margin:-8px auto -4px}}

/* v16.5.122 — warehouse accounts inside manager users panel */
.warehouse-manager-user-controls{margin:12px 0 16px;padding:13px;border:1px solid rgba(90,179,199,.25);border-radius:16px;background:rgba(7,34,52,.65)}
.warehouse-manager-user-list{display:grid;gap:8px;margin-top:12px}
.warehouse-account-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:9px 11px;border:1px solid rgba(90,179,199,.16);border-radius:12px;color:#dfedf3}
.warehouse-account-row b{font-size:13px}.warehouse-account-row span{color:#74dfaf;font-size:12px}
.warehouse-account-row button{border:1px solid #347b90;border-radius:10px;background:#123b52;color:#eccb72;padding:7px 11px;cursor:pointer;font:12px BYekan}

/* Operational offline status — shared between restaurant and warehouse */
.baba-offline-indicator{position:fixed;left:18px;bottom:18px;z-index:19000;min-height:40px;max-width:min(86vw,390px);padding:8px 17px;border:1px solid #c0a24e;border-radius:30px;background:rgba(5,28,42,.96);color:#f1d47e;box-shadow:0 10px 30px rgba(0,0,0,.25);font:13px/1.6 BYekan,Arial,sans-serif;direction:rtl;white-space:normal;text-align:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.baba-offline-indicator:hover{background:rgba(10,47,64,.97)}
@media(max-width:420px){.baba-offline-indicator{left:8px;bottom:8px;font-size:12px;padding:7px 10px;max-width:70vw}}


/* v16.5.127 — mobile attractions carousel and reservation card refinement */
.home-attractions__lane{margin-top:27px;min-width:0}
.home-attractions__lane-header{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 12px;padding:0 5px;text-align:center}
.home-attractions__lane-header h3{margin:0;color:#f3d46f;font:700 clamp(20px,2vw,28px)/1.4 BYekan,sans-serif}
.home-attractions__rail{position:relative;padding-inline:54px}
.home-attractions__arrow{position:absolute;top:50%;z-index:6;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(232,196,88,.4);border-radius:14px;background:rgba(12,47,67,.92);color:#f3d46f;font-size:28px;cursor:pointer;transform:translateY(-50%);box-shadow:0 10px 24px rgba(0,0,0,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.home-attractions__arrow:hover{background:rgba(225,185,65,.15)}
.home-attractions__arrow--prev{inset-inline-start:0}
.home-attractions__arrow--next{inset-inline-end:0}
.home-attractions__viewport{display:flex;direction:rtl;gap:15px;width:100%;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-inline:contain;padding:3px 0 12px;touch-action:pan-x;cursor:grab}
.home-attractions__viewport::-webkit-scrollbar{display:none}
.home-attractions__viewport:active{cursor:grabbing}
.home-attractions__viewport .home-attraction-card{flex:0 0 calc((100% - 45px)/4);min-width:0;scroll-snap-align:start;direction:rtl;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.home-attractions__viewport .home-attraction-card:hover{transform:translateY(-2px);border-color:rgba(235,195,78,.4);box-shadow:0 18px 33px rgba(0,0,0,.22)}
.home-attraction-card__photo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.home-attraction-card__body small{display:block;margin:7px 0 0;color:#9db8c7;font:14px/1.7 BYekan,sans-serif}
.home-attractions__inner{overflow:hidden}
html[lang="en"] .home-attractions__viewport{direction:ltr}
html[lang="en"] .home-attractions__viewport .home-attraction-card{direction:ltr}
@media(max-width:920px){.home-attractions__viewport .home-attraction-card{flex-basis:calc((100% - 15px)/2)}}
@media(max-width:760px){.home-attractions__lane-header{margin-bottom:10px}.home-attractions__rail{padding-inline:40px}.home-attractions__arrow{width:34px;height:34px;border-radius:12px;font-size:24px}.home-attractions__viewport{gap:8px;padding-bottom:10px}.home-attractions__viewport .home-attraction-card{flex-basis:calc((100% - 16px)/3)}.home-attraction-card__body{padding:12px 10px 14px}.home-attraction-card__body h3{font-size:15px;line-height:1.5}.home-attraction-card__body p{margin-top:6px;font-size:11px;line-height:1.65}.home-attraction-card__body small{margin-top:4px;font-size:10px;line-height:1.55}.home-attractions__lane-header h3{font-size:22px}}
@media(max-width:420px){.home-attractions__rail{padding-inline:36px}.home-attractions__viewport .home-attraction-card{flex-basis:calc((100% - 14px)/3)}.home-attractions__arrow{width:30px;height:30px;font-size:21px}}
@media(prefers-reduced-motion:reduce){.home-attractions__viewport{scroll-behavior:auto}.home-attractions__viewport .home-attraction-card{transition:none}}

/* Manager attractions editor, dashboard visual language */
.attraction-admin-head{display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:18px 0 20px}
.attraction-admin-head button,.attraction-admin-actions button,.attraction-editor-actions button{border:1px solid rgba(225,195,91,.32);border-radius:14px;background:#13364b;color:#ffe38b;padding:11px 20px;font:700 14px BYekan,sans-serif;cursor:pointer}
.attraction-admin-head button,.attraction-editor-actions button[type=submit]{background:linear-gradient(100deg,#d5a82e,#f1d86b);color:#122638}
.attraction-admin-head span{color:#b2cbd6;font:14px BYekan,sans-serif}
.attraction-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.attraction-admin-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;border:1px solid rgba(112,183,205,.2);border-radius:20px;background:rgba(11,41,59,.85);padding:13px}
.attraction-admin-thumb{width:96px;height:85px;display:grid;place-items:center;border-radius:12px;overflow:hidden;background:#0b2538;font-size:29px;color:#d3b056}
.attraction-admin-thumb img{width:100%;height:100%;object-fit:cover}
.attraction-admin-card h3{margin:0 0 7px;color:#f8df83;font:700 19px BYekan,sans-serif}
.attraction-admin-card p{margin:0;color:#bad2da;font:13px/1.6 BYekan,sans-serif}
.attraction-admin-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.attraction-admin-actions button{padding:8px 15px}
.attraction-admin-actions button:last-child{color:#ffa5a5;border-color:rgba(233,103,111,.4)}
.attraction-editor{width:min(740px,94vw);max-height:92dvh;overflow:auto;box-sizing:border-box;position:fixed;padding:27px 24px;border:1px solid rgba(89,196,219,.35);border-radius:25px;background:linear-gradient(145deg,#08273b,#061b2b);color:#eef9fc;box-shadow:0 30px 90px rgba(0,0,0,.6);direction:rtl}
.attraction-editor::backdrop{background:rgba(2,9,17,.75);backdrop-filter:blur(7px)}
.attraction-editor h2{margin:8px 0 26px;text-align:center;color:#fae0a4;font:700 29px Nas,BYekan,sans-serif}
.attraction-editor .dialog-x{position:absolute;top:6px;left:12px}
.attraction-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.attraction-editor-fields label{display:grid;gap:7px;min-width:0;color:#b6cbd4;font:14px BYekan,sans-serif}
.attraction-editor-fields label.is-wide{grid-column:1/-1}
.attraction-editor-fields input:not([type=checkbox]):not([type=file]),.attraction-editor-fields select,.attraction-editor-fields textarea{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #22556b;border-radius:12px;background:#0b2a3f;color:#f2f8f9;padding:11px;font:15px BYekan,sans-serif;outline:none}
.attraction-editor-fields :is(input,select,textarea):focus{border-color:#dbbf5a}
.attraction-editor-fields .attraction-dropzone{padding:14px;border:1px dashed rgba(239,201,101,.5);border-radius:15px;text-align:center;cursor:pointer;background:rgba(255,255,255,.025)}
.attraction-dropzone.is-dragging{background:rgba(228,193,80,.14);border-color:#f3d46f}
.attraction-dropzone strong{color:#f4d973}
.attraction-dropzone input{margin:5px auto;color:#fff;max-width:100%}
.attraction-dropzone img{width:100%;max-height:210px;object-fit:contain;border-radius:10px}
.attraction-editor-fields .attraction-editor-check{display:flex;align-items:center;gap:8px}
.attraction-editor-actions{display:flex;justify-content:center;gap:12px;margin-top:25px}
[data-attraction-form-status]{text-align:center;color:#f2ce71;margin:10px 0}
@media(max-width:760px){.attraction-admin-list{grid-template-columns:1fr}.attraction-editor{padding:25px 14px}.attraction-editor-fields{grid-template-columns:1fr}}

/* v16.5.126 — direct manager checkout from occupied room dossier */
.manager-operations-status-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;margin-top:8px;direction:rtl;}
.manager-operations-status-row .manager-operations-badge{flex:0 1 auto;}
.manager-operations-badge.is-occupied{color:#43d990;background:rgba(31,175,104,.12);border-color:rgba(67,217,144,.67);}
.manager-op-exit-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 18px;border:1px solid rgba(255,93,114,.72);border-radius:13px;color:#ffe9eb;background:linear-gradient(135deg,#a63144,#7c1d34);font:700 14px/1.4 BYekan,Arial,sans-serif;cursor:pointer;box-shadow:0 6px 16px rgba(168,37,65,.16);transition:filter .18s ease,transform .18s ease,border-color .18s ease;}
.manager-op-exit-button:hover:not(:disabled){filter:brightness(1.13);transform:translateY(-1px);}
.manager-op-exit-button:disabled{opacity:.55;cursor:wait;}
.manager-op-exit-button[hidden]{display:none;}
.manager-stay-exit-dialog{width:min(540px,calc(100vw - 24px));max-height:min(90dvh,780px);overflow-y:auto;padding:24px;border:1px solid rgba(225,173,77,.25);border-radius:25px;}
.manager-stay-exit-dialog::backdrop{background:rgba(0,9,16,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.manager-stay-exit-heading{padding:7px 40px 13px;text-align:center;}
.manager-stay-exit-heading>span{font:700 12px/1.6 BYekan,Arial,sans-serif;color:#eed176;}
.manager-stay-exit-heading h2{margin:10px 0;font:700 clamp(21px,2.1vw,28px)/1.5 BYekan,Arial,sans-serif;color:var(--manager-text);}
.manager-stay-exit-heading p{margin:6px 0;font:15px/1.9 var(--font-body);color:var(--manager-muted);}
.manager-stay-exit-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;}
.manager-stay-exit-details .manager-op-info:last-of-type{grid-column:1/-1;}
.manager-stay-exit-warning,.manager-stay-exit-open-orders{margin:10px 0;border:1px solid rgba(227,168,69,.3);border-radius:14px;background:rgba(202,145,45,.08);padding:13px 15px;color:#f6d894;font:14px/1.85 var(--font-body);}
.manager-stay-exit-open-orders{grid-column:1/-1;margin:0;color:#ffc2a4;border-color:rgba(242,126,83,.35);}
.manager-stay-exit-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:16px;}
.manager-stay-exit-actions>button{width:auto;min-width:170px;min-height:45px;}
@media(max-width:570px){.manager-operations-heading{padding-left:46px;}.manager-operations-status-row{gap:9px;flex-wrap:wrap;}.manager-op-exit-button{padding:9px 13px;font-size:13px;}.manager-stay-exit-dialog{padding:16px;}.manager-stay-exit-heading{padding:8px 35px 8px;}.manager-stay-exit-details{grid-template-columns:1fr;}.manager-stay-exit-details .manager-op-info:last-of-type{grid-column:auto;}.manager-stay-exit-actions>button{width:100%;}}

/* v16.5.128 — stay operations, accessible modal scroll, responsive real-time toolbar */
.manager-toolbar-status{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:-3px 2px 14px}
.manager-history-link{display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:43px;border:1px solid rgba(66,192,251,.5);border-radius:13px;padding:8px 18px;background:linear-gradient(125deg,#0b4b75,#1677b1);box-shadow:0 10px 27px rgba(2,75,130,.25);font:700 16px BYekan,sans-serif;color:#fff;text-decoration:none}
.manager-history-link:hover{filter:brightness(1.13)}
.manager-live-chip{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;min-height:43px;min-width:106px;padding:8px 18px;border:1px solid rgba(53,220,139,.42);border-radius:13px;background:rgba(12,87,62,.22);color:#75f5ad;font:900 16px Arial,sans-serif;letter-spacing:1.5px;direction:ltr}
.manager-live-chip i{position:relative;display:inline-block;width:11px;height:11px;border-radius:50%;background:#3ce590;box-shadow:0 0 12px #3de495}
.manager-live-chip i::after{content:"";position:absolute;inset:-7px;border:1px solid #50e29a;border-radius:50%;animation:managerLivePulse 2s ease-out infinite}
@keyframes managerLivePulse{0%{transform:scale(.55);opacity:.9}80%,100%{transform:scale(1.25);opacity:0}}
@media(prefers-reduced-motion:reduce){.manager-live-chip i::after{animation:none}}
.manager-body:has(dialog[open]){overflow:hidden;overscroll-behavior:none}
html:has(.manager-body dialog[open]){overflow:hidden;overscroll-behavior:none}
.manager-body dialog[open]{overscroll-behavior:contain}
/* The checkout face is a vertically scrollable layout; buttons never overlay financial cells. */
.manager-resolution-dialog[open]{width:min(980px,96vw);height:min(760px,94dvh);max-height:94dvh;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(0,1fr);box-sizing:border-box}
.manager-resolution-flip,.manager-resolution-flip.is-extend{min-height:0;height:100%;overflow:hidden}
.manager-resolution-face--checkout{display:flex;flex-direction:column;gap:10px;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;padding:8px 3px 15px;min-height:0;overscroll-behavior:contain}
.manager-resolution-face--checkout .manager-checkout-bill-body{flex:0 0 auto;overflow:visible;min-height:0;padding:2px 0 5px;align-self:stretch}
.manager-resolution-face--checkout .manager-resolution-actions{position:static;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,.8fr);align-items:stretch;gap:9px;width:100%;margin:5px 0 0;direction:rtl}
.manager-resolution-face--checkout .manager-resolution-actions>button{position:static;transform:none;inset:auto;display:flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:48px;padding:8px 10px;white-space:normal;font:800 14px/1.5 BYekan,sans-serif;text-align:center;border-radius:12px}
.manager-resolution-face--checkout .manager-resolution-actions .manager-print-receipt-button{border:1px solid rgba(69,192,230,.42);background:linear-gradient(140deg,#0d4e6e,#146e95);color:#fff}
.manager-resolution-face--checkout #managerCheckoutBillStatus{flex:0 0 auto;margin:4px 0 0;min-height:22px}
.manager-resolution-face--extend{overflow-y:auto;overscroll-behavior:contain}
.manager-resolution-flip:not(.is-extend) .manager-resolution-face--extend,
.manager-resolution-flip.is-extend .manager-resolution-face--checkout{pointer-events:none}
.manager-checkout-confirm-dialog{width:min(490px,94vw);max-height:90dvh;overflow:auto;overscroll-behavior:contain;position:fixed;margin:auto;padding:26px 23px 21px;border:1px solid rgba(235,194,86,.28);border-radius:25px;background:linear-gradient(145deg,#0b293c,#061d2c);box-shadow:0 25px 90px rgba(0,0,0,.55);color:#eaf4f8;text-align:center;font-family:BYekan,sans-serif}
.manager-checkout-confirm-dialog:not([open]){display:none}
.manager-checkout-confirm-dialog::backdrop{background:rgba(0,8,15,.7);backdrop-filter:blur(7px)}
.manager-checkout-confirm-icon{display:grid;place-items:center;width:65px;height:65px;border:1px solid rgba(237,193,76,.42);border-radius:19px;margin:3px auto 15px;background:rgba(237,193,76,.09);color:#f4d365;font-size:31px}
.manager-checkout-confirm-dialog .manager-confirm-eyebrow{display:block;color:#e6c56b;font:700 12px BYekan,sans-serif}
.manager-checkout-confirm-dialog h2{margin:8px 0 12px;color:#fff;font-size:23px;line-height:1.5}
.manager-checkout-confirm-dialog p{color:#cadbe3;font-size:16px;line-height:1.8}
.manager-confirm-notice{border:1px solid rgba(235,176,84,.25);background:rgba(235,176,84,.075);padding:13px 12px;border-radius:13px;color:#f0d292;font-size:13px;line-height:1.8}
.manager-checkout-confirm-actions{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin-top:20px}
.manager-checkout-confirm-actions button{display:flex;align-items:center;justify-content:center;min-height:47px;width:100%;border-radius:12px;padding:9px;font:800 14px BYekan,sans-serif}
.manager-checkout-confirm-actions .manager-primary-button{border:1px solid #d5ac47;background:linear-gradient(145deg,#d9ac39,#f3d775);color:#082336}
.manager-checkout-confirm-actions .manager-secondary-button{border:1px solid rgba(209,72,94,.45);background:#782738;color:#fff}
@media(max-width:760px){
 .manager-resolution-dialog[open]{width:96vw;height:min(780px,96dvh);padding:14px 10px}
 .manager-resolution-face--checkout .manager-resolution-actions{grid-template-columns:1fr 1fr;gap:7px}
 .manager-resolution-face--checkout .manager-resolution-actions #managerCheckoutBillConfirm{grid-column:1/-1}
 .manager-resolution-face--checkout .manager-resolution-actions>button{min-height:42px;font-size:12px}
 .manager-toolbar-status{margin:0 2px 12px}
 .manager-history-link,.manager-live-chip{min-height:40px;font-size:14px}
}

/* Dedicated manager stay ledger */
.stay-history-shell{width:min(1440px,95vw);margin:0 auto;padding:109px 0 65px;color:#e9f4f9}
.stay-history-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}
.stay-history-head small{color:#edd16f;font:700 14px BYekan,sans-serif}
.stay-history-head h1{margin:2px 0 7px;font-size:36px;color:#fff}
.stay-history-head p{margin:0;font:16px BMitra,sans-serif;color:#abc4d0}
.stay-history-back{color:#fff;text-decoration:none;min-width:105px}
.stay-history-panel{padding:22px;border:1px solid rgba(81,165,188,.23);border-radius:24px;background:linear-gradient(145deg,#0b293e,#061a2b);margin-bottom:20px}
.stay-history-periods{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}
.stay-history-periods button,.stay-history-actions button{padding:10px 17px;min-height:43px;border:1px solid rgba(80,183,219,.28);border-radius:11px;background:#11394f;color:#d1e9f3;font:700 14px BYekan,sans-serif;cursor:pointer}
.stay-history-periods button.is-active,.stay-history-search{border:1px solid #f1d476;background:linear-gradient(140deg,#c99e31,#eed06a);color:#081f30}
.stay-history-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end}
.stay-history-filters label{display:grid;gap:6px;min-width:0;color:#a7c5d0;font:14px BYekan,sans-serif}
.stay-history-filters select,.stay-history-filters .jalali-date-field{width:100%;height:47px;padding:0 12px;border:1px solid rgba(106,193,220,.28);border-radius:12px;background:#092a3d;color:#eff8fb;font:700 14px BYekan,sans-serif}
.stay-history-filters select option{background:#0b293d}
.stay-history-search{height:47px;padding:0 17px;border-radius:12px;cursor:pointer;font:800 14px BYekan,sans-serif}
.stay-history-basis{margin:15px 0 0;color:#adc2cb;font:14px/1.8 BMitra,sans-serif}
.stay-history-result-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:17px}
.stay-history-result-header h2{font-size:25px;margin:0 0 6px}
.stay-history-result-header p{font:15px BYekan,sans-serif;color:#9bbaca;margin:0}
.stay-history-actions{display:flex;gap:9px}.stay-history-status{min-height:22px;font:14px BYekan,sans-serif;color:#80debd}.stay-history-status.is-error{color:#ffa7a7}
.stay-history-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0}
.stay-history-kpis article{display:grid;gap:10px;padding:16px;border:1px solid rgba(91,184,210,.22);border-radius:15px;background:#102e43}
.stay-history-kpis small{color:#a6c4d0;font-size:13px}.stay-history-kpis strong{color:#f0d56c;font-size:22px}
.stay-history-table-wrap{overflow-x:auto;border:1px solid rgba(110,185,211,.25);border-radius:17px}
.stay-history-table{width:100%;min-width:1050px;border-collapse:collapse;font-family:BYekan,sans-serif}
.stay-history-table th,.stay-history-table td{padding:13px 9px;border-bottom:1px solid rgba(255,255,255,.08);text-align:right;font-size:12px}
.stay-history-table th{background:#0d3950;color:#efd375;font-size:13px}
.stay-history-table td{color:#d5e6ee}.stay-history-table tr:last-child td{border-bottom:0}.stay-history-empty{text-align:center}
.stay-history-tag{display:inline-block;border:1px solid rgba(83,203,170,.35);padding:4px 10px;border-radius:10px;background:#164a48;color:#93eed1}
.stay-history-print-brand{display:none}
@media(max-width:940px){.stay-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-history-head h1{font-size:27px}}
@media(max-width:600px){.stay-history-head{align-items:start;flex-direction:column}.stay-history-filters{grid-template-columns:1fr}.stay-history-shell{width:95vw;padding-top:95px}.stay-history-panel{padding:13px}.stay-history-kpis{grid-template-columns:1fr}.stay-history-result-header{flex-direction:column;align-items:stretch}.stay-history-actions button{flex:1}.stay-history-actions{width:100%}.stay-history-table{min-width:0}.stay-history-table thead{display:none}.stay-history-table tr{display:grid;border-bottom:1px solid rgba(255,255,255,.12);padding:9px 5px}.stay-history-table td{display:flex;justify-content:space-between;gap:10px;padding:7px 9px;border:0}.stay-history-table td::before{content:attr(data-label);color:#8facb9}.stay-history-table .stay-history-empty::before{display:none}}
@media print{
 @page{size:A4 portrait;margin:12mm}
 .manager-stay-history-body{background:#fff;color:#000}
 .manager-stay-history-body .dashboard-global-header,.manager-stay-history-body .dashboard-profile-drawer,.manager-stay-history-body .dashboard-drawer-backdrop,.stay-history-head,.stay-history-toolbar,.stay-history-actions{display:none}
 .stay-history-shell{width:100%;padding:0;margin:0}.stay-history-panel{background:#fff;border:0;box-shadow:none;color:#000;padding:0;margin:0}
 .stay-history-print-brand{display:block;text-align:center;border-bottom:1px solid #555;margin-bottom:14px}.stay-history-print-brand h2{font-size:19px;color:#000}.stay-history-print-brand p{font-size:14px}
 .stay-history-result-header h2,.stay-history-result-header p{color:#000}.stay-history-kpis{grid-template-columns:repeat(3,1fr)}.stay-history-kpis article{background:#fff;border:1px solid #999;padding:8px}.stay-history-kpis article strong,.stay-history-kpis small{color:#111;font-size:13px}
 .stay-history-table-wrap{overflow:visible;border:1px solid #333}.stay-history-table{min-width:0;width:100%;table-layout:auto}.stay-history-table thead{display:table-header-group;background:#ddd}.stay-history-table tr{display:table-row;break-inside:avoid}.stay-history-table th,.stay-history-table td{display:table-cell;color:#111;border:1px solid #777;font-size:9px;padding:6px 4px}.stay-history-table td::before{display:none}.stay-history-table th{background:#eee;color:#111}
}

.manager-live-chip.is-offline{color:#ffba93;border-color:rgba(245,137,85,.42);background:rgba(120,57,33,.2)}
.manager-live-chip.is-offline i{background:#fd855d;box-shadow:0 0 10px #fa8857}
.manager-live-chip.is-offline i::after{animation:none;border-color:#fa8857}
.manager-live-chip b{font:inherit}


/* v16.5.130 — customer auth on narrow screens: single scroll owner, compact two-column registration.
   The old 3D flip/absolute faces created nested scroll containers that hid the submit button
   on Android. The mobile layout keeps the same form and styles but uses normal document flow. */
@media (max-width:760px) {
  .customer-auth-dialog {
    display:block;
    box-sizing:border-box;
    width:min(96vw,520px);
    max-width:calc(100vw - 12px);
    max-height:var(--auth-visible-height,calc(100dvh - 12px));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    scrollbar-color:rgba(97,185,208,.40) transparent;
    border-radius:20px;
    padding:0;
  }
  .customer-auth-dialog:not([open]) { display:none; }
  .customer-auth-dialog .auth-flip-shell,
  .customer-auth-dialog .auth-flip-card {
    position:relative;
    inset:auto;
    display:block;
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    perspective:none;
    transform:none;
    transform-style:flat;
    transition:none;
  }
  .customer-auth-dialog .auth-flip-card.is-flipped { transform:none; }
  .customer-auth-dialog .auth-face {
    position:relative;
    inset:auto;
    display:none;
    box-sizing:border-box;
    width:100%;
    height:auto;
    min-height:0;
    max-height:none;
    overflow:visible;
    margin:0;
    padding:12px 12px 14px;
    transform:none;
    backface-visibility:visible;
    -webkit-backface-visibility:visible;
    border-radius:20px;
  }
  .customer-auth-dialog:not(.is-login-mode) .auth-face--register {display:block}
  .customer-auth-dialog.is-login-mode .auth-face--login {display:block}
  .customer-auth-dialog .auth-brand,
  .customer-auth-dialog .auth-brand--login {margin:0 auto 4px;gap:0}
  .customer-auth-dialog .auth-brand img,
  .customer-auth-dialog .auth-brand--login img {width:86px;height:43px;margin:0}
  .customer-auth-dialog .auth-brand span {font-size:10px;margin:0}
  .customer-auth-dialog .auth-mode-switch {margin:0 auto 6px;padding:2px;gap:4px}
  .customer-auth-dialog .auth-mode-switch button {height:32px;min-height:32px;font-size:11px}
  .customer-auth-dialog .auth-form,
  .customer-auth-dialog .auth-register-form {gap:5px}
  .customer-auth-dialog .auth-register-form .auth-register-pair {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    width:100%;
  }
  .customer-auth-dialog .auth-register-form .auth-register-pair > label {
    min-width:0;
    grid-column:auto;
  }
  .customer-auth-dialog .auth-register-form .auth-register-passwords {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
    width:100%;
  }
  .customer-auth-dialog .auth-form label {min-width:0;gap:2px}
  .customer-auth-dialog .auth-form label>span {font-size:10px;line-height:1.25;white-space:normal}
  .customer-auth-dialog .auth-form label>span small {font-size:9px}
  .customer-auth-dialog .auth-form input,
  .customer-auth-dialog .auth-form .auth-password-field input {
    min-width:0;
    height:35px;
    min-height:35px;
    border-radius:9px;
    padding-inline:8px;
    font-size:13px;
  }
  .customer-auth-dialog .auth-form .auth-password-field input {padding-inline-start:39px}
  .customer-auth-dialog .auth-form .auth-password-field button {width:30px;height:29px}
  .customer-auth-dialog .auth-address-section {gap:4px;padding:5px 7px;border-radius:11px}
  .customer-auth-dialog .auth-address-section .auth-section-title {display:none}
  .customer-auth-dialog .auth-referral-fieldset {padding:4px 6px 6px;border-radius:11px}
  .customer-auth-dialog .auth-referral-fieldset legend {font-size:10px;line-height:1.2}
  .customer-auth-dialog .auth-referral-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:4px;
  }
  .customer-auth-dialog .auth-referral-choice span {height:28px;border-radius:8px;font-size:10px}
  .customer-auth-dialog .auth-submit {
    display:block;
    height:38px;
    min-height:38px;
    margin:2px auto 0;
    border-radius:10px;
    font-size:13px;
  }
  .customer-auth-dialog .auth-status:empty {display:none}
  .customer-auth-dialog .auth-login-form {gap:8px;margin:4px auto 0}
  .customer-auth-dialog .auth-login-copy {margin:0 0 3px}
  .customer-auth-dialog .auth-login-copy strong {font-size:18px}
  .customer-auth-dialog .auth-login-copy p {font-size:11px;line-height:1.55}
  .customer-auth-dialog .auth-face--login {padding-bottom:14px}
  .customer-auth-dialog .customer-auth-close {top:8px;left:9px;font-size:34px}
}
@media (max-width:350px) {
  .customer-auth-dialog .auth-face {padding-inline:9px}
  .customer-auth-dialog .auth-register-form .auth-register-pair {gap:5px}
  .customer-auth-dialog .auth-form input {font-size:12px;padding-inline:6px}
}

/* v16.5.131 — stay history header/action polish, collapsible filters, printable A4 ledger */
.dashboard-header-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;position:relative;z-index:2}
.dashboard-header-history{position:relative;z-index:2;min-width:98px;height:42px;padding:0 13px;border:1px solid rgba(66,192,251,.34);border-radius:13px;background:linear-gradient(145deg,rgba(9,80,124,.96),rgba(30,126,183,.92));color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);font-size:12px;box-shadow:0 10px 24px rgba(5,72,124,.18);transition:transform .16s ease,filter .16s ease}
.dashboard-header-history:hover{transform:translateY(-1px);filter:brightness(1.08);text-decoration:none;color:#fff}
.manager-overview-head__aside--live .manager-live-chip{order:-1}
.manager-overview-head__aside--live{align-content:start}

.stay-history-head--centered{display:grid;grid-template-columns:1fr;justify-items:center;gap:14px;text-align:center;margin-bottom:18px}
.stay-history-head--centered>div{display:grid;gap:4px;justify-items:center}
.stay-history-head--centered h1{margin:0;font-size:clamp(28px,2.6vw,40px)}
.stay-history-head--centered small{font-size:15px}
.stay-history-filter-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:132px;min-height:45px;padding:0 18px;border:1px solid rgba(77,163,188,.34);border-radius:14px;background:linear-gradient(145deg,#0f2d42,#0a2030);color:#d6ebf4;font:800 15px BYekan,sans-serif;cursor:pointer;transition:transform .18s ease,filter .18s ease,border-color .18s ease,box-shadow .18s ease}
.stay-history-filter-toggle:hover{transform:translateY(-1px);filter:brightness(1.06)}
.stay-history-filter-toggle i{position:relative;display:inline-block;width:12px;height:12px;border-radius:50%;background:#335463;box-shadow:0 0 0 1px rgba(126,173,189,.18)}
.stay-history-filter-toggle i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1px solid transparent;opacity:0;transform:scale(.75);transition:opacity .25s ease,transform .25s ease,border-color .25s ease}
.stay-history-filter-toggle.is-active{border-color:rgba(72,216,137,.48);box-shadow:0 12px 28px rgba(12,88,58,.18);color:#f2fffa}
.stay-history-filter-toggle.is-active i{background:#3ce590;box-shadow:0 0 12px #3de495}
.stay-history-filter-toggle.is-active i::after{opacity:1;transform:scale(1);border-color:#50e29a}
.stay-history-toolbar{overflow:hidden;max-height:0;opacity:0;transform:translateY(-10px);padding-top:0;padding-bottom:0;margin-bottom:0;pointer-events:none;transition:max-height .28s ease,opacity .22s ease,transform .22s ease,padding .22s ease,margin .22s ease}
.stay-history-toolbar.is-open{max-height:460px;opacity:1;transform:none;padding-top:22px;padding-bottom:22px;margin-bottom:20px;pointer-events:auto}
.stay-history-report{padding-top:18px}
.stay-history-periods{justify-content:flex-end}
.stay-history-result-header{align-items:center;margin-bottom:12px}
.stay-history-result-header__title{display:grid;gap:5px;min-width:0}
.stay-history-result-header__title h2{margin:0;font-size:31px;color:#fff}
.stay-history-result-header__title p{margin:0;color:#9bc1d0;font:15px BYekan,sans-serif}
.stay-history-kpis{margin:12px 0 16px}
.stay-history-kpis article{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px}
.stay-history-kpis small,.stay-history-kpis strong{display:block;text-align:inherit}
.stay-history-kpis small{font-size:14px;color:#b4cfda}
.stay-history-kpis strong{font-size:20px;color:#f0d56c}
.stay-history-table-wrap{border-radius:18px;overflow:auto}
.stay-history-table{min-width:1220px;table-layout:fixed}
.stay-history-table th,.stay-history-table td{text-align:center;vertical-align:middle;font-size:13px}
.stay-history-table th{font-size:14px;white-space:nowrap}
.stay-history-table td{color:#deecf1}
.stay-history-delete-cell{width:72px}
.stay-history-delete-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(245,87,109,.42);border-radius:13px;background:linear-gradient(145deg,#7d2335,#ad3750);color:#fff;font-size:19px;cursor:pointer;transition:transform .16s ease,filter .16s ease,border-color .16s ease}
.stay-history-delete-button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.stay-history-delete-button span{transform:translateY(1px)}
.stay-history-delete-dialog{width:min(450px,94vw);padding:26px 22px 22px;border:1px solid rgba(235,194,86,.26);border-radius:24px;background:linear-gradient(145deg,#0b293c,#061d2c);color:#eaf4f8;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.45)}
.stay-history-delete-dialog::backdrop{background:rgba(0,8,15,.74);backdrop-filter:blur(7px)}
.stay-history-delete-dialog__icon{display:grid;place-items:center;width:66px;height:66px;margin:2px auto 12px;border:1px solid rgba(236,96,113,.38);border-radius:20px;background:rgba(236,96,113,.12);font-size:30px}
.stay-history-delete-dialog__eyebrow{display:block;color:#efca6e;font:700 12px BYekan,sans-serif}
.stay-history-delete-dialog h2{margin:8px 0 10px;color:#fff;font-size:24px;line-height:1.5}
.stay-history-delete-dialog p{margin:0;color:#cadbe3;font-size:16px;line-height:1.8}
.stay-history-delete-dialog__actions{display:grid;grid-template-columns:1.2fr 1fr;gap:10px;margin-top:19px}
.stay-history-delete-dialog__actions button{width:100%;min-height:47px}
.stay-history-print-brand__top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.stay-history-print-brand__top img{width:76px;height:76px;object-fit:contain}
.stay-history-print-brand__top h2{margin:0 0 6px;font:800 22px BYekan,sans-serif;color:#fff}
.stay-history-print-brand__top p{margin:0;color:#bfd6df;font:15px BYekan,sans-serif}

@media(max-width:720px){
  .dashboard-header-actions{gap:7px}
  .dashboard-header-history,.dashboard-header-back{min-width:76px;height:38px;padding:0 9px;font-size:10px}
  .stay-history-shell{padding-top:95px}
  .stay-history-head--centered{gap:11px}
  .stay-history-filter-toggle{min-width:116px;min-height:41px;font-size:14px}
  .stay-history-toolbar.is-open{max-height:720px}
  .stay-history-result-header__title h2{font-size:25px;text-align:center}
  .stay-history-result-header__title p{text-align:center}
}
@media(max-width:600px){
  .stay-history-panel{padding:14px}
  .stay-history-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .stay-history-periods button{width:100%}
  .stay-history-filters{grid-template-columns:1fr}
  .stay-history-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .stay-history-kpis article{padding:13px 14px}
  .stay-history-kpis small{font-size:13px}
  .stay-history-kpis strong{font-size:18px}
  .stay-history-table thead{display:none}
  .stay-history-table{min-width:0;width:100%}
  .stay-history-table tr{display:grid;border-bottom:1px solid rgba(255,255,255,.12);padding:8px 4px}
  .stay-history-table td{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;border:0;text-align:right}
  .stay-history-table td::before{content:attr(data-label);color:#8facb9;flex:0 0 auto}
  .stay-history-table .stay-history-empty{display:block;text-align:center}
  .stay-history-table .stay-history-empty::before{display:none}
  .stay-history-delete-dialog__actions{grid-template-columns:1fr}
}
@media(max-width:430px){
  .dashboard-header-history,.dashboard-header-back{min-width:41px;width:41px;padding:0;border-radius:12px}
  .dashboard-header-history b,.dashboard-header-back b{font-size:0;line-height:0}
  .dashboard-header-history::before{content:"سو";font:800 10px BYekan,sans-serif}
  .dashboard-header-back::before{content:"باز";font:800 10px BYekan,sans-serif}
}
@media print{
  @page{size:A4 portrait;margin:10mm}
  .manager-stay-history-body{background:#fff!important;color:#000!important;font-family:BYekan,Arial,sans-serif}
  .manager-stay-history-body .dashboard-global-header,
  .manager-stay-history-body .dashboard-profile-drawer,
  .manager-stay-history-body .dashboard-drawer-backdrop,
  .manager-stay-history-body .stay-history-head,
  .manager-stay-history-body .stay-history-toolbar,
  .manager-stay-history-body .stay-history-actions,
  .manager-stay-history-body #stayHistoryStatus,
  .manager-stay-history-body .stay-history-delete-cell,
  .manager-stay-history-body .stay-history-table th:last-child,
  .manager-stay-history-body .stay-history-table td:last-child{display:none!important}
  .stay-history-shell{width:100%;padding:0;margin:0}
  .stay-history-panel{background:#fff!important;border:1px solid #222!important;box-shadow:none!important;color:#000!important;padding:10mm 8mm 8mm!important;margin:0!important;border-radius:0!important}
  .stay-history-print-brand{display:block!important;margin-bottom:12px}
  .stay-history-print-brand__top{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #444;padding-bottom:8px}
  .stay-history-print-brand__top img{width:64px;height:64px}
  .stay-history-print-brand__top h2,.stay-history-print-brand__top p,.stay-history-result-header__title h2,.stay-history-result-header__title p,.stay-history-kpis small,.stay-history-kpis strong,.stay-history-status{color:#000!important}
  .stay-history-result-header{display:block;text-align:center;margin-bottom:10px}
  .stay-history-result-header__title{justify-items:center}
  .stay-history-result-header__title h2{font-size:20px}
  .stay-history-result-header__title p{font-size:12px}
  .stay-history-kpis{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 12px}
  .stay-history-kpis article{display:flex;align-items:center;justify-content:space-between;border:1px solid #777!important;background:#fff!important;padding:7px 10px!important}
  .stay-history-table-wrap{overflow:visible!important;border:1px solid #333!important;border-radius:0!important}
  .stay-history-table{min-width:0!important;width:100%!important;border-collapse:collapse;table-layout:fixed}
  .stay-history-table thead{display:table-header-group!important}
  .stay-history-table tr{display:table-row!important;break-inside:avoid}
  .stay-history-table th,.stay-history-table td{display:table-cell!important;border:1px solid #777!important;color:#111!important;background:#fff!important;padding:5px 4px!important;text-align:center!important;font:11px/1.7 BYekan,Arial,sans-serif}
  .stay-history-table th{background:#eee!important;color:#111!important}
  .stay-history-table td::before{display:none!important}
}


/* v16.5.134 – stay folio detail and restaurant item tooltip */
.restaurant-v2-order-card{overflow:visible}
.restaurant-v2-card-chip.is-source{max-width:53%;font-size:12px}
.restaurant-v2-items-popover-trigger{overflow:visible;cursor:help}
.restaurant-v2-items-popover{position:absolute;z-index:30;bottom:calc(100% + 11px);right:-10px;display:grid;gap:7px;width:max-content;min-width:190px;max-width:min(335px,calc(100vw - 35px));max-height:280px;overflow-y:auto;padding:14px 17px;border:1px solid rgba(87,210,213,.42);border-radius:17px;background:linear-gradient(155deg,#102e40,#061c2a);color:#e9fbff;text-align:right;font:20px/1.45 BMitra,serif;white-space:normal;box-shadow:0 15px 38px rgba(0,0,0,.42);opacity:0;visibility:hidden;transform:translateY(7px);transition:opacity .15s ease,transform .15s ease,visibility .15s;pointer-events:none}
.restaurant-v2-items-popover>b{font-family:BYekan,sans-serif;font-size:12px;color:#63e3d2;border-bottom:1px solid rgba(135,204,211,.2);padding-bottom:7px}
.restaurant-v2-items-popover>span{display:flex;align-items:center;justify-content:space-between;gap:18px}
.restaurant-v2-items-popover>span em{font:16px BMitra,serif;color:#f5d267}
.restaurant-v2-order-card:hover .restaurant-v2-items-popover-trigger:hover .restaurant-v2-items-popover,.restaurant-v2-order-card:focus-visible .restaurant-v2-items-popover{opacity:1;visibility:visible;transform:translateY(0)}
.restaurant-body.is-light .restaurant-v2-items-popover{background:linear-gradient(150deg,#f5fbfe,#e5f5f9);color:#143442;border-color:#7bcedb}
.customer-lifecycle-main.is-staying{grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr)}
.customer-stay-bill{grid-column:1/-1;min-width:0;border:1px solid rgba(82,215,201,.25);background:rgba(7,39,55,.57);border-radius:22px;padding:17px 18px;margin-top:7px;text-align:right}
.customer-stay-bill h3{margin:0 0 14px;font-size:21px;color:#f3d47f}
.customer-stay-bill h4{margin:17px 0 11px;font-size:15px;color:#d3e9ee}
.customer-bill-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.customer-bill-totals>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border:1px solid rgba(130,206,218,.15);border-radius:13px;background:rgba(13,43,61,.8);font-size:13px;min-width:0}
.customer-bill-totals small{color:#9ac2ce;font-size:12px}.customer-bill-totals b{color:#ebf9fd;font-size:14px}
.customer-bill-totals .is-balance{grid-column:1/-1;border-color:rgba(238,201,77,.44);background:rgba(160,125,34,.12)}
.customer-bill-totals .is-balance b{color:#f1d37d}
.customer-bill-entries{display:grid;gap:10px}.customer-bill-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid rgba(122,203,213,.16);border-radius:15px;padding:13px 14px;background:rgba(3,19,32,.35)}
.customer-bill-row>div{display:grid;gap:5px;min-width:0}.customer-bill-row strong{font-size:14px;color:#fff}.customer-bill-row small{font-size:11px;color:#95bdc8}.customer-bill-row>b{white-space:nowrap;color:#60dcc7;font-size:14px}
.customer-bill-order-lines{display:grid;gap:4px;margin-top:4px}.customer-bill-order-lines>span{font:18px/1.5 BMitra,serif;color:#c5dbe1;display:flex;justify-content:space-between;gap:16px}.customer-bill-order-lines b{font:17px/1.4 BMitra,serif;color:#f2d781;white-space:nowrap}
.customer-bill-disclaimer{display:block;color:#8fa9b5;margin-top:13px;font:15px BMitra,serif}.customer-bill-empty{color:#9eafbc;font:18px BMitra,serif}
.manager-folio-order-items{display:block;color:#9eddd6;font:18px BMitra,serif;line-height:1.4}
@media(max-width:640px){.customer-bill-totals{grid-template-columns:1fr}.customer-bill-totals .is-balance{grid-column:auto}.customer-stay-bill{padding:12px}.customer-bill-row{flex-wrap:wrap}.customer-lifecycle-main.is-staying{grid-template-columns:1fr}}


/* v16.5.136 — separate room finances and refined guest stay modal */
.manager-operations-dialog .manager-operations-topbar{direction:ltr;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:49px;margin:0 0 9px;padding:0 2px}
.manager-operations-dialog .manager-operations-topbar-start{display:flex;align-items:center;justify-content:flex-start;gap:11px;min-width:0}
.manager-operations-dialog .manager-operations-topbar .manager-operations-close{position:static;inset:auto;flex:0 0 45px;width:45px;height:45px;border-radius:13px;font-size:31px}
.manager-operations-dialog .manager-operations-badge,.manager-operations-dialog .manager-op-exit-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-width:126px;min-height:44px;padding:8px 15px;border-radius:14px;font:800 14px/1.5 BYekan,sans-serif;text-align:center;white-space:nowrap}
.manager-operations-dialog .manager-operations-badge.is-occupied{border:1px solid rgba(52,216,140,.65);color:#71f1ab;background:linear-gradient(145deg,rgba(7,100,66,.43),rgba(8,75,57,.3))}
.manager-operations-dialog .manager-operations-badge.is-reserved{border:1px solid rgba(240,197,80,.6);color:#f7da89;background:rgba(157,111,30,.19)}
.manager-operations-dialog .manager-op-exit-button{border-color:rgba(250,103,124,.55);color:#fff3f3;background:linear-gradient(135deg,#a32c46,#7b1b31)}
.manager-operations-dialog .manager-operations-heading{display:grid;justify-items:center;gap:6px;text-align:center;padding:5px 0 19px;border-bottom:1px solid var(--manager-line)}
.manager-operations-dialog .manager-operations-heading>span:first-child,.manager-operations-dialog .manager-operations-heading h2{text-align:center;width:100%}
.manager-operations-dialog .manager-op-info{justify-items:center;text-align:center;align-content:center}
.manager-operations-dialog .manager-op-info span{width:100%;text-align:center}
.manager-operations-dialog .manager-op-info strong{width:100%;text-align:center;color:#f6d16f;font-weight:800}
.manager-operations-dialog .manager-op-action-row{justify-content:center;align-items:stretch;gap:10px;margin-top:17px}
.manager-operations-dialog .manager-op-action-row .manager-secondary-button,.manager-operations-dialog .manager-op-action-row .manager-primary-button{box-sizing:border-box;flex:0 1 auto;min-width:192px;min-height:47px;border:1px solid rgba(70,173,216,.56);border-radius:13px;padding:10px 16px;background:linear-gradient(135deg,#145477,#0e3959);color:#eaf9ff;text-decoration:none;font:800 14px/1.5 BYekan,sans-serif;box-shadow:0 5px 18px rgba(0,17,32,.17);cursor:pointer;transition:transform .17s ease,filter .17s ease}
.manager-operations-dialog .manager-op-action-row .manager-secondary-button:hover,.manager-operations-dialog .manager-op-action-row .manager-primary-button:hover{filter:brightness(1.15);transform:translateY(-1px)}
.manager-operations-dialog .manager-op-accounts{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.manager-operations-dialog .manager-op-account{min-width:0;padding:14px;border-radius:17px;border:1px solid rgba(76,159,190,.25);background:rgba(5,36,54,.36)}
.manager-operations-dialog .manager-op-account.is-lodging{border-color:rgba(72,196,145,.3)}
.manager-operations-dialog .manager-op-account.is-extras{border-color:rgba(237,196,80,.4)}
.manager-operations-dialog .manager-op-account h4{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:1px 0 12px;color:#f3e5b9;font:800 16px/1.6 BYekan,sans-serif}
.manager-operations-dialog .manager-op-account h4 small{font-size:11px;color:#a9cad4;font-weight:500}
.manager-operations-dialog .manager-op-account .manager-op-money-grid{grid-template-columns:1fr 1fr;gap:8px}
.manager-operations-dialog .manager-op-account .manager-op-info,.manager-operations-dialog .manager-op-account .manager-op-money-balance{padding:12px 8px;justify-items:center;text-align:center}
.manager-operations-dialog .manager-op-account .manager-op-money-balance{grid-column:1/-1;border-color:rgba(239,204,95,.35);background:rgba(204,152,34,.1)}
.manager-operations-dialog .manager-op-account .manager-op-money-balance strong{color:#f5d36e}
.manager-operations-dialog .manager-op-service-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.manager-operations-dialog .manager-op-service-bottom>label{min-width:0}
.manager-operations-dialog .manager-op-service-bottom .manager-primary-button{height:45px;min-width:178px;width:auto;white-space:nowrap}
.manager-operations-dialog .manager-op-service-bottom input{height:45px}
.manager-charge-payment-dialog{width:min(475px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto;position:fixed;margin:auto;box-sizing:border-box;padding:29px 23px 23px;border:1px solid rgba(234,197,94,.34);border-radius:24px;background:linear-gradient(155deg,#0c2d42,#071c2b);color:#f4f7fa;box-shadow:0 25px 85px rgba(0,0,0,.52);text-align:center;font-family:BYekan,sans-serif}
.manager-charge-payment-dialog:not([open]){display:none}
.manager-charge-payment-dialog::backdrop{background:rgba(0,8,15,.74);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.manager-charge-payment-dialog>.manager-charge-payment-close{top:8px;left:8px;width:42px;height:42px;border:0;background:transparent;box-shadow:none;font-size:30px}
.manager-charge-payment-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 11px;border:1px solid rgba(66,229,151,.36);border-radius:19px;background:rgba(38,153,105,.12);color:#7cf3af;font-size:32px}
.manager-charge-payment-eyebrow{color:#efc865;font-size:12px;font-weight:800}
.manager-charge-payment-dialog h2{margin:7px 0;color:#f4faff;font-size:24px;line-height:1.6}
.manager-charge-payment-dialog p{margin:10px 0;color:#c2d9e1;font:17px/1.75 BMitra,sans-serif}
.manager-charge-payment-details{display:grid;gap:7px;padding:16px;margin:13px 0;border:1px solid rgba(115,195,214,.27);border-radius:15px;background:rgba(7,38,55,.9)}
.manager-charge-payment-details strong{font-size:16px;color:#e7f5f9}.manager-charge-payment-details b{font-size:23px;color:#f4d06f}
.manager-charge-payment-dialog p.manager-charge-payment-warning{padding:10px;border:1px solid rgba(235,196,78,.27);border-radius:12px;background:rgba(206,167,65,.08);font:16px/1.8 BMitra,sans-serif;color:#e5cb88}
.manager-charge-payment-dialog .form-status{font:14px/1.5 BYekan,sans-serif;min-height:18px}
.manager-charge-payment-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:14px}
.manager-charge-payment-actions button{min-width:0;min-height:48px;width:100%;border-radius:13px;font:800 13px/1.5 BYekan,sans-serif;cursor:pointer}
.manager-charge-payment-actions .manager-primary-button{border:1px solid #e1ba55;background:linear-gradient(110deg,#deb34c,#f6d775);color:#112d3d}
.manager-charge-payment-actions .manager-secondary-button{border:1px solid rgba(77,164,195,.33);background:#103a53;color:#e6f3f8}
.manager-charge-payment-actions button:disabled{opacity:.58;cursor:wait}
.manager-body.is-light .manager-operations-dialog .manager-op-account{background:#eaf3f5}
.manager-body.is-light .manager-operations-dialog .manager-op-info strong{color:#a57910}
.manager-body.is-light .manager-operations-dialog .manager-op-account h4{color:#174659}
.manager-body.is-light .manager-operations-dialog .manager-op-account h4 small{color:#476874}
@media(max-width:760px){
 .manager-operations-dialog .manager-op-accounts{grid-template-columns:1fr}
 .manager-operations-dialog .manager-op-action-row>*{flex:1 1 180px;min-width:0!important;width:auto}
}
@media(max-width:560px){
 .manager-operations-dialog .manager-operations-topbar{gap:6px}
 .manager-operations-dialog .manager-operations-topbar-start{gap:5px}
 .manager-operations-dialog .manager-operations-topbar .manager-operations-close{width:38px;height:38px;flex-basis:38px;font-size:28px}
 .manager-operations-dialog .manager-operations-badge,.manager-operations-dialog .manager-op-exit-button{min-width:0;min-height:39px;padding:7px 8px;border-radius:11px;font-size:11px}
 .manager-operations-dialog .manager-operations-heading{padding:2px 0 14px}
 .manager-operations-dialog .manager-op-service-bottom{grid-template-columns:1fr}
 .manager-operations-dialog .manager-op-service-bottom .manager-primary-button{width:100%}
 .manager-charge-payment-dialog{padding:22px 14px 17px}
 .manager-charge-payment-actions{grid-template-columns:1fr 1.4fr;gap:7px}
 .manager-charge-payment-actions button{font-size:12px;padding:8px 4px}
}
.customer-stay-bill .customer-bill-separated{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.customer-stay-bill .customer-bill-account{min-width:0;border:1px solid rgba(99,184,204,.23);border-radius:16px;padding:13px;background:rgba(7,40,56,.56)}
.customer-stay-bill .customer-bill-account.is-lodging{border-color:rgba(67,211,147,.3)}
.customer-stay-bill .customer-bill-account.is-extras{border-color:rgba(232,188,70,.34)}
.customer-stay-bill .customer-bill-account h4{margin:0 0 12px;color:#f3d37b;font:800 16px BYekan,sans-serif}
.customer-stay-bill .customer-bill-account h4 small{color:#a1c1cd;font-size:11px;font-weight:400;margin-inline-start:7px}
.customer-stay-bill .customer-bill-account .customer-bill-totals{grid-template-columns:1fr}
.customer-stay-bill .customer-bill-account .customer-bill-totals .is-balance{grid-column:auto}
@media(max-width:760px){.customer-stay-bill .customer-bill-separated{grid-template-columns:1fr}}

/* Standalone scoped close controls: bypass historical global .dialog-x overrides. */
.manager-operations-dialog .manager-operations-close,.manager-charge-payment-dialog>.manager-charge-payment-close{display:grid;place-items:center;flex:none;position:static;box-sizing:border-box;min-width:42px;min-height:42px;width:42px;height:42px;padding:0;border:1px solid rgba(103,192,224,.23);border-radius:12px;background:rgba(9,47,70,.7);color:#ff6686;font:800 29px/1 Arial,sans-serif;cursor:pointer;box-shadow:none;transition:background .15s ease,filter .15s ease}
.manager-operations-dialog .manager-operations-close:hover,.manager-charge-payment-dialog>.manager-charge-payment-close:hover{filter:brightness(1.18);background:rgba(18,61,83,.8)}
.manager-charge-payment-dialog>.manager-charge-payment-close{position:absolute;left:11px;top:11px;min-width:38px;min-height:38px;width:38px;height:38px;background:transparent;border:none}
@media(max-width:560px){.manager-operations-dialog .manager-operations-topbar .manager-operations-close{width:38px;height:38px;min-width:38px;min-height:38px}}

.manager-operations-dialog .manager-op-exit-button[hidden]{display:none}

/* Checkout view retains financial account separation, including printed folio. */
.manager-op-checkout-separated{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.manager-op-checkout-separated>section{min-width:0;border:1px solid rgba(103,188,211,.23);border-radius:15px;padding:11px}
.manager-op-checkout-separated>section:first-child{border-color:rgba(75,211,156,.36)}
.manager-op-checkout-separated>section:last-child{border-color:rgba(237,194,78,.38)}
.manager-op-checkout-separated h4{color:#f3d486;font:800 14px BYekan,sans-serif;margin:0 0 10px}
.manager-op-checkout-separated .manager-op-checkout-grid{grid-template-columns:1fr}
.manager-op-checkout-separated .manager-op-info{justify-items:center;text-align:center}
.manager-op-checkout-separated .manager-op-info strong{color:#f0d174}
@media(max-width:740px){.manager-op-checkout-separated{grid-template-columns:1fr}}

/* v16.5.137 — guest stay: original bare close, correct control positions,
   editable lodging advance, and an auditable service-debt table. */
.manager-operations-dialog .manager-operations-topbar{direction:ltr;display:flex;align-items:center;justify-content:space-between;gap:10px}
.manager-operations-dialog .manager-operations-topbar-end{display:flex;align-items:center;gap:10px;min-width:0}
.manager-operations-dialog .manager-operations-topbar-start{display:flex;align-items:center}
/* The project-wide ✕ is intentionally unframed; do not style it as a boxed button. */
.manager-operations-dialog .manager-operations-topbar .manager-operations-close,
.manager-operations-dialog .manager-operations-topbar .dialog-x--bare.manager-operations-close{
  display:flex;align-items:center;justify-content:center;position:static;inset:auto;flex:0 0 35px;
  width:35px;min-width:35px;height:40px;min-height:40px;padding:0;margin:0;
  border:0;border-radius:0;background:transparent;box-shadow:none;
  color:#ff5975;font:800 31px/1 Arial,sans-serif;text-shadow:0 2px 7px rgba(237,40,82,.45);cursor:pointer;
}
.manager-operations-dialog .manager-operations-topbar .manager-operations-close:hover,
.manager-operations-dialog .manager-operations-topbar .dialog-x--bare.manager-operations-close:hover{background:transparent;filter:brightness(1.2)}
.manager-operations-dialog .manager-op-action-row [disabled]{cursor:not-allowed;opacity:.49;filter:saturate(.35);box-shadow:none}
.manager-operations-dialog .manager-op-lodging-paid{box-sizing:border-box;display:grid;justify-items:center;align-content:center;gap:6px;min-width:0;
  min-height:90px;padding:12px 8px;border:1px solid rgba(244,208,102,.58);border-radius:15px;
  background:rgba(171,126,25,.12);color:#e8f4f9;cursor:pointer;font:inherit;transition:background .18s ease,border-color .18s ease}
.manager-operations-dialog .manager-op-lodging-paid:hover{background:rgba(193,156,45,.21);border-color:#e9cd76}
.manager-operations-dialog .manager-op-lodging-paid span{color:#b3d1dc;font-size:12px;text-align:center}
.manager-operations-dialog .manager-op-lodging-paid em{display:inline-block;font:700 11px BYekan,sans-serif;color:#ffe08e;margin-inline-start:6px}
.manager-operations-dialog .manager-op-lodging-paid strong{color:#f6d16f;font-size:17px;overflow-wrap:anywhere}
.manager-operations-dialog .manager-op-ledger-scroll{overflow-x:auto;max-width:100%;border:1px solid rgba(114,190,210,.29);border-radius:15px;overscroll-behavior-x:contain}
.manager-operations-dialog .manager-op-ledger-table{direction:rtl;width:100%;min-width:760px;border-spacing:0;border-collapse:separate;table-layout:fixed;color:#e9f3f9;font:14px/1.75 BMitra,sans-serif}
.manager-operations-dialog .manager-op-ledger-table th{color:#efd179;font:800 13px/1.7 BYekan,sans-serif;background:rgba(8,54,74,.95);text-align:center}
.manager-operations-dialog .manager-op-ledger-table th,.manager-operations-dialog .manager-op-ledger-table td{padding:11px 9px;border-bottom:1px solid rgba(116,176,193,.2);border-left:1px solid rgba(116,176,193,.14);text-align:center;vertical-align:middle;overflow-wrap:anywhere}
.manager-operations-dialog .manager-op-ledger-table td:last-child,.manager-operations-dialog .manager-op-ledger-table th:last-child{border-left:0}
.manager-operations-dialog .manager-op-ledger-table tr:last-child td{border-bottom:0}
.manager-operations-dialog .manager-op-ledger-table tr:nth-child(even) td{background:rgba(39,76,96,.22)}
.manager-operations-dialog .manager-op-ledger-table .is-amount{white-space:nowrap;font-weight:bold;color:#f3d374}
.manager-operations-dialog .manager-op-ledger-table .is-description{text-align:right;min-width:200px}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(1){width:6%}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(2){width:19%}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(3){width:15%}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(4){width:13%}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(5){width:9%}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(6){width:15%}
.manager-operations-dialog .manager-op-ledger-table th:nth-child(7){width:23%}
.manager-operations-dialog .manager-op-service-bottom{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}
.manager-operations-dialog .manager-op-service-bottom>label{min-width:0}
.manager-lodging-payment-dialog{box-sizing:border-box;position:fixed;margin:auto;width:min(475px,calc(100vw - 24px));max-height:90dvh;overflow-y:auto;padding:30px 24px 24px;
  border:1px solid rgba(235,195,78,.42);border-radius:23px;background:linear-gradient(155deg,#103248,#081c2e);color:#edf5f7;font-family:BYekan,sans-serif;box-shadow:0 25px 85px rgba(0,0,0,.56);direction:rtl}
.manager-lodging-payment-dialog:not([open]){display:none}
.manager-lodging-payment-dialog::backdrop{background:rgba(0,7,14,.7);backdrop-filter:blur(7px)}
.manager-lodging-payment-dialog>.dialog-x{position:absolute;top:8px;left:10px}
.manager-lodging-payment-dialog h2{text-align:center;margin:0 35px 9px;font:800 23px/1.6 BYekan,sans-serif}
.manager-lodging-payment-dialog>p{font:16px/1.8 BMitra,sans-serif;color:#bed4de;text-align:center;margin:6px 0 17px}
.manager-lodging-payment-dialog form{display:grid;gap:14px}
.manager-lodging-payment-dialog form>label{display:grid;gap:8px;color:#e1d6ac;font-size:13px}
.manager-lodging-payment-dialog input{width:100%;box-sizing:border-box;border-radius:12px;border:1px solid rgba(124,188,214,.4);background:#072238;color:#f6d474;font:800 19px/1.4 BYekan,sans-serif;padding:13px;text-align:center;direction:ltr}
.manager-lodging-payment-totals{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(128,193,214,.22);background:rgba(14,55,72,.55);border-radius:12px;padding:13px}
.manager-lodging-payment-totals strong{color:#f7d66e}
.manager-lodging-payment-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px}
.manager-lodging-payment-actions button{min-height:47px;width:100%;border-radius:12px}
@media(max-width:760px){.manager-operations-dialog .manager-op-service-bottom{grid-template-columns:1fr 1fr}.manager-operations-dialog .manager-op-service-bottom button{grid-column:1/-1;width:100%}}
@media(max-width:460px){.manager-operations-dialog .manager-op-service-bottom{grid-template-columns:1fr}.manager-operations-dialog .manager-op-service-bottom button{grid-column:auto}
.manager-operations-dialog .manager-operations-topbar .manager-operations-close{width:32px;min-width:32px;flex-basis:32px}
.manager-operations-dialog .manager-operations-topbar .manager-operations-badge,.manager-operations-dialog .manager-operations-topbar .manager-op-exit-button{font-size:11px;min-width:0}}

/* v16.5.138 — Independent fifteen-day management occupancy calendar. */
.manager-occupancy-dialog,
.manager-occupancy-detail-dialog{
  color:#eff9fc;background:linear-gradient(155deg,#0c2a3e 0%,#061927 92%);
  border:1px solid rgba(102,179,204,.27);border-radius:28px;
  box-shadow:0 30px 100px rgba(0,0,0,.62);font-family:var(--font-ui);
}
.manager-occupancy-dialog::backdrop,.manager-occupancy-detail-dialog::backdrop{background:rgba(1,11,19,.78);backdrop-filter:blur(7px)}
.manager-occupancy-dialog{width:min(1510px,calc(100vw - 34px));max-width:none;height:min(91dvh,1050px);max-height:none;margin:auto;padding:0;overflow:hidden}
.manager-occupancy-dialog[open]{display:block;animation:reservationDialogEnter .24s ease-out}
.manager-occupancy-shell{height:100%;min-height:0;display:flex;flex-direction:column;padding:22px clamp(14px,2.4vw,30px) 18px;gap:14px}
.manager-occupancy-head{position:relative;display:flex;align-items:flex-start;justify-content:center;padding:2px 50px 9px;min-height:96px;text-align:center;border-bottom:1px solid rgba(159,205,221,.12)}
.manager-occupancy-heading>span{color:#e9bd4c;font-size:12px;font-weight:700}
.manager-occupancy-heading h2{font-size:clamp(22px,2.6vw,33px);margin:5px 0 8px;color:#f8f4df;line-height:1.55}
.manager-occupancy-heading p{font:16px/1.6 var(--font-body);margin:0;color:#a5c0cb}
.manager-occupancy-dialog .manager-occupancy-close{position:absolute;top:0;left:0;right:auto;border:none;background:transparent;box-shadow:none;color:#ff6084;width:46px;height:46px;font:37px/1 var(--font-ui);padding:0}
.manager-occupancy-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.manager-occupancy-paging{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.manager-occupancy-paging button,.manager-occupancy-foot button,.manager-occupancy-detail-actions button{
  border:1px solid rgba(74,165,202,.38);border-radius:12px;padding:10px 16px;min-height:41px;
  color:#d9f6ff;background:#113951;font:700 13px/1.3 var(--font-ui);cursor:pointer;
  transition:transform .18s,border-color .18s,background .18s
}
.manager-occupancy-paging button:hover:not(:disabled),.manager-occupancy-foot button:hover,.manager-occupancy-detail-actions button:hover{transform:translateY(-1px);background:#1c506a;border-color:#55d1ef}
.manager-occupancy-paging button:disabled{opacity:.32;cursor:not-allowed}
.manager-occupancy-paging button span{font-size:19px;margin-inline:4px}
.manager-occupancy-paging #managerOccupancyToday{color:#f4d36c;border-color:rgba(244,210,106,.38);background:rgba(226,170,54,.1)}
#managerOccupancyRange{color:#f9df86;font-size:14px;direction:rtl;text-align:center}
.manager-occupancy-legend{display:flex;flex-wrap:wrap;gap:15px;align-items:center;color:#c1d5de;font:15px/1.4 var(--font-body)}
.manager-occupancy-legend span{display:inline-flex;align-items:center;gap:6px}
.manager-occupancy-legend i{display:inline-block;width:12px;height:12px;border-radius:5px;border:1px solid currentColor}
.manager-occupancy-legend .is-stay{color:#ff6d78;background:#912c43}
.manager-occupancy-legend .is-booking{color:#f6cf70;background:#987124}
.manager-occupancy-legend .is-empty{color:#43d6a5;background:#115545}
.manager-occupancy-legend .is-locked{color:#9aafbb;background:#334657}
.manager-occupancy-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#37647a #091d2b;border:1px solid rgba(95,159,187,.23);border-radius:18px;background:#081f2e}
.manager-occupancy-grid{display:grid;grid-template-columns:160px repeat(15,minmax(57px,1fr));grid-auto-rows:minmax(48px,auto);column-gap:5px;row-gap:6px;min-width:1110px;padding:11px;align-items:stretch}
.manager-occupancy-date{min-height:60px;display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(100,165,187,.2);border-radius:11px;color:#f2d579;background:#102d40;position:sticky;top:0;z-index:3}
.manager-occupancy-date b{font:700 17px/1 var(--font-ui)}.manager-occupancy-date small{font:12px/1.3 var(--font-body);color:#b6d1d7}.manager-occupancy-date em{font:normal 10px/1.2 var(--font-ui);color:#789ba9}
.manager-occupancy-date.is-today{border-color:#32dcbb;box-shadow:inset 0 0 0 1px rgba(45,223,180,.17)}
.manager-occupancy-date.is-unit-heading{right:0;z-index:6;color:#d6e9f2;font-size:15px;font-weight:700}
.manager-occupancy-group{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:41px;padding:6px 13px;border-radius:12px;background:linear-gradient(90deg,rgba(91,184,199,.07),rgba(28,107,129,.23));border:1px solid rgba(117,183,204,.19);color:#f0d680}
.manager-occupancy-group strong{font-size:15px}.manager-occupancy-group span{color:#53c9e7}.manager-occupancy-group small{font:14px var(--font-body);color:#a3bfca;margin-inline-start:auto}
.manager-occupancy-room{position:sticky;right:0;z-index:2;display:flex;align-items:center;gap:9px;padding:8px 9px;min-height:57px;border-radius:12px;border:1px solid rgba(109,167,186,.25);background:#103248;box-shadow:-6px 0 12px rgba(5,20,30,.5)}
.manager-occupancy-room img,.manager-occupancy-room-blank{width:43px;height:41px;border-radius:9px;object-fit:cover;flex:none;background:#1c4857;display:grid;place-items:center}
.manager-occupancy-room strong{display:block;font-size:13px;color:#f9fbff;line-height:1.5}.manager-occupancy-room small{display:block;font-size:10px;color:#8caebd;margin-top:2px}
.manager-occupancy-cell{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:55px;padding:5px 4px;border-radius:11px;border:1px solid rgba(100,159,183,.22);font:700 14px/1.2 var(--font-ui);cursor:pointer;transition:transform .16s,filter .16s,box-shadow .16s;overflow:hidden;isolation:isolate;text-align:center}
.manager-occupancy-cell>*{position:relative;z-index:1;max-width:100%}
.manager-occupancy-glyph{font-size:17px;line-height:1}
.manager-occupancy-guest{display:block;max-width:100%;font-size:11px;line-height:1.18;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-inline:2px}
.manager-occupancy-status{display:block;font-size:10px;line-height:1.15;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-occupancy-cell.is-stay,.manager-occupancy-cell.is-booking{--occ-ring:rgba(255,255,255,.7);--occ-glow:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 0 0 1px rgba(255,255,255,.06),0 0 18px var(--occ-glow)}
.manager-occupancy-cell.is-stay::before,.manager-occupancy-cell.is-booking::before{content:'';position:absolute;inset:2px;border-radius:9px;padding:1.5px;background:conic-gradient(from 0deg,transparent 0 24%,var(--occ-ring) 36%,transparent 48% 74%,var(--occ-ring) 86%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.92;animation:occupancySpin 4.2s linear infinite;pointer-events:none}
.manager-occupancy-cell.is-stay .manager-occupancy-status,.manager-occupancy-cell.is-booking .manager-occupancy-status{font-weight:900;letter-spacing:.1px}
.manager-occupancy-cell.is-stay:not(.is-tour){color:#ffd6df;background:radial-gradient(circle at 50% 0%,rgba(255,149,177,.2),transparent 48%),linear-gradient(150deg,#7f213b,#471726);border-color:#ff7898;--occ-ring:rgba(255,176,198,.95);--occ-glow:rgba(255,76,130,.28)}
.manager-occupancy-cell.is-booking:not(.is-tour){color:#fff0b4;background:radial-gradient(circle at 50% 0%,rgba(255,215,129,.17),transparent 48%),linear-gradient(150deg,#886019,#513716);border-color:#f3c76a;--occ-ring:rgba(255,225,150,.95);--occ-glow:rgba(241,186,72,.24)}
.manager-occupancy-cell.is-booking.is-tour{color:#f6e7ff;background:radial-gradient(circle at 50% 0%,rgba(220,167,255,.18),transparent 48%),linear-gradient(150deg,#6d2f8d,#40205e);border-color:#df9dff;--occ-ring:rgba(236,195,255,.96);--occ-glow:rgba(188,110,255,.28)}
.manager-occupancy-cell.is-stay.is-tour{color:#dffff5;background:radial-gradient(circle at 50% 0%,rgba(143,255,230,.18),transparent 48%),linear-gradient(150deg,#0f6f63,#0d3f49);border-color:#5cf4db;--occ-ring:rgba(163,255,239,.97);--occ-glow:rgba(66,231,199,.25)}
.manager-occupancy-cell.is-empty{color:#65e8be;background:linear-gradient(150deg,#113d36,#0b302d);border-color:#266958}
.manager-occupancy-cell.is-blocked{color:#9eb2ba;background:#243945;border-color:#3c5260;cursor:not-allowed}
.manager-occupancy-cell.is-today{box-shadow:inset 0 0 0 1px rgba(255,255,255,.17),0 0 18px var(--occ-glow,rgba(255,255,255,.08))}
.manager-occupancy-cell:hover:not(:disabled),.manager-occupancy-cell:focus-visible{transform:scale(1.05);filter:brightness(1.16);z-index:1;box-shadow:0 10px 22px rgba(0,0,0,.34),0 0 24px var(--occ-glow,rgba(255,255,255,.08));outline:none}
.manager-occupancy-cell:focus-visible{outline:2px solid #8feaff;outline-offset:1px}
.manager-occupancy-loading,.manager-occupancy-error{grid-column:1/-1;min-height:220px;display:grid;place-content:center;text-align:center;color:#c8d9e0;font-size:15px;gap:10px}
.manager-occupancy-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;color:#aac3cd;font:15px/1.4 var(--font-body)}
.manager-occupancy-detail-dialog{width:min(630px,calc(100vw - 28px));max-height:87dvh;overflow:auto;padding:27px 23px 21px}
.manager-occupancy-detail-dialog[open]{display:block;animation:reservationDialogEnter .24s ease-out}
.manager-occupancy-detail-dialog>.dialog-x{position:absolute;left:13px;top:12px;right:auto;border:none;background:transparent;box-shadow:none;color:#ff6686;font-size:32px}
.manager-occupancy-detail-head{text-align:center;padding:14px 38px 16px;border-bottom:1px solid rgba(159,205,221,.16)}.manager-occupancy-detail-head>span{color:#f1cb65;font-size:13px}.manager-occupancy-detail-head h2{font-size:25px;margin:8px 0;color:#f5f5e6}.manager-occupancy-detail-head p{margin:0;color:#a8c3d0;font:16px var(--font-body)}
.manager-occupancy-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:16px}.manager-occupancy-detail-grid>div{min-height:69px;padding:11px;border:1px solid rgba(125,177,202,.19);border-radius:15px;background:#0d2a3d;display:grid;align-content:center;text-align:center;gap:6px}.manager-occupancy-detail-grid span,.manager-occupancy-detail-note>span{color:#a1c0d0;font:13px var(--font-body)}.manager-occupancy-detail-grid strong{color:#f9cd6d;font-size:15px;overflow-wrap:anywhere}
.manager-occupancy-detail-note{border:1px solid rgba(125,177,202,.19);border-radius:15px;margin-top:9px;padding:12px;background:#0d2a3d}.manager-occupancy-detail-note p{font:17px/1.6 var(--font-body);color:#dceff3;margin:7px 0 0}
.manager-occupancy-detail-actions{display:flex;justify-content:center;gap:9px;margin-top:20px;flex-wrap:wrap}.manager-occupancy-detail-actions button:last-child:not([hidden]){background:linear-gradient(125deg,#d0a439,#f5d678);border-color:#e9c762;color:#0b2934}.manager-occupancy-detail-actions button[hidden]{display:none}
.manager-body.is-light .manager-occupancy-dialog,.manager-body.is-light .manager-occupancy-detail-dialog{color:#f7fbff}
@media(max-width:700px){.manager-occupancy-dialog{width:calc(100vw - 12px);height:min(96dvh,1050px);border-radius:18px}.manager-occupancy-shell{padding:14px 10px;gap:10px}.manager-occupancy-head{padding:3px 30px 10px;min-height:76px}.manager-occupancy-heading h2{font-size:20px}.manager-occupancy-heading p{font-size:13px}.manager-occupancy-paging{width:100%;justify-content:center}.manager-occupancy-paging button{padding:9px 11px;font-size:12px;min-height:38px}.manager-occupancy-toolbar{justify-content:center}.manager-occupancy-legend{gap:7px 13px;font-size:13px}.manager-occupancy-grid{grid-template-columns:132px repeat(15,64px);min-width:1170px;padding:7px;column-gap:4px;row-gap:5px}.manager-occupancy-room{gap:5px;padding:5px}.manager-occupancy-room img,.manager-occupancy-room-blank{width:37px;height:37px}.manager-occupancy-room strong{font-size:12px}.manager-occupancy-group small{display:none}.manager-occupancy-foot{font-size:13px}.manager-occupancy-detail-dialog{padding:25px 12px 16px}.manager-occupancy-detail-head h2{font-size:20px}.manager-occupancy-detail-grid strong{font-size:13px}.manager-occupancy-detail-grid span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.manager-occupancy-dialog[open],.manager-occupancy-detail-dialog[open]{animation:none}}


/* v16.5.139 — twin-building booking layout. Preserve hotspot coordinates and imagery. */
@media (min-width: 1100px) {
  .reserve-page-shell .reservation-shell { width: min(1660px, 96vw); }
  .reservation-building-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: clamp(14px, 1.3vw, 24px);
  }
  .reservation-building-section { min-width: 0; padding: clamp(11px, 1vw, 18px); }
  .reservation-building-section .building-visual { width: 100%; }
  .reservation-building-section .public-unit-grid--building {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(9px, .9vw, 14px);
  }
  .reservation-building-section .room-hotspot {
    min-width: 56px; height: 31px; padding: 0 7px;
    font-size: clamp(12px, 1vw, 16px);
  }
  .reservation-building-section .room-hotspot[data-rear="1"] { min-width: 53px; }
  .reservation-building-section .public-unit-card { min-width: 0; }
}
@media (min-width: 1100px) and (max-width: 1250px) {
  .reservation-building-section .room-hotspot { min-width: 48px; height: 28px; font-size: 12px; padding: 0 5px; }
  .reservation-building-section .room-hotspot[data-rear="1"] { min-width: 46px; }
}
@media (max-width: 1099px) {
  .reservation-building-list { grid-template-columns: minmax(0, 1fr); }
}

/* v16.5.143 — the actual booking dialog stays open BEHIND the full-viewport video.
   This second modal dialog is placed above it in the browser top layer. */
dialog.unit-entry-video-layer{
  position:fixed;inset:0;z-index:2147482000;overflow:hidden;
  display:block;box-sizing:border-box;
  width:100vw;width:100dvw;height:100vh;height:100dvh;
  max-width:none;max-height:none;min-width:0;min-height:0;
  margin:0;padding:0;border:0;border-radius:0;
  background:#000;opacity:0;
  transition:opacity .30s ease-out;
  touch-action:manipulation;cursor:pointer;-webkit-tap-highlight-color:transparent;
}
dialog.unit-entry-video-layer::backdrop{background:transparent}
dialog.unit-entry-video-layer.is-visible{opacity:1}
dialog.unit-entry-video-layer.is-leaving{opacity:0;pointer-events:none;transition-duration:.95s;transition-timing-function:cubic-bezier(.35,0,.28,1)}
.unit-entry-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;
  display:block;background:#000;pointer-events:none;max-width:none;max-height:none}
.unit-settings-video-variants{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.unit-settings-video-variant{display:grid;align-content:start;gap:10px;min-width:0;
  border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:13px;
  background:rgba(0,17,31,.26)}
.unit-settings-video-variant>strong{font:700 15px BYekan,sans-serif;color:#f4d36d}
.unit-settings-video-variant .unit-settings-video-upload{min-height:44px;text-align:center;padding:8px}
@media(max-width:640px){
  .unit-settings-video-variants{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){dialog.unit-entry-video-layer{transition:none}}

@media(prefers-reduced-motion:reduce){.unit-detail-dialog.is-video-arriving[open]{animation:none}}


/* ===== v16.5.144 — coherent mobile layout and iOS safe viewport ===== */
/* Only accommodation administration: keep desktop, POS and public reservation untouched. */
@media (max-width:760px){
  body.manager-body .manager-shell{
    width:calc(100% - 24px);max-width:100%;
    padding-top:calc(79px + var(--dashboard-safe-top,0px));
    padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));
  }
  body.manager-body .manager-overview-head{
    display:flex;flex-direction:row;align-items:center;justify-content:space-between;
    margin:0 0 12px;padding:0 2px;gap:10px;min-height:56px;
  }
  body.manager-body .manager-overview-head>div:first-child{min-width:0;flex:1}
  body.manager-body .manager-overview-head>div:first-child>span{font-size:10px;line-height:1.4}
  body.manager-body .manager-overview-head h1{
    font-size:clamp(20px,5vw,26px);line-height:1.35;margin:3px 0 0;white-space:normal;
  }
  body.manager-body .manager-overview-head__aside--live{
    width:auto;flex:none;display:flex;justify-content:center;align-items:center;
  }
  body.manager-body .manager-overview-head__aside--live p{display:none}
  body.manager-body .manager-live-chip{min-height:39px;padding:5px 10px;white-space:nowrap}
  body.manager-body .manager-command-grid{
    display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:11px;
  }
  body.manager-body .manager-command{
    width:100%;min-width:0;min-height:90px;padding:10px;border-radius:16px;
    display:grid;grid-template-columns:38px minmax(0,1fr);gap:7px;align-items:center;
  }
  body.manager-body .manager-command>span{
    position:relative;z-index:1;order:0;width:38px;height:42px;min-width:0;flex:none;
    border-radius:12px;display:grid;place-items:center;
  }
  body.manager-body .manager-command>span svg{
    width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;
    stroke-linecap:round;stroke-linejoin:round;display:block;
  }
  body.manager-body .manager-command strong{
    position:static;inset:auto;order:0;min-width:0;margin:0;padding:0;
    display:block;text-align:center;overflow-wrap:normal;word-break:normal;
    font-size:clamp(13px,3.8vw,17px);line-height:1.4;font-weight:850;
  }
  body.manager-body .manager-command small{display:none}
  body.manager-body .manager-command--history{grid-column:1/-1;min-height:68px;grid-template-columns:42px minmax(0,1fr)}
  body.manager-body .manager-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body.manager-body .manager-stats article{min-width:0;min-height:75px;padding:9px 13px}
  body.manager-body .manager-stats span{font-size:clamp(14px,4vw,18px);padding-inline:38px}
  body.manager-body .manager-stats b{font-size:clamp(22px,6vw,29px)}
  body.manager-body .manager-stats article:last-child{grid-column:1/-1;min-height:65px}
  /* Full labels; no illegible single-syllable substitutions. */
  body.manager-body .dashboard-header-actions{
    display:flex;gap:6px;min-width:0;max-width:47vw;flex:none;align-items:center;
  }
  body.manager-body .dashboard-header-actions .dashboard-header-history,
  body.manager-body .dashboard-header-actions .dashboard-header-back{
    width:auto;min-width:69px;max-width:none;height:39px;padding:0 8px;
    display:inline-flex;justify-content:center;align-items:center;
    border-radius:12px;white-space:nowrap;overflow:visible;
  }
  body.manager-body .dashboard-header-actions .dashboard-header-history b,
  body.manager-body .dashboard-header-actions .dashboard-header-back b{
    display:inline;font-size:12px;line-height:1.25;white-space:nowrap;
  }
  body.manager-body .dashboard-header-actions .dashboard-header-history::before,
  body.manager-body .dashboard-header-actions .dashboard-header-back::before{content:none}
  body.manager-body .dashboard-header-brand{max-width:32vw;height:41px;object-fit:contain}
  body.manager-body .dashboard-header-title{max-width:36vw;width:auto;min-width:0}
}
@media(max-width:360px){
 body.manager-body .manager-command{grid-template-columns:31px minmax(0,1fr);padding:8px;gap:4px;min-height:80px}
 body.manager-body .manager-command>span{width:31px;height:35px}
 body.manager-body .manager-command strong{font-size:12px}
 body.manager-body .dashboard-header-actions .dashboard-header-history,
 body.manager-body .dashboard-header-actions .dashboard-header-back{min-width:62px;padding:0 5px}
 body.manager-body .dashboard-header-actions .dashboard-header-history b,
 body.manager-body .dashboard-header-actions .dashboard-header-back b{font-size:11px}
}
/* A modal must be inside the visual viewport, not behind iOS status bar / home indicator. */
@media(max-width:760px){
 body.manager-body :is(
   #managerManualDialog,#managerManualUnitDialog,#managerDirectBookingDialog,
   #managerOccupancyDialog,#managerOccupancyDetailDialog,
   .manager-unit-dialog,.manager-manual-dialog,.manager-operations-dialog,
   .manager-lodging-payment-dialog,.manager-acceptance-dialog,
   .jalali-date-dialog,.manager-lock-dialog,.manager-cleaning-dialog,
   .manager-booking-dialog
 )[open]{
    box-sizing:border-box;position:fixed;
    top:calc(var(--baba-visual-offset-top,0px) + env(safe-area-inset-top,0px) + 9px);
    bottom:auto;left:0;right:0;margin:0 auto;
    max-height:calc(var(--baba-visual-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 18px);
    min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.manager-body #managerManualDialog[open],
  body.manager-body #managerDirectBookingDialog[open]{width:calc(100% - 18px);max-width:680px;padding:16px 12px 18px}
  body.manager-body #managerManualDialog>header{padding:5px 44px 2px;text-align:center;margin-bottom:10px}
  body.manager-body #managerManualDialog>header h2{font-size:clamp(18px,5vw,23px);line-height:1.35}
  body.manager-body #managerManualDialog .dialog-x{position:absolute;top:9px;left:9px;right:auto}
  body.manager-body #managerManualDialog .manager-booking-layout,
  body.manager-body #managerManualDialog .manager-booking-fields,
  body.manager-body #managerManualDialog .manager-manual-form,
  body.manager-body #managerManualDialog .manual-payment,
  body.manager-body #managerManualDialog .manual-companions{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
  body.manager-body #managerManualDialog :is(label,input,select,button,.booking-price-card,.booking-count-card){min-width:0;max-width:100%;box-sizing:border-box}
  body.manager-body #managerManualDialog :is(.manager-manual-top-row,.manager-manual-identity-row){grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.manager-body #managerManualDialog .manager-manual-counter-row{
    grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
  }
  body.manager-body #managerManualDialog .manager-manual-counter-row .manual-guest-total-card{
    grid-column:1/-1;height:86px;min-height:86px;
  }
  body.manager-body #managerManualDialog .manager-manual-counter-row .booking-count-card{height:102px;min-height:102px;padding:9px 7px}
  body.manager-body #managerManualDialog .manager-manual-counter-row .booking-count-card__head strong{font-size:13px}
  body.manager-body #managerManualDialog .manager-manual-counter-row .booking-count-card__head small{font-size:10px;white-space:normal}
  body.manager-body #managerManualDialog .manager-manual-counter-row .manual-guest-total-card>b{font-size:22px;overflow-wrap:anywhere;white-space:normal}
  body.manager-body #managerManualDialog .manual-payment-totals{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.manager-body #managerManualDialog .manual-payment-totals .booking-price-card{padding:10px 8px;height:auto;min-height:92px}
  body.manager-body #managerManualDialog .manual-payment-totals .booking-price-card>b{font-size:clamp(16px,4.4vw,21px);overflow-wrap:anywhere}
  body.manager-body #managerManualDialog .manual-payment-totals .booking-price-card__head strong{font-size:12px}
  body.manager-body #managerManualDialog .manual-payment-totals .booking-price-card__head small{white-space:normal;font-size:10px}
  body.manager-body #managerManualDialog .manual-companion-list{overflow-x:visible;min-width:0}
  body.manager-body #managerManualDialog .manual-companion-row{
     min-width:0;width:100%;grid-template-columns:30px repeat(2,minmax(0,1fr));
     gap:7px;align-items:end;
  }
  body.manager-body #managerManualDialog .manual-companion-row__index{grid-column:1;grid-row:1;align-self:start;height:32px}
  body.manager-body #managerManualDialog .manual-companion-field{min-width:0;grid-column:auto}
  body.manager-body #managerManualDialog .manual-companion-field--name,
  body.manager-body #managerManualDialog .manual-companion-field--birth{grid-column:2/-1}
  body.manager-body #managerManualDialog .manual-companion-field :is(input,select){font-size:13px;height:40px}
  body.manager-body #managerManualDialog .manual-companion-field>span{font-size:11px}
  body.manager-body #managerManualDialog .manual-companion-birth{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}
  body.manager-body #managerManualDialog .manager-manual-date-grid{grid-template-columns:minmax(0,1fr) 67px minmax(0,1fr);gap:5px}
  body.manager-body #managerManualDialog .manager-manual-date-grid .jalali-date-field{padding:0 5px}
  body.manager-body #managerManualDialog .manager-manual-date-grid .jalali-date-field b{font-size:clamp(11px,3.3vw,15px)}
  body.manager-body #managerManualDialog .manager-manual-days-pill strong{font-size:16px}
  body.manager-body #managerManualDialog :is(input,select,textarea){font-size:16px} /* prevent iOS focus zoom */
  body.manager-body #managerManualDialog .manager-manual-payment-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
}
/* Chat is controlled by its visualViewport-aware JS; CSS guarantees safe content and buttons. */
@media(max-width:760px){
 .chat-layer{width:100%;height:100%;overflow:visible}
 .chat-panel:not([hidden]){
   position:absolute;box-sizing:border-box;min-width:0;
   max-width:calc(100vw - 12px);
   max-height:calc(var(--baba-chat-visual-height,100dvh) - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 18px);
   display:flex;flex-direction:column;overflow:hidden;
   border-radius:22px;
 }
 .chat-panel-head{min-height:58px;flex:0 0 58px;padding:5px 8px;
   grid-template-columns:44px minmax(0,1fr) 44px;gap:4px}
 .chat-panel-close{position:relative;z-index:12;width:44px;height:44px;min-width:44px;min-height:44px;touch-action:manipulation}
 .chat-peer-button{min-width:0;overflow:hidden}
 .chat-peer-title{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .chat-conversation{flex:1;min-height:0;overflow:hidden}
 .chat-messages{min-height:0;flex:1;overscroll-behavior:contain}
 .chat-message-form{flex:none;padding-bottom:max(9px,env(safe-area-inset-bottom,0px))}
 .chat-composer-shell{min-height:52px}
 .chat-composer-shell textarea{font-size:16px}
}

/* 16.5.144 follow-up: fix a legacy 210px grid track that made manager's
   quick-reservation form extend horizontally beyond the phone screen. */
@media(max-width:760px){
  body.manager-body .manager-direct-booking-dialog.unit-detail-dialog[open]{
    width:calc(100% - 18px);max-width:680px;min-width:0;
    padding:47px 12px 18px;
  }
  body.manager-body .manager-direct-booking-dialog.unit-detail-dialog
    > .dialog-x.dialog-x.dialog-x.dialog-x.dialog-x{
    position:absolute;top:7px;left:11px;right:auto;
    width:39px;height:39px;min-width:39px;min-height:39px;
    border:0;background:transparent;border-radius:0;box-shadow:none;
    padding:0;display:grid;place-items:center;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-shell,
  body.manager-body .manager-direct-booking-dialog .manager-direct-form-panel,
  body.manager-body .manager-direct-booking-dialog .manager-direct-form{
    min-width:0;max-width:100%;width:100%;box-sizing:border-box;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-form
    .booking-date-grid--three.manager-direct-date-grid{
    display:grid;grid-template-columns:minmax(0,1fr) 67px minmax(0,1fr);
    gap:5px;width:100%;min-width:0;max-width:100%;height:auto;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-date-grid label,
  body.manager-body .manager-direct-booking-dialog .manager-direct-date-grid .jalali-date-field{
    width:100%;min-width:0;max-width:100%;box-sizing:border-box;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-date-grid .jalali-date-field b{
    min-width:0;font-size:clamp(11px,3.4vw,15px);white-space:nowrap;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-guest-grid--compact,
  body.manager-body .manager-direct-booking-dialog .manager-direct-totals-row,
  body.manager-body .manager-direct-booking-dialog .booking-notes-field{
    max-width:100%;width:100%;min-width:0;box-sizing:border-box;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-guest-grid--compact{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-totals-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-form
    :is(input,textarea,button,select,.booking-count-card,.booking-price-card){
    min-width:0;max-width:100%;box-sizing:border-box;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-form :is(input,textarea){font-size:16px}
  body.manager-body .manager-direct-booking-dialog .manager-direct-mode-switch{
    width:100%;max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;margin:0 auto;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-mode-switch button{min-width:0;max-width:100%;box-sizing:border-box}
  body.manager-body .manager-direct-booking-dialog .manager-direct-title{
    min-width:0;min-height:65px;padding:2px 12px 0;
  }
  body.manager-body .manager-direct-booking-dialog .manager-direct-title h2{font-size:clamp(28px,8vw,37px);line-height:1.25}
  /* Header actions appear on multiple manager dashboards, including history. */
  .dashboard-global-header .dashboard-header-actions{display:flex;gap:5px;max-width:48vw;align-items:center}
  .dashboard-global-header .dashboard-header-actions :is(.dashboard-header-history,.dashboard-header-back){
    min-width:68px;width:auto;min-height:37px;height:37px;padding:0 8px;
    justify-content:center;align-items:center;display:inline-flex;white-space:nowrap;
  }
  .dashboard-global-header .dashboard-header-actions :is(.dashboard-header-history,.dashboard-header-back)>b{
    font-size:11px;line-height:1.25;display:inline;white-space:nowrap;
  }
  .dashboard-global-header .dashboard-header-actions :is(.dashboard-header-history,.dashboard-header-back)::before{content:none}
  .dashboard-global-header:has(.dashboard-header-actions) .dashboard-header-brand{max-width:31vw}
}
@media(max-width:760px){
  /* ID wins over the inherited booking-dialog padding rule.  Reserve a
     dedicated close-button row so it cannot cover the reservation/stay tabs. */
  body.manager-body #managerDirectBookingDialog.manager-direct-booking-dialog[open]{
    padding-top:50px;padding-inline:12px;padding-bottom:18px;
  }
  body.manager-body #managerDirectBookingDialog .manager-direct-form .manager-direct-totals-row .booking-count-card{min-width:0;overflow:hidden}
  body.manager-body #managerDirectBookingDialog .manager-direct-totals-row .booking-count-card__head{
    min-width:0;max-width:100%;gap:3px;flex-wrap:wrap;
  }
  body.manager-body #managerDirectBookingDialog .manager-direct-totals-row .booking-count-card__head strong{
    font-size:clamp(11px,3.35vw,14px);line-height:1.2;white-space:normal;
  }
  body.manager-body #managerDirectBookingDialog .manager-direct-totals-row .booking-count-card__head small{
    font-size:9px;line-height:1.25;white-space:normal;
  }
  body.manager-body #managerDirectBookingDialog .manager-direct-totals-row .booking-counter{
    width:100%;max-width:100%;min-width:0;
    display:grid;grid-template-columns:30px minmax(0,1fr) 30px;gap:3px;
  }
  body.manager-body #managerDirectBookingDialog .manager-direct-totals-row .booking-counter__button{
    width:30px;height:34px;min-width:0;max-width:100%;font-size:21px;
  }
  body.manager-body #managerDirectBookingDialog .manager-direct-totals-row .booking-counter__value{
    min-width:0;width:100%;font-size:clamp(17px,5vw,24px);
  }
}
/* v16.5.145 — Mobile restaurant is a dedicated single-layer workspace. */
.restaurant-v2-mobile-categories,.restaurant-v2-mobile-menu-tools{display:none}
.restaurant-v2-menu-drawer[hidden]{display:none}
.restaurant-v2-new-plus{display:inline-block}
@media(max-width:820px){
  body.restaurant-v2{overflow-x:clip}
  body.restaurant-v2 .restaurant-v2-shell{width:calc(100% - 12px);padding:12px 0 28px}
  body.restaurant-v2 .restaurant-v2-command{display:flex;flex-direction:column;gap:9px;margin-bottom:12px;padding:12px;border-radius:18px}
  body.restaurant-v2 .restaurant-v2-brand{order:0;min-height:56px}
  body.restaurant-v2 .restaurant-v2-category-cluster.is-right{order:1}
  body.restaurant-v2 .restaurant-v2-category-cluster.is-left{order:2}
  body.restaurant-v2 .restaurant-v2-category-cluster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  body.restaurant-v2 .restaurant-v2-category{min-height:56px;justify-content:center;text-align:center;padding:7px 3px;min-width:0}
  body.restaurant-v2 .restaurant-v2-category span{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4;text-align:center;font-size:clamp(10px,2.9vw,13px)}
  body.restaurant-v2 .restaurant-v2-category small{display:none}
  body.restaurant-v2 .restaurant-v2-board-head{display:flex;justify-content:center;text-align:center;margin:4px 0 14px}
  body.restaurant-v2 .restaurant-v2-board-head>div:first-child{flex:0 1 auto;text-align:center}
  body.restaurant-v2 .restaurant-v2-board-head h2{font-size:clamp(22px,5vw,29px);line-height:1.5}
  body.restaurant-v2 .restaurant-v2-board-head span{display:block;text-align:center}
  body.restaurant-v2 .restaurant-v2-header-new{position:fixed;top:12px;right:79px;z-index:1251;width:48px;height:48px;min-width:48px;padding:0;display:grid;place-items:center;border:0;border-radius:15px;isolation:isolate;background:linear-gradient(150deg,#0a9b61,#046341);box-shadow:0 3px 16px rgba(9,217,156,.25);overflow:visible}
  body.restaurant-v2 .restaurant-v2-header-new::before{content:"";position:absolute;inset:-3px;border-radius:18px;padding:2px;background:conic-gradient(from 0deg,transparent 0deg,#46ffcb 62deg,#baffef 83deg,transparent 122deg,transparent 265deg,#58ffd4 305deg,transparent 335deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:rv145NeonOrbit 3s linear infinite;pointer-events:none}
  body.restaurant-v2 .restaurant-v2-header-new::after{content:"";position:absolute;inset:-5px;z-index:-1;border-radius:20px;box-shadow:0 0 16px rgba(40,243,189,.18);pointer-events:none}
  body.restaurant-v2 .restaurant-v2-header-new .restaurant-v2-new-label{display:none}
  body.restaurant-v2 .restaurant-v2-header-new .restaurant-v2-new-plus{font-family:Arial,sans-serif;font-size:35px;font-weight:400;line-height:1;margin:0;display:grid;place-items:center;width:100%;height:100%}
  body.restaurant-v2 .restaurant-v2-header-new:hover{transform:none}
  body.restaurant-v2 .restaurant-v2-order-card{min-height:220px}
  body.restaurant-v2 .restaurant-v2-overlay{position:fixed;inset:72px 0 0;z-index:1190;display:grid;place-items:stretch;padding:8px 6px max(8px,env(safe-area-inset-bottom,0px));overflow:hidden;background:rgba(0,13,24,.88);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);pointer-events:auto}
  body.restaurant-v2 .restaurant-v2-overlay[hidden]{display:none}
  body.restaurant-v2 .restaurant-v2-floating-workspace{position:relative;display:block;width:100%;max-width:100%;height:100%;max-height:100%;min-height:0;overflow:hidden;transform:translateY(8px);direction:rtl;pointer-events:auto}
  body.restaurant-v2 .restaurant-v2-overlay.is-open .restaurant-v2-floating-workspace{transform:none}
  body.restaurant-v2 .restaurant-v2-order-modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:100%;height:100%;max-height:100%;min-height:0;padding:11px;border-radius:19px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#237c92 transparent;pointer-events:auto}
  body.restaurant-v2 .restaurant-v2-order-head{min-height:48px;padding:0 45px;flex:0 0 auto}
  body.restaurant-v2 .restaurant-v2-order-head h2{font-size:clamp(21px,5.5vw,26px)}
  body.restaurant-v2 .restaurant-v2-order-close{top:1px;right:2px}
  body.restaurant-v2 .restaurant-v2-mobile-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%;margin:9px 0;padding:0;flex:none}
  body.restaurant-v2 .restaurant-v2-mobile-categories button{min-width:0;min-height:38px;padding:5px 2px;border:1px solid rgba(56,192,209,.27);border-radius:10px;background:rgba(11,54,74,.85);color:#d5f2fa;font:800 clamp(10px,2.5vw,12px)/1.5 var(--font-ui);text-align:center;white-space:normal;cursor:pointer}
  body.restaurant-v2 .restaurant-v2-mobile-categories button.is-active{border-color:#48d7c2;color:#5ee8d0;background:rgba(18,121,108,.23)}
  body.restaurant-v2 .restaurant-v2-order-compact{flex:0 0 auto;min-width:0}
  body.restaurant-v2 .restaurant-v2-service-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.restaurant-v2 .restaurant-v2-service-toggle button{min-width:0;min-height:54px;padding:4px 5px}
  body.restaurant-v2 .restaurant-v2-meta-grid{display:grid;grid-template-columns:1fr;gap:6px}
  body.restaurant-v2 .restaurant-v2-field{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;min-height:0;padding:8px}
  body.restaurant-v2 .restaurant-v2-field>span{text-align:right}
  body.restaurant-v2 .restaurant-v2-input-wrap{width:100%;min-width:0}
  body.restaurant-v2 .restaurant-v2-input-wrap input{width:100%;min-width:0}
  body.restaurant-v2 .restaurant-v2-suggestions{right:8px;left:8px;top:100%}
  body.restaurant-v2 .restaurant-v2-place-row,body.restaurant-v2 .restaurant-v2-meal-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;min-width:0}
  body.restaurant-v2 .restaurant-v2-place-row .restaurant-v2-segment{width:100%;min-width:0}
  body.restaurant-v2 .restaurant-v2-meal-segment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:4px;min-width:0}
  body.restaurant-v2 .restaurant-v2-meal-segment button{min-width:0;font-size:clamp(10px,2.6vw,12px);padding:0 3px;white-space:normal}
  body.restaurant-v2 .restaurant-v2-place-input,body.restaurant-v2 .restaurant-v2-time{width:100%;max-width:100%;min-width:0}
  body.restaurant-v2 .restaurant-v2-cart-section{flex:0 0 auto;min-height:80px;max-height:none;overflow:visible;padding-top:9px}
  body.restaurant-v2 .restaurant-v2-cart-list{max-height:230px;min-height:45px;flex:0 0 auto;overflow:auto;min-width:0}
  body.restaurant-v2 .restaurant-v2-cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:9px;min-height:70px}
  body.restaurant-v2 .restaurant-v2-cart-name{grid-column:1/-1;white-space:normal;overflow:visible;font-size:14px}
  body.restaurant-v2 .restaurant-v2-cart-unit{display:none}
  body.restaurant-v2 .restaurant-v2-cart-line{grid-column:1;font-size:15px}
  body.restaurant-v2 .restaurant-v2-cart-stepper{grid-column:2}
  body.restaurant-v2 .restaurant-v2-cart-remove{grid-column:3}
  body.restaurant-v2 .restaurant-v2-note{flex:0 0 auto;min-width:0}
  body.restaurant-v2 .restaurant-v2-order-footer{flex:0 0 auto;padding-bottom:5px}
  body.restaurant-v2 .restaurant-v2-total{min-height:43px}
  body.restaurant-v2 .restaurant-v2-total strong{font-size:22px}
  body.restaurant-v2 .restaurant-v2-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  body.restaurant-v2 .restaurant-v2-actions button{min-width:0;min-height:43px;padding:6px 3px;font-size:clamp(10px,2.7vw,12px)}
  body.restaurant-v2 .restaurant-v2-side-slot{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:100%;pointer-events:none}
  body.restaurant-v2 .restaurant-v2-side-slot.is-left{display:none}
  body.restaurant-v2 .restaurant-v2-side-slot.is-right{display:block}
  body.restaurant-v2 .restaurant-v2-menu-drawer,body.restaurant-v2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{position:absolute;inset:0;width:100%;max-width:100%;height:100%;max-height:100%;padding:12px;z-index:5;border-radius:19px;direction:rtl;pointer-events:auto;overflow:hidden}
  body.restaurant-v2 .restaurant-v2-menu-drawer[hidden]{display:none}
  body.restaurant-v2 .restaurant-v2-menu-drawer>header{min-height:42px;flex:0 0 auto}
  body.restaurant-v2 .restaurant-v2-menu-drawer>header h2{font-size:24px}
  body.restaurant-v2 .restaurant-v2-mobile-menu-tools{display:block;flex:0 0 auto}
  body.restaurant-v2 .restaurant-v2-mobile-menu-current{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:8px;border:1px solid rgba(66,204,198,.24);border-radius:12px;background:rgba(12,75,75,.24)}
  body.restaurant-v2 .restaurant-v2-mobile-menu-current strong{font:900 13px var(--font-ui);color:#f5d36d;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  body.restaurant-v2 .restaurant-v2-mobile-menu-current span{font:800 12px var(--font-ui);color:#5be3c2}
  body.restaurant-v2 .restaurant-v2-mobile-menu-current button{min-height:34px;padding:5px 9px;border:1px solid rgba(82,195,215,.4);border-radius:9px;background:#155075;color:#eefcff;font:800 11px var(--font-ui)}
  body.restaurant-v2 .restaurant-v2-menu-grid{display:block;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;direction:ltr}
  body.restaurant-v2 .restaurant-v2-menu-grid-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;direction:rtl;align-content:start}
  body.restaurant-v2 .restaurant-v2-food-card{min-height:122px;padding:12px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center}
  body.restaurant-v2 .restaurant-v2-food-card h3{margin:0;font-size:clamp(13px,3.8vw,16px);white-space:normal;overflow:visible;line-height:1.5;text-align:center}
  body.restaurant-v2 .restaurant-v2-food-card>strong{font-size:clamp(16px,3.9vw,20px);text-align:center}
  body.restaurant-v2 .restaurant-v2-food-card>strong small{font-size:10px}
  body.restaurant-v2 .restaurant-v2-overlay.is-mobile-menu .restaurant-v2-order-modal{visibility:hidden;pointer-events:none}
  body.restaurant-v2 .restaurant-v2-overlay.is-mobile-menu .restaurant-v2-menu-drawer.is-open{opacity:1;transform:none}
}
@media(max-width:360px){body.restaurant-v2 .restaurant-v2-header-new{right:72px;width:44px;height:44px;min-width:44px}}
@keyframes rv145NeonOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body.restaurant-v2 .restaurant-v2-header-new::before{animation:none}}

/* v16.5.146 mixed unit gallery and optimized home backgrounds */
.unit-settings-media-item video{width:100%;height:100%;display:block;object-fit:cover;background:#061b27;pointer-events:none}
.unit-settings-gallery-help{display:block;margin:5px 2px 15px;color:#9dbac5;font:13px/1.7 var(--font-body)}
.unit-gallery-video-thumb{display:grid;place-items:center;min-height:54px;background:linear-gradient(140deg,#042330,#135167);position:relative}
.unit-gallery-video-thumb .unit-video-play-symbol{position:relative;inset:auto;background:rgba(6,34,42,.55);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:white;font:20px Arial}
.unit-gallery-video-thumb .unit-video-thumb-caption{position:absolute;bottom:2px;right:6px;font-size:11px;color:#d1f5ef}
.unit-gallery-main video[data-gallery-main]{width:100%;height:100%;max-height:100%;object-fit:contain;background:#020b11;display:block}

/* Manager room shortcuts and compact direct reception — v16.5.147 */
.manager-room-card .manager-room-lock-quick{
 position:absolute;top:9px;right:10px;left:auto;z-index:7;display:grid;place-items:center;
 width:29px;height:27px;padding:0;border:1px solid rgba(179,119,251,.5);
 border-radius:9px;background:rgba(112,59,161,.19);color:#d6b5ff;
 font-size:15px;cursor:pointer;line-height:1;
}
.manager-room-card .manager-room-lock-quick:hover{background:rgba(172,102,235,.28);box-shadow:0 0 13px rgba(160,91,224,.26)}
.manager-room-card .room-mini-action.tone-restaurant{--action-color:#fb76b5;color:#ffd8ea}
.manager-room-card .room-action-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.manager-room-card .manager-room-lock-quick:focus-visible{outline:2px solid #c8a0fb;outline-offset:2px}
body.manager-body .manager-command>span svg{
 display:block;width:26px;height:26px;stroke:currentColor;stroke-width:2.2;
 fill:none;stroke-linecap:round;stroke-linejoin:round;
}
body.manager-body .manager-command>span svg :is(path,circle,rect,line,polyline,polygon){stroke:inherit;fill:none}
.manager-direct-booking-dialog{height:auto;min-height:0;max-height:min(94dvh,850px)}
.manager-direct-shell{align-content:start;grid-auto-rows:min-content;row-gap:9px}
.manager-direct-footer{margin:0;padding:0;align-self:start}
.manager-direct-footer .form-status:empty{display:none}
.manager-direct-mode-switch button{
 border-color:rgba(119,184,204,.39);
 background:linear-gradient(140deg,rgba(14,57,77,.85),rgba(12,37,54,.75));
 color:#f5fbff;box-shadow:inset 0 0 0 1px rgba(130,188,201,.07);
}
.manager-direct-mode-switch button b{color:#f5fbff;font-weight:900;opacity:1}
.manager-direct-mode-switch button small{color:#c6dce6}
.manager-direct-mode-switch button.is-active{
 border-color:#36da91;background:linear-gradient(145deg,rgba(19,121,80,.59),rgba(10,76,55,.68));
 box-shadow:0 0 14px rgba(46,212,135,.21),inset 0 0 0 1px rgba(75,232,155,.24);
}
.manager-direct-mode-switch button.is-active b{color:#fff}
.manager-occupied-walkin-dialog{
 width:min(490px,calc(100vw - 32px));max-height:88dvh;overflow:auto;position:relative;
 padding:27px 22px;border-radius:25px;border:1px solid rgba(255,187,92,.36);
 background:linear-gradient(150deg,#102c3f,#071b2b);color:#f3f8fa;
 box-shadow:0 32px 90px rgba(0,0,0,.46);
}
.manager-occupied-walkin-content{display:grid;gap:14px;text-align:center;padding-top:9px}
.manager-occupied-walkin-kicker{color:#f6ca62;font-size:13px}
.manager-occupied-walkin-content h2{margin:0;font-size:25px}
.manager-occupied-walkin-content p{margin:0;color:#cadde7;font:18px/1.8 BMitra,sans-serif}
.manager-occupied-walkin-buttons{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px}
.manager-occupied-walkin-buttons button{min-height:47px;border-radius:13px;cursor:pointer;font:700 14px BYekan,sans-serif}
.manager-occupied-walkin-buttons button:first-child{border:1px solid #eeae4f;background:linear-gradient(110deg,#e1b64e,#f5d578);color:#102132}
.manager-occupied-walkin-buttons button:last-child{border:1px solid #34536a;background:#17334a;color:#ebf4fc}
@media(max-width:560px){
 .manager-occupied-walkin-buttons{grid-template-columns:1fr}
 .manager-direct-booking-dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 18px)}
}

/* v16.5.148 — manager reservation polish + occupancy calendar editing */
body.manager-body .manager-command>span,
body.manager-body .manager-command>span svg{color:var(--command-accent)!important}
body.manager-body .manager-command>span svg{display:block;width:26px;height:26px;fill:none!important;stroke:currentColor!important;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}
body.manager-body .manager-command>span svg :is(path,circle,rect,line,polyline,polygon){fill:none!important;stroke:currentColor!important}

.manager-direct-mode-switch{padding:6px;gap:10px;border-radius:20px;background:rgba(7,36,52,.55);border:1px solid rgba(75,167,193,.18)}
.manager-direct-mode-switch button{min-height:70px;border-radius:17px;border:1px solid rgba(84,159,183,.28);background:linear-gradient(145deg,rgba(14,52,70,.96),rgba(10,35,49,.92));opacity:1;color:#eef8fd;box-shadow:inset 0 0 0 1px rgba(146,201,218,.05)}
.manager-direct-mode-switch button b{font-size:24px;font-weight:900;color:#f6fbff}
.manager-direct-mode-switch button small{font:18px/1.35 BMitra,BYekan,sans-serif;color:#d4e5ec}
.manager-direct-mode-switch button i{width:14px;height:14px;border-radius:50%;background:rgba(195,218,227,.38);box-shadow:0 0 0 5px rgba(255,255,255,.04)}
.manager-direct-mode-switch button.is-active{border-color:#38dc92;background:linear-gradient(145deg,rgba(17,122,81,.7),rgba(9,85,58,.74));box-shadow:0 0 0 1px rgba(99,234,168,.18) inset,0 0 18px rgba(57,216,145,.18)}
.manager-direct-mode-switch button.is-active i{background:#4effaa;box-shadow:0 0 12px rgba(61,239,163,.55)}
.manager-direct-footer{gap:10px!important;margin:0!important;padding-top:0!important}
.manager-direct-footer .manager-direct-actions{margin-top:8px!important}
.manager-direct-footer .form-status{margin-bottom:2px;min-height:18px}

.manager-occupancy-head--compact{gap:12px;min-height:auto;padding:2px 0 12px}
.manager-occupancy-topbar{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}
.manager-occupancy-topbar #managerOccupancyRange{justify-self:center;text-align:center;padding:10px 16px;border-radius:15px;background:rgba(11,45,62,.82);border:1px solid rgba(103,168,191,.18);font:700 16px/1.35 var(--font-ui);color:#f5d36e}
.manager-occupancy-head .manager-occupancy-heading{width:100%;text-align:center}
.manager-occupancy-shell{gap:12px}
.manager-occupancy-grid{grid-template-columns:max-content repeat(15,minmax(57px,1fr));min-width:1010px}
.manager-occupancy-date.is-unit-heading{min-width:104px;padding-inline:8px}
.manager-occupancy-group{grid-column:1/-1}
.manager-occupancy-room{width:max-content;max-width:132px;min-width:98px;justify-self:start;justify-content:center;text-align:center;padding:8px 12px;min-height:55px;background:#0f3246}
.manager-occupancy-room img,.manager-occupancy-room-blank,.manager-occupancy-room small{display:none!important}
.manager-occupancy-room strong{font-size:17px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.manager-occupancy-foot--stacked{display:grid;justify-items:center;gap:10px;padding-top:4px}
.manager-occupancy-legend--glassy{justify-content:center;width:100%;padding:11px 18px;border-radius:18px;border:1px solid rgba(240,197,87,.25);background:linear-gradient(150deg,rgba(17,50,68,.72),rgba(9,27,40,.78));backdrop-filter:blur(8px);color:#f6d57b;font:26px/1.2 BMitra,BYekan,sans-serif;text-align:center}
.manager-occupancy-legend--glassy span{padding:2px 4px}
.manager-occupancy-note{display:block;text-align:center;font:22px/1.35 BMitra,BYekan,sans-serif;color:#d6e6ed}
.manager-occupancy-detail-dialog{position:relative;width:min(760px,calc(100vw - 28px));padding:18px 20px 18px;overflow:auto}
.manager-occupancy-detail-topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}
.manager-occupancy-detail-ops{border:1px solid rgba(84,177,206,.34);border-radius:14px;min-height:42px;padding:9px 16px;background:#113951;color:#ebf8ff;font:700 14px/1.3 var(--font-ui);cursor:pointer}
.manager-occupancy-detail-ops[hidden]{display:none!important}
.manager-occupancy-detail-head{text-align:center;padding:4px 44px 10px;border-bottom:1px solid rgba(159,205,221,.16)}
.manager-occupancy-detail-head>span{display:block;color:#efc969;font-size:14px}
.manager-occupancy-detail-head h2{margin:4px 0 7px;font-size:32px;line-height:1.3}
.manager-occupancy-detail-head p{margin:0;color:#a9c5d2;font:16px/1.6 var(--font-body)}
.manager-occupancy-guest-box{margin:14px auto 12px;width:fit-content;max-width:100%;padding:10px 18px;border-radius:18px;background:rgba(13,54,74,.76);border:1px solid rgba(92,176,202,.22);font:800 24px/1.4 BMitra,BYekan,sans-serif;color:#f2f7fb;text-align:center}
.manager-occupancy-guest-box strong{color:#f4d26d}
.manager-occupancy-edit-form{display:grid;gap:12px}
.manager-occupancy-detail-grid--form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.manager-occupancy-meta{display:grid;gap:6px;padding:12px 14px;border-radius:18px;border:1px solid rgba(96,161,186,.22);background:rgba(11,40,56,.86)}
.manager-occupancy-meta span,.manager-occupancy-note-field span{font:15px/1.3 var(--font-body);color:#9fc1cf}
.manager-occupancy-meta input,.manager-occupancy-note-field textarea{width:100%;border:1px solid rgba(99,169,195,.25);border-radius:14px;background:rgba(9,32,45,.88);color:#f7fbff;padding:11px 12px;font:20px/1.5 BMitra,BYekan,sans-serif;box-sizing:border-box}
.manager-occupancy-meta.is-date .jalali-date-field{width:100%;min-height:52px}
.manager-occupancy-meta strong.manager-occupancy-money{display:block;font-size:28px;line-height:1.35;color:#61f0b4}
.manager-occupancy-note-field{display:grid;gap:6px}
.manager-occupancy-note-field textarea{resize:vertical;min-height:88px}
.manager-occupancy-detail-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:8px}
.manager-occupancy-detail-actions button{width:100%;min-height:50px;font-size:19px;border-radius:15px}
.manager-occupancy-detail-actions .is-primary{border-color:rgba(230,190,81,.46);background:linear-gradient(145deg,#d4b249,#e9c758);color:#10202c}
@media(max-width:980px){
  .manager-occupancy-topbar{grid-template-columns:1fr;justify-items:center}
  .manager-occupancy-paging{justify-content:center}
  .manager-occupancy-detail-grid--form{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .manager-occupancy-legend--glassy{font-size:22px;padding:10px 12px}
  .manager-occupancy-note{font-size:19px}
  .manager-occupancy-detail-dialog{padding:14px 12px 14px}
  .manager-occupancy-detail-grid--form{grid-template-columns:1fr}
  .manager-occupancy-detail-actions{grid-template-columns:1fr}
  .manager-occupancy-guest-box{font-size:21px}
  .manager-direct-mode-switch button b{font-size:20px}
  .manager-direct-mode-switch button small{font-size:15px}
}

/* v16.5.149 — one modal header convention: bare X top-right, other actions left,
   centered title; compact reservation editing and low thousands separators. */
#managerOccupancyDialog .manager-occupancy-head--compact{
 display:flex;flex-direction:column;align-items:center;justify-content:flex-start;
 min-height:0;gap:3px;padding:0 0 10px;position:relative;text-align:center;
}
#managerOccupancyDialog .manager-occupancy-topbar{
 display:grid;direction:rtl;grid-template-columns:46px max-content minmax(0,1fr);
 grid-template-areas:"close range paging";gap:8px;width:100%;min-height:52px;
 align-items:center;justify-content:stretch;
}
#managerOccupancyDialog button#managerOccupancyClose{
 grid-area:close;position:static;inset:auto;margin:0;min-width:42px;width:42px;
 min-height:46px;height:46px;background:transparent;border:0;box-shadow:none;
 color:#ff5d83;font:900 36px/1 Arial,sans-serif;z-index:5;
}
#managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyRange{
 grid-area:range;justify-self:start;max-width:min(37vw,360px);
 text-align:center;padding:8px 12px;font-size:13px;line-height:1.5;
}
#managerOccupancyDialog .manager-occupancy-paging{
 grid-area:paging;justify-self:end;justify-content:flex-end;direction:rtl;
 display:flex;gap:7px;flex-wrap:nowrap;
}
#managerOccupancyDialog .manager-occupancy-paging button{white-space:nowrap;padding:8px 10px;min-height:39px}
#managerOccupancyDialog .manager-occupancy-heading{width:100%;text-align:center;position:relative;}
#managerOccupancyDialog .manager-occupancy-heading h2{margin:2px 0 4px;font-size:clamp(20px,2vw,29px)}
#managerOccupancyDialog .manager-occupancy-shell{gap:10px;padding-top:12px;padding-bottom:13px}
#managerOccupancyDialog .manager-occupancy-legend--glassy{
 width:max-content;max-width:100%;margin:0 auto;justify-content:center;
 text-align:center;padding:8px 20px;gap:9px 17px;
}
#managerOccupancyDialog .manager-occupancy-foot--stacked{display:flex;justify-content:center;padding-top:1px}
#managerOccupancyDialog .manager-occupancy-foot--stacked .manager-occupancy-note{display:none}
#managerOccupancyDialog .manager-occupancy-tooltip{
 position:fixed;z-index:10000;max-width:min(340px,90vw);width:max-content;
 box-sizing:border-box;pointer-events:none;padding:10px 17px;
 color:#f5ce69;text-align:center;font:23px/1.25 BMitra,sans-serif;
 background:linear-gradient(145deg,rgba(13,49,65,.94),rgba(6,29,45,.96));
 border:1px solid rgba(243,205,95,.44);border-radius:13px;
 box-shadow:0 12px 32px rgba(0,0,0,.46);backdrop-filter:blur(12px);
}
#managerOccupancyDialog .manager-occupancy-tooltip[hidden]{display:none}

#managerOccupancyDetailDialog.manager-occupancy-detail-dialog{
 width:min(850px,calc(100vw - 24px));max-width:calc(100vw - 24px);
 max-height:min(94dvh,840px);margin:auto;padding:14px 20px 16px;
 overflow-y:auto;overscroll-behavior:contain;box-sizing:border-box;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar{
 direction:ltr;display:flex;flex-direction:row;align-items:center;
 justify-content:space-between;min-height:44px;margin:0;gap:12px;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar #managerOccupancyDetailClose{
 position:static;inset:auto;display:grid;place-items:center;
 border:0;background:transparent;box-shadow:none;color:#ff5d83;
 font:900 33px/1 Arial,sans-serif;min-width:42px;width:42px;height:42px;padding:0;
 margin:0;flex:0 0 42px;cursor:pointer;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-ops{
 margin:0;min-height:38px;padding:7px 13px;border-radius:12px;
 font-size:13px;max-width:calc(100% - 60px);
}
#managerOccupancyDetailDialog .manager-occupancy-detail-head{
 padding:0 8px 9px;margin:0;border-bottom:1px solid rgba(159,205,221,.16);
 text-align:center;min-height:0;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-head h2{
 margin:0 0 3px;line-height:1.25;font-size:clamp(19px,2vw,26px);
}
#managerOccupancyDetailDialog .manager-occupancy-detail-head>span{
 margin-bottom:3px;font-size:13px;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-head p{font-size:14px;line-height:1.3}
#managerOccupancyDetailDialog .manager-occupancy-edit-form{gap:8px}
#managerOccupancyDetailDialog .manager-occupancy-guest-box{display:none}
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{
 direction:rtl;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 align-content:start;gap:8px;margin-top:10px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta{
 min-width:0;min-height:72px;box-sizing:border-box;padding:8px 10px;
 gap:5px;display:flex;flex-direction:column;justify-content:center;
 align-items:center;text-align:center;border-radius:14px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta span{
 font:14px/1.2 BMitra,BYekan,sans-serif;text-align:center;
}
#managerOccupancyDetailDialog .manager-occupancy-meta input{
 min-width:0;width:100%;height:39px;min-height:39px;display:block;padding:6px 8px;
 text-align:center;direction:rtl;border-radius:10px;
 font:20px/1.2 BMitra,BYekan,sans-serif;
}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-guests{grid-column:2;grid-row:2}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-start{grid-column:1;grid-row:2}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-end{grid-column:3;grid-row:2}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-date .jalali-date-field{
 height:39px;min-height:39px;max-height:39px;padding:4px 12px;border-radius:10px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-date .jalali-date-field b{
 display:block;width:100%;text-align:center;font-size:16px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-money{
 min-height:77px;gap:6px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-money strong.manager-occupancy-money,
#managerOccupancyDetailDialog .manager-occupancy-money-input input{
 color:#5cf3b5;text-align:center;font:bold clamp(22px,2.2vw,29px)/1.2 BYekan,BMitra,sans-serif;
 font-variant-numeric:tabular-nums;
}
#managerOccupancyDetailDialog .manager-occupancy-money-input{
 width:100%;display:flex;align-items:center;justify-content:center;gap:6px;
 direction:rtl;min-width:0;
}
#managerOccupancyDetailDialog .manager-occupancy-money-input input{
 display:block;flex:1 1 0;width:0;min-width:0;height:40px;min-height:40px;
 padding:4px 5px;text-align:center;border:1px solid rgba(79,220,168,.22);
 background:rgba(9,41,50,.65);border-radius:10px;
}
#managerOccupancyDetailDialog .manager-occupancy-money-input span{
 flex:0 0 auto;color:#5cf3b5;font:bold 16px/1.2 BYekan,sans-serif;
}
#managerOccupancyDetailDialog .manager-occupancy-note-field{
 display:flex;align-items:center;gap:10px;margin:0;padding:0;min-width:0;
}
#managerOccupancyDetailDialog .manager-occupancy-note-field>span{white-space:nowrap;flex:0 0 auto}
#managerOccupancyDetailDialog .manager-occupancy-note-field input{
 min-width:0;min-height:41px;height:41px;width:100%;padding:6px 12px;
 border:1px solid rgba(92,165,190,.28);background:rgba(9,32,45,.83);
 color:#f2faff;border-radius:12px;font:20px/1.3 BMitra,BYekan,sans-serif;
}
#managerOccupancyDetailDialog #managerOccupancyDetailStatus:empty{display:none}
#managerOccupancyDetailDialog .manager-occupancy-detail-actions{
 display:flex;justify-content:center;gap:12px;align-items:center;
 margin:10px 0 0;direction:rtl;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-actions button{
 width:min(46%,270px);min-height:44px;border-radius:13px;font-size:15px;
}
#managerRoomNoticeDialog.manager-room-notice-dialog{
 width:min(470px,calc(100vw - 26px));max-width:calc(100vw - 26px);
 border:1px solid rgba(87,187,208,.35);border-radius:24px;
 background:linear-gradient(150deg,#0d3148,#071e2c);color:#f6f9fc;
 padding:28px 22px 20px;margin:auto;box-shadow:0 24px 72px #0009;
 text-align:center;position:relative;overflow:visible;
}
#managerRoomNoticeDialog::backdrop{background:rgba(2,10,20,.76);backdrop-filter:blur(6px)}
#managerRoomNoticeDialog .dialog-x{position:absolute;right:9px;left:auto;top:6px;
 width:40px;height:40px;font:900 32px/1 Arial,sans-serif;color:#ff5d83;
 background:none;border:0;box-shadow:none}
#managerRoomNoticeDialog .manager-room-notice-kicker{
 display:block;color:#f3ce69;font-size:13px;margin-bottom:10px;
}
#managerRoomNoticeDialog h2{margin:8px 0 12px;font:900 24px/1.4 BYekan,sans-serif}
#managerRoomNoticeDialog p{margin:0 0 20px;font:22px/1.65 BMitra,sans-serif;color:#d8ecf3}
#managerRoomNoticeDialog .manager-room-notice-confirm{
 width:min(230px,90%);height:44px;border-radius:12px;border:1px solid #62d4bd;
 background:linear-gradient(140deg,#0e6e65,#0b514f);color:#eafff9;font:700 15px BYekan;
 cursor:pointer;
}
/* Other room-operation modal has the same control convention. */
#managerRoomOperationsDialog .manager-operations-topbar{
 display:flex;direction:ltr;justify-content:space-between;align-items:center;
}
#managerRoomOperationsDialog .manager-operations-topbar-start{order:0;display:flex;align-items:center;gap:9px}
#managerRoomOperationsDialog .manager-operations-topbar-end{order:1;display:flex;align-items:center}
#managerRoomOperationsDialog .manager-operations-close{
 position:static;inset:auto;background:none;border:0;box-shadow:none;
 color:#ff5d83;min-height:42px;min-width:42px;width:42px;height:42px;
 font:900 34px/1 Arial,sans-serif;
}
#managerRoomOperationsDialog .manager-operations-heading{
 text-align:center;align-items:center;justify-items:center;
}
@media(max-width:850px){
 #managerOccupancyDialog .manager-occupancy-topbar{
  grid-template-columns:42px minmax(0,1fr);grid-template-areas:"close range" "paging paging";
  gap:6px;
 }
 #managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyRange{max-width:none;justify-self:center}
 #managerOccupancyDialog .manager-occupancy-paging{justify-self:center}
 #managerOccupancyDialog .manager-occupancy-legend--glassy{padding:8px 10px;font-size:20px;gap:6px 12px}
}
@media(max-width:700px){
 #managerOccupancyDetailDialog.manager-occupancy-detail-dialog{
  width:calc(100vw - 14px);max-height:calc(100dvh - 18px);
  padding:8px 10px 11px;border-radius:17px;
 }
 #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-guests,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-start,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-end{grid-column:auto;grid-row:auto}
 #managerOccupancyDetailDialog .manager-occupancy-meta{min-height:62px;padding:6px 7px}
 #managerOccupancyDetailDialog .manager-occupancy-meta input,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-date .jalali-date-field{min-height:34px;height:34px}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money{min-height:62px}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money strong.manager-occupancy-money,
 #managerOccupancyDetailDialog .manager-occupancy-money-input input{font-size:19px}
 #managerOccupancyDetailDialog .manager-occupancy-money-input span{font-size:12px}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money:last-child{grid-column:1/-1}
 #managerOccupancyDetailDialog .manager-occupancy-detail-head h2{font-size:20px}
 #managerOccupancyDetailDialog .manager-occupancy-edit-form{gap:5px}
 #managerOccupancyDetailDialog .manager-occupancy-note-field input{height:35px;min-height:35px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-actions{gap:7px;margin-top:7px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-actions button{min-height:41px;font-size:13px}
}

/* Top-layer hover tips must not be clipped by the scrolled calendar or dialog. */
.manager-occupancy-tooltip:popover-open{
 position:fixed;inset:auto;margin:0;padding:10px 17px;
 max-width:min(340px,90vw);width:max-content;box-sizing:border-box;
 border:1px solid rgba(243,205,95,.44);border-radius:13px;
 background:linear-gradient(145deg,rgba(13,49,65,.96),rgba(6,29,45,.98));
 color:#f5ce69;text-align:center;font:23px/1.25 BMitra,sans-serif;
 box-shadow:0 12px 32px rgba(0,0,0,.46);backdrop-filter:blur(12px);
 pointer-events:none;
}
/* Fix the close control's placement even when the opposite action is hidden. */
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar #managerOccupancyDetailClose{
  margin-left:auto;order:2;flex-shrink:0;background:transparent;border:0;outline:0;
  box-shadow:none;border-radius:0;appearance:none;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar #managerOccupancyDetailOperations{order:1;margin-right:auto}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-guests{position:relative;z-index:1;background:#0b293d}

/* v16.5.150 — correctly anchor the established pseudo-element X to its button.
   The previous position:static caused both pseudo-elements to escape their button;
   :hover transform accidentally created a new containing block. */
html body #managerOccupancyDialog button#managerOccupancyClose,
html body #managerOccupancyDetailDialog button#managerOccupancyDetailClose {
  position:relative;
  inset:auto;
  flex-shrink:0;
  transform:none;
  font-size:0;
  line-height:0;
  color:transparent;
  text-shadow:none;
  padding:0;
  isolation:isolate;
  cursor:pointer;
}
html body #managerOccupancyDialog button#managerOccupancyClose:hover,
html body #managerOccupancyDetailDialog button#managerOccupancyDetailClose:hover {
  transform:scale(1.08);
}
html body #managerOccupancyDialog button#managerOccupancyClose::before,
html body #managerOccupancyDialog button#managerOccupancyClose::after,
html body #managerOccupancyDetailDialog button#managerOccupancyDetailClose::before,
html body #managerOccupancyDetailDialog button#managerOccupancyDetailClose::after {
  position:absolute;
  left:50%;top:50%;
  width:26px;height:4.5px;
  content:"";
  pointer-events:none;
}
/* Keep the reservation actions visibly separated from the price and guest counters. */
#managerDirectBookingDialog .manager-direct-footer {
  padding-top:36px!important;
}
#managerDirectBookingDialog .manager-direct-footer .manager-direct-actions {
  margin-top:0!important;
}

/* Compact editable confirmation before checking in a guest with an existing booking. */
#managerArrivalDialog.manager-arrival-dialog {
  width:min(900px,calc(100vw - 24px));
  height:auto;
  min-height:0;
  max-height:min(94dvh,900px);
  overflow-y:auto;
  box-sizing:border-box;
  padding:18px 22px 19px;
  scrollbar-width:thin;
}
#managerArrivalDialog.manager-arrival-dialog > header {padding:2px 48px 10px}
#managerArrivalDialog.manager-arrival-dialog > header h2 {font-size:clamp(23px,2.4vw,30px)}
#managerArrivalDialog.manager-arrival-dialog > header p {font-size:16px;line-height:1.4}
#managerArrivalDialog .manager-arrival-form{gap:13px}
#managerArrivalDialog .manager-arrival-identity {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;min-width:0;
}
#managerArrivalDialog .manager-arrival-identity label,
#managerArrivalDialog .manager-arrival-dates label{
  display:grid;gap:6px;min-width:0;color:#c2d8e4;
  font:16px/1.35 BMitra,BYekan,sans-serif;text-align:right;
}
#managerArrivalDialog .manager-arrival-identity input{
  display:block;width:100%;min-width:0;min-height:43px;
  box-sizing:border-box;border:1px solid rgba(97,170,200,.26);
  border-radius:13px;background:#0b2b40;color:#f7f9fd;
  font:20px/1.2 BMitra,BYekan,sans-serif;padding:8px 12px;
  text-align:center;
}
#managerArrivalDialog .manager-arrival-identity input:focus{
  outline:2px solid rgba(84,214,193,.48);outline-offset:1px;
}
#managerArrivalDialog .manager-arrival-dates{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;min-width:0;
}
#managerArrivalDialog .manager-arrival-dates .jalali-date-field{
  width:100%;min-height:44px;height:44px;border-radius:13px;
}
#managerArrivalDialog .manager-arrival-dates .jalali-date-field b{font-size:19px;text-align:center}
#managerArrivalDialog .manager-arrival-totals{
  display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:11px;align-items:stretch;
}
#managerArrivalDialog .manager-arrival-totals .booking-count-card{
  min-width:0;min-height:104px;height:104px;padding:10px 13px;
}
#managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{font-size:20px}
#managerArrivalDialog .manager-arrival-totals .booking-count-card__head small{font-size:11px}
#managerArrivalDialog .manager-arrival-totals .booking-counter__value{font-size:30px}
#managerArrivalDialog .manager-arrival-totals .booking-counter__button{font-size:27px}
#managerArrivalDialog .manager-arrival-totals .booking-price-card{
  grid-column:auto;min-width:0;min-height:104px;height:104px;padding:12px;
}
#managerArrivalDialog .manager-arrival-totals .booking-price-card__head strong{font-size:20px}
#managerArrivalDialog .manager-arrival-totals .booking-price-card__head small{font-size:11px}
#managerArrivalDialog .manager-arrival-totals .booking-price-card>b{font-size:clamp(21px,2.8vw,31px)}
#managerArrivalDialog .manager-arrival-actions{margin-top:12px}
#managerArrivalDialog #managerArrivalStatus:empty{display:none}
@media(max-width:680px){
  #managerDirectBookingDialog .manager-direct-footer{padding-top:23px!important}
  #managerArrivalDialog.manager-arrival-dialog{padding:13px 11px 14px;max-height:calc(100dvh - 18px)}
  #managerArrivalDialog.manager-arrival-dialog>header{padding:2px 38px 8px}
  #managerArrivalDialog .manager-arrival-identity{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #managerArrivalDialog .manager-arrival-identity label:first-child{grid-column:1/-1}
  #managerArrivalDialog .manager-arrival-identity input{font-size:18px;min-height:40px}
  #managerArrivalDialog .manager-arrival-dates{gap:8px}
  #managerArrivalDialog .manager-arrival-dates .jalali-date-field{height:40px;min-height:40px}
  #managerArrivalDialog .manager-arrival-dates .jalali-date-field b{font-size:14px}
  #managerArrivalDialog .manager-arrival-totals{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  #managerArrivalDialog .manager-arrival-totals .booking-count-card{height:92px;min-height:92px;padding:8px}
  #managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{font-size:16px}
  #managerArrivalDialog .manager-arrival-totals .booking-price-card{grid-column:1/-1;height:86px;min-height:86px}
  #managerArrivalDialog .manager-arrival-totals .booking-price-card>b{font-size:25px}
  #managerArrivalDialog .manager-arrival-actions{margin-top:5px}
}
/* Override the older, more specific topbar rule that still reset detail X
   to position:static and positioned its pseudo-bars over the form. */
html body #managerOccupancyDetailDialog .manager-occupancy-detail-topbar button#managerOccupancyDetailClose{
 position:relative;
 inset:auto;
 font-size:0;
 line-height:0;
 color:transparent;
 text-shadow:none;
 transform:none;
 isolation:isolate;
}
html body #managerOccupancyDetailDialog .manager-occupancy-detail-topbar button#managerOccupancyDetailClose:hover{
 transform:scale(1.08);
}
html body #managerOccupancyDialog button#managerOccupancyClose:focus,
html body #managerOccupancyDetailDialog button#managerOccupancyDetailClose:focus{
 outline:none;box-shadow:none;
}
/* Consistent borderless close icon in the check-in confirmation as well. */
html body #managerArrivalDialog > .dialog-x:focus{outline:none;box-shadow:none}
html body #managerArrivalDialog > .dialog-x:focus-visible{filter:drop-shadow(0 0 10px rgba(255,90,130,.75))}
@media(max-width:680px){
  #managerArrivalDialog .manager-arrival-dates label>span{font-size:14px;line-height:1.3;white-space:nowrap}
  #managerArrivalDialog .manager-arrival-dates .jalali-date-field b{font-size:16px}
}
/* Avoid the browser's intrinsic <dialog> auto-height stretching to max-height. */
html body #managerArrivalDialog.manager-arrival-dialog{height:max-content}


/* --- Restaurant style switch & Modern 2 additions --- */
.restaurant-style-switch{display:flex;align-items:center;gap:.55rem;justify-self:center;background:rgba(4,26,44,.72);border:1px solid rgba(63,212,255,.18);border-radius:999px;padding:.45rem .55rem;backdrop-filter:blur(12px)}
.restaurant-style-switch__label{font-size:.88rem;color:#89dfff;white-space:nowrap}
.restaurant-style-switch__button{border:1px solid rgba(87,218,255,.22);background:rgba(6,35,56,.88);color:#dffcff;border-radius:999px;padding:.48rem 1rem;font:inherit;cursor:pointer;transition:.2s}
.restaurant-style-switch__button.is-active{background:linear-gradient(135deg,#6c2cff,#9333ea);color:#fff;border-color:rgba(211,170,255,.5);box-shadow:0 0 0 1px rgba(214,185,255,.16),0 0 22px rgba(153,70,255,.25)}

.restaurant-v2-modern2-shell{display:none}
body.restaurant-style-modern2 .restaurant-v2-modern2-shell{display:flex;gap:1rem;min-height:100%}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-left{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-floating-workspace{display:grid;grid-template-columns:minmax(420px,46%) minmax(520px,54%);gap:1rem;align-items:start}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right{display:block;min-width:0}
body.restaurant-style-modern2 .restaurant-v2-menu-drawer.is-right{position:relative;inset:auto;transform:none!important;opacity:1!important;pointer-events:auto!important;visibility:visible!important;width:100%;max-width:none;min-height:82vh;border-radius:28px;background:rgba(2,24,40,.94);padding:1rem;box-shadow:0 0 0 1px rgba(77,224,255,.12),0 24px 56px rgba(0,0,0,.35)}
body.restaurant-style-modern2 .restaurant-v2-menu-drawer.is-right header{display:none}
body.restaurant-style-modern2 .restaurant-v2-mobile-menu-tools{display:none}
body.restaurant-style-modern2 .restaurant-v2-modern2-main{flex:1;display:flex;flex-direction:column;min-width:0}
body.restaurant-style-modern2 .restaurant-v2-modern2-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{margin:0;color:#fff;font-size:1.6rem}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption p{margin:.2rem 0 0;color:#afefff;font-size:.95rem}
body.restaurant-style-modern2 .restaurant-v2-modern2-search{position:relative;flex:0 1 360px}
body.restaurant-style-modern2 .restaurant-v2-modern2-search input{width:100%;border-radius:16px;border:1px solid rgba(82,210,255,.24);background:rgba(8,41,64,.88);color:#fff;padding:.95rem 2.7rem .95rem 1rem;font:inherit}
body.restaurant-style-modern2 .restaurant-v2-modern2-search span{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#9ce9ff}
body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:138px;display:flex;flex-direction:column;gap:.85rem}
.restaurant-v2-modern2-category{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:.25rem;min-height:72px;border-radius:18px;padding:.8rem .9rem;border:1px solid rgba(120,220,255,.18);background:rgba(10,42,61,.92);color:#fff;font:inherit;cursor:pointer;transition:.2s;text-align:right}
.restaurant-v2-modern2-category strong{font-size:1rem}
.restaurant-v2-modern2-category small{color:#c7fbff}
.restaurant-v2-modern2-category.is-active{transform:translateX(-4px);box-shadow:0 0 0 1px rgba(255,255,255,.12),0 0 22px rgba(67,209,255,.2)}
.restaurant-v2-modern2-category.tone-gold{background:linear-gradient(135deg,rgba(113,90,11,.92),rgba(51,39,6,.9));border-color:rgba(255,223,94,.35)}
.restaurant-v2-modern2-category.tone-violet{background:linear-gradient(135deg,rgba(74,26,120,.92),rgba(39,14,69,.9));border-color:rgba(205,120,255,.35)}
.restaurant-v2-modern2-category.tone-pink{background:linear-gradient(135deg,rgba(134,22,98,.92),rgba(68,11,50,.9));border-color:rgba(255,117,214,.35)}
.restaurant-v2-modern2-category.tone-blue{background:linear-gradient(135deg,rgba(21,72,126,.92),rgba(7,34,67,.9));border-color:rgba(105,186,255,.35)}
.restaurant-v2-modern2-category.tone-orange{background:linear-gradient(135deg,rgba(142,82,13,.92),rgba(74,39,8,.9));border-color:rgba(255,182,77,.35)}
.restaurant-v2-modern2-category.tone-yellow{background:linear-gradient(135deg,rgba(116,101,10,.92),rgba(68,55,7,.9));border-color:rgba(255,234,107,.35)}
.restaurant-v2-modern2-category.tone-cyan{background:linear-gradient(135deg,rgba(8,100,107,.92),rgba(5,49,54,.9));border-color:rgba(105,243,255,.35)}
body.restaurant-style-modern2 .restaurant-v2-menu-grid{overflow:auto;max-height:calc(82vh - 96px)}
body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain{min-height:112px;justify-content:center;text-align:center;padding:1rem .85rem}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:1.15rem;line-height:1.65;margin:0;color:#f5feff}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain strong{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain small{display:block;margin-top:.45rem}
body.restaurant-style-modern2 .restaurant-v2-order-modal{min-height:82vh}
body.restaurant-style-modern2 .restaurant-v2-cart-row{background:rgba(247,252,255,.95)!important;color:#08334d;border-color:rgba(10,88,117,.14)!important}
body.restaurant-style-modern2 .restaurant-v2-cart-name,body.restaurant-style-modern2 .restaurant-v2-cart-line,body.restaurant-style-modern2 .restaurant-v2-cart-unit{color:#08334d!important}
body.restaurant-style-modern2 .restaurant-v2-cart-stepper b{color:#08334d!important}
body.restaurant-style-modern2 .restaurant-v2-cart-list{background:rgba(255,255,255,.08);border-radius:22px;padding:.3rem}

.restaurant-style-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem}
.restaurant-style-card{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;border-radius:22px;border:1px solid rgba(78,210,255,.18);background:rgba(9,33,52,.85);padding:1.2rem;color:#e6fdff;font:inherit;cursor:pointer;transition:.2s;text-align:right}
.restaurant-style-card strong{font-size:1.25rem;color:#fff}
.restaurant-style-card small{color:#9edfec;line-height:1.8}
.restaurant-style-card.is-active{border-color:rgba(83,221,255,.55);box-shadow:0 0 0 1px rgba(83,221,255,.12),0 0 26px rgba(31,185,255,.14);transform:translateY(-2px)}
.restaurant-style-settings__save{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding-top:.8rem;border-top:1px solid rgba(85,210,255,.12)}
.restaurant-style-settings__save span[data-tone="success"]{color:#46d27a}
.restaurant-style-settings__save span[data-tone="info"]{color:#6fdfff}

@media (max-width:1100px){
  body.restaurant-style-modern2 .restaurant-v2-floating-workspace{grid-template-columns:1fr}
  body.restaurant-style-modern2 .restaurant-v2-order-modal,body.restaurant-style-modern2 .restaurant-v2-menu-drawer.is-right{min-height:auto}
}
@media (max-width:820px){
  .restaurant-style-switch{order:3;width:100%;justify-content:center}
  body.restaurant-style-modern2 .restaurant-v2-modern2-shell{flex-direction:column}
  body.restaurant-style-modern2 .restaurant-v2-modern2-top{flex-direction:column;align-items:stretch}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:100%;flex-direction:row;overflow:auto;padding-bottom:.2rem}
  body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))}
  .restaurant-style-settings__save{flex-direction:column;align-items:stretch}
}
/* v16.5.152: Modern 2 is an actual POS workspace, not the old floating overlay. */
body.restaurant-v2 .restaurant-style-switch{
  position:fixed;inset:auto auto auto auto;top:19px;right:288px;z-index:1248;
  display:flex;gap:7px;align-items:center;padding:4px 8px;
  background:rgba(4,25,41,.94);border-radius:13px;
  border:1px solid rgba(68,166,212,.23);box-shadow:0 4px 18px rgba(0,0,0,.24);
}
body.restaurant-v2 .restaurant-style-switch__button{min-height:36px;padding:7px 14px;font-size:13px;font-weight:800}
body.restaurant-v2 .restaurant-style-switch__button.is-active{box-shadow:0 0 16px rgba(158,89,255,.37);background:linear-gradient(135deg,#6031ae,#9838d3)}
body.restaurant-v2 .restaurant-modern2-orders-toggle{position:fixed;z-index:1249;top:19px;right:548px;min-height:39px;padding:0 12px;
  border-radius:12px;border:1px solid #2c7391;background:#0a354e;color:#cbf2ff;font:800 12px var(--font-ui);cursor:pointer;display:none}
body.restaurant-style-modern2 .restaurant-modern2-orders-toggle{display:block}
body.restaurant-style-modern2 .restaurant-v2-shell{display:none}
body.restaurant-style-modern2.restaurant-modern2-show-orders .restaurant-v2-shell{display:block}
body.restaurant-style-modern2.restaurant-modern2-show-orders .restaurant-v2-command{display:none}
body.restaurant-style-modern2.restaurant-modern2-show-orders .restaurant-v2-board{margin-top:8px;min-height:calc(100dvh - 120px)}
body.restaurant-style-modern2 .restaurant-v2-command{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-overlay:not([hidden]){
  display:block!important;position:relative!important;inset:auto!important;z-index:5!important;
  width:100%!important;min-height:0!important;height:auto!important;
  padding:12px 13px 16px!important;margin:82px 0 0!important;
  overflow:visible!important;pointer-events:auto!important;place-items:unset!important;
  background:transparent!important;box-sizing:border-box;
}
body.restaurant-style-modern2 .restaurant-v2-overlay[hidden]{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-floating-workspace{
  position:relative!important;z-index:1!important;display:grid!important;
  grid-template-columns:minmax(0,46fr) minmax(0,54fr)!important;direction:ltr!important;
  gap:12px!important;align-items:stretch!important;
  width:100%!important;max-width:none!important;height:calc(100dvh - 110px)!important;min-height:580px!important;max-height:none!important;
  margin:0!important;padding:0!important;opacity:1!important;transform:none!important;
  pointer-events:auto!important;
}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-left{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-order-modal{
  display:flex!important;grid-column:1!important;grid-row:1!important;
  direction:rtl!important;position:relative!important;min-width:0!important;width:100%!important;max-width:none!important;
  height:100%!important;min-height:0!important;max-height:none!important;
  padding:12px!important;overflow:hidden!important;
  border:1px solid #9dd4ef!important;border-radius:22px!important;
  background:linear-gradient(150deg,#f6fbff,#e8f4fc)!important;color:#13384e!important;
  box-shadow:0 12px 44px rgba(0,0,0,.33),inset 0 0 0 4px rgba(255,255,255,.38)!important;
}
body.restaurant-style-modern2 .restaurant-v2-order-head{min-height:54px;border-bottom:1px solid #c9deec!important}
body.restaurant-style-modern2 .restaurant-v2-order-head h2{color:#0a334b!important;font-size:25px}
body.restaurant-style-modern2 .restaurant-v2-order-head .dialog-x{color:#eb476c}
body.restaurant-style-modern2 .restaurant-v2-order-compact{background:rgba(255,255,255,.74);border:1px solid #d8e9f4;border-radius:14px;padding:8px!important;margin:6px 0!important}
body.restaurant-style-modern2 .restaurant-v2-service-toggle button{background:#f1f8fd!important;border:1px solid #c9dfed!important;color:#244e63!important}
body.restaurant-style-modern2 .restaurant-v2-service-toggle button.is-active{background:#fff0c5!important;border-color:#dcb950!important}
body.restaurant-style-modern2 .restaurant-v2-service-toggle :is(b,small){color:#17455c!important}
body.restaurant-style-modern2 .restaurant-v2-field>span{color:#386782!important}
body.restaurant-style-modern2 :is(.restaurant-v2-input-wrap input,.restaurant-v2-place-input,.restaurant-v2-time,.restaurant-v2-note input){background:#fff!important;border-color:#c7deed!important;color:#103a52!important;color-scheme:light!important}
body.restaurant-style-modern2 .restaurant-v2-input-wrap i{color:#36718f!important}
body.restaurant-style-modern2 .restaurant-v2-segment button{background:#eef7fc!important;border-color:#cfe4f0!important;color:#41677d!important}
body.restaurant-style-modern2 .restaurant-v2-segment button.is-active{background:#d6edff!important;color:#0066a3!important;border-color:#9acded!important}
body.restaurant-style-modern2 .restaurant-v2-cart-section{flex:1 1 auto!important;min-height:130px!important;background:#fff!important;border:1px solid #d5e7f2!important;border-radius:14px!important;padding:6px!important;overflow:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-cart-list{background:#fff!important;color:#173e56!important;max-height:none!important}
body.restaurant-style-modern2 .restaurant-v2-cart-columns{color:#426b83!important;padding:7px!important}
body.restaurant-style-modern2 .restaurant-v2-cart-row{background:linear-gradient(135deg,#fff,#f6fbff)!important;border:1px solid #d9e9f3!important;color:#153c51!important}
body.restaurant-style-modern2 .restaurant-v2-cart-row :is(.restaurant-v2-cart-name,.restaurant-v2-cart-line,.restaurant-v2-cart-unit){color:#103c54!important}
body.restaurant-style-modern2 .restaurant-v2-cart-row .restaurant-v2-cart-stepper b{color:#113d52!important}
body.restaurant-style-modern2 .restaurant-cart-empty{color:#537f96!important}
body.restaurant-style-modern2 .restaurant-v2-order-footer{border-color:#d9e9f1!important}
body.restaurant-style-modern2 .restaurant-v2-total{background:linear-gradient(145deg,#e8f8fa,#eaf7ff)!important;border-color:#afdbdf!important}
body.restaurant-style-modern2 .restaurant-v2-total span{color:#153f55!important}
body.restaurant-style-modern2 .restaurant-v2-total strong{color:#0389c1!important}
body.restaurant-style-modern2 .restaurant-v2-note{background:transparent!important}
body.restaurant-style-modern2 .restaurant-v2-actions{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
body.restaurant-style-modern2 .restaurant-v2-actions button{min-width:0;padding:5px;font-size:11px}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right{
  display:block!important;grid-column:2!important;grid-row:1!important;direction:rtl!important;
  position:relative!important;inset:auto!important;min-width:0!important;
  width:100%!important;height:100%!important;max-height:none!important;pointer-events:auto!important;
}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{
  display:flex!important;position:relative!important;inset:auto!important;z-index:1!important;
  width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;
  opacity:1!important;transform:none!important;visibility:visible!important;pointer-events:auto!important;
  padding:13px!important;border:1px solid rgba(59,175,222,.42)!important;border-radius:22px!important;
  background:linear-gradient(135deg,#05243a,#031b30)!important;
}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer>header{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-mobile-menu-tools{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{
  display:grid!important;grid-template-columns:minmax(0,1fr) 142px!important;
  direction:ltr!important;gap:10px!important;width:100%!important;height:100%!important;min-height:0!important;
  overflow:hidden!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-main{
  display:flex!important;flex-direction:column!important;direction:rtl!important;
  flex:1 1 auto!important;min-width:0!important;min-height:0!important;height:100%!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-top{
  display:flex!important;flex-direction:row-reverse!important;justify-content:space-between!important;
  min-height:64px!important;gap:9px!important;align-items:center!important;padding:2px 5px 9px!important;
  border-bottom:1px solid rgba(75,189,229,.17);margin:0 0 8px!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption{flex:1 1 auto;min-width:0;text-align:right}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{font-size:22px!important;white-space:nowrap}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption p{font-size:12px!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-search{position:relative!important;flex:1 1 230px!important;min-width:0}
body.restaurant-style-modern2 .restaurant-v2-modern2-search input{
  width:100%!important;min-height:43px!important;box-sizing:border-box!important;
  padding:10px 36px 10px 15px!important;border:1px solid #146584!important;border-radius:12px!important;
  outline:none!important;color:#e7faff!important;background:#082d46!important;font:14px var(--font-ui)!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-search input:focus{border-color:#64d8fb!important;box-shadow:0 0 0 3px rgba(61,198,241,.13)!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-search span{left:12px;color:#7ddfff;font-size:23px}
body.restaurant-style-modern2 .restaurant-v2-menu-grid{
  display:block!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;
  height:auto!important;overflow:auto!important;padding:0 4px!important;
}
body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{
  display:grid!important;direction:rtl!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-content:start!important;gap:9px!important;width:100%!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;min-width:0!important;min-height:94px!important;
  padding:10px 7px!important;text-align:center!important;
  border:1px solid #117fa8!important;border-radius:15px!important;
  background:linear-gradient(145deg,#052e46,#031e33)!important;
  box-shadow:inset 0 0 17px rgba(42,175,225,.07)!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain:is(:hover,:focus-visible){border-color:#60e1f8!important;transform:translateY(-2px);box-shadow:0 0 22px rgba(30,208,250,.16)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{color:#f1fcff!important;font-size:clamp(14px,1.1vw,18px)!important;line-height:1.6!important;text-align:center!important;white-space:normal!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain>strong{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain{border:2px dashed #3ccde5!important;background:linear-gradient(135deg,#053d54,#053044)!important}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain h3{color:#4ae6f4!important}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain small{color:#99dce6!important;font-size:10px}
body.restaurant-style-modern2 .restaurant-v2-modern2-categories{
  display:flex!important;direction:rtl!important;flex-direction:column!important;
  gap:8px!important;width:142px!important;min-width:0!important;max-height:100%!important;
  overflow-y:auto!important;padding:0 3px!important;scrollbar-width:thin;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category{
  flex:0 0 auto;display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-direction:row!important;gap:5px;min-height:69px!important;padding:8px!important;
  border-radius:15px!important;text-align:right!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:13px!important;line-height:1.4}
body.restaurant-style-modern2 .restaurant-v2-modern2-category small{font-size:15px!important;color:#ffeaa7!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-active{box-shadow:0 0 0 1px rgba(255,225,109,.45),0 0 19px rgba(242,210,54,.25)!important}
@media(max-width:1200px){
  body.restaurant-v2 .restaurant-style-switch{right:235px}
  body.restaurant-v2 .restaurant-modern2-orders-toggle{right:490px}
  body.restaurant-style-modern2 .restaurant-v2-floating-workspace{grid-template-columns:minmax(0,46fr) minmax(0,54fr)!important;gap:7px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 115px!important;gap:5px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:115px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category{min-height:64px!important}
  body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{gap:6px!important}
  body.restaurant-style-modern2 .restaurant-v2-food-card--plain{min-height:85px!important}
}
@media(max-width:820px){
  body.restaurant-v2 .restaurant-style-switch{position:relative!important;top:auto;right:auto;left:auto;z-index:5;margin:78px 12px 0;justify-content:center}
  body.restaurant-v2 .restaurant-modern2-orders-toggle{top:16px;right:139px;font-size:10px;padding:0 6px;min-height:42px}
  body.restaurant-style-modern2 .restaurant-v2-overlay:not([hidden]){margin-top:5px!important;padding:5px!important;height:auto!important}
  body.restaurant-style-modern2 .restaurant-v2-floating-workspace{
    display:block!important;min-height:0!important;height:calc(100dvh - 155px)!important;
    max-height:none!important;overflow:hidden!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-order-modal{height:100%!important;min-height:0!important;max-height:none!important;overflow:auto!important}
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right{position:absolute!important;inset:0!important;grid-column:auto!important;grid-row:auto!important;z-index:7!important;pointer-events:none!important}
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{width:100%!important;height:100%!important;pointer-events:auto!important}
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 106px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:106px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-top{flex-direction:column-reverse!important;min-height:68px!important;align-items:stretch!important;gap:4px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-caption p{display:none}
  body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{font-size:16px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-search input{min-height:34px!important;font-size:12px!important}
  body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  body.restaurant-style-modern2 .restaurant-v2-food-card--plain{min-height:79px!important;padding:6px!important}
  body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:13px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category{min-height:53px!important;padding:6px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:11px!important}
  body.restaurant-style-modern2 .restaurant-v2-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Modern 2 mobile: keep current order visible until a food category is selected. */
@media(max-width:820px){
  body.restaurant-style-modern2 .restaurant-v2-overlay:not(.is-mobile-menu) .restaurant-v2-side-slot.is-right{display:none!important}
  body.restaurant-style-modern2 .restaurant-v2-overlay.is-mobile-menu .restaurant-v2-order-modal{visibility:hidden!important;pointer-events:none!important}
  body.restaurant-style-modern2 .restaurant-v2-overlay.is-mobile-menu .restaurant-v2-side-slot.is-right{display:block!important;pointer-events:auto!important}
  body.restaurant-style-modern2 .restaurant-v2-overlay.is-mobile-menu .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{display:flex!important;pointer-events:auto!important}
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-mobile-menu-tools{display:block!important;margin-bottom:6px}
  body.restaurant-style-modern2 .restaurant-v2-mobile-menu-current{display:flex!important;align-items:center;flex-wrap:wrap;gap:5px;justify-content:space-between}
  body.restaurant-style-modern2 #restaurantMobileMenuCategories{display:none!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-top{min-height:83px!important}
  body.restaurant-style-modern2 .restaurant-v2-order-modal{background:#f6fbff!important}
}

/* Keep the original Modern list intact; only the new style uses the three-column grid. */
body.restaurant-style-modern2 .restaurant-v2-menu-classic{display:none!important}
body.restaurant-style-modern .restaurant-v2-menu-classic{display:block!important;flex:1 1 auto;min-height:0;overflow-y:auto}
body.restaurant-style-modern .restaurant-v2-menu-classic .restaurant-v2-menu-grid-inner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}


/* ===== Restaurant order modal local theme + readability v16.5.153 ===== */
body.restaurant-v2 #restaurantOrderPanel{position:relative}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{padding-inline:130px 116px}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools{position:absolute;top:7px;right:8px;display:flex;align-items:center;gap:8px}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-switch{display:inline-grid;grid-template-columns:repeat(2,42px);gap:4px;padding:4px;border:1px solid rgba(78,180,214,.28);border-radius:14px;background:rgba(5,33,48,.72);box-shadow:0 8px 20px rgba(0,0,0,.18)}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-switch button{width:42px;height:36px;border:1px solid transparent;border-radius:11px;background:transparent;color:#95b7c5;font:900 18px/1 var(--font-ui);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-switch button:hover{transform:translateY(-1px);color:#fff}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-switch button.is-active{background:linear-gradient(145deg,#0f8ec3,#0e6e9d);border-color:rgba(160,226,245,.76);color:#fff;box-shadow:0 8px 18px rgba(15,142,195,.26)}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-close{position:static;top:auto;right:auto;margin:0}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"]{background:linear-gradient(160deg,rgba(6,35,52,.99),rgba(3,19,31,.995))!important;border-color:rgba(63,184,220,.23)!important;box-shadow:0 34px 100px rgba(0,0,0,.54),inset 0 0 0 1px rgba(255,255,255,.018)!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] :is(.restaurant-v2-order-head h2,.restaurant-v2-cart-name){color:#fff}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"]{background:linear-gradient(160deg,#fbfdff,#eef5fa)!important;border-color:#000!important;box-shadow:0 24px 64px rgba(16,52,71,.22),inset 0 0 0 1px rgba(255,255,255,.3)!important;color:#153949}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-modal-theme-switch{background:rgba(255,255,255,.92);border-color:#000;box-shadow:0 10px 18px rgba(0,0,0,.10)}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-modal-theme-switch button{color:#264455}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-modal-theme-switch button.is-active{background:linear-gradient(145deg,#233746,#152631);border-color:#000;color:#fff;box-shadow:0 8px 18px rgba(21,38,49,.18)}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] :is(.restaurant-v2-order-head,.restaurant-v2-cart-section,.restaurant-v2-order-footer){border-color:rgba(0,0,0,.44)!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] :is(.restaurant-v2-order-head h2,.restaurant-v2-field>span,.restaurant-v2-cart-name,.restaurant-v2-total span){color:#153949!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-field{background:linear-gradient(145deg,#ffffff,#eef5fa)!important;border:2px solid #000!important;box-shadow:0 4px 12px rgba(24,61,79,.08)}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] :is(.restaurant-v2-input-wrap input,.restaurant-v2-place-input,.restaurant-v2-time,.restaurant-v2-note input){background:#fff!important;border:2px solid #000!important;color:#12384c!important;color-scheme:light!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-input-wrap i{color:#1e647f!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-segment button{background:linear-gradient(145deg,#ffffff,#edf5fb)!important;border:2px solid #000!important;color:#375667!important;font-size:13.5px!important;font-weight:900!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-segment button.is-active{background:linear-gradient(145deg,#d8eeff,#bfe2ff)!important;border-color:#000!important;color:#005f9e!important;box-shadow:0 8px 18px rgba(49,144,255,.18)!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button{border:2px solid #000!important;background:linear-gradient(145deg,#ffffff,#eef4f8)!important;color:#305362!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button[data-service-mode="free"].is-active{background:linear-gradient(145deg,#ffe894,#f8cc53)!important;border-color:#000!important;box-shadow:0 10px 20px rgba(223,172,20,.20)!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button[data-service-mode="free"].is-active :is(b,span){color:#5f4400!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button[data-service-mode="stay"].is-active{background:linear-gradient(145deg,#b8f5e4,#69d0bb)!important;border-color:#000!important;box-shadow:0 10px 20px rgba(57,187,148,.18)!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button[data-service-mode="stay"].is-active :is(b,span){color:#0b5547!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-columns{color:#4a6675!important;font-size:13px!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-row{background:linear-gradient(145deg,#ffffff,#f4f8fb)!important;border:2px solid #000!important;box-shadow:0 3px 10px rgba(21,43,60,.05)}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-unit,body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-line{color:#015f86!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-stepper button:first-child{background:linear-gradient(145deg,#c4f7e1,#6be6b0)!important;border:2px solid #0f6347!important;color:#064534!important;font-size:22px!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-stepper button:last-child{background:linear-gradient(145deg,#ffd3da,#ff97a8)!important;border:2px solid #8b1830!important;color:#72162a!important;font-size:22px!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-stepper b{color:#12384c!important;font-size:19px!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-remove{background:linear-gradient(145deg,#ffccd5,#ff8799)!important;border:2px solid #8d1830!important;color:#6d1324!important;font-size:24px!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-total{background:linear-gradient(145deg,#ebfbff,#dff7f9)!important;border:2px solid #000!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-total strong{color:#007cb0!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-actions button{border:2px solid #000!important;font-size:14.5px!important;font-weight:900!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-cancel-order{background:linear-gradient(145deg,#fff0f3,#ffd8e1)!important;color:#8b1530!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-print-button{background:linear-gradient(145deg,#dcf2ff,#8ed2ff)!important;color:#0b3e59!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-kitchen-print-button{background:linear-gradient(145deg,#e0f7ff,#94e2ff)!important;color:#0b435d!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-settle{background:linear-gradient(145deg,#46efb0,#12a76f)!important;color:#032b21!important}
body.restaurant-v2 #restaurantOrderPanel :is(.restaurant-v2-order-head h2,.restaurant-v2-field>span,.restaurant-v2-total span){font-size:clamp(13px,1.05vw,15px)}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2{font-size:clamp(32px,2.1vw,39px)!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field>span{font-weight:900!important}
body.restaurant-v2 #restaurantOrderPanel :is(.restaurant-v2-input-wrap input,.restaurant-v2-place-input,.restaurant-v2-time,.restaurant-v2-note input){font-size:15px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button>b{font-size:17px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button>small{font-size:11.5px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-segment button{font-size:13px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-name{font-size:19px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-unit,body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-line{font-size:18px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total strong{font-size:32px!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button{font-size:14.5px!important}
body.restaurant-v2 .restaurant-v2-food-card{position:relative;overflow:hidden}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="starter"]{--drawer-tone:#8f63ff}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="drink"]{--drawer-tone:#ef5bbb}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="misc"]{--drawer-tone:#f2c94c}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="kebab"]{--drawer-tone:#ff4f64}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="rice-kebab"]{--drawer-tone:#ff9f2f}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="stew"]{--drawer-tone:#35d07f}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="stew-rice"]{--drawer-tone:#3b82f6}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="breakfast"]{--drawer-tone:#f2c94c}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="main-local"]{--drawer-tone:#e0b430}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="foreign"]{--drawer-tone:#19c784}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="dessert"]{--drawer-tone:#ff9a3d}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="quick_breakfast"]{--drawer-tone:#f2c94c}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="quick_foreign"]{--drawer-tone:#19c784}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="quick_dessert"]{--drawer-tone:#ff9a3d}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="quick_drink"]{--drawer-tone:#ef5bbb}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="quick_misc"]{--drawer-tone:#3b82f6}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="quick_modern2_misc"]{--drawer-tone:#3b82f6}
body.restaurant-v2 .restaurant-v2-food-card[data-food-category="salad"]{--drawer-tone:#8f63ff}
body.restaurant-v2 .restaurant-v2-food-card::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,color-mix(in srgb,var(--drawer-tone,#35cfe2) 90%,white 4%),color-mix(in srgb,var(--drawer-tone,#35cfe2) 55%,transparent));opacity:.95}
body.restaurant-v2 .restaurant-v2-menu-drawer[data-category="main-local"]{--drawer-tone:#e0b430}
body.restaurant-v2 .restaurant-v2-menu-drawer[data-category="foreign"]{--drawer-tone:#19c784}
body.restaurant-v2 .restaurant-v2-menu-drawer[data-category="drink"]{--drawer-tone:#9a59ff}
body.restaurant-v2 .restaurant-v2-menu-drawer[data-category="dessert"]{--drawer-tone:#ff9a3d}
body.restaurant-v2 .restaurant-v2-menu-drawer[data-category="breakfast"]{--drawer-tone:#f2c94c}
body.restaurant-v2 .restaurant-v2-menu-drawer[data-category="misc"]{--drawer-tone:#2c8cff}
body.restaurant-v2 .restaurant-v2-food-card h3{font-size:17px!important;font-weight:900!important}
body.restaurant-v2 .restaurant-v2-food-card>strong{font-size:18px!important}
body.restaurant-v2 .restaurant-v2-food-add h3{font-size:18px!important}
body.restaurant-v2 .restaurant-v2-food-add small{font-size:11px!important}
body.restaurant-v2 .restaurant-v2-food-card--plain h3{margin:14px 10px 10px;font-size:18px!important;text-align:center;line-height:1.45}
body.restaurant-v2 .restaurant-unit-dialog{width:min(1120px,calc(100vw - 24px))!important;max-height:min(94dvh,920px)!important}
body.restaurant-v2 .restaurant-unit-dialog[open]{height:auto;min-height:min(88dvh,860px)!important;display:flex;flex-direction:column}
body.restaurant-v2 .restaurant-unit-toolbar{flex:0 0 auto;margin-bottom:10px}
body.restaurant-v2 .restaurant-unit-grid{flex:1 1 auto;min-height:0;max-height:none!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
body.restaurant-v2 .restaurant-unit-card{min-height:110px!important;padding:9px 9px 8px!important;gap:2px}
body.restaurant-v2 .restaurant-unit-card>strong{font-size:18px!important}
body.restaurant-v2 .restaurant-unit-card>small,body.restaurant-v2 .restaurant-unit-card>em{font-size:11px!important;line-height:1.35}
@media(max-width:1180px){body.restaurant-v2 .restaurant-unit-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:920px){body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{padding-inline:110px 104px}body.restaurant-v2 .restaurant-unit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{padding-inline:98px 96px}body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-switch{grid-template-columns:repeat(2,34px)}body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-switch button{width:34px;height:31px;font-size:16px}body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools{gap:6px;top:4px;right:4px}body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2{font-size:26px!important}body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button{font-size:13px!important}body.restaurant-v2 .restaurant-unit-dialog[open]{min-height:0!important}body.restaurant-v2 .restaurant-unit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* ===== Modern 2 layout / category / menu refinements v16.5.154 ===== */
body.restaurant-style-modern2 .restaurant-v2-floating-workspace{grid-template-columns:minmax(540px,51%) minmax(500px,49%)!important;gap:10px!important}
body.restaurant-style-modern2 .restaurant-v2-order-modal{grid-column:1!important}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right{grid-column:2!important;min-width:0!important}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{overflow:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 144px!important;gap:10px!important;overflow:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-main{min-width:0!important;overflow:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-top{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;padding:2px 46px 10px!important;min-height:98px!important;border-bottom:1px solid rgba(75,189,229,.17)!important;margin:0 0 10px!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-close{position:absolute!important;top:6px!important;right:2px!important;left:auto!important;width:38px!important;height:38px!important;border-radius:12px!important;background:rgba(20,58,79,.9)!important;border:1px solid rgba(98,214,242,.18)!important;color:#ff6e8c!important;font-size:31px!important;line-height:1!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption{width:100%!important;text-align:center!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{font-size:24px!important;line-height:1.2!important;text-align:center!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption p{font-size:13px!important;text-align:center!important;margin-top:4px!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-search{width:min(330px,72%)!important;max-width:100%!important;flex:0 0 auto!important;align-self:flex-start!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-search input{min-height:41px!important;font-size:13px!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:144px!important;padding:84px 3px 0!important;overflow-x:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:8px!important;min-height:80px!important;padding:8px 6px!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:26px!important;line-height:1.15!important;text-align:center!important;width:100%!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category small{font-size:22px!important;line-height:1!important;color:#ffeaa7!important;display:block!important;width:100%;text-align:center!important}
body.restaurant-style-modern2 .restaurant-v2-menu-grid{overflow-y:auto!important;overflow-x:hidden!important;padding:0 8px 0 10px!important;box-sizing:border-box!important;scrollbar-width:thin}
body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:11px!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain{min-height:104px!important;padding:10px 8px!important;border-width:2px!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:clamp(20px,1.5vw,25px)!important;line-height:1.5!important;margin:0!important;text-align:center!important}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain h3{font-size:clamp(20px,1.45vw,25px)!important}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain small{font-size:11.5px!important;line-height:1.5!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="main-local"]{border-color:rgba(241,201,75,.55)!important;background:linear-gradient(145deg,rgba(103,82,11,.33),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(241,201,75,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="foreign"]{border-color:rgba(63,235,160,.46)!important;background:linear-gradient(145deg,rgba(10,84,52,.28),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(38,212,126,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="starter"]{border-color:rgba(247,85,201,.46)!important;background:linear-gradient(145deg,rgba(110,14,78,.29),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(247,85,201,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="drink"]{border-color:rgba(164,108,255,.48)!important;background:linear-gradient(145deg,rgba(66,20,118,.28),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(164,108,255,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="dessert"]{border-color:rgba(255,172,83,.52)!important;background:linear-gradient(145deg,rgba(111,62,11,.28),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(255,172,83,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="breakfast"]{border-color:rgba(244,221,86,.52)!important;background:linear-gradient(145deg,rgba(92,82,10,.28),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(244,221,86,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="misc"]{border-color:rgba(97,179,255,.5)!important;background:linear-gradient(145deg,rgba(18,71,119,.28),rgba(4,36,54,.95))!important;box-shadow:inset 0 0 18px rgba(97,179,255,.08)!important}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category^="quick_"]{border-color:rgba(97,179,255,.5)!important}
body.restaurant-style-modern2 .restaurant-v2-menu-drawer,body.restaurant-style-modern2 .restaurant-v2-modern2-main,body.restaurant-style-modern2 .restaurant-v2-modern2-shell,body.restaurant-style-modern2 .restaurant-v2-menu-grid,body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{scrollbar-gutter:stable;overflow-x:hidden!important}
@media(max-width:1200px){
  body.restaurant-style-modern2 .restaurant-v2-floating-workspace{grid-template-columns:minmax(0,52%) minmax(0,48%)!important}
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 126px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:126px!important;padding-top:78px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:21px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category small{font-size:18px!important}
  body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:clamp(18px,1.3vw,22px)!important}
}
@media(max-width:820px){
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 108px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-top{min-height:92px!important;padding:2px 38px 8px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-close{top:4px!important;right:2px!important;width:34px!important;height:34px!important;font-size:27px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-search{width:min(290px,78%)!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:108px!important;padding-top:76px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category{min-height:72px!important;gap:5px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:16px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category small{font-size:15px!important}
  body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:18px!important}
}
/* v16.5.155 — real, isolated Modern 2 header and order themes.
   Intentionally scoped: no global dark/light toggle or changes to classic Modern. */
body.restaurant-style-modern2 .restaurant-v2-floating-workspace {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:12px!important;
}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer {
  display:flex!important;flex-direction:column!important;gap:0!important;
  padding:14px!important;overflow:hidden!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-top {
  flex:0 0 108px!important;position:relative!important;display:block!important;
  box-sizing:border-box!important;margin:0 0 11px!important;
  border-bottom:1px solid rgba(77,194,235,.34)!important;
  padding:2px 0 10px!important;min-height:108px!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption {
  position:absolute!important;top:2px!important;left:100px!important;right:100px!important;
  width:auto!important;display:block!important;text-align:center!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3 {font-size:clamp(21px,1.9vw,28px)!important;line-height:1.25!important;margin:0!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption p {display:block!important;font-size:12px!important;margin:5px 0 0!important;color:#9adef2!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-search {
  position:absolute!important;left:1px!important;right:auto!important;bottom:10px!important;top:auto!important;
  width:min(225px,40%)!important;max-width:40%!important;min-width:105px!important;
  margin:0!important;align-self:auto!important;flex:none!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-search input{height:39px!important;min-height:39px!important;width:100%!important;font-size:13px!important}
html body.restaurant-style-modern2 .restaurant-v2-modern2-close.dialog-x {
  position:absolute!important;top:0!important;right:0!important;left:auto!important;
  width:42px!important;height:42px!important;padding:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;transform:none!important;filter:none!important;
  color:#ff4c70!important;font-size:0!important;
}
html body.restaurant-style-modern2 .restaurant-v2-modern2-close.dialog-x:hover{filter:drop-shadow(0 0 6px #ff5b80)!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-shell {
  flex:1 1 auto!important;min-height:0!important;height:auto!important;
  width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) 144px!important;
  gap:12px!important;overflow:hidden!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-main {min-width:0!important;min-height:0!important;overflow:hidden!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-categories {
  padding:0 1px!important;margin:0!important;min-width:0!important;
  height:100%!important;max-height:100%!important;align-self:start!important;
  overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:auto!important;
  width:144px!important;gap:9px!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category {
  flex-direction:row!important;align-items:center!important;justify-content:space-between!important;
  padding:10px 11px!important;min-height:69px!important;text-align:right!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:clamp(17px,1.45vw,22px)!important;line-height:1.3!important;text-align:right!important;width:auto!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category small{font-size:16px!important;line-height:1.2!important;width:auto!important;min-width:22px!important}
body.restaurant-style-modern2 .restaurant-v2-menu-grid{
  flex:1 1 auto!important;min-width:0!important;min-height:0!important;width:100%!important;
  padding:0 4px 0 0!important;box-sizing:border-box!important;
  overflow-x:hidden!important;overflow-y:auto!important;scrollbar-gutter:auto!important;
}
body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{
  width:100%!important;box-sizing:border-box!important;display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
  padding:2px!important;overflow-x:hidden!important;scrollbar-gutter:auto!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain{
  min-width:0!important;min-height:94px!important;padding:7px!important;
  overflow:hidden!important;box-sizing:border-box!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3 {
  font-size:clamp(17px,1.43vw,23px)!important;line-height:1.45!important;
  color:#f7fbff!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important;
}
/* The two controls always belong to the order-panel header; X has no button background. */
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{
  min-height:62px!important;position:relative!important;padding:0 68px 0 85px!important;
  display:flex!important;justify-content:center!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2 {
  text-align:center!important;font-size:clamp(27px,2.2vw,37px)!important;
  color:var(--order-heading)!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools {
  position:absolute!important;top:4px!important;right:2px!important;left:auto!important;
  display:flex!important;align-items:center!important;flex-direction:row-reverse!important;gap:12px!important;
  z-index:5!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-toggle {
  display:grid!important;place-items:center!important;position:relative!important;
  width:45px!important;height:43px!important;border-radius:12px!important;
  border:1px solid #36a5d9!important;background:linear-gradient(145deg,#0b6a9e,#07446c)!important;
  color:#fff!important;font:900 25px/1 system-ui,sans-serif!important;cursor:pointer!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 0 15px rgba(38,164,219,.18)!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-close.dialog-x{
  display:block!important;position:relative!important;inset:auto!important;
  top:auto!important;right:auto!important;left:auto!important;
  height:43px!important;width:44px!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;border-radius:0!important;
  box-shadow:none!important;transform:none!important;filter:none!important;font-size:0!important;
  color:#ff5875!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-close.dialog-x:hover{filter:drop-shadow(0 0 8px #fa5a84)!important}
body.restaurant-v2 #restaurantOrderPanel {--order-heading:#f4fbff}
/* Override the old blanket Modern2 light colors: dark theme is 100% dark. */
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] {
  --order-heading:#f6fcff;
  background:linear-gradient(155deg,#082a40,#061b2d)!important;
  border:1px solid #1a90bf!important;color:#f4fbff!important;
  box-shadow:0 20px 56px rgba(0,0,0,.38)!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-order-head{border-color:#245d77!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-order-compact,
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-cart-section{
  background:linear-gradient(145deg,#092b42,#082338)!important;border:1px solid #1d729a!important;color:#e2f8ff!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-field {
  background:#0c3149!important;border:1px solid #27688a!important;color:#e9f8ff!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-field>span,
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-field>span small,
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-cart-columns {color:#a7cbd9!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] :is(.restaurant-v2-input-wrap input,.restaurant-v2-place-input,.restaurant-v2-time,.restaurant-v2-note input){
  background:#041a2c!important;border:1px solid #2a688b!important;color:#f3fbff!important;color-scheme:dark!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-input-wrap i{color:#7bc2d9!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-segment button {
  background:#0c2b41!important;border:1px solid #276b90!important;color:#e1f4fb!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-segment button.is-active {
  background:linear-gradient(145deg,#0d6389,#0b4667)!important;border-color:#2bc6ed!important;color:#fff!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-service-toggle button {
  background:#0b344d!important;border:1px solid #2c789b!important;color:#f1f9fc!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-service-toggle button :is(b,small,span){color:#d9f5ff!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-service-toggle button[data-service-mode="free"].is-active{
  background:linear-gradient(145deg,#775c17,#49390e)!important;border-color:#f1bd32!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-service-toggle button[data-service-mode="stay"].is-active{
  background:linear-gradient(145deg,#126e65,#094d49)!important;border-color:#50e7cb!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-service-toggle button.is-active :is(b,small,span){color:#fff4b8!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-cart-list{
  background:#071e30!important;color:#e4f8ff!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-cart-row {
  background:linear-gradient(145deg,#0a2c40,#061e31)!important;border:1px solid #24648a!important;color:#f0faff!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-cart-row :is(.restaurant-v2-cart-name,.restaurant-v2-cart-stepper b){color:#fff!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-cart-row :is(.restaurant-v2-cart-unit,.restaurant-v2-cart-line){color:#59e7d9!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-cart-empty{color:#a4c3d0!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-note{background:#071e30!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-order-footer{border-color:#256382!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-total{
  background:linear-gradient(145deg,#083e49,#082f42)!important;border:1px solid #18a3ae!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-total :is(span,b){color:#dcf8ff!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-total strong{color:#65f7c7!important}
/* Light theme: every part gets its own cohesive light palette, without changing the menu beside it. */
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"]{
  --order-heading:#092d43;
  background:linear-gradient(145deg,#fdfefe,#ecf4fa)!important;border:1px solid #9cbdd0!important;color:#103c56!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-order-compact{background:#edf7fc!important;border:1px solid #aecbda!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-section{background:#fafdff!important;border:1px solid #b9d5e4!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-row{background:#f5fbff!important;border:1px solid #adc8d7!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-field{background:#e2eff7!important;border:1px solid #a8cadb!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button :is(b,small,span){color:#1b465e!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button.is-active :is(b,small,span){color:#5b430e!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-total{border:1px solid #9fc9d7!important;background:linear-gradient(145deg,#eaf9fc,#d8f5f5)!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-total b{color:#184e68!important}
/* A trash-can icon (not an X), in both modes. */
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-remove{display:grid!important;place-items:center!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-remove svg{width:20px!important;height:20px!important;stroke:currentColor!important;fill:none!important}
/* Real three-column invoice summary; this is the same 10% rule applied by the server and print code. */
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total {
  display:grid!important;grid-template-columns:1fr 1fr 1.25fr!important;
  width:100%!important;min-height:69px!important;align-items:stretch!important;
  padding:7px!important;gap:0!important;box-sizing:border-box!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part {
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;
  min-width:0!important;gap:3px!important;padding:2px 5px!important;
  border-inline-start:1px solid rgba(120,183,204,.32)!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part:first-child{border-inline-start:0!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>span{font-size:clamp(11px,1vw,14px)!important;font-weight:800!important;white-space:nowrap!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>b{font-size:clamp(17px,1.3vw,21px)!important;line-height:1.1!important;white-space:nowrap!important;direction:ltr!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>strong{font-size:clamp(25px,2.3vw,34px)!important;line-height:1.1!important;white-space:nowrap!important;direction:ltr!important}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button{font-size:clamp(12px,1.07vw,15px)!important}
@media(max-width:1250px){
  body.restaurant-style-modern2 .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 120px!important;gap:8px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:120px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:16px!important}
  body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{gap:7px!important}
}
@media(max-width:820px){
  body.restaurant-style-modern2 .restaurant-v2-modern2-top{flex:0 0 96px!important;min-height:96px!important;padding:0 0 9px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-caption{top:0!important;left:52px!important;right:52px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{font-size:20px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-search{width:min(208px,56%)!important;max-width:56%!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-shell{grid-template-columns:minmax(0,1fr) 100px!important;gap:6px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{width:100px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category{min-height:57px!important;padding:6px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:14px!important}
  body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{min-height:55px!important;padding:0 98px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2{font-size:22px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools{gap:3px!important;right:0!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-close.dialog-x{width:33px!important;height:36px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-toggle{width:35px!important;height:35px!important;font-size:20px!important}
  body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total{min-height:63px!important;padding:4px!important}
  body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>span{font-size:10px!important}
  body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>b{font-size:16px!important}
  body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>strong{font-size:21px!important}
}
@media(max-width:390px){body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>b{font-size:13px!important}body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part>strong{font-size:18px!important}}


/* v16.5.156 | Personnel attendance usability and live states */
.manager-staff-body .staff-hero{gap:6px;padding-block:22px}
.manager-staff-body .staff-panel-head>.staff-primary-button{min-width:225px;min-height:48px;font-size:16px}
.manager-staff-body .staff-person-identity{width:100%;text-align:center}
.manager-staff-body .staff-person-card.is-present{border-color:rgba(66,228,150,.65)}
.manager-staff-body .staff-person-card.is-present:hover{border-color:#35ff9b;box-shadow:0 0 0 2px rgba(53,255,155,.27),0 0 29px rgba(53,255,155,.30),0 18px 36px rgba(0,0,0,.25)}
.manager-staff-body .staff-person-card.is-absent:not(.is-inactive){border-color:rgba(255,87,113,.25)}
.manager-staff-body .staff-person-card.is-absent:not(.is-inactive):hover{border-color:#ff506f;box-shadow:0 0 0 2px rgba(255,80,111,.22),0 0 26px rgba(255,80,111,.23),0 18px 36px rgba(0,0,0,.22)}
.manager-staff-body .staff-person-card.is-absent:not(.is-inactive) .staff-presence-dot{background:#ff496f;box-shadow:0 0 0 4px rgba(255,73,111,.09),0 0 13px rgba(255,73,111,.3)}
.manager-staff-body .staff-person-card.is-inactive .staff-presence-dot{background:#687983;animation:none}
.manager-staff-body .staff-summary-card span{font-size:clamp(17px,1.45vw,22px);font-weight:800;line-height:1.25}
.manager-staff-body .staff-summary-card strong{font-size:clamp(26px,2.2vw,34px)}
.manager-staff-body .staff-summary-card small{font-size:12px;line-height:1.5}
.manager-staff-body .staff-summary-card{min-height:108px;grid-template-columns:48px minmax(0,1fr);padding:12px;gap:10px}
.manager-staff-body .staff-summary-card>i{width:44px;height:44px}
.manager-staff-body .staff-summary-card>div{grid-template-columns:minmax(0,1fr) auto;gap:3px 8px}
.manager-staff-body .staff-person-card__top{grid-template-columns:12px minmax(0,1fr) 36px}
@media(max-width:950px){
 .manager-staff-body .staff-summary-card span{font-size:17px}
 .manager-staff-body .staff-summary-card strong{font-size:25px}
 .manager-staff-body .staff-summary-card>div{grid-template-columns:1fr;grid-template-areas:'label' 'value' 'meta'}
}
@media(max-width:600px){
 .manager-staff-body .staff-summary-card{min-height:100px;grid-template-columns:30px minmax(0,1fr);padding:8px;gap:7px}
 .manager-staff-body .staff-summary-card>i{width:30px;height:30px;font-size:15px}
 .manager-staff-body .staff-summary-card span{font-size:15px;white-space:normal}
 .manager-staff-body .staff-summary-card strong{font-size:23px}
 .manager-staff-body .staff-summary-card small{font-size:10px;white-space:normal;overflow:visible}
 .manager-staff-body .staff-panel-head>.staff-primary-button{min-width:0;width:100%}
}
@media(prefers-reduced-motion:reduce){.manager-staff-body .staff-person-card .staff-presence-dot{animation:none!important}}

/* HEIC/HEIF pending previews: browsers cannot reliably decode iPhone HEIC. */
.unit-settings-heic-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:100%;height:100%;min-height:90px;padding:6px;box-sizing:border-box;text-align:center;background:linear-gradient(155deg,#0b354d,#0b2236);color:#d4f4ff;border:1px dashed rgba(100,211,238,.55);border-radius:12px}
.unit-settings-heic-placeholder strong{font-size:19px;color:#f2d36d;letter-spacing:.07em}
.unit-settings-heic-placeholder small{font-size:11px;line-height:1.6}

/* 16.5.158 - manager data safety workspace and mandatory security dialog */
.safety-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 14px}
.safety-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:56px;border:1px solid rgba(70,177,204,.3);border-radius:16px;color:#c9e6f0;background:#092a40;font:900 16px/1.4 BYekan,Tahoma,sans-serif;cursor:pointer}
.safety-tabs button span{font-size:23px;color:#58d9e9}
.safety-tabs button.is-active{border-color:#26d7bb;color:#fff;background:linear-gradient(130deg,#14606c,#10374c);box-shadow:0 0 16px rgba(38,215,187,.16)}
.safety-tabs button[data-safety-operation="reset"].is-active{background:linear-gradient(120deg,#6f263e,#3a2137);border-color:#f05e88}
.safety-description{border-radius:15px;background:rgba(13,54,71,.83);border:1px solid rgba(81,170,199,.22);padding:15px;color:#bfdce8;font:17px/1.8 BMitra,Tahoma,sans-serif;text-align:center}
.safety-selection-mode{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.safety-selection-mode label{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px 15px;background:rgba(12,46,64,.86);border:1px solid rgba(75,152,179,.28);border-radius:15px;cursor:pointer;color:#f9e5a9}
.safety-selection-mode label strong{font-size:17px}
.safety-selection-mode label small{width:100%;padding-inline-start:25px;color:#a0c5d1;font-size:13px}
.safety-selection-mode input{accent-color:#22d5b2;width:17px;height:17px}
.safety-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.safety-module{display:flex;align-items:center;gap:11px;background:linear-gradient(140deg,rgba(9,48,65,.95),rgba(10,34,51,.98));border:1px solid rgba(62,148,177,.3);border-radius:15px;padding:14px;min-height:70px;color:#f2f7fb;cursor:pointer}
.safety-module input{width:20px;height:20px;accent-color:#2fdbc0;flex:none}
.safety-module span{display:flex;flex-direction:column;gap:5px}
.safety-module strong{font-size:16px}
.safety-module small{color:#9dc4d1;font:14px/1.4 BMitra,Tahoma,sans-serif}
.safety-module.is-disabled{opacity:.44;cursor:not-allowed}
.safety-module-grid.is-readonly .safety-module{cursor:default}
.safety-file-row{display:grid;gap:8px;margin:18px 0 6px;padding:15px;border-radius:16px;background:rgba(15,54,69,.8);border:1px dashed rgba(69,187,215,.55);color:#f5d784}
.safety-file-row input{width:100%;padding:12px;background:#092b3d;color:#fff;border:1px solid rgba(74,163,188,.3);border-radius:12px}
.safety-file-row small{color:#a5c7d5}
.safety-warning{margin-top:17px;padding:13px 16px;background:rgba(14,65,64,.43);border:1px solid rgba(42,200,161,.3);border-radius:13px;color:#b8e7dc;font-size:14px;line-height:1.8}
.safety-warning.is-danger{background:rgba(94,35,53,.34);border-color:rgba(233,99,117,.42);color:#ffd8dc}
.safety-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:17px}
.safety-actions span{color:#a4d8ea;line-height:1.7}
.safety-actions span[data-tone="error"]{color:#ff8ea1}
.safety-actions span[data-tone="success"]{color:#5cdbb7}
.safety-actions button{min-height:50px;padding:10px 26px;border-radius:15px;border:1px solid rgba(241,209,113,.55);background:linear-gradient(115deg,#d9b54e,#f3d47b);color:#102435;font-weight:900;white-space:nowrap;cursor:pointer}
.safety-actions button.is-danger{color:#fff;border-color:#f06e83;background:linear-gradient(120deg,#a63250,#79253c)}
.data-safety-dialog{position:fixed;inset:0;width:min(520px,calc(100vw - 24px));max-height:min(90dvh,720px);overflow-y:auto;margin:auto;padding:25px 24px 24px;border-radius:26px;border:1px solid rgba(80,187,214,.3);background:linear-gradient(155deg,#09283d,#061d2e);color:#f5fbff;box-shadow:0 26px 85px rgba(0,0,0,.72)}
.data-safety-dialog::backdrop{background:rgba(2,11,19,.78);backdrop-filter:blur(8px)}
.data-safety-dialog>.dialog-x{position:absolute;top:14px;right:14px}
.safety-dialog-head{text-align:center;padding:14px 35px 12px}
.safety-dialog-head small{color:#f5cb62;font:19px/1.3 BMitra,Tahoma,sans-serif}
.safety-dialog-head h2{font-size:27px;margin:8px 0;color:#fff}
.safety-dialog-head p{font:19px/1.5 BMitra,Tahoma,sans-serif;color:#b8d6e2;margin:5px 0}
.safety-dialog-selected{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:12px 0}
.safety-dialog-selected span{font:17px/1.3 BMitra,Tahoma,sans-serif;color:#f1d46f;background:#12374d;border:1px solid rgba(231,197,99,.25);padding:7px 11px;border-radius:999px}
.data-safety-dialog form{display:grid;gap:13px}
.safety-pin-field,.safety-phrase-field{display:grid;gap:7px;font:18px/1.5 BMitra,Tahoma,sans-serif;color:#d1e7ed}
.safety-phrase-field b{color:#f7cd6c}
.safety-pin-field input,.safety-phrase-field input{height:47px;border-radius:12px;border:1px solid rgba(85,166,194,.42);background:#082436;color:#fff;padding:10px 14px;font:20px/1.4 BYekan,Tahoma,sans-serif}
.safety-dialog-error{min-height:15px;margin:0;color:#ff9caf;font:17px/1.4 BMitra,Tahoma,sans-serif;text-align:center}
.safety-dialog-actions{display:grid;grid-template-columns:1fr 1.2fr;gap:10px}
.safety-dialog-actions button{min-height:48px;border:1px solid rgba(83,168,200,.34);border-radius:14px;background:#11394d;color:#edf9fc;cursor:pointer;font-size:15px;font-weight:800}
.safety-dialog-actions button[type="submit"]{background:linear-gradient(115deg,#d9b14d,#efcf74);color:#132735;border-color:#e5c15e}
.safety-dialog-actions button[type="submit"].is-danger{background:linear-gradient(120deg,#b73757,#7e2742);color:#fff;border-color:#ed6888}
.safety-dialog-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:900px){.safety-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.safety-tabs button{font-size:13px;min-height:50px;gap:4px}.safety-selection-mode{grid-template-columns:1fr}.safety-module-grid{grid-template-columns:1fr 1fr;gap:7px}.safety-module{padding:10px;min-height:65px}.safety-module strong{font-size:13px}.safety-module small{font-size:12px}.safety-actions{align-items:stretch;flex-direction:column}.safety-actions button{width:100%}.data-safety-dialog{padding:20px 13px}}

.safety-file-row[hidden],.safety-phrase-field[hidden]{display:none!important}

.manager-tour-calendar-link{display:flex;justify-content:center;padding:12px 16px}.manager-tour-calendar-link a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:8px 17px;border-radius:13px;border:1px solid #46b5bd;background:linear-gradient(100deg,#104f5c,#0b344a);color:#defcf3;font-weight:900;font-size:15px}.manager-tour-calendar-link a:hover{background:#127b78}
@keyframes occupancySpin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}

/* ===== Customer 3x3 dashboard, two colored themes – v16.5.162 ===== */
.customer-panel-page .customer-page-atmosphere,.customer-page-particles{display:none!important}
.customer-panel-page{--portal-ink:#effbff;--portal-muted:#a5cad8;--portal-surface:rgba(5,27,45,.94);--portal-border:#226581;--portal-accent:#6be2e5;--portal-shadow:rgba(0,0,0,.34);background:linear-gradient(170deg,rgba(3,16,30,.86),rgba(4,28,43,.95)),url('/static/images/gallery/seasons/summer.webp') center top/cover fixed;color:var(--portal-ink)}
.customer-panel-page .customer-global-header{position:relative;background:rgba(3,21,37,.9);border-bottom:1px solid var(--portal-border);backdrop-filter:blur(15px)}
.customer-panel-page .customer-header-title{font-size:clamp(16px,1.6vw,22px)}
.customer-panel-page .account-theme-toggle{position:absolute;left:78px;top:50%;transform:translateY(-50%);height:40px;width:42px;display:grid;place-items:center;border:1px solid var(--portal-border);border-radius:13px;background:var(--portal-surface);color:var(--portal-ink);cursor:pointer;font-size:21px;z-index:3}
.customer-panel-page .customer-panel-shell{display:flex;flex-direction:column;gap:18px;width:min(1280px,calc(100% - 36px));max-width:none;margin:0 auto 40px;padding:calc(104px + env(safe-area-inset-top)) 0 0}
.customer-panel-page .customer-panel-shell>[hidden],.customer-panel-page .account-detail-panel[hidden]{display:none!important}
.customer-panel-page .customer-welcome-card--compact{order:-4;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;background:linear-gradient(120deg,rgba(4,39,59,.96),rgba(12,47,70,.9));border:1px solid var(--portal-border);border-radius:24px;padding:20px 28px;box-shadow:0 20px 38px var(--portal-shadow)}
.customer-panel-page .customer-welcome-card h1{font-size:clamp(22px,2.6vw,33px);margin:5px 0;color:var(--portal-ink)}
.customer-panel-page .customer-welcome-card p{font-size:15px;color:var(--portal-muted);max-width:660px}
.customer-panel-page .customer-lifecycle-card{order:-3;margin:0;display:none}
.customer-panel-page[data-account-mode="checked_in"] .customer-lifecycle-card,.customer-panel-page[data-account-mode="confirmed"] .customer-lifecycle-card,.customer-panel-page[data-account-mode="pending"] .customer-lifecycle-card,.customer-panel-page[data-account-mode="payment_requested"] .customer-lifecycle-card,.customer-panel-page[data-account-mode="receipt_submitted"] .customer-lifecycle-card,.customer-panel-page.account-stay-focus .customer-lifecycle-card{display:block}
.customer-panel-page .customer-lifecycle-content{background:linear-gradient(130deg,var(--portal-surface),rgba(13,62,73,.95));border:1px solid var(--portal-border)}
.customer-panel-page .account-dashboard-menu{order:-2;padding:22px;border:1px solid var(--portal-border);border-radius:26px;background:var(--portal-surface);box-shadow:0 16px 46px var(--portal-shadow)}
.customer-panel-page .account-menu-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:18px;gap:12px}
.customer-panel-page .account-menu-heading small{color:#eac966}.customer-panel-page .account-menu-heading h2{color:var(--portal-ink);font-size:clamp(22px,2.2vw,30px);margin:2px 0 0}.customer-panel-page .account-menu-heading>span{color:var(--portal-muted);font-size:12px}
.customer-panel-page .account-menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.customer-panel-page .account-menu-tile{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:13px;min-height:102px;padding:15px;border:1px solid #257c9a;border-radius:20px;background:linear-gradient(130deg,rgba(10,56,78,.92),rgba(5,33,52,.96));color:var(--portal-ink);text-align:right;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.05);transition:transform .23s ease,border-color .23s,box-shadow .23s,background .23s;min-width:0}
.customer-panel-page .account-menu-tile:hover,.customer-panel-page .account-menu-tile:focus-visible{transform:translateY(-4px);border-color:#6de7ef;box-shadow:0 13px 28px rgba(29,211,228,.13),0 0 0 1px rgba(97,233,239,.19);outline:none}
.customer-panel-page .account-menu-tile.is-selected{border-color:#fad576;box-shadow:0 0 0 1px rgba(250,213,118,.23)}
.customer-panel-page .account-menu-tile.is-featured{background:linear-gradient(130deg,rgba(110,82,14,.8),rgba(48,53,35,.75));border-color:#d9af45}
.customer-panel-page .account-tile-icon{grid-row:1/3;display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(88,211,237,.3);border-radius:18px;background:rgba(12,94,125,.4);color:#96ebf9;font-size:32px;font-family:Arial,sans-serif}
.customer-panel-page .account-menu-tile.is-featured .account-tile-icon{color:#ffe083;background:rgba(206,145,19,.24)}
.customer-panel-page .account-menu-tile b{align-self:end;font-size:clamp(17px,1.5vw,21px);line-height:1.4}.customer-panel-page .account-menu-tile small{align-self:start;color:var(--portal-muted);font-size:12px;line-height:1.65}
.customer-panel-page .account-restaurant-promo{order:-1;position:relative;display:flex;align-items:center;min-height:185px;overflow:hidden;border:1px solid #957529;border-radius:23px;background:linear-gradient(100deg,rgba(6,27,41,.82),rgba(6,27,41,.18)),url('/static/images/gallery/seasons/autumn.webp') center 55%/cover;box-shadow:0 19px 37px var(--portal-shadow)}
.customer-panel-page .account-promo-picture{display:none}.customer-panel-page .account-promo-copy{padding:24px 30px;position:relative;z-index:1;max-width:660px}
.customer-panel-page .account-promo-copy small{color:#f4ce62;font-weight:800}.customer-panel-page .account-promo-copy h2{font-size:clamp(26px,2.7vw,39px);color:#ffe397;margin:4px 0 5px}.customer-panel-page .account-promo-copy p{font-size:15px;color:#edf8f9;margin:0 0 15px}
.customer-panel-page .account-promo-copy button,.customer-panel-page .account-detail-panel button:not(.jalali-date-field){cursor:pointer;border-radius:13px;border:1px solid rgba(246,207,104,.7);background:linear-gradient(120deg,#edc453,#f8db81);color:#172f3c;padding:10px 20px;font-weight:900}
.customer-panel-page .account-detail-panel{scroll-margin-top:18px}
.customer-panel-page .account-settings-panel,.customer-panel-page .account-restaurant-details{padding:25px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:23px;color:var(--portal-ink)}
.customer-panel-page .account-detail-panel h2{color:var(--portal-ink)}.customer-panel-page .account-detail-panel p{color:var(--portal-muted)}
.customer-panel-page .account-settings-actions{display:flex;flex-wrap:wrap;gap:12px}
.customer-panel-page[data-portal-theme="light"]{--portal-ink:#122c52;--portal-muted:#325a7a;--portal-surface:rgba(158,221,224,.93);--portal-border:#4b83a9;--portal-shadow:rgba(35,55,118,.2);background:linear-gradient(130deg,rgba(93,201,208,.85),rgba(161,157,224,.84)),url('/static/images/gallery/seasons/spring.webp') center top/cover fixed;color:var(--portal-ink)}
.customer-panel-page[data-portal-theme="light"] .customer-global-header{background:linear-gradient(110deg,#6ed6d5,#acabe4)!important}
.customer-panel-page[data-portal-theme="light"] .customer-welcome-card--compact{background:linear-gradient(110deg,#77d3d8,#b2a0de)}
.customer-panel-page[data-portal-theme="light"] .customer-welcome-card p,.customer-panel-page[data-portal-theme="light"] .customer-welcome-card span{color:#29526e}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile{background:linear-gradient(140deg,#9cdde1,#b3b7e4);border-color:#6786b6;color:#133457}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile:nth-child(3n + 2){background:linear-gradient(145deg,#a4d8f2,#beb0e9)}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile.is-featured{background:linear-gradient(135deg,#ffe19a,#f6c85f);border-color:#b48731}
.customer-panel-page[data-portal-theme="light"] .account-tile-icon{background:linear-gradient(145deg,#73d2d7,#8e9be0);color:#1d4870;border-color:#6298ac}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile.is-featured .account-tile-icon{background:#f5c86b;color:#6a4514}
.customer-panel-page[data-portal-theme="light"] .customer-lifecycle-content{background:linear-gradient(140deg,#a0dfe0,#abaee7)}
.customer-panel-page[data-portal-theme="light"] .account-restaurant-promo{border-color:#92743b}
.customer-panel-page[data-portal-theme="light"] .account-settings-panel,.customer-panel-page[data-portal-theme="light"] .account-restaurant-details{background:linear-gradient(120deg,#9bdadf,#b6b1e5)}
@media(max-width:850px){.customer-panel-page .customer-panel-shell{width:calc(100% - 24px);margin:17px auto 35px;gap:12px}.customer-panel-page .account-menu-grid{gap:9px}.customer-panel-page .account-menu-tile{grid-template-columns:1fr;grid-template-rows:auto auto auto;justify-items:center;min-height:100px;padding:11px 5px;text-align:center;gap:2px}.customer-panel-page .account-tile-icon{grid-row:auto;width:43px;height:43px;font-size:26px;border-radius:14px}.customer-panel-page .account-menu-tile b{font-size:clamp(13px,3.9vw,17px)}.customer-panel-page .account-menu-tile small{font-size:10px}.customer-panel-page .account-dashboard-menu{padding:15px}.customer-panel-page .customer-welcome-card--compact{padding:15px;flex-wrap:wrap}.customer-panel-page .customer-welcome-card h1{font-size:22px}.customer-panel-page .account-menu-heading h2{font-size:22px}.customer-panel-page .account-promo-copy{padding:19px}}
@media(max-width:470px){.customer-panel-page .account-theme-toggle{left:56px;height:34px;width:35px;top:50%}.customer-panel-page .customer-welcome-card--compact p{font-size:13px}.customer-panel-page .customer-menu-button{margin-left:0}.customer-panel-page .account-dashboard-menu{border-radius:20px}.customer-panel-page .account-menu-tile{min-height:104px}.customer-panel-page .account-menu-tile b{font-size:13px}.customer-panel-page .account-restaurant-promo{min-height:170px}.customer-panel-page .account-menu-heading>span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.customer-panel-page .account-menu-tile{transition:none!important}}

/* Keep active-stay status concise above the dashboard. Detailed charges open via اقامت. */
.customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-bill,
.customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-chat{display:none}
.customer-panel-page[data-portal-theme="light"] .customer-lifecycle-copy h2,
.customer-panel-page[data-portal-theme="light"] .customer-lifecycle-copy p,
.customer-panel-page[data-portal-theme="light"] .customer-lifecycle-copy p b{color:#173d64}
.customer-panel-page[data-portal-theme="light"] .customer-stay-progress-card{background:linear-gradient(120deg,#85d2d8,#a2b2e2);border-color:#618eae;color:#173858}
.customer-panel-page[data-portal-theme="light"] .customer-stay-progress-meta span,
.customer-panel-page[data-portal-theme="light"] .customer-stay-progress-meta b{color:#214d6c}
.customer-panel-page[data-portal-theme="light"] .customer-reservation-workspace,
.customer-panel-page[data-portal-theme="light"] .customer-dashboard-grid>article,
.customer-panel-page[data-portal-theme="light"] .customer-bookings-panel{background:linear-gradient(120deg,#8ed3da,#b2b2e5);border-color:#6086b4;color:#17385c}
.customer-panel-page[data-portal-theme="light"] .customer-bookings-panel h2,
.customer-panel-page[data-portal-theme="light"] .customer-profile-summary h2,
.customer-panel-page[data-portal-theme="light"] .customer-referral-panel h2{color:#183d60}
@media(max-width:850px){.customer-panel-page .customer-panel-shell{margin:0 auto 35px;padding-top:calc(92px + env(safe-area-inset-top))}}

/* === Account dashboard v16.5.163 — 9 centered controls, true modal operations === */
.customer-panel-page{background:radial-gradient(circle at 10% 22%,rgba(12,120,149,.14),transparent 26%),radial-gradient(circle at 87% 74%,rgba(116,63,176,.16),transparent 35%),linear-gradient(150deg,rgba(3,18,35,.94),rgba(6,42,56,.94)),url('/static/images/gallery/seasons/summer.webp') center/cover fixed!important}
.customer-panel-page[data-portal-theme="light"]{background:radial-gradient(circle at 12% 12%,rgba(22,147,172,.22),transparent 28%),radial-gradient(circle at 83% 75%,rgba(104,63,184,.19),transparent 34%),linear-gradient(130deg,rgba(87,201,208,.87),rgba(146,115,210,.87)),url('/static/images/gallery/seasons/spring.webp') center/cover fixed!important}
.customer-panel-page .customer-panel-shell{padding-top:20px!important;gap:13px!important}
.customer-panel-page .account-dashboard-menu{padding:14px!important}
.customer-panel-page .account-menu-heading{display:none!important}
.customer-panel-page .account-menu-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.customer-panel-page .account-menu-tile,.customer-panel-page .account-menu-tile.is-featured{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;min-height:113px;text-align:center!important;border-color:var(--portal-border)!important;background:linear-gradient(145deg,rgba(9,59,78,.93),rgba(8,37,59,.92))!important;color:var(--portal-ink)!important}
.customer-panel-page .account-menu-tile .account-tile-icon,.customer-panel-page .account-menu-tile.is-featured .account-tile-icon{border:0!important;border-radius:0!important;background:transparent!important;width:auto!important;height:auto!important;font-size:34px!important;color:#83e4ee!important;grid-row:auto!important}
.customer-panel-page .account-menu-tile b{align-self:center!important;font-size:clamp(17px,1.55vw,23px)!important}
.customer-panel-page .account-menu-tile small{align-self:center!important;font-size:12px!important}
.customer-panel-page .account-menu-tile:hover,.customer-panel-page .account-menu-tile:focus-visible{border-color:#eac458!important;box-shadow:0 10px 26px rgba(230,185,64,.15)!important}
.customer-panel-page .account-menu-tile.is-selected{border-color:#e9c057!important;background:linear-gradient(120deg,rgba(109,81,14,.68),rgba(12,62,77,.92))!important;box-shadow:inset 0 0 0 1px #e9c05777!important}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile,.customer-panel-page[data-portal-theme="light"] .account-menu-tile.is-featured{background:linear-gradient(145deg,rgba(103,215,218,.86),rgba(169,147,226,.88))!important;color:#17375e!important;border-color:#628cb9!important}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile .account-tile-icon{color:#234d81!important}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile.is-selected{background:linear-gradient(135deg,#dfc46c,#bb9ad4)!important}
.customer-panel-page .account-restaurant-promo{background:linear-gradient(105deg,rgba(4,19,33,.90),rgba(7,33,44,.20)),url('/static/images/customer-restaurant-banner.webp') center/cover!important;min-height:205px}
.customer-panel-page .account-restaurant-promo .account-promo-copy{background:linear-gradient(100deg,rgba(4,20,34,.76),transparent);border-radius:12px}
.customer-panel-page .account-portal-dialog{position:fixed;inset:0;margin:auto;display:none;width:min(1160px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 26px);padding:22px 18px 18px;border:1px solid #3b87a4;border-radius:22px;background:linear-gradient(150deg,#082b42,#061b2b);color:#e9f8ff;box-shadow:0 30px 95px #000a;overflow:auto;overscroll-behavior:contain;z-index:350}
.customer-panel-page .account-portal-dialog[open]{display:block!important}
.customer-panel-page .account-portal-dialog::backdrop{background:rgba(0,8,17,.84);backdrop-filter:blur(9px)}
.customer-panel-page .account-portal-dialog>h2{text-align:center;margin:6px 58px 18px;font-size:clamp(22px,2vw,32px);color:inherit}
.customer-panel-page .account-portal-close{position:absolute;right:12px;top:10px;background:transparent;border:0;box-shadow:none;color:#ff5579;cursor:pointer;font-size:32px;line-height:1;padding:7px}
.customer-panel-page .account-portal-close:hover{transform:scale(1.08);filter:drop-shadow(0 0 7px #ff5b86)}
.customer-panel-page .account-portal-dialog-body{min-width:0}
.customer-panel-page .account-portal-dialog-body>.account-detail-panel,.customer-panel-page .account-portal-dialog-body>.customer-lifecycle-card{display:block!important;margin:0!important;max-width:none;width:100%}
.customer-panel-page .account-portal-dialog-body .customer-reservation-workspace{padding:12px!important}
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog{background:linear-gradient(125deg,#81d5d9,#a897df);color:#163c60;border-color:#4d8faa}
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body .customer-lifecycle-content{color:#143959}
@media(max-width:700px){.customer-panel-page .customer-panel-shell{padding-top:10px!important;margin:0 auto 24px!important}.customer-panel-page .customer-welcome-card--compact{padding:12px!important;gap:7px!important}.customer-panel-page .customer-welcome-card h1{font-size:20px!important}.customer-panel-page .customer-welcome-card--compact p{font-size:12px!important}.customer-panel-page .account-menu-tile{min-height:93px!important;padding:9px 3px!important}.customer-panel-page .account-menu-tile .account-tile-icon{font-size:27px!important}.customer-panel-page .account-menu-tile b{font-size:14px!important}.customer-panel-page .account-menu-tile small{font-size:10px!important}.customer-panel-page .account-portal-dialog{padding:15px 9px!important;max-height:calc(100dvh - 16px)!important}.customer-panel-page .account-portal-dialog>h2{font-size:23px;margin:5px 45px 12px}.customer-panel-page .account-portal-dialog-body .customer-reservation-workspace{padding:9px!important}}

/* ===== Account dashboard / tickets / existing reservation v16.5.164 ===== */
.customer-panel-page .account-menu-tile,.customer-panel-page .account-menu-tile.is-featured{
  display:grid!important;grid-template-columns:clamp(36px,4vw,55px) minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;column-gap:clamp(5px,1.1vw,14px)!important;row-gap:2px!important;
  align-items:center!important;align-content:center!important;justify-items:stretch!important;
  min-height:96px!important;padding:12px 16px!important;
  background:linear-gradient(130deg,rgba(5,61,77,.97) 0%,rgba(16,67,91,.91) 38%,rgba(22,46,80,.96) 73%,rgba(43,39,85,.82) 100%)!important;
  border-color:#327f9a!important;text-align:center!important;
}
.customer-panel-page .account-menu-tile:nth-child(2n){background:linear-gradient(125deg,#103b56ef,#0b5361f2 55%,#283c6bef)!important}
.customer-panel-page .account-menu-tile .account-tile-icon,.customer-panel-page .account-menu-tile.is-featured .account-tile-icon{
  grid-column:1!important;grid-row:1/3!important;display:grid!important;align-items:center!important;justify-items:center!important;
  width:100%!important;height:100%!important;min-height:38px!important;font-size:clamp(24px,2.5vw,36px)!important;
  color:#83e4ee!important;background:transparent!important;border:0!important;padding:0!important;
}
.customer-panel-page .account-menu-tile b,.customer-panel-page .account-menu-tile small{
  grid-column:2!important;justify-self:stretch!important;align-self:center!important;
  width:100%!important;min-width:0!important;text-align:center!important;margin:0!important;
}
.customer-panel-page .account-menu-tile b{font-size:clamp(16px,1.48vw,22px)!important;line-height:1.4!important}
.customer-panel-page .account-menu-tile small{font-size:clamp(11px,.9vw,13px)!important;line-height:1.4!important}
.customer-panel-page .account-menu-tile.is-selected{border-color:#eec758!important;background:linear-gradient(115deg,#49534e,#4b466b)!important}
.customer-panel-page .account-menu-tile:hover:not(.is-selected){background:linear-gradient(120deg,#175572,#245d78,#3d4782)!important}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile,.customer-panel-page[data-portal-theme="light"] .account-menu-tile.is-featured{
  background:linear-gradient(125deg,#6ecbd1,#92c0e2,#b79cdd)!important;color:#15385b!important;border-color:#508aae!important;
}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile:nth-child(2n){background:linear-gradient(135deg,#98d5e3,#b09bdd)!important}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile:hover:not(.is-selected){background:linear-gradient(140deg,#45c5ce,#8a9edb)!important}
.customer-panel-page[data-portal-theme="light"] .account-menu-tile.is-selected{background:linear-gradient(130deg,#ebce72,#ae95d4)!important}
.customer-panel-page .customer-welcome-card--compact{background:linear-gradient(115deg,rgba(9,58,77,.98),rgba(8,40,71,.95),rgba(46,38,85,.88))!important}
.customer-panel-page[data-portal-theme="light"] .customer-welcome-card--compact{background:linear-gradient(115deg,#72cfd2,#929fdd)!important}
.customer-panel-page .account-settings-panel{max-width:640px;margin:auto!important;text-align:center;padding:24px!important}
.customer-panel-page .account-settings-panel h2{font-size:23px!important;margin:0 0 12px!important}
.customer-panel-page .account-settings-panel p{font-size:16px!important;line-height:1.8!important}
.customer-panel-page .account-settings-actions{justify-content:center!important;gap:12px!important}
.customer-panel-page .account-settings-actions button{min-width:155px!important;font-size:16px!important;border:1px solid #d4bb59!important}
.customer-panel-page .account-settings-actions button.is-selected{background:linear-gradient(130deg,#21b5ae,#3d89a9)!important;color:#eaffff!important;border-color:#24dfc1!important}
.customer-panel-page[data-portal-theme="light"] .account-settings-actions button{background:linear-gradient(120deg,#8bc7d9,#9e96d9)!important;color:#1c4166!important;border-color:#517cab!important}
.customer-panel-page[data-portal-theme="light"] .account-settings-actions button.is-selected{background:linear-gradient(120deg,#47c9b9,#8d8fda)!important;border-color:#31638d!important}
.customer-panel-page .account-portal-dialog--reserve{width:min(1530px,calc(100vw - 14px))!important;height:calc(100dvh - 18px)!important;max-height:calc(100dvh - 18px)!important;overflow:hidden!important;padding:0!important;border:1px solid #48a8ba!important}
.customer-panel-page .account-portal-dialog--reserve iframe{display:block;width:100%;height:100%;border:0;background:#061b2b}
.customer-panel-page .account-portal-dialog--reserve>.account-portal-close{z-index:20!important;position:absolute!important;top:8px!important;right:10px!important;width:45px;height:43px;background:rgba(5,26,42,.87)!important;border-radius:12px!important}
body.account-reserve-embed{background:#051c2c!important;overflow:auto}
body.account-reserve-embed .reserve-page-shell{padding:0!important;margin:0!important;max-width:none!important;min-height:100dvh!important}
body.account-reserve-embed .reservation-hub{padding:12px 8px 40px!important;margin:0!important}
body.account-reserve-embed :is(.floating-chat-widget,.baba-chat-floating,.site-music-toggle){display:none!important}
.customer-panel-page .account-ticket-panel{border-radius:20px;border:1px solid #347f96;padding:20px;background:linear-gradient(120deg,#082e44,#152949);color:#e9fbff}
.customer-panel-page .account-ticket-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}
.customer-panel-page .account-ticket-tabs button{background:#103c54!important;color:#c0e4ef!important;border:1px solid #327d99!important;border-radius:14px!important;min-height:51px;font-size:17px!important}
.customer-panel-page .account-ticket-tabs button.is-active{background:linear-gradient(125deg,#2d8f9c,#396eaf)!important;border-color:#7cdbed!important;color:#fff!important}
.customer-panel-page .account-ticket-form{display:grid;gap:16px;max-width:850px;margin:auto}
.customer-panel-page .account-ticket-form label{display:grid;gap:9px;font-size:19px;font-weight:700;color:inherit}
.customer-panel-page .account-ticket-form input,.customer-panel-page .account-ticket-form textarea{font:17px/1.8 inherit;font-family:inherit;font-size:17px;resize:vertical;border:1px solid #3c819f;border-radius:14px;background:#071e34;color:#f0fbff;padding:12px 15px;width:100%;min-height:50px}
.customer-panel-page .account-ticket-form textarea{min-height:150px;max-height:300px}
.customer-panel-page .account-ticket-actions{display:flex;justify-content:center;gap:12px}
.customer-panel-page .account-ticket-actions button{font-size:17px!important;min-width:160px}
.customer-panel-page .account-ticket-history{display:grid;gap:12px}
.customer-panel-page .account-ticket-record{border:1px solid #47849d;border-radius:16px;padding:17px 18px;background:rgba(9,48,68,.85);color:#e8faff}
.customer-panel-page .account-ticket-record header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.customer-panel-page .account-ticket-record strong{font-size:20px}.customer-panel-page .account-ticket-record small{font-size:14px;color:#8bd6dd}
.customer-panel-page .account-ticket-record p{white-space:pre-wrap;font-size:17px;line-height:1.8;margin:8px 0}
.ticket-state{padding:5px 11px;border-radius:30px;border:1px solid #caab4d;color:#f8d36c}
.ticket-state--answered{border-color:#40cf96;color:#89f0ba}.ticket-state--closed{border-color:#91a1bc;color:#bed0eb}
.customer-panel-page .ticket-reply{padding:14px;background:rgba(40,119,116,.23);border:1px solid #3cc8ba;border-radius:12px}
.customer-panel-page #customerTicketStatus{color:#5af0bd}
.customer-panel-page[data-portal-theme="light"] .account-ticket-panel{background:linear-gradient(135deg,#75cad2,#a8a2dc);border-color:#527fa8;color:#173b62}
.customer-panel-page[data-portal-theme="light"] .account-ticket-form input,.customer-panel-page[data-portal-theme="light"] .account-ticket-form textarea{background:#7ac9d4;color:#173858;border-color:#5b87ac}
.customer-panel-page[data-portal-theme="light"] .account-ticket-record{background:linear-gradient(135deg,#6bc1cf,#a2a4df);color:#163d5f;border-color:#4d8ba7}
.customer-panel-page[data-portal-theme="light"] .account-ticket-record small{color:#315471}
.customer-panel-page[data-portal-theme="light"] .ticket-reply{background:#7acdbb80;color:#173b62}
@media(max-width:700px){
 .customer-panel-page .customer-panel-shell{padding-top:5px!important;margin-top:0!important;gap:10px!important}
 .customer-panel-page .customer-welcome-card--compact{margin-top:0!important}
 .customer-panel-page .account-menu-grid{gap:7px!important}
 .customer-panel-page .account-menu-tile,.customer-panel-page .account-menu-tile.is-featured{grid-template-columns:26px minmax(0,1fr)!important;min-height:82px!important;padding:8px 6px!important;column-gap:2px!important}
 .customer-panel-page .account-menu-tile .account-tile-icon{font-size:24px!important}
 .customer-panel-page .account-menu-tile b{font-size:clamp(12px,3.3vw,16px)!important}
 .customer-panel-page .account-menu-tile small{font-size:10px!important;line-height:1.35!important}
 .customer-panel-page .account-settings-panel{padding:12px!important}
 .customer-panel-page .account-settings-actions button{min-width:0!important;flex:1!important;white-space:normal}
 .customer-panel-page .account-ticket-panel{padding:11px}
 .customer-panel-page .account-ticket-tabs button{font-size:14px!important}
 .customer-panel-page .account-ticket-actions button{min-width:0;flex:1}
 .customer-panel-page .account-portal-dialog--reserve{width:calc(100vw - 6px)!important;height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}
 .customer-panel-page .account-portal-dialog--reserve>.account-portal-close{top:3px!important;right:3px!important}
}

/* Manager ticket reply workspace */
.ticket-admin-body{margin:0;min-height:100dvh;direction:rtl;color:#e9faff;background:radial-gradient(circle at 80% 0%,#143d5a,transparent 44%),#041929;font-family:BYekan,Tahoma,sans-serif}
.ticket-admin-header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px clamp(14px,3vw,45px);background:#071f32ef;border-bottom:1px solid #317b99;backdrop-filter:blur(10px)}
.ticket-admin-header h1{font-size:clamp(18px,2.3vw,30px);margin:0}.ticket-admin-header a{background:#163d58;border:1px solid #4a99b0;color:#f7d76c;border-radius:12px;padding:12px 18px;text-decoration:none}
.ticket-admin-shell{max-width:1260px;margin:20px auto;padding:0 16px 70px}.ticket-admin-tabs{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:17px}
.ticket-admin-tabs button{border:1px solid #39819e;border-radius:11px;background:#0b344d;color:#d5f0fa;padding:11px 18px;cursor:pointer;font:inherit}.ticket-admin-tabs button.is-active{background:#1c827e;border-color:#53d8c3;color:white}
.ticket-admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ticket-admin-card{border:1px solid #34758e;border-radius:19px;padding:18px;background:linear-gradient(130deg,#0d344a,#082437)}
.ticket-admin-card>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:7px;flex-wrap:wrap}.ticket-admin-card h2{font-size:22px;margin:14px 0 5px}.ticket-admin-card p{line-height:1.85;white-space:pre-wrap;color:#d0e5f4}.ticket-admin-card small{color:#9cbbcb}.ticket-admin-card button{background:#e4c063;color:#14344a;border:0;border-radius:12px;padding:11px 18px;font:inherit;cursor:pointer;font-weight:900}
.ticket-author{color:#9be6dd!important}.ticket-response{color:#96efba!important;padding:10px;border-radius:11px;background:#19523c66;margin:12px 0}.ticket-pill{border-radius:99px;color:#ffdf7e;border:1px solid #ab8c37;padding:5px 10px}.ticket-answered{color:#76dfae;border-color:#26bd94}.ticket-closed{color:#b3c3da;border-color:#67819b}.ticket-admin-empty{grid-column:1/-1;text-align:center;padding:55px;background:#0a2c40;border-radius:18px}
.ticket-manager-dialog{border:1px solid #4d9fbd;border-radius:21px;background:linear-gradient(145deg,#0e354b,#061c2f);color:#f5faff;width:min(680px,calc(100vw - 22px));max-height:92dvh;overflow-y:auto;padding:28px 20px;position:fixed;inset:0;margin:auto}.ticket-manager-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.ticket-manager-dialog h2{text-align:center;margin:15px 42px}.ticket-manager-dialog .ticket-close{position:absolute;right:11px;top:8px;border:0;background:transparent;color:#ff5a7b;font-size:30px;cursor:pointer}.ticket-detail{background:#0b2c3e;padding:14px;border-radius:12px;line-height:1.9;white-space:pre-wrap}
.ticket-manager-dialog form{display:grid;gap:12px}.ticket-manager-dialog label{display:grid;gap:8px;font-size:16px}.ticket-manager-dialog select,.ticket-manager-dialog textarea{background:#07263b;color:#eefcff;border:1px solid #4292ad;border-radius:11px;padding:12px;font:inherit}.ticket-actions{display:flex;gap:10px;justify-content:center}.ticket-actions button{min-height:45px;border:1px solid #6cabc0;border-radius:11px;padding:9px 20px;color:#e9faff;background:#14506a;font:inherit;cursor:pointer}.ticket-actions button[type=submit]{background:linear-gradient(120deg,#dbb64f,#efdc7a);color:#142c3d}.ticket-manager-dialog #ticketReplyStatus{color:#ff9caf}
@media(max-width:760px){.ticket-admin-list{grid-template-columns:1fr}.ticket-admin-header h1{font-size:16px}.ticket-admin-header a{padding:8px}.ticket-admin-tabs button{padding:8px 10px;font-size:13px}}

/* Legible portal dialog content in both themes; no white panels. */
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body .customer-dashboard-grid>article,
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body .customer-bookings-panel,
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body .customer-lifecycle-content{background:linear-gradient(135deg,#8dd2da,#a9a5e0)!important;color:#18365a!important;border-color:#608aaf!important}
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body :is(h1,h2,h3,strong,b,dt,dd){color:#163758}
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body :is(p,span,small,label){color:#2a4f69}
.customer-panel-page[data-portal-theme="light"] .account-portal-dialog-body input{border:1px solid #5a94a8!important;background:#76c6d2!important;color:#133e59!important}
.customer-panel-page .account-portal-dialog-body .customer-profile-summary__grid{font-size:15px}

/* v16.5.166 / Superadmin visitor statistics, isolated from general reset */
.sa-visit-panel{position:relative}
.sa-visit-note,.sa-visit-footnote{font:600 15px/1.9 var(--font-body,BYekan,sans-serif);color:#c3dfeb;margin:0 0 20px}
.sa-visit-footnote{font-size:13px;margin:18px 0 0;color:#a9c2d3}
.sa-visit-current{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:24px}
.sa-visit-current>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:108px;gap:8px;padding:16px;border:1px solid rgba(87,214,237,.28);border-radius:19px;background:linear-gradient(125deg,rgba(14,67,89,.86),rgba(5,36,62,.7))}
.sa-visit-current span{font-weight:750;color:#b4d9e8;font-size:15px}.sa-visit-current strong{font:900 clamp(22px,3vw,34px) var(--font-body,BYekan,sans-serif);color:#ffe185;font-variant-numeric:tabular-nums}
.sa-visit-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sa-visit-form label{display:grid;gap:9px;color:#e5f5f9;font-size:16px;font-weight:800}
.sa-visit-form input{width:100%;min-width:0;height:58px;border:1px solid rgba(102,215,234,.45);border-radius:15px;background:#062339;color:#fff8dc;padding:9px 14px;font:850 26px var(--font-body,BYekan,sans-serif);outline:0;text-align:center;direction:ltr;font-variant-numeric:tabular-nums}
.sa-visit-form input:focus{border-color:#77e9ec;box-shadow:0 0 0 3px rgba(93,226,231,.15)}
.sa-visit-action{grid-column:1/-1;display:flex;justify-content:center;padding:8px 0 0}
.sa-visit-action .superadmin-primary-button{min-width:235px;font-size:17px;min-height:52px}
.sa-visit-form .sa-status{grid-column:1/-1;text-align:center;min-height:20px;font-size:14px}
.sa-visit-refresh{cursor:pointer;border-radius:12px;padding:11px 18px;color:#a9eff2;background:#0c3a52;border:1px solid rgba(103,226,230,.4);font:750 14px var(--font-body,BYekan,sans-serif)}
.sa-visit-confirm[hidden]{display:none}.sa-visit-confirm{position:fixed;z-index:12000;inset:0;background:rgba(0,10,22,.83);backdrop-filter:blur(12px);display:grid;place-items:center;padding:14px}
.sa-visit-confirm-card{width:min(520px,100%);position:relative;border-radius:28px;padding:34px 24px 25px;background:linear-gradient(145deg,#0d3448,#061b32);border:1px solid rgba(92,210,222,.43);box-shadow:0 25px 70px rgba(0,0,0,.45);text-align:center;direction:rtl;color:#fff}
.sa-visit-close{position:absolute;right:16px;top:10px;border:0;background:transparent;color:#ff5a84;font-size:35px;cursor:pointer;padding:0 6px}.sa-visit-caption{color:#f3d05a;font-size:12px;font-weight:750}
.sa-visit-confirm-card h3{margin:10px 0;font-size:24px}.sa-visit-confirm-card p{line-height:1.9;color:#b6d6dd}
.sa-visit-review{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:20px 0}.sa-visit-review>div{background:#102d43;border:1px solid #26677d;border-radius:15px;padding:12px 3px;display:grid;gap:6px}.sa-visit-review span{color:#b7d7e3}.sa-visit-review strong{font-size:22px;color:#ffe077}
.sa-visit-confirm-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.sa-visit-confirm-actions button{min-width:135px;min-height:44px;border-radius:12px;border:1px solid #3e8092;background:#143b54;color:#fff;font-family:inherit;font-weight:800;cursor:pointer}
.sa-visit-confirm-actions .superadmin-primary-button{background:linear-gradient(105deg,#d3a531,#f5d970);color:#0a3040}
.superadmin-body.is-light .sa-visit-note,.superadmin-body.is-light .sa-visit-footnote{color:#30566a}.superadmin-body.is-light .sa-visit-current>div{background:linear-gradient(135deg,#c6e8ed,#9acadb);border-color:#5eaebd}.superadmin-body.is-light .sa-visit-current span{color:#22415d}.superadmin-body.is-light .sa-visit-current strong{color:#244273}
.superadmin-body.is-light .sa-visit-form label{color:#214665}.superadmin-body.is-light .sa-visit-form input{background:#b8e0e7;color:#102f57;border:1px solid #5c9ead}.superadmin-body.is-light .sa-visit-refresh{background:#9ed4df;color:#153d5a}
@media(max-width:640px){.sa-visit-current{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.sa-visit-current>div{min-height:88px;padding:8px 3px}.sa-visit-current span{font-size:12px}.sa-visit-current strong{font-size:22px}.sa-visit-form{grid-template-columns:1fr}.sa-visit-form input{height:55px}.sa-visit-action .superadmin-primary-button{width:100%}.sa-visit-confirm-card{padding:30px 15px 19px}}

.safety-analytics-explicit:not([hidden]){display:grid;gap:9px;margin-block:12px;color:#ffd36e;font-weight:800}.safety-analytics-explicit input{width:100%;border-radius:12px;background:#0a2b3f;color:#fff;padding:10px;border:1px solid #d7ad4b;font:inherit}.safety-analytics-explicit[hidden]{display:none}

/* v16.5.168: one workspace for standard orders, invoices and tour accounts */
body.restaurant-v2 .restaurant-v2-service-toggle{grid-template-columns:repeat(3,minmax(0,1fr))!important}
body.restaurant-v2 .restaurant-v2-service-toggle button[data-service-mode="tour"].is-active{border-color:#bd94fc!important;background:linear-gradient(145deg,rgba(90,45,159,.25),rgba(33,63,108,.40))!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-service-toggle button[data-service-mode="tour"].is-active{background:linear-gradient(145deg,#e8d8ff,#d3c0fb)!important;border-color:#3d226e!important}
.restaurant-tour-leader-select{width:100%;min-height:38px;border:1px solid #3c829a;border-radius:9px;background:#0c2a3a;color:#f1f9fc;font-family:var(--font-ui);font-size:15px;font-weight:800;padding:5px 10px;text-align:center}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-tour-leader-select{background:#e4f3fc;color:#163f59;border-color:#000}
.restaurant-tour-leader-select[hidden],.restaurant-v2-input-wrap[hidden]{display:none!important}
.restaurant-invoice-total-button{display:flex;align-items:center;gap:5px;justify-content:center;background:transparent;border:1px solid transparent;border-radius:10px;cursor:default;color:inherit;font:inherit;min-width:0;padding:2px 6px}
.restaurant-invoice-total-button.is-editable{cursor:pointer;border:1px dashed rgba(228,182,68,.75);box-shadow:0 0 0 2px rgba(224,172,64,.1)}
.restaurant-invoice-total-button.is-editable:hover{background:rgba(226,191,75,.15)}
.restaurant-invoice-edit-marker{display:none;font-size:16px;color:#f7d36e}.restaurant-invoice-total-button.is-editable .restaurant-invoice-edit-marker{display:inline}
.restaurant-invoice-amount-dialog{width:min(440px,calc(100vw - 28px));color:#e4f5ff;direction:rtl}
.restaurant-invoice-amount-label{display:grid;gap:9px;text-align:right;margin:14px 0;font-size:16px;font-weight:800}
.restaurant-invoice-amount-label input{width:100%;border-radius:12px;border:1px solid #58adc4;background:#062638;color:#f8d567;padding:12px;font:900 24px var(--font-ui);text-align:center;direction:ltr}
.restaurant-create-invoice{border-color:#e4b65a!important;background:linear-gradient(135deg,#153744,#41321d)!important;color:#ffdf91!important}
.restaurant-mobile-create-invoice{display:none;border:1px solid #e2b751;border-radius:11px;background:linear-gradient(120deg,#133d47,#3d351e);color:#ffe1a2;font:900 15px var(--font-ui);padding:10px 16px;cursor:pointer}
@media(max-width:820px){.restaurant-mobile-create-invoice{display:inline-flex;align-items:center;justify-content:center}.restaurant-v2-service-toggle button>b{font-size:clamp(12px,3.2vw,15px)!important}.restaurant-v2-service-toggle button>small{font-size:10px!important}}

/* v16.5.169 - editable per-line price; total derives from amount × quantity. */
body.restaurant-v2 .restaurant-v2-cart-unit.restaurant-v2-unit-price-editor{
 display:flex;min-width:0;align-items:center;justify-content:center;gap:3px;
 border:1px dashed rgba(66,201,212,.6);background:rgba(25,117,148,.1);
 border-radius:9px;padding:2px 5px;height:34px;box-sizing:border-box;
}
body.restaurant-v2 .restaurant-v2-unit-price-editor input{
 width:100%;min-width:0;max-width:100%;border:0;background:transparent;
 text-align:center;direction:ltr;color:#62ecde;font:900 15px var(--font-ui);
 padding:0;outline:0;box-shadow:none;
}
body.restaurant-v2 .restaurant-v2-unit-price-editor:focus-within{border:2px solid #e5bb48;box-shadow:0 0 0 2px rgba(238,194,76,.15)}
body.restaurant-v2 .restaurant-v2-unit-price-editor input.is-invalid{color:#ff6684}
body.restaurant-v2 .restaurant-v2-cart-price-pencil{font-size:13px;color:#e5bf58;flex:none}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-unit-price-editor{background:#d4f0ff;border-color:#2c7d9d}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-unit-price-editor input{color:#005b87}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-price-pencil{color:#955b00}
@media(max-width:620px){
 body.restaurant-v2 .restaurant-v2-cart-row{grid-template-columns:minmax(0,1fr) minmax(98px,110px) 106px 34px;gap:5px}
 body.restaurant-v2 .restaurant-v2-cart-name{grid-column:1/-1}
 body.restaurant-v2 .restaurant-v2-cart-unit.restaurant-v2-unit-price-editor{grid-column:2;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-line{grid-column:1;grid-row:2;text-align:center}
 body.restaurant-v2 .restaurant-v2-cart-stepper{grid-column:3;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-remove{grid-column:4;grid-row:2}
}
@media(max-width:390px){
 body.restaurant-v2 .restaurant-v2-cart-row{grid-template-columns:minmax(0,1fr) minmax(84px,96px) 99px 32px;gap:3px;padding:4px}
 body.restaurant-v2 .restaurant-v2-unit-price-editor input{font-size:12px}
 body.restaurant-v2 .restaurant-v2-cart-stepper{grid-template-columns:29px 27px 29px}
}

@media(max-width:350px){
 body.restaurant-v2 .restaurant-v2-cart-row{grid-template-columns:minmax(0,1fr) 99px 32px;row-gap:5px}
 body.restaurant-v2 .restaurant-v2-cart-unit.restaurant-v2-unit-price-editor{grid-column:1;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-stepper{grid-column:2;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-remove{grid-column:3;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-line{grid-column:1/-1;grid-row:3;text-align:center}
}

/* Mobile: keep unit-price editing, quantity controls, deletion and line total readable. */
@media(max-width:620px){
 body.restaurant-v2 .restaurant-v2-cart-row{grid-template-columns:minmax(0,1fr) 99px 32px;row-gap:5px}
 body.restaurant-v2 .restaurant-v2-cart-unit.restaurant-v2-unit-price-editor{grid-column:1;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-stepper{grid-column:2;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-remove{grid-column:3;grid-row:2}
 body.restaurant-v2 .restaurant-v2-cart-line{grid-column:1/-1;grid-row:3;text-align:center}
}


/* v16.5.171 – editable dish quantity with immediate keyboard focus. */
body.restaurant-v2 .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity{
 width:100%;min-width:0;max-width:100%;height:33px;box-sizing:border-box;
 border:1px dashed rgba(81,189,215,.58);border-radius:7px;
 background:rgba(65,166,189,.13);color:#effcff;
 text-align:center;direction:ltr;font:900 17px var(--font-ui);
 font-variant-numeric:tabular-nums;outline:none;padding:0 1px;
 -webkit-appearance:none;appearance:none;cursor:text;touch-action:manipulation;
}
body.restaurant-v2 .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity:focus{
 border:2px solid #e9bc52;background:rgba(235,195,90,.19);
 box-shadow:0 0 0 2px rgba(231,194,94,.15);
}
body.restaurant-v2 .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity.is-invalid{
 border-color:#ff526c;color:#ff738b;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity{
 color:#093d5b;background:#ecf8ff;border-color:#5299b7;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity:focus{
 background:#fff1c9;border-color:#966208;
}


/* v16.5.173 — restore stable header, keep categories fully visible, animate light around border. */
@property --restaurant-light-angle {syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes restaurant-light-orbit{to{--restaurant-light-angle:360deg}}
@keyframes restaurant-soft-glow{50%{box-shadow:0 0 0 1px rgba(234,245,255,.24) inset,0 0 24px rgba(90,206,255,.48),0 0 10px rgba(255,223,130,.2)}}

/* Header from v16.5.171: X at the top-right, centered title. ONLY move search to top-left. */
body.restaurant-style-modern2 .restaurant-v2-modern2-top{
  position:relative!important;display:block!important;
  flex:0 0 66px!important;min-height:66px!important;height:66px!important;
  padding:2px 0 7px!important;margin:0 0 10px!important;
  box-sizing:border-box!important;
  border-bottom:1px solid rgba(77,194,235,.34)!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption{
  position:absolute!important;top:4px!important;
  left:50%!important;right:auto!important;width:max-content!important;
  max-width:44%!important;transform:translateX(-50%)!important;
  margin:0!important;display:flex!important;align-items:center!important;
  justify-content:center!important;text-align:center!important;pointer-events:none!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{
  margin:0!important;font-size:clamp(19px,1.7vw,27px)!important;
  line-height:1.25!important;white-space:nowrap!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-caption p{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-search{
  position:absolute!important;top:4px!important;bottom:auto!important;
  left:0!important;right:auto!important;
  width:min(240px,31%)!important;max-width:31%!important;min-width:0!important;
  margin:0!important;flex:none!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-search input{
  width:100%!important;height:40px!important;min-height:40px!important;
}
html body.restaurant-style-modern2 .restaurant-v2-modern2-close.dialog-x{
  position:absolute!important;top:0!important;right:0!important;left:auto!important;
  grid-area:auto!important;margin:0!important;
}

/* Unwind regression that made the entire panel create an outer scrollbar. */
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer{
  overflow:hidden!important;
}
body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(112px,136px)!important;
  gap:13px!important;min-height:0!important;height:auto!important;
  overflow:hidden!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-main{
  min-height:0!important;min-width:0!important;overflow:hidden!important;z-index:1!important;
}
/* All eight categories occupy the fixed available space; never scroll either axis. */
body.restaurant-style-modern2 .restaurant-v2-modern2-categories{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:repeat(8,minmax(0,1fr))!important;
  flex-direction:unset!important;
  align-content:stretch!important;
  justify-items:stretch!important;
  gap:clamp(3px,.72vh,8px)!important;
  width:100%!important;height:100%!important;max-height:100%!important;
  min-height:0!important;min-width:0!important;box-sizing:border-box!important;
  margin:0!important;padding:1px 3px 1px 0!important;
  overflow:hidden!important;scrollbar-width:none!important;
  position:relative!important;z-index:20!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-categories::-webkit-scrollbar{display:none!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category{
  --restaurant-halo:#a9ecff;
  position:relative!important;z-index:1!important;
  box-sizing:border-box!important;min-width:0!important;min-height:0!important;
  height:100%!important;max-height:100%!important;
  padding:4px 7px!important;margin:0!important;
  gap:5px!important;display:flex!important;flex-direction:row!important;
  align-items:center!important;justify-content:space-between!important;
  text-align:right!important;overflow:hidden!important;
  cursor:grab!important;user-select:none!important;touch-action:none!important;
  transform:none!important;
  transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category:active{cursor:grabbing!important}
body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{
  font-size:clamp(14px,1.18vw,19px)!important;line-height:1.25!important;
  width:auto!important;max-width:calc(100% - 16px)!important;
  text-align:right!important;overflow-wrap:normal!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category small{
  flex:0 0 auto!important;min-width:10px!important;
  width:auto!important;font-size:clamp(11px,.84vw,15px)!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-dragging{
  opacity:.7!important;outline:2px dashed #aff0ff!important;outline-offset:-3px!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-drop-target{
  outline:2px solid #b5f2ff!important;outline-offset:-3px!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category[data-modern2-category="hot-drink"]{
  background:linear-gradient(135deg,rgba(22,95,113,.94),rgba(10,47,60,.92))!important;
  border-color:rgba(118,240,255,.38)!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-card--plain[data-food-category="hot-drink"]{
  border-color:rgba(118,240,255,.5)!important;
  background:linear-gradient(145deg,rgba(12,90,105,.3),rgba(4,36,54,.95))!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-add.restaurant-v2-food-card--plain small{display:none!important}

/* Stationary masked ring: rotate the GRADIENT, not the rectangle itself. */
body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-active,
body.restaurant-style-modern2 .restaurant-v2-food-card.is-selected{
  --restaurant-halo:#a9ecff;
  border-color:rgba(179,240,255,.93)!important;
  box-shadow:0 0 0 1px rgba(234,245,255,.16) inset,0 0 17px rgba(93,203,255,.34),0 6px 14px rgba(0,0,0,.26)!important;
  animation:restaurant-soft-glow 3s ease-in-out infinite!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-active{
  filter:brightness(1.17) saturate(1.18)!important;
}
body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-active::after,
body.restaurant-style-modern2 .restaurant-v2-food-card.is-selected::after{
  content:""!important;position:absolute!important;inset:0!important;
  border-radius:inherit!important;padding:3px!important;
  background:conic-gradient(from var(--restaurant-light-angle),transparent 0deg,transparent 190deg,rgba(132,229,255,.17) 226deg,rgba(244,250,255,.99) 267deg,rgba(255,223,124,.97) 283deg,rgba(141,231,255,.27) 312deg,transparent 340deg) border-box!important;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  -webkit-mask-composite:xor!important;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
  mask-composite:exclude!important;
  transform:none!important;filter:drop-shadow(0 0 5px rgba(151,231,255,.9))!important;
  pointer-events:none!important;z-index:2!important;
  animation:restaurant-light-orbit 2.4s linear infinite!important;
}
body.restaurant-style-modern2 .restaurant-v2-food-card.is-selected{
  position:relative!important;
}
@media(max-width:820px){
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell{
    grid-template-columns:minmax(0,1fr) 104px!important;gap:7px!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-modern2-top{height:58px!important;min-height:58px!important;flex-basis:58px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-search{width:min(150px,29%)!important;max-width:29%!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-caption{left:50%!important;right:auto!important;top:5px!important;max-width:38%!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-caption h3{font-size:clamp(15px,3.5vw,21px)!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category{padding:3px 5px!important;gap:3px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:clamp(10.5px,1.6vw,14px)!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category small{font-size:11px!important}
}
@media(max-height:720px){
  body.restaurant-style-modern2 .restaurant-v2-modern2-category{padding-block:2px!important;border-radius:12px!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-category strong{font-size:clamp(11px,.9vw,15px)!important}
  body.restaurant-style-modern2 .restaurant-v2-modern2-categories{gap:3px!important}
}
@media(prefers-reduced-motion:reduce){
  body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-active,
  body.restaurant-style-modern2 .restaurant-v2-food-card.is-selected,
  body.restaurant-style-modern2 .restaurant-v2-modern2-category.is-active::after,
  body.restaurant-style-modern2 .restaurant-v2-food-card.is-selected::after{animation:none!important}
}


/* v16.5.175: settings card in middle of final manager dashboard row. */
.manager-home-card.tone-settings{--card-accent:#a2b6ff;--card-grad-1:rgba(39,49,86,.95);--card-grad-2:rgba(17,32,57,.92);--card-grad-3:rgba(5,17,32,.96)}
/* Three-digit dish quantities remain legible and touch-friendly at mobile sizes. */
body.restaurant-v2 .restaurant-v2-cart-stepper{grid-template-columns:29px minmax(40px,1fr) 29px;gap:3px;min-width:110px}
body.restaurant-v2 .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity{font-size:16px;letter-spacing:0}
@media(max-width:620px){
 body.restaurant-v2 .restaurant-v2-cart-row{grid-template-columns:minmax(0,1fr) 110px 32px}
 body.restaurant-v2 .restaurant-v2-cart-stepper{grid-template-columns:29px minmax(40px,1fr) 29px;min-width:110px}
}

/* v16.5.177: distinct food ordering sessions inside a single restaurant bill */
.restaurant-order-batch-tag{display:inline-block;vertical-align:middle;font:700 10px/1.4 var(--font-ui),Tahoma,sans-serif;color:#5cabc0;border:1px solid rgba(80,176,213,.23);border-radius:7px;padding:2px 5px;margin-inline-start:5px;white-space:nowrap}

/* SHEYKH CHAT guided booking FAQ — public chat only */
.chat-faq-message{display:flex;flex-direction:column;gap:10px}
.chat-faq-action{display:block;align-self:center;text-align:center;margin:5px auto 2px;padding:11px 19px;border:1px solid #56cab4;border-radius:15px;background:linear-gradient(130deg,#16817b,#0f565c);color:#fff!important;font:900 13px/1.6 BYekan,Tahoma,sans-serif;text-decoration:none;box-shadow:0 5px 18px rgba(34,180,159,.23);cursor:pointer}
.chat-faq-action:hover{box-shadow:0 0 20px rgba(48,222,195,.46);transform:translateY(-1px)}


/* v16.5.183 | Home footer split into property + developer panels */
.home-brand-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:22px;
  align-items:center;
}
.home-brand-footer__panel{
  width:min(940px,100%);
  margin:0 auto;
  padding:24px 20px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(7,29,46,.82),rgba(4,18,33,.92));
  box-shadow:0 20px 42px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.home-brand-footer__divider{
  width:min(220px,44vw);
  height:1px;
  margin:0 auto;
  background:linear-gradient(90deg,transparent,rgba(240,208,107,.75),transparent);
}
.home-brand-footer__developer-logo{
  width:min(240px,50vw);
  height:auto;
  aspect-ratio:1/1;
  object-fit:contain;
  margin-bottom:16px;
  filter:drop-shadow(0 10px 26px rgba(0,0,0,.26));
}
.home-brand-footer__developer-title{
  margin:0;
  color:#f5e4a4;
  font:700 25px/1.7 BYekan,Arial,sans-serif;
  max-width:850px;
}
.home-brand-footer__instagram{
  margin-top:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:12px 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(135deg,rgba(88,42,126,.88),rgba(232,159,66,.88));
  color:#fff8e7;
  text-decoration:none;
  box-shadow:0 14px 28px rgba(0,0,0,.18);
}
.home-brand-footer__instagram:hover{
  transform:translateY(-1px);
  box-shadow:0 18px 32px rgba(0,0,0,.22);
}
.home-brand-footer__instagram-icon{
  display:grid;
  place-items:center;
  color:#fff7d7;
  flex-shrink:0;
}
.home-brand-footer__instagram-text{
  direction:ltr;
  font:700 20px/1.2 Georgia,serif;
  letter-spacing:.02em;
}
.home-brand-footer__signature{
  margin-top:16px;
  color:#f1d38c;
  font:italic 28px/1.35 "Brush Script MT","Segoe Script","Snell Roundhand",cursive;
  letter-spacing:.04em;
}
@media (max-width:760px){
  .home-brand-footer{gap:18px}
  .home-brand-footer__panel{padding:22px 16px;border-radius:24px}
  .home-brand-footer__developer-title{font-size:19px;line-height:1.85}
  .home-brand-footer__instagram{width:min(100%,330px);padding:11px 16px}
  .home-brand-footer__instagram-text{font-size:17px}
  .home-brand-footer__signature{font-size:23px}
}


/* v16.5.184 | Transparent company logo + wider mobile attractions slider */
.home-brand-footer__developer-logo{
  background:transparent !important;
  mix-blend-mode:normal;
}
@media(max-width:760px){
  .home-attractions__inner{
    width:min(96vw,1120px);
    padding-inline:14px;
  }
  .home-attractions__rail{
    padding-inline:0;
  }
  .home-attractions__viewport{
    gap:12px;
    padding:4px 0 12px;
  }
  .home-attractions__viewport .home-attraction-card{
    flex:0 0 min(58vw,220px);
    min-width:min(58vw,220px);
    border-radius:24px;
  }
  .home-attractions__arrow{
    width:38px;
    height:38px;
    border-radius:14px;
    font-size:25px;
    top:30%;
    transform:translateY(-30%);
    z-index:7;
    background:rgba(7,34,52,.92);
    box-shadow:0 10px 22px rgba(0,0,0,.24);
  }
  .home-attractions__arrow--prev{inset-inline-start:6px}
  .home-attractions__arrow--next{inset-inline-end:6px}
}
@media(max-width:420px){
  .home-attractions__inner{padding-inline:12px}
  .home-attractions__viewport{gap:10px}
  .home-attractions__viewport .home-attraction-card{
    flex-basis:min(61vw,205px);
    min-width:min(61vw,205px);
  }
  .home-attractions__arrow{
    width:36px;
    height:36px;
    font-size:23px;
    top:29%;
    transform:translateY(-29%);
  }
  .home-attractions__arrow--prev{inset-inline-start:4px}
  .home-attractions__arrow--next{inset-inline-end:4px}
}


/* v16.5.185 — show exactly two FULL attraction cards on mobile.
   Navigation arrows overlay the card photos, never reserve carousel width. */
@media (max-width:760px){
  .home-attractions__inner{
    width:min(98vw,1120px);
    padding-inline:10px;
  }
  .home-attractions__rail{
    box-sizing:border-box;
    width:100%;
    min-width:0;
    padding-inline:0;
    overflow:hidden;
  }
  .home-attractions__viewport{
    --attraction-mobile-gap:10px;
    width:100%;
    min-width:0;
    box-sizing:border-box;
    display:flex;
    flex-wrap:nowrap;
    gap:var(--attraction-mobile-gap);
    padding:3px 0 12px;
    overflow-x:auto;
    overflow-y:hidden;
  }
  .home-attractions__viewport .home-attraction-card{
    box-sizing:border-box;
    flex:0 0 calc((100% - var(--attraction-mobile-gap))/2);
    width:calc((100% - var(--attraction-mobile-gap))/2);
    min-width:0;
    max-width:none;
    scroll-snap-align:start;
  }
  .home-attractions__arrow{
    position:absolute;
    z-index:8;
    top:29%;
    width:36px;
    height:36px;
    transform:translateY(-29%);
    border-radius:12px;
  }
  .home-attractions__arrow--prev{inset-inline-start:5px}
  .home-attractions__arrow--next{inset-inline-end:5px}
}


/* v16.5.186 | iPhone / iOS Jalali reservation calendar fit fix */
.jalali-date-dialog{
  box-sizing:border-box;
  max-height:min(92svh, calc(100dvh - 18px));
  overflow:hidden auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
@supports (padding:max(0px)){
  .jalali-date-dialog{
    max-height:min(92svh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 18px));
    padding-bottom:max(16px, calc(16px + env(safe-area-inset-bottom)));
  }
}
@media (max-width:760px){
  .jalali-date-dialog{
    width:min(94vw,430px);
    max-height:min(90svh, calc(100dvh - 14px));
    padding:18px 14px 14px;
    border-radius:24px;
  }
  @supports (padding:max(0px)){
    .jalali-date-dialog{
      max-height:min(90svh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 14px));
      padding-top:max(18px, calc(14px + env(safe-area-inset-top) * .18));
      padding-bottom:max(14px, calc(14px + env(safe-area-inset-bottom)));
    }
  }
}
@supports (-webkit-touch-callout:none){
  @media (max-width:760px){
    .jalali-date-dialog{
      width:min(94vw,420px);
      max-height:min(88svh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 10px));
      padding:14px 12px max(12px, calc(12px + env(safe-area-inset-bottom)));
      border-radius:22px;
    }
    .jalali-date-dialog .dialog-x{
      top:2px;
      left:2px;
      width:38px;
      height:38px;
      font-size:34px;
    }
    .jalali-picker-head{
      grid-template-columns:42px 1fr 42px;
      gap:8px;
      margin:14px 0 10px;
    }
    .jalali-picker-head strong{
      font-size:15px;
      line-height:1.2;
    }
    .jalali-picker-head button,
    .jalali-picker-actions button{
      height:38px;
      min-height:38px;
      border-radius:10px;
      font-size:13px;
      padding:0 10px;
    }
    .jalali-weekdays,
    .jalali-days{
      gap:5px;
    }
    .jalali-weekdays span{
      font-size:11px;
      padding:4px 0;
    }
    .jalali-day{
      min-height:42px;
      aspect-ratio:auto;
      font-size:12px;
      border-radius:10px;
      display:grid;
      place-items:center;
      line-height:1;
      padding:0;
    }
    .jalali-picker-actions{
      margin-top:10px;
      padding-bottom:2px;
    }
  }
  @media (max-width:430px){
    .jalali-date-dialog{
      width:calc(100vw - 14px);
      max-height:min(86svh, calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 8px));
      padding:12px 10px max(12px, calc(10px + env(safe-area-inset-bottom)));
    }
    .jalali-picker-head{
      grid-template-columns:38px 1fr 38px;
      gap:6px;
      margin:12px 0 8px;
    }
    .jalali-picker-head strong{font-size:14px}
    .jalali-picker-head button,
    .jalali-picker-actions button{height:36px;min-height:36px;font-size:12px}
    .jalali-weekdays,
    .jalali-days{gap:4px}
    .jalali-weekdays span{font-size:10px;padding:3px 0}
    .jalali-day{min-height:38px;font-size:11px;border-radius:9px}
  }
}


/* v16.5.187: optional agreed pricing is per-contract, not a public tariff. */
.manager-agreed-price{display:grid;gap:5px;margin-top:12px;min-width:0;width:100%;text-align:right;font:14px/1.5 BYekan,Tahoma,sans-serif;color:#e9d38b}
.manager-agreed-price input{box-sizing:border-box;width:100%;min-height:43px;min-width:0;padding:9px 12px;border:1px solid rgba(229,199,101,.65);border-radius:12px;background:rgba(7,28,43,.92);color:#fff4da;font:700 17px BYekan,Tahoma,sans-serif;direction:ltr;text-align:right}
.manager-agreed-price small{color:#b1cbd2;font:13px BMitra,Tahoma,sans-serif}
.manager-occupancy-meta.is-money input[name="total_amount"]{width:100%;min-height:43px;box-sizing:border-box;min-width:0;background:#102b3e;color:#fff2c8;border:1px solid #b7a35e;border-radius:11px;padding:9px;font:700 17px BYekan,Tahoma,sans-serif}
.manager-requests-hub{width:min(480px,94vw);max-height:85dvh;overflow:auto;padding:26px 19px;border-radius:24px;background:#081f30;border:1px solid #326174;color:#f3e7b2;font-family:BYekan,Tahoma,sans-serif;text-align:center}
.manager-requests-hub::backdrop{background:rgba(1,9,18,.78)}
.manager-requests-hub h2{font:700 27px/1.4 BYekan,Tahoma,sans-serif;margin:6px auto 8px}
.manager-requests-hub p{color:#b8cad2;margin:0 0 22px}
.manager-requests-hub>a{display:flex;gap:12px;align-items:center;min-height:64px;border:1px solid #37647c;padding:11px;border-radius:16px;background:#0e3147;color:#fff;text-decoration:none;margin:10px 0}
.manager-requests-hub>a span{font-size:23px}.manager-requests-hub>a strong{flex:1;text-align:right}.manager-requests-hub>a b{border-radius:20px;background:#712bc7;padding:3px 11px}
.manager-requests-hub>a b[hidden]{display:none}
@media(max-width:760px){.manager-agreed-price{font-size:12px}.manager-agreed-price input{font-size:15px;min-height:42px}}

.manager-occ-auto-price{display:inline-flex;justify-content:center;align-items:center;margin-top:6px;min-height:34px;border:1px solid #567c89;border-radius:9px;background:#173c50;color:#f5d87f;font:12px BYekan,Tahoma,sans-serif;cursor:pointer}

/* v16.5.188 — manager pricing, single-date picker, occupancy mobile polish */
.jalali-date-dialog #jalaliRangeToolbar[hidden]{display:none!important}
.jalali-date-dialog .jalali-range-toolbar{justify-content:center;margin:0 0 10px;min-height:auto}
.jalali-date-dialog .jalali-range-hint{
  width:100%;margin:0;padding:10px 14px;border-radius:18px;
  background:rgba(9,30,43,.78);backdrop-filter:blur(10px);
  border:1px solid rgba(225,189,93,.28);color:#f2cf67;
  font:26px/1.25 BMitra,BYekan,Tahoma,sans-serif;text-align:center
}
.jalali-date-dialog .jalali-range-hint[data-type="error"],
.jalali-date-dialog .jalali-range-hint[data-type="blocked"]{color:#f2cf67;border-color:rgba(240,117,130,.25)}
.jalali-date-dialog .jalali-day.is-anchor-start{
  background:linear-gradient(135deg,rgba(218,88,144,.34),rgba(177,66,122,.58));
  border:1px solid rgba(252,161,194,.55);color:#ffe8f2;box-shadow:inset 0 0 0 1px rgba(255,222,238,.15)
}
.jalali-date-dialog .jalali-day.is-disabled{cursor:not-allowed}
.jalali-date-dialog .jalali-day.is-reserved.is-disabled,
.jalali-date-dialog .jalali-day.is-occupied.is-disabled{cursor:pointer;opacity:1}
.jalali-date-dialog .jalali-day.is-reserved:not(:disabled){background:#d5aa33;color:#142b38;border-color:#f7dc70}
.jalali-date-dialog .jalali-day.is-occupied:not(:disabled){background:#b73548;color:#fff4f4;border-color:#e75d6d}

.manager-inline-edit-trigger{cursor:text;position:relative;display:inline-block}
.manager-inline-edit-trigger::after{content:'✎';display:inline-block;margin-inline-start:8px;font-size:.58em;opacity:.58;color:#f6d37a;vertical-align:middle}
.booking-price-card .manager-agreed-price--inline{max-height:0;overflow:hidden;opacity:0;transform:translateY(-6px);pointer-events:none;transition:max-height .22s ease,opacity .18s ease,transform .18s ease;margin-top:0}
.booking-price-card.is-inline-editing .manager-agreed-price--inline{max-height:170px;opacity:1;transform:translateY(0);pointer-events:auto;margin-top:10px}
.booking-price-card.is-inline-editing .manager-inline-edit-trigger{color:#8cffc1;text-shadow:0 0 20px rgba(118,241,183,.16)}

.manager-occupancy-room.has-stay:hover,
.manager-occupancy-room.has-balance:hover{border-color:#ff627e;box-shadow:-6px 0 12px rgba(5,20,30,.5),0 0 0 1px rgba(255,98,126,.2) inset,0 0 18px rgba(255,88,118,.16)}
.manager-occupancy-cell.has-alert-hover:hover,
.manager-occupancy-cell.has-alert-hover:focus-visible,
.manager-occupancy-cell.has-partial-balance:hover,
.manager-occupancy-cell.has-partial-balance:focus-visible{border-color:#ff627e!important;box-shadow:0 10px 22px rgba(0,0,0,.34),0 0 0 1px rgba(255,98,126,.25) inset!important}
.manager-occupancy-cell.has-partial-balance::after{content:'';position:absolute;inset:4px;border-radius:9px;border:1px dashed rgba(255,118,136,.48);pointer-events:none}

@media (max-width:760px){
  .manager-command-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .manager-command{min-height:122px;padding:12px 10px!important}
  .manager-command strong,.manager-command small,
  .manager-stats span,.manager-stats strong,
  .manager-overview-head h1,.manager-overview-head p{font-family:BYekan,Tahoma,sans-serif!important}
  .manager-command strong{font-size:18px!important}
  .manager-command small{font-size:13px!important;line-height:1.5}
  .manager-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .manager-stats article:last-child{grid-column:auto!important}
  .manager-stats article{min-height:104px}
  .manager-stats span{font-size:18px!important}
  .manager-stats strong{font-size:34px!important}

  .manager-occupancy-dialog{padding:14px 12px 14px!important;max-height:92dvh}
  .manager-occupancy-topbar{grid-template-columns:auto 1fr auto;gap:8px}
  .manager-occupancy-topbar #managerOccupancyRange{padding:8px 10px;border-radius:14px;font-size:13px;line-height:1.45}
  .manager-occupancy-paging{width:100%;justify-content:space-between;gap:8px}
  .manager-occupancy-paging button{flex:0 0 auto;min-width:54px;padding:10px 12px}
  .manager-occupancy-paging button span{margin:0;font-size:22px}
  .manager-occupancy-heading small{font-size:12px}
  .manager-occupancy-heading h2{font-size:20px;line-height:1.45;margin:2px 0 0}
  .manager-occupancy-shell{gap:10px}
  .manager-occupancy-scroll{border-radius:16px}
  .manager-occupancy-grid{padding:8px;grid-template-columns:max-content repeat(15,minmax(56px,1fr));column-gap:4px;row-gap:5px;min-width:960px}
  .manager-occupancy-date{min-height:52px;border-radius:10px}
  .manager-occupancy-date b{font-size:14px}
  .manager-occupancy-cell{min-height:58px;padding:5px 3px}
  .manager-occupancy-guest{font-size:10px}
  .manager-occupancy-status{font-size:9px}
  .manager-occupancy-date small{font-size:10px;line-height:1.25}
  .manager-occupancy-date em{font-size:9px}
  .manager-occupancy-date.is-unit-heading{min-width:96px;font-size:13px;padding-inline:7px;right:0}
  .manager-occupancy-group{padding:6px 10px;border-radius:11px;font-size:12px;position:sticky;right:0;z-index:5}
  .manager-occupancy-group strong{font-size:14px}
  .manager-occupancy-room{right:0;z-index:4;min-width:92px;max-width:108px;min-height:52px;padding:7px 9px;border-radius:11px}
  .manager-occupancy-room strong{font-size:14px;line-height:1.35}
  .manager-occupancy-cell{min-height:50px;border-radius:10px}
  .manager-occupancy-cell span{font-size:14px}
  .manager-occupancy-cell small{font-size:10px}
  .manager-occupancy-foot--stacked{gap:6px}
  .manager-occupancy-legend--glassy{padding:8px 10px;border:none;background:transparent;backdrop-filter:none;justify-content:center;gap:10px;flex-wrap:nowrap;font:15px/1.2 BYekan,Tahoma,sans-serif;color:#f5d36e;overflow-x:auto}
  .manager-occupancy-legend--glassy span{gap:4px;white-space:nowrap;font-size:13px}
  .manager-occupancy-legend--glassy i{width:10px;height:10px;border-radius:50%}
  .manager-occupancy-note{display:none!important}

  .jalali-date-dialog .jalali-range-hint{font-size:19px;padding:8px 10px}
}

/* v16.5.188 | Stay manager — compact room cards, real state lights and header layout */
@keyframes stayStatusBeacon {
  0%,100% {opacity:1; transform:scale(1);filter:brightness(1.1)}
  45% {opacity:.28;transform:scale(.76);filter:brightness(.8)}
  70% {opacity:.96;transform:scale(1.16);filter:brightness(1.3)}
}
@keyframes stayOccupiedGlow {
  0%,100% {border-color:rgba(255,87,113,.95);box-shadow:0 0 0 1px rgba(255,71,102,.12),0 0 12px rgba(249,62,99,.12),0 12px 28px rgba(0,0,0,.2)}
  50% {border-color:#ffb7c1;box-shadow:0 0 0 2px rgba(255,89,114,.3),0 0 22px rgba(249,62,99,.33),0 12px 28px rgba(0,0,0,.2)}
}
@keyframes stayGuestGlow {
  0%,100% {box-shadow:inset 0 0 0 1px rgba(255,255,255,.02),0 0 0 transparent}
  50% {box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--state-color) 35%,transparent),0 0 12px color-mix(in srgb,var(--state-color) 14%,transparent)}
}
body.manager-body .manager-room-card .manager-room-pulse {
  display:block!important;visibility:visible!important;opacity:1;
  width:13px;height:13px;top:14px;left:14px;
  background:var(--state-color);border:1px solid rgba(255,255,255,.27);
  box-shadow:0 0 13px var(--state-color),0 0 23px color-mix(in srgb,var(--state-color) 45%,transparent);
  animation:stayStatusBeacon 1.7s ease-in-out infinite!important;
  will-change:opacity,transform;
}
body.manager-body .manager-room-card:nth-child(2n) .manager-room-pulse{animation-delay:-.55s!important}
body.manager-body .manager-room-card:nth-child(3n) .manager-room-pulse{animation-delay:-1.05s!important}
body.manager-body .manager-room-card.state-occupied {
  animation:stayOccupiedGlow 3.2s ease-in-out infinite;
}
body.manager-body .manager-room-card.state-occupied:hover,
body.manager-body .manager-room-card.state-occupied:focus-within {
  animation-duration:1.15s;
  border-color:#ff859b!important;
}
body.manager-body .manager-room-card .room-person-line {
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
  max-width:100%;min-width:0;
  padding:6px 8px;border:1px solid color-mix(in srgb,var(--state-color) 26%,transparent);
  border-radius:12px;background:color-mix(in srgb,var(--state-color) 7%,rgba(7,27,44,.75));
  animation:stayGuestGlow 3.6s ease-in-out infinite;
  overflow-wrap:anywhere;
}
body.manager-body .manager-room-card:nth-child(3n) .room-person-line{animation-delay:-1s}
body.manager-body .manager-room-card .room-primary{min-width:0}
body.manager-body .manager-room-card .room-meta-row b{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
body.manager-body .manager-overview-head--centered{
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;margin-bottom:16px!important;
}
body.manager-body .manager-overview-head--centered h1{
  margin:0!important;max-width:100%;text-align:center!important;
  font-family:BYekan,Tahoma,sans-serif;
}
body.manager-body .manager-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
body.manager-body .manager-stats-history{
  --state-color:#33c8e6;
  box-sizing:border-box;text-decoration:none;display:flex;align-items:center;justify-content:center;
  min-width:0;gap:10px;min-height:76px;padding:10px 12px;
  color:#e1f7fd;border:1px solid rgba(60,190,231,.39);border-radius:18px;
  background:linear-gradient(120deg,rgba(11,68,92,.85),rgba(12,43,66,.9));
  box-shadow:inset -4px 0 0 #39b7ea,0 10px 28px rgba(0,0,0,.08);
  font:700 18px/1.3 BYekan,Tahoma,sans-serif;
  transition:box-shadow .2s,border-color .2s;
}
body.manager-body .manager-stats-history:hover,
body.manager-body .manager-stats-history:focus-visible{border-color:#5fdcf0;box-shadow:0 0 16px rgba(71,202,235,.24);outline:none}
body.manager-body .manager-stats-history svg{width:26px;height:26px;flex:none}
body.manager-body .dashboard-header-title--logo{pointer-events:auto}
body.manager-body .dashboard-header-brand-link{
  display:flex;align-items:center;justify-content:center;line-height:0;
  text-decoration:none;cursor:pointer;max-width:100%;outline-offset:4px;
}
body.manager-body .dashboard-header-brand-link .dashboard-header-brand {height:55px;max-width:min(290px,42vw)}
body.manager-body .dashboard-header-actions .manager-live-chip--header {
  min-width:74px;min-height:39px;padding:5px 9px;gap:7px;
  font-size:12px;letter-spacing:.3px;white-space:nowrap;flex:none;
}
body.manager-body .dashboard-header-actions .manager-live-chip--header i{width:9px;height:9px}
body.manager-body .manager-room-group-head h3 {font-family:BYekan,Tahoma,sans-serif}
.brand-logo-refresh{display:block;width:max-content;max-width:100%;margin-inline:auto;line-height:0;cursor:pointer}
.brand-logo-refresh .brand-logo{display:block}
.tour-refresh-brand{display:grid;place-items:center;min-width:0}
.tour-refresh-brand img{max-width:100%}

@media(max-width:1100px){
 body.manager-body .manager-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:760px){
 body.manager-body .dashboard-header-actions{max-width:48vw;gap:5px}
 body.manager-body .dashboard-header-actions .dashboard-header-back{min-width:60px!important;height:35px!important;padding:0 8px!important}
 body.manager-body .dashboard-header-actions .dashboard-header-back b{font-size:10px!important}
 body.manager-body .dashboard-header-actions .manager-live-chip--header{
   min-width:63px;min-height:35px;padding:4px 6px;gap:5px;font-size:10px;
   letter-spacing:0;border-radius:10px;
 }
 body.manager-body .dashboard-header-menu-button,
 body.manager-body .dashboard-menu-button{width:40px;height:40px}
 body.manager-body .dashboard-header-title--logo{width:32vw!important;max-width:32vw!important}
 body.manager-body .dashboard-header-brand-link .dashboard-header-brand{width:auto;height:47px;max-width:32vw}
 body.manager-body .manager-overview-head--centered{min-height:34px;margin:0 0 9px!important}
 body.manager-body .manager-overview-head--centered h1{font-size:clamp(20px,5.5vw,27px)!important;line-height:1.3}
 body.manager-body .manager-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
 body.manager-body .manager-stats article:last-child{grid-column:auto!important;min-height:74px}
 body.manager-body .manager-stats-history{min-height:74px;padding:8px 7px;font-size:15px;gap:7px}
 body.manager-body .manager-stats-history svg{width:23px;height:23px}
 body.manager-body .manager-stats article{min-height:74px!important;padding:7px 8px!important}
 body.manager-body .manager-stats span{font-size:clamp(12px,3.6vw,17px)!important;padding-inline:24px}
 body.manager-body .manager-stats b{font-size:clamp(20px,6vw,27px)}
 body.manager-body .manager-panel-head{min-height:0!important;padding:0!important;margin:0 0 8px!important}
 body.manager-body .manager-panel-head h2{font-size:clamp(22px,6vw,30px)!important;margin:0!important}
 body.manager-body .manager-room-groups{gap:14px}
 body.manager-body .manager-room-group-head{margin:0 0 9px!important;align-items:center;gap:9px}
 body.manager-body .manager-room-group-head h3{font-size:clamp(20px,6vw,29px);margin:0}
 body.manager-body .manager-room-group-head span{font-size:12px}
 body.manager-body .manager-room-grid{gap:9px!important}
 body.manager-body .manager-room-card{min-height:0!important;padding:10px 8px 9px!important;border-radius:20px}
 body.manager-body .manager-room-card h4{font-size:clamp(18px,5.1vw,22px);margin:0 17px 4px}
 body.manager-body .manager-room-card .room-primary{min-height:0!important;gap:3px}
 body.manager-body .manager-room-card .room-person-line{
   font-size:clamp(12px,3.6vw,15px)!important;line-height:1.45;padding:5px 5px;
   border-radius:10px;min-height:0;
 }
 body.manager-body .manager-room-card .room-period-line{
   font:clamp(10px,2.8vw,12px)/1.35 BYekan,Tahoma,sans-serif;
   display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:0
 }
 body.manager-body .manager-room-card .room-meta-row{
   margin-top:6px;gap:3px;align-items:center;flex-wrap:nowrap;
 }
 body.manager-body .manager-room-card .room-meta-row b,
 body.manager-body .manager-room-card .room-meta-row span{font-size:clamp(11px,3vw,13px);font-family:BYekan,Tahoma,sans-serif;font-weight:700}
 body.manager-body .manager-room-card .room-progress-block{margin-top:5px}
 body.manager-body .manager-room-card .room-progress-text{
   font:clamp(10px,2.8vw,12px)/1.4 BYekan,Tahoma,sans-serif;
   min-height:0;margin-bottom:6px;
   display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
 }
 body.manager-body .manager-room-card .room-action-grid{margin-top:8px;gap:5px}
 body.manager-body .manager-room-card .room-mini-action{min-height:31px;border-radius:11px}
 body.manager-body .manager-room-card .room-mini-action span{font-size:14px}
 body.manager-body .manager-state-legend{
   width:100%;display:flex!important;align-items:center;justify-content:space-between;
   flex-wrap:nowrap!important;gap:2px!important;padding:0!important;margin:0;
 }
 body.manager-body .manager-legend-wrap{padding:7px 4px!important;margin-top:14px}
 body.manager-body .manager-state-legend .state-legend{
   box-sizing:border-box;min-width:0;flex:1 1 0;display:inline-flex!important;align-items:center;justify-content:center;
   white-space:nowrap;font:clamp(7px,2vw,10px)/1.4 BYekan,Tahoma,sans-serif;
   padding:5px 2px!important;gap:3px;border-radius:10px;
 }
 body.manager-body .manager-state-legend .state-legend i{
   flex:none;width:7px;height:7px;min-width:7px;border-radius:50%;margin:0;
 }
}
@media(max-width:370px){
 body.manager-body .dashboard-header-brand-link .dashboard-header-brand{height:40px}
 body.manager-body .dashboard-header-actions .manager-live-chip--header{min-width:53px;font-size:9px;gap:3px}
 body.manager-body .dashboard-header-actions .dashboard-header-back{min-width:52px!important;padding:0 4px!important}
 body.manager-body .manager-state-legend .state-legend{font-size:7px;gap:2px;padding:4px 1px!important}
 body.manager-body .manager-state-legend .state-legend i{width:6px;height:6px;min-width:6px}
}
@media(prefers-reduced-motion:reduce){
 body.manager-body .manager-room-card .room-person-line{animation:none}
 body.manager-body .manager-room-card.state-occupied{animation:none}
 body.manager-body .manager-room-card .manager-room-pulse{animation:none!important}
}
/* Keep the history label in flow; old .manager-stats span positioning is for count cards only. */
body.manager-body .manager-stats .manager-stats-history{position:relative}
body.manager-body .manager-stats .manager-stats-history span{
  position:static!important;inset:auto!important;display:inline!important;
  width:auto!important;height:auto!important;margin:0!important;
  padding:0!important;text-align:center!important;white-space:nowrap!important;
  font:inherit!important;color:inherit!important;
}

/* v16.5.189 public five-action assistant, independent of manager UI */
.chat-public-assistant{flex:none;width:min(100%,380px);max-width:95%;align-self:center;direction:rtl;display:flex;flex-direction:column;gap:10px;margin:12px auto 6px;padding:14px;border:1px solid rgba(72,202,219,.3);border-radius:20px;background:linear-gradient(140deg,rgba(11,41,61,.94),rgba(6,23,39,.96));box-shadow:0 14px 30px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.03);box-sizing:border-box}
.chat-public-assistant-title{margin:0;text-align:center;color:#fff0bd;font:700 16px/1.7 BYekan,Tahoma,sans-serif}
.chat-public-assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chat-public-assistant-choice{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:47px;padding:8px 7px;border:1px solid rgba(65,194,215,.37);border-radius:13px;background:linear-gradient(140deg,rgba(24,67,89,.85),rgba(11,43,66,.96));color:#e8f7ff;cursor:pointer;transition:border-color .15s,box-shadow .15s,background .15s,transform .15s}
.chat-public-assistant-choice b{font:700 12px/1.5 BYekan,Tahoma,sans-serif;white-space:normal;overflow-wrap:anywhere;text-align:center}
.chat-public-assistant-choice span{font-size:17px;color:#e8c26b;line-height:1;flex:none}
.chat-public-assistant-choice:hover,.chat-public-assistant-choice:focus-visible{border-color:#69e4e6;box-shadow:0 0 0 1px rgba(111,232,232,.21),0 0 15px rgba(48,193,218,.17);outline:none;transform:translateY(-1px)}
.chat-public-assistant-choice.is-manager{grid-column:1/-1;border-color:rgba(238,197,97,.55);color:#fff0b8;background:linear-gradient(125deg,rgba(96,74,36,.74),rgba(42,48,60,.96))}
.chat-faq-action.chat-faq-manager-action{border-color:#e1bd72;background:linear-gradient(125deg,#775328,#3a4552)}
@media(max-width:420px){.chat-public-assistant{padding:10px;margin-block:8px}.chat-public-assistant-title{font-size:14px}.chat-public-assistant-grid{gap:7px}.chat-public-assistant-choice{min-height:43px;padding:6px 4px}.chat-public-assistant-choice b{font-size:11px}}

.chat-public-assistant-return{display:block;align-self:center;margin:9px auto;min-height:36px;padding:8px 14px;color:#b9e6eb;background:rgba(20,63,78,.8);border:1px solid rgba(110,199,213,.38);border-radius:12px;cursor:pointer;font:700 12px/1.4 BYekan,Tahoma,sans-serif}
.chat-public-assistant-return:hover{color:#fff1b5;border-color:#f2d287}


/* v16.5.190: public guest assistant invite & mobile-first five choice flow */
.chat-fab-tip.is-assistant-invite{white-space:normal!important;line-height:1.55!important;font:21px/1.55 BMitra,BYekan,Tahoma,sans-serif!important;text-align:center!important;overflow-wrap:break-word!important;padding:10px 14px!important;border-color:rgba(245,207,78,.5)!important;z-index:8!important;max-width:min(315px,calc(100vw - 30px))!important}
.chat-fab-invite-dot{position:absolute!important;right:-5px;top:-5px;width:15px;height:15px;border-radius:50%;background:#e4c366;box-shadow:0 0 0 2px #10283b,0 0 10px #e8be56;animation:chatInviteBlink 1.3s ease-in-out infinite;pointer-events:none}
.chat-fab-invite-dot[hidden]{display:none!important}
@keyframes chatInviteBlink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.38;transform:scale(.83)}}
.chat-public-assistant{width:min(100%,385px)!important;max-width:100%!important;margin:12px 0 5px!important}
.chat-public-assistant-choice{background:linear-gradient(140deg,rgba(13,113,104,.9),rgba(9,74,81,.95))!important;border-color:rgba(75,224,182,.36)!important}
.chat-public-assistant-choice.is-manager{background:linear-gradient(140deg,rgba(8,103,100,.95),rgba(13,67,78,.96))!important;border-color:rgba(222,192,102,.58)!important}
.chat-public-assistant-title{font:700 15px/1.7 BYekan,Tahoma,sans-serif!important}
.chat-faq-action{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:36px;margin:8px auto 0;padding:8px 14px;border-radius:11px;background:linear-gradient(135deg,#078a79,#0a5f64);color:#e9fff5!important;text-decoration:none;border:1px solid rgba(109,238,196,.38);font:700 12px/1.5 BYekan,Tahoma,sans-serif;text-align:center;cursor:pointer}
@media(max-width:760px){.chat-fab-tip.is-assistant-invite{font-size:19px!important}.chat-public-assistant{padding:10px!important}.chat-public-assistant-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}.chat-public-assistant-choice{min-height:42px!important}.chat-public-assistant-choice b{font-size:12px!important}.chat-public-assistant-choice.is-manager{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.chat-fab-invite-dot{animation:none}}

.chat-fab-tip.is-assistant-invite[data-side="right"]::after{left:auto;right:26px}
.chat-fab-tip.is-assistant-invite[data-side="left"]::after{left:26px;right:auto}


/* v16.5.191 — occupancy calendar density and cleaner detail modal */
.manager-occupancy-dialog{height:min(95dvh,1100px)}
.manager-occupancy-shell{padding:14px clamp(12px,2vw,24px) 10px;gap:8px}
.manager-occupancy-head{min-height:72px;padding:0 52px 6px}
.manager-occupancy-heading>span{font-size:11px}
.manager-occupancy-heading h2{margin:2px 0 2px;font-size:clamp(20px,2.25vw,29px);line-height:1.35}
#managerOccupancyRange{font-size:13px}
.manager-occupancy-scroll{border-radius:16px}
.manager-occupancy-foot--stacked{padding-top:0;margin-top:2px}
.manager-occupancy-legend--glassy{gap:10px 18px;padding:8px 14px!important;font-size:13px!important}
.manager-occupancy-legend--glassy span{gap:5px;white-space:nowrap}
.manager-occupancy-legend--glassy i{width:10px;height:10px;border-radius:50%}
.manager-occupancy-tooltip,.manager-occupancy-tooltip:popover-open{padding:8px 16px;max-width:min(350px,92vw)}
.manager-occupancy-tooltip-line{display:block;text-align:center;line-height:1.2;margin:2px 0;font:21px/1.2 BMitra,sans-serif;color:#f4d37c}
.manager-occupancy-tooltip-line.is-title{font-size:25px;color:#fff0bf}
#managerOccupancyDetailDialog.manager-occupancy-detail-dialog{padding:16px 18px 16px;max-height:89dvh}
#managerOccupancyDetailDialog .manager-occupancy-detail-head{padding:0 34px 10px;margin-top:-2px}
#managerOccupancyDetailDialog .manager-occupancy-detail-head h2{margin:0 0 4px;font-size:30px;line-height:1.25}
#managerOccupancyDetailDialog .manager-occupancy-detail-head>span{display:block;margin-bottom:4px}
#managerOccupancyDetailDialog .manager-occupancy-detail-head p{margin:0;font-size:13px}
#managerOccupancyDetailDialog .manager-occupancy-edit-form{gap:6px}
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{margin-top:8px;gap:7px}
#managerOccupancyDetailDialog .manager-occupancy-meta{min-height:68px;padding:7px 9px}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-total{grid-column:3;grid-row:3}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-money span{font-size:13px}
#managerOccupancyDetailDialog .manager-occupancy-big-input,
#managerOccupancyDetailDialog .manager-occupancy-money-input input,
#managerOccupancyDetailDialog .manager-occupancy-money{
  color:#57f0b0!important;text-align:center;font:900 clamp(28px,3vw,38px)/1.15 BYekan,BMitra,sans-serif!important;
  font-variant-numeric:tabular-nums;letter-spacing:.3px;
}
#managerOccupancyDetailDialog .manager-occupancy-big-input,
#managerOccupancyDetailDialog .manager-occupancy-money-input input{
  background:rgba(8,39,49,.68);border:1px solid rgba(94,232,176,.32);border-radius:12px;min-height:48px;height:48px;padding:6px 10px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-total .manager-occ-auto-price{margin-top:4px}
#managerOccupancyDetailDialog .manager-occupancy-money-input{gap:0}
#managerOccupancyDetailDialog .manager-occupancy-note-field>span{font-size:13px}
#managerOccupancyDetailDialog .manager-occupancy-detail-actions{margin-top:8px}
@media (max-width:1100px){
  .manager-occupancy-shell{padding:12px 12px 10px}
  .manager-occupancy-head{padding:0 44px 4px;min-height:66px}
  .manager-occupancy-heading h2{font-size:clamp(18px,2.3vw,26px)}
  .manager-occupancy-legend--glassy{font-size:12px!important;gap:8px 12px;padding:7px 10px!important}
}
@media (max-width:760px){
  .manager-occupancy-dialog{height:min(96dvh,1100px)}
  .manager-occupancy-shell{padding:10px 8px 8px;gap:7px}
  .manager-occupancy-head{padding:0 32px 4px;min-height:62px}
  .manager-occupancy-heading h2{font-size:18px;line-height:1.28}
  .manager-occupancy-tooltip-line{font-size:18px}
  .manager-occupancy-tooltip-line.is-title{font-size:20px}
  #managerOccupancyDetailDialog.manager-occupancy-detail-dialog{padding:12px 10px 12px;max-height:92dvh}
  #managerOccupancyDetailDialog .manager-occupancy-detail-head{padding:0 28px 8px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-head h2{font-size:24px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  #managerOccupancyDetailDialog .manager-occupancy-meta.is-total{grid-column:1/-1;grid-row:auto}
  #managerOccupancyDetailDialog .manager-occupancy-big-input,
  #managerOccupancyDetailDialog .manager-occupancy-money-input input,
  #managerOccupancyDetailDialog .manager-occupancy-money{font-size:26px!important}
}

/* v16.5.192: restore the original five-button guided bot from the reference video */
.chat-fab-tip.is-assistant-invite{pointer-events:auto;cursor:pointer;touch-action:manipulation}
.chat-faq-message.chat-message--bot{align-items:stretch;max-width:min(92%,420px);gap:3px}
.chat-faq-message .chat-faq-actions[hidden]{display:none!important}
.chat-faq-message .chat-faq-actions{display:flex;align-items:center;flex-direction:column;gap:6px;margin:12px 0 2px}
.chat-faq-message .chat-public-assistant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-width:245px;width:100%;margin:0 auto;direction:rtl;align-items:center}
.chat-faq-message .chat-public-assistant-choice{min-height:35px!important;padding:6px 8px!important;display:flex;justify-content:center;align-items:center;white-space:nowrap;background:linear-gradient(135deg,#219580,#0f746a)!important;border:1px solid #67d8b4!important;border-radius:12px;box-shadow:0 6px 15px #00c69a18;color:#effff9;font:700 12px BYekan,Tahoma,sans-serif}
.chat-faq-message .chat-public-assistant-choice:hover{background:linear-gradient(130deg,#2db29b,#138e87)!important;box-shadow:0 0 16px #49dca159;transform:translateY(-1px)}
.chat-faq-message .chat-public-assistant-choice.is-manager{grid-column:1/-1!important;justify-self:center;width:max-content;min-width:108px;max-width:100%;margin:4px auto 0;background:linear-gradient(135deg,#168477,#086d69)!important;border-color:#6bdab9!important}
.chat-faq-message .chat-faq-action{align-self:center;margin:0 auto;font-size:12px}
.chat-faq-message[hidden]{display:none!important}
@media(max-width:760px){
  .chat-faq-message.chat-message--bot{max-width:94%}
  .chat-faq-message .chat-public-assistant-grid{max-width:220px;gap:6px}
  .chat-faq-message .chat-public-assistant-choice{min-height:33px!important;font-size:11px;padding:5px!important}
}
@media(prefers-reduced-motion:reduce){.chat-faq-message .chat-public-assistant-choice:hover{transform:none}}

/* v16.5.194 — visitor guide menu, browser reset and restaurant media */
.chat-reset-guest-button{grid-column:1;grid-row:1;justify-self:start;align-self:center;display:grid;place-items:center;width:38px;height:38px;padding:6px;border-radius:12px;color:#ff7485;border:1px solid rgba(255,110,132,.36);background:rgba(117,25,42,.11);cursor:pointer}
.chat-reset-guest-button svg{width:21px;height:21px}
.chat-reset-guest-button:hover{background:rgba(170,37,61,.23);box-shadow:0 0 14px rgba(236,65,101,.18)}
.chat-reset-guest-button[hidden],.chat-public-menu-button[hidden]{display:none!important}
.chat-contacts-toggle:not([hidden])~.chat-reset-guest-button{display:none}
.chat-public-menu-button{position:absolute;bottom:8px;inset-inline-end:58px;width:41px;height:41px;padding:9px;z-index:3;display:grid;place-items:center;border-radius:14px;border:1px solid rgba(98,204,215,.32);background:linear-gradient(145deg,#14394e,#082638);color:#9ceee9;cursor:pointer}
.chat-public-menu-button svg{width:22px;height:22px}
.chat-composer-shell.has-public-menu textarea{padding-inline-end:106px}
.chat-composer-shell.has-public-menu.is-expanded textarea{padding-bottom:60px;padding-inline-end:12px}
.chat-faq-message .chat-public-assistant-choice.is-restaurant{grid-column:1/-1;justify-self:center;min-width:154px}
.chat-restaurant-choices{display:flex;flex-wrap:wrap;gap:7px;align-items:center;justify-content:center;width:100%}
.chat-restaurant-choices button{padding:8px 12px;min-height:35px;color:#dcfff0;background:linear-gradient(125deg,#117c77,#0e585e);border:1px solid #43c7ba;border-radius:12px;cursor:pointer;font:700 12px BYekan,sans-serif}
.chat-restaurant-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-width:310px;width:100%;margin-inline:auto}
.chat-restaurant-gallery.is-menu{display:grid;grid-template-columns:minmax(0,1fr);max-width:210px}
.chat-restaurant-gallery button{aspect-ratio:1/1;display:block;overflow:hidden;padding:0;border:1px solid rgba(106,233,198,.46);border-radius:13px;background:rgba(8,38,54,.83);cursor:zoom-in}
.chat-restaurant-gallery img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.chat-restaurant-gallery button:focus-visible{outline:2px solid #f0d977;outline-offset:2px}
@media(max-width:760px){.chat-public-menu-button{height:39px;width:39px;inset-inline-end:55px}.chat-composer-shell.has-public-menu textarea{padding-inline-end:102px}.chat-reset-guest-button{width:36px;height:36px}.chat-restaurant-gallery{max-width:260px}}

/* v16.5.194 — property social accounts in management settings and under home logo */
.social-settings-form{display:grid;gap:16px}
.social-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.social-settings-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:20px;border:1px solid rgba(121,174,192,.19);background:linear-gradient(145deg,rgba(18,51,67,.90),rgba(8,28,45,.78));transition:border-color .2s,box-shadow .2s}
.social-settings-card:focus-within,.social-settings-card.has-link{border-color:color-mix(in srgb,var(--social-accent) 46%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}
.social-settings-label{display:flex;align-items:center;gap:10px}
.social-settings-label img{width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 2px 7px rgba(0,0,0,.2))}
.social-settings-label b{font:700 17px/1.5 BYekan,Tahoma,sans-serif;color:#f5faff}
.social-settings-label small{margin-inline-start:auto;color:#91b6c4;font:12px BYekan,Tahoma,sans-serif}
.social-settings-card.has-link .social-settings-label small{color:#6fdfb6}
.social-settings-card input{direction:ltr!important;text-align:left!important;width:100%;box-sizing:border-box;min-width:0;height:46px;padding:10px 13px;border-radius:13px;border:1px solid rgba(126,180,194,.24);background:rgba(2,18,32,.72);color:#eaf7ff;font:14px Georgia,Arial,sans-serif}
.social-settings-card input:focus{outline:2px solid var(--social-accent);outline-offset:1px}
.social-settings-save{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding-top:10px}
.social-settings-save p{font:14px/1.6 BYekan,Tahoma,sans-serif;color:#a4dacb}
.social-settings-save p[data-tone="error"]{color:#ff94a3}
.social-settings-save button{min-height:48px;padding:10px 30px;border-radius:14px;border:1px solid #f7d68f;background:linear-gradient(125deg,#edc768,#e7a944);color:#183248;font:700 16px BYekan,Tahoma,sans-serif;cursor:pointer}
.social-settings-save button:disabled{opacity:.6;cursor:wait}
.hero-social-links{position:relative;z-index:5;display:flex;justify-content:center;align-items:center;gap:9px;flex-wrap:wrap;width:min(95vw,650px);margin:-4px auto 6px;padding:1px 3px}
.hero-social-link{display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border:1px solid color-mix(in srgb,var(--social-accent) 44%,rgba(255,255,255,.16));border-radius:16px;background:linear-gradient(150deg,rgba(7,29,43,.86),rgba(3,15,31,.94));box-shadow:0 7px 17px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.07);transition:transform .18s,box-shadow .2s}
.hero-social-link img{display:block;width:28px;height:28px;object-fit:contain}
.hero-social-link:hover,.hero-social-link:focus-visible{transform:translateY(-4px);box-shadow:0 8px 23px color-mix(in srgb,var(--social-accent) 23%,transparent);outline:none}
@media(max-width:760px){.social-settings-grid{grid-template-columns:1fr;gap:10px}.social-settings-card{padding:13px}.hero-social-links{max-width:95vw;gap:7px;margin:28px auto 7px}.hero-social-link{width:40px;height:40px;border-radius:12px}.hero-social-link img{width:25px;height:25px}}
@media(max-width:380px){.hero-social-links{gap:5px}.hero-social-link{width:35px;height:35px}.hero-social-link img{width:22px;height:22px}}


/* v16.5.196 — Local PNG social icons always visible for the three main networks */
.home-social-strip{
  position:relative;z-index:8;display:flex;justify-content:center;align-items:center;
  flex-wrap:wrap;gap:clamp(9px,1.15vw,18px);margin:5px auto 10px;
  padding:0 6px;max-width:min(92vw,720px);min-height:46px;
}
.home-social-icon{
  position:relative;display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;
  border:0;border-radius:50%;background:transparent;
  transition:transform .2s ease,filter .2s ease;
}
.home-social-icon img{width:43px;height:43px;object-fit:contain;display:block;filter:drop-shadow(0 5px 10px rgba(0,0,0,.24))}
.home-social-icon.is-linked{cursor:pointer;text-decoration:none}
.home-social-icon.is-linked:hover,.home-social-icon.is-linked:focus-visible{transform:translateY(-3px) scale(1.07);filter:drop-shadow(0 0 10px color-mix(in srgb,var(--social-accent) 40%,transparent));outline:0}
.home-social-icon.is-unconfigured{cursor:default;opacity:.92}
.home-social-strip--hero{margin:0 auto 2px;min-height:42px;gap:12px}
.home-social-strip--hero .home-social-icon{width:40px;height:40px;flex-basis:40px}
.home-social-strip--hero img{width:39px;height:39px}
.home-social-strip--footer{margin:0 auto 5px;gap:16px;min-height:52px}
.home-social-strip--footer .home-social-icon{width:50px;height:50px;flex-basis:50px}
.home-social-strip--footer img{width:49px;height:49px}
.social-settings-label img{display:block;width:38px;height:38px;flex:0 0 38px;object-fit:contain;background:transparent}
@media(max-width:760px){
 .home-social-strip{gap:10px;min-height:42px;max-width:min(92vw,480px)}
 .home-social-strip--hero{margin:0 auto 3px;gap:9px}
 .home-social-strip--hero .home-social-icon{width:36px;height:36px;flex-basis:36px}
 .home-social-strip--hero img{width:35px;height:35px}
 .home-social-strip--footer{gap:12px;min-height:45px}
 .home-social-strip--footer .home-social-icon{width:43px;height:43px;flex-basis:43px}
 .home-social-strip--footer img{width:42px;height:42px}
}
@media(prefers-reduced-motion:reduce){.home-social-icon{transition:none}}
/* Hero logo overlaps its own box in mobile layout because of legacy negative margins. */
.hero:has(.home-social-strip--hero) .brand-logo-refresh{margin-bottom:12px}
.hero:has(.home-social-strip--hero) .hero-copy-art{margin:8px auto 0}
@media(max-width:760px){
 .hero:has(.home-social-strip--hero) .brand-logo-refresh{margin-bottom:44px}
 .hero:has(.home-social-strip--hero) .hero-copy-art{margin:8px auto 0}
}

/* 16.5.197: occupancy transfer, inline folio totals and fixed-size room captions */
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions button[hidden]{display:none!important}
#managerOccupancyDetailDialog #managerOccupancyDetailTransfer{
  min-height:38px;padding:7px 20px;border-radius:12px;cursor:pointer;
  background:linear-gradient(145deg,#8f74dc,#6651af);border:1px solid #bfa9fa;
  color:#fff;box-shadow:0 4px 16px rgba(130,96,219,.25);
  font:700 13px BYekan,Tahoma,sans-serif;transition:filter .2s,transform .2s;
}
#managerOccupancyDetailDialog #managerOccupancyDetailTransfer:hover{filter:brightness(1.15);transform:translateY(-1px)}
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar{direction:ltr}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions{order:1;margin-right:auto}
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar #managerOccupancyDetailClose{order:2;margin-left:auto}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-total{justify-content:center}
#managerOccupancyDetailDialog .manager-occupancy-big-input{cursor:text}
#managerOccupancyDetailDialog [data-occ-remaining]{display:block;min-height:40px;will-change:contents}
#managerOccupancyDialog .manager-occupancy-room{
  box-sizing:border-box;height:55px;min-height:55px;max-height:55px;
  flex-direction:column;gap:1px;padding:4px 8px;justify-content:center;
  overflow:hidden;
}
#managerOccupancyDialog .manager-occupancy-room strong{
  display:block;max-width:100%;font:700 14px/1.24 BYekan,Tahoma,sans-serif;
  white-space:nowrap;text-overflow:ellipsis;overflow:hidden;
}
#managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{
  display:block!important;max-width:100%;color:#e9d38a;
  font:500 10px/1.2 BYekan,Tahoma,sans-serif;margin:0;
}
#managerOccupancyDialog .manager-occupancy-room.is-locked-unit{border-color:rgba(169,116,224,.52)}
#managerOccupancyDialog:has(.manager-occupancy-cell.is-transfer-eligible) .manager-occupancy-cell.is-transfer-eligible{
  outline:1px solid rgba(179,145,255,.72);outline-offset:-2px;
  animation:occTransferGlow 1.7s ease-in-out infinite alternate;
}
@keyframes occTransferGlow{
  from{box-shadow:0 0 0 1px rgba(168,120,253,.12)}
  to{box-shadow:0 0 11px rgba(168,120,253,.5)}
}
.manager-occupancy-transfer-confirm{
  width:min(480px,calc(100vw - 24px));max-height:90dvh;box-sizing:border-box;
  padding:26px 24px;border-radius:24px;border:1px solid rgba(142,197,221,.3);
  background:linear-gradient(150deg,#103144,#071b2c);color:#e9f9fc;
  text-align:center;box-shadow:0 24px 75px #0009;font-family:BYekan,Tahoma,sans-serif;
}
.manager-occupancy-transfer-confirm::backdrop{background:rgba(2,12,24,.67);backdrop-filter:blur(7px)}
.manager-occupancy-transfer-confirm h2{color:#f5d57e;font-size:23px;margin:10px 20px 14px}
.manager-occupancy-transfer-confirm p{line-height:2;font-size:14px;overflow-wrap:anywhere}
.manager-occupancy-transfer-confirm .form-status{min-height:22px;color:#ffd77a}
.manager-occupancy-transfer-confirm .dialog-x{position:absolute;right:10px;top:9px;color:#ff6f86}
.manager-occupancy-transfer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.manager-occupancy-transfer-actions button{
  border-radius:12px;border:1px solid rgba(140,211,231,.29);background:#123c53;color:white;
  min-height:46px;font:700 13px BYekan,Tahoma,sans-serif;cursor:pointer;
}
#managerOccupancyTransferApply{background:linear-gradient(135deg,#9683d8,#7158b8);border-color:#b5a8ee}
.manager-occupancy-transfer-actions button:disabled{opacity:.55;cursor:wait}
.manager-occupancy-tooltip:popover-open,.manager-occupancy-tooltip{
  text-align:center;line-height:1.32;
}
.manager-occupancy-tooltip-line{white-space:normal;line-height:1.3;margin:4px 0}
.manager-occupancy-tooltip-line:first-child{font-weight:900}
@media(max-width:760px){
  #managerOccupancyDialog .manager-occupancy-room{
    height:52px;min-height:52px;max-height:52px;padding:3px 5px;
  }
  #managerOccupancyDialog .manager-occupancy-room strong{font-size:12px}
  #managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{font-size:9px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-topactions{gap:5px}
  #managerOccupancyDetailDialog #managerOccupancyDetailTransfer{padding:7px 13px;font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  #managerOccupancyDialog .manager-occupancy-cell.is-transfer-eligible{animation:none}
}


/* v16.5.198 — explicit, reversible manager reservation cancellation (not a hard delete) */
#managerOccupancyDetailDialog .manager-occupancy-detail-controls{
  display:flex;align-items:center;gap:7px;order:2;margin-left:auto;direction:ltr;flex-shrink:0;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls #managerOccupancyDetailClose{
  order:2!important;margin:0!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete{
  order:1;appearance:none;min-height:36px;min-width:65px;padding:6px 15px;
  border-radius:12px;border:1px solid rgba(255,111,130,.62);
  background:linear-gradient(145deg,#b12e4d,#83203e);color:#fff4f6;
  box-shadow:0 4px 14px rgba(198,47,83,.22);
  font:700 13px/1.3 BYekan,Tahoma,sans-serif;cursor:pointer;
  transition:transform .16s ease,filter .16s ease;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete[hidden]{display:none!important}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete:hover{transform:translateY(-1px);filter:brightness(1.13)}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete:focus-visible{outline:2px solid #ffd7df;outline-offset:2px}
.manager-occupancy-delete-confirm{
  position:fixed;width:min(460px,calc(100vw - 24px));max-height:min(90dvh,720px);
  box-sizing:border-box;padding:25px 21px 21px;border-radius:24px;
  border:1px solid rgba(255,112,138,.36);
  background:linear-gradient(155deg,#123246,#071d2f 80%);color:#e9f6fc;
  box-shadow:0 24px 80px rgba(0,0,0,.63),0 0 32px rgba(190,42,75,.12);
  font-family:BYekan,Tahoma,sans-serif;text-align:center;overflow-y:auto;
}
.manager-occupancy-delete-confirm::backdrop{background:rgba(1,10,20,.73);backdrop-filter:blur(7px)}
.manager-occupancy-delete-confirm .dialog-x{position:absolute;right:10px;top:8px;color:#ff7389}
.manager-occupancy-delete-confirm .dialog-x:disabled{opacity:.4;pointer-events:none}
.manager-occupancy-delete-icon{display:grid;place-items:center;margin:5px auto 8px;
  width:58px;height:58px;border:1px solid rgba(255,125,149,.35);border-radius:18px;
  font:30px/1 sans-serif;background:rgba(162,29,58,.14);color:#ff819a}
.manager-occupancy-delete-confirm h2{font-size:23px;color:#ff9baa;line-height:1.4;margin:5px 30px 14px}
.manager-occupancy-delete-confirm #managerOccupancyDeleteMessage{font:17px/2 BYekan,Tahoma,sans-serif;margin:0 auto 13px;overflow-wrap:anywhere}
.manager-occupancy-delete-confirm #managerOccupancyDeleteMessage strong{color:#ffe1a3}
.manager-occupancy-delete-warning{font:15px/1.8 BMitra,BYekan,Tahoma,sans-serif;
  padding:13px;border-radius:14px;border:1px solid rgba(255,197,99,.2);
  background:rgba(11,38,52,.72);color:#f4cd89}
.manager-occupancy-delete-confirm .form-status{min-height:20px;font-size:13px;line-height:1.5;color:#a7edcf}
.manager-occupancy-delete-confirm .form-status.is-error{color:#ff9aab}
.manager-occupancy-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;direction:rtl}
.manager-occupancy-delete-actions button{min-height:44px;border-radius:12px;
  border:1px solid rgba(99,178,206,.32);background:#174158;color:#f0faff;
  cursor:pointer;font:700 13px/1.4 BYekan,Tahoma,sans-serif}
.manager-occupancy-delete-actions .is-danger{background:linear-gradient(145deg,#cf3655,#97243e);
  border-color:#f0738a;color:white}
.manager-occupancy-delete-actions button:disabled{opacity:.55;cursor:wait}
@media(max-width:700px){
  #managerOccupancyDetailDialog .manager-occupancy-detail-topbar{gap:5px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-controls{gap:3px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-delete{padding:6px 10px;min-width:53px;min-height:34px;font-size:12px}
  .manager-occupancy-delete-confirm{padding:22px 14px 16px}
  .manager-occupancy-delete-confirm h2{font-size:20px}
  .manager-occupancy-delete-confirm #managerOccupancyDeleteMessage{font-size:15px}
}
@media(prefers-reduced-motion:reduce){#managerOccupancyDetailDialog .manager-occupancy-detail-delete{transition:none}}

/* v16.5.199 — tour-leader selection and reservation cancellation */
#managerOccupancyDetailDialog #managerOccupancyDetailTour{
  min-height:38px;padding:7px 20px;border-radius:12px;cursor:pointer;
  border:1px solid rgba(69,235,225,.66);
  background:linear-gradient(140deg,#097d8b,#13aaab);
  box-shadow:0 3px 15px rgba(38,197,195,.16);
  color:#f3fffd;font:700 13px BYekan,Tahoma,sans-serif;
  transition:filter .18s,transform .18s;
}
#managerOccupancyDetailDialog #managerOccupancyDetailTour:hover{filter:brightness(1.15);transform:translateY(-1px)}
#managerOccupancyDetailDialog #managerOccupancyDetailTour[hidden]{display:none!important}
.manager-occupancy-tour-dialog{
  box-sizing:border-box;width:min(565px,calc(100vw - 24px));max-height:min(90dvh,800px);
  padding:28px 22px 20px;overflow-y:auto;border-radius:24px;
  border:1px solid rgba(64,213,213,.37);
  background:linear-gradient(150deg,#123649,#061d30 89%);
  color:#effcff;text-align:center;font-family:BYekan,Tahoma,sans-serif;
  box-shadow:0 25px 80px rgba(0,0,0,.65),0 0 38px rgba(22,190,193,.12);
}
.manager-occupancy-tour-dialog::backdrop{background:rgba(1,11,20,.76);backdrop-filter:blur(7px)}
.manager-occupancy-tour-dialog .dialog-x{position:absolute;right:9px;top:7px}
.manager-occupancy-tour-dialog h2{font:800 23px/1.6 BYekan,Tahoma,sans-serif;margin:3px 28px 7px;color:#d5fff8}
.manager-occupancy-tour-help{font:15px/1.8 BMitra,BYekan,Tahoma,sans-serif;color:#bcd8e6;margin:0 0 16px}
.manager-occupancy-tour-leaders{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:min(46dvh,450px);overflow:auto;padding:3px}
.manager-occupancy-tour-leader{display:flex;direction:rtl;align-items:center;gap:11px;width:100%;min-width:0;min-height:76px;padding:12px 10px;border-radius:15px;border:1px solid rgba(74,155,181,.33);background:rgba(8,42,60,.82);text-align:right;color:#f0fbff;cursor:pointer;transition:border-color .17s,box-shadow .17s,background .17s}
.manager-occupancy-tour-leader:hover,.manager-occupancy-tour-leader:focus-visible{border-color:#59d9cc;box-shadow:0 0 16px rgba(28,211,190,.14)}
.manager-occupancy-tour-leader.is-selected{border-color:#62e6d1;background:rgba(12,117,112,.31);box-shadow:inset 0 0 0 1px rgba(65,219,190,.13)}
.manager-occupancy-tour-avatar{flex:0 0 37px;height:37px;display:grid;place-items:center;border:1px solid rgba(85,238,223,.26);border-radius:13px;color:#70ead3;background:rgba(13,87,96,.47);font-size:21px}
.manager-occupancy-tour-name{flex:1;min-width:0;overflow-wrap:anywhere;font:700 15px/1.5 BYekan,Tahoma,sans-serif}
.manager-occupancy-tour-name small{display:block;color:#a6c2d0;font-size:12px;font-weight:400;direction:ltr;text-align:right}
.manager-occupancy-tour-indicator{font-size:21px;color:#75efdc}
.manager-occupancy-tour-empty{grid-column:1/-1;color:#a7cbd0;margin:10px auto;font-size:14px}
.manager-occupancy-tour-dialog .form-status{min-height:20px;margin:10px 0;font-size:12px}
.manager-occupancy-tour-dialog .form-status.is-error{color:#ffa2ae}
.manager-occupancy-tour-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.manager-occupancy-tour-actions button{min-height:44px;border-radius:13px;border:1px solid rgba(91,164,193,.32);background:#164052;color:#f6feff;font:700 13px BYekan,Tahoma,sans-serif;cursor:pointer}
.manager-occupancy-tour-actions .is-primary{background:linear-gradient(120deg,#118f93,#15ae9d);border-color:#59dccb}
.manager-occupancy-tour-actions button:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:700px){
  #managerOccupancyDetailDialog #managerOccupancyDetailTour{padding:6px 11px;min-height:34px;font-size:12px}
  .manager-occupancy-tour-dialog{padding:24px 12px 16px}
  .manager-occupancy-tour-dialog h2{font-size:20px}
  .manager-occupancy-tour-leaders{grid-template-columns:1fr;max-height:52dvh}
  .manager-occupancy-tour-leader{min-height:62px}
}


/* v16.5.200 — mobile occupancy header normalization + consistent close buttons */
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions,
#managerOccupancyDetailDialog .manager-occupancy-detail-controls{display:flex;align-items:center;gap:8px}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions{justify-content:flex-start;min-width:0;flex-wrap:nowrap}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls{justify-content:flex-end;flex-shrink:0}
#managerOccupancyDetailDialog :is(.manager-occupancy-detail-ops,.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour,.manager-occupancy-detail-delete){min-height:44px;height:44px;padding:0 14px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;border-radius:14px;font-size:14px;line-height:1.2}
#managerOccupancyDetailDialog .manager-occupancy-detail-head{padding-inline:14px;padding-top:2px}
#managerOccupancyDetailDialog .manager-occupancy-detail-head p{text-align:center}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-remaining{grid-column:1/-1}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-remaining strong.manager-occupancy-money{width:100%;text-align:center}
#managerRoomOperationsDialog .manager-op-progress>div:first-child{display:grid;justify-items:center;text-align:center;gap:6px}
#managerRoomOperationsDialog .manager-op-progress b{display:block;width:100%;text-align:center}
#managerRoomOperationsDialog .manager-operations-topbar{align-items:flex-start}
#managerRoomOperationsDialog .manager-operations-topbar-end{align-self:flex-start}
#managerRoomOperationsDialog .manager-operations-close{margin-top:-2px}
#managerRoomOperationsDialog .manager-operations-heading{padding-inline:22px}
@media(max-width:850px){
 #managerOccupancyDialog .manager-occupancy-topbar{grid-template-columns:36px minmax(0,1fr) auto;grid-template-areas:"close range paging";gap:6px;align-items:start}
 #managerOccupancyDialog button#managerOccupancyClose{width:36px;height:36px;min-width:36px;min-height:36px;font-size:0;align-self:start;margin-top:-2px}
 #managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyRange{max-width:none;min-width:0;padding:7px 10px;font-size:12px;line-height:1.45;justify-self:center}
 #managerOccupancyDialog .manager-occupancy-paging{justify-self:end;gap:5px}
 #managerOccupancyDialog .manager-occupancy-paging button{min-height:34px;height:34px;padding:6px 9px;font-size:12px;border-radius:12px}
}
@media(max-width:700px){
 #managerOccupancyDetailDialog.manager-occupancy-detail-dialog{padding:8px 10px 11px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-bottom:2px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-topactions{gap:6px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-controls{gap:6px}
 #managerOccupancyDetailDialog :is(.manager-occupancy-detail-ops,.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour,.manager-occupancy-detail-delete){min-height:40px;height:40px;padding:0 10px;font-size:13px;border-radius:12px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-topbar #managerOccupancyDetailClose{width:40px;height:40px;min-width:40px;min-height:40px;align-self:start;margin-top:-2px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-remaining{grid-column:1/-1}
 #managerOccupancyDetailDialog .manager-occupancy-detail-actions{grid-template-columns:1fr 1fr}
 #managerOccupancyDetailDialog .manager-occupancy-detail-actions button{width:100%}
 #managerRoomOperationsDialog .manager-operations-topbar{padding-top:0}
 #managerRoomOperationsDialog .manager-operations-close{width:40px;height:40px;min-width:40px;min-height:40px}
}


/* v16.5.201 — Mobile occupancy finance, slim navigation and local circular social icons. */
@media(min-width:761px){
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-remaining{grid-column:auto}
}

.occupancy-range-compact{display:none}
.home-social-strip--footer{margin:7px auto 15px;gap:clamp(10px,2vw,16px);min-height:0}
.home-social-strip--footer .home-social-icon{
  display:grid;place-items:center;position:relative;overflow:visible;
  width:52px;height:52px;flex:0 0 52px;border-radius:50%;
  border:1px solid color-mix(in srgb,var(--social-accent) 55%,rgba(255,255,255,.15));
  background:radial-gradient(circle at 36% 22%,rgba(46,78,93,.95),rgba(6,22,36,.96) 76%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 5px 15px rgba(0,0,0,.29),0 0 13px color-mix(in srgb,var(--social-accent) 14%,transparent);
  transition:transform .18s ease,box-shadow .2s ease;
}
.home-social-strip--footer .home-social-icon img{
  display:block;object-fit:contain;width:30px;height:30px;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.36));
}
.home-social-strip--footer .home-social-icon.is-linked:hover,
.home-social-strip--footer .home-social-icon.is-linked:focus-visible{
  transform:translateY(-3px) scale(1.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.23),0 9px 22px color-mix(in srgb,var(--social-accent) 37%,rgba(0,0,0,.28));
}
.home-social-strip--footer .home-social-icon.is-unconfigured{opacity:.94}
.social-settings-label img{width:36px;height:36px;flex-basis:36px;filter:drop-shadow(0 3px 5px rgba(0,0,0,.4))}
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyPrev"],
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyNext"]{
  min-width:30px;width:30px;min-height:34px;height:34px;padding:0;
  border:none;background:transparent;box-shadow:none;border-radius:8px;color:#f7d979;
  display:grid;place-items:center;
}
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyPrev"] span,
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyNext"] span{
  font:800 29px/1 Arial,sans-serif;margin:0;display:block
}
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyPrev"]:hover:not(:disabled),
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyNext"]:hover:not(:disabled){
  background:rgba(245,202,96,.09);transform:none;filter:brightness(1.18);
}
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyPrev"]:disabled,
#managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyNext"]:disabled{opacity:.27}
@media(max-width:760px){
 .home-social-strip--footer{gap:12px;margin:10px auto 13px}
 .home-social-strip--footer .home-social-icon{width:46px;height:46px;flex-basis:46px}
 .home-social-strip--footer .home-social-icon img{width:27px;height:27px}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-paid,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-remaining,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-total{
   grid-column:1/-1;min-width:0;width:100%;box-sizing:border-box;
 }
 #managerOccupancyDetailDialog .manager-occupancy-money-input{width:100%;max-width:100%}
 #managerOccupancyDetailDialog .manager-occupancy-money-input input{flex:1 1 auto;width:100%;min-width:0;text-align:center}
 .occupancy-range-full{display:none}
 .occupancy-range-compact{display:inline}
 #managerOccupancyDialog .manager-occupancy-topbar{
   display:grid;direction:rtl;grid-template-columns:36px minmax(0,1fr) auto;
   grid-template-areas:"close range paging";align-items:center;gap:4px;
   width:100%;min-height:38px;
 }
 #managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyRange{
   min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
   justify-self:center;padding:6px 7px;font-size:11px;line-height:1.5;border-radius:11px;
 }
 #managerOccupancyDialog .manager-occupancy-paging{
   direction:rtl;grid-area:paging;display:flex;width:auto;min-width:0;align-items:center;
   justify-self:end;justify-content:flex-end;flex-wrap:nowrap;gap:2px;
 }
 #managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyPrev"],
 #managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyNext"]{
   min-width:21px;width:21px;min-height:30px;height:30px;flex:0 0 21px;
 }
 #managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyPrev"] span,
 #managerOccupancyDialog .manager-occupancy-paging button[id="managerOccupancyNext"] span{font-size:25px;line-height:1}
 #managerOccupancyDialog .manager-occupancy-paging button#managerOccupancyToday{
   min-width:0;min-height:29px;height:29px;padding:3px 5px;border-radius:9px;
   font:700 10px/1.2 BYekan,Tahoma,sans-serif;flex:0 0 auto;
 }
 #managerOccupancyDialog button#managerOccupancyClose{
   grid-area:close;width:36px;height:36px;min-height:36px;min-width:36px;
   margin-top:-2px;align-self:start;
 }
 #managerOccupancyDialog .manager-occupancy-head--compact{gap:2px;padding-bottom:8px}
}
@media(max-width:370px){
 #managerOccupancyDialog .manager-occupancy-topbar{grid-template-columns:31px minmax(0,1fr) auto;gap:2px}
 #managerOccupancyDialog button#managerOccupancyClose{width:31px;height:31px;min-width:31px;min-height:31px}
 #managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyRange{font-size:10px;padding-inline:4px}
 #managerOccupancyDialog .manager-occupancy-paging button#managerOccupancyToday{padding-inline:3px}
}

@media(max-width:760px){
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-paid,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-total,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-remaining{
   height:86px;min-height:86px;justify-content:center;
 }
}


/* v16.5.202 — Optimized 160px premium WebP/PNG badges, no nested square buttons. */
.home-social-strip--footer{gap:clamp(10px,1.4vw,16px);padding-inline:8px}
.home-social-strip--footer .home-social-icon{
  width:56px;height:56px;flex-basis:56px;border:0;background:transparent;box-shadow:none;border-radius:50%;overflow:visible;padding:0;
}
.home-social-strip--footer .home-social-icon picture{display:block;width:100%;height:100%;border-radius:50%}
.home-social-strip--footer .home-social-icon picture img{display:block;width:100%;height:100%;object-fit:contain;filter:none}
.home-social-strip--footer .home-social-icon.is-linked:hover,
.home-social-strip--footer .home-social-icon.is-linked:focus-visible{box-shadow:none;transform:translateY(-3px) scale(1.075);filter:drop-shadow(0 5px 10px rgba(22,198,235,.29))}
.social-settings-label picture{display:block;flex:0 0 46px;width:46px;height:46px;line-height:0}
.social-settings-label picture img{width:46px;height:46px;object-fit:contain;filter:none}
.manager-settings-nav picture{display:inline-grid;place-items:center;width:34px;height:34px}
.manager-settings-nav picture img{object-fit:contain;width:34px;height:34px}
@media(max-width:760px){
 .home-social-strip--footer{gap:clamp(7px,2vw,12px)}
 .home-social-strip--footer .home-social-icon{width:46px;height:46px;flex-basis:46px}
 .home-social-strip--footer .home-social-icon picture img{width:100%;height:100%}
}
@media(max-width:375px){.home-social-strip--footer .home-social-icon{width:44px;height:44px;flex-basis:44px}}

/* v16.5.203 — Restaurant menu and food images for the public chat assistant. */
.chat-restaurant-media-settings{display:grid;gap:18px}
.chat-restaurant-media-group{min-width:0;padding:18px;border:1px solid rgba(98,183,202,.20);border-radius:22px;background:linear-gradient(145deg,rgba(16,53,72,.92),rgba(5,26,43,.90));}
.chat-restaurant-media-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.chat-restaurant-media-heading>div{display:grid;gap:6px}
.chat-restaurant-media-heading b{font:700 22px/1.6 BYekan,Tahoma,sans-serif;color:#f2e7bf}
.chat-restaurant-media-heading small,.chat-restaurant-media-hint{font:15px/1.75 BMitra,Tahoma,sans-serif;color:#9dbccc}
.chat-restaurant-menu-workspace{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;align-items:center}
.chat-restaurant-menu-preview{display:grid;place-items:center;width:100%;max-height:360px;min-height:190px;overflow:hidden;border:1px dashed rgba(105,213,224,.33);border-radius:17px;background:rgba(3,17,31,.62);color:#9db7c5;font:16px BMitra,Tahoma,sans-serif}
.chat-restaurant-menu-preview.has-picture{cursor:zoom-in}
.chat-restaurant-menu-preview img{display:block;width:100%;height:100%;max-height:310px;object-fit:contain}
.chat-restaurant-preview-label{padding:8px 10px;color:#a4f2e4;font:13px BYekan,Tahoma,sans-serif}
.chat-restaurant-media-actions{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.chat-restaurant-upload{display:flex;min-width:0;align-items:center;justify-content:center;min-height:47px;padding:9px 12px;border:1px solid #44dac1;border-radius:13px;background:linear-gradient(130deg,#057b81,#0ea991);color:#fff;font:700 14px BYekan,Tahoma,sans-serif;text-align:center;cursor:pointer}
.chat-restaurant-upload:hover{filter:brightness(1.10)}
.chat-restaurant-danger,.chat-restaurant-remove{border:1px solid rgba(255,114,143,.45);background:rgba(153,30,57,.34);color:#ffdce4;font:700 13px BYekan,Tahoma,sans-serif;cursor:pointer}
.chat-restaurant-danger{min-height:43px;padding:8px 12px;border-radius:13px}
.chat-restaurant-danger[hidden],.chat-restaurant-upload[hidden]{display:none!important}
.chat-restaurant-count{flex-shrink:0;padding:8px 11px;border-radius:13px;border:1px solid rgba(69,214,200,.3);color:#b3fff0;font:14px BYekan,Tahoma,sans-serif}
.chat-restaurant-food-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:14px}
.chat-restaurant-food-item{min-width:0;overflow:hidden;border:1px solid rgba(105,191,201,.22);border-radius:17px;background:rgba(5,26,40,.92)}
.chat-restaurant-food-thumb{display:grid;place-items:center;width:100%;aspect-ratio:1/1;background:rgba(18,56,76,.45)}
.chat-restaurant-food-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.chat-restaurant-food-thumb>span{font-size:29px;opacity:.4}
.chat-restaurant-food-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;padding:8px}
.chat-restaurant-food-actions strong{color:#d7ebf2;font:13px BYekan,Tahoma,sans-serif}
.chat-restaurant-replace{padding:5px 9px;border-radius:9px;border:1px solid rgba(60,205,211,.3);background:rgba(18,126,143,.18);color:#a6efe8;font:11px BYekan,Tahoma,sans-serif;cursor:pointer}
.chat-restaurant-remove{min-width:26px;min-height:26px;border-radius:8px}
.chat-restaurant-upload--foods{width:max-content;max-width:100%;min-width:200px}
.chat-restaurant-media-status{margin:0;padding:11px 14px;border:1px solid rgba(87,195,189,.22);border-radius:12px;background:rgba(3,32,43,.58);color:#92efcb;font:14px/1.7 BYekan,Tahoma,sans-serif}
.chat-restaurant-media-status[data-tone=error]{color:#ff9cae;border-color:rgba(255,101,126,.35)}
@media(max-width:1100px){.chat-restaurant-food-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:730px){.chat-restaurant-menu-workspace{grid-template-columns:1fr}.chat-restaurant-media-group{padding:11px;border-radius:17px}.chat-restaurant-food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.chat-restaurant-media-heading b{font-size:17px}.chat-restaurant-media-heading small{font-size:13px}.chat-restaurant-menu-preview{max-height:300px}.chat-restaurant-media-actions{flex-direction:row;flex-wrap:wrap}.chat-restaurant-upload--foods{width:100%}}

/* v16.5.204: stable four-cell counters and PWA viewport rendering */
.site-metrics-visits{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.site-visit-cell{min-width:0}
.site-visit-cell strong{font-variant-numeric:tabular-nums}
.site-visit-cell--online strong{color:#55e5ab}
@media(max-width:760px){
 .site-metrics-panel{padding:8px 8px 9px}
 .site-metrics-visits{gap:4px}
 .site-visit-cell{padding:5px 1px;min-height:43px}
 .site-visit-cell strong{font-size:clamp(11px,3.1vw,14px)}
 .site-visit-cell small{font-size:10px;white-space:nowrap}
 /* Use one identical fit strategy in browser tabs and installed apps. */
 .landing-bg-layer{background-size:100% 100%;background-position:center center!important}
 .landing-stage{background-size:100% 100%}
}
@media(max-width:760px) and (display-mode:standalone){
 .landing-stage{
   height:var(--baba-home-visual-height,100dvh);
   min-height:var(--baba-home-visual-height,100dvh);
 }
 .landing-stage .site-metrics-overlay{bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}
 .landing-stage.has-home-slider .site-metrics-overlay{bottom:calc(126px + env(safe-area-inset-bottom,0px))!important}
 .site-metrics-overlay{max-width:calc(100% - 30px)}
}

/* Embedded, intrinsically sized premium social badges; no broken static URLs. */
.home-social-strip--footer .home-social-icon > img{
 display:block;width:100%;height:100%;object-fit:contain;filter:none;
 border-radius:50%;
}
.social-settings-label > img{
 display:block;width:46px;height:46px;flex:0 0 46px;
 object-fit:contain;filter:none;border-radius:50%;
}
.manager-settings-nav [data-settings-section="social"] i > img{
 display:block;width:34px;height:34px;object-fit:contain;border-radius:50%;
}
@media(max-width:760px){
 .home-social-strip--footer .home-social-icon > img{width:100%;height:100%}
}

/* v16.5.206: manager satellite location editor */
.location-settings-shell{display:grid;gap:18px}
.location-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.location-field{display:grid;gap:8px;padding:14px 16px;border-radius:20px;background:rgba(6,24,42,.44);border:1px solid rgba(148,191,255,.15)}
.location-field.is-wide{grid-column:1/-1}
.location-field span{font-size:.92rem;color:#e8d09a}
.location-field input,.location-field textarea{width:100%;border:none;outline:none;border-radius:14px;background:rgba(3,14,27,.88);color:#fff;padding:12px 14px;font:inherit}
.location-field textarea{resize:vertical;min-height:92px}
.location-map-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}
.location-map-toolbar p{margin:0;color:#b8cadf;font-size:.92rem}
.location-map-toolbar a{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#173d68,#0a1930);border:1px solid rgba(240,197,101,.35);color:#f7d995;text-decoration:none}
.location-map-layer-control{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.location-map-layer-control button{border:1px solid rgba(129,181,225,.32);border-radius:999px;padding:9px 18px;color:#c7dcec;background:#0c273e;font:inherit;cursor:pointer}
.location-map-layer-control button.is-active{border-color:#39e6c8;background:#0b584e;color:#f0fffc;box-shadow:0 0 0 2px rgba(57,230,200,.1)}
.location-picker-map{height:min(52vh,420px);border-radius:24px;overflow:hidden;border:1px solid rgba(148,191,255,.18);box-shadow:0 18px 38px rgba(0,0,0,.28);isolation:isolate;z-index:0}
.location-picker-map .leaflet-control-attribution{font-size:10px}
.location-settings-save{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.location-settings-save p{margin:0;color:#b8cadf}
.location-settings-save p[data-tone=error]{color:#ff98a5}
.location-settings-save button{border:none;border-radius:999px;padding:12px 22px;font:inherit;font-weight:700;background:linear-gradient(135deg,#d6a545,#7d5211);color:#071827;cursor:pointer}
.location-settings-save button:disabled{opacity:.6;cursor:wait}
@media(max-width:720px){.location-picker-map{height:340px}.location-settings-save button{width:100%}}

/* v16.5.206 footer compact branding and satellite map */

  .home-brand-footer__panel--developer{padding-inline:18px;gap:12px}
  .home-brand-footer__panel--developer .home-brand-footer__developer-logo{width:min(112px,22vw);height:auto}
  .home-brand-footer__panel--developer .home-brand-footer__developer-title{font-size:clamp(.7rem,1vw,.98rem);line-height:1.7;margin:0;text-align:center;max-width:30ch}
  .home-brand-footer__panel--developer .home-brand-footer__instagram{padding:8px 14px;font-size:.88rem;border-radius:999px}
  .home-brand-footer__panel--developer .home-brand-footer__instagram-icon{width:16px;height:16px;display:inline-flex}
  .home-brand-footer__panel--developer .home-brand-footer__instagram-text{font-size:.84rem}
  .home-brand-footer__panel--developer .home-brand-footer__signature{font-size:1rem;margin-top:2px}
  .home-brand-footer__contact{display:grid;gap:10px}
  .home-brand-footer__contact p{margin:0}
  .home-brand-footer__map-card{margin-top:18px;border-radius:28px;overflow:hidden;background:linear-gradient(180deg,rgba(8,27,46,.78),rgba(4,18,33,.94));border:1px solid rgba(223,185,96,.18);box-shadow:0 18px 36px rgba(0,0,0,.24)}
  .home-brand-footer__map-frame{position:relative;display:block;aspect-ratio:16/9;background:#0a1623}
  .home-brand-footer__map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;filter:saturate(1.05) contrast(1.02)}
  .home-brand-footer__map-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;flex-wrap:wrap}
  .home-brand-footer__map-actions p{margin:0;color:#b8cadf;font-size:.92rem}
  .home-brand-footer__map-link{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#d5a54a,#7f5314);color:#071827;text-decoration:none;font-weight:800;white-space:nowrap}
  @media (max-width: 720px){
    .home-brand-footer__panel--developer .home-brand-footer__developer-logo{width:86px}
    .home-brand-footer__panel--developer .home-brand-footer__developer-title{font-size:.7rem}
    .home-brand-footer__panel--developer .home-brand-footer__instagram{padding:6px 12px}
    .home-brand-footer__map-actions{padding:12px 14px}
  }


/* v16.5.207 | Public map: Google satellite preview instead of blocked ArcGIS tiles;
   the whole map remains a navigation shortcut, even without third-party access. */
.home-brand-footer__map-frame{
  position:relative;display:block;isolation:isolate;overflow:hidden;
  min-height:220px;aspect-ratio:16/9;background:#102941;
}
.home-brand-footer__map-backdrop{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:10px;z-index:0;
  background:radial-gradient(ellipse at 50% 52%,#1c5270 0%,#0c2c48 45%,#061725 100%);
  color:#f9e5ac;font:700 17px/1.6 BYekan,Tahoma,sans-serif;text-align:center;
}
.home-brand-footer__map-backdrop span{font:35px/1 system-ui}
.home-brand-footer__map-backdrop small{color:#bcdeeb;font:13px/1.5 BMitra,Tahoma,sans-serif}
.home-brand-footer__map-frame iframe{
  position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;border:0;
  pointer-events:none;filter:saturate(1.03) contrast(1.03);
}
.home-brand-footer__map-touch{
  position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;
  justify-content:center;padding:0 12px 15px;text-decoration:none;cursor:pointer;
}
.home-brand-footer__map-pin-label{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 16px;border-radius:999px;
  border:1px solid rgba(248,214,120,.52);color:#fff0b6;
  background:rgba(4,23,36,.88);box-shadow:0 4px 24px rgba(0,0,0,.26);
  font:700 13px/1.5 BYekan,Tahoma,sans-serif;
}
.home-brand-footer__map-actions{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;padding:15px 14px 18px;text-align:center;
}
.home-brand-footer__map-actions p{width:100%;text-align:center;margin:0;font-size:13px;line-height:1.75}
.home-brand-footer__map-link{margin-inline:auto;min-width:185px;min-height:44px;text-align:center}
/* Footer logo & social icons are one visual group: remove excess vertical gap. */
.home-brand-footer__panel--property > .home-brand-footer__logo{margin-bottom:-13px}
.home-brand-footer__panel--property > .home-social-strip--footer{
  margin-top:-6px;margin-bottom:9px;position:relative;z-index:1;
}
@media(max-width:760px){
  .home-brand-footer__panel--property > .home-brand-footer__logo{margin-bottom:-18px}
  .home-brand-footer__panel--property > .home-social-strip--footer{margin-top:-10px;margin-bottom:7px}
  .home-brand-footer__map-frame{min-height:205px;aspect-ratio:1.55}
  .home-brand-footer__map-actions{padding:13px 12px 18px;gap:10px}
  .home-brand-footer__map-link{min-width:210px}
}


/* v16.5.209 — exact gold emblem at the bottom of the homepage; social icons immediately below */
.home-brand-footer__panel--property > .home-brand-footer__logo--gold-emblem {
  display:block; width:clamp(210px,28vw,310px); max-width:100%; height:auto;
  aspect-ratio:1/1; object-fit:contain; margin:0 auto -1px;
  animation:homeBrandLogoGlow 4s ease-in-out infinite;
  filter:drop-shadow(0 5px 19px rgba(245,194,83,.17));
}
.home-brand-footer__panel--property > .home-social-strip--footer {
  display:flex; justify-content:center; flex-wrap:wrap;
  gap:clamp(8px,1.3vw,14px); margin:0 auto 13px;
  position:relative; z-index:1;
}
@media (max-width:760px) {
  .home-brand-footer__panel--property > .home-brand-footer__logo--gold-emblem {
    width:clamp(190px,49vw,235px); margin:0 auto -3px;
  }
  .home-brand-footer__panel--property > .home-social-strip--footer {
    gap:10px; margin:0 auto 9px;
  }
}
@media (prefers-reduced-motion:reduce) {
 .home-brand-footer__panel--property > .home-brand-footer__logo--gold-emblem {animation:none}
}


/* v16.5.210 | Homepage brand assets: correct intrinsic ratio and responsive size.
   images/logo-hero.* is the original golden wordmark with transparent margins
   cropped; this avoids the old 560x205 geometry squeezing a square source. */
.hero .brand-logo-refresh {width:clamp(420px,48vw,650px);max-width:100%}
.hero .brand-logo-refresh picture {display:block;width:100%;line-height:0}
.hero .brand-logo {
  display:block;width:100%;max-width:100%;max-height:none;height:auto;
  margin:-10px auto 0;top:auto;object-fit:contain;
}
@media (min-width:761px) {
  .hero .hero-copy-art {margin-top:-20px}
}
@media (max-width:760px) {
  .hero {margin-top:8px;transform:none}
  .hero .brand-logo-refresh {width:min(88vw,520px);max-width:100%}
  .hero .brand-logo {width:100%;max-width:100%;max-height:none;height:auto;margin:0 auto;top:auto}
  .hero .hero-copy-art {margin-top:-8px}
}
@media (max-width:430px) {
  .hero .brand-logo-refresh {width:89vw}
  .hero .brand-logo {width:100%;margin:0 auto}
  .hero .hero-copy-art {margin-top:-6px}
}

/* Footer: use 2048px icon-source.avif with a 512px PNG fallback.
   The logo and social row form one tight block on both screen sizes. */
.home-brand-footer__panel--property > .home-brand-footer__logo-picture {
  display:block;width:clamp(220px,26vw,280px);max-width:100%;
  margin:0 auto;line-height:0;
}
.home-brand-footer__panel--property .home-brand-footer__logo--gold-emblem {
  display:block;width:100%;max-width:100%;height:auto;aspect-ratio:1/1;
  margin:0 auto;object-fit:contain;
  animation:homeBrandLogoGlow 4s ease-in-out infinite;
}
.home-brand-footer__panel--property > .home-social-strip--footer {
  margin:-4px auto 9px;gap:clamp(8px,1.3vw,14px);
  position:relative;z-index:1;
}
@media (max-width:760px) {
  .home-brand-footer__panel--property > .home-brand-footer__logo-picture {
    width:clamp(185px,51vw,235px);
  }
  .home-brand-footer__panel--property > .home-social-strip--footer {
    margin:-6px auto 8px;gap:10px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .home-brand-footer__panel--property .home-brand-footer__logo--gold-emblem {animation:none}
}


/* Public experience refinement 16.5.215 — semantic, mobile-first, accessible.
   Scoped deliberately: manager/POS/ticket/chat consoles remain unchanged. */
body[data-page="home"] .home-seo-intro__inner,
body[data-page="home"] .home-features-shell,
body[data-page="reserve"] .reservation-search-panel {
  border-color:rgba(219,184,94,.25);
}
body[data-page="home"] .home-seo-intro__lead{max-width:66ch;margin-inline:auto;line-height:1.9;text-wrap:pretty}
body[data-page="home"] .home-seo-intro__aliases{max-width:64ch;margin-inline:auto;line-height:1.85}
body[data-page="home"] .home-seo-link--primary{
  background:linear-gradient(135deg,#e6c26c,#bd9135);border-color:rgba(255,235,168,.8);color:#142a35;
  box-shadow:0 8px 28px rgba(183,136,45,.23);
}
body[data-page="home"] .home-seo-link--primary:hover{background:linear-gradient(135deg,#f2d482,#d6a94e);box-shadow:0 12px 36px rgba(183,136,45,.33)}
body[data-page="reserve"] .reservation-heading{margin-bottom:23px}
body[data-page="reserve"] .reservation-heading__single{
  max-width:720px;margin-inline:auto;white-space:normal;line-height:1.85;text-wrap:balance;
}
.reservation-journey{
  list-style:none;margin:23px auto 0;padding:0;display:flex;align-items:center;
  justify-content:center;flex-wrap:wrap;gap:9px;color:#d5e7e9;
}
.reservation-journey li{display:flex;align-items:center;gap:8px;padding:8px 12px;
  font:600 13px/1.4 var(--font-ui);border:1px solid rgba(189,211,220,.16);
  border-radius:999px;background:rgba(255,255,255,.045)}
.reservation-journey li>span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#ebce86,#c6a24b);color:#112637;font-size:12px}
.reservation-search-help{margin:7px 4px 0;text-align:center;font:14px/1.75 var(--font-body);
  color:#a6c0c9}
body[data-page="reserve"] .reservation-search-panel{box-shadow:0 20px 48px rgba(0,0,0,.17),0 0 0 1px rgba(207,177,101,.06) inset}
body[data-page="reserve"] .reservation-building-section{border-color:rgba(216,181,100,.18)}
body[data-page="reserve"] .public-unit-card{min-width:0;outline-offset:3px}
body[data-page="reserve"] .public-unit-card__mobile-status{max-width:100%;font-size:11px}
body[data-page="reserve"] .public-unit-card__top{gap:6px}
body[data-page="reserve"] .public-unit-card:focus-visible,
body[data-page="reserve"] .reservation-search-button:focus-visible,
body[data-page="reserve"] .reservation-primary:focus-visible,
body[data-page="home"] .home-seo-link:focus-visible,
.season-gallery-page .sg-season:focus-visible{outline:3px solid #f6da8a;outline-offset:3px}
/* Photo is overlaid above fallback; missing media never paints a broken-image symbol. */
.building-visual{background:radial-gradient(circle at 50% 22%,#214459,#081c2a 65%,#06121d)}
.building-visual .building-visual-fallback{position:absolute;inset:0;display:grid;
  align-content:center;justify-items:center;gap:10px;padding:20px;text-align:center;color:#e9d5a0}
.building-visual .building-visual-fallback img{width:clamp(74px,15%,160px);height:auto;aspect-ratio:1;object-fit:contain;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}
.building-visual .building-visual-fallback span{font:600 16px/1.7 var(--font-body)}
.building-visual>img.building-visual-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.building-visual.is-photo-unavailable>img.building-visual-photo{visibility:hidden}
/* The status is useful on desktop, not just in the narrow 760px layout. */
@media(min-width:761px){
  body[data-page="reserve"] .public-unit-card__mobile-status{display:inline-flex;align-items:center;
    position:static;grid-row:2;justify-content:center;width:max-content;max-width:100%;
    font:600 11px/1.4 var(--font-ui);padding:3px 10px;border-radius:999px;
    color:#a4e6bd;background:rgba(49,185,108,.1);border:1px solid rgba(49,185,108,.22)}
  body[data-page="reserve"] .public-unit-card.is-reserved .public-unit-card__mobile-status{color:#f3d77d;border-color:rgba(231,191,74,.3);background:rgba(231,191,74,.11)}
  body[data-page="reserve"] .public-unit-card.is-occupied .public-unit-card__mobile-status{color:#ffb1b6;border-color:rgba(232,91,101,.3);background:rgba(232,91,101,.12)}
  body[data-page="reserve"] .public-unit-card.is-cleaning .public-unit-card__mobile-status{color:#8fe7ff;border-color:rgba(84,196,236,.28);background:rgba(84,196,236,.11)}
  body[data-page="reserve"] .public-unit-card.is-blocked .public-unit-card__mobile-status{color:#d2b1f2;border-color:rgba(182,121,238,.26);background:rgba(182,121,238,.1)}
}
@media(max-width:760px){
  .reservation-journey{gap:6px;margin:16px auto 0}
  .reservation-journey li{font-size:11px;padding:6px 8px;gap:5px}
  .reservation-journey li>span{width:20px;height:20px}
  body[data-page="reserve"] .reservation-heading{margin-bottom:18px}
  body[data-page="reserve"] .reservation-heading__single{font-size:15px;line-height:1.9}
  .reservation-search-help{font-size:12px;line-height:1.8}
  body[data-page="reserve"] .public-unit-card__mobile-status{font-size:10px;max-width:90px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){
  body[data-page="reserve"] .public-unit-card,
  body[data-page="home"] .home-seo-link{transition:none}
  body[data-page="reserve"] .availability-dot{animation:none;opacity:1;transform:none}
}

/* A real brand fallback for missing device/phase artwork files. */
.hero .hero-copy-art{min-height:40px}
.hero .hero-art-fallback{display:block;position:absolute;inset:auto 0;min-width:100%;
  text-align:center;font:700 clamp(14px,2vw,22px)/1.45 var(--font-ui);
  text-wrap:balance;color:#f3d181;text-shadow:0 2px 14px #021322}
.hero .hero-copy-art.has-title-art .hero-art-fallback{display:none}
.hero .hero-title-art:not([src]){visibility:hidden}
@media(max-width:760px){.hero .hero-art-fallback{font-size:14px}}

.hero .hero-title-art.is-art-unavailable{visibility:hidden;height:0}


/* v16.5.218 — static, lightweight 4-way occupancy calendar. No animated rings. */
#managerOccupancyDialog .manager-occupancy-cell{
  animation:none!important;transition:none!important;will-change:auto!important;
}
#managerOccupancyDialog .manager-occupancy-cell::before,
#managerOccupancyDialog .manager-occupancy-cell::after{animation:none!important;}
#managerOccupancyDialog .manager-occupancy-cell.is-booking,
#managerOccupancyDialog .manager-occupancy-cell.is-stay{
  background-image:none!important;box-shadow:none!important;
  border-width:1px;color:#fff6ee;gap:3px;
  transition:none!important;animation:none!important;
  transform:none!important;filter:none!important;
  padding:5px 3px;
}
#managerOccupancyDialog .manager-occupancy-cell.is-booking:not(.is-tour){background:#775027!important;border-color:#bb8952!important;color:#fff0d7!important}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-tour{background:#b75e14!important;border-color:#fca447!important;color:#fff5e7!important}
#managerOccupancyDialog .manager-occupancy-cell.is-stay:not(.is-tour){background:#972e46!important;border-color:#ef6b84!important;color:#fff0f2!important}
#managerOccupancyDialog .manager-occupancy-cell.is-stay.is-tour{background:#663191!important;border-color:#bb85f2!important;color:#f8ecff!important}
#managerOccupancyDialog .manager-occupancy-cell.is-stay::before,
#managerOccupancyDialog .manager-occupancy-cell.is-booking::before,
#managerOccupancyDialog .manager-occupancy-cell.has-partial-balance::after{content:none!important;display:none!important;animation:none!important}
#managerOccupancyDialog .manager-occupancy-cell:hover:not(:disabled),
#managerOccupancyDialog .manager-occupancy-cell:focus-visible{
  transform:none!important;filter:none!important;box-shadow:none!important;
  outline:2px solid rgba(255,255,255,.85)!important;outline-offset:-2px;
}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-guest{
  display:block;max-width:100%;font:800 11px/1.35 BYekan,Tahoma,sans-serif;
  padding:0 2px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status{
  display:block;font:700 10px/1.2 BYekan,Tahoma,sans-serif;
  white-space:nowrap;max-width:100%;text-align:center;
}
#managerOccupancyDialog .manager-occupancy-cell.is-stay,
#managerOccupancyDialog .manager-occupancy-cell.is-booking{min-height:55px}
#managerOccupancyDialog .manager-occupancy-cell.is-transfer-eligible{animation:none!important}
#managerOccupancyDialog .manager-occupancy-legend i.is-booking{background:#775027!important;border-color:#bb8952!important}
#managerOccupancyDialog .manager-occupancy-legend i.is-booking.is-tour{background:#b75e14!important;border-color:#fca447!important}
#managerOccupancyDialog .manager-occupancy-legend i.is-stay{background:#972e46!important;border-color:#ef6b84!important}
#managerOccupancyDialog .manager-occupancy-legend i.is-stay.is-tour{background:#663191!important;border-color:#bb85f2!important}
.manager-occupancy-tooltip:not(:popover-open):not([hidden]){position:fixed;z-index:10000;pointer-events:none;padding:10px 17px;border:1px solid rgba(243,205,95,.44);border-radius:13px;background:#0a2a3d;color:#f6d987;box-shadow:0 10px 24px #0008}
#managerOccupancyTourUnassign.is-unassign{background:#552638;border:1px solid #bb667e;color:#ffdde2}
.manager-occupancy-tour-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
.manager-occupancy-tour-actions button{padding-inline:6px}
@media(max-width:700px){
 #managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-guest{font-size:9px}
 #managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status{font-size:9px}
 .manager-occupancy-tour-actions{grid-template-columns:1fr 1fr}
 .manager-occupancy-tour-actions #managerOccupancyTourApply{grid-column:1/-1;grid-row:1}
}


/* v16.5.219 — accommodation cards & universal brand. Scoped: no calendar/tour bookkeeping changes. */
body.manager-body .manager-command-grid :is(button,span,strong,small),
body.manager-body .manager-stats :is(article,span,b,a),
body.manager-body .manager-room-card :is(h4,strong,span,small,b,button),
body.manager-body .manager-room-group-head :is(h3,span){font-family:BYekan,Tahoma,Arial,sans-serif!important}
body.manager-body .manager-room-card .room-meta-row .room-bed-badge{
  display:inline-flex;align-items:center;justify-content:center;min-height:28px;
  padding:4px 9px;border:1px solid;border-radius:9px;font-weight:700!important;
  white-space:nowrap;line-height:1.25;
}
body.manager-body .manager-room-card .room-meta-row .bed-capacity-2{color:#63dcff;border-color:#2c91bc;background:#0b658033}
body.manager-body .manager-room-card .room-meta-row .bed-capacity-3{color:#f0d36c;border-color:#b69132;background:#c8a13c20}
body.manager-body .manager-room-card .room-meta-row .bed-capacity-4plus{color:#e4adff;border-color:#ad67d5;background:#974cb924}
body.manager-body .manager-room-card .room-meta-row .bed-capacity-1{color:#6ce8b6;border-color:#2baf75;background:#19a97018}
body.manager-body .manager-room-card .room-progress-text{
  display:block;width:fit-content;max-width:100%;box-sizing:border-box;
  border:1px solid color-mix(in srgb,var(--state-color) 48%,transparent);
  background:color-mix(in srgb,var(--state-color) 9%,transparent);
  border-radius:10px;padding:5px 9px;margin:5px auto 7px;
  min-height:29px;line-height:1.45;white-space:normal
}
body.manager-body .manager-room-card .room-progress-track{height:7px}
body.manager-body .manager-room-card .room-progress-block{min-height:48px}
body.manager-body .manager-room-card .manager-room-quick-actions{
  position:absolute;top:9px;right:10px;left:auto;z-index:7;
  display:flex;align-items:center;gap:6px;direction:rtl;
}
body.manager-body .manager-room-card .manager-room-quick-actions .manager-room-lock-quick,
body.manager-body .manager-room-card .manager-room-quick-actions .manager-room-cleaning-quick{
  position:static;display:grid;place-items:center;width:31px;height:29px;padding:0;
  cursor:pointer;font-size:15px;line-height:1;border-radius:9px;
}
body.manager-body .manager-room-card .manager-room-quick-actions .manager-room-cleaning-quick{
  border:1px solid rgba(72,185,255,.62);background:rgba(24,117,176,.24);color:#83dfff;
}
body.manager-body .manager-room-card .manager-room-cleaning-quick:hover{background:#116b94a1;box-shadow:0 0 13px #28bbf83b}
body.manager-body .manager-room-card .manager-room-cleaning-quick:disabled{opacity:.48;cursor:not-allowed}
body.manager-body .manager-room-card .room-mini-action.tone-service{--action-color:#f0ae59;color:#ffdb9a}
body.manager-body .manager-room-card .manager-room-quick-actions button:focus-visible{outline:2px solid #ffe4a3;outline-offset:2px}
.manager-service-shortcut-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(500px,calc(100vw - 24px));max-height:min(90dvh,800px);overflow:auto;border:1px solid rgba(246,196,87,.32);border-radius:23px;padding:28px 22px 20px;color:#eff9ff;background:linear-gradient(140deg,#0c3145,#041622);box-shadow:0 28px 90px #0009;text-align:center;font-family:BYekan,Tahoma,sans-serif}
.manager-service-shortcut-dialog::backdrop{background:rgba(0,8,16,.75);backdrop-filter:blur(5px)}
.manager-service-shortcut-dialog h2{margin:8px 22px 8px;font-size:20px;line-height:1.65;text-align:center;color:#f8d16c}
.manager-service-shortcut-guest{color:#bfe9ed;margin:0 0 18px;font-size:13px}
.manager-service-shortcut-dialog form{display:grid;gap:12px;text-align:right}
.manager-service-shortcut-dialog label{display:grid;gap:6px;font-weight:700;font-size:13px}
.manager-service-shortcut-dialog input,.manager-service-shortcut-dialog textarea{box-sizing:border-box;width:100%;border:1px solid #2c6174;background:#071e30;border-radius:12px;min-height:46px;padding:10px 12px;color:#fff;outline:none;font:14px/1.5 BYekan,Tahoma,sans-serif}
.manager-service-shortcut-dialog :is(input,textarea):focus{border-color:#ebc356;box-shadow:0 0 0 2px #ebc35622}
.manager-service-shortcut-dialog .form-status{text-align:center;margin:0;min-height:18px}
.manager-service-shortcut-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:5px}
.manager-service-shortcut-actions button{font:700 13px BYekan,Tahoma,sans-serif;min-height:44px;border-radius:12px;cursor:pointer}
.manager-service-shortcut-actions button:first-child{background:#1b3544;color:#e2f1f4;border:1px solid #406270}
.manager-service-shortcut-actions button:disabled{opacity:.6;cursor:wait}
/* Double the artwork while leaving header controls and their hit targets unchanged. */
.dashboard-header-brand-link .dashboard-header-brand,
.dashboard-header-logo img{transform:scale(2);transform-origin:center center}
@media(min-width:761px){
 body::after{
  content:"";position:fixed;z-index:65;pointer-events:none;
  right:max(18px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 20px));
  width:96px;height:96px;background:url('../icons/icon.png') center/contain no-repeat;
  filter:drop-shadow(0 5px 14px rgba(244,192,65,.23));
  animation:babaCornerIconOrbit 13s linear infinite;transform-origin:50% 50%;
 }
}
@keyframes babaCornerIconOrbit{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body::after{animation-duration:48s}}


/* v16.5.220 - One-screen mobile occupancy detail and safe transfer flow. */
#managerOccupancyDialog .manager-occupancy-transfer-banner{
  display:flex;align-items:center;justify-content:center;gap:10px;max-width:100%;
  flex-wrap:wrap;text-align:center;font-family:BYekan,Tahoma,sans-serif;
}
#managerOccupancyDialog .manager-occupancy-transfer-banner:has([hidden]){display:none}
#managerOccupancyDialog .manager-occupancy-transfer-banner span:not([hidden]){
  font:700 12px/1.6 BYekan,Tahoma,sans-serif;color:#fff0b9;
  background:#1a3e56;border:1px solid #b99a56;padding:5px 10px;border-radius:11px;
}
#managerOccupancyDialog #managerOccupancyTransferAbort:not([hidden]){
  border-radius:10px;background:#662e45;color:#ffe4ec;border:1px solid #d47893;
  padding:7px 11px;font:700 12px BYekan,Tahoma,sans-serif;cursor:pointer;
}
#managerOccupancyDialog .manager-occupancy-cell.is-transfer-eligible{
  outline:2px solid #b9afff!important;outline-offset:-2px;
  background:linear-gradient(160deg,#214f65,#17455d)!important;color:#e2daff!important;
  border-color:#b9afff!important;box-shadow:inset 0 0 0 1px #bba4ff44!important;
  cursor:pointer;animation:none!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-transfer-eligible .manager-occupancy-status{color:#eee1ff}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions{flex:0 1 auto;min-width:0;gap:6px}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(.manager-occupancy-detail-ops,.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour):not([hidden]){
  width:auto!important;max-width:none!important;flex:0 0 auto!important;white-space:nowrap!important;
  display:inline-flex;align-items:center;justify-content:center;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-ops:not([hidden]){
  border-color:#3f9bbb!important;background:linear-gradient(135deg,#174761,#0e364f)!important;
  color:#edfaff!important;padding-inline:12px!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-tour:not([hidden]){padding-inline:15px!important}
.manager-occupancy-tooltip:popover-open,.manager-occupancy-tooltip:not([hidden]){
  width:max-content;max-width:min(330px,calc(100vw - 24px));max-height:min(300px,65dvh);
  box-sizing:border-box;overflow:hidden;border-radius:15px;
}
.manager-occupancy-tooltip-line{margin:3px 0;font:15px/1.65 BYekan,Tahoma,sans-serif;color:#d6e7ee;text-align:center}
.manager-occupancy-tooltip-line.is-title{font:800 19px/1.5 BYekan,Tahoma,sans-serif;color:#fbe39a}
.manager-occupancy-tooltip-line:is(.is-tour-title,.is-tour-leader){
  display:block;margin:6px auto;padding:5px 9px;width:fit-content;max-width:100%;
  border:1px solid #b5a05a77;border-radius:9px;background:#213b4b;color:#f8dc9f;
  white-space:normal;overflow-wrap:anywhere;
}
.manager-occupancy-tooltip-line.is-tour-title{border-color:#dc9b54;background:#69452288;color:#ffe3a8}
.manager-occupancy-tooltip-line.is-tour-leader{border-color:#ab86df;background:#4a366b88;color:#eee0ff}
.manager-occupancy-tooltip-line.is-finance{font-size:13px;color:#9ff0c9}
@media(max-width:760px){
 #managerOccupancyDetailDialog.manager-occupancy-detail-dialog{
   max-height:95dvh!important;width:calc(100vw - 18px)!important;
   padding:8px 10px 10px!important;overflow-y:auto;
 }
 #managerOccupancyDetailDialog .manager-occupancy-detail-topbar{min-height:35px;gap:4px;margin-bottom:1px}
 #managerOccupancyDetailDialog .manager-occupancy-detail-topactions{gap:5px;flex-wrap:nowrap!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(.manager-occupancy-detail-ops,.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour):not([hidden]){
   height:34px!important;min-height:34px!important;padding:5px 8px!important;
   font:700 11px/1.2 BYekan,Tahoma,sans-serif!important;border-radius:10px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-detail-topbar #managerOccupancyDetailClose{
   flex:0 0 36px!important;width:36px!important;min-width:36px!important;
   height:36px!important;min-height:36px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-detail-head{padding:0 6px 5px!important;margin:0!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-head h2{font:800 20px/1.25 BYekan,Tahoma,sans-serif!important;margin:1px 0!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-head>span{margin:0!important;font-size:12px!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-head p{font-size:11px!important;line-height:1.3!important;margin:0!important}
 #managerOccupancyDetailDialog .manager-occupancy-edit-form{gap:3px!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   gap:5px!important;margin-top:4px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta{
   min-height:0!important;height:auto!important;box-sizing:border-box;
   padding:5px 7px!important;gap:3px!important;border-radius:12px!important;min-width:0!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta>span{
   font:500 12px/1.25 BYekan,Tahoma,sans-serif!important;white-space:nowrap;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta input{
   height:36px!important;min-height:36px!important;padding:5px 7px!important;
   font-size:17px!important;line-height:1.3!important;border-radius:10px!important;min-width:0!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-date .jalali-date-field{
   min-height:36px!important;height:36px!important;padding:4px 6px!important;
   border-radius:10px!important;font-size:14px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-total,
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-paid{
   grid-column:auto!important;grid-row:auto!important;height:auto!important;min-height:0!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-total .manager-occ-auto-price{
   margin:1px 0 0!important;padding:3px 4px!important;font-size:10px!important;
   line-height:1.2!important;min-height:24px!important;border-radius:8px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-money-input{min-width:0!important;width:100%!important}
 #managerOccupancyDetailDialog .manager-occupancy-money-input input{width:100%!important;min-width:0!important}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-remaining{
   grid-column:1/-1!important;display:flex!important;flex-direction:row!important;
   align-items:center!important;justify-content:space-between!important;min-height:47px!important;
   padding:5px 12px!important;gap:8px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-remaining strong.manager-occupancy-money{
   display:inline-block!important;min-height:0!important;width:auto!important;
   white-space:nowrap!important;text-align:left!important;font-size:23px!important;
 }
 #managerOccupancyDetailDialog .manager-occupancy-note-field{display:flex!important;align-items:center!important;gap:7px!important;min-width:0}
 #managerOccupancyDetailDialog .manager-occupancy-note-field span{font-size:12px!important;flex:0 0 auto}
 #managerOccupancyDetailDialog .manager-occupancy-note-field input{flex:1;min-width:0;height:35px!important;min-height:35px!important;font-size:14px!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-actions{margin-top:5px!important;gap:7px!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-actions button{min-height:38px!important;font-size:12px!important}
 #managerOccupancyDialog .manager-occupancy-transfer-banner{gap:5px}
 #managerOccupancyDialog .manager-occupancy-transfer-banner span:not([hidden]){font-size:10px;padding:4px 7px}
 .manager-occupancy-tooltip:popover-open,.manager-occupancy-tooltip:not([hidden]){max-width:min(270px,90vw);max-height:200px}
 .manager-occupancy-tooltip-line{font-size:12px}
 .manager-occupancy-tooltip-line.is-title{font-size:15px}
}
@media(max-width:380px){
 #managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(.manager-occupancy-detail-ops,.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour):not([hidden]){padding-inline:6px!important;font-size:10px!important}
 #managerOccupancyDetailDialog .manager-occupancy-meta>span{font-size:11px!important}
 #managerOccupancyDetailDialog .manager-occupancy-meta.is-remaining strong.manager-occupancy-money{font-size:19px!important}
}
@media(max-height:670px) and (max-width:760px){
 #managerOccupancyDetailDialog .manager-occupancy-meta input,#managerOccupancyDetailDialog .manager-occupancy-meta.is-date .jalali-date-field{height:32px!important;min-height:32px!important}
 #managerOccupancyDetailDialog .manager-occupancy-meta{padding:4px 6px!important}
 #managerOccupancyDetailDialog .manager-occupancy-detail-head h2{font-size:18px!important}
}


/* 16.5.221 — transfer first opens the calendar; balanced controls, centered details,
   compact price and note fields, fixed-height bed labels. */
#managerOccupancyDetailDialog.manager-occupancy-detail-dialog[open]{
  position:fixed!important;inset:0!important;margin:auto!important;transform:none!important;
  box-sizing:border-box;max-width:calc(100vw - 20px);max-height:min(94dvh,850px);
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(#managerOccupancyDetailTour,#managerOccupancyDetailTransfer):not([hidden]){
  box-sizing:border-box!important;width:74px!important;min-width:74px!important;
  max-width:74px!important;flex:0 0 74px!important;min-height:40px!important;
  padding:4px 5px!important;text-align:center!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions #managerOccupancyDetailDelete:not([hidden]){
  box-sizing:border-box!important;display:inline-grid!important;place-items:center!important;
  min-width:40px!important;width:40px!important;height:40px!important;min-height:40px!important;
  padding:5px!important;flex:0 0 40px!important;
}
#managerOccupancyDetailDialog #managerOccupancyDetailDelete svg{display:block;width:21px;height:21px;pointer-events:none}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls{margin-left:auto;flex:0 0 auto}
#managerOccupancyDetailDialog .manager-occupancy-note-field{display:block!important;width:100%;margin-top:3px}
#managerOccupancyDetailDialog .manager-occupancy-note-field input{
  box-sizing:border-box;width:100%!important;min-height:40px!important;
  font:15px/1.45 BYekan,Tahoma,sans-serif!important;
  text-align:right;direction:rtl;padding:7px 14px;
  border-radius:13px;
}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-total .manager-occ-auto-price{display:none!important}
#managerOccupancyDialog .manager-occupancy-room{
  height:55px!important;min-height:55px!important;max-height:55px!important;
  display:flex!important;flex-direction:column!important;align-items:center;justify-content:center;
  gap:2px!important;overflow:hidden;
}
#managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{
  display:block!important;white-space:nowrap!important;font:600 11px/1.15 BYekan,Tahoma,sans-serif!important;
  color:#e8d5a7!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;
}
#managerOccupancyDialog .manager-occupancy-cell.is-transfer-eligible{
  background:linear-gradient(145deg,#155644,#104f41)!important;border-color:#64dcb0!important;
  color:#a5ffe1!important;outline:1px solid #69dcb022!important;animation:none!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-transfer-eligible .manager-occupancy-status{color:#b1ffe3}
@media(max-width:700px){
  #managerOccupancyDetailDialog .manager-occupancy-detail-topactions{gap:5px!important}
  #managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(#managerOccupancyDetailTour,#managerOccupancyDetailTransfer):not([hidden]){
    width:57px!important;min-width:57px!important;max-width:57px!important;flex:0 0 57px!important;
    min-height:36px!important;height:36px!important;font-size:12px!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-detail-topactions #managerOccupancyDetailDelete:not([hidden]){
    min-width:36px!important;width:36px!important;height:36px!important;min-height:36px!important;flex:0 0 36px!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-note-field input{min-height:35px!important;height:35px!important}
  #managerOccupancyDialog .manager-occupancy-room{height:52px!important;min-height:52px!important;max-height:52px!important}
  #managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{font-size:10px!important}
}

/* 16.5.222 — readable four-status cells and GPU-cheap, hover-only microinteractions.
   Remove costly always-running pseudo-element animations on large grid. */
#managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay){
  transition:transform 145ms ease-out,filter 145ms ease-out,border-color 145ms ease-out!important;
  contain:paint;box-shadow:none!important;backface-visibility:hidden;
}
#managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay):is(:hover,:focus-visible){
  transform:translate3d(0,-2px,0)!important;filter:brightness(1.13)!important;
  border-color:#fff2b8!important;box-shadow:none!important;
}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{
  display:block!important;font:900 clamp(15px,1.8vw,20px)/1.1 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;white-space:nowrap;letter-spacing:0;overflow:visible;
}
@media(max-width:700px){#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{font-size:15px!important}}
@media(prefers-reduced-motion:reduce){#managerOccupancyDialog .manager-occupancy-cell{transition:none!important;transform:none!important}}
.manager-occupancy-tooltip:popover-open,.manager-occupancy-tooltip:not([hidden]){
  pointer-events:none;max-width:min(310px,calc(100vw - 22px));min-width:190px;
  max-height:min(380px,68vh);overflow-y:auto;padding:9px 11px;
}
.manager-occupancy-tooltip-line{display:block!important;width:100%;box-sizing:border-box;
  border:1px solid #4b6b764d;border-radius:8px;padding:5px 8px;margin:3px 0!important;
  background:#092235;text-align:center;line-height:1.5;}
.manager-occupancy-tooltip-line.is-tour-title,
.manager-occupancy-tooltip-line.is-tour-dates{font:700 12px/1.45 BYekan,Tahoma,sans-serif;
  color:#ffdc9c;background:#553a2688;border-color:#c3965988;overflow-wrap:anywhere}
.manager-occupancy-tooltip-line.is-tour-dates{background:#18395a;border-color:#3f709b;white-space:nowrap;font-size:11px}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-extra .manager-occupancy-extra-inner{
  display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-width:0;}
#managerOccupancyDetailDialog .manager-occupancy-extra-inner input[type=checkbox]{
  width:22px!important;height:22px!important;min-height:22px!important;flex:0 0 22px;accent-color:#f2c669;cursor:pointer}
#managerOccupancyDetailDialog .manager-occupancy-extra-inner input[name=extra_guest_count]{
  width:60px!important;min-width:0!important;flex:1;max-width:100px;padding:3px 5px;text-align:center}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-guests input[name=standard_guest_count]{max-width:100px;margin:auto}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-rate{grid-column:1/-1}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-rate input{font-size:18px;color:#ffdc97;font-weight:900}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-total input[readonly]{color:#ff987a!important;border-color:#c65c45!important;background:#401f253b!important;font-weight:900}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-paid input{color:#64eab0!important;border-color:#33976a!important}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-remaining strong{color:#ff91b4!important}
.manager-service-history{border-top:1px solid #476779;padding-top:9px;min-width:0}
.manager-service-history h3{font:800 14px BYekan,Tahoma,sans-serif;text-align:center;color:#f3ce7c;margin:3px 0 9px}
.manager-service-history-list{display:grid;gap:6px;max-height:190px;overflow:auto;overscroll-behavior:contain}
.manager-service-history-list>p{color:#b0cdda;text-align:center;font-size:12px;margin:3px}
.manager-service-history-row{display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:4px 7px;align-items:center;
 padding:8px;border-radius:10px;border:1px solid #2d5d70;background:#081d2d;font-size:12px}
.manager-service-history-row span{color:#b8d0df;text-align:center}
.manager-service-history-row strong{overflow-wrap:anywhere;color:#f4f6ff}
.manager-service-history-row b{color:#69e5b4;white-space:nowrap;font-size:11px}
.manager-service-history-row small{grid-column:2/-1;color:#99b7c5;font-size:11px}

/* Occupies the original guest-count slot, split into two half-width controls. */
#managerOccupancyDetailDialog .manager-occupancy-guest-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;min-width:0;align-items:stretch}
#managerOccupancyDetailDialog .manager-occupancy-guest-split .manager-occupancy-meta{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;gap:3px}
#managerOccupancyDetailDialog .manager-occupancy-guest-split .manager-occupancy-meta>span:first-child{font-size:10px!important;white-space:normal;text-align:center;line-height:1.25}
#managerOccupancyDetailDialog .manager-occupancy-guest-split .manager-occupancy-meta input[name=standard_guest_count]{width:90%!important;text-align:center;font-size:14px!important}
#managerOccupancyDetailDialog .manager-occupancy-guest-split .manager-occupancy-extra-inner{gap:2px!important}
#managerOccupancyDetailDialog .manager-occupancy-guest-split .manager-occupancy-extra-inner input[type=checkbox]{width:17px!important;height:17px!important;min-height:17px!important;flex:0 0 17px!important}
#managerOccupancyDetailDialog .manager-occupancy-guest-split input[name=extra_guest_count]{font-size:14px!important;width:40px!important;max-width:55px!important}
@media(max-width:390px){#managerOccupancyDetailDialog .manager-occupancy-guest-split{gap:3px}#managerOccupancyDetailDialog .manager-occupancy-guest-split .manager-occupancy-meta{padding:3px!important}}

/* v222 occupancy tap feedback, 2x label sizing without permanent animations. */
#managerOccupancyDialog .manager-occupancy-cell.is-stay:active,#managerOccupancyDialog .manager-occupancy-cell.is-booking:active{transform:scale(.96)!important;transition:transform 90ms ease-out!important}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{font-size:21px!important;white-space:normal!important;overflow-wrap:normal;line-height:1.1!important;padding:0 1px}
@media(max-width:700px){#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{font-size:18px!important}}
/* Financial boxes: clear visual separation without heavy gradients or paint effects. */
#managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-total{border:1px solid #b86945!important;background:#46282055!important}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-paid{border:1px solid #389b75!important;background:#103b3055!important}
#managerOccupancyDetailDialog .manager-occupancy-meta.is-money.is-remaining{border:1px solid #c66a95!important;background:#491e3555!important}

/* ===== v16.5.223 — monthly occupancy calendar / detail pricing layout / lightweight hover ===== */
#managerOccupancyDialog.manager-occupancy-dialog{width:min(99vw,1880px);max-width:min(99vw,1880px)}
#managerOccupancyDialog .manager-occupancy-shell{width:100%;max-width:none;min-height:min(94dvh,980px)}
#managerOccupancyDialog .manager-occupancy-head--compact{padding-bottom:10px}
#managerOccupancyDialog .manager-occupancy-topbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
#managerOccupancyDialog .manager-occupancy-paging{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
#managerOccupancyDialog .manager-occupancy-paging button{min-height:38px;padding:8px 14px;border-radius:14px;display:inline-flex;align-items:center;gap:8px}
#managerOccupancyDialog #managerOccupancyRange{justify-self:end;font-size:22px;line-height:1.2;color:#f2d579}
#managerOccupancyDialog #managerOccupancyToday{min-width:112px;font-weight:900}
#managerOccupancyDialog .manager-occupancy-info-toggle{position:relative;min-width:42px;width:42px;padding:0;justify-content:center}
#managerOccupancyDialog .manager-occupancy-info-toggle span{font-weight:900;font-size:18px}
#managerOccupancyDialog .manager-occupancy-info-toggle em{width:10px;height:10px;border-radius:999px;background:#68818a;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.12) inset}
#managerOccupancyDialog .manager-occupancy-info-toggle.is-active em{background:#49e0a7;box-shadow:0 0 12px rgba(73,224,167,.55)}
#managerOccupancyDialog .manager-occupancy-scroll{max-height:calc(94dvh - 230px);overflow:auto}
#managerOccupancyDialog .manager-occupancy-grid{grid-auto-rows:minmax(46px,auto);column-gap:4px;row-gap:5px;padding:10px}
#managerOccupancyDialog .manager-occupancy-date{min-height:56px;padding:4px 2px;border-radius:12px}
#managerOccupancyDialog .manager-occupancy-date b{font-size:15px}
#managerOccupancyDialog .manager-occupancy-date small{font-size:10px}
#managerOccupancyDialog .manager-occupancy-date em{font-size:9px}
#managerOccupancyDialog .manager-occupancy-date.is-today{border-color:#3ee2a1;box-shadow:inset 0 0 0 1px rgba(62,226,161,.35),0 0 0 1px rgba(62,226,161,.2),0 0 20px rgba(62,226,161,.14)}
#managerOccupancyDialog .manager-occupancy-room{min-height:50px;padding:7px 8px}
#managerOccupancyDialog .manager-occupancy-room strong{font-size:18px;line-height:1.1}
#managerOccupancyDialog .manager-occupancy-room small{font-size:11px}
#managerOccupancyDialog .manager-occupancy-cell{min-height:50px;padding:4px 3px;transition:transform .14s ease, box-shadow .18s ease, border-color .18s ease, filter .18s ease}
#managerOccupancyDialog .manager-occupancy-cell:hover{transform:translateY(-1px);filter:brightness(1.03)}
#managerOccupancyDialog .manager-occupancy-cell::after{content:'';position:absolute;inset:-1px;border-radius:12px;pointer-events:none;box-shadow:0 0 0 0 rgba(85,232,235,0);transition:box-shadow .18s ease, border-color .18s ease}
#managerOccupancyDialog .manager-occupancy-cell:hover::after{box-shadow:0 0 0 1px rgba(85,232,235,.2),0 0 14px rgba(85,232,235,.12)}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{font-size:16px;line-height:1.12;font-weight:900}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status{font-size:11px;line-height:1.08}
#managerOccupancyDialog .manager-occupancy-cell.is-booking .manager-occupancy-status.is-primary,
#managerOccupancyDialog .manager-occupancy-cell.is-stay .manager-occupancy-status.is-primary{font-size:14px}
#managerOccupancyDialog .manager-occupancy-cell.is-history{background:linear-gradient(145deg,rgba(172,105,196,.26),rgba(226,136,193,.22));border-color:rgba(241,164,220,.28)}
#managerOccupancyDialog .manager-occupancy-cell.is-history.is-tour{background:linear-gradient(145deg,rgba(155,125,232,.34),rgba(205,171,255,.28));border-color:rgba(220,193,255,.32)}
#managerOccupancyDialog .manager-occupancy-cell .is-history-name{font-size:13px;line-height:1.15;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding:0 1px}
#managerOccupancyDialog .manager-occupancy-cell.is-empty .manager-occupancy-status{font-size:13px;font-weight:800}
#managerOccupancyDialog .manager-occupancy-tooltip{max-width:min(360px,34vw);text-align:center;padding:12px 16px;font-size:25px;line-height:1.32}
#managerOccupancyDialog .manager-occupancy-tooltip > *{text-align:center}
#managerOccupancyDialog .manager-occupancy-legend--glassy{flex-wrap:wrap;gap:12px 16px}
#managerOccupancyDialog .manager-occupancy-legend--glassy .is-history{background:#e58bc7}
#managerOccupancyDialog .manager-occupancy-legend--glassy .is-history.is-tour{background:#b797f5}

#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row{grid-column:2/span 1;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-self:stretch}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-meta{height:100%}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-meta span{font-size:14px}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row input{font-size:24px;text-align:center}
#managerOccupancyDetailDialog .manager-occupancy-extra-inner{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:8px}
#managerOccupancyDetailDialog .manager-occupancy-finance-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta{min-height:118px}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta span{font-size:14px}
#managerOccupancyDetailDialog .manager-occupancy-finance-row input,
#managerOccupancyDetailDialog .manager-occupancy-finance-row strong{font-size:27px;line-height:1.25;text-align:center}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-rate{order:1}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-total{order:2;border-color:rgba(247,118,81,.4)}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-total input{color:#ff966f}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-paid{order:3;border-color:rgba(89,236,170,.34)}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-paid input{color:#6cf1ba}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-remaining{order:4;border-color:rgba(238,140,199,.34)}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-remaining strong{color:#ff92ca}
#managerOccupancyDetailDialog .manager-occupancy-note-field input{width:100%;border:1px solid rgba(99,169,195,.25);border-radius:14px;background:rgba(9,32,45,.88);color:#f7fbff;padding:11px 12px;font:20px/1.5 BMitra,BYekan,sans-serif;box-sizing:border-box}

@media (max-width:1100px){
  #managerOccupancyDialog .manager-occupancy-topbar{grid-template-columns:1fr;justify-items:center}
  #managerOccupancyDialog #managerOccupancyRange{justify-self:center}
  #managerOccupancyDialog .manager-occupancy-tooltip{max-width:min(360px,88vw)}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  #managerOccupancyDetailDialog .manager-occupancy-capacity-row{grid-column:1/-1}
}
@media (max-width:760px){
  #managerOccupancyDialog .manager-occupancy-grid{padding:8px;column-gap:3px;row-gap:4px}
  #managerOccupancyDialog .manager-occupancy-date{min-height:52px}
  #managerOccupancyDialog .manager-occupancy-cell{min-height:46px}
  #managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{font-size:12px}
  #managerOccupancyDialog .manager-occupancy-cell .is-history-name{font-size:11px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form,
  #managerOccupancyDetailDialog .manager-occupancy-finance-row{grid-template-columns:1fr}
  #managerOccupancyDetailDialog .manager-occupancy-capacity-row{grid-template-columns:1fr 1fr;grid-column:1/-1}
}

/* ===== v16.5.224 — Monthly calendar: single exact row of days, no 15-column legacy grid ===== */
#managerOccupancyDialog.manager-occupancy-dialog{
  width:calc(100vw - 24px)!important;
  max-width:calc(100vw - 24px)!important;
  height:min(97dvh,1100px)!important;
  max-height:97dvh!important;
  margin:auto!important;
  padding:0!important;
}
#managerOccupancyDialog .manager-occupancy-shell{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:100%!important;
  padding:12px 14px 11px!important;
  gap:8px!important;
}
#managerOccupancyDialog .manager-occupancy-topbar{
  direction:rtl!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  min-width:0!important;
  min-height:40px!important;
  padding:0 4px!important;
}
#managerOccupancyDialog #managerOccupancyRange{display:none!important}
#managerOccupancyDialog .manager-occupancy-paging{
  direction:rtl!important;
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:auto!important;
  grid-area:auto!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  flex-wrap:nowrap!important;
  margin:0!important;
}
#managerOccupancyDialog .manager-occupancy-paging .manager-occupancy-nav{
  display:grid!important;
  place-items:center!important;
  width:35px!important;
  min-width:35px!important;
  max-width:35px!important;
  height:35px!important;
  min-height:35px!important;
  flex:0 0 35px!important;
  padding:0!important;
  margin:0!important;
  color:#f0c96a!important;
  border:1px solid rgba(241,199,109,.22)!important;
  border-radius:10px!important;
  background:rgba(245,207,105,.05)!important;
  box-shadow:none!important;
}
#managerOccupancyDialog .manager-occupancy-paging .manager-occupancy-nav span{
  font:900 29px/1 Arial,sans-serif!important;
  display:block!important;
  margin:0!important;
  transform:none!important;
}
#managerOccupancyDialog #managerOccupancyToday{
  min-width:102px!important;
  max-width:150px!important;
  height:35px!important;
  min-height:35px!important;
  padding:3px 12px!important;
  margin:0!important;
  border-radius:10px!important;
  font:800 14px/1.3 BYekan,Tahoma,sans-serif!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
}
#managerOccupancyDialog #managerOccupancyInfoToggle{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:35px!important;
  min-height:35px!important;
  padding:0 5px!important;
  gap:4px!important;
  border-radius:10px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:4!important;
}
#managerOccupancyDialog #managerOccupancyInfoToggle span{font:900 18px Arial,sans-serif!important}
#managerOccupancyDialog #managerOccupancyInfoToggle em{
  display:block!important;
  flex:0 0 9px!important;
  width:9px!important;
  height:9px!important;
  background:#778c94!important;
  box-shadow:none!important;
  opacity:1!important;
}
#managerOccupancyDialog #managerOccupancyInfoToggle.is-active em{
  background:#4df4ae!important;
  box-shadow:0 0 9px rgba(77,244,174,.75)!important;
}
#managerOccupancyDialog .manager-occupancy-heading{margin:0!important;min-height:43px!important}
#managerOccupancyDialog .manager-occupancy-scroll{
  flex:1 1 auto!important;
  min-height:0!important;
  min-width:0!important;
  width:100%!important;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:auto!important;
  scrollbar-width:thin;
}
#managerOccupancyDialog #managerOccupancyGrid.manager-occupancy-grid{
  display:grid!important;
  direction:rtl!important;
  box-sizing:border-box!important;
  grid-template-columns:var(--occ-room-width, 110px) repeat(var(--occupancy-day-count,30),minmax(0,1fr))!important;
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  grid-auto-flow:row!important;
  grid-auto-rows:minmax(46px,auto)!important;
  column-gap:3px!important;
  row-gap:4px!important;
  padding:7px!important;
  align-content:start!important;
  align-items:stretch!important;
  --occ-room-width:110px;
}
#managerOccupancyDialog .manager-occupancy-group{
  grid-column:1/-1!important;
  min-height:35px!important;
  padding:5px 9px!important;
  margin:0!important;
}
#managerOccupancyDialog .manager-occupancy-date,
#managerOccupancyDialog .manager-occupancy-room,
#managerOccupancyDialog .manager-occupancy-cell{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  position:relative;
}
#managerOccupancyDialog .manager-occupancy-date{min-height:49px!important;height:49px!important;padding:3px 1px!important;gap:2px!important}
#managerOccupancyDialog .manager-occupancy-date b{font-size:12px!important}
#managerOccupancyDialog .manager-occupancy-date small{font:700 8px/1.2 BYekan,Tahoma,sans-serif!important;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap!important}
#managerOccupancyDialog .manager-occupancy-date.is-today{
  z-index:4!important;
  border:1.5px solid #4ef6b3!important;
  background:#145344!important;
  color:#fff6b0!important;
  box-shadow:0 0 0 1px rgba(95,239,176,.32),0 0 12px rgba(95,239,176,.3)!important;
}
#managerOccupancyDialog .manager-occupancy-date.is-unit-heading{position:sticky!important;right:0!important;z-index:6!important;font-size:13px!important}
#managerOccupancyDialog .manager-occupancy-room{
  position:sticky!important;
  right:0!important;
  z-index:5!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  height:44px!important;
  max-height:44px!important;
  gap:1px!important;
  padding:2px 3px!important;
  border-radius:8px!important;
}
#managerOccupancyDialog .manager-occupancy-room strong{
  font:800 12px/1.16 BYekan,Tahoma,sans-serif!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{
  font:700 9px/1.16 BYekan,Tahoma,sans-serif!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#managerOccupancyDialog .manager-occupancy-cell{
  min-height:44px!important;
  height:44px!important;
  max-height:44px!important;
  gap:1px!important;
  padding:2px 0!important;
  border-radius:7px!important;
  transition:filter 140ms ease,border-color 140ms ease,transform 140ms ease!important;
  overflow:hidden!important;
}
#managerOccupancyDialog .manager-occupancy-cell:is(.is-stay,.is-booking,.is-history):before{
  animation:none!important;
  display:none!important;
}
#managerOccupancyDialog .manager-occupancy-cell:is(:hover,:focus-visible){
  transform:translateY(-1px)!important;
  filter:brightness(1.14)!important;
  border-color:rgba(255,234,177,.65)!important;
}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{
  display:block!important;
  max-width:100%!important;
  padding:0 1px!important;
  font:800 clamp(8px,.72vw,11px)/1.18 BYekan,Tahoma,sans-serif!important;
  white-space:normal!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-align:center!important;
}
#managerOccupancyDialog .manager-occupancy-cell .is-history-name{font-size:9px!important;line-height:1.17!important}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-glyph{font-size:13px!important}
#managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status:not(.is-primary){font-size:9px!important}
#managerOccupancyDialog .manager-occupancy-tooltip-line.is-tour-leader{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:4px 0!important;
  text-align:center!important;
  border-color:rgba(190,153,247,.65)!important;
  background:rgba(88,55,133,.75)!important;
  color:#f8eaff!important;
}
.manager-occupancy-tooltip-line.is-tour-title,.manager-occupancy-tooltip-line.is-tour-dates{display:none!important}
.manager-occupancy-tooltip-line{min-width:0!important;text-align:center!important}
.manager-occupancy-tooltip:popover-open,.manager-occupancy-tooltip:not([hidden]){
  text-align:center!important;
  max-height:min(70vh,540px)!important;
  overflow:auto!important;
}

/* Four financial figures must occupy one row in the desktop form. */
@media(min-width:760px){
  #managerOccupancyDetailDialog .manager-occupancy-finance-row{
    display:grid!important;
    direction:rtl!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    width:100%!important;
    gap:8px!important;
    align-items:stretch!important;
  }
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta{
  grid-column:auto!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
  min-height:90px!important;
  height:auto!important;
  padding:8px 6px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta>span:first-child{
  font:700 12px/1.3 BYekan,Tahoma,sans-serif!important;
  white-space:nowrap!important;
  max-width:100%!important;
  text-align:center!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row input,
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-money,
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-money-input{
  min-width:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:37px!important;
  height:auto!important;
  font:900 clamp(14px,1.4vw,23px)/1.35 BMitra,BYekan,sans-serif!important;
  text-align:center!important;
  box-sizing:border-box!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-remaining{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 6px!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-remaining .manager-occupancy-money{
  display:flex!important;justify-content:center!important;align-items:center!important;
  font-size:clamp(14px,1.4vw,23px)!important;white-space:nowrap!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row{
  grid-column:2!important;
  grid-row:auto!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:6px!important;
  align-items:stretch!important;
  min-width:0!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-meta{
  grid-column:auto!important;
  grid-row:auto!important;
  position:static!important;
  min-width:0!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  padding:6px 4px!important;
  justify-content:center!important;
  align-items:center!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-meta>span:first-child{font-size:12px!important}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row input[name=standard_guest_count],
#managerOccupancyDetailDialog .manager-occupancy-capacity-row input[name=extra_guest_count]{font-size:20px!important;min-height:38px!important}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-extra-inner{
  width:100%!important;display:flex!important;flex-direction:row!important;
  justify-content:center!important;align-items:center!important;gap:5px!important;
}
@media(max-width:1150px){
  #managerOccupancyDialog #managerOccupancyGrid.manager-occupancy-grid{
    min-width:1240px!important;
  }
}
@media(max-width:759px){
  #managerOccupancyDialog.manager-occupancy-dialog{width:calc(100vw - 10px)!important;max-width:calc(100vw - 10px)!important}
  #managerOccupancyDialog .manager-occupancy-shell{padding:10px 7px!important}
  #managerOccupancyDialog .manager-occupancy-paging{gap:3px!important}
  #managerOccupancyDialog #managerOccupancyToday{min-width:75px!important;font-size:12px!important}
  #managerOccupancyDialog .manager-occupancy-heading h2{font-size:18px!important}
  #managerOccupancyDialog #managerOccupancyGrid.manager-occupancy-grid{min-width:1240px!important;--occ-room-width:94px}
  #managerOccupancyDetailDialog .manager-occupancy-capacity-row{grid-column:1/-1!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta>span:first-child{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
  #managerOccupancyDialog .manager-occupancy-cell{transition:none!important;transform:none!important}
}
/* v224 phone: preserve four financial cards as a stable 2×2 grid without a full-width remainder. */
@media(max-width:759px){
  #managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta,
  #managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta.is-remaining{
    grid-column:auto!important;grid-row:auto!important;
    width:100%!important;min-width:0!important;max-width:none!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta.is-remaining .manager-occupancy-money{width:100%!important;text-align:center!important}
}

/* ===== v16.5.225 — unified per-person finance cards for booking/editing ===== */
/* Editing modal: wider desktop, legible BYekan numerals, controls kept apart. */
@media(min-width:1000px){
  html body.manager-body #managerOccupancyDetailDialog.manager-occupancy-detail-dialog[open]{
    width:min(1130px,calc(100vw - 46px))!important;
    max-width:calc(100vw - 46px)!important;
    max-height:min(92dvh,970px)!important;
    padding:19px 25px 20px!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-meta>span:first-child{font-size:16px!important}
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form .manager-occupancy-meta{min-height:84px!important}
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form input{font-size:21px!important;min-height:43px!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta{min-height:113px!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row input,
  #managerOccupancyDetailDialog .manager-occupancy-finance-row output{font-size:clamp(19px,1.65vw,27px)!important}
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar{
  display:flex!important;flex-direction:row!important;direction:ltr!important;
  justify-content:space-between!important;align-items:center!important;gap:10px!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls{
  display:flex!important;direction:rtl!important;flex-direction:row!important;
  justify-content:flex-start!important;align-items:center!important;gap:8px!important;
  flex:none!important;position:static!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls #managerOccupancyDetailClose{
  order:0!important;position:static!important;inset:auto!important;margin:0!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls #managerOccupancyDetailDelete:not([hidden]){
  order:1!important;position:static!important;inset:auto!important;transform:none!important;
  margin:0!important;width:41px!important;min-width:41px!important;height:40px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions{
  flex:1 1 auto!important;min-width:0!important;justify-content:flex-start!important;direction:ltr!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;gap:10px!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-column:auto!important;grid-row:auto!important;gap:10px!important;
  max-width:470px!important;width:min(100%,470px)!important;min-width:0!important;
  margin:12px auto!important;align-items:stretch!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row{
  display:grid!important;direction:ltr!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;margin-top:5px!important;align-items:stretch!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta{
  direction:rtl!important;order:initial!important;grid-column:auto!important;
  min-width:0!important;max-width:none!important;width:100%!important;
  box-sizing:border-box!important;padding:11px 9px!important;text-align:center!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row input,
#managerOccupancyDetailDialog .manager-occupancy-finance-row output,
#managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-money{
  font-family:BYekan,Tahoma,sans-serif!important;font-weight:900!important;
  font-variant-numeric:tabular-nums!important;
  min-height:47px!important;line-height:1.35!important;
  box-sizing:border-box!important;
}
#managerOccupancyDetailDialog .manager-occupancy-finance-row .is-remaining output{
  width:100%!important;max-width:none!important;min-width:0!important;
  border:1px solid rgba(245,137,197,.45)!important;
  border-radius:12px!important;background:rgba(15,36,51,.9)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:#ff92ca!important;white-space:nowrap!important;
}
#managerOccupancyDetailDialog input[name="agreed_rate"],
#managerOccupancyDetailDialog input[name="total_amount"],
#managerOccupancyDetailDialog input[name="paid_amount"]{
  font-family:BYekan,Tahoma,sans-serif!important;
  font-weight:900!important;text-align:center!important;
}
#managerOccupancyDetailDialog input[name="total_amount"]{cursor:default}

/* Registration modal: the same two counters and four monetary cells, full-width
   beneath the gallery + identity inputs. Keep financial inputs bound to form=... */
@media(min-width:981px){
  body.manager-body #managerDirectBookingDialog.manager-direct-booking-dialog[open]{
    width:min(1450px,calc(100vw - 38px))!important;max-width:calc(100vw - 38px)!important;
    max-height:94dvh!important;overflow-y:auto!important;
  }
  #managerDirectBookingDialog .manager-direct-shell{
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
    grid-template-rows:auto auto auto auto!important;
    grid-template-areas:"head head" "gallery form" "pricing pricing" "footer footer"!important;
    align-items:start!important;row-gap:12px!important;
  }
  #managerDirectBookingDialog .manager-direct-gallery-panel{grid-area:gallery!important;grid-column:1!important;grid-row:2!important}
  #managerDirectBookingDialog .manager-direct-form-panel{grid-area:form!important;grid-column:2!important;grid-row:2!important}
  #managerDirectBookingDialog .manager-direct-pricing-panel{grid-area:pricing!important;grid-column:1/-1!important;grid-row:3!important}
  #managerDirectBookingDialog .manager-direct-footer{grid-area:footer!important;grid-column:1/-1!important;grid-row:4!important}
}
#managerDirectBookingDialog .manager-direct-pricing-panel{
  min-width:0!important;width:100%!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:13px!important;margin:4px auto 0!important;padding:0!important;
}
#managerDirectBookingDialog .manager-direct-count-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:13px!important;width:min(620px,100%)!important;max-width:100%!important;
  margin:0 auto!important;direction:rtl!important;
}
#managerDirectBookingDialog .manager-direct-count-row .booking-count-card{
  min-width:0!important;width:100%!important;min-height:91px!important;height:auto!important;
  padding:10px 14px!important;border-radius:17px!important;
}
#managerDirectBookingDialog .manager-direct-count-row .booking-count-card__head strong{
  font:800 16px/1.35 BYekan,Tahoma,sans-serif!important;
}
#managerDirectBookingDialog .manager-direct-count-row .booking-count-card__head small{
  font:13px/1.3 BYekan,Tahoma,sans-serif!important;
}
#managerDirectBookingDialog .manager-direct-count-row .booking-counter{
  display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px!important;
  width:100%!important;gap:6px!important;
}
#managerDirectBookingDialog .manager-direct-count-row .booking-counter__value{
  font-family:BYekan,Tahoma,sans-serif!important;font-size:22px!important;
  min-height:39px!important;height:auto!important;
}
#managerDirectBookingDialog .manager-direct-count-row .booking-counter__button{
  width:36px!important;height:39px!important;min-height:39px!important;
}
#managerDirectBookingDialog .manager-direct-finance-row{
  display:grid!important;direction:ltr!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:100%!important;gap:13px!important;margin:0!important;
  align-items:stretch!important;
}
#managerDirectBookingDialog .manager-direct-finance-row .manager-occupancy-meta{
  direction:rtl!important;order:initial!important;
  min-width:0!important;width:100%!important;max-width:none!important;
  min-height:112px!important;height:auto!important;
  box-sizing:border-box!important;display:flex!important;flex-direction:column!important;
  align-items:center!important;justify-content:center!important;
  text-align:center!important;gap:10px!important;padding:12px 10px!important;
  border-radius:16px!important;
}
#managerDirectBookingDialog .manager-direct-finance-row .manager-occupancy-meta>span:first-child{
  font:800 clamp(12px,1.05vw,16px)/1.35 BYekan,Tahoma,sans-serif!important;
  color:#c5dbe6!important;white-space:nowrap!important;
}
#managerDirectBookingDialog .manager-direct-finance-row input,
#managerDirectBookingDialog .manager-direct-finance-row output{
  min-width:0!important;width:100%!important;max-width:none!important;
  box-sizing:border-box!important;min-height:46px!important;height:auto!important;
  border:1px solid rgba(95,170,191,.32)!important;
  border-radius:11px!important;background:rgba(7,31,43,.9)!important;
  padding:9px 6px!important;
  font:900 clamp(17px,1.5vw,26px)/1.35 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;direction:ltr!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
#managerDirectBookingDialog .manager-direct-finance-row input{display:block!important;direction:rtl!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-rate input{color:#f3d679!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-total{border-color:rgba(244,119,82,.52)!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-total input{color:#ff9b73!important;border-color:rgba(244,119,82,.55)!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-paid{border-color:rgba(74,219,153,.46)!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-paid input{color:#65eeb2!important;border-color:rgba(74,219,153,.55)!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-remaining{border-color:rgba(239,132,190,.48)!important}
#managerDirectBookingDialog .manager-direct-finance-row .is-remaining output{color:#ffa0d1!important;border-color:rgba(239,132,190,.55)!important}
#managerDirectBookingDialog .manager-direct-footer{padding-top:8px!important}

@media(max-width:980px){
  body.manager-body #managerDirectBookingDialog .manager-direct-shell{
    display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto auto auto auto auto!important;
    grid-template-areas:"head" "gallery" "form" "pricing" "footer"!important;
    gap:10px!important;
  }
  #managerDirectBookingDialog .manager-direct-head{grid-column:1!important;grid-row:1!important}
  #managerDirectBookingDialog .manager-direct-gallery-panel{grid-column:1!important;grid-row:2!important}
  #managerDirectBookingDialog .manager-direct-form-panel{grid-column:1!important;grid-row:3!important}
  #managerDirectBookingDialog .manager-direct-pricing-panel{grid-column:1!important;grid-row:4!important}
  #managerDirectBookingDialog .manager-direct-footer{grid-column:1!important;grid-row:5!important}
  #managerDirectBookingDialog .manager-direct-finance-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  #managerDirectBookingDialog .manager-direct-pricing-panel{gap:8px!important}
  #managerDirectBookingDialog .manager-direct-count-row{gap:8px!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:600px){
  #managerDirectBookingDialog .manager-direct-count-row .booking-count-card{min-height:82px!important;padding:8px!important}
  #managerDirectBookingDialog .manager-direct-count-row .booking-count-card__head strong{font-size:12px!important}
  #managerDirectBookingDialog .manager-direct-count-row .booking-count-card__head small{font-size:10px!important}
  #managerDirectBookingDialog .manager-direct-finance-row .manager-occupancy-meta{min-height:92px!important;padding:8px 5px!important}
  #managerDirectBookingDialog .manager-direct-finance-row .manager-occupancy-meta>span:first-child{font-size:11px!important;white-space:normal!important}
  #managerDirectBookingDialog .manager-direct-finance-row input,
  #managerDirectBookingDialog .manager-direct-finance-row output{font-size:clamp(14px,4vw,19px)!important}
  #managerOccupancyDetailDialog .manager-occupancy-capacity-row{width:100%!important;margin:8px auto!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row input,
  #managerOccupancyDetailDialog .manager-occupancy-finance-row output{font-size:clamp(14px,4vw,19px)!important}
  #managerOccupancyDetailDialog .manager-occupancy-finance-row .manager-occupancy-meta{padding:8px 5px!important}
}

/* Keep the custom X strokes positioned relative to the close control itself. */
#managerOccupancyDetailDialog .manager-occupancy-detail-controls #managerOccupancyDetailClose{
  position:relative!important;inset:auto!important;
}
/* Fit the entire booking pricing section more comfortably on desktop laptop screens. */
@media(min-width:981px){
  #managerDirectBookingDialog .manager-direct-title{min-height:64px!important;padding-top:0!important}
  #managerDirectBookingDialog .manager-direct-title h2{font-size:clamp(30px,2.5vw,42px)!important}
  #managerDirectBookingDialog .manager-direct-head{padding-bottom:0!important}
  #managerDirectBookingDialog .manager-direct-mode-switch button{min-height:56px!important;padding-block:7px!important}
  #managerDirectBookingDialog .manager-direct-mode-switch button b{font-size:20px!important}
  #managerDirectBookingDialog .manager-direct-mode-switch button small{font-size:14px!important}
  #managerDirectBookingDialog .manager-direct-gallery-panel{grid-template-rows:240px 58px!important}
  #managerDirectBookingDialog .unit-gallery-main,
  #managerDirectBookingDialog .unit-gallery-main img{height:240px!important;min-height:240px!important;max-height:240px!important}
  #managerDirectBookingDialog .unit-gallery-thumbs,
  #managerDirectBookingDialog .unit-gallery-thumbs button{height:58px!important}
  #managerDirectBookingDialog .manager-direct-count-row .booking-count-card{min-height:81px!important;padding:7px 12px!important}
  #managerDirectBookingDialog .manager-direct-finance-row .manager-occupancy-meta{min-height:99px!important;padding-block:9px!important}
}
/* The legacy 879px reservation grid must not spill over the gallery column. */
#managerDirectBookingDialog .manager-direct-form-panel,
#managerDirectBookingDialog .manager-direct-form-panel .manager-direct-form{
  width:100%!important;max-width:100%!important;min-width:0!important;
  box-sizing:border-box!important;
}
#managerDirectBookingDialog .manager-direct-form-panel .manager-direct-form{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
}
#managerDirectBookingDialog .manager-direct-form-panel .manager-direct-date-grid{
  width:100%!important;min-width:0!important;max-width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(82px,115px) minmax(0,1fr)!important;
  box-sizing:border-box!important;gap:9px!important;
}
#managerDirectBookingDialog .manager-direct-form-panel :is(.manager-direct-guest-grid,.booking-notes-field){
  min-width:0!important;max-width:100%!important;width:100%!important;
  box-sizing:border-box!important;
}


/* ===== v16.5.226 — occupancy dialog refinement only ===== */
/* The title occupies the very top of the calendar. Controls stay in their own
   toolbar below it; no absolute positioning can collide with mobile controls. */
#managerOccupancyDialog .manager-occupancy-head--compact{
  display:flex!important;flex-direction:column!important;gap:4px!important;
  padding:0 0 5px!important;margin:0!important;min-height:0!important;
}
#managerOccupancyDialog .manager-occupancy-heading{
  order:-1!important;align-self:stretch!important;min-height:0!important;
  margin:0!important;padding:0 42px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:0!important;
}
#managerOccupancyDialog .manager-occupancy-heading>span{display:none!important}
#managerOccupancyDialog .manager-occupancy-heading h2{
  margin:0!important;padding:0!important;font:900 clamp(19px,1.4vw,25px)/1.35 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;white-space:nowrap!important;
}
#managerOccupancyDialog .manager-occupancy-topbar{
  order:0!important;flex:0 0 auto!important;width:100%!important;
  min-height:37px!important;padding:0 3px!important;
}
#managerOccupancyDialog .manager-occupancy-paging{gap:6px!important}
#managerOccupancyDialog .manager-occupancy-paging button#managerOccupancyToday{
  width:max-content!important;min-width:0!important;max-width:none!important;
  padding:5px 13px!important;flex:0 0 auto!important;white-space:nowrap!important;
  font:800 14px/1.25 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;justify-content:center!important;
}
/* Only the room-name column shrinks; all calendar dates remain on one row. */
#managerOccupancyDialog #managerOccupancyGrid.manager-occupancy-grid{
  --occ-room-width:88px!important;
}
#managerOccupancyDialog .manager-occupancy-room{
  min-width:0!important;width:100%!important;max-width:100%!important;
  padding:3px 2px!important;
}
#managerOccupancyDialog .manager-occupancy-room strong{
  font:900 clamp(12px,.92vw,15px)/1.18 BYekan,Tahoma,sans-serif!important;
  letter-spacing:0!important;text-align:center!important;
  white-space:normal!important;overflow:hidden!important;overflow-wrap:anywhere!important;
  display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
  max-height:31px!important;
}
#managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{
  font:700 10px/1.1 BYekan,Tahoma,sans-serif!important;
  margin:0!important;text-align:center!important;
}
/* Tooltip is portalled to document.body when Popover API exists, so its
   alignment must not rely on selectors scoped under the dialog. */
body .manager-occupancy-tooltip:popover-open,
body .manager-occupancy-tooltip:not([hidden]){
  text-align:center!important;direction:rtl!important;
}
body .manager-occupancy-tooltip .manager-occupancy-tooltip-line.is-tour-leader,
body .manager-occupancy-tooltip:popover-open .manager-occupancy-tooltip-line.is-tour-leader{
  display:flex!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;direction:rtl!important;
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  margin:5px auto!important;padding:7px 10px!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
  font:800 14px/1.6 BYekan,Tahoma,sans-serif!important;
}
@media(max-width:759px){
  #managerOccupancyDialog .manager-occupancy-heading h2{font-size:17px!important;white-space:normal!important}
  #managerOccupancyDialog .manager-occupancy-topbar{margin-top:2px!important}
  #managerOccupancyDialog .manager-occupancy-paging button#managerOccupancyToday{
    font-size:12px!important;padding-inline:9px!important;
  }
  #managerOccupancyDialog #managerOccupancyGrid.manager-occupancy-grid{
    --occ-room-width:82px!important;
  }
  #managerOccupancyDialog .manager-occupancy-room strong{font-size:12px!important}
}

/* v16.5.227: restaurant POS density and visual polish */
body.restaurant-v2 .restaurant-v2-orders-grid{gap:8px!important;grid-template-columns:repeat(4,minmax(0,1fr))!important}
body.restaurant-v2 .restaurant-v2-order-card{min-height:172px!important;padding:10px 10px 8px!important;border-radius:16px!important}
body.restaurant-v2 .restaurant-v2-order-card h3{font-size:clamp(13px,1.2vw,18px)!important;line-height:1.25!important}
body.restaurant-v2 .restaurant-v2-order-card .restaurant-v2-card-price{font-size:clamp(15px,1.45vw,21px)!important}
body.restaurant-v2 .restaurant-v2-order-footer{gap:4px!important;padding-top:4px!important}
body.restaurant-v2 .restaurant-v2-order-footer .restaurant-v2-total{min-height:58px!important;padding:4px 5px!important}
body.restaurant-v2 .restaurant-v2-actions button{min-height:38px!important}
body.restaurant-v2 .restaurant-v2-meal-field>span{white-space:nowrap!important;min-width:max-content!important}
body.restaurant-v2 .restaurant-v2-meal-row{min-width:0!important;flex-wrap:nowrap!important}
body.restaurant-v2 .restaurant-v2-segment button.is-active{background:linear-gradient(145deg,#136594,#2d9fd0)!important;color:#fff!important;box-shadow:inset 0 0 0 1px #7ee4fd55!important}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-segment button.is-active{background:linear-gradient(145deg,#a2e3f2,#8dd4dc)!important;color:#102e42!important}
@media(max-width:1100px){body.restaurant-v2 .restaurant-v2-orders-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:760px){body.restaurant-v2 .restaurant-v2-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:761px){body.restaurant-v2::after{animation-duration:9s;animation-timing-function:linear;transform-origin:50% 50%}}
/* v16.5.227 hall request approval UI, separate from real POS and autosave. */
body.restaurant-v2 .restaurant-hall-requests[hidden]{display:none!important}
body.restaurant-v2 .restaurant-hall-requests{margin:8px 0 16px;padding:12px;background:#163246;border:1px solid #d7b850;border-radius:18px}
.restaurant-hall-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px;color:#ffe29c}.restaurant-hall-heading strong{font:900 16px BYekan,Tahoma,sans-serif}.restaurant-hall-heading small{font:11px BYekan,Tahoma,sans-serif;color:#e8c978}
.restaurant-hall-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.restaurant-hall-card{display:grid;align-content:center;gap:7px;min-height:144px;text-align:center;padding:9px;color:#fff;border:1px solid #e5b943;border-radius:15px;background:linear-gradient(150deg,#253f47,#152c3d);box-shadow:0 0 0 1px #e4bb4020,inset 0 0 0 1px #ffed9e18;cursor:pointer;animation:hallPendingGlow 2.5s ease-in-out infinite}
.restaurant-hall-card .restaurant-hall-source{color:#ffcb53;font-size:11px}.restaurant-hall-card strong{font:900 16px BYekan,Tahoma,sans-serif}.restaurant-hall-card small{font-size:11px;color:#c0d8dc}.restaurant-hall-card b{font:900 21px BYekan,Tahoma,sans-serif;color:#65efd1}.restaurant-hall-card span:last-child{font-size:10px;color:#ebcc73}
@keyframes hallPendingGlow{0%,100%{box-shadow:0 0 0 1px #e4bb4030,0 0 4px #f6c75324}50%{box-shadow:0 0 0 1px #f7dc76a8,0 0 21px #ffdc585a}}
.restaurant-hall-review{width:min(750px,calc(100vw - 20px));max-height:94dvh;overflow:auto;margin:auto;border:1px solid #72afc0;border-radius:22px;background:#082638;color:#f4fbff;padding:17px;font:13px BYekan,Tahoma,sans-serif;box-shadow:0 20px 80px #0009}
.restaurant-hall-review::backdrop{background:#000a;backdrop-filter:blur(6px)}
.restaurant-hall-review header{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #346579;padding-bottom:12px}.restaurant-hall-review h2{font-size:19px;margin:0}.restaurant-hall-review header span{color:#f2cf72}.restaurant-hall-review header button{background:#b0344f;border:0;border-radius:9px;padding:6px 12px;color:#fff;font-size:18px;cursor:pointer}
.restaurant-hall-review-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}.restaurant-hall-review label{display:grid;gap:5px;font-size:11px;color:#b4ccd5}.restaurant-hall-review :is(input,select){width:100%;min-width:0;min-height:41px;border-radius:9px;background:#0e354a;border:1px solid #376d7c;color:#fff;padding:6px 9px;font:14px BYekan,Tahoma,sans-serif}
.restaurant-hall-review-cart{border:1px solid #2e6075;border-radius:14px;padding:10px;margin-bottom:12px;max-height:36vh;overflow:auto}.restaurant-hall-review-cart h3{margin:0 0 10px;font-size:14px;color:#f4cc71}
#restaurantHallCart{display:grid;gap:7px}.restaurant-hall-line{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;border-radius:10px;background:#12364c;padding:7px}.restaurant-hall-line strong{font-size:12px}.restaurant-hall-line small{color:#b8f6e3}.restaurant-hall-counter{display:flex;gap:5px;align-items:center}.restaurant-hall-counter button{border-radius:8px;min-width:29px;min-height:31px;border:1px solid #569a9e;background:#0a6170;color:white;cursor:pointer}.restaurant-hall-counter button:last-child{background:#702b45;border-color:#bc5a6f}.restaurant-hall-review-add,.restaurant-hall-review-note{margin-bottom:10px}.restaurant-hall-review-total{display:flex;justify-content:space-between;align-items:center;background:#164459;padding:12px;border-radius:10px;margin:10px 0;font-size:12px}.restaurant-hall-review-total b{color:#5bebb7;font-size:23px}.restaurant-hall-review footer{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}.restaurant-hall-review footer button{min-height:45px;border-radius:11px;border:0;font:900 14px BYekan,Tahoma,sans-serif;cursor:pointer}.restaurant-hall-review footer button:first-child{background:#a63850;color:#fff}.restaurant-hall-review footer button:last-child{background:#d9b348;color:#122d3d}
@media(max-width:1000px){.restaurant-hall-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.restaurant-hall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-hall-review-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.restaurant-hall-line{grid-template-columns:1fr auto;}.restaurant-hall-counter{grid-column:1/-1;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){.restaurant-hall-card{animation:none}}

/* v16.5.227: the user's Tak-Tiyor reference rotates around its vertical axis, not as a flat pinwheel. */
@keyframes babaCornerIconOrbit{
  from{transform:perspective(640px) rotateY(0deg)}
  to{transform:perspective(640px) rotateY(360deg)}
}
@media(min-width:761px){body::after{animation:babaCornerIconOrbit 3.8s linear infinite!important;transform-style:preserve-3d}}
@media(prefers-reduced-motion:reduce){body::after{animation-duration:16s!important}}


/* === Payment cards in customer reservation flow === */
.customer-payment-cards{display:grid;gap:14px;margin:18px 0 16px;}
.customer-payment-cards__head{display:grid;gap:6px;}
.customer-payment-cards__head h3{margin:0;font-size:1.02rem;color:#e8f8ff;}
.customer-payment-cards__head p{margin:0;color:rgba(214,236,255,.82);font-size:.92rem;}
.customer-payment-cards__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;}
.customer-bank-card{background:rgba(6,33,57,.45);border:1px solid rgba(125,215,255,.18);box-shadow:0 16px 34px rgba(0,0,0,.18);border-radius:24px;padding:14px;display:grid;gap:12px;}
.customer-bank-card__art{position:relative;border-radius:20px;overflow:hidden;min-height:180px;background:linear-gradient(135deg,#1b6de7,#76c7ff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28);}
.customer-bank-card__art img{display:block;width:100%;height:auto;border-radius:20px;}
.customer-bank-card__number,.customer-bank-card__iban,.customer-bank-card__name{position:absolute;right:24px;left:24px;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35);font-weight:800;letter-spacing:.04em;}
.customer-bank-card__number{left:28px;right:28px;top:50%;transform:translateY(-38%);font-size:clamp(1.1rem,2.8vw,2rem);direction:ltr;text-align:left;}
.customer-bank-card__iban{left:28px;right:28px;top:68%;font-size:clamp(.82rem,1.9vw,1.24rem);direction:ltr;text-align:left;}
.customer-bank-card__name{right:26px;left:auto;bottom:22px;font-size:clamp(.88rem,2.2vw,1.35rem);}
.customer-bank-card__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#effbff;}
.customer-bank-card__meta strong{font-size:1rem;}
.customer-bank-card__meta span{font-size:.84rem;color:rgba(214,236,255,.72);}
.customer-bank-card__copy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.customer-copy-chip{appearance:none;border:none;border-radius:14px;background:linear-gradient(135deg,rgba(22,134,255,.26),rgba(104,247,255,.18));color:#eafaff;padding:12px 10px;font-weight:800;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;box-shadow:inset 0 0 0 1px rgba(132,223,255,.24);}
.customer-copy-chip:hover,.customer-copy-chip:focus-visible{transform:translateY(-1px);background:linear-gradient(135deg,rgba(24,160,255,.32),rgba(112,255,208,.24));box-shadow:0 10px 20px rgba(0,0,0,.18),inset 0 0 0 1px rgba(193,239,255,.35);outline:none;}

/* === Manager settings payment cards === */
.payment-card-settings-shell{display:grid;gap:16px;}
.payment-card-settings-status{min-height:1.6em;color:#2d5572;font-weight:700;}
.payment-card-settings-status[data-tone="error"]{color:#b01438;}
.payment-card-settings-status[data-tone="success"]{color:#0f7b54;}
.payment-card-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;}
.payment-card-editor{background:linear-gradient(180deg,#fcfeff 0%,#edf8ff 100%);border:1px solid rgba(58,116,162,.16);border-radius:24px;padding:16px;display:grid;gap:14px;box-shadow:0 16px 40px rgba(50,96,126,.08);}
.payment-card-editor.is-disabled{opacity:.72;}
.payment-card-editor__head{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.payment-card-editor__head span{display:block;color:#5781a0;font-size:.8rem;font-weight:700;}
.payment-card-editor__head h3{margin:3px 0 0;font-size:1.1rem;color:#14344f;}
.payment-card-switch{display:inline-flex;align-items:center;gap:10px;background:#eef7ff;border:1px solid rgba(44,98,150,.16);border-radius:999px;padding:6px 10px;}
.payment-card-switch input{accent-color:#0c87da;}
.payment-card-switch b{font-size:.85rem;color:#17415f;}
.payment-card-preview{position:relative;border-radius:22px;overflow:hidden;min-height:200px;background:linear-gradient(135deg,#1874ff,#87d7ff);box-shadow:0 18px 36px rgba(16,75,131,.18);}
.payment-card-preview img{display:block;width:100%;height:auto;}
.payment-card-preview__number,.payment-card-preview__iban,.payment-card-preview__name{position:absolute;left:26px;right:26px;color:#fff;font-weight:800;text-shadow:0 2px 10px rgba(0,0,0,.35);letter-spacing:.04em;}
.payment-card-preview__number{top:50%;transform:translateY(-42%);font-size:clamp(1rem,2vw,1.7rem);direction:ltr;text-align:left;}
.payment-card-preview__iban{top:67%;font-size:clamp(.8rem,1.6vw,1.08rem);direction:ltr;text-align:left;}
.payment-card-preview__name{left:auto;right:24px;bottom:20px;font-size:clamp(.85rem,1.8vw,1.2rem);}
.payment-card-editor__fields{display:grid;gap:12px;}
.payment-card-editor__fields label{display:grid;gap:6px;}
.payment-card-editor__fields span{color:#476e89;font-weight:700;font-size:.86rem;}
.payment-card-editor__fields input{border-radius:14px;border:1px solid rgba(40,86,122,.16);padding:12px 14px;background:#fff;color:#14344f;font-size:1rem;font-weight:700;}
.payment-card-editor__fields input:focus{outline:none;border-color:#1f9ced;box-shadow:0 0 0 3px rgba(31,156,237,.16);}
.payment-card-editor__hint{color:#587892;line-height:1.8;}
.payment-card-settings-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.payment-card-settings-actions span{color:#56758c;line-height:1.8;}
.payment-card-settings-actions button{appearance:none;border:none;border-radius:16px;padding:12px 18px;background:linear-gradient(135deg,#1178d8,#5eb0ff);color:#fff;font-weight:800;cursor:pointer;box-shadow:0 14px 26px rgba(22,120,216,.24);}
.payment-card-settings-actions button:disabled{opacity:.7;cursor:wait;}

@media (max-width: 720px){
  .customer-bank-card{padding:12px;border-radius:20px;}
  .customer-bank-card__art{min-height:155px;}
  .customer-bank-card__number,.customer-bank-card__iban{left:20px;right:20px;}
  .customer-bank-card__copy-grid{grid-template-columns:1fr;}
  .payment-card-settings-grid{grid-template-columns:1fr;}
  .payment-card-editor{padding:14px;border-radius:20px;}
  .payment-card-preview{min-height:172px;}
  .payment-card-settings-actions{align-items:stretch;}
  .payment-card-settings-actions button{width:100%;}
}

/* v16.5.230 — shared restaurant POS for hall approvals, denser order board */
body.restaurant-v2 .restaurant-hall-requests,
body.restaurant-v2 .restaurant-hall-requests:not([hidden]){
  margin:6px 0 12px!important;
  padding:0!important;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.restaurant-v2 .restaurant-hall-grid{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:9px;
}
body.restaurant-v2 .restaurant-hall-card{
  min-height:134px;
  padding:10px 6px;
  gap:5px;
  border-radius:14px;
  min-width:0;
  overflow:hidden;
}
body.restaurant-v2 .restaurant-hall-card .restaurant-hall-source{font-size:10px}
body.restaurant-v2 .restaurant-hall-card strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.restaurant-v2 .restaurant-hall-card small{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.restaurant-v2 .restaurant-hall-card b{font-size:clamp(13px,1.18vw,18px)}
body.restaurant-v2 .restaurant-hall-card span:last-child{font-size:10px}
body.restaurant-v2 .restaurant-v2-orders-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:9px!important;
}
body.restaurant-v2 .restaurant-v2-order-card{
  min-height:189px!important;
  padding:12px 9px 10px!important;
}
body.restaurant-v2 .restaurant-v2-order-card h3{font-size:clamp(13px,1.07vw,17px)!important}
body.restaurant-v2 .restaurant-v2-order-card .restaurant-v2-card-price{font-size:clamp(15px,1.22vw,20px)!important}
/* Hall requests use the exact same order workspace; only approval replaces kitchen printing. */
body.restaurant-v2 #restaurantOrderPanel.is-hall-approval #restaurantPrintOrder{
  background:linear-gradient(110deg,#e6b74a,#f7d776)!important;
  color:#122d3b!important;
  border-color:#f9d777!important;
}
body.restaurant-v2 #restaurantOrderPanel.is-hall-approval .restaurant-v2-actions button:disabled:not(#restaurantPrintOrder){
  opacity:.42!important;
  cursor:not-allowed!important;
}
@media(max-width:1380px){
 body.restaurant-v2 .restaurant-hall-grid{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media(max-width:1200px){
 body.restaurant-v2 .restaurant-v2-orders-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
 body.restaurant-v2 .restaurant-hall-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(max-width:980px){
 body.restaurant-v2 .restaurant-v2-orders-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 body.restaurant-v2 .restaurant-hall-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:680px){
 body.restaurant-v2 .restaurant-v2-orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.restaurant-v2 .restaurant-hall-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.restaurant-v2 .restaurant-v2-order-card{min-height:182px!important}
}
@media(max-width:380px){
 body.restaurant-v2 .restaurant-v2-orders-grid{grid-template-columns:1fr!important}
}

/* v16.5.231 — card content: exact overlay positions independent of admin/customer view */
.customer-bank-card__art,.payment-card-preview{aspect-ratio:1.61/1;min-height:0!important;isolation:isolate;}
.customer-bank-card__art img,.payment-card-preview img{width:100%;height:100%;object-fit:fill;position:absolute;inset:0;}
.customer-bank-card__number,.customer-bank-card__iban,.customer-bank-card__name,
.payment-card-preview__number,.payment-card-preview__iban,.payment-card-preview__name{
  position:absolute;display:block;box-sizing:border-box;left:3%!important;right:3%!important;
  color:white;font-family:BYekan,Arial,sans-serif;font-weight:900;text-align:center!important;
  direction:ltr;white-space:nowrap;line-height:1.25;text-shadow:0 2px 5px rgba(0,12,43,.45);
  transform:none!important;letter-spacing:.015em;
}
.customer-bank-card__number,.payment-card-preview__number{top:48%!important;font-size:clamp(17px,2.35vw,35px)!important;}
.customer-bank-card__iban,.payment-card-preview__iban{top:65%!important;font-size:clamp(12px,1.55vw,23px)!important;}
.customer-bank-card__name,.payment-card-preview__name{top:auto!important;bottom:5.3%!important;left:4%!important;right:4%!important;direction:rtl!important;text-align:right!important;font-size:clamp(13px,1.55vw,23px)!important;}
.customer-bank-card__number,.customer-bank-card__iban{border:0;background:transparent;cursor:copy;padding:0;border-radius:8px;}
.customer-bank-card__number:hover,.customer-bank-card__iban:hover,.customer-bank-card__number:focus-visible,.customer-bank-card__iban:focus-visible{outline:2px solid #d7f1ff;background:rgba(10,55,113,.25)}
@media(max-width:720px){
  .customer-bank-card__number,.payment-card-preview__number{font-size:clamp(16px,5vw,27px)!important;}
  .customer-bank-card__iban,.payment-card-preview__iban{font-size:clamp(11px,3.1vw,18px)!important;}
  .customer-bank-card__name,.payment-card-preview__name{font-size:clamp(12px,3.4vw,20px)!important;}
}

/* Scale payment typography to each card, not to the viewport width */
.customer-bank-card__art,.payment-card-preview{container-type:inline-size;}
.customer-bank-card__number,.payment-card-preview__number{font-size:clamp(16px,4.95cqw,33px)!important;}
.customer-bank-card__iban,.payment-card-preview__iban{font-size:clamp(10px,3.05cqw,20px)!important;}
.customer-bank-card__name,.payment-card-preview__name{font-size:clamp(13px,3.7cqw,23px)!important;}
@media(max-width:720px){
 .customer-bank-card__number,.payment-card-preview__number{font-size:clamp(16px,4.95cqw,33px)!important;}
 .customer-bank-card__iban,.payment-card-preview__iban{font-size:clamp(10px,3.05cqw,20px)!important;}
 .customer-bank-card__name,.payment-card-preview__name{font-size:clamp(13px,3.7cqw,23px)!important;}
}
/* Melli's mountain has a pale summit: place numbers on the darker lower band. */
.customer-bank-card[data-bank-card="melli"] .customer-bank-card__number,
.payment-card-editor[data-payment-card-form="melli"] .payment-card-preview__number{top:56%!important;}
.customer-bank-card[data-bank-card="melli"] .customer-bank-card__iban,
.payment-card-editor[data-payment-card-form="melli"] .payment-card-preview__iban{top:72%!important;}
.customer-bank-card[data-bank-card="melli"] .customer-bank-card__name,
.payment-card-editor[data-payment-card-form="melli"] .payment-card-preview__name{bottom:5%!important;}

/* ===== v16.5.232 — calendar header, elapsed-day distinction, unified occupancy capacities ===== */
/* All header controls and the title share one baseline: no dedicated second title row. */
#managerOccupancyDialog .manager-occupancy-head--compact{
  display:flex!important;flex-direction:column!important;gap:0!important;
  margin:0!important;padding:0 0 7px!important;min-height:0!important;
}
#managerOccupancyDialog .manager-occupancy-topbar{
  display:grid!important;direction:rtl!important;
  grid-template-columns:minmax(0,1fr) minmax(0,auto) minmax(0,1fr)!important;
  align-items:center!important;justify-content:stretch!important;
  column-gap:10px!important;row-gap:0!important;
  min-height:45px!important;height:auto!important;padding:0 3px 4px!important;
  width:100%!important;
}
#managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyClose{
  order:0!important;grid-column:1!important;grid-row:1!important;
  justify-self:start!important;align-self:center!important;
  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;
}
#managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-heading{
  order:0!important;grid-column:2!important;grid-row:1!important;
  align-self:center!important;justify-self:center!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:0!important;width:auto!important;max-width:100%!important;
  margin:0!important;padding:0!important;white-space:nowrap!important;
}
#managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-heading h2{
  margin:0!important;padding:0!important;
  font:900 clamp(15px,1.35vw,23px)/1.25 BYekan,Tahoma,sans-serif!important;
  color:#fff8e5!important;text-align:center!important;
}
#managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-paging{
  order:0!important;grid-column:3!important;grid-row:1!important;
  justify-self:end!important;align-self:center!important;
  display:flex!important;flex-wrap:nowrap!important;gap:5px!important;
}
#managerOccupancyDialog .manager-occupancy-scroll{
  /* Reclaim the height of the former standalone title line. */
  min-height:0!important;
}
/* A single low-cost visual treatment, with the original status colors still recognizable. */
#managerOccupancyDialog .manager-occupancy-date.is-elapsed:not(.is-today){
  opacity:.62!important;filter:saturate(.62) brightness(.78)!important;
  box-shadow:none!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-elapsed:not(.is-today){
  opacity:.67!important;filter:saturate(.68) brightness(.79)!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-elapsed.is-today{
  opacity:.88!important;filter:saturate(.86) brightness(.94)!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-elapsed:hover,
#managerOccupancyDialog .manager-occupancy-cell.is-elapsed:focus-visible{
  opacity:1!important;filter:brightness(1.07)!important;
}
/* Keep the present-day column easy to locate despite the faded elapsed cells. */
#managerOccupancyDialog .manager-occupancy-date.is-today{opacity:1!important;filter:none!important}

/* The two guest-count controls occupy the center cell between the two dates. */
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-capacity-row{
  display:grid!important;grid-column:2!important;grid-row:2!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:0!important;gap:6px!important;align-self:stretch!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-meta.is-start{
  grid-column:1!important;grid-row:2!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-meta.is-end{
  grid-column:3!important;grid-row:2!important;
}
#managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-capacity-row > .manager-occupancy-meta{
  min-height:75px!important;height:100%!important;min-width:0!important;
  padding:5px 4px!important;gap:4px!important;border-radius:12px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-meta>span:first-child{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;white-space:nowrap!important;
  font:700 clamp(10px,.76vw,12px)/1.25 BYekan,Tahoma,sans-serif!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occ-extra-title{
  display:inline-flex!important;flex-direction:row!important;
  align-items:center!important;justify-content:center!important;gap:4px!important;
  font:700 clamp(9px,.72vw,11px)/1.2 BYekan,Tahoma,sans-serif!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occ-extra-title b{
  white-space:nowrap!important;font:inherit!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occ-extra-title input[type="checkbox"]{
  display:inline-block!important;flex:0 0 15px!important;
  width:15px!important;height:15px!important;min-width:15px!important;min-height:15px!important;
  margin:0!important;padding:0!important;accent-color:#61eac1;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-extra-inner{
  display:block!important;width:100%!important;min-width:0!important;
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row input[name="standard_guest_count"],
#managerOccupancyDetailDialog .manager-occupancy-capacity-row input[name="extra_guest_count"]{
  width:100%!important;min-width:0!important;
  height:37px!important;min-height:37px!important;
  font:800 17px/1.2 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;padding:4px!important;
}

/* The registration counters belong under the notes on the form side. */
#managerDirectBookingDialog .manager-direct-form-panel .manager-direct-form > .manager-direct-count-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;width:100%!important;min-width:0!important;max-width:none!important;
  margin:7px 0 0!important;align-items:stretch!important;direction:rtl!important;
}
#managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-count-card{
  min-width:0!important;min-height:80px!important;height:auto!important;
  padding:7px 10px!important;
}
#managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-count-card__head strong{
  font:800 13px/1.2 BYekan,Tahoma,sans-serif!important;
}
#managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-count-card__head small{
  font:11px/1.2 BYekan,Tahoma,sans-serif!important;
}
#managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-counter{
  display:grid!important;grid-template-columns:33px minmax(0,1fr) 33px!important;
  width:100%!important;gap:6px!important;
}
#managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-counter__value{
  min-height:35px!important;font-size:19px!important;
}
#managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-counter__button{
  min-height:35px!important;height:35px!important;width:33px!important;
}
@media(min-width:981px){
  #managerDirectBookingDialog .manager-direct-gallery-panel{
    grid-template-rows:350px 64px!important;
  }
  #managerDirectBookingDialog .unit-gallery-main,
  #managerDirectBookingDialog .unit-gallery-main img{
    height:350px!important;min-height:350px!important;max-height:350px!important;
  }
  #managerDirectBookingDialog .unit-gallery-thumbs,
  #managerDirectBookingDialog .unit-gallery-thumbs button{
    height:64px!important;
  }
}
@media(max-width:980px){
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-meta.is-start{
    grid-column:1!important;grid-row:3!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-meta.is-end{
    grid-column:2!important;grid-row:3!important;
  }
  #managerOccupancyDetailDialog .manager-occupancy-detail-grid--form > .manager-occupancy-capacity-row{
    grid-column:1/-1!important;grid-row:4!important;max-width:550px!important;margin:0 auto!important;
  }
  #managerOccupancyDialog .manager-occupancy-topbar{column-gap:6px!important}
  #managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-heading h2{font-size:clamp(13px,1.8vw,19px)!important}
}
@media(max-width:550px){
  #managerOccupancyDialog .manager-occupancy-topbar{gap:3px!important;min-height:40px!important}
  #managerOccupancyDialog .manager-occupancy-topbar #managerOccupancyClose{width:31px!important;min-width:31px!important;height:34px!important;min-height:34px!important}
  #managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-heading h2{
    font-size:clamp(10px,2.65vw,14px)!important;white-space:normal!important;line-height:1.35!important;
  }
  #managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-paging{gap:2px!important}
  #managerOccupancyDialog .manager-occupancy-paging .manager-occupancy-nav{width:27px!important;min-width:27px!important;max-width:27px!important;flex-basis:27px!important;height:31px!important;min-height:31px!important}
  #managerOccupancyDialog #managerOccupancyToday{min-width:0!important;max-width:70px!important;padding:3px 5px!important;font-size:11px!important;height:31px!important;min-height:31px!important}
  #managerOccupancyDialog #managerOccupancyInfoToggle{width:31px!important;min-width:31px!important;max-width:31px!important;height:31px!important;min-height:31px!important;padding:0 2px!important;gap:2px!important}
  #managerOccupancyDialog #managerOccupancyInfoToggle span{font-size:14px!important}
  #managerOccupancyDialog #managerOccupancyInfoToggle em{width:7px!important;height:7px!important;flex-basis:7px!important}
  #managerDirectBookingDialog .manager-direct-form-panel .manager-direct-form > .manager-direct-count-row{gap:6px!important}
  #managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-count-card{padding:6px!important;min-height:74px!important}
  #managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-count-card__head strong{font-size:11px!important}
  #managerDirectBookingDialog .manager-direct-form .manager-direct-count-row .booking-count-card__head small{font-size:9px!important}
  #managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-meta>span:first-child{font-size:11px!important}
}


/* v16.5.233 — homepage logo, manager zoom-fit */
.hero .brand-logo-refresh{width:clamp(240px,26vw,360px);max-width:100%}
.hero .brand-logo{display:block;width:100%;max-width:100%;max-height:none;height:auto;margin:-6px auto 0;top:auto}
@media (max-width:760px){
  .hero .brand-logo-refresh{width:min(82vw,430px);max-width:100%}
}
@media (max-width:430px){
  .hero .brand-logo-refresh{width:min(80vw,400px)}
}
@media (min-width:761px) and (max-width:1380px){
  .manager-home-shell{width:min(1200px,91vw)}
  .manager-home-menu{width:100%;gap:7px}
  .manager-home-card{min-height:124px;padding:14px 14px;gap:8px}
  .manager-home-card__icon{width:54px;height:54px;font-size:24px}
  .manager-home-card__copy strong{font-size:22px}
  .manager-home-card__copy small{font-size:13px;line-height:1.28}
  .manager-home-card__arrow{width:38px;height:38px;font-size:26px}
}


/* v16.5.234 — installed tablet homepage: keep counters clear of the Android dock. */
@media (min-width:500px) and (max-width:1100px) and (orientation:portrait){
  .landing-stage .site-metrics-overlay{
    bottom:calc(96px + env(safe-area-inset-bottom,0px))!important;
  }
  .landing-stage.has-home-slider .site-metrics-overlay{
    bottom:calc(185px + env(safe-area-inset-bottom,0px))!important;
  }
}
/* 20% reduction relative to the tablet logo width in v16.5.233. */
@media (min-width:500px) and (max-width:760px) and (orientation:portrait){
  .hero .brand-logo-refresh{width:min(65.6vw,344px)}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .hero .brand-logo-refresh{width:clamp(192px,20.8vw,288px)}
}


/* v16.5.235 — independently pinned full-page backgrounds, no global CSS mode */
@media (min-width:761px){
  .landing-shell.is-desktop-manual-background{background:#061b29}
  .landing-shell.is-desktop-manual-background>.landing-manual-background{display:block;position:absolute;inset:0 0 auto;z-index:0;overflow:hidden}
  .landing-shell.is-desktop-manual-background .landing-bg-layer{opacity:0!important}
  .landing-shell.is-desktop-manual-background .landing-stage,.landing-shell.is-desktop-manual-background .home-seo-intro,.landing-shell.is-desktop-manual-background .reservation-hub{background:transparent}
  .landing-shell.is-desktop-manual-background .home-seo-intro__inner{background:rgba(5,24,38,.78)}
  .landing-shell.is-desktop-manual-background .home-brand-footer{background:rgba(4,22,37,.68)}
}
@media (max-width:760px){
  .landing-shell.is-mobile-manual-background{background:#061b29}
  .landing-shell.is-mobile-manual-background>.landing-manual-background{display:block;position:absolute;inset:0 0 auto;z-index:0;overflow:hidden}
  .landing-shell.is-mobile-manual-background .landing-bg-layer{opacity:0!important}
  .landing-shell.is-mobile-manual-background .landing-stage,.landing-shell.is-mobile-manual-background .home-seo-intro,.landing-shell.is-mobile-manual-background .reservation-hub{background:transparent}
  .landing-shell.is-mobile-manual-background .home-seo-intro__inner{background:rgba(5,24,38,.78)}
  .landing-shell.is-mobile-manual-background .home-brand-footer{background:rgba(4,22,37,.68)}
}
.home-background-device-mode{display:flex;gap:7px;flex-wrap:wrap;margin:6px 0 14px;justify-content:center}
.home-background-device-mode button,.home-background-weather-shortcut button{font:inherit;cursor:pointer;border:1px solid rgba(112,205,231,.42);background:rgba(11,56,78,.95);color:#eefbff;border-radius:12px;padding:9px 12px}
.home-background-device-mode button.is-active{background:linear-gradient(135deg,#13a37d,#066a80);border-color:#42edc5;color:#fff;box-shadow:0 0 0 2px rgba(49,220,179,.12)}
.home-background-weather-shortcut{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;border:1px solid rgba(245,198,83,.32);padding:12px;margin:0 0 16px;border-radius:15px;color:var(--text-primary,#dfebee)}
.home-background-weather-shortcut button:hover{border-color:#f5c653}
.home-background-weather-shortcut button:disabled{opacity:.5}
.home-background-weather-shortcut #saBgQuickWeatherStatus{font-size:12px;color:#eaca70}

/* v16.5.236 — avatar, restaurant, calendar refinements */
.dashboard-avatar-ring>img[hidden],.dashboard-avatar-ring>b[hidden]{display:none!important}
.dashboard-avatar-ring img{object-fit:cover!important;aspect-ratio:1/1}
.dashboard-avatar-crop-dialog{position:fixed;inset:0;z-index:9999;border:1px solid #2c7996;border-radius:24px;background:#082435;color:#f6fafb;width:min(94vw,410px);max-width:410px;padding:20px;box-shadow:0 25px 80px #000a}
.dashboard-avatar-crop-dialog::backdrop{background:rgba(0,10,18,.8);backdrop-filter:blur(5px)}
.avatar-crop-inner{display:grid;gap:13px;justify-items:center;text-align:center;font-family:BYekan,Tahoma,sans-serif}
.avatar-crop-inner h3{margin:0;color:#f4d16a;font-size:20px}
.avatar-crop-inner p{margin:0;font-size:13px;color:#b2d7e5}
.avatar-crop-frame{position:relative;width:248px;height:248px;border:3px solid #e9c65a;border-radius:50%;overflow:hidden;background:#031927;touch-action:none;cursor:grab;box-shadow:0 0 0 6px rgba(232,200,99,.1)}
.avatar-crop-frame:active{cursor:grabbing}
.avatar-crop-frame img{position:absolute;left:50%;top:50%;width:auto;max-width:none;height:auto;object-fit:contain;pointer-events:none;user-select:none}
.avatar-crop-inner>label{display:grid;gap:6px;width:100%;font-size:14px}.avatar-crop-inner input[type=range]{width:100%;accent-color:#e9bd55}
.avatar-crop-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}.avatar-crop-actions button{padding:10px;border-radius:12px;border:1px solid #35657c;background:#0b3950;color:#def9ff;font-family:inherit;font-size:14px;cursor:pointer}.avatar-crop-actions button:last-child{background:#deb849;color:#092c3f;font-weight:900}
body.customer-panel-page>.ambient-sound-toggle{display:none!important}
.customer-drawer-actions #customerAmbientButton{min-width:100%;grid-column:1/-1;border:1px solid rgba(244,210,96,.25);background:rgba(210,173,56,.09);color:#ebcf7e;border-radius:12px;padding:12px 14px;font:800 14px BYekan,Tahoma,sans-serif}
/* Restaurant header exposes only two role-standard buttons. */
body.restaurant-v2 .restaurant-style-switch,body.restaurant-v2 .restaurant-style-switch:hover{background:transparent!important;backdrop-filter:none!important;border:none!important;border-radius:0!important;padding:0!important;gap:8px!important;box-shadow:none!important}
body.restaurant-v2 .restaurant-style-switch__button{min-height:41px!important;border-radius:11px!important;border:1px solid rgba(63,188,223,.44)!important;background:rgba(5,41,59,.88)!important;color:#d9f5fa!important;font:900 13px BYekan,Tahoma,sans-serif!important;padding:9px 17px!important}
body.restaurant-v2 .restaurant-style-switch__button.is-active{background:linear-gradient(135deg,#254967,#1579a1)!important;box-shadow:0 0 12px rgba(62,194,228,.16)!important}
/* Keep the Modern restaurant category bar below the persistent dashboard header. */
@media(min-width:761px){body.restaurant-style-modern .restaurant-v2-command{position:sticky!important;top:82px!important;z-index:52!important}}
/* No redundant leading labels in the orders summary. */
body.restaurant-v2 .restaurant-v2-board-head>div:first-child>span{display:none!important}
/* Manager POS audit, visible even when a deleted row's charged quantity is zero. */
.restaurant-hall-changes{display:grid;gap:5px;padding:9px 4px;margin:9px 0;border-top:1px solid rgba(203,224,242,.18)}
.restaurant-hall-changes>strong{color:#dfc76e;font:800 15px BYekan,Tahoma,sans-serif;text-align:right}
.restaurant-hall-change-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 10px;border-radius:9px;background:rgba(15,48,63,.9);border:1px solid rgba(110,173,208,.2)}
.restaurant-hall-change-row b{margin-inline-end:auto;color:#fff}
.restaurant-hall-change-row span{padding:3px 8px;border-radius:8px;font-weight:800}
.restaurant-hall-change-row em{font-style:normal;padding:3px 9px;border:1px solid currentColor;border-radius:7px}
.restaurant-hall-change-row small{color:#d3e6ee}
.restaurant-hall-change-row.is-removed{background:rgba(119,29,47,.38);border-color:#cc6274}.restaurant-hall-change-row.is-removed span{background:#9c3354;color:white}
.restaurant-hall-change-row.is-added{background:rgba(125,50,97,.37);border-color:#de80b4}.restaurant-hall-change-row.is-added span{background:#ad5079;color:white}
.restaurant-hall-change-row.is-new{background:rgba(24,117,71,.33);border-color:#39d894}.restaurant-hall-change-row.is-new span{background:#1f8b5c;color:white}
#managerOccupancyDialog .manager-occupancy-zoom-controls{grid-row:1;grid-column:1;justify-self:start;align-self:center;display:flex;gap:6px;margin-right:49px}
#managerOccupancyDialog .manager-occupancy-zoom-controls button{width:36px;height:36px;border:1px solid rgba(236,194,87,.38);border-radius:10px;background:#102e44;color:#f4d681;font-size:22px;font-weight:900;cursor:pointer}
#managerOccupancyDialog .manager-occupancy-zoom-controls button:disabled{opacity:.36;cursor:not-allowed}
#managerOccupancyDialog .manager-occupancy-cell,#managerOccupancyDialog .manager-occupancy-room{height:calc(44px * var(--occupancy-zoom,1))!important;min-height:calc(44px * var(--occupancy-zoom,1))!important;max-height:calc(44px * var(--occupancy-zoom,1))!important}
#managerOccupancyDialog .manager-occupancy-date{height:calc(49px * var(--occupancy-zoom,1))!important;min-height:calc(49px * var(--occupancy-zoom,1))!important}
/* Status-colored, subtle GPU-friendly pulsing focus without layout/reflow. */
@keyframes babaOccupancyPulse{0%,100%{box-shadow:0 0 0 1px var(--occ-glow-color),0 0 5px var(--occ-glow-color)}50%{box-shadow:0 0 0 2px var(--occ-glow-color),0 0 15px var(--occ-glow-color)}}
#managerOccupancyDialog .manager-occupancy-cell.is-booking:not(.is-tour){--occ-glow-color:rgba(222,165,90,.65)}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-tour{--occ-glow-color:rgba(243,130,34,.65)}
#managerOccupancyDialog .manager-occupancy-cell.is-stay:not(.is-tour){--occ-glow-color:rgba(239,87,120,.66)}
#managerOccupancyDialog .manager-occupancy-cell.is-stay.is-tour{--occ-glow-color:rgba(170,99,240,.75)}
#managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay):is(:hover,:focus-visible){animation:babaOccupancyPulse 1.8s ease-in-out infinite!important;border-color:var(--occ-glow-color)!important;filter:brightness(1.12)!important}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete svg{width:28px!important;height:28px!important;stroke-width:2.4!important}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour){font-size:15px!important;font-weight:900!important}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row :is(input[type=number],input[inputmode=numeric],.manager-occupancy-extra-inner){text-align:center!important}
@media(prefers-reduced-motion:reduce){#managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay):is(:hover,:focus-visible){animation:none!important}}

/* Inline added quantity by the unit price; the original amount and editable quantity remain unchanged. */
.restaurant-v2-cart-row.has-hall-change.is-hall-added{background:rgba(141,48,103,.18)!important;border-color:rgba(228,111,171,.6)!important}
.restaurant-v2-cart-row.has-hall-change.is-hall-new{background:rgba(27,134,78,.16)!important;border-color:rgba(59,222,129,.56)!important}
.restaurant-v2-cart-row .restaurant-v2-unit-price-editor:has(.restaurant-v2-hall-extra-count){position:relative;padding-inline-end:36px!important}
.restaurant-v2-hall-extra-count{position:absolute;right:2px;top:50%;transform:translateY(-50%);font:900 13px BYekan,Tahoma,sans-serif;color:#fff;background:#a64883;border-radius:7px;padding:3px 6px;white-space:nowrap}
.restaurant-v2-cart-row.is-hall-new .restaurant-v2-hall-extra-count{background:#19845d}


/* v16.5.237 — manager menu cleanup, occupancy request states, header animation */
@media (min-width:761px){
  body::after{content:none!important;display:none!important}
  body[data-page="home"]::after{
    content:""!important;display:block!important;position:fixed;z-index:65;pointer-events:none;
    right:max(18px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 20px));
    width:96px;height:96px;background:url('../icons/icon.png') center/contain no-repeat;
    filter:drop-shadow(0 5px 14px rgba(244,192,65,.23));
    animation:babaCornerIconOrbit 13s linear infinite;transform-origin:50% 50%;
  }
}
@keyframes babaHeaderLogoOrbit{from{transform:scale(2) rotate(0deg)}to{transform:scale(2) rotate(360deg)}}
.dashboard-header-brand-link .dashboard-header-brand,
.dashboard-header-logo img{
  animation:babaHeaderLogoOrbit 13s linear infinite;
  will-change:transform;
}
@media (prefers-reduced-motion:reduce){
  .dashboard-header-brand-link .dashboard-header-brand,
  .dashboard-header-logo img{animation:none!important}
}
/* The dashboard starts directly with the summary strip now. */
.manager-home-body .manager-home-shell{padding-top:calc(92px + var(--dashboard-safe-top,0px))}
.manager-home-summary{margin-top:0}

/* Occupancy request stages: yellow blinking for fresh requests, orange blinking for initial approval. */
@keyframes babaOccRequestYellow{
  0%,100%{box-shadow:0 0 0 1px rgba(255,225,112,.58) inset,0 0 10px rgba(255,217,79,.18)}
  50%{box-shadow:0 0 0 1px rgba(255,230,138,.96) inset,0 0 24px rgba(255,217,79,.52),0 0 38px rgba(255,217,79,.22)}
}
@keyframes babaOccRequestOrange{
  0%,100%{box-shadow:0 0 0 1px rgba(255,164,88,.6) inset,0 0 10px rgba(255,139,58,.18)}
  50%{box-shadow:0 0 0 1px rgba(255,184,123,.98) inset,0 0 24px rgba(255,139,58,.56),0 0 38px rgba(255,139,58,.24)}
}
#managerOccupancyDialog .manager-occupancy-legend i.is-request-pending,
.manager-occupancy-legend i.is-request-pending{background:#8a7018!important;border-color:#ffe176!important;color:#ffe176!important}
#managerOccupancyDialog .manager-occupancy-legend i.is-request-initial,
.manager-occupancy-legend i.is-request-initial{background:#8b4a15!important;border-color:#ffb66e!important;color:#ffb66e!important}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-pending{
  background:linear-gradient(145deg,rgba(136,111,26,.98),rgba(95,68,12,.96))!important;
  border-color:#ffe176!important;color:#fff7d6!important;animation:babaOccRequestYellow 1.2s ease-in-out infinite!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-initial{
  background:linear-gradient(145deg,rgba(147,78,18,.98),rgba(99,47,12,.96))!important;
  border-color:#ffb66e!important;color:#fff1e4!important;animation:babaOccRequestOrange 1.2s ease-in-out infinite!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-pending .manager-occupancy-status.is-primary,
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-initial .manager-occupancy-status.is-primary{font-size:14px!important;line-height:1.08!important}
/* Stronger color-matched hover glow for reservation and stay cells. */
#managerOccupancyDialog .manager-occupancy-cell.is-booking:not(.is-tour):not(.is-request-pending):not(.is-request-initial){--occ-hover-color:rgba(242,192,104,.72)}
#managerOccupancyDialog .manager-occupancy-cell.is-stay:not(.is-tour){--occ-hover-color:rgba(244,110,143,.72)}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-tour{--occ-hover-color:rgba(227,148,255,.72)}
#managerOccupancyDialog .manager-occupancy-cell.is-stay.is-tour{--occ-hover-color:rgba(96,240,221,.72)}
#managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay){overflow:visible}
#managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay):not(.is-request-pending):not(.is-request-initial):is(:hover,:focus-visible){
  animation:babaOccupancyPulse 1.25s ease-in-out infinite!important;
  border-color:var(--occ-hover-color)!important;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--occ-hover-color) 90%, white 10%) inset,0 0 18px var(--occ-hover-color),0 0 28px color-mix(in srgb,var(--occ-hover-color) 55%, transparent 45%)!important;
  filter:brightness(1.13)!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-pending:is(:hover,:focus-visible){
  border-color:#fff19e!important;filter:brightness(1.1)!important;box-shadow:0 0 0 1px rgba(255,241,158,.92) inset,0 0 20px rgba(255,219,93,.52),0 0 34px rgba(255,219,93,.3)!important;
}
#managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-initial:is(:hover,:focus-visible){
  border-color:#ffc792!important;filter:brightness(1.1)!important;box-shadow:0 0 0 1px rgba(255,199,146,.92) inset,0 0 20px rgba(255,144,64,.52),0 0 34px rgba(255,144,64,.3)!important;
}

/* Reservation detail top buttons: same box size, larger labels and trash icon. */
#managerOccupancyDetailDialog .manager-occupancy-detail-topbar{align-items:flex-start}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour){
  min-width:74px!important;min-height:42px!important;padding:0 14px!important;border-radius:12px!important;
  font-size:17px!important;font-weight:900!important;letter-spacing:0!important
}
#managerOccupancyDetailDialog .manager-occupancy-detail-controls{display:flex;align-items:center;gap:10px}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete{
  width:50px;height:50px;min-width:50px;min-height:50px;display:grid;place-items:center;
  border-radius:14px!important
}
#managerOccupancyDetailDialog .manager-occupancy-detail-delete svg{width:34px!important;height:34px!important;stroke-width:2.55!important}

/* Keep the inner extra guest field perfectly centered. */
#managerOccupancyDetailDialog .manager-occupancy-capacity-row .manager-occupancy-extra-inner{
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important
}
#managerOccupancyDetailDialog .manager-occupancy-capacity-row input[name="extra_guest_count"]{
  margin-inline:auto!important;text-align:center!important
}
@media(max-width:700px){
  #managerOccupancyDetailDialog .manager-occupancy-detail-topactions :is(.manager-occupancy-detail-transfer,.manager-occupancy-detail-tour){font-size:16px!important;min-width:68px!important}
  #managerOccupancyDetailDialog .manager-occupancy-detail-delete{width:46px;height:46px;min-width:46px;min-height:46px}
  #managerOccupancyDetailDialog .manager-occupancy-detail-delete svg{width:30px!important;height:30px!important}
}
@media(prefers-reduced-motion:reduce){
  #managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-pending,
  #managerOccupancyDialog .manager-occupancy-cell.is-booking.is-request-initial,
  #managerOccupancyDialog .manager-occupancy-cell:is(.is-booking,.is-stay):is(:hover,:focus-visible){animation:none!important}
}

/* v16.5.238 — center-only flipping logo, truly hidden zero badges, mobile header fit. */
@keyframes babaCenterHeaderFlip {
  0% {transform:scale(2) perspective(600px) rotateY(0deg)}
  100% {transform:scale(2) perspective(600px) rotateY(360deg)}
}
.dashboard-header-logo img {animation:none!important;transform:none!important;will-change:auto!important}
.dashboard-header-title--logo .dashboard-header-brand {
  animation:babaCenterHeaderFlip 3.8s linear infinite!important;
  backface-visibility:visible;transform-origin:center;
}
.dashboard-header-title:not(.dashboard-header-title--logo) .dashboard-header-brand {animation:none!important}
.dashboard-notification-badge[hidden],.dashboard-header-logo [hidden],.dashboard-notification-button [hidden]{display:none!important;visibility:hidden!important}
@media (max-width:760px){
  @keyframes babaCenterHeaderFlipMobile {
    0% {transform:scale(1.4) perspective(450px) rotateY(0deg)}
    100% {transform:scale(1.4) perspective(450px) rotateY(360deg)}
  }
  .dashboard-header-title--logo .dashboard-header-brand{animation-name:babaCenterHeaderFlipMobile!important}
  .dashboard-header-logo img {width:26px!important;height:26px!important;max-width:26px!important}
}
@media (prefers-reduced-motion:reduce){.dashboard-header-title--logo .dashboard-header-brand{animation:none!important;transform:scale(1)!important}}
/* Card numbers are intentionally larger than their IBAN, both centered and LTR. */
.customer-bank-card__number,.payment-card-preview__number{
  font-size:clamp(22px,6.8cqw,49px)!important;line-height:1.1!important;
  font-variant-numeric:tabular-nums;letter-spacing:.008em!important;
}
.customer-bank-card__iban,.payment-card-preview__iban{
  font-size:clamp(15px,4.1cqw,30px)!important;line-height:1.2!important;
  font-variant-numeric:tabular-nums;letter-spacing:0!important;
}
/* Responsive media workspace: bounded menu preview and named compact food cards. */
.chat-restaurant-media-settings{gap:14px}
.chat-restaurant-media-group{padding:14px;border-radius:17px}
.chat-restaurant-media-heading{margin-bottom:10px}
.chat-restaurant-menu-workspace{grid-template-columns:minmax(0,1fr) minmax(180px,220px);gap:12px}
.chat-restaurant-menu-preview{height:230px;min-height:0;max-height:230px;padding:7px;display:flex;flex-direction:column;gap:5px;justify-content:center}
.chat-restaurant-menu-preview img{min-height:0;flex:1;max-height:188px;width:100%;object-fit:contain}
.chat-restaurant-food-grid,.chat-restaurant-pending{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.chat-restaurant-pending{margin:10px 0;padding:10px;border:1px dashed #38b39e;border-radius:13px}
.chat-restaurant-food-item{overflow:visible;display:flex;flex-direction:column}
.chat-restaurant-food-thumb{aspect-ratio:1.5/1;overflow:hidden;border-radius:15px 15px 0 0}
.chat-restaurant-food-thumb img{object-fit:cover}
.chat-restaurant-food-label{display:grid;gap:5px;padding:7px 8px 4px;color:#cceaf5;font:700 12px BYekan,Tahoma,sans-serif}
.chat-restaurant-food-label span{color:#91c9d7}
.chat-restaurant-food-label input{background:#071b2b;color:#fff;border:1px solid #367589;border-radius:9px;min-width:0;width:100%;height:39px;padding:7px 9px;font:700 13px BYekan,Tahoma,sans-serif}
.chat-restaurant-food-label input:focus{outline:2px solid #50dfc5;outline-offset:1px}
.chat-restaurant-food-actions{margin-top:auto}
.chat-restaurant-food-actions :is(button,label){cursor:pointer}
.chat-restaurant-food-empty{grid-column:1/-1;padding:18px;color:#adcad5;text-align:center}
.chat-restaurant-save-foods,.chat-restaurant-save-menu{color:#fff;background:linear-gradient(120deg,#057a6e,#10b99b);border:1px solid #53e6bd}
.chat-restaurant-save-foods[hidden],.chat-restaurant-save-menu[hidden],.chat-restaurant-pending[hidden],.chat-restaurant-upload--foods[hidden]{display:none!important}
.chat-restaurant-food-item.is-pending{border-color:#31d5ad;box-shadow:0 0 0 1px #31d5ad35}
.chat-restaurant-gallery button{position:relative;overflow:hidden}
.chat-restaurant-gallery button .chat-restaurant-food-name{display:block;padding:7px 8px;text-align:center;font:700 13px/1.5 BYekan,Tahoma,sans-serif;color:#f8e5a4;background:#082a3c;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1060px){.chat-restaurant-food-grid,.chat-restaurant-pending{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:730px){
 .chat-restaurant-menu-workspace{grid-template-columns:1fr}
 .chat-restaurant-menu-preview{height:194px;max-height:194px}
 .chat-restaurant-food-grid,.chat-restaurant-pending{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
/* Named food thumbnails retain caption space without cropping the name. */
.chat-restaurant-gallery:not(.is-menu) button{aspect-ratio:auto;display:flex;flex-direction:column;min-height:0}
.chat-restaurant-gallery:not(.is-menu) button img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;flex:none}
@media(max-width:760px){.dashboard-header-logo img{width:40px!important;height:40px!important;max-width:40px!important}}


/* ===== v16.5.239 — mobile occupancy calendar restores horizontal scrolling and larger day cells ===== */
@media(max-width:759px){
  /* Bring the modal header slightly higher on phone screens. */
  #managerOccupancyDialog .manager-occupancy-shell{
    padding:6px 6px 10px!important;
    gap:8px!important;
  }
  #managerOccupancyDialog .manager-occupancy-head--compact{
    padding:0 0 3px!important;
  }
  #managerOccupancyDialog .manager-occupancy-topbar{
    margin-top:-3px!important;
    min-height:36px!important;
    padding:0 2px 2px!important;
    align-items:start!important;
  }
  #managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-heading{
    align-self:start!important;
    transform:translateY(-2px)!important;
  }
  #managerOccupancyDialog .manager-occupancy-topbar .manager-occupancy-heading h2{
    margin:0!important;
    line-height:1.22!important;
  }

  /* Mobile must scroll horizontally instead of squeezing a full month into the viewport. */
  #managerOccupancyDialog .manager-occupancy-scroll{
    overflow-x:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:2px!important;
  }
  #managerOccupancyDialog #managerOccupancyGrid.manager-occupancy-grid{
    --occ-room-width:112px;
    --occ-day-width:72px;
    grid-template-columns:var(--occ-room-width) repeat(var(--occupancy-day-count,30), var(--occ-day-width))!important;
    width:max-content!important;
    min-width:max-content!important;
    max-width:none!important;
    padding:10px 8px!important;
    column-gap:6px!important;
    row-gap:6px!important;
    grid-auto-rows:minmax(70px,auto)!important;
  }
  #managerOccupancyDialog .manager-occupancy-date,
  #managerOccupancyDialog .manager-occupancy-room,
  #managerOccupancyDialog .manager-occupancy-cell{
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  #managerOccupancyDialog .manager-occupancy-date:not(.is-unit-heading),
  #managerOccupancyDialog .manager-occupancy-cell{
    width:var(--occ-day-width)!important;
    min-width:var(--occ-day-width)!important;
    max-width:var(--occ-day-width)!important;
  }
  #managerOccupancyDialog .manager-occupancy-date.is-unit-heading,
  #managerOccupancyDialog .manager-occupancy-room{
    width:var(--occ-room-width)!important;
    min-width:var(--occ-room-width)!important;
    max-width:var(--occ-room-width)!important;
  }
  #managerOccupancyDialog .manager-occupancy-date{
    min-height:70px!important;
    height:70px!important;
    padding:6px 4px!important;
    gap:4px!important;
    border-radius:14px!important;
  }
  #managerOccupancyDialog .manager-occupancy-date b{
    font-size:18px!important;
    line-height:1!important;
  }
  #managerOccupancyDialog .manager-occupancy-date small{
    font:700 12px/1.25 BYekan,Tahoma,sans-serif!important;
  }
  #managerOccupancyDialog .manager-occupancy-date.is-unit-heading{
    right:0!important;
    z-index:7!important;
    font-size:15px!important;
    padding-inline:10px!important;
  }
  #managerOccupancyDialog .manager-occupancy-room{
    right:0!important;
    z-index:6!important;
    min-height:70px!important;
    height:70px!important;
    max-height:70px!important;
    padding:8px 9px!important;
    gap:4px!important;
    border-radius:14px!important;
  }
  #managerOccupancyDialog .manager-occupancy-room strong{
    font:800 15px/1.35 BYekan,Tahoma,sans-serif!important;
    white-space:normal!important;
    text-align:center!important;
  }
  #managerOccupancyDialog .manager-occupancy-room .manager-occupancy-bed-label{
    font:700 12px/1.25 BYekan,Tahoma,sans-serif!important;
  }
  #managerOccupancyDialog .manager-occupancy-cell{
    min-height:70px!important;
    height:70px!important;
    max-height:70px!important;
    padding:6px 4px!important;
    gap:4px!important;
    border-radius:14px!important;
  }
  #managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status.is-primary{
    font:800 12px/1.32 BYekan,Tahoma,sans-serif!important;
    white-space:normal!important;
    padding:0 2px!important;
  }
  #managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-status:not(.is-primary),
  #managerOccupancyDialog .manager-occupancy-cell .is-history-name{
    font-size:12px!important;
    line-height:1.28!important;
  }
  #managerOccupancyDialog .manager-occupancy-cell .manager-occupancy-glyph{
    font-size:20px!important;
  }
  #managerOccupancyDialog .manager-occupancy-group{
    padding:8px 12px!important;
    border-radius:14px!important;
    font-size:13px!important;
    position:sticky!important;
    right:0!important;
    z-index:5!important;
  }
  #managerOccupancyDialog .manager-occupancy-group strong{
    font-size:15px!important;
  }
}


/* v16.5.240 — preserve and inspect original payment evidence, no small WebP thumbnails */
.payment-receipt-block{display:grid;gap:9px;justify-items:center;min-width:0;width:min(100%,300px);margin:12px auto}
.payment-receipt-thumb{display:grid;gap:8px;justify-items:center;width:100%;padding:9px!important;min-height:0!important;max-height:none!important;overflow:hidden;border:1px solid rgba(239,198,91,.55)!important;border-radius:16px!important;background:rgba(6,29,42,.92)!important;cursor:zoom-in;color:#f2ddae!important}
.payment-receipt-thumb img{display:block;width:100%;height:auto;max-height:245px;object-fit:contain;border-radius:10px;background:#fff}
.payment-receipt-thumb span{font:700 12px/1.7 var(--font-ui);text-align:center;color:#f7dd8e}
.payment-receipt-thumb:hover,.payment-receipt-thumb:focus-visible{border-color:#f5d06e!important;box-shadow:0 0 0 1px #e5c76555,0 0 17px #e5c76533!important}
.payment-receipt-download{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:40px;padding:7px 13px;border-radius:11px;border:1px solid #3e8496;background:#0d394a;color:#ffdf83!important;font:800 12px/1.5 var(--font-ui);text-decoration:none!important}
.manager-payment-receipt-block{width:210px;max-width:100%;margin:0 5px}
.manager-payment-receipt-block img{max-height:155px}
.manager-payment-receipt-block .payment-receipt-download{font-size:11px}
.manager-payment-receipt-block .payment-receipt-thumb{padding:7px!important}
.pending-booking-actions .payment-receipt-block{flex:0 1 210px}
.payment-receipt-dialog{position:fixed!important;inset:0!important;width:calc(100vw - 20px)!important;max-width:1600px!important;max-height:calc(100dvh - 20px)!important;height:calc(100dvh - 20px)!important;margin:auto!important;padding:10px!important;border:1px solid #47768b;border-radius:19px!important;background:#061c2a;color:#f0e2bd;overflow:hidden;box-sizing:border-box}
.payment-receipt-dialog::backdrop{background:rgba(0,5,13,.88);backdrop-filter:blur(6px)}
.payment-receipt-toolbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;min-height:42px}
.payment-receipt-toolbar strong{font:800 15px/1.5 var(--font-ui)}
.payment-receipt-toolbar>div{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.payment-receipt-toolbar :is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:6px 10px;border:1px solid #3f6e84;border-radius:10px;color:#ffe28d;background:#14384b;font:700 12px/1.4 var(--font-ui);text-decoration:none;cursor:pointer}
.payment-receipt-image-wrap{display:flex;align-items:center;justify-content:center;overflow:auto;width:100%;height:calc(100% - 65px);border-radius:12px;background:#051420;overscroll-behavior:contain}
.payment-receipt-dialog .payment-receipt-image-wrap img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:auto;border-radius:6px}
.payment-receipt-dialog.is-zoomed .payment-receipt-image-wrap{display:block;text-align:center}
.payment-receipt-dialog.is-zoomed .payment-receipt-image-wrap img{width:auto!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:initial!important;margin:0 auto}
.manager-receipt-dialog.payment-receipt-dialog .manager-receipt-dialog-note{font-size:12px;margin:0 10px 6px}
.manager-receipt-dialog.payment-receipt-dialog:has(.manager-receipt-dialog-note:not([hidden])) .payment-receipt-image-wrap{height:calc(100% - 125px)}
@media(max-width:760px){.payment-receipt-dialog{width:calc(100vw - 8px)!important;height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important;padding:6px!important;border-radius:13px!important}.payment-receipt-toolbar{padding:5px;gap:5px}.payment-receipt-toolbar strong{font-size:12px}.payment-receipt-toolbar :is(a,button){font-size:11px;padding:5px 7px}.payment-receipt-image-wrap{height:calc(100% - 90px)}.manager-payment-receipt-block{width:min(100%,230px)}}

/* v16.5.241 — restaurant for authenticated guests, mobile-first */
.guest-rest-head{text-align:center;display:grid;justify-items:center;gap:5px;margin-bottom:12px}
.guest-rest-head small{color:#f5d17c;font:700 13px BYekan,Tahoma,sans-serif}
.guest-rest-head h2{font:900 clamp(20px,4vw,27px) BYekan,Tahoma,sans-serif;color:#fff;margin:0}
.guest-rest-badge{background:#dd2b66;color:#fff;border-radius:20px;padding:3px 12px;font-size:12px}
.guest-rest-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.guest-rest-actions button{background:linear-gradient(145deg,#123e58,#142744);border:1px solid #2e7897;border-radius:18px;min-height:95px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#effaff;font:900 17px BYekan,Tahoma,sans-serif;cursor:pointer;box-shadow:inset 0 0 28px #42d6c40a}
.guest-rest-actions button i{font-size:30px;font-style:normal;color:#f6d37a}
.guest-rest-actions button em{display:inline-flex;background:#d02469;padding:2px 7px;border-radius:18px;font-style:normal;font-size:12px}
.guest-rest-workspace{display:grid;gap:10px;min-width:0}
.guest-rest-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #386274;padding-bottom:8px}
.guest-rest-subhead h3{margin:0;color:#f9d57c;font:900 17px BYekan,Tahoma,sans-serif}
.guest-rest-subhead button,.guest-rest-bottom button,.guest-rest-download{border:1px solid #448397;border-radius:12px;background:#133e56;color:white;padding:10px 17px;cursor:pointer;font:800 14px BYekan,Tahoma,sans-serif;text-decoration:none}
.guest-rest-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.guest-rest-meals button{border:1px solid #387c92;border-radius:12px;background:#10374f;color:#ebf8ff;padding:12px 4px;font:800 15px BYekan,Tahoma,sans-serif;cursor:pointer}
.guest-rest-meals button.is-on{background:#08988c;color:#fff;border-color:#6ff4d9}
.guest-rest-categories{display:flex;overflow-x:auto;gap:7px;scrollbar-width:thin;padding:4px 0 8px}
.guest-rest-categories button{flex:0 0 auto;border-radius:12px;background:#122e45;border:1px solid #387b91;padding:9px 12px;color:#e7faff;font:800 13px BYekan,Tahoma,sans-serif;white-space:nowrap;cursor:pointer}
.guest-rest-categories button.is-on{box-shadow:0 0 0 2px #eac667 inset;background:#665021}
.guest-rest-foods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:min(47dvh,420px);overflow-y:auto;padding:3px 2px 8px}
.guest-rest-food{display:grid;justify-items:center;align-content:center;gap:7px;text-align:center;position:relative;min-height:76px;border:1px solid #4e8ba2;background:linear-gradient(140deg,#12354c,#0c243e);border-radius:14px;color:#edf9ff;padding:10px 5px;cursor:pointer}
.guest-rest-food b{font:900 clamp(13px,3.2vw,17px) BYekan,Tahoma,sans-serif;line-height:1.35}
.guest-rest-food span{font:700 12px BYekan,Tahoma,sans-serif;color:#aaf1e8}
.guest-rest-food em{position:absolute;top:4px;left:5px;background:#f3cd61;color:#182a38;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font:900 12px BYekan,Tahoma,sans-serif}
.guest-rest-food.is-kebab{border-color:#d19d47;background:linear-gradient(140deg,#493a1e,#182f40)}
.guest-rest-food.is-stew{border-color:#26b59f;background:linear-gradient(140deg,#13554e,#102f42)}
.guest-rest-food.is-drink{border-color:#9580e9;background:linear-gradient(140deg,#362957,#102e46)}
.guest-rest-food.is-dessert{border-color:#dc6fba;background:linear-gradient(140deg,#573050,#152b45)}
.guest-rest-food.is-starter{border-color:#9f7ee0;background:linear-gradient(140deg,#342f58,#132e47)}
.guest-rest-food.is-breakfast{border-color:#d0b45b;background:linear-gradient(140deg,#544920,#183347)}
.guest-rest-cart-title{font:800 15px BYekan,Tahoma,sans-serif;color:#f9d77c;margin:0}
.guest-rest-cart{display:grid;gap:6px;max-height:240px;overflow:auto;min-height:36px}
.guest-rest-cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid #2c6382;background:#10364b;border-radius:12px;padding:7px 9px}
.guest-rest-cart-row b{font:800 12px BYekan,Tahoma,sans-serif;color:white;min-width:0}
.guest-rest-cart-row span{font:800 13px BYekan,Tahoma,sans-serif;color:#79f4d4}
.guest-rest-cart-row div{display:flex;align-items:center;gap:4px}
.guest-rest-cart-row button{background:#1b506a;color:white;border:1px solid #589db2;border-radius:8px;width:28px;height:28px;cursor:pointer}
.guest-rest-cart-row strong{min-width:22px;text-align:center}
.guest-rest-note{display:grid;gap:6px;color:#b4d9e4;font:700 12px BYekan,Tahoma,sans-serif}
.guest-rest-note input{min-width:0;width:100%;height:42px;background:#0b283c;color:white;border:1px solid #3a748c;border-radius:10px;padding:8px 12px;box-sizing:border-box}
.guest-rest-summary{display:flex;align-items:center;justify-content:space-between;gap:6px;background:#103b4e;padding:12px;border:1px solid #428e94;border-radius:12px}
.guest-rest-summary span{font-size:11px;color:#c4e8e8}.guest-rest-summary b{font-size:16px;color:#57f1b9}
.guest-rest-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.guest-rest-bottom button:disabled{opacity:.4;cursor:default}.guest-rest-bottom .is-primary{background:linear-gradient(125deg,#09a76f,#24c69d);color:#071a24;border-color:#53e3b4}
.guest-rest-invoice{display:grid;gap:10px;background:#092b3e;border:1px solid #377991;border-radius:14px;padding:14px}
.guest-rest-invoice h3{text-align:center;margin:0;color:#f6d47b}.guest-rest-invoice small{text-align:center;color:#a6cbd9}
.guest-rest-invoice-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #28576c;padding:6px 0;font-size:13px;color:#f5fcff}
.guest-rest-invoice-row.is-total{font-weight:900;color:#60edb8;font-size:16px}
.guest-rest-confirm-note{padding:12px;border:1px solid #e2b74f;background:#543d1c;color:#ffe7a0;border-radius:12px;text-align:center;font:700 13px BYekan,Tahoma,sans-serif}
.guest-rest-menu-img{border:0;background:transparent;padding:0;cursor:zoom-in}.guest-rest-menu-img img{display:block;width:100%;height:auto;max-height:68dvh;object-fit:contain;border-radius:12px}
.guest-rest-download{text-align:center}
.guest-rest-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.guest-rest-gallery button{background:#11344a;border:1px solid #356d88;border-radius:13px;color:white;padding:8px;cursor:pointer;display:grid;gap:8px;overflow:hidden}
.guest-rest-gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px}.guest-rest-gallery b{font-size:13px}
.guest-rest-tracking{display:grid;gap:10px}.guest-rest-request{background:#10384f;border:1px solid #5884a1;padding:12px;border-radius:14px;display:grid;gap:9px}
.guest-rest-request header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:9px}
.guest-rest-request header span{color:#ffe190}.guest-rest-request.is-approved{border-color:#12c489}.guest-rest-request.is-rejected{border-color:#d05a67}
.guest-rest-request p{margin:0;color:#d6e7f2;font-size:12px}.guest-rest-request strong{color:#5bf1bb}
.guest-rest-soon{color:#ffcd6b!important;font-weight:800}
.guest-rest-empty{text-align:center;padding:16px;color:#dce9f1;line-height:1.8}.guest-rest-status{color:#e5bd6e;font-size:12px}
.guest-rest-lightbox{position:fixed;max-width:98vw;max-height:98dvh;width:98vw;height:98dvh;background:#061925;color:#fff;border:1px solid #41849b;border-radius:18px;padding:14px;overflow:auto;text-align:center}
.guest-rest-lightbox::backdrop{background:#000d}.guest-rest-lightbox img{max-width:none;width:auto;height:auto;max-height:78dvh;object-fit:contain;display:block;margin:0 auto}.guest-rest-lightbox button{position:sticky;top:0;float:right;font-size:25px;background:#b12d55;border:0;border-radius:10px;color:white;cursor:pointer}.guest-rest-lightbox strong{display:block;margin:10px}.guest-rest-lightbox a{color:#f3d179}
.guest-menu-admin{display:grid;gap:14px}.guest-menu-admin-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:9px;max-height:55vh;overflow:auto}.guest-menu-admin-row{display:flex;align-items:center;gap:10px;background:#09283c;border:1px solid #32677e;border-radius:12px;padding:12px;color:white;cursor:pointer}.guest-menu-admin-row input{width:21px;height:21px;accent-color:#14c58e}.guest-menu-admin-row span{display:grid;gap:5px;flex:1}.guest-menu-admin-row span small{color:#9ec0cc}.guest-menu-admin-row strong{color:#f6d37d}.guest-menu-admin>button{border:0;border-radius:12px;padding:13px;background:#11b87e;color:#061d26;font:900 14px BYekan,Tahoma,sans-serif;cursor:pointer}
.restaurant-hall-card.is-guest{border-color:#c48fff!important;background:linear-gradient(155deg,#512d6c,#1c254c)!important;box-shadow:0 0 0 1px #d7aeff33,0 0 15px #a86fff22!important}
.restaurant-hall-card.is-guest .restaurant-hall-source{color:#f1baff!important}
@media(max-width:600px){
 .guest-rest-actions button{min-height:85px}.guest-rest-gallery img{aspect-ratio:1.1}.guest-rest-foods{max-height:39dvh}
 .guest-rest-summary{flex-wrap:wrap}.guest-rest-gallery{gap:7px}
}

.account-menu-tile[data-account-view="restaurant"]{position:relative}.guest-rest-tile-badge{position:absolute;top:5px;left:8px;border-radius:50%;min-width:21px;height:21px;display:grid;place-items:center;background:#d42670;color:white;font:900 11px BYekan,Tahoma,sans-serif;box-shadow:0 0 0 2px #e7c566}

.guest-rest-workspace[hidden],.guest-rest-actions[hidden],.guest-rest-badge[hidden]{display:none!important}
.guest-rest-invoice-logo{display:block;width:74px;height:74px;object-fit:contain;margin:0 auto 4px}
.customer-panel-page[data-portal-theme="light"] .guest-rest-workspace :is(.guest-rest-food b,.guest-rest-cart-row b,.guest-rest-gallery b,.guest-rest-subhead h3,.guest-rest-invoice h3,.guest-rest-summary b,.guest-rest-request header b),
.customer-panel-page[data-portal-theme="light"] .guest-rest-actions b{color:#f5fbff!important}
.customer-panel-page[data-portal-theme="light"] .guest-rest-workspace .guest-rest-food span{color:#b6ffe6!important}
.customer-panel-page[data-portal-theme="light"] .guest-rest-workspace .guest-rest-cart-row span{color:#76f8cf!important}

.ticket-admin-card.is-restaurant-order{background:linear-gradient(155deg,#38235b,#172b49);border-color:#aa7be0;min-height:190px;display:grid;align-content:start}.ticket-open-restaurant{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:11px;background:#7f43bc;color:white!important;text-decoration:none;font:800 13px BYekan,Tahoma,sans-serif;width:fit-content}

/* ===== v16.5.242 — focused mobile lifecycle and guest restaurant refinement ===== */
/* Main welcome panel is redundant while a live reservation/stay status card is displayed. */
.customer-panel-page[data-account-mode="pending"] .customer-welcome-card--compact,
.customer-panel-page[data-account-mode="payment_requested"] .customer-welcome-card--compact,
.customer-panel-page[data-account-mode="receipt_submitted"] .customer-welcome-card--compact,
.customer-panel-page[data-account-mode="confirmed"] .customer-welcome-card--compact,
.customer-panel-page[data-account-mode="checked_in"] .customer-welcome-card--compact{display:none!important}
/* Current request is full-width and centered, not a two-column desktop callout. */
.customer-lifecycle-main.is-pending{display:grid!important;grid-template-columns:minmax(0,1fr)!important;text-align:center;gap:12px;justify-items:stretch}
.customer-lifecycle-main.is-pending .customer-lifecycle-copy{text-align:center;justify-self:center}
.customer-lifecycle-main.is-pending .customer-lifecycle-copy h2{font:900 clamp(23px,5vw,32px)/1.45 BYekan,Tahoma,sans-serif;margin:0;color:#ffe19a}
.customer-lifecycle-main.is-pending .customer-request-state{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px;padding:15px!important;min-height:0!important;border:1px solid #9b814a;background:linear-gradient(135deg,rgba(28,58,62,.85),rgba(43,49,64,.83));border-radius:18px;text-align:center}
.customer-request-state__heading{display:flex;justify-content:center;align-items:center;gap:15px}
.customer-request-state__heading strong{font:900 19px BYekan,Tahoma,sans-serif;color:#f5d77c}
.customer-request-state__heading .customer-request-state__pulse{flex:0 0 12px;height:12px;box-shadow:0 0 13px #ffda63}
.customer-request-state__unit{display:grid;justify-items:center;gap:4px;padding:10px 8px;border-radius:13px;border:1px solid rgba(100,210,220,.28);background:linear-gradient(120deg,rgba(23,110,119,.32),rgba(20,65,98,.5))}
.customer-request-state__unit strong{font:900 clamp(18px,4.8vw,24px)/1.4 BYekan,Tahoma,sans-serif;color:#fff6cd}
.customer-request-state__unit small{color:#b5edf5;font:700 13px BYekan,Tahoma,sans-serif}
.customer-request-state__dates{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.customer-request-state__dates>span{display:grid;gap:5px;justify-items:center;align-content:center;padding:11px 3px;border:1px solid #2d7c89;border-radius:13px;background:#104057b8;min-width:0}
.customer-request-state__dates small{font:700 12px BYekan,Tahoma,sans-serif;color:#9ccad6}
.customer-request-state__dates b{font:900 clamp(14px,3.8vw,19px) BYekan,Tahoma,sans-serif;color:#ffe29a;white-space:nowrap}
.customer-lifecycle-main.is-pending .customer-lifecycle-note.is-request-guide{color:#e1f3f5;border-color:#2f7183;background:#10364b;line-height:1.95;font:600 clamp(13px,3.6vw,17px)/1.95 BMitra,BYekan,Tahoma,sans-serif}
.customer-request-wait{display:block;text-align:center;color:#77f7b5;font:900 clamp(15px,4.1vw,19px) BYekan,Tahoma,sans-serif;animation:requestWaitingPulse 1.9s ease-in-out infinite}
@keyframes requestWaitingPulse{0%,100%{opacity:.68;text-shadow:0 0 1px transparent}50%{opacity:1;text-shadow:0 0 16px #39f2a55e}}
.customer-lifecycle-main.is-pending .customer-request-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;width:100%}
.customer-lifecycle-main.is-pending .customer-request-actions button{width:auto!important;flex:1 1 130px;min-height:43px}
/* In the confirmed and active stay cards, center identity and keep dates readable. */
.customer-lifecycle-main.is-confirmed .customer-lifecycle-copy,.customer-lifecycle-main.is-staying .customer-lifecycle-copy{text-align:center}
.customer-lifecycle-main.is-confirmed .customer-lifecycle-copy p,.customer-lifecycle-main.is-staying .customer-lifecycle-copy p{margin-inline:auto;text-align:center}
.customer-lifecycle-main.is-confirmed .customer-confirmed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.customer-lifecycle-main.is-confirmed .customer-confirmed-grid>div{min-width:0;min-height:94px}
.customer-lifecycle-main.is-confirmed .customer-confirmed-grid strong{font:900 clamp(14px,4vw,20px)/1.3 BYekan,Tahoma,sans-serif}
.customer-lifecycle-main.is-staying{grid-template-columns:minmax(0,1fr)!important}
.customer-lifecycle-main.is-staying .customer-lifecycle-copy{justify-self:center}
.customer-lifecycle-main.is-staying .customer-stay-progress-card{grid-column:1/-1;width:100%;min-width:0}
.customer-lifecycle-main.is-staying .customer-stay-progress-meta{display:flex!important;flex-wrap:nowrap;justify-content:space-between;gap:9px}
.customer-lifecycle-main.is-staying .customer-stay-progress-meta span{min-width:0;white-space:nowrap;font-size:clamp(9px,2.4vw,13px)}
.customer-lifecycle-main.is-staying .customer-stay-progress-meta span:last-child{justify-self:auto!important;margin-inline-start:auto}
/* The manager's decision dialog is a centered, compact single-stage form. */
#managerBookingDecisionDialog.manager-booking-decision-dialog{position:fixed;inset:0;margin:auto!important;max-height:calc(100dvh - 20px);height:auto;width:min(600px,calc(100vw - 22px));overflow-y:auto;padding-top:36px}
#managerBookingDecisionDialog .manager-booking-decision-summary{text-align:center!important;justify-items:center!important;gap:7px;background:linear-gradient(145deg,#123b50,#17344b)}
#managerBookingDecisionDialog .manager-booking-decision-summary strong{font-size:18px;color:#ffe39c}
#managerBookingDecisionDialog .manager-booking-decision-summary .booking-decision-unit{color:#89ede3;font-size:17px}
#managerBookingDecisionDialog .manager-booking-decision-summary small{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;text-align:center}
#managerBookingDecisionDialog .manager-booking-decision-summary small>span{padding:6px 10px;border:1px solid #38667a;border-radius:9px;background:#0e2b40;white-space:nowrap}
#managerBookingDecisionDialog header{text-align:center;padding:7px 36px 9px}
#managerBookingDecisionDialog header h2{font:900 clamp(17px,4vw,25px)/1.4 BYekan,Tahoma,sans-serif;white-space:nowrap;margin-top:6px}
#managerBookingDecisionDialog label[hidden]{display:none!important}
#managerBookingDecisionDialog .manager-booking-decision-actions button{min-height:49px}
/* Request queue cards: one centered line per important field. */
.pending-booking-card .pending-booking-unit{padding:7px 12px;border:1px solid #398e9f;border-radius:10px;color:#ffe4a1;background:#124358;font:900 16px BYekan,Tahoma,sans-serif;text-align:center;margin:7px 0}
.pending-booking-card .pending-booking-total{display:block;color:#65f2c1;background:#103e43;border:1px solid #388e80;border-radius:11px;padding:9px;text-align:center;font:900 18px BYekan,Tahoma,sans-serif}
.pending-booking-card .pending-booking-card__dates span{display:block;text-align:center;white-space:nowrap}
.pending-booking-card .pending-booking-card__dates{justify-items:center;text-align:center;gap:7px}
.pending-booking-card .pending-booking-actions{justify-content:center;flex-wrap:wrap;align-items:center}
.pending-booking-card .pending-booking-actions button{font:900 14px BYekan,Tahoma,sans-serif;min-height:44px;border-radius:12px;transition:filter .16s ease,box-shadow .16s ease}
.pending-booking-card .pending-booking-actions .accept{background:linear-gradient(125deg,#096a50,#17b280)!important;border-color:#49eeb8!important;color:white!important;box-shadow:0 0 10px #18d68e33}
.pending-booking-card .pending-booking-actions .reject{background:linear-gradient(125deg,#862942,#c63e60)!important;border-color:#ff718b!important;color:white!important}
.pending-booking-card .pending-booking-actions .message{background:linear-gradient(125deg,#185873,#1c8197)!important;border-color:#4ee0f2!important;color:white!important}
/* Restaurant panel: only the main modal title and its close X are needed. */
#customerRestaurantDetails .guest-rest-head{margin-bottom:5px}
#customerRestaurantDetails .guest-rest-head>small{display:none}
#customerRestaurantDetails .guest-rest-subhead{display:none}
#customerRestaurantDetails .guest-rest-meals button{background:#102d44!important;color:#bfd9e4!important;border:1px solid #35738b!important;box-shadow:none!important}
#customerRestaurantDetails .guest-rest-meals button.is-on{background:linear-gradient(120deg,#0c856d,#19b59b)!important;color:white!important;border-color:#8efbe0!important;box-shadow:0 0 0 2px #57f8bd55!important}
#customerRestaurantDetails .guest-rest-categories button{color:#f8fbff!important;background:#143149!important}
#customerRestaurantDetails .guest-rest-categories button.is-main{border-color:#2bbbd0!important;background:#075367!important}
#customerRestaurantDetails .guest-rest-categories button.is-kebab{border-color:#b88536!important;background:#76501c!important}
#customerRestaurantDetails .guest-rest-categories button.is-stew{border-color:#1dc59e!important;background:#126458!important}
#customerRestaurantDetails .guest-rest-categories button.is-drink{border-color:#ae79e8!important;background:#563485!important}
#customerRestaurantDetails .guest-rest-categories button.is-starter{border-color:#ee68b9!important;background:#692b5e!important}
#customerRestaurantDetails .guest-rest-categories button.is-dessert{border-color:#ef9a42!important;background:#73401a!important}
#customerRestaurantDetails .guest-rest-categories button.is-breakfast{border-color:#e1b653!important;background:#6e591b!important}
#customerRestaurantDetails .guest-rest-categories button.is-on{box-shadow:0 0 0 2px #ffe7a3 inset,0 0 12px #ffe7a355!important;filter:brightness(1.2)}
#customerRestaurantDetails .guest-rest-food{background:linear-gradient(135deg,#12334a,#0e2639)!important;color:#f3fbff!important;box-shadow:none}
#customerRestaurantDetails .guest-rest-food.is-main{border-color:#26b2d0!important;background:linear-gradient(145deg,#124d61,#0c3047)!important}
#customerRestaurantDetails .guest-rest-food.is-kebab{border-color:#b98737!important;background:linear-gradient(145deg,#4d391e,#182c3e)!important}
#customerRestaurantDetails .guest-rest-food.is-stew{border-color:#27c0a1!important;background:linear-gradient(145deg,#14584c,#0f3041)!important}
#customerRestaurantDetails .guest-rest-food.is-drink{border-color:#ad78e0!important;background:linear-gradient(145deg,#453067,#142e47)!important}
#customerRestaurantDetails .guest-rest-food.is-dessert{border-color:#e68a4a!important;background:linear-gradient(145deg,#5c3a22,#132c41)!important}
#customerRestaurantDetails .guest-rest-food.is-starter{border-color:#e06bac!important;background:linear-gradient(145deg,#562b57,#172d47)!important}
#customerRestaurantDetails .guest-rest-food.is-breakfast{border-color:#e3bb54!important;background:linear-gradient(145deg,#584823,#173344)!important}
#customerRestaurantDetails .guest-rest-food b{font:900 clamp(16px,4.4vw,20px)/1.45 BYekan,Tahoma,sans-serif!important;color:#fff!important;text-shadow:0 1px 3px #0009}
#customerRestaurantDetails .guest-rest-food span{font:900 clamp(17px,4.3vw,21px)/1.3 BYekan,Tahoma,sans-serif!important;color:#89ffda!important;text-shadow:0 1px 2px #002b25}
#customerRestaurantDetails .guest-rest-cart-row button{display:inline-flex!important;align-items:center!important;justify-content:center!important;font:900 22px/1 Arial,sans-serif!important;padding:0!important;min-width:32px;min-height:32px;width:32px;height:32px;border-radius:8px;color:#fff!important}
#customerRestaurantDetails .guest-rest-cart-row button.is-plus{background:#078f6c!important;border:1px solid #3fe4af!important}
#customerRestaurantDetails .guest-rest-cart-row button.is-minus{background:#b12c50!important;border:1px solid #ff6b89!important}
#customerRestaurantDetails .guest-rest-cart-row span{color:#76ffca!important;font:900 16px BYekan,Tahoma,sans-serif}
#customerRestaurantDetails .guest-rest-cart-row b{font-size:14px}
#customerRestaurantDetails .guest-rest-cart-row strong{font-size:16px;color:#fff}
#customerRestaurantDetails .guest-rest-summary b{font:900 19px BYekan,Tahoma,sans-serif}
@media(max-width:700px){
  .customer-panel-page .customer-lifecycle-content{padding:15px 11px!important}
  .customer-lifecycle-main.is-pending{gap:10px!important}
  .customer-lifecycle-main.is-pending .customer-request-state{padding:12px 10px!important}
  .customer-lifecycle-main.is-staying .customer-stay-progress-meta{display:flex!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .customer-lifecycle-main.is-confirmed .customer-confirmed-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pending-booking-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:stretch!important;text-align:center!important}
  .pending-booking-card>div:first-child{text-align:center!important}
  .pending-booking-card h3{font-size:19px}
  .pending-booking-card__dates{grid-column:1;display:flex!important;flex-wrap:wrap!important;gap:8px!important;justify-content:center}
  .pending-booking-card__dates>span{flex:1 1 120px;border:1px solid #275d73;border-radius:10px;padding:7px;background:#103449}
  .pending-booking-card__dates>.pending-booking-total{flex:1 0 100%}
  .pending-booking-actions{grid-column:1!important;display:flex!important;gap:8px!important}
  .pending-booking-actions>.payment-receipt-block{flex:1 1 100%}
  #managerBookingDecisionDialog{padding:32px 14px 15px!important;width:calc(100vw - 18px)!important}
  #managerBookingDecisionDialog header h2{font-size:clamp(16px,4.3vw,19px)!important;white-space:nowrap!important;letter-spacing:-.2px}
  #managerBookingDecisionDialog .manager-booking-decision-summary small{display:flex;gap:5px;flex-wrap:nowrap;justify-content:center;width:100%}
  #managerBookingDecisionDialog .manager-booking-decision-summary small span{font-size:11px;padding:5px 5px}
  #customerRestaurantDetails .guest-rest-head h2{font-size:clamp(20px,5.5vw,25px)!important}
  #customerRestaurantDetails .guest-rest-foods{gap:7px}
  #customerRestaurantDetails .guest-rest-food{min-height:79px;padding:7px 5px}
}
@media(prefers-reduced-motion:reduce){.customer-request-wait,.customer-request-state__pulse{animation:none!important}}

/* v16.5.242 final controls: legible amount, uncropped receipt */
.customer-request-state__price{display:grid;justify-items:center;gap:4px;padding:8px;border:1px solid #548b78;border-radius:12px;background:#073e408a}
.customer-request-state__price small{font:700 12px BYekan,Tahoma,sans-serif;color:#a5e3d5}
.customer-request-state__price strong{font:900 clamp(19px,5vw,25px) BYekan,Tahoma,sans-serif;color:#86ffd3;text-align:center}
.manager-payment-receipt-block{width:min(100%,310px)!important;max-width:100%!important}
.manager-payment-receipt-block img{width:100%!important;height:auto!important;max-height:270px!important;object-fit:contain!important}
.pending-booking-card .manager-payment-receipt-block .payment-receipt-thumb{height:auto!important;min-height:0!important}
@media(max-width:700px){
  .pending-booking-card .manager-payment-receipt-block{width:min(100%,300px)!important;margin:6px auto!important}
  .manager-payment-receipt-block img{max-height:280px!important}
}



/* v16.5.243 — Guest restaurant: dark refined cards, readable status, native-looking badges */
#customerRestaurantDetails .guest-rest-actions{gap:12px!important}
#customerRestaurantDetails .guest-rest-actions>button{
  position:relative!important;isolation:isolate!important;
  border:1px solid #32718a!important;border-radius:17px!important;
  background:linear-gradient(140deg,#0e3953,#102b43)!important;
  box-shadow:inset 0 1px #a9eeff18,0 8px 20px #0003!important;
  color:#f1f9ff!important;padding:12px 8px!important;
  transition:border-color .18s ease,transform .18s ease,background .18s ease!important;
}
#customerRestaurantDetails .guest-rest-actions>button:hover{transform:translateY(-1px);border-color:#47acc0!important}
#customerRestaurantDetails .guest-rest-actions>button i{color:#8ad8e9!important;filter:none!important;text-shadow:none!important}
#customerRestaurantDetails .guest-rest-actions>button b{color:#f1f9ff!important}
#customerRestaurantDetails .guest-rest-actions>button em{display:none!important}
#customerRestaurantDetails .guest-rest-action-badge,
.customer-panel-page .guest-rest-header-badge,
.customer-panel-page .guest-rest-tile-badge{
  position:absolute!important;top:3px!important;left:5px!important;
  display:grid!important;place-items:center!important;
  min-width:23px!important;height:23px!important;padding:0 5px!important;
  border-radius:99px!important;border:2px solid #091d30!important;
  color:#fff!important;background:#e43779!important;box-shadow:0 0 0 2px #f56c993b!important;
  font:900 12px/1 BYekan,Tahoma,sans-serif!important;z-index:3!important;
}
.customer-panel-page .customer-header-brand{position:relative!important}
.customer-panel-page .guest-rest-header-badge{left:0!important;top:-3px!important}
#customerRestaurantDetails .guest-rest-action-badge{left:7px!important;top:7px!important}
#customerRestaurantDetails .guest-rest-menu-img{
  border:0!important;outline:0!important;background:transparent!important;
  border-radius:10px!important;box-shadow:none!important;padding:0!important;
  display:block!important;width:100%!important;overflow:hidden!important;
}
#customerRestaurantDetails .guest-rest-menu-img img{
  display:block!important;width:100%!important;max-width:100%!important;
  height:auto!important;object-fit:contain!important;
  border-radius:10px!important;box-shadow:none!important;
  filter:brightness(.84) saturate(.9)!important;
}
#customerRestaurantDetails .guest-rest-workspace:has(.guest-rest-menu-img){
  background:linear-gradient(155deg,#051623d9,#102b40df)!important;
  border-radius:17px!important;padding:12px!important;
  backdrop-filter:blur(7px)!important;
}
#customerRestaurantDetails .guest-rest-workspace:has(.guest-rest-gallery){background:transparent!important;box-shadow:none!important}
#customerRestaurantDetails .guest-rest-gallery{gap:12px!important}
#customerRestaurantDetails .guest-rest-gallery button{
  border:0!important;background:transparent!important;box-shadow:none!important;
  border-radius:12px!important;color:#fff!important;
  padding:0!important;gap:4px!important;overflow:visible!important;
}
#customerRestaurantDetails .guest-rest-gallery button img{
  display:block!important;width:100%!important;aspect-ratio:1!important;
  object-fit:cover!important;border:0!important;box-shadow:none!important;
  border-radius:12px!important;
}
#customerRestaurantDetails .guest-rest-gallery button b{
  font:800 14px/1.45 BYekan,Tahoma,sans-serif!important;
  color:#f0f8ff!important;padding:5px 2px 9px!important;text-align:center!important;
}
#customerRestaurantDetails .guest-rest-food em{
  background:#0eb88d!important;color:#fff!important;border:1px solid #80ffda!important;
  box-shadow:0 0 0 2px #001c2daa!important;border-radius:50%!important;
  width:24px!important;height:24px!important;
}
#customerRestaurantDetails .guest-rest-bottom button{
  background:linear-gradient(130deg,#10415a,#155978)!important;
  border:1px solid #4fa0bc!important;color:#f0faff!important;
  font:900 14px/1.35 BYekan,Tahoma,sans-serif!important;
  min-height:48px!important;padding:9px 8px!important;
}
#customerRestaurantDetails .guest-rest-bottom button.is-primary{
  background:linear-gradient(125deg,#05a768,#20c898)!important;
  color:#07242a!important;border-color:#71f1ba!important;
  box-shadow:0 6px 18px #03987536!important;
}
#customerRestaurantDetails .guest-rest-bottom button:disabled{opacity:.45!important}
#customerRestaurantDetails .guest-rest-tracking{gap:10px!important}
#customerRestaurantDetails .guest-rest-request{
  border:1px solid #477c97!important;
  background:linear-gradient(145deg,#102d42,#102e43)!important;
  padding:13px!important;border-radius:15px!important;gap:11px!important;
}
#customerRestaurantDetails .guest-rest-request.is-approved{border-color:#20b78d!important}
#customerRestaurantDetails .guest-rest-request.is-rejected{border-color:#c45b77!important}
#customerRestaurantDetails .guest-rest-request header{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  flex-wrap:nowrap!important;gap:8px!important;
}
#customerRestaurantDetails .guest-rest-request header b{
  font:900 clamp(15px,4.3vw,18px)/1.3 BYekan,Tahoma,sans-serif!important;
  color:#f8fcff!important;white-space:nowrap!important;
}
#customerRestaurantDetails .guest-rest-state{
  border:1px solid #e0ad43!important;background:#6e4c1e!important;color:#fff4cd!important;
  border-radius:10px!important;padding:7px 10px!important;
  font:800 clamp(11px,3.2vw,13px)/1.3 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;
}
#customerRestaurantDetails .guest-rest-state.is-approved{
  border-color:#27bf88!important;background:#0e654d!important;color:#e2ffef!important;
}
#customerRestaurantDetails .guest-rest-state.is-rejected{
  border-color:#da617c!important;background:#6b2846!important;color:#ffe3ed!important;
}
#customerRestaurantDetails .guest-rest-request-unit{
  color:#f3e1a8!important;font:850 14px BYekan,Tahoma,sans-serif!important;text-align:center!important;
}
#customerRestaurantDetails .guest-rest-request p{text-align:center!important;font-size:13px!important;line-height:1.6!important}
#customerRestaurantDetails .guest-rest-request-total{
  display:block!important;text-align:center!important;width:100%!important;
  font:900 20px/1.5 BYekan,Tahoma,sans-serif!important;color:#54edb1!important;
}
#customerRestaurantDetails .guest-rest-edit-pending{
  display:block!important;min-height:43px!important;width:100%!important;border-radius:11px!important;
  background:#154e68!important;border:1px solid #3d97b3!important;color:#f2faff!important;
  font:900 14px BYekan,Tahoma,sans-serif!important;cursor:pointer!important;
}
#customerRestaurantDetails .guest-rest-cart-row button.is-plus{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#058c65!important;color:#fff!important;border:1px solid #3fd5a4!important;
  font:900 23px/1 Arial,sans-serif!important;padding:0!important;
}
#customerRestaurantDetails .guest-rest-cart-row button.is-minus{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:#a52d4f!important;color:#fff!important;border:1px solid #ef7292!important;
  font:900 23px/1 Arial,sans-serif!important;padding:0!important;
}
@media(max-width:600px){
 #customerRestaurantDetails .guest-rest-actions>button{min-height:95px!important}
 #customerRestaurantDetails .guest-rest-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 #customerRestaurantDetails .guest-rest-workspace:has(.guest-rest-menu-img){padding:8px!important}
 #customerRestaurantDetails .guest-rest-request header{align-items:flex-start!important}
 #customerRestaurantDetails .guest-rest-state{max-width:56%;white-space:normal!important}
}
/* Edit pending guest orders directly from their tracking cards. */
#customerRestaurantDetails .guest-rest-request[data-guest-edit-request]{cursor:pointer!important;transition:border-color .18s ease,box-shadow .18s ease!important}
#customerRestaurantDetails .guest-rest-request[data-guest-edit-request]:hover,
#customerRestaurantDetails .guest-rest-request[data-guest-edit-request]:focus-visible{border-color:#e6b75a!important;box-shadow:0 0 0 2px #d9b76040!important;outline:0!important}
#customerRestaurantDetails .guest-rest-edit-hint{font:800 12px BYekan,Tahoma,sans-serif!important;color:#9ddbea!important;text-align:center!important}


/* v16.5.244: manager restaurant mobile layout — no fixed desktop control offsets. */
.restaurant-mobile-toolbar{display:none}
.restaurant-mobile-pending-count{
  position:absolute;top:-7px;left:-5px;min-width:19px;height:19px;
  padding:0 4px;box-sizing:border-box;display:grid;place-items:center;
  border-radius:99px;border:2px solid #0d2a3e;background:#f33772;
  color:white;font:900 10px BYekan,Tahoma,sans-serif;
  box-shadow:0 0 12px rgba(237,50,115,.35);
}
.restaurant-mobile-pending-count[hidden]{display:none!important}
@media(max-width:820px){
  html:has(body.restaurant-v2),body.restaurant-v2{max-width:100%;overflow-x:hidden!important}
  body.restaurant-v2,body.restaurant-v2 *{box-sizing:border-box}
  body.restaurant-v2 .dashboard-header-actions{display:none!important}
  body.restaurant-v2 .restaurant-v2-header-manage,
  body.restaurant-v2 #restaurantNewOrder,
  body.restaurant-v2 .restaurant-v2-header-new,
  body.restaurant-v2 #restaurantOrdersToggle,
  body.restaurant-v2 .restaurant-style-switch,
  body.restaurant-v2 #restaurantMobileCreateInvoice{display:none!important}
  body.restaurant-v2 .restaurant-mobile-toolbar{
    position:fixed;top:calc(68px + var(--dashboard-safe-top,0px));
    inset-inline:0;z-index:1195;direction:rtl;
    display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));
    gap:4px;padding:7px 7px 8px;width:100%;max-width:100vw;
    min-height:66px;background:rgba(3,22,37,.97);
    border-bottom:1px solid rgba(69,160,196,.28);
    box-shadow:0 9px 25px rgba(0,0,0,.25);
  }
  body.restaurant-v2 .restaurant-mobile-toolbar :is(a,button){
    position:relative;min-width:0;max-width:100%;width:100%;
    min-height:49px;padding:5px 2px;display:flex;align-items:center;justify-content:center;
    border:1px solid #276078;border-radius:11px;
    background:linear-gradient(135deg,#0b3950,#082638);color:#e8f7fe;
    font:800 clamp(9px,2.5vw,12px)/1.3 BYekan,Tahoma,sans-serif;
    text-align:center;text-decoration:none;white-space:normal;overflow-wrap:normal;
    -webkit-tap-highlight-color:transparent;cursor:pointer;
  }
  body.restaurant-v2 .restaurant-mobile-toolbar .restaurant-mobile-toolbar__back{
    border-color:rgba(255,105,121,.48);background:linear-gradient(135deg,#99253a,#661b2c);color:white;
  }
  body.restaurant-v2 .restaurant-mobile-toolbar button.is-green{
    border-color:#36d5a0;background:linear-gradient(135deg,#0c9d76,#04775c);color:white;
  }
  body.restaurant-v2 .restaurant-mobile-toolbar button.is-gold{
    border-color:#e9be59;background:linear-gradient(135deg,#8d6426,#6b4b1b);color:#fff4cf;
  }
  body.restaurant-v2 .restaurant-mobile-toolbar button.is-active{
    border-color:#5cd7f8;background:linear-gradient(135deg,#21658c,#0e456b);
    box-shadow:inset 0 0 0 1px rgba(99,226,255,.19);
  }
  body.restaurant-v2 .restaurant-v2-shell{
    width:calc(100% - 12px)!important;max-width:calc(100% - 12px)!important;
    padding:calc(144px + var(--dashboard-safe-top,0px)) 0 25px!important;
    margin:0 auto!important;
  }
  body.restaurant-v2 .restaurant-v2-board,
  body.restaurant-v2 .restaurant-v2-command,
  body.restaurant-v2 .restaurant-v2-orders-grid,
  body.restaurant-v2 .restaurant-hall-grid{
    min-width:0!important;max-width:100%!important;
  }
  body.restaurant-v2 .restaurant-v2-orders-grid,
  body.restaurant-v2 .restaurant-hall-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.restaurant-v2 .restaurant-v2-board-head{margin:3px 0 12px!important;}
  body.restaurant-v2 .restaurant-v2-board-head>div{min-width:0!important;}
  body.restaurant-v2 .restaurant-v2-board-head h2{font-size:clamp(18px,5vw,24px)!important;white-space:normal}
  body.restaurant-style-modern2 .restaurant-v2-overlay:not([hidden]){
    margin:calc(140px + var(--dashboard-safe-top,0px)) 0 0!important;
    padding:5px 6px 12px!important;width:100%!important;max-width:100%!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-floating-workspace{
    max-width:100%!important;width:100%!important;
    height:calc(100dvh - 150px - var(--dashboard-safe-top,0px))!important;
    min-width:0!important;
  }
  body.restaurant-style-modern .restaurant-v2-overlay:not([hidden]){
    top:calc(134px + var(--dashboard-safe-top,0px))!important;
    inset-inline:0!important;width:100%!important;max-width:100%!important;
    height:calc(100dvh - 134px - var(--dashboard-safe-top,0px))!important;
    padding:6px!important;
  }
  body.restaurant-v2 #restaurantOrderPanel,
  body.restaurant-v2 .restaurant-v2-floating-workspace{min-width:0!important;max-width:100%!important}
}
@media(max-width:380px){
  body.restaurant-v2 .restaurant-mobile-toolbar{gap:3px;padding-inline:4px}
  body.restaurant-v2 .restaurant-mobile-toolbar :is(a,button){font-size:11px!important;padding-inline:1px!important}
  body.restaurant-v2 .restaurant-v2-orders-grid,
  body.restaurant-v2 .restaurant-hall-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Keep the public homepage logo at 70% of its previous MOBILE size only. */
@media(max-width:499px){.hero .brand-logo-refresh{width:min(56vw,280px)!important}}
@media(min-width:500px) and (max-width:760px){.hero .brand-logo-refresh{width:min(45.92vw,241px)!important}}
@media(min-width:761px) and (max-width:1100px) and (orientation:portrait){
  .hero .brand-logo-refresh{width:clamp(134px,14.56vw,202px)!important}
}


/* v16.5.245: fixed header artwork, correct restaurant Back, customer mobile UX. */
/* All dashboard header logos stay completely still. The independent home icon continues to orbit. */
.dashboard-global-header .dashboard-header-brand-link .dashboard-header-brand,
.dashboard-global-header .dashboard-header-title--logo .dashboard-header-brand,
.dashboard-global-header .dashboard-header-logo img,
.customer-global-header .customer-header-brand img,
.customer-global-header .customer-header-brand,
:is(.hall-body,.kitchen-body,.superadmin-body,.warehouse-body) .dashboard-header-brand {
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
.dashboard-global-header .dashboard-header-title--logo .dashboard-header-brand{transform:scale(2)!important}
@media(max-width:760px){
  .dashboard-global-header .dashboard-header-title--logo .dashboard-header-brand{transform:scale(1.4)!important}
}
/* Restaurant mobile toolbar contains only its five actions. Back is the shared top header action. */
@media(max-width:820px){
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions{
    display:flex!important;align-items:center!important;justify-content:flex-end!important;
    width:auto!important;max-width:38vw!important;position:relative!important;z-index:3!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-back{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-width:74px!important;width:auto!important;height:40px!important;
    padding:0 12px!important;margin:0!important;white-space:nowrap!important;
    color:#fff!important;background:linear-gradient(135deg,#ad334b,#752032)!important;
    border:1px solid #e0647a!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-back b{
    display:inline!important;font:800 12px/1.3 BYekan,Tahoma,sans-serif!important;
    color:inherit!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-back::before{content:none!important}
  body.restaurant-v2 .restaurant-mobile-toolbar{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
/* Account header is a true three-part grid, independent of document zoom and text direction. */
.customer-panel-page .customer-global-header{
  display:grid!important;grid-template-columns:50px minmax(0,1fr) 50px!important;
  direction:rtl!important;align-items:center!important;justify-items:center!important;
  padding-inline:max(13px,env(safe-area-inset-left))!important;
  column-gap:4px!important;
}
.customer-panel-page .customer-global-header .account-theme-toggle,
.customer-panel-page .customer-global-header .customer-menu-button{
  position:static!important;transform:none!important;margin:0!important;
  justify-self:center!important;align-self:center!important;
  display:grid!important;place-items:center!important;
  width:45px!important;height:45px!important;min-width:45px!important;
  border-radius:14px!important;padding:0!important;
}
.customer-panel-page .customer-global-header .customer-menu-button{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important}
.customer-panel-page .customer-global-header .customer-header-brand{
  position:static!important;justify-self:center!important;align-self:center!important;
  min-width:0!important;max-width:100%!important;width:min(178px,100%)!important;
  height:100%!important;display:flex!important;justify-content:center!important;align-items:center!important;
}
.customer-panel-page .customer-global-header .customer-header-brand img{
  display:block!important;width:100%!important;height:58px!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;transform:none!important;
}
.customer-panel-page .customer-header-title{display:none!important}
/* The gold emblem is independent of the static header logo and is visible on mobile too. */
.customer-panel-page::after{display:none!important;content:none!important}
.customer-panel-page .customer-floating-gold-emblem{
  display:grid!important;place-items:center!important;position:fixed!important;
  inset:auto auto calc(16px + env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))!important;
  z-index:70!important;width:82px!important;height:82px!important;
  pointer-events:none!important;user-select:none!important;
}
.customer-panel-page .customer-floating-gold-emblem img{
  display:block;width:100%;height:100%;object-fit:contain;
  animation:babaCornerIconOrbit 13s linear infinite!important;
  transform-origin:50% 50%;filter:drop-shadow(0 4px 12px #dba83257);
}
@media(max-width:700px){
  .customer-panel-page .customer-global-header{grid-template-columns:46px minmax(0,1fr) 46px!important;padding-inline:12px!important}
  .customer-panel-page .customer-global-header .account-theme-toggle,
  .customer-panel-page .customer-global-header .customer-menu-button{
    width:44px!important;height:44px!important;min-width:44px!important;
  }
  .customer-panel-page .customer-global-header .customer-header-brand{width:min(140px,100%)!important}
  .customer-panel-page .customer-global-header .customer-header-brand img{height:49px!important}
  .customer-panel-page .customer-floating-gold-emblem{width:66px!important;height:66px!important;bottom:calc(18px + env(safe-area-inset-bottom))!important}
}
@media(prefers-reduced-motion:reduce){.customer-panel-page .customer-floating-gold-emblem img{animation:none!important}}
/* Welcome copy should read like a single centered introduction on desktop and mobile. */
.customer-panel-page .customer-welcome-card--compact{
  flex-direction:column!important;align-items:center!important;justify-content:center!important;
  text-align:center!important;gap:12px!important;
}
.customer-panel-page .customer-welcome-card--compact>div{
  text-align:center!important;width:100%!important;min-width:0!important;
}
.customer-panel-page .customer-welcome-card--compact :is(span,h1,p){text-align:center!important;margin-inline:auto!important}
.customer-panel-page .customer-welcome-card--compact .customer-manager-chat-button{margin-inline:auto!important}
/* Request form: prominent green submission, clearly differentiated red Back control. */
.customer-panel-page .account-ticket-actions button[type="submit"]{
  background:linear-gradient(120deg,#06a870,#16c995)!important;
  border:1px solid #55eec1!important;color:#052e29!important;
  box-shadow:0 5px 15px #0b94702b!important;
}
.customer-panel-page .account-ticket-actions #customerTicketReturn{
  background:linear-gradient(125deg,#a82c4b,#7c243c)!important;
  border:1px solid #f47791!important;color:#fff5f8!important;
  box-shadow:0 5px 15px #891a3a2a!important;
}
.customer-panel-page .account-ticket-empty,
.customer-panel-page #customerTicketsHistory:not(:has(.account-ticket-record)),
.customer-panel-page #customerTicketStatus{text-align:center!important}
.customer-panel-page .account-ticket-empty{
  display:grid;place-items:center;width:100%;padding:20px 12px;
  color:#c5e5eb;font:700 15px/1.8 BYekan,Tahoma,sans-serif;
}
@media(max-width:450px){
  .customer-panel-page .account-ticket-actions{gap:9px!important}
  .customer-panel-page .account-ticket-actions button{min-width:0!important;font-size:15px!important}
}

/* v16.5.247 — Restaurant archived receipts and A4 report. */
.restaurant-history-button{border-color:#42cbd3!important;color:#a3f8ff!important}
.restaurant-history-overlay[hidden]{display:none!important}
.restaurant-history-overlay{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:18px;background:rgba(1,9,18,.97);backdrop-filter:blur(7px)}
.restaurant-history-open{overflow:hidden!important}
.restaurant-history-modal{direction:rtl;outline:none;width:min(1230px,96vw);max-height:min(92dvh,920px);display:flex;flex-direction:column;gap:14px;overflow:hidden;padding:22px;border:1px solid #267a96;border-radius:25px;background:linear-gradient(145deg,#0c3147,#061e31 75%);color:#f4fbff;box-shadow:0 30px 85px #000a;font-family:BYekan,Tahoma,sans-serif}
.restaurant-history-head{display:grid;grid-template-columns:65px minmax(0,1fr) 140px;align-items:center;gap:10px;text-align:center}
.restaurant-history-head small{color:#e7c66a;font-size:12px}.restaurant-history-head h2{font-size:clamp(19px,2vw,29px);margin:2px 0 0}
.restaurant-history-close{position:relative!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;place-self:start;display:grid;place-items:center;width:47px;height:47px;border-radius:12px;background:#a5234b;color:#fff;font-size:24px}
.restaurant-history-print,.restaurant-history-apply{border:1px solid #d7b34d;border-radius:12px;background:linear-gradient(125deg,#ac7e31,#f5d471);color:#14273b;font:900 14px BYekan;padding:11px 15px;cursor:pointer}
.restaurant-history-totals{display:grid;grid-template-columns:minmax(0,2.7fr) minmax(120px,1fr);gap:12px}
.restaurant-history-totals>div{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;min-height:72px;background:#0b3850;border:1px solid #2d7189;border-radius:16px;padding:10px;text-align:center}
.restaurant-history-totals span{font-size:13px;color:#d1e8f3}.restaurant-history-totals b{font-size:clamp(21px,2.5vw,33px);color:#53e6c7;font-variant-numeric:tabular-nums}.restaurant-history-totals small{font-size:11px;color:#cdebf4}
.restaurant-history-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(130px,1fr)) minmax(150px,1fr) 96px 90px;gap:9px;align-items:end}
.restaurant-history-filters label{display:grid;gap:5px;font-size:11px;color:#b9dae9}.restaurant-history-filters input,.restaurant-history-filters select{min-width:0;width:100%;height:42px;border:1px solid #327b94;border-radius:10px;background:#092739;color:#fff;font:700 13px BYekan;padding:8px}
.restaurant-history-clear{height:42px;border:1px solid #9a4b65;background:#512b42;color:#ffdce5;border-radius:10px;font:800 12px BYekan;cursor:pointer}
.restaurant-history-list{min-height:130px;overflow:auto;border:1px solid #1e5b74;border-radius:14px;background:#062235;flex:1}
.restaurant-history-table{width:100%;border-collapse:collapse;text-align:center;white-space:nowrap;font:700 13px BYekan}
.restaurant-history-table th{position:sticky;top:0;background:#18465d;color:#f6d678;padding:13px 9px;z-index:1}.restaurant-history-table td{padding:12px 9px;border-bottom:1px solid #245068;color:#e9f6fa}
.restaurant-history-table tr:hover td{background:#154156}.restaurant-history-amount{color:#49edc9!important;font-size:16px}.restaurant-history-table button{border:1px solid #52b8e6;border-radius:10px;background:#135374;color:#f2fcff;font:800 12px BYekan;padding:8px 11px;cursor:pointer}
.restaurant-history-empty{text-align:center;color:#cce7f2;padding:34px 10px}
.restaurant-history-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.restaurant-history-footer>div{display:flex;gap:8px}.restaurant-history-footer button{padding:9px 13px;border:1px solid #4187a5;border-radius:10px;background:#0f405a;color:#e9f8ff;font:800 12px BYekan;cursor:pointer}.restaurant-history-footer button:disabled{opacity:.35;cursor:default}
@media(max-width:820px){
 body.restaurant-v2 .restaurant-mobile-toolbar{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .restaurant-history-overlay{padding:7px}.restaurant-history-modal{width:100%;max-height:95dvh;padding:12px;gap:9px;border-radius:19px}
 .restaurant-history-head{grid-template-columns:40px minmax(0,1fr) 83px;gap:5px}.restaurant-history-head h2{font-size:17px}.restaurant-history-head small{font-size:10px}.restaurant-history-close{width:38px;height:38px;font-size:21px}
 .restaurant-history-print{font-size:11px;padding:7px 4px}.restaurant-history-totals{gap:7px;grid-template-columns:minmax(0,2fr) minmax(83px,1fr)}.restaurant-history-totals>div{min-height:62px;padding:6px;gap:4px}.restaurant-history-totals span{font-size:10px}.restaurant-history-totals b{font-size:19px}
 .restaurant-history-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.restaurant-history-filters .restaurant-history-search{grid-column:1 / -1}.restaurant-history-filters label{font-size:10px}.restaurant-history-filters input,.restaurant-history-filters select{height:37px;font-size:11px}
 .restaurant-history-list{min-height:150px}.restaurant-history-table-wrap{min-width:720px}.restaurant-history-table{font-size:11px}
 .restaurant-history-table th,.restaurant-history-table td{padding:10px 6px}.restaurant-history-footer button{padding:8px}
}
@media(max-width:370px){body.restaurant-v2 .restaurant-mobile-toolbar{gap:2px;padding-inline:4px}body.restaurant-v2 .restaurant-mobile-toolbar button{font-size:11px!important}}

.restaurant-history-compact{display:none}
@media(min-width:821px) and (max-width:1080px){body.restaurant-v2 .restaurant-history-compact{display:block;position:fixed;top:17px;left:130px;z-index:1250;min-height:39px;padding:0 17px;border-radius:12px;border:1px solid #42bfcf;background:#0b3851;color:#a7f4ff;font:900 13px BYekan,Tahoma,sans-serif;cursor:pointer}}
/* v16.5.249: customer identity, dashboard controls and a packaged restaurant hero. */
.customer-panel-page .account-restaurant-promo{
 background:linear-gradient(90deg,rgba(2,14,21,.10),rgba(2,14,21,.03)),url('/static/images/customer-restaurant-banner.webp') center/cover no-repeat!important;
}
.customer-panel-page .account-promo-copy{margin-inline-start:auto;align-self:flex-end;padding:12px 22px!important;background:none!important}
.customer-panel-page .account-restaurant-promo .account-promo-copy small,
.customer-panel-page .account-restaurant-promo .account-promo-copy h2,
.customer-panel-page .account-restaurant-promo .account-promo-copy p{display:none!important}
.customer-panel-page .account-promo-copy button{margin:0!important}
.customer-panel-page .customer-manager-chat-button{justify-content:center!important;text-align:center!important}
.customer-panel-page .customer-profile-identity{margin-top:34px;margin-bottom:25px;gap:9px}
.customer-panel-page .customer-avatar-picker{width:104px;height:104px;border-radius:50%;position:relative;display:grid;place-items:center;cursor:pointer;border:3px solid #65cbe6;background:linear-gradient(140deg,#126783,#173d58);box-shadow:0 0 0 5px rgba(94,190,218,.12)}
.customer-panel-page .customer-avatar-picker img{position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover}
.customer-panel-page .customer-avatar-picker span{font-size:33px;font-weight:800;color:#eec75e}
.customer-panel-page .customer-avatar-picker i{position:absolute;right:-5px;bottom:0;z-index:2;display:grid;place-items:center;background:#f1ca5c;color:#123344;width:29px;height:29px;border-radius:50%;font:24px/1 sans-serif;font-style:normal}
.customer-avatar-dialog{position:fixed;inset:0;margin:auto;max-width:calc(100vw - 26px);width:440px;max-height:94dvh;overflow-y:auto;border-radius:22px;border:1px solid #3b87a8;padding:21px;background:#09283a;color:#f3faff;text-align:center;box-shadow:0 24px 70px #0009}
.customer-avatar-dialog::backdrop{background:#010d18c7;backdrop-filter:blur(5px)}
.customer-avatar-dialog h2{font-size:21px;margin:6px 28px 5px}.customer-avatar-dialog p{font-size:12px;color:#a9cdd8}
.customer-avatar-dialog canvas{width:min(100%,340px);aspect-ratio:1;border-radius:50%;border:3px solid #5de6c6;touch-action:none;cursor:grab;display:block;margin:16px auto}
.customer-avatar-dialog label{display:grid;gap:8px;font-size:13px}.customer-avatar-dialog input{width:90%;margin:0 auto;accent-color:#46dca8}
.customer-avatar-dialog #customerAvatarSave{margin:14px auto 5px;padding:13px 30px;border-radius:12px;background:linear-gradient(100deg,#0cb17e,#14c99f);color:#fff;border:1px solid #60e9c0;font-weight:800;font-family:var(--font-ui)}
.customer-avatar-dialog .dialog-x{position:absolute;right:12px;top:6px}
@media(max-width:700px){
 .customer-panel-page .account-restaurant-promo{min-height:175px;background-position:center!important}
 .customer-panel-page .account-promo-copy{padding:9px!important}
 .customer-panel-page .account-promo-copy button{font-size:12px;padding:7px 12px}
}
.customer-panel-page .customer-drawer-logo{display:grid;place-items:center;margin:18px auto 8px}
.customer-panel-page .customer-drawer-logo img{max-width:100px;max-height:90px;object-fit:contain}
.customer-panel-page .customer-profile-identity{margin-top:40px}
.dashboard-profile-drawer .dashboard-footer-actions .ambient-sound-toggle--drawer{
 position:relative!important;inset:auto!important;bottom:auto!important;left:auto!important;right:auto!important;
 transform:none!important;z-index:auto!important;display:flex;align-items:center;justify-content:center;
 margin:0!important;width:auto!important;min-width:0!important;height:42px!important;border-radius:13px!important;
 font:700 18px/1 var(--font-ui)!important;
}
.dashboard-profile-drawer .dashboard-footer-actions .ambient-sound-toggle--drawer[hidden]{display:none!important}
.dashboard-profile-drawer .dashboard-footer-actions .ambient-sound-toggle--drawer span{position:static!important;inset:auto!important}
.dashboard-profile-drawer .dashboard-footer-actions:has(.ambient-sound-toggle--drawer:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:700px){
 .customer-panel-page .customer-global-header .customer-header-brand{width:min(162px,100%)!important}
 .customer-panel-page .customer-global-header .customer-header-brand img{height:55px!important}
}
/* Shared bare X without an inconsistent background in archived restaurant dialog. */
.restaurant-history-close.restaurant-history-close{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;color:#ff648b!important;font-size:32px!important;padding:0!important}
.restaurant-history-close.restaurant-history-close:hover{background:transparent!important;filter:drop-shadow(0 0 9px #ff5f88)}


/* v16.5.250 — guest mobile CTA, centered header mark, compact drawer, responsive restaurant banners */
.customer-panel-page .customer-global-header{
  border-radius:16px 16px 0 0!important;
  min-height:76px!important;
}
.customer-panel-page .customer-global-header .customer-header-brand{
  width:min(200px,100%)!important;
  max-width:200px!important;
  height:75px!important;
}
.customer-panel-page .customer-global-header .customer-header-brand img{
  width:100%!important;height:72px!important;
  max-height:72px!important;object-fit:contain!important;
}
.customer-panel-page .customer-welcome-reserve-cta{
  display:flex!important;align-items:center!important;justify-content:center!important;
  align-self:center!important;
  min-width:210px!important;min-height:52px!important;
  padding:10px 28px!important;border-radius:14px!important;
  border:1px solid #ffe5a4!important;
  background:linear-gradient(105deg,#e5b93e,#ffe187)!important;
  box-shadow:0 7px 20px rgba(224,173,59,.17)!important;
  font:900 18px/1.4 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;color:#082537!important;
  cursor:pointer!important;
}
.customer-panel-page .customer-welcome-reserve-cta:hover,
.customer-panel-page .customer-welcome-reserve-cta:focus-visible{
  filter:brightness(1.06);outline:2px solid rgba(255,229,164,.5);outline-offset:2px;
}
.customer-panel-page .customer-profile-drawer{
  display:flex!important;flex-direction:column!important;
  width:min(330px,85vw)!important;
  padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior:contain;
}
.customer-panel-page .customer-profile-identity{
  flex:0 0 auto;margin:38px auto 22px!important;
  gap:8px!important;
  width:100%!important;
}
.customer-panel-page .customer-drawer-nav{
  flex:0 0 auto;gap:3px!important;
  margin:0!important;
}
.customer-panel-page .customer-drawer-nav button{
  min-height:45px!important;padding-block:2px!important;
}
.customer-panel-page .customer-drawer-logo{
  flex:0 0 auto;margin:auto auto 8px!important;
  padding-top:12px!important;
}
.customer-panel-page .customer-drawer-logo img{
  width:69px!important;height:69px!important;
  max-height:69px!important;object-fit:contain!important;
}
.customer-panel-page .customer-drawer-actions{
  flex:0 0 auto;display:grid!important;
  gap:7px!important;margin-top:8px!important;
}
.customer-panel-page .customer-drawer-actions :is(button,a){
  height:42px!important;min-height:42px!important;
}
/* The banner includes finished Persian typography. Don't overlay duplicate copy. */
.customer-panel-page .account-restaurant-promo{
  background-image:url('/static/images/customer-restaurant-desktop.webp')!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  isolation:isolate;
}
.customer-panel-page .account-restaurant-promo .account-promo-copy{
  position:absolute!important;left:16px!important;right:auto!important;
  bottom:13px!important;top:auto!important;
  padding:0!important;margin:0!important;
  max-width:none!important;background:transparent!important;
  z-index:3!important;
}
.customer-panel-page .account-restaurant-promo .account-promo-copy button{
  margin:0!important;display:flex!important;justify-content:center!important;
  align-items:center!important;gap:4px!important;
  min-height:43px!important;
  padding:8px 16px!important;
  white-space:nowrap!important;
  box-shadow:0 5px 18px #001b23a3;
}
@media(max-width:700px){
  .customer-panel-page .customer-global-header{min-height:70px!important}
  .customer-panel-page .customer-global-header .customer-header-brand{
    width:min(165px,100%)!important;max-width:165px!important;height:68px!important;
  }
  .customer-panel-page .customer-global-header .customer-header-brand img{
    height:64px!important;max-height:64px!important;
  }
  .customer-panel-page .customer-welcome-reserve-cta{
    width:min(100%,310px)!important;min-width:0!important;
    min-height:51px!important;
    font-size:17px!important;
  }
  .customer-panel-page .account-restaurant-promo{
    background-image:url('/static/images/customer-restaurant-mobile.webp')!important;
    min-height:175px!important;
    background-position:center!important;
  }
  .customer-panel-page .account-restaurant-promo .account-promo-copy{
    left:78px!important;right:auto!important;
    bottom:10px!important;
  }
  .customer-panel-page .account-restaurant-promo .account-promo-copy button{
    min-height:37px!important;padding:6px 12px!important;font-size:12px!important;
  }
}
@media(max-height:760px){
  .customer-panel-page .customer-profile-identity{margin:19px auto 14px!important;gap:5px!important}
  .customer-panel-page .customer-avatar-picker{width:86px!important;height:86px!important}
  .customer-panel-page .customer-drawer-nav button{min-height:39px!important}
  .customer-panel-page .customer-drawer-logo{padding-top:6px!important}
  .customer-panel-page .customer-drawer-logo img{width:50px!important;height:50px!important}
  .customer-panel-page .customer-drawer-actions :is(button,a){height:38px!important;min-height:38px!important}
}


/* v16.5.251 — Restaurant manager desktop balance, full-height editor and history polish. */
@media(min-width:821px){
  body.restaurant-v2 .restaurant-v2-header-manage,
  body.restaurant-v2 .restaurant-style-switch,
  body.restaurant-v2 .restaurant-v2-header-new,
  body.restaurant-v2 .restaurant-modern2-orders-toggle{top:18px!important}
  body.restaurant-v2 .restaurant-v2-header-manage{display:grid!important;grid-template-columns:repeat(4,132px)!important;gap:10px!important;left:16px!important;right:auto!important}
  body.restaurant-v2 .restaurant-v2-header-tool,
  body.restaurant-v2 .restaurant-style-switch__button,
  body.restaurant-v2 .restaurant-modern2-orders-toggle,
  body.restaurant-v2 .restaurant-v2-header-new{height:42px!important;min-height:42px!important;border-radius:12px!important;font:900 13px/1.2 BYekan,Tahoma,sans-serif!important}
  body.restaurant-v2 .restaurant-v2-header-tool{width:132px!important;min-width:132px!important;padding:0 10px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  body.restaurant-v2 .restaurant-style-switch{display:grid!important;grid-template-columns:repeat(2,70px)!important;gap:10px!important;position:fixed!important;right:344px!important;left:auto!important}
  body.restaurant-v2 .restaurant-style-switch__button{width:70px!important;min-width:70px!important;padding:0!important}
  body.restaurant-v2 .restaurant-modern2-orders-toggle{position:fixed!important;right:498px!important;width:110px!important;min-width:110px!important;padding:0 10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.restaurant-v2 .restaurant-v2-header-new{position:fixed!important;right:76px!important;width:220px!important;min-width:220px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:0 18px!important}
  body.restaurant-v2 .restaurant-v2-header-new .restaurant-v2-new-label{display:inline!important}
  body.restaurant-v2 .restaurant-v2-header-new .restaurant-v2-new-plus{width:auto!important;height:auto!important;font-size:24px!important;line-height:1!important}
}
body.restaurant-v2 .restaurant-v2-order-modal{height:calc(100dvh - 156px)!important;min-height:calc(100dvh - 156px)!important}
body.restaurant-v2 .restaurant-v2-order-head{padding-bottom:10px!important;margin-bottom:10px!important}
body.restaurant-v2 .restaurant-v2-order-compact{grid-template-columns:1fr!important;gap:10px!important}
body.restaurant-v2 .restaurant-v2-meta-grid{align-items:end!important}
body.restaurant-v2 .restaurant-v2-place-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(110px,30%)!important;gap:8px!important}
body.restaurant-v2 .restaurant-v2-place-row:has(.restaurant-v2-place-input[hidden]){grid-template-columns:1fr!important}
body.restaurant-v2 .restaurant-v2-place-input{width:100%!important;max-width:none!important}
body.restaurant-v2 .restaurant-v2-service-toggle button{min-height:58px!important;padding-block:10px!important}
body.restaurant-v2 .restaurant-v2-service-toggle button small{display:none!important}
body.restaurant-v2 .restaurant-v2-order-modal .restaurant-v2-menu-drawer header .dialog-x,
body.restaurant-style-modern2 #restaurantMenuDrawerRight>header{display:none!important}
body.restaurant-v2 .restaurant-v2-food-card strong{display:none!important}
body.restaurant-v2 .restaurant-v2-food-card{padding-top:24px!important;padding-bottom:18px!important;min-height:102px!important}
body.restaurant-v2 .restaurant-v2-food-card h3{margin-top:0!important}
body.restaurant-v2 .restaurant-v2-food-qty{top:7px!important;right:9px!important;left:auto!important;transform:none!important;min-width:28px!important;height:28px!important;padding:0 6px!important;display:grid!important;place-items:center!important}
body.restaurant-v2 #restaurantMenuDrawerRightClassic .restaurant-v2-food-qty,
body.restaurant-v2 #restaurantMenuGridRightClassic .restaurant-v2-food-qty{top:7px!important;right:9px!important}
body.restaurant-v2 #restaurantMenuSearch{height:44px!important;border-radius:12px!important;background:rgba(6,37,56,.94)!important;border:1px solid rgba(72,198,224,.35)!important;color:#effcff!important;padding:0 14px!important;font:800 14px BYekan,Tahoma,sans-serif!important;box-shadow:none!important}
body.restaurant-v2 .restaurant-cancel-order{background:linear-gradient(135deg,#7a1232,#cf355d)!important;border-color:rgba(255,124,156,.5)!important;color:#fff!important;box-shadow:0 10px 24px rgba(142,23,61,.2)!important}
body.restaurant-v2 .restaurant-history-head{grid-template-columns:54px minmax(0,1fr) 68px!important}
body.restaurant-v2 .restaurant-history-close{background:transparent!important;border:none!important;color:#ff6a87!important;box-shadow:none!important;font-size:34px!important;width:42px!important;height:42px!important;padding:0!important}
body.restaurant-v2 .restaurant-history-print{display:grid!important;place-items:center!important;padding:0!important;width:58px!important;height:48px!important}
body.restaurant-v2 .restaurant-history-print svg{width:20px!important;height:20px!important}
body.restaurant-v2 .restaurant-history-filters{grid-template-columns:minmax(210px,2fr) repeat(2,minmax(138px,1fr)) minmax(138px,1fr) 170px 190px!important;gap:10px!important}
body.restaurant-v2 .restaurant-history-quick-filters,
body.restaurant-v2 .restaurant-history-filter-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;align-self:end!important}
body.restaurant-v2 .restaurant-history-quick,
body.restaurant-v2 .restaurant-history-apply,
body.restaurant-v2 .restaurant-history-clear{height:42px!important;border-radius:11px!important;font:900 12px BYekan,Tahoma,sans-serif!important;cursor:pointer!important}
body.restaurant-v2 .restaurant-history-quick{border:1px solid #2f95a9;background:linear-gradient(135deg,#0a3e59,#0c283d);color:#c8f9ff}
body.restaurant-v2 .restaurant-history-quick.is-active{background:linear-gradient(135deg,#11895f,#0b5d42)!important;border-color:#4bf0aa!important;color:#fff!important;box-shadow:0 0 0 1px rgba(111,255,188,.18),0 0 18px rgba(25,216,123,.2)!important}
body.restaurant-v2 .restaurant-history-apply{border-color:#5adb93!important;background:linear-gradient(135deg,#128b56,#1ab56f)!important;color:#fff!important}
body.restaurant-v2 .restaurant-history-clear{border-color:#cc5a79!important;background:linear-gradient(135deg,#7a2440,#a53e60)!important;color:#fff!important}
body.restaurant-v2 .restaurant-history-sort{background:none!important;border:none!important;color:inherit!important;font:inherit!important;cursor:pointer!important}
body.restaurant-v2 .restaurant-history-sort.is-active{color:#ffd977!important}
body.restaurant-v2 .restaurant-history-table{border-collapse:separate!important;border-spacing:0!important}
body.restaurant-v2 .restaurant-history-table th:first-child{border-top-right-radius:12px}
body.restaurant-v2 .restaurant-history-table th:last-child{border-top-left-radius:12px}
@media(max-width:820px){
  body.restaurant-v2 .restaurant-v2-order-modal{height:100%!important;min-height:100%!important}
  body.restaurant-v2 .restaurant-v2-place-row{grid-template-columns:minmax(0,1fr) 96px!important}
  body.restaurant-v2 .restaurant-v2-place-row:has(.restaurant-v2-place-input[hidden]){grid-template-columns:1fr!important}
  body.restaurant-v2 .restaurant-history-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.restaurant-v2 .restaurant-history-search{grid-column:1 / -1!important}
  body.restaurant-v2 .restaurant-history-quick-filters,body.restaurant-v2 .restaurant-history-filter-actions{grid-column:1 / -1!important}
}
/* v16.5.252 — Unified restaurant toolbar, one menu close, compact search, A4 archive. */
@media (min-width:821px){
  /* Back is a fifth control; allocate its real width before the four tools. */
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions{left:14px!important;right:auto!important}
  body.restaurant-v2 .dashboard-global-header .dashboard-header-back{width:113px!important;min-width:113px!important;height:42px!important;min-height:42px!important;padding:0 8px!important;border-radius:12px!important}
  body.restaurant-v2 .restaurant-v2-header-manage{
    left:136px!important;right:auto!important;top:18px!important;
    display:grid!important;grid-template-columns:repeat(4,113px)!important;gap:8px!important;
    width:auto!important;min-width:0!important;max-width:none!important;
  }
  body.restaurant-v2 .restaurant-v2-header-tool{width:113px!important;min-width:113px!important;height:42px!important;min-height:42px!important;padding:0 7px!important;font-size:12px!important}
  body.restaurant-v2 .restaurant-v2-header-new{right:74px!important;width:198px!important;min-width:198px!important;height:42px!important;min-height:42px!important;top:18px!important}
  body.restaurant-v2 .restaurant-modern2-orders-toggle{right:280px!important;width:94px!important;min-width:94px!important;height:42px!important;min-height:42px!important;top:18px!important;font-size:12px!important}
  body.restaurant-v2 .restaurant-style-switch{right:382px!important;top:18px!important;display:grid!important;grid-template-columns:repeat(2,94px)!important;gap:8px!important}
  body.restaurant-v2 .restaurant-style-switch__button{width:94px!important;min-width:94px!important;height:42px!important;min-height:42px!important;padding:0 6px!important}
  /* Keep the full working area visible above the OS/browser bottom bars. */
  body.restaurant-v2 .restaurant-v2-floating-workspace{height:min(690px,calc(100dvh - 194px))!important;max-height:calc(100dvh - 194px)!important}
  body.restaurant-v2 .restaurant-v2-order-modal{height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important}
  body.restaurant-v2 .restaurant-v2-place-row{display:flex!important;align-items:center!important;gap:7px!important}
  body.restaurant-v2 .restaurant-v2-place-row .restaurant-v2-segment{flex:1 1 auto!important;min-width:0!important}
  body.restaurant-v2 .restaurant-v2-place-input:not([hidden]){flex:0 0 62px!important;width:62px!important;min-width:62px!important;max-width:62px!important;text-align:center!important;padding-inline:2px!important;font-size:12px!important;direction:ltr!important}
}
/* Search belongs to the same top bar as the title and the single X. */
body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard,
body.restaurant-v2.restaurant-style-modern2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard{
  display:flex!important;position:relative!important;flex:0 0 60px!important;min-height:60px!important;
  align-items:center!important;justify-content:center!important;padding:0 52px 0 165px!important;
  margin:0 0 8px!important;border-bottom:1px solid rgba(94,190,211,.28)!important;
}
body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard>div{flex:1!important;text-align:center!important;min-width:0!important}
body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard h2{font-size:clamp(20px,2vw,28px)!important;line-height:1.25!important;white-space:nowrap!important}
body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard .dialog-x{
  position:absolute!important;inset:3px 3px auto auto!important;top:3px!important;right:3px!important;left:auto!important;
  width:39px!important;height:39px!important;padding:0!important;
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  color:#ff5e80!important;font-size:31px!important;line-height:1!important;z-index:20!important;
}
body.restaurant-v2 .restaurant-drawer-search{display:block!important;position:absolute!important;top:7px!important;left:2px!important;right:auto!important;width:154px!important;min-width:0!important;z-index:4!important}
body.restaurant-v2 #restaurantMenuSearch{width:100%!important;height:38px!important;min-height:38px!important;border-radius:11px!important;border:1px solid #307d92!important;background:#082a3e!important;color:#f2ffff!important;text-align:right!important;font:800 12px BYekan,Tahoma,sans-serif!important;padding:0 12px!important;box-shadow:none!important}
body.restaurant-v2 #restaurantMenuSearch::placeholder{color:#9fc7d4!important;opacity:1!important}
/* Remove formerly appended footer search/caption, now fully replaced by header search. */
body.restaurant-v2 #restaurantMenuDrawerRight .restaurant-v2-modern2-top{display:none!important}
body.restaurant-v2 #restaurantMenuDrawerRight{gap:0!important;padding:8px 10px 8px!important}
body.restaurant-v2 .restaurant-v2-menu-drawer .restaurant-v2-menu-grid-inner,
body.restaurant-style-modern2 .restaurant-v2-menu-grid-inner{gap:7px!important}
body.restaurant-v2 .restaurant-v2-food-card,
body.restaurant-style-modern2 .restaurant-v2-food-card--plain{min-height:74px!important;padding:8px 5px!important}
body.restaurant-v2 .restaurant-v2-food-card h3,
body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:clamp(15px,1.25vw,19px)!important;margin:0!important;line-height:1.32!important;white-space:normal!important}
body.restaurant-v2 .restaurant-v2-food-qty{top:2px!important;right:3px!important}
/* Archive: one common close style, X on upper right and print upper left. */
body.restaurant-v2 .restaurant-history-head{display:grid!important;grid-template-columns:50px minmax(0,1fr) 50px!important;gap:7px!important;align-items:center!important}
body.restaurant-v2 .restaurant-history-close.dialog-x{position:static!important;inset:auto!important;justify-self:start!important;align-self:center!important;display:grid!important;place-items:center!important;background:transparent!important;border:0!important;padding:0!important;width:40px!important;height:42px!important;color:#ff5f83!important;font-size:37px!important;line-height:1!important;transform:none!important;box-shadow:none!important}
body.restaurant-v2 .restaurant-history-print{justify-self:end!important;align-self:center!important;width:42px!important;height:42px!important;padding:0!important;border-radius:9px!important}
body.restaurant-v2 .restaurant-history-print svg{width:25px!important;height:25px!important}
body.restaurant-v2 .restaurant-history-head-copy{text-align:center!important}
body.restaurant-v2 .restaurant-history-date-button{height:42px!important;min-height:42px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;border:1px solid #327b94!important;border-radius:10px!important;background:#092739!important;color:#e4f7fc!important;cursor:pointer!important}
@media (max-width:820px){
  body.restaurant-v2 .restaurant-v2-floating-workspace{height:calc(100dvh - 85px)!important;max-height:calc(100dvh - 85px)!important}
  body.restaurant-v2 .restaurant-v2-order-modal{height:100%!important;min-height:0!important}
  body.restaurant-v2 .restaurant-v2-place-row{display:flex!important;gap:5px!important;align-items:center!important}
  body.restaurant-v2 .restaurant-v2-place-row .restaurant-v2-segment{flex:1 1 auto!important;min-width:0!important}
  body.restaurant-v2 .restaurant-v2-place-input:not([hidden]){width:51px!important;max-width:51px!important;min-width:51px!important;flex:0 0 51px!important;font-size:11px!important;text-align:center!important;padding:0 1px!important}
  body.restaurant-v2 .restaurant-drawer-search{width:min(125px,35%)!important}
  body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard{padding:0 38px 0 132px!important}
  body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard h2{font-size:19px!important}
  body.restaurant-v2 .restaurant-v2-food-card h3,body.restaurant-style-modern2 .restaurant-v2-food-card--plain h3{font-size:15px!important}
  body.restaurant-v2 .restaurant-history-head{grid-template-columns:43px minmax(0,1fr) 43px!important}
}
/* The title is geometrically centered independently of either side control. */
body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard>div{
  position:absolute!important;left:50%!important;right:auto!important;top:12px!important;
  transform:translateX(-50%)!important;width:max-content!important;max-width:40%!important;
  text-align:center!important;pointer-events:none!important;
}
body.restaurant-v2 #restaurantMenuDrawerRight>header.restaurant-menu-header-standard .dialog-x{font-size:38px!important}

/* v16.5.2: startup mark only for installed standalone application. */
.baba-launch-splash{display:none;position:fixed;inset:0;z-index:2147483646;align-items:center;justify-content:center;flex-direction:column;gap:22px;background:radial-gradient(circle at 50% 44%,#0c2940,#041322 69%,#020b15);color:#f2ce64;pointer-events:auto;opacity:1;transition:opacity .55s ease,visibility .55s ease;direction:ltr}
@media (display-mode:standalone){.baba-launch-splash{display:flex}}
@supports (-webkit-touch-callout: none){html.baba-installed-apple .baba-launch-splash{display:flex}}
.baba-launch-splash.is-ready{opacity:0;visibility:hidden;pointer-events:none}
.baba-launch-splash__halo{width:clamp(170px,50vmin,280px);height:clamp(170px,50vmin,280px);display:grid;place-items:center;position:relative;filter:drop-shadow(0 0 22px rgba(245,177,34,.35));animation:babaSplashBreathe 2.3s ease-in-out infinite}
.baba-launch-splash__halo:before,.baba-launch-splash__halo:after{content:'';position:absolute;inset:1%;border:1px solid rgba(243,193,75,.42);border-radius:50%;box-shadow:0 0 38px rgba(243,193,75,.22)}
.baba-launch-splash__halo:after{inset:-8%;border-color:rgba(243,193,75,.11)}
.baba-launch-splash__halo img{display:block;width:90%;height:90%;object-fit:contain}
.baba-launch-splash__name{font:600 clamp(17px,4vmin,24px)/1.4 Georgia,serif;letter-spacing:1px}
.baba-launch-splash__progress{width:min(190px,48vw);height:3px;overflow:hidden;border-radius:9px;background:rgba(240,203,110,.18)}
.baba-launch-splash__progress span{display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,#fce38c,transparent);animation:babaSplashLoad 1.5s ease-in-out infinite}
@keyframes babaSplashBreathe{50%{filter:drop-shadow(0 0 42px rgba(246,195,65,.67));transform:scale(1.04)}}
@keyframes babaSplashLoad{from{transform:translateX(-120%)}to{transform:translateX(365%)}}
@media(prefers-reduced-motion:reduce){.baba-launch-splash__halo,.baba-launch-splash__progress span{animation:none}}
/* SEO navigation link fits existing buttons without altering the header. */
.home-seo-link--chat{display:inline-flex;align-items:center;justify-content:center;margin-block-start:10px}

/* First-time guest assistant notice: same typing affordance as the conversation. */
.chat-fab-tip.is-assistant-invite{cursor:pointer;max-width:min(315px,calc(100vw - 24px));text-align:center;white-space:normal;overflow-wrap:break-word;line-height:1.55;font-family:BYekan,Arial,sans-serif;font-size:12px;min-height:32px;box-sizing:border-box}
.chat-fab-tip.is-assistant-invite.is-typing:after{content:'▏';display:inline;color:#f6d05d;animation:babaTipCursor .75s step-end infinite}
@keyframes babaTipCursor{50%{opacity:0}}

/* v16.5.2 connection dialogs: shared gold emblem and the project's BYekan.ttf. */
.offline-body{font-family:BYekan,Arial,sans-serif;box-sizing:border-box}
.offline-box{width:min(520px,calc(100vw - 48px));box-sizing:border-box;font-family:BYekan,Arial,sans-serif;text-align:center;padding:28px 25px 30px}
.offline-box__logo{display:block;object-fit:contain;width:clamp(90px,24vw,125px);height:auto;aspect-ratio:1;margin:0 auto 18px;filter:drop-shadow(0 0 18px rgba(247,190,49,.33))}
.offline-box h1{font:700 clamp(18px,4.5vw,24px)/1.7 BYekan,Arial,sans-serif;margin:0 0 14px}
.offline-box p{font:400 clamp(13px,3.2vw,16px)/2 BYekan,Arial,sans-serif;margin:0 auto 22px;max-width:445px}
.offline-retry{font:700 14px/1.4 BYekan,Arial,sans-serif;min-width:126px;min-height:43px}

/* Attraction detail pages: canonical, accessible crawlable content. */
.home-attraction-card__detail-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(241,205,88,.32);text-underline-offset:3px}
.home-attraction-card__detail-link:hover{color:#f7d370;text-decoration-color:currentColor}
.attraction-guide-page{background:radial-gradient(ellipse at 50% 0%,#12324a,#061622 72%);color:#eaf3f4;font-family:BYekan,Arial,sans-serif;min-height:100vh}
.attraction-guide-shell{max-width:950px;margin:0 auto;padding:clamp(15px,4vw,34px)}
.attraction-guide-nav{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-bottom:24px}
.attraction-guide-nav a,.attraction-guide-related a{color:#f9d678;text-decoration:none;border:1px solid #b7a26455;padding:10px 14px;border-radius:13px}
.attraction-guide-hero,.attraction-guide-content{border:1px solid #b7a26455;border-radius:24px;padding:clamp(18px,5vw,40px);background:#0c2335ed;box-shadow:0 16px 40px #0005}
.attraction-guide-hero{text-align:center}.attraction-guide-logo img{display:block;margin:0 auto;object-fit:contain}.attraction-guide-label{color:#dfb94a}
.attraction-guide-hero h1{font:700 clamp(25px,5vw,39px)/1.5 BYekan,Arial,sans-serif;margin:15px auto}
.attraction-guide-photo{display:block;max-width:100%;width:auto;max-height:470px;object-fit:cover;margin:15px auto;border-radius:16px}
.attraction-guide-content{margin:20px auto;line-height:2.2;font-size:clamp(14px,2.5vw,17px)}.attraction-guide-content h2{color:#f7d370;font-size:clamp(19px,3vw,24px)}
.attraction-guide-actions,.attraction-guide-related{display:flex;flex-wrap:wrap;gap:10px;margin:20px auto}
.attraction-guide-actions a{display:inline-block;background:#dcb353;color:#092333;border-radius:12px;padding:9px 15px;text-decoration:none;font-weight:700}
.attraction-guide-foot{text-align:center;color:#c9b982;padding:18px;font-size:13px}

.home-seo-restaurant-link{color:inherit;text-decoration:underline;text-decoration-color:rgba(221,187,91,.42);text-underline-offset:5px}
.restaurant-guide-foods{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:13px;margin:20px 0}
.restaurant-guide-foods article{padding:15px;background:rgba(242,207,99,.06);border:1px solid rgba(242,207,99,.2);border-radius:16px}
.restaurant-guide-foods article h3{font:700 17px/1.5 BYekan,Arial,sans-serif;color:#ffdd7c;margin:0}
.restaurant-guide-foods article p{font:15px/1.8 BMitra,BYekan,sans-serif;margin:6px 0 0}

/* v16.5.4 — Always-visible verified server connectivity ring, independent of hover. */
.dashboard-global-header .baba-connection-halo{
  --connection-color:#d9ac4f;
  position:relative;isolation:isolate;overflow:visible;
  box-sizing:border-box;flex-shrink:0;
}
.dashboard-global-header .baba-connection-halo::after{
  content:"";display:block;position:absolute;inset:-3px;
  z-index:3;pointer-events:none;border:2.5px solid var(--connection-color);
  border-radius:16px;box-shadow:0 0 0 1px #071525,0 0 15px color-mix(in srgb,var(--connection-color) 62%,transparent);
  transition:border-color .3s ease,box-shadow .3s ease;
}
html[data-baba-connection="online"] .dashboard-global-header .baba-connection-halo{--connection-color:#33df79}
html[data-baba-connection="offline"] .dashboard-global-header .baba-connection-halo{--connection-color:#ff4b60}
html[data-baba-connection="checking"] .dashboard-global-header .baba-connection-halo{--connection-color:#e0ad50}
.dashboard-global-header .baba-connection-small{
  width:35px;height:35px;min-width:35px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;background:#092336;
}
.dashboard-global-header .baba-connection-small img{width:26px;height:26px;max-width:26px;object-fit:contain}
@media(max-width:760px){
  .dashboard-global-header .baba-connection-small{width:29px;height:29px;min-width:29px;border-radius:9px}
  .dashboard-global-header .baba-connection-small img{width:21px;height:21px;max-width:21px}
  .dashboard-global-header .baba-connection-halo::after{inset:-2px;border-radius:12px;border-width:2px}
}

/* 16.5.5 · اتصال تنها با هاله روشنایی، بدون کادر/استروک و بدون تراشه LIVE. */
.dashboard-global-header .baba-connection-halo {--connection-color:#d5a958;}
.dashboard-global-header .baba-connection-halo::after {
  border:0!important; inset:-4px!important; border-radius:inherit!important;
  box-shadow:0 0 12px 2px color-mix(in srgb,var(--connection-color) 65%,transparent),
    0 0 24px 3px color-mix(in srgb,var(--connection-color) 32%,transparent)!important;
  pointer-events:none;transition:box-shadow .25s ease;
}
.dashboard-global-header .baba-connection-small {background:transparent!important;}
.dashboard-global-header .baba-connection-small img{object-fit:contain}
.manager-live-chip--header {display:none!important}
#babaOfflineScopeNotice {display:none!important}

/* Release 16.5.7 — Restaurant POS fixes, scoped to manager restaurant only.
   Shared manager header owns its left/back/status and right/menu; extra POS buttons
   live in reserved gaps and must not move the shared controls. */
@media (min-width: 821px) {
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions {
    display:flex!important;position:fixed!important;top:18px!important;left:14px!important;
    right:auto!important;width:139px!important;min-width:139px!important;
    height:42px!important;align-items:center!important;justify-content:space-between!important;
    gap:6px!important;direction:rtl!important;z-index:1255!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions .dashboard-header-back {
    flex:0 0 96px!important;width:96px!important;min-width:96px!important;
    height:42px!important;min-height:42px!important;padding:0 6px!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions .baba-connection-small {
    flex:0 0 36px!important;width:36px!important;min-width:36px!important;
    height:36px!important;min-height:36px!important;margin:0!important;
  }
  body.restaurant-v2 .restaurant-v2-header-manage {
    position:fixed!important;left:164px!important;top:18px!important;right:auto!important;
    display:grid!important;grid-template-columns:repeat(4,101px)!important;
    gap:7px!important;width:max-content!important;z-index:1248!important;direction:rtl!important;
  }
  body.restaurant-v2 .restaurant-v2-header-manage .restaurant-v2-header-tool {
    width:101px!important;min-width:101px!important;max-width:101px!important;
    padding-inline:5px!important;font-size:11px!important;white-space:nowrap!important;
  }
  body.restaurant-v2 .restaurant-v2-header-new {
    right:74px!important;left:auto!important;top:18px!important;
    width:172px!important;min-width:172px!important;padding-inline:10px!important;
  }
  body.restaurant-v2 .restaurant-modern2-orders-toggle {
    display:flex!important;align-items:center!important;justify-content:center!important;
    right:252px!important;top:18px!important;width:80px!important;min-width:80px!important;
    overflow:visible!important;white-space:nowrap!important;
  }
  body.restaurant-v2 .restaurant-style-switch {
    right:339px!important;top:18px!important;
    grid-template-columns:repeat(2,76px)!important;gap:6px!important;
    width:158px!important;min-width:158px!important;
  }
  body.restaurant-v2 .restaurant-style-switch__button {
    width:76px!important;min-width:76px!important;padding:0 4px!important;
  }
  /* Modern2: equal-height left editor and right menu, using actual viewport height.
     Only the contents of the two panels scroll, never their outer frames. */
  body.restaurant-style-modern2 .restaurant-v2-overlay:not([hidden]) {
    margin:0!important;padding:100px 10px 12px!important;
    inset:0!important;width:100%!important;height:100dvh!important;
    display:block!important;overflow:hidden!important;box-sizing:border-box!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-floating-workspace {
    width:100%!important;max-width:100%!important;
    height:calc(100dvh - 112px)!important;min-height:0!important;
    max-height:calc(100dvh - 112px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important;gap:12px!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-order-modal,
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right,
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer {
    height:100%!important;max-height:100%!important;min-height:0!important;
    box-sizing:border-box!important;overflow:hidden!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-drawer {
    display:flex!important;flex-direction:column!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-shell {
    flex:1 1 auto!important;min-height:0!important;height:100%!important;
    max-height:100%!important;overflow:hidden!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-modern2-main,
  body.restaurant-style-modern2 .restaurant-v2-side-slot.is-right .restaurant-v2-menu-grid {
    flex:1 1 auto!important;min-height:0!important;max-height:100%!important;
    overflow-y:auto!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-order-modal {
    display:flex!important;flex-direction:column!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-order-modal .restaurant-v2-cart-section {
    flex:1 1 auto!important;min-height:100px!important;overflow:hidden!important;
  }
  body.restaurant-style-modern2 .restaurant-v2-order-modal .restaurant-v2-cart-list {
    max-height:100%!important;overflow-y:auto!important;
  }
}
/* Compact editor header, without touching the already correct horizontal menu layout. */
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head {
  min-height:43px!important;height:43px!important;flex:0 0 43px!important;
  padding:0 78px!important;margin-bottom:4px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2 {
  font-size:clamp(19px,1.55vw,24px)!important;line-height:1.2!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools {
  top:0!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-header-unit {
  top:1px!important;min-width:100px!important;height:36px!important;
  background:linear-gradient(135deg,#0d5b73,#164665)!important;
  border:1px solid #3ac5dd!important;color:#e8fdff!important;
  box-shadow:0 0 15px rgba(49,191,213,.16)!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-compact {
  gap:5px!important;padding:5px!important;margin:3px 0!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle {
  min-height:0!important;margin:0!important;gap:5px!important;padding:4px!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button {
  min-height:42px!important;height:42px!important;padding:3px 5px!important;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button>b {
  font-size:clamp(12px,1.1vw,15px)!important;
}
/* Manager's unit selection shows four readable columns (16 rooms = four rows). */
@media (min-width: 821px) {
  body.restaurant-v2 .restaurant-unit-dialog[open] {
    width:min(1130px,calc(100vw - 24px))!important;height:min(88dvh,810px)!important;
    min-height:0!important;max-height:calc(100dvh - 25px)!important;
    padding:15px 19px!important;overflow:hidden!important;
  }
  body.restaurant-v2 .restaurant-unit-dialog[open] .restaurant-unit-grid {
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-rows:minmax(0,1fr)!important;gap:8px!important;
    max-height:none!important;min-height:0!important;overflow-y:auto!important;
    align-content:stretch!important;
  }
  body.restaurant-v2 .restaurant-unit-dialog[open] .restaurant-unit-card {
    min-height:0!important;padding:8px 7px!important;gap:1px!important;
    display:grid!important;align-content:center!important;
  }
}
body.restaurant-v2 .restaurant-unit-card>strong {
  font-size:clamp(19px,1.65vw,25px)!important;line-height:1.25!important;
}
body.restaurant-v2 .restaurant-unit-card.is-toska>strong {color:#ffe37a!important}
body.restaurant-v2 .restaurant-unit-card.is-baloot>strong {color:#67e7a9!important}
body.restaurant-v2 #restaurantHeaderUnitPicker:not([hidden]) {
  background:linear-gradient(135deg,#126877,#063a59)!important;
  border:1px solid #59d9ef!important;color:#fff8cc!important;
}
/* Confirmation: X closes the dialog; one red destructive action remains centered. */
body.restaurant-v2 #restaurantConfirmDialog .restaurant-dialog-actions {
  display:flex!important;justify-content:center!important;align-items:center!important;
}
body.restaurant-v2 #restaurantConfirmDialog #restaurantConfirmAccept {
  width:min(220px,100%)!important;min-width:160px!important;
}
@media(max-width:820px) {
  body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head {
    min-height:46px!important;height:46px!important;flex-basis:46px!important;
  }
  body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2 {font-size:20px!important}
}
/* Intermediate desktop widths: reserve a collision-free 20px gap between tool groups. */
@media (min-width:821px) and (max-width:1199px) {
  body.restaurant-v2 .restaurant-v2-header-manage {
    left:164px!important;grid-template-columns:repeat(4,78px)!important;gap:5px!important;
  }
  body.restaurant-v2 .restaurant-v2-header-manage .restaurant-v2-header-tool {
    width:78px!important;min-width:78px!important;max-width:78px!important;
    padding-inline:2px!important;font-size:10px!important;
  }
}


/* v16.5.9 - immutable dashboard header geometry.
   Each dashboard owns exactly three fixed anchor slots: left icon,
   center brand, right menu. Additional actions cannot alter those slots.
   Back is to the RIGHT of the icon; custom page tools occupy remaining gaps. */
body.manager-body .dashboard-global-header,
body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header {
  --baba-header-edge: clamp(14px,2vw,30px);
  --baba-header-icon-size: 52px;
  position:fixed!important;
  left:0!important;right:0!important;
  display:block!important;
  height:calc(76px + var(--dashboard-safe-top,0px))!important;
  padding:0!important;
  isolation:isolate;
}
body.manager-body .dashboard-global-header>.dashboard-menu-button,
body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header>.dashboard-menu-button {
  position:absolute!important;right:var(--baba-header-edge)!important;left:auto!important;
  top:calc(14px + var(--dashboard-safe-top,0px))!important;
  width:48px!important;height:48px!important;min-width:48px!important;
  margin:0!important;transform:none!important;z-index:4!important;
}
body.manager-body .dashboard-global-header>.dashboard-header-title,
body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header>.dashboard-header-title {
  position:absolute!important;left:50%!important;right:auto!important;
  top:calc(38px + var(--dashboard-safe-top,0px))!important;
  transform:translate(-50%,-50%)!important;
  width:min(280px,32vw)!important;max-width:32vw!important;
  min-width:0!important;margin:0!important;z-index:2!important;
  pointer-events:none!important;
}
body.manager-body .dashboard-global-header .dashboard-header-title--logo .dashboard-header-brand-link {
  pointer-events:auto!important;display:grid!important;place-items:center!important;
}
body.manager-body .dashboard-global-header>.dashboard-header-actions,
body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header>.dashboard-header-actions {
  position:absolute!important;left:var(--baba-header-edge)!important;right:auto!important;
  top:calc(12px + var(--dashboard-safe-top,0px))!important;
  height:52px!important;width:max-content!important;max-width:calc(50vw - 190px)!important;
  min-width:0!important;display:flex!important;flex-direction:row!important;
  direction:rtl!important;align-items:center!important;justify-content:flex-start!important;
  gap:9px!important;z-index:4!important;transform:none!important;
}
/* Home icon is the left anchor even when there are no other actions. */
body.manager-body .dashboard-global-header>.dashboard-header-logo {
  position:absolute!important;left:var(--baba-header-edge)!important;right:auto!important;
  top:calc(12px + var(--dashboard-safe-top,0px))!important;
  margin:0!important;transform:none!important;z-index:4!important;
}
body.manager-body .dashboard-global-header .dashboard-header-logo,
body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header .dashboard-header-logo {
  flex:0 0 var(--baba-header-icon-size)!important;
  width:var(--baba-header-icon-size)!important;height:var(--baba-header-icon-size)!important;
  min-width:var(--baba-header-icon-size)!important;max-width:var(--baba-header-icon-size)!important;
  padding:0!important;display:grid!important;place-items:center!important;
  border-radius:14px!important;box-sizing:border-box!important;
  overflow:visible!important;
}
body.manager-body .dashboard-global-header .dashboard-header-logo img,
body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header .dashboard-header-logo img {
  display:block!important;width:43px!important;height:43px!important;
  min-width:43px!important;max-width:43px!important;max-height:43px!important;
  object-fit:contain!important;transform:scale(1.14)!important;
  animation:none!important;transition:none!important;
}
body.manager-body .dashboard-global-header .dashboard-header-back {
  order:0!important;flex:0 0 auto!important;
  min-width:96px!important;width:96px!important;height:42px!important;
  min-height:42px!important;padding:0 12px!important;
  border-radius:12px!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
  border:1px solid rgba(208,75,102,.37)!important;
  background:linear-gradient(135deg,#542131,#3b1929)!important;
  box-shadow:none!important;color:#ffdfdf!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
body.manager-body .dashboard-global-header .dashboard-header-back b {
  display:inline!important;font:800 12px/1.3 BYekan,Tahoma,sans-serif!important;
  color:inherit!important;
}
body.manager-body .dashboard-global-header .dashboard-header-back::before {content:none!important}
body.manager-body .dashboard-global-header .dashboard-header-back:hover,
body.manager-body .dashboard-global-header .dashboard-header-back:focus-visible {
  background:linear-gradient(130deg,#b82944,#8a2337)!important;
  border-color:#ff6d87!important;color:#fff!important;
  box-shadow:0 0 16px rgba(239,66,94,.23)!important;
}
/* The icon is always last in RTL flex -> left-most visual item. */
body.manager-body .dashboard-global-header .dashboard-header-actions>.dashboard-header-logo {
  order:99!important;margin:0!important;
}
@media(max-width:820px){
  body.manager-body .dashboard-global-header,
  body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header {--baba-header-edge:12px;--baba-header-icon-size:42px}
  body.manager-body .dashboard-global-header>.dashboard-menu-button,
  body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header>.dashboard-menu-button {
    width:42px!important;height:42px!important;min-width:42px!important;
    top:calc(12px + var(--dashboard-safe-top,0px))!important;
  }
  body.manager-body .dashboard-global-header>.dashboard-header-title,
  body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header>.dashboard-header-title {
    top:calc(33px + var(--dashboard-safe-top,0px))!important;
    width:40vw!important;max-width:40vw!important;
  }
  body.manager-body .dashboard-global-header>.dashboard-header-actions,
  body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header>.dashboard-header-actions {
    top:calc(12px + var(--dashboard-safe-top,0px))!important;
    height:42px!important;max-width:36vw!important;gap:6px!important;
  }
  body.manager-body .dashboard-global-header>.dashboard-header-logo {top:calc(12px + var(--dashboard-safe-top,0px))!important}
  body.manager-body .dashboard-global-header .dashboard-header-logo,
  body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header .dashboard-header-logo {
    width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;flex-basis:42px!important;border-radius:12px!important;
  }
  body.manager-body .dashboard-global-header .dashboard-header-logo img,
  body:is(.warehouse-body,.kitchen-body,.hall-body,.superadmin-body) .dashboard-global-header .dashboard-header-logo img {
    width:35px!important;height:35px!important;min-width:35px!important;max-width:35px!important;max-height:35px!important;transform:scale(1.13)!important;
  }
  body.manager-body .dashboard-global-header .dashboard-header-back {
    min-width:64px!important;width:64px!important;height:37px!important;min-height:37px!important;
    padding:0 4px!important;
  }
  body.manager-body .dashboard-global-header .dashboard-header-back b {font-size:11px!important}
  body.restaurant-v2 .dashboard-global-header>.dashboard-header-actions {display:flex!important;position:absolute!important;left:12px!important;top:calc(12px + var(--dashboard-safe-top,0px))!important;width:max-content!important;max-width:36vw!important;height:42px!important}
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions .dashboard-header-back {min-width:64px!important;width:64px!important;height:37px!important;flex-basis:64px!important;padding:0 3px!important}
}
/* Restaurant dedicated action bars never participate in the header anchor geometry. */
@media(min-width:821px){
  body.restaurant-v2 .dashboard-global-header>.dashboard-header-actions {
    position:absolute!important;left:14px!important;top:calc(12px + var(--dashboard-safe-top,0px))!important;
    width:157px!important;min-width:157px!important;max-width:157px!important;
    height:52px!important;gap:9px!important;justify-content:flex-start!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-back {
    flex:0 0 96px!important;width:96px!important;min-width:96px!important;
    height:42px!important;
  }
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions>.dashboard-header-logo {
    flex:0 0 52px!important;width:52px!important;min-width:52px!important;height:52px!important;
  }
  body.restaurant-v2 .restaurant-v2-header-manage {
    left:182px!important;right:auto!important;top:18px!important;
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:7px!important;width:calc(min(400px,26vw))!important;
    max-width:400px!important;
  }
  body.restaurant-v2 .restaurant-v2-header-manage .restaurant-v2-header-tool {
    width:100%!important;min-width:0!important;max-width:100%!important;
    white-space:nowrap!important;padding-inline:3px!important;
    font-size:clamp(9px,.77vw,11px)!important;
  }
  body.restaurant-v2 .restaurant-v2-header-new{right:74px!important;top:18px!important;width:172px!important;min-width:172px!important}
  body.restaurant-v2 .restaurant-modern2-orders-toggle {
    right:252px!important;top:18px!important;width:128px!important;min-width:128px!important;
    overflow:visible!important;white-space:nowrap!important;font-size:12px!important;
  }
  body.restaurant-v2 .restaurant-style-switch {
    right:387px!important;top:18px!important;
    grid-template-columns:repeat(2,94px)!important;gap:7px!important;
    width:195px!important;min-width:195px!important;
  }
  body.restaurant-v2 .restaurant-style-switch__button{width:94px!important;min-width:94px!important;padding-inline:4px!important}
}
@media(min-width:821px) and (max-width:1250px){
  body.restaurant-v2 .restaurant-v2-header-manage{width:min(300px,25vw)!important;gap:4px!important}
  body.restaurant-v2 .restaurant-modern2-orders-toggle{right:234px!important;width:100px!important;min-width:100px!important}
  body.restaurant-v2 .restaurant-style-switch{right:341px!important;grid-template-columns:repeat(2,71px)!important;gap:6px!important;width:148px!important;min-width:148px!important}
  body.restaurant-v2 .restaurant-style-switch__button{width:71px!important;min-width:71px!important}
  body.restaurant-v2 .restaurant-v2-header-new{width:152px!important;min-width:152px!important}
}
/* v16.5.9: keep restaurant tools away from the actual centered logo at
   medium desktops; shrink only optional tools, never shared header anchors. */
@media (min-width:1201px) and (max-width:1400px){
 body.restaurant-v2 .restaurant-style-switch{
   right:387px!important;width:133px!important;min-width:133px!important;
   grid-template-columns:repeat(2,63px)!important;gap:7px!important;
 }
 body.restaurant-v2 .restaurant-style-switch__button{width:63px!important;min-width:63px!important}
}
@media (min-width:821px) and (max-width:1200px){
 body.restaurant-v2 .restaurant-modern2-orders-toggle{
   right:232px!important;width:78px!important;min-width:78px!important;
   font:900 10px/1.2 BYekan,Tahoma,sans-serif!important;
 }
 body.restaurant-v2 .restaurant-style-switch{
   right:316px!important;width:120px!important;min-width:120px!important;
   grid-template-columns:repeat(2,57px)!important;gap:6px!important;
 }
 body.restaurant-v2 .restaurant-style-switch__button{
   width:57px!important;min-width:57px!important;font-size:11px!important;
 }
}


/* v16.6.1 — occupancy cards, staff calendar, history, payroll and mobile clarity */
body.manager-body .manager-room-card .room-progress-block{display:grid;align-content:start;gap:6px}
body.manager-body .manager-room-card .room-progress-text{width:100%;margin:4px 0 2px!important;text-align:center;font-size:12px;line-height:1.5}
body.manager-body .manager-room-card .room-action-grid{margin-top:4px!important}
@media (max-width:760px){
  body.manager-body .manager-room-card .room-meta-row{gap:5px;align-items:flex-start}
  body.manager-body .manager-room-card .room-meta-row .room-bed-badge,
  body.manager-body .manager-room-card .room-meta-row .room-status-badge,
  body.manager-body .manager-room-card .room-meta-row .room-type-badge{font-size:11px!important;padding:4px 8px!important;line-height:1.25}
  body.manager-body .manager-room-card .manager-room-quick-actions{top:7px;right:8px;gap:5px}
  body.manager-body .manager-room-card .manager-room-quick-actions .manager-room-lock-quick,
  body.manager-body .manager-room-card .manager-room-quick-actions .manager-room-cleaning-quick{width:28px;height:26px;font-size:13px}
  body.manager-body .manager-room-card h4{margin-inline:12px 14px;font-size:clamp(16px,4.7vw,21px)}
}

.staff-work-cal-print{position:absolute;right:18px;top:16px;z-index:5;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:9px 14px;border:1px solid rgba(84,212,232,.36);border-radius:13px;background:linear-gradient(145deg,rgba(10,63,82,.95),rgba(5,34,52,.96));color:#dbfbff;font:800 13px/1.2 BYekan,sans-serif;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.18)}
.staff-work-cal-print:hover{border-color:#f1cf65;color:#fff7cb;transform:translateY(-1px)}
.staff-work-cal-summary article.is-leave-used{border-color:rgba(255,112,182,.44)!important;background:linear-gradient(145deg,rgba(113,29,69,.36),rgba(39,18,41,.82))!important;box-shadow:inset 0 0 0 1px rgba(255,128,191,.18)}
.staff-work-cal-summary article.is-net-positive{border-color:rgba(74,226,166,.42)!important;background:linear-gradient(145deg,rgba(18,94,64,.34),rgba(7,38,29,.9))!important}
.staff-work-cal-summary article.is-net-negative{border-color:rgba(255,101,121,.4)!important;background:linear-gradient(145deg,rgba(106,28,44,.34),rgba(45,13,22,.9))!important}
.staff-work-cal-summary article strong{unicode-bidi:isolate;display:inline-block}
.staff-day-delta{min-width:unset;padding-inline:8px}
.staff-history-list{display:grid;gap:14px}
.staff-history-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.staff-history-summary-card{padding:13px 14px;border:1px solid rgba(89,191,213,.22);border-radius:17px;background:linear-gradient(145deg,rgba(10,39,59,.96),rgba(6,26,40,.96));box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.staff-history-summary-card span{display:block;color:#9fc0cb;font:700 12px/1.5 BYekan,sans-serif}
.staff-history-summary-card strong{display:block;margin-top:6px;color:#eefcff;font:900 21px/1.4 BYekan,sans-serif}
.staff-history-summary-card.tone-green{border-color:rgba(74,226,166,.4);background:linear-gradient(145deg,rgba(17,88,60,.35),rgba(6,31,24,.95))}
.staff-history-summary-card.tone-red{border-color:rgba(255,101,121,.42);background:linear-gradient(145deg,rgba(106,28,44,.34),rgba(39,12,20,.95))}
.staff-history-summary-card.tone-pink{border-color:rgba(255,110,184,.42);background:linear-gradient(145deg,rgba(110,30,70,.34),rgba(36,14,34,.95))}
.staff-history-summary-card.tone-gold{border-color:rgba(242,203,93,.44);background:linear-gradient(145deg,rgba(105,80,19,.3),rgba(37,28,9,.95))}
.staff-history-days{display:grid;gap:11px}
.staff-history-day-card{padding:14px;border:1px solid rgba(81,186,212,.22);border-radius:18px;background:linear-gradient(150deg,rgba(8,34,53,.98),rgba(4,22,35,.96));box-shadow:0 12px 28px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.04)}
.staff-history-day-card.is-work{border-color:rgba(58,201,237,.25)}
.staff-history-day-card.is-holiday{border-color:rgba(255,110,184,.38)}
.staff-history-day-card.is-tour{border-color:rgba(173,129,255,.38)}
.staff-history-day-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}
.staff-history-day-card header strong{display:block;color:#fff4c9;font:900 18px/1.4 BYekan,sans-serif}
.staff-history-day-card header small{display:block;margin-top:3px;color:#89b5c3;font:14px/1.5 BMitra,sans-serif}
.staff-history-day-badge{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);color:#d6edf4;font:800 12px/1.3 BYekan,sans-serif;background:rgba(255,255,255,.05)}
.staff-history-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.staff-history-day-grid span{display:grid;gap:4px;padding:10px 11px;border:1px solid rgba(89,191,213,.16);border-radius:14px;background:rgba(12,44,63,.6);text-align:center}
.staff-history-day-grid small{color:#90b8c6;font:700 11px/1.4 BYekan,sans-serif}
.staff-history-day-grid b{color:#f4fbfd;font:800 15px/1.45 BYekan,sans-serif;unicode-bidi:isolate}
.staff-person-card .staff-card-edit{top:8px!important}
.staff-card-actions .staff-history-button i{transform:scaleX(-1)}
.staff-panel,.staff-period-form,.staff-payroll-totals article,.staff-dialog,.staff-history-day-grid span,.staff-summary-card{box-shadow:0 14px 34px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.04)}
.staff-payroll-panel .staff-period-form{border:1px solid rgba(87,189,212,.18);background:linear-gradient(145deg,rgba(10,38,57,.9),rgba(6,27,41,.94))}
.staff-payroll-totals article{border:1px solid rgba(89,191,213,.2);background:linear-gradient(145deg,rgba(11,43,63,.94),rgba(6,26,39,.96))}
.staff-payroll-table td .staff-money-inline{display:inline-flex;align-items:center;gap:6px;flex-direction:row-reverse}
.staff-payroll-table td .staff-money-inline small{color:#89b9c7;font:700 11px/1.2 BYekan,sans-serif}
.staff-payroll-table td .staff-money-inline bdi{direction:ltr;unicode-bidi:isolate;display:inline-block}
@media (max-width:980px){.staff-history-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.staff-history-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .staff-work-cal-print{right:14px;top:13px;min-height:36px;padding:8px 11px;font-size:12px}
  .staff-work-cal-head{padding-top:12px}
  .staff-history-summary{grid-template-columns:1fr 1fr;gap:8px}
  .staff-history-summary-card strong{font-size:18px}
  .staff-history-day-card{padding:12px;border-radius:16px}
  .staff-history-day-grid{grid-template-columns:1fr 1fr;gap:8px}
  .staff-period-form label,.staff-period-form .jalali-date-field,.staff-period-form .staff-period-caption,.staff-payroll-totals article{text-align:center}
  .staff-period-form .jalali-date-field b,.staff-period-form .jalali-date-field i{margin-inline:auto}
  .staff-payroll-table tbody{gap:12px}
  .staff-payroll-table tr{border:2px solid rgba(241,201,79,.58)!important;box-shadow:0 14px 34px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,235,170,.06);border-radius:18px!important;background:linear-gradient(145deg,rgba(10,41,60,.96),rgba(6,24,37,.98))!important}
  .staff-payroll-table td{align-items:center!important;text-align:center!important;justify-content:space-between;border-top:1px solid rgba(255,255,255,.055)!important;padding:10px 8px!important}
  .staff-payroll-table td:before{flex:0 0 42%;text-align:right;color:#9cc0cc;font-size:11px}
  .staff-payroll-table td strong,.staff-payroll-table td b,.staff-payroll-table td .staff-money-inline{font-size:15px;justify-content:flex-start}
  .staff-payroll-table td .staff-money-inline{width:100%}
  .staff-dialog{border-width:2px}
}
@media (max-width:430px){.staff-history-day-grid{grid-template-columns:1fr}.staff-history-summary{grid-template-columns:1fr}.staff-work-cal-summary{grid-template-columns:1fr 1fr}}

/* v16.6.2 — structural fixes. Do not add overrides to app/static/dist. */
body.manager-body .manager-room-card .room-progress-block.has-action{
  display:grid!important;grid-template-rows:none!important;grid-auto-rows:min-content!important;
  align-content:start!important;gap:5px!important;height:auto!important;min-height:0!important;
  margin-top:5px!important;
}
body.manager-body .manager-room-card .room-progress-block.has-action :is(.room-checkout-bill-button,.room-arrival-confirm-button){
  position:relative!important;display:block!important;width:100%!important;
  min-height:30px!important;height:auto!important;line-height:1.3!important;
  padding:6px 8px!important;margin:0!important;transform:none!important;
}
body.manager-body .manager-room-card .room-progress-block.has-action .room-progress-text{
  position:static!important;display:block!important;min-height:0!important;height:auto!important;
  width:100%!important;max-width:100%!important;padding:3px 4px!important;margin:0!important;
  line-height:1.4!important;font-size:11px!important;white-space:normal!important;
  text-overflow:clip!important;overflow-wrap:anywhere!important;
}
body.manager-body .manager-room-card .room-progress-block.has-action .room-progress-track{
  position:relative!important;display:block!important;height:6px!important;margin:0!important;
}
body.manager-body .manager-room-card .room-action-grid{position:relative!important;margin-top:7px!important;gap:5px!important}
@media(max-width:760px){
  body.manager-body .manager-room-card .manager-room-quick-actions{
    position:relative!important;top:auto!important;right:auto!important;left:auto!important;
    height:26px!important;min-height:26px!important;margin:0 0 3px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;
  }
  body.manager-body .manager-room-card .manager-room-quick-actions :is(.manager-room-lock-quick,.manager-room-cleaning-quick){
    width:25px!important;height:24px!important;min-width:25px!important;font-size:12px!important;border-radius:7px!important;
  }
  body.manager-body .manager-room-card .manager-room-card__head h4{
    font-size:clamp(15px,4.15vw,19px)!important;line-height:1.3!important;
    margin:1px 4px 3px!important;overflow-wrap:anywhere;
  }
}

/* v16.6.3 — SMS OTP login on both public login surfaces. */
.baba-otp-form[hidden],.chat-auth-form[hidden],.auth-form[hidden],
.baba-otp-form [hidden],.baba-otp-form button[hidden] {display:none!important}
.baba-otp-switch{display:block;width:fit-content;max-width:100%;margin:10px auto 8px;padding:9px 15px;border:1px solid rgba(216,174,64,.50);border-radius:12px;background:rgba(220,176,71,.06);color:#f3d889;font:600 14px BYekan,sans-serif;cursor:pointer}
.baba-otp-switch:hover,.baba-otp-switch:focus-visible{background:rgba(220,176,71,.17)}
.baba-otp-form [data-otp-code]{font-size:24px!important;letter-spacing:.25em;text-align:center;direction:ltr;font-variant-numeric:tabular-nums}
.baba-otp-resend{display:block;margin:7px auto 2px;padding:7px 12px;background:transparent;border:0;color:#f2c85d;font:500 13px BYekan,sans-serif;cursor:pointer}
.baba-otp-resend:disabled{color:#7c8a91;cursor:default}
.baba-otp-status{min-height:20px;text-align:center;font:500 13px/1.7 BYekan,sans-serif;color:#9bcab9}
.baba-otp-status.is-error{color:#ff9696}

/* v16.6.4 — SMS.ir multi-manager recipient workspace (manager settings only) */
.manager-settings-panel[hidden],.sms-settings-hub[hidden],.sms-manager-numbers[hidden]{display:none!important}
.sms-settings-hub{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px}
.sms-settings-module{display:flex;align-items:center;gap:14px;text-align:right;min-height:116px;width:100%;border:1px solid rgba(223,182,70,.32);background:linear-gradient(125deg,rgba(216,179,66,.1),rgba(58,119,149,.07));border-radius:20px;color:var(--manager-text);padding:18px;font-family:var(--font-ui);cursor:pointer}
.sms-settings-module:hover{border-color:#e1c36c;transform:translateY(-1px)}
.sms-settings-module-icon{display:grid;place-items:center;flex:none;width:58px;height:58px;background:rgba(234,189,70,.12);border-radius:16px;font-size:30px}
.sms-settings-module>span:nth-child(2){flex:1;display:grid;gap:6px;min-width:0}
.sms-settings-module strong{font-size:19px}.sms-settings-module small{font-size:13px;line-height:1.5;color:var(--manager-muted)}.sms-settings-module-go{font-size:32px;color:#deb95c}
.sms-manager-numbers{display:grid;gap:16px;max-width:900px}
.sms-manager-head h3{font-size:24px;margin:12px 0 7px;color:var(--manager-text)}
.sms-manager-head p{font:15px/1.9 var(--font-body);color:var(--manager-muted);margin:0}
.sms-manager-back{border:1px solid var(--manager-line);border-radius:12px;background:transparent;color:var(--manager-text);font-family:var(--font-ui);padding:9px 14px;cursor:pointer}
.sms-manager-list{display:grid;gap:10px}
.sms-manager-item{display:flex;align-items:center;gap:12px;min-height:80px;border:1px solid var(--manager-line);border-radius:16px;background:color-mix(in srgb,var(--manager-card) 95%,transparent);padding:10px 14px}
.sms-manager-item-icon{font-size:22px;flex:none}
.sms-manager-item-details{display:grid;gap:4px;flex:1;min-width:0}
.sms-manager-item-details b{text-align:right;color:var(--manager-text);font-size:17px;font-variant-numeric:tabular-nums}
.sms-manager-item-details small{color:var(--manager-muted);font-size:12px}
.sms-manager-toggle{display:flex;align-items:center;gap:6px;color:var(--manager-muted);font-size:12px;white-space:nowrap;cursor:pointer}
.sms-manager-toggle input{width:19px;height:19px;accent-color:#36be90}
.sms-manager-remove{border:1px solid rgba(255,102,119,.4);border-radius:10px;background:rgba(234,70,81,.07);color:#ff9da8;padding:8px 12px;font-family:var(--font-ui);cursor:pointer}
.sms-manager-add{display:grid;gap:12px;border:1px dashed rgba(214,177,76,.42);border-radius:18px;padding:16px}
.sms-manager-add-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sms-manager-add-fields label{display:grid;gap:7px;color:var(--manager-text);font-size:14px}
.sms-manager-add-fields input{box-sizing:border-box;width:100%;height:46px;padding:9px 12px;border:1px solid var(--manager-line);border-radius:12px;background:var(--manager-card);color:var(--manager-text);font-size:16px}
.sms-manager-add>button,.sms-manager-save-row>button{min-height:44px;border:1px solid rgba(229,185,80,.4);border-radius:12px;background:linear-gradient(120deg,#9c761c,#d4aa4d);color:#101827;font:600 15px var(--font-ui);padding:9px 20px;cursor:pointer;justify-self:start}
.sms-manager-add>button:disabled,.sms-manager-save-row>button:disabled{opacity:.5;cursor:wait}
.sms-manager-empty{border:1px dashed var(--manager-line);border-radius:13px;padding:20px;color:var(--manager-muted);text-align:center}
.sms-manager-service-state{margin:0;color:var(--manager-muted);font:13px/1.7 var(--font-body)}
.sms-manager-save-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--manager-line);padding-top:12px}
.sms-manager-save-row>span{font:14px/1.6 var(--font-body);color:var(--manager-muted)}
.sms-manager-save-row>span[data-tone="success"]{color:#51d69a}.sms-manager-save-row>span[data-tone="error"]{color:#fa7b8b}
.manager-body.is-light .sms-manager-remove{color:#a5293b}.manager-body.is-light .sms-manager-add-fields input{background:#fff;color:#173743}
@media(max-width:650px){.sms-manager-add-fields{grid-template-columns:1fr}.sms-manager-item{gap:7px;padding:9px 8px;flex-wrap:wrap}.sms-manager-item-icon{font-size:17px}.sms-manager-item-details b{font-size:15px}.sms-manager-toggle{font-size:11px}.sms-manager-remove{padding:7px 8px}.sms-manager-save-row>button,.sms-manager-add>button{width:100%}}

/* SMS.ir connection settings 16.6.5 */
.sms-provider-panel[hidden]{display:none!important}
.sms-provider-panel{display:grid;gap:15px;max-width:900px;color:var(--manager-text)}
.sms-provider-panel h3{margin:0;font-size:23px}
.sms-provider-panel p,.sms-provider-panel small{line-height:1.9;color:var(--manager-muted)}
.sms-provider-panel form{display:grid;gap:15px;border:1px solid var(--manager-line);border-radius:18px;padding:17px;background:color-mix(in srgb,var(--manager-card) 92%,transparent)}
.sms-provider-panel form>label:not(.sms-provider-checkbox){display:grid;gap:7px}
.sms-provider-panel label>span{font-weight:600;font-size:14px}
.sms-provider-panel input:not([type=checkbox]){width:100%;box-sizing:border-box;max-width:560px;min-height:46px;border:1px solid var(--manager-line);border-radius:11px;background:var(--manager-card);color:var(--manager-text);padding:10px 13px;font:15px var(--font-ui)}
.sms-provider-checkbox{display:flex;gap:10px;align-items:center}.sms-provider-checkbox input{width:21px;height:21px;accent-color:#26b88a}
.sms-provider-actions{display:flex;flex-wrap:wrap;gap:12px}
.sms-provider-actions button{border:1px solid #bc9f55;background:linear-gradient(135deg,#a5812c,#e4bc60);color:#0c1f2a;border-radius:12px;padding:11px 16px;font:600 14px var(--font-ui);min-height:44px;cursor:pointer}
.sms-provider-actions button+button{background:transparent;color:var(--manager-text)}
.sms-provider-actions button:disabled{opacity:.6}
[data-sms-provider-status][data-tone=error]{color:#f99}[data-sms-provider-status][data-tone=success]{color:#5adc9c}
.sms-provider-outbox{font-size:13px;color:var(--manager-muted);border:1px solid var(--manager-line);border-radius:12px;padding:12px;line-height:2}
@media(max-width:650px){.sms-provider-actions{display:grid}.sms-provider-actions button{width:100%}}

.sms-provider-test{display:flex;align-items:end;flex-wrap:wrap;gap:12px;border:1px dashed var(--manager-line);border-radius:14px;padding:15px}
.sms-provider-test label{display:grid;gap:7px;flex:1;min-width:200px}
.sms-provider-test select{min-height:45px;border-radius:11px;border:1px solid var(--manager-line);background:var(--manager-card);color:var(--manager-text);padding:10px}
.sms-provider-test button{min-height:44px;border:1px solid #c8a14d;border-radius:11px;background:transparent;color:var(--manager-text);font:600 14px var(--font-ui);padding:10px;cursor:pointer}
.sms-provider-test button:disabled{opacity:.5}

.sms-provider-recent{display:grid;gap:8px;padding:10px;max-height:230px;overflow-y:auto;line-height:1.9;font-size:12px;overflow-wrap:anywhere}.sms-provider-recent>div{padding:8px;border:1px solid rgba(127,170,190,.22);border-radius:9px}

.sms-provider-lookup{display:flex;flex-wrap:wrap;gap:10px;align-items:end;padding:12px;border:1px solid rgba(127,170,190,.28);border-radius:12px}.sms-provider-lookup label{display:grid;gap:5px;flex:1;min-width:200px}.sms-provider-lookup input{padding:10px;border:1px solid #528ca0;background:transparent;border-radius:10px;color:inherit}.sms-provider-lookup button{min-height:41px;border:1px solid #caa85f;background:transparent;color:inherit;border-radius:10px;padding:8px 12px}.sms-provider-lookup [data-sms-lookup-result]{flex-basis:100%;line-height:1.8}

/* 16.6.7 — manager restaurant on REAL phones: same single-page mobile workflow
   as the hall attendant.  Desktop layouts, their category drawers and actions
   remain unchanged.  These rules apply to BOTH manager layout selections. */
.restaurant-mobile-hall-browser,
.restaurant-mobile-hall-cart-toggle,
.restaurant-mobile-hall-approve{display:none}
.restaurant-mobile-hall-approve[hidden]{display:none!important}
@media(max-width:820px), (min-width:821px) and (max-width:1100px) and (pointer:coarse){
  html body.restaurant-v2 #restaurantOrderOverlay.restaurant-v2-overlay:not([hidden]){
    position:fixed!important;inset:0!important;margin:0!important;padding:0!important;
    height:100dvh!important;max-height:100dvh!important;width:100%!important;
    z-index:2600!important;background:#061827!important;overflow:hidden!important;
    display:block!important;opacity:1!important;transform:none!important;
  }
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-floating-workspace{
    display:block!important;position:relative!important;inset:auto!important;
    width:100%!important;max-width:none!important;height:100dvh!important;
    min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0!important;
    overflow:hidden!important;transform:none!important;
  }
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-side-slot,
  html body.restaurant-v2 #restaurantOrderOverlay.is-mobile-menu .restaurant-v2-side-slot.is-right{
    display:none!important;visibility:hidden!important;pointer-events:none!important;
  }
  html body.restaurant-v2 #restaurantOrderOverlay #restaurantOrderPanel.restaurant-v2-order-modal{
    position:relative!important;inset:auto!important;grid-column:auto!important;
    display:flex!important;flex-direction:column!important;box-sizing:border-box!important;
    width:100%!important;max-width:100%!important;height:100dvh!important;
    min-height:0!important;max-height:100dvh!important;margin:0!important;padding:0 0 0!important;
    background:#061827!important;color:#f5fcff!important;border:0!important;
    border-radius:0!important;box-shadow:none!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;
    visibility:visible!important;pointer-events:auto!important;-webkit-overflow-scrolling:touch;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{
    position:sticky!important;top:0!important;z-index:30!important;
    flex:0 0 53px!important;height:53px!important;min-height:53px!important;
    display:flex!important;align-items:center!important;justify-content:center!important;
    margin:0!important;padding:4px 62px!important;
    border-bottom:1px solid #2d6375!important;background:#0a2b3e!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head h2{
    font-size:clamp(17px,5vw,22px)!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools{top:4px!important;z-index:2!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-close{font-size:26px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-mobile-categories{display:none!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-compact{
    display:block!important;flex:0 0 auto!important;margin:0!important;padding:9px 10px 5px!important;
    border:0!important;border-radius:0!important;background:transparent!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;margin:0 0 8px!important;padding:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button{
    min-height:42px!important;height:42px!important;border-radius:12px!important;padding:3px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button>b{font-size:12px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{
    display:grid!important;grid-template-columns:1fr!important;gap:6px!important;
    padding:0!important;margin:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field{
    display:grid!important;grid-template-columns:1fr!important;gap:3px!important;
    min-height:0!important;margin:0!important;padding:8px!important;
    border-radius:13px!important;border:1px solid #2d6375!important;background:#0a2b3e!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field>span{
    display:block!important;font-size:11px!important;color:#a9ced9!important;text-align:right!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap input{
    min-width:0!important;width:100%!important;box-sizing:border-box!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap input{height:40px!important;font-size:14px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row{
    display:flex!important;flex-wrap:wrap!important;gap:5px!important;width:100%!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row .restaurant-v2-segment,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row .restaurant-v2-segment{
    display:grid!important;flex:1 1 100%!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:5px!important;width:100%!important;min-width:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row .restaurant-v2-segment{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-segment button{
    min-height:39px!important;padding:3px!important;font-size:12px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input:not([hidden]),
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time:not(:disabled){
    flex:1 1 100%!important;width:100%!important;max-width:100%!important;height:36px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time:disabled{display:none!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-browser{
    display:block!important;flex:0 0 auto!important;padding:5px 10px 8px!important;
    border:0!important;background:transparent!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-categories{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;padding:0!important;margin:0 0 8px!important;
    overflow:visible!important;width:100%!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card{
    flex:none!important;min-width:0!important;width:100%!important;
    min-height:53px!important;max-height:62px!important;padding:4px 2px!important;
    border-radius:11px!important;display:grid!important;align-content:center!important;justify-items:center!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card span{
    font-size:clamp(10px,3.15vw,14px)!important;white-space:nowrap!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card small{font-size:11px!important}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card.is-active{
    border-color:#f0d16b!important;box-shadow:inset 0 0 0 1px #f5d87555,0 0 12px #f5d87530!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-brand{
    grid-column:1/-1!important;grid-row:2!important;min-height:42px!important;max-height:48px!important;
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    margin:0!important;border-radius:12px!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-brand strong{font-size:19px!important}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-brand small{font-size:9px!important}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-search{display:block!important;padding:4px 0 8px!important}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-search input{
    width:100%!important;height:43px!important;min-height:43px!important;
    border:1px solid #2d6375!important;border-radius:12px!important;
    background:#0e3447!important;color:#f5fcff!important;
    font:700 13px BYekan,Tahoma,sans-serif!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-search span{top:13px!important;right:13px!important}
  html body.restaurant-v2 #restaurantMobileHallFoods.hall-food-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;min-height:0!important;overflow:visible!important;
  }
  html body.restaurant-v2 #restaurantMobileHallFoods .hall-food-card{
    display:flex!important;position:relative!important;align-items:center!important;justify-content:center!important;
    min-height:86px!important;max-height:none!important;padding:10px 8px!important;
    border-radius:14px!important;white-space:normal!important;text-align:center!important;
    font-family:BYekan,Tahoma,sans-serif!important;
  }
  html body.restaurant-v2 #restaurantMobileHallFoods .hall-food-card strong{
    display:block!important;visibility:visible!important;color:#f5fcff!important;
    font-size:clamp(14px,3.9vw,17px)!important;line-height:1.6!important;
    text-align:center!important;white-space:normal!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-section{
    display:block!important;flex:none!important;min-height:0!important;
    height:auto!important;max-height:none!important;overflow:visible!important;
    margin:5px 10px 6px!important;padding:0!important;
    border:1px solid #2d6375!important;border-radius:15px!important;background:#0a2b3e!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-cart-toggle{
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    width:100%!important;min-height:42px!important;color:#f5fcff!important;text-align:right!important;
    border:0!important;border-radius:15px!important;background:transparent!important;
    font:800 14px BYekan,Tahoma,sans-serif!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-cart-toggle small{font-size:10px!important}
  html body.restaurant-v2 #restaurantOrderPanel.mobile-hall-cart-collapsed .restaurant-v2-cart-list{display:none!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-list{
    display:block!important;flex:none!important;min-height:0!important;
    max-height:none!important;height:auto!important;overflow:visible!important;
    padding:7px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-list-inner{
    display:grid!important;gap:6px!important;min-height:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;
    gap:7px!important;padding:8px!important;min-height:0!important;
    border:1px solid #2d6375!important;border-radius:12px!important;background:#0e3447!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-name{grid-column:1/-1!important;font-size:14px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-unit{display:none!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-line{grid-column:1!important;font-size:14px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-stepper{grid-column:2!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-remove{grid-column:3!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-note{
    display:block!important;flex:0 0 auto!important;margin:4px 10px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-note input{
    width:100%!important;height:40px!important;box-sizing:border-box!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-footer{
    position:sticky!important;bottom:0!important;z-index:40!important;
    display:block!important;flex:0 0 auto!important;
    margin:0!important;padding:7px 10px max(9px,env(safe-area-inset-bottom))!important;
    border-top:1px solid #2d6375!important;border-radius:0!important;
    background:#0a2b3e!important;box-shadow:0 -9px 26px #0006!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:4px!important;min-height:48px!important;padding:4px!important;margin:0 0 6px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part{
    display:grid!important;justify-items:center!important;min-width:0!important;gap:2px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part span{font-size:10px!important;white-space:nowrap!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part b,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-total-part strong{font-size:clamp(15px,4.5vw,19px)!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button{
    min-height:42px!important;font-size:12px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel.is-mobile-hall-approval .restaurant-v2-actions{display:none!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-approve:not([hidden]){
    display:block!important;width:100%!important;min-height:52px!important;
    border:1px solid #f6d46b!important;border-radius:13px!important;
    background:linear-gradient(120deg,#d3a53f,#f8dc7c)!important;
    color:#142d3e!important;box-shadow:0 8px 20px #ccaa4244!important;
    font:900 16px BYekan,Tahoma,sans-serif!important;cursor:pointer!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-approve:disabled{opacity:.55!important;cursor:wait!important}
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-mobile-hall-browser,
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-mobile-hall-approve{touch-action:manipulation}
}
/* In the mobile approval view, hidden unit/seat selectors must stay hidden;
   some legacy POS CSS forces display:flex on these elements. */
@media(max-width:820px){
  html body.restaurant-v2 #restaurantOrderPanel #restaurantHeaderUnitPicker[hidden],
  html body.restaurant-v2 #restaurantOrderPanel #restaurantSeatingLabel[hidden],
  html body.restaurant-v2 #restaurantOrderPanel #restaurantTourLeaderPicker[hidden],
  html body.restaurant-v2 #restaurantOrderPanel #restaurantTourLeader[hidden],
  html body.restaurant-v2 #restaurantOrderPanel #restaurantMobileHallApprove[hidden]{display:none!important}
  html body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-field :is(input,select),
  html body.restaurant-v2 #restaurantOrderPanel:not([data-modal-theme="light"]) .restaurant-v2-field :is(input,select){
    background:#0e3447!important;color:#f5fcff!important;border-color:#2d6375!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="dark"] .restaurant-v2-segment button,
  html body.restaurant-v2 #restaurantOrderPanel:not([data-modal-theme="light"]) .restaurant-v2-segment button{
    background:#0e3447!important;color:#f5fcff!important;border-color:#2d6375!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-segment button.is-active{
    background:linear-gradient(145deg,#136594,#2d9fd0)!important;color:#fff!important;
  }
}
/* Manager-only price editing remains available inside the mobile cart. */
@media(max-width:820px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-unit{
    display:flex!important;grid-column:1!important;grid-row:2!important;
    align-items:center!important;justify-content:flex-start!important;
    min-width:0!important;max-width:100%!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-unit input{
    min-width:0!important;width:min(125px,100%)!important;
    font-size:13px!important;text-align:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-line{
    grid-column:1!important;grid-row:3!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper{
    grid-column:2!important;grid-row:2/4!important;align-self:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-remove{
    grid-column:3!important;grid-row:2/4!important;align-self:center!important;
  }
}

/* 16.6.8 — Six visual OTP cells; ONE real input retains keyboard autofill/WebOTP. */
.baba-otp-code-field{display:grid;gap:9px;width:100%;margin:8px 0 4px}
.baba-otp-code-label{display:block;font:600 14px/1.6 BYekan,sans-serif;color:inherit;text-align:right}
.baba-otp-digit-row{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));align-items:stretch;gap:clamp(5px,1.7vw,11px);max-width:440px;width:100%;margin:0 auto;padding:3px;cursor:text;isolation:isolate}
.baba-otp-digit{display:grid;place-items:center;min-width:0;height:clamp(47px,13vw,63px);border:1.5px solid rgba(99,182,207,.55);border-radius:clamp(10px,2.9vw,15px);background:rgba(9,39,56,.75);color:#f7f9fc;font:700 clamp(22px,6.4vw,29px)/1 Arial,sans-serif;font-variant-numeric:tabular-nums;transition:border-color .14s,box-shadow .14s,background .14s;pointer-events:none}
.baba-otp-digit.is-filled{border-color:rgba(210,179,102,.86);background:rgba(26,65,73,.82)}
.baba-otp-digit.is-current{border-color:#40c9de;box-shadow:0 0 0 2px rgba(53,194,224,.17),inset 0 0 11px rgba(35,178,205,.18)}
.baba-otp-form .baba-otp-native-input,
.baba-otp-form [data-otp-code].baba-otp-native-input{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;box-sizing:border-box!important;opacity:1!important;color:transparent!important;caret-color:transparent!important;background:transparent!important;border:0!important;outline:none!important;font-size:18px!important;letter-spacing:normal!important;direction:ltr!important;z-index:2;cursor:text}
.baba-otp-digit-row.is-verified .baba-otp-digit{border-color:#28dc91!important;background:rgba(16,91,61,.75)!important;color:#e7fff1!important;box-shadow:0 0 0 1px rgba(42,227,148,.35),0 0 14px rgba(36,211,126,.3)!important}
.baba-otp-digit-row.is-invalid .baba-otp-digit{border-color:rgba(255,109,122,.85);box-shadow:0 0 9px rgba(245,83,105,.16)}
.baba-otp-status.is-success{color:#55eea7!important;font-weight:700!important}
@media(max-width:360px){.baba-otp-digit-row{gap:5px}.baba-otp-digit{height:46px;border-radius:9px}}

/* v16.6.9: OTP waiting state and repeating 1/2/3 dot animation. */
.baba-otp-status.is-waiting{color:#55eea7!important;font-weight:700!important}
.baba-otp-status.is-waiting::after{
  content:'...';display:inline-block;width:0;overflow:hidden;white-space:nowrap;
  direction:ltr;text-align:left;vertical-align:bottom;
  animation:babaOtpAwaitDots 1.25s steps(3,end) infinite;
}
@keyframes babaOtpAwaitDots{0%{width:0}100%{width:3ch}}
@media(prefers-reduced-motion:reduce){.baba-otp-status.is-waiting::after{animation:none;width:3ch}}

/* 16.7.1 — Mobile-first auth on iPhone/Android. Turn off 3D flip on phones:
   Safari's transformed fixed dialog could render a full card outside the viewport. */
@media (max-width: 760px) {
  html body dialog.chat-auth-dialog,
  html body dialog.chat-auth-dialog.is-register-mode {
    position:fixed!important;
    inset:0!important;
    box-sizing:border-box!important;
    inline-size:calc(100% - 24px)!important;
    width:calc(100% - 24px)!important;
    max-inline-size:440px!important;
    min-inline-size:0!important;
    max-width:440px!important;
    max-block-size:calc(100dvh - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    margin:auto!important;
    padding:0!important;
    border:1px solid rgba(91,194,219,.32)!important;
    border-radius:25px!important;
    background:#072032!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    transform:none!important;
  }
  html body .chat-auth-dialog .chat-auth-view,
  html body .chat-auth-dialog .chat-auth-flip-shell,
  html body .chat-auth-dialog .chat-auth-flip-card {
    position:relative!important;
    inset:auto!important;
    display:block!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    transform:none!important;
    perspective:none!important;
    overflow:visible!important;
  }
  html body .chat-auth-dialog .chat-auth-face {
    position:relative!important;
    inset:auto!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    padding:22px clamp(12px,4vw,20px) 20px!important;
    border:0!important;
    border-radius:23px!important;
    overflow:visible!important;
    transform:none!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }
  html body .chat-auth-dialog:not(.is-register-mode) .chat-auth-face--login {display:grid!important;}
  html body .chat-auth-dialog:not(.is-register-mode) .chat-auth-face--register {display:none!important;}
  html body .chat-auth-dialog.is-register-mode .chat-auth-face--login {display:none!important;}
  html body .chat-auth-dialog.is-register-mode .chat-auth-face--register {display:block!important;}
  html body .chat-auth-dialog .chat-auth-form,
  html body .chat-auth-dialog .chat-auth-login-form,
  html body .chat-auth-dialog .chat-auth-mode-switch,
  html body .chat-auth-dialog .baba-otp-code-field {width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  html body .chat-auth-dialog .chat-auth-form input {max-width:100%!important;min-width:0!important;box-sizing:border-box!important;font-size:16px;}
  html body .chat-auth-dialog .baba-otp-digit-row {max-width:100%!important;min-width:0!important;box-sizing:border-box!important;gap:clamp(3px,1.5vw,9px)!important;}
  html body .chat-auth-dialog .baba-otp-digit {height:clamp(40px,12vw,55px)!important;min-width:0!important;border-radius:11px!important;font-size:clamp(19px,5.5vw,27px)!important;}
  html body .chat-auth-dialog .chat-auth-app-icon{width:64px!important;height:64px!important;}
  html body .chat-auth-dialog .chat-dialog-close {position:absolute!important;inset:auto auto auto 12px!important;top:12px!important;z-index:250!important;}
  html body .chat-auth-dialog [data-otp-status]{text-align:center;}
  /* prevent Safari flex/transform child widening from taking whole viewport */
  html body .chat-auth-dialog * {min-inline-size:0;}
  html body .chat-auth-dialog button {max-inline-size:100%;}
}
/* Manager-number tools belong to each row, not behind provider settings. */
.sms-manager-item-tools{display:flex;gap:7px;flex-wrap:wrap;align-items:center;margin-inline-start:auto}
.sms-manager-item-tools button{min-height:38px;padding:6px 10px;border:1px solid rgba(100,196,224,.4);border-radius:11px;color:#e1f6fd;background:rgba(9,51,70,.84);font:600 12px BYekan,sans-serif;cursor:pointer}
.sms-manager-item-tools button.sms-manager-test{border-color:rgba(226,185,75,.6);color:#f6d884}
.sms-manager-item-tools button:disabled{cursor:not-allowed;opacity:.45}
.sms-manager-test-feedback{min-height:23px;line-height:1.7}
.sms-manager-test-feedback[data-tone="success"]{color:#5fe4a4!important}
.sms-manager-test-feedback[data-tone="error"]{color:#ff91a3!important}
@media(max-width:650px){.sms-manager-item-tools{flex-basis:100%;margin-inline-start:0;display:grid;grid-template-columns:1fr 1fr}.sms-manager-item-tools button{width:100%}}


/* 16.7.2 — Manager restaurant, phone portrait: food name and +/- quantity share
   one row. The number field is square for 1 digit and grows only to 3 digits.
   Keep the desktop POS and the hall-staff ordering UI untouched. */
@media (max-width:620px) {
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content 32px!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:7px!important;
    row-gap:7px!important;
    direction:rtl!important;
    min-width:0!important;
    padding:9px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-name {
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
    min-width:0!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    text-align:right!important;
    font-size:clamp(12px,3.4vw,15px)!important;
    line-height:1.5!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper {
    grid-column:2!important;
    grid-row:1!important;
    display:grid!important;
    grid-template-columns:30px 34px 30px!important;
    gap:3px!important;
    width:max-content!important;
    max-width:none!important;
    min-width:0!important;
    align-items:center!important;
    justify-content:center!important;
    align-self:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper[data-qty-digits="2"] {
    grid-template-columns:30px 44px 30px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper[data-qty-digits="3"] {
    grid-template-columns:30px 54px 30px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper button {
    width:30px!important;
    min-width:0!important;
    height:34px!important;
    padding:0!important;
    font-size:19px!important;
    line-height:1!important;
    touch-action:manipulation!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper input.restaurant-v2-cart-quantity {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:34px!important;
    padding:0 1px!important;
    margin:0!important;
    font-size:17px!important;
    line-height:34px!important;
    box-sizing:border-box!important;
    border-radius:8px!important;
    transition:background-color .15s,border-color .15s!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-remove {
    grid-column:3!important;
    grid-row:1!important;
    align-self:center!important;
    width:32px!important;
    min-width:0!important;
    height:34px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-unit {
    grid-column:1!important;
    grid-row:2!important;
    align-self:center!important;
    justify-self:start!important;
    max-width:135px!important;
    width:100%!important;
    min-width:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-line {
    grid-column:2/4!important;
    grid-row:2!important;
    align-self:center!important;
    text-align:left!important;
    min-width:0!important;
    font-size:clamp(12px,3.7vw,15px)!important;
  }
}
@media (max-width:360px) {
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row {
    column-gap:4px!important;padding:7px 5px!important;
    grid-template-columns:minmax(0,1fr) max-content 29px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-name {font-size:12px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper {grid-template-columns:27px 32px 27px!important;gap:2px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper[data-qty-digits="2"] {grid-template-columns:27px 42px 27px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper[data-qty-digits="3"] {grid-template-columns:27px 52px 27px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper button {width:27px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-remove {width:29px!important;}
}

/* Reservation SMS workflow manager settings 16.7.3 */
.sms-workflow-panel[hidden]{display:none}
.sms-workflow-panel{display:grid;gap:16px;max-width:980px}
.sms-workflow-panel h3{font:700 23px var(--font-ui);margin:8px 0 0}
.sms-workflow-panel>p{color:var(--manager-muted);line-height:1.9;font-size:14px;margin:0}
.sms-workflow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,350px),1fr));gap:14px}
.sms-workflow-card{border:1px solid rgba(91,160,188,.36);background:rgba(8,33,52,.54);border-radius:18px;padding:17px;display:grid;gap:12px;min-width:0}
.sms-workflow-title{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.sms-workflow-title strong{font-size:16px;color:var(--manager-text)}
.sms-workflow-title span{font-size:12px;color:#9bc3d5}
.sms-workflow-field{display:grid;gap:7px;color:var(--manager-muted);font-size:13px}
.sms-workflow-field input{box-sizing:border-box;min-width:0;width:100%;padding:12px;border:1px solid rgba(91,160,188,.42);border-radius:11px;background:#0b2c42;color:#fff;font-size:14px}
.sms-workflow-toggle{display:flex;align-items:center;gap:10px;color:var(--manager-text);font-size:13px}
.sms-workflow-toggle input{width:20px;height:20px;accent-color:#2acb9d}
.sms-workflow-test-controls{display:flex;gap:9px;flex-wrap:wrap}
.sms-workflow-test-controls select{flex:1;min-width:145px;max-width:100%;background:#0b2c42;color:#fff;border:1px solid #528ca0;border-radius:10px;min-height:42px}
.sms-workflow-test-controls button{border:1px solid #bfa362;background:transparent;color:#f5dd9b;border-radius:11px;min-height:42px;padding:8px 12px;font:600 13px var(--font-ui);cursor:pointer}
.sms-workflow-test-controls button:disabled{opacity:.55}
.sms-workflow-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sms-workflow-footer button{background:linear-gradient(120deg,#a5842d,#edcb6c);border:0;border-radius:12px;padding:12px 22px;min-height:48px;font:700 16px var(--font-ui);color:#102031}
.sms-workflow-footer span{flex:1;min-width:170px;font-size:13px;line-height:1.7}
.sms-workflow-footer [data-tone="success"]{color:#59dea5}.sms-workflow-footer [data-tone="error"]{color:#ff8c9d}
.sms-workflow-current{border:1px solid rgba(91,160,188,.35);border-radius:12px;padding:12px;color:var(--manager-text);font-size:13px;line-height:1.8}
.sms-workflow-notice{font-size:12px!important}
@media(max-width:650px){.sms-workflow-card{padding:13px}.sms-workflow-title strong{font-size:14px}.sms-workflow-footer button{width:100%}}

/* ===== 16.7.4: compact multi-step reservation, mobile dashboard, same-day stay ===== */
/* Manager: every reservation is a coherent two-band card, not three unrelated columns. */
body.manager-body .manager-pending-list{gap:14px}
body.manager-body .pending-booking-card--174{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(205px,245px)!important;
  align-items:stretch!important;gap:18px!important;padding:17px!important;
  border:1px solid #32758c;border-radius:21px;
  background:linear-gradient(125deg,#0b2b40,#0b2438);
  box-shadow:0 12px 28px #0002;
}
body.manager-body .pending-booking-main{min-width:0;display:flex;flex-direction:column;gap:10px}
body.manager-body .pending-booking-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
body.manager-body .pending-booking-guest{min-width:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
body.manager-body .pending-booking-card--174 h3{font-size:clamp(17px,1.55vw,22px);margin:0;color:#f4f9ff}
body.manager-body .pending-booking-card--174 .pending-booking-unit{
  margin:0!important;padding:7px 12px;font-size:14px;max-width:100%;
  border:1px solid #438b9a;background:#143f50;color:#ffdc84;border-radius:11px;
}
body.manager-body .pending-booking-card--174 .manager-payment-stage{
  flex:0 1 auto;margin:0;white-space:normal;text-align:center;padding:7px 10px;
  background:#4b3d1930;color:#f7ce65;border:1px solid #d5b34c66;border-radius:10px;font-size:12px;
}
body.manager-body .pending-booking-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
body.manager-body .pending-fact{
  border:1px solid #2e637a;border-radius:13px;background:#0d3146;
  padding:10px 7px;min-width:0;min-height:62px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;text-align:center
}
body.manager-body .pending-fact small{color:#aac7d4;font:700 11px var(--font-ui)}
body.manager-body .pending-fact b{font:900 clamp(12px,1.2vw,17px) var(--font-ui);color:#e3f3fa;overflow-wrap:anywhere}
body.manager-body .pending-fact--arrival{border-color:#337fba;background:#11324e}
body.manager-body .pending-fact--arrival b{color:#70c7ff}
body.manager-body .pending-fact--departure{border-color:#a05e65;background:#352536}
body.manager-body .pending-fact--departure b{color:#ffacac}
body.manager-body .pending-fact--price{border-color:#258b77;background:#0c413c}
body.manager-body .pending-fact--price b{color:#6af5c1}
body.manager-body .pending-booking-identity{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
body.manager-body .pending-identity-item{display:inline-flex;gap:7px;align-items:center;max-width:100%;border:1px solid #274e65;border-radius:10px;padding:6px 11px;background:#102d40}
body.manager-body .pending-identity-item small{color:#99bed0;font:700 12px var(--font-ui)}
body.manager-body .pending-identity-item b{color:#e4f4fd;font-size:13px;direction:ltr;unicode-bidi:embed}
body.manager-body .pending-booking-side{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:10px;min-width:0}
body.manager-body .pending-booking-card--174 .pending-booking-actions{
  display:flex;justify-content:center!important;align-items:stretch;flex-wrap:wrap;gap:7px!important;min-width:0
}
body.manager-body .pending-booking-card--174 .pending-booking-actions button{flex:1 1 100px;white-space:normal;line-height:1.45;min-height:42px}
body.manager-body .pending-booking-card--174 .manager-payment-receipt-block{margin:0 auto!important;width:100%!important;max-width:220px;flex:none;display:grid;gap:6px}
body.manager-body .pending-booking-card--174 .manager-payment-receipt-block .payment-receipt-thumb{padding:5px!important;min-height:0}
body.manager-body .pending-booking-card--174 .manager-payment-receipt-block img{max-height:94px;width:100%;object-fit:contain}
body.manager-body .pending-booking-card--174 .manager-payment-receipt-block .payment-receipt-thumb span{font-size:10px}
body.manager-body .pending-booking-card--174 .manager-payment-receipt-block .payment-receipt-download{font-size:11px;text-align:center}
body.manager-body .manager-command--requests .manager-request-corner-badge:not([hidden]){
  position:absolute;top:-11px;left:-9px;z-index:5;min-width:26px;height:26px;padding:0 5px;
  display:grid;place-items:center;background:linear-gradient(135deg,#f84d74,#be1643);
  border-radius:99px;color:white;font:900 13px var(--font-ui);box-shadow:0 0 0 3px #081b2b,0 0 13px #e8417466;
}
@media(max-width:850px){
  body.manager-body .pending-booking-card--174{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:12px!important}
  body.manager-body .pending-booking-head{align-items:flex-start;flex-wrap:wrap;gap:7px}
  body.manager-body .pending-booking-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.manager-body .pending-booking-side{flex-direction:column}
  body.manager-body .pending-booking-card--174 .manager-payment-receipt-block{max-width:210px}
  body.manager-body .pending-booking-card--174 .pending-booking-actions button{min-height:40px;font-size:12px}
}
/* Decision confirmation: no oversized empty bottom, a compact header and dates. */
body.manager-body #managerBookingDecisionDialog.manager-booking-decision-dialog{
  box-sizing:border-box;min-height:0!important;height:fit-content!important;
  max-height:calc(100dvh - 24px)!important;width:min(570px,calc(100vw - 22px))!important;
  padding:18px 20px 15px!important;border-radius:24px!important;overflow-y:auto!important;
}
body.manager-body #managerBookingDecisionDialog>header{padding:0 38px 8px!important;margin:0!important}
body.manager-body #managerBookingDecisionDialog header h2{margin:0!important;font-size:23px!important}
body.manager-body #managerBookingDecisionDialog .manager-manual-form{gap:9px!important}
body.manager-body #managerBookingDecisionDialog .manager-booking-decision-summary{
  padding:12px!important;gap:9px!important;text-align:center;justify-items:stretch!important;
  border-radius:15px;background:#12384d;
}
body.manager-body #managerBookingDecisionDialog .decision-title-row{display:grid;justify-items:center;gap:3px}
body.manager-body #managerBookingDecisionDialog .decision-title-row strong{font-size:17px}
body.manager-body #managerBookingDecisionDialog .decision-title-row .booking-decision-unit{font-size:14px}
body.manager-body #managerBookingDecisionDialog .decision-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}
body.manager-body #managerBookingDecisionDialog .decision-date-row span{padding:7px 5px;border:1px solid #365c75;border-radius:10px;display:grid;gap:3px;font-size:11px}
body.manager-body #managerBookingDecisionDialog .decision-date-row span b{font-size:14px}
body.manager-body #managerBookingDecisionDialog .decision-date-row .is-arrival{background:#11354b;color:#89d4ff}
body.manager-body #managerBookingDecisionDialog .decision-date-row .is-departure{background:#352735;color:#ffa5af}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price{margin:0;padding:10px!important}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price small{font-size:11px!important;line-height:1.4}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price input{min-height:43px}
body.manager-body #managerBookingDecisionDialog .manager-booking-decision-actions{margin:0!important;gap:9px!important}
body.manager-body #managerBookingDecisionDialog .manager-booking-decision-actions button{min-height:43px!important;height:auto!important}
@media(max-width:640px){
  body.manager-body #managerBookingDecisionDialog.manager-booking-decision-dialog{padding:16px 12px 12px!important}
  body.manager-body #managerBookingDecisionDialog .manager-booking-decision-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* Arrival: inline micro-descriptions and compact buttons fully contained by cards. */
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card{
  min-width:0!important;overflow:hidden;box-sizing:border-box;
}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head{
  width:100%;display:flex!important;flex-flow:row nowrap!important;align-items:center!important;
  justify-content:space-between!important;gap:4px!important;min-width:0;
}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{
  flex:0 0 auto;font-size:clamp(11px,1.3vw,16px)!important;white-space:nowrap;
}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head small{
  flex:0 1 auto;font-size:clamp(8px,1vw,11px)!important;min-width:0;text-align:left;
  white-space:normal;line-height:1.15;margin:0!important;
}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter{
  display:flex;align-items:center;justify-content:center;gap:6px!important;min-width:0;max-width:100%;
}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__button{
  flex:0 0 34px!important;width:34px!important;height:34px!important;min-height:34px!important;
  font-size:21px!important;border-radius:11px!important;padding:0!important;
}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__value{
  flex:0 0 auto;min-width:27px!important;font-size:22px!important;
}
@media(max-width:680px){
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__button{flex-basis:30px!important;width:30px!important;height:30px!important;min-height:30px!important;font-size:19px!important}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{font-size:11px!important}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head small{font-size:8px!important}
}
/* Mobile guest: leave a proper gap below the fixed header + iPhone safe area. */
@media(max-width:700px){
 .customer-panel-page .customer-panel-shell{
   padding-top:calc(23px + env(safe-area-inset-top,0px))!important;
   margin-top:0!important;gap:14px!important;
 }
 .customer-panel-page .customer-welcome-card--compact{margin-top:5px!important}
 .customer-panel-page .account-restaurant-promo{
   min-height:155px!important;max-height:180px!important;
   background-position:center top!important;
 }
 .customer-panel-page .account-restaurant-promo .account-promo-copy{bottom:7px!important}
}
/* Do not display a tall empty area under the mobile artwork.  Copy is
   embedded in the exported artwork, so framing the top half is preferable. */
@media(max-width:390px){.customer-panel-page .account-restaurant-promo{min-height:145px!important;max-height:160px!important}}
/* Guest menu preview/download: constrained viewport with a centered way back. */
.guest-rest-lightbox{box-sizing:border-box;display:block;max-width:calc(100vw - 14px)!important;width:min(950px,calc(100vw - 14px))!important;height:auto!important;max-height:calc(100dvh - 20px)!important;padding:15px!important}
.guest-rest-lightbox img{max-width:100%!important;width:auto!important;max-height:calc(100dvh - 190px)!important;object-fit:contain!important}
.guest-rest-lightbox strong{margin:7px 0!important}
.guest-rest-lightbox-bottom{display:flex;align-items:center;justify-content:center;gap:12px;margin:12px auto 0;clear:both}
.guest-rest-lightbox .guest-rest-lightbox-bottom button{position:static!important;float:none!important;min-width:125px!important;min-height:42px;background:#155f71!important;border:1px solid #4dc5c1!important;border-radius:12px;font:800 14px var(--font-ui)}
.guest-rest-lightbox .guest-rest-lightbox-bottom a{display:grid;place-items:center;min-height:42px;border:1px solid #cba64e;border-radius:12px;padding:0 15px;color:#f9dc8b;text-decoration:none}

/* ==========================================================================
 * v16.7.5 | Restaurant precision, iPhone receipts & guest service tracking
 * Scope visual changes to relevant pages; keep desktop header anchors.
 * ========================================================================== */
/* Header: official emblem alone (no card behind it). Keep image/connection
   halo functional; do not affect three fixed anchor coordinates. */
body.manager-body .dashboard-global-header .dashboard-header-logo,
body.restaurant-v2 .dashboard-global-header .dashboard-header-logo{
  border:0!important;background:transparent!important;border-radius:0!important;
  box-shadow:none!important;outline-offset:3px!important;
}
body.manager-body .dashboard-global-header .dashboard-header-logo::before,
body.manager-body .dashboard-global-header .dashboard-header-logo::after{border-radius:50%!important}
/* Extra breathing room between back and emblem, but never move the emblem. */
@media(min-width:821px){
  body.restaurant-v2 .dashboard-global-header .dashboard-header-actions{gap:16px!important}
  body.restaurant-v2 .dashboard-global-header .dashboard-header-back{max-width:90px!important;min-width:90px!important;width:90px!important;flex-basis:90px!important}
  body.restaurant-v2 .restaurant-v2-header-new{
    right:91px!important;width:156px!important;min-width:156px!important;
    padding-inline:10px!important;font-size:12px!important;
  }
  body.restaurant-v2 .restaurant-v2-header-new .restaurant-v2-new-label{
    font-size:12px!important;white-space:nowrap!important;
  }
  body.restaurant-v2 .restaurant-v2-header-new .restaurant-v2-new-plus{font-size:21px!important}
}
/* The drawer profile should start BELOW the main header, not underneath it. */
.dashboard-profile-drawer .dashboard-drawer-scroll{padding-top:103px!important;scroll-padding-top:90px!important}
@media(max-width:760px){.dashboard-profile-drawer .dashboard-drawer-scroll{padding-top:95px!important}}
/* Modal header theme icon: no raised square, closer to close control. */
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head-tools{gap:2px!important}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-toggle{
  padding:0!important;border:0!important;background:transparent!important;
  box-shadow:none!important;outline-offset:2px!important;border-radius:0!important;
  width:34px!important;height:34px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-toggle:hover,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-modal-theme-toggle:focus-visible{
  background:transparent!important;filter:brightness(1.25)!important;
}
/* More readable grouped units: eight units of each mansion together. */
html body.restaurant-v2 .restaurant-unit-dialog[open] .restaurant-unit-grid{
  display:flex!important;flex-direction:column!important;gap:16px!important;
  align-items:stretch!important;justify-content:flex-start!important;
  min-height:0!important;overflow:auto!important;grid-auto-rows:auto!important;
}
body.restaurant-v2 .restaurant-unit-mansion{display:grid;gap:10px;min-width:0}
body.restaurant-v2 .restaurant-unit-mansion h3{
  margin:0;padding:8px 13px;border-bottom:1px solid #d4b14b88;
  color:#f4d17d;font:900 20px/1.4 BYekan,Tahoma,sans-serif;
  display:flex;align-items:center;justify-content:space-between;
}
body.restaurant-v2 .restaurant-unit-mansion h3 small{font-size:13px;color:#b6d6e2}
body.restaurant-v2 .restaurant-unit-mansion-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;min-width:0;
}
html body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card{
  min-height:132px!important;gap:5px!important;padding:12px 9px!important;
  font-size:16px!important;align-content:center!important;line-height:1.4;
}
body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card>strong{
  font-size:clamp(22px,1.9vw,29px)!important;line-height:1.45!important;
}
body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card>small,
body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card>em{
  font-size:clamp(13px,1.1vw,16px)!important;line-height:1.45!important;
}
body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card .restaurant-unit-card__state{
  font-size:12px!important;padding:3px 8px!important;
}
@media(max-width:760px){
  body.restaurant-v2 .restaurant-unit-mansion-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  html body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card{min-height:126px!important}
  body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card>strong{font-size:21px!important}
  body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card>small,
  body.restaurant-v2 .restaurant-unit-mansion-grid>.restaurant-unit-card>em{font-size:13px!important}
}
/* Tight, ordered POS meta controls. 'Without place' is implicit until a table
   or bed is selected. This does NOT change payload `seating_kind=none`. */
@media(min-width:821px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{
    display:grid!important;
    grid-template-columns:minmax(150px,1.2fr) minmax(110px,.75fr) minmax(182px,1.2fr) minmax(166px,1.1fr)!important;
    gap:7px!important;align-items:stretch!important;
  }
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field{
  min-width:0!important;min-height:0!important;padding:5px 7px!important;
  gap:4px!important;align-self:stretch!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field>span{
  margin:0!important;font-size:12px!important;line-height:1.2!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap input{
  height:34px!important;min-height:34px!important;font-size:13px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row{
  gap:3px!important;min-height:34px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row .restaurant-v2-segment{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:4px!important;flex:1 1 auto!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row .restaurant-v2-segment button{
  height:34px!important;min-height:34px!important;font-size:12px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row .restaurant-v2-segment button{
  height:34px!important;min-height:34px!important;font-size:11px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;min-width:0;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button{
  min-width:0!important;height:34px!important;min-height:34px!important;
  border:1px solid #31718b;border-radius:9px;
  color:#e1f6ff;background:#0e3950;font:800 13px BYekan,Tahoma,sans-serif;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button.is-active{
  background:#13674f!important;color:#a6ffe5!important;border-color:#36e2b5!important;
  box-shadow:inset 0 0 0 1px #37e2b560,0 0 10px #21d5a530!important;
}
@media(max-width:1100px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
  }
}
@media(max-width:420px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{grid-template-columns:1fr 1fr!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field{padding:5px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field>span{font-size:11px!important}
}
/* Receipt upload: close selected preview + real byte-progress meter. */
.customer-panel-page .customer-receipt-preview{position:relative!important;overflow:visible!important}
.customer-panel-page .customer-receipt-preview-remove{
  position:absolute!important;top:7px!important;right:7px!important;z-index:3!important;
  width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;
  color:#fff!important;background:#a82949!important;border:1px solid #f06d87!important;
  border-radius:11px!important;font-size:20px!important;
}
.customer-panel-page .customer-receipt-preview video,
.customer-panel-page .payment-receipt-thumb video,
.manager-payment-receipt-block .payment-receipt-thumb video{
  display:block;max-width:100%;width:min(100%,400px);max-height:260px;object-fit:contain;border-radius:12px;
}
.customer-panel-page .customer-receipt-preview video[hidden],
.customer-panel-page .customer-receipt-preview img[hidden]{display:none!important}
.customer-panel-page .customer-receipt-upload-progress{
  grid-column:1/-1;display:grid;gap:8px;padding:13px 14px;border-radius:15px;
  border:1px solid #2fb9cb7a;background:linear-gradient(110deg,#0d384a,#092937);
}
.customer-panel-page .customer-receipt-upload-progress[hidden]{display:none!important}
.customer-receipt-progress-head{display:flex;align-items:center;justify-content:space-between;color:#dcfaff;font-size:13px}
.customer-receipt-progress-head b{color:#92f6cf;font-size:17px;font-variant-numeric:tabular-nums}
.customer-receipt-progress-track{width:100%;height:10px;border-radius:99px;background:#0a1e30;overflow:hidden}
.customer-receipt-progress-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#24cbb9,#b8eb69);transition:width .12s linear}
.payment-receipt-image-wrap video{max-width:100%;max-height:78dvh;width:auto;display:block;margin:auto}
.payment-receipt-image-wrap video[hidden],.payment-receipt-image-wrap img[hidden]{display:none!important}
/* Guest food ETA directly below booking status and inside follow-up. */
.customer-panel-page .guest-meal-dashboard{
  margin:12px auto 16px;width:min(100%,520px);text-align:center;
  padding:12px;border:1px solid #36bbca66;background:#09384b;
  border-radius:14px;color:#bceeea;font:900 15px/1.7 BYekan,Tahoma,sans-serif;
}
.customer-panel-page .guest-meal-dashboard[hidden]{display:none!important}
.customer-panel-page .guest-rest-meal-timer{display:block;margin:9px 0 0;padding:10px;border-radius:13px;border:1px solid #54bcd059;text-align:center;color:#9be8ed;font-weight:900}
.customer-panel-page [data-guest-meal-target].is-serving{
  color:#12391d!important;background:#bdff4a!important;border-color:#dbff74!important;
  border-radius:12px;padding:8px 14px;animation:babaMealBlink 1.3s ease-in-out infinite;
}
.customer-panel-page .guest-meal-dashboard:has(.is-serving){background:#bfff5b!important;border-color:#e4ff9b!important}
@keyframes babaMealBlink{0%,100%{opacity:1;filter:brightness(1)}50%{opacity:.55;filter:brightness(1.2)}}
.guest-rest-tile-badge.is-unseen,.guest-rest-header-badge.is-unseen,.guest-rest-action-badge.is-unseen{animation:babaMealAlert 1s ease-in-out infinite}
@keyframes babaMealAlert{0%,100%{box-shadow:0 0 0 2px #ffe06a;filter:brightness(1)}50%{box-shadow:0 0 14px 6px #faff6b77;filter:brightness(1.4)}}
/* Strong login error inside the form, visible before the submit button. */
#customerLoginForm #customerLoginStatus.is-error:not(:empty){
  position:relative!important;z-index:3!important;margin:4px 0 0!important;
  border-radius:13px;padding:12px 15px!important;
  border:1px solid #fa6e8c!important;background:#601b34!important;
  color:#fff6f8!important;text-align:center!important;
  font:900 14px/1.8 BYekan,Tahoma,sans-serif!important;
  box-shadow:0 0 17px #ff49652d!important;
}
/* Avoid redundant second close affordance when nested modal has its own X. */
.customer-panel-page .account-portal-dialog.has-inner-close>.account-portal-close{display:none!important}

/* v16.7.5 finishing: place the live meal clock immediately after stay card. */
.customer-panel-page .customer-panel-shell>.guest-meal-dashboard{order:-3!important;margin:0 auto 2px!important}
/* Avoid a duplicate page-level X while a nested food/image dialog is open. */
.customer-panel-page .account-portal-dialog.has-inner-close>.account-portal-close{display:none!important}


/* ===== Restaurant order modal timing + seating refinement v16.7.7 ===== */
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  align-items:start!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field{
  grid-template-columns:minmax(0,1fr)!important;
  align-items:stretch!important;
  gap:5px!important;
  padding:8px 9px!important;
  min-width:0!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-field>span{
  display:block!important;
  padding-inline:2px!important;
  line-height:1.2!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row{
  width:100%!important;
  min-width:0!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap input,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual{
  height:36px!important;
  border-radius:10px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(104px,132px)!important;
  gap:8px!important;
  align-items:center!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input:not([hidden]){
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  text-align:center!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row:has(.restaurant-v2-place-input[hidden]){
  grid-template-columns:1fr!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 84px!important;
  gap:8px!important;
  align-items:center!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual{
  border:1px solid rgba(72,174,207,.18)!important;
  background:rgba(4,23,36,.78)!important;
  color:#e7f8ff!important;
  font:700 13px var(--font-ui)!important;
  text-align:center!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button.is-active,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual.is-active{
  border-color:rgba(236,193,57,.55)!important;
  background:rgba(147,112,15,.26)!important;
  color:#ffe16a!important;
  box-shadow:inset 0 0 0 1px rgba(255,225,106,.16),0 0 0 1px rgba(236,193,57,.08)!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 96px!important;
  gap:8px!important;
  align-items:center!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row .restaurant-v2-meal-segment{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:6px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-segment button{
  min-width:0!important;
  font-size:12px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-card-chip.is-meal{
  min-width:108px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input[list]{direction:rtl!important}
@media (max-width:860px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{grid-template-columns:1fr!important}
}
@media (max-width:620px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row{grid-template-columns:1fr!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input:not([hidden]),
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual{width:100%!important;max-width:none!important}
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-eta-options button,
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-eta-manual{
  background:#fff!important;
  border-color:#b9d2df!important;
  color:#12384c!important;
}
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-eta-options button.is-active,
body.restaurant-v2 #restaurantOrderPanel[data-modal-theme="light"] .restaurant-v2-eta-manual.is-active{
  background:#fff4cb!important;
  border-color:#e4bd36!important;
  color:#8a6700!important;
}


/* v16.7.8 — manager request card, modal alignment and multi-badge fixes */
.manager-home-card__badge--left{right:auto;left:11px}
.manager-home-card__badge--bottom{top:auto;bottom:11px}
.manager-home-card__badge--yellow{background:#f0c74f;color:#173040;border-color:rgba(255,249,225,.82);box-shadow:0 0 16px rgba(240,199,79,.45)}
.manager-home-card__badge--purple{background:#9563de;color:#fff;border-color:rgba(242,234,255,.78);box-shadow:0 0 16px rgba(149,99,222,.45)}
@media(max-width:760px){.manager-home-card__badge--left{left:6px}.manager-home-card__badge--bottom{bottom:6px}}

body.manager-body .pending-booking-card--174 .pending-booking-head--stacked{display:grid;gap:10px;justify-items:center}
body.manager-body .pending-booking-card--174 .pending-booking-name-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;align-items:center}
body.manager-body .pending-booking-card--174 .pending-booking-guest-box,
body.manager-body .pending-booking-card--174 .pending-booking-unit{min-height:48px;display:grid;place-items:center;padding:9px 12px;border-radius:12px;text-align:center}
body.manager-body .pending-booking-card--174 .pending-booking-guest-box{border:1px solid #4e7a90;background:#12384d}
body.manager-body .pending-booking-card--174 .pending-booking-guest-box h3{margin:0;font-size:18px}
body.manager-body .pending-booking-card--174 .pending-booking-unit{margin:0;border-color:#398e9f;background:#124358;color:#ffe4a1;font:900 16px BYekan,Tahoma,sans-serif}
body.manager-body .pending-booking-card--174 .manager-payment-stage--boxed{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);font:900 14px BYekan,Tahoma,sans-serif;text-align:center}
body.manager-body .pending-booking-card--174[data-approval-stage="requested"] .manager-payment-stage--boxed{background:rgba(214,84,101,.12);border-color:rgba(255,122,141,.34);color:#ffb0bf}
body.manager-body .pending-booking-card--174[data-approval-stage="payment_requested"] .manager-payment-stage--boxed{background:rgba(72,215,214,.12);border-color:rgba(99,235,229,.34);color:#6ff0ea}
body.manager-body .pending-booking-card--174[data-approval-stage="receipt_submitted"] .manager-payment-stage--boxed{background:rgba(147,99,222,.12);border-color:rgba(190,154,255,.34);color:#cfb6ff}
@media(max-width:760px){
  body.manager-body .pending-booking-card--174 .pending-booking-name-row{grid-template-columns:1fr;gap:8px}
  body.manager-body .pending-booking-card--174 .pending-booking-guest-box h3{font-size:17px}
}

body.manager-body #managerBookingDecisionDialog.manager-booking-decision-dialog[open]{display:grid;align-content:center}
body.manager-body #managerBookingDecisionDialog.manager-booking-decision-dialog:not([open]){display:none!important}
body.manager-body #managerBookingDecisionDialog>header{display:grid;justify-items:center;align-content:center;min-height:84px;padding:10px 42px 14px!important;text-align:center!important}
body.manager-body #managerBookingDecisionDialog header h2{width:100%;text-align:center!important;margin:0 auto!important}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price{display:grid;justify-items:center;text-align:center}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price input{text-align:center;font:900 28px/1.25 BYekan,Tahoma,sans-serif;color:#67f0b4;letter-spacing:.2px}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price span,
body.manager-body #managerBookingDecisionDialog .manager-agreed-price small{text-align:center}
body.manager-body #managerBookingDecisionDialog .manager-primary-button:not(.is-reject){background:linear-gradient(145deg,#0c8b63,#15b989);border-color:rgba(93,236,182,.34);color:#fff}

body.manager-body .dashboard-global-header .dashboard-header-logo::before,
body.manager-body .dashboard-global-header .dashboard-header-logo::after,
body.restaurant-v2 .dashboard-global-header .dashboard-header-logo::before,
body.restaurant-v2 .dashboard-global-header .dashboard-header-logo::after{border-radius:0!important}
body.manager-body .dashboard-global-header .dashboard-header-logo.baba-connection-halo::after,
body.restaurant-v2 .dashboard-global-header .dashboard-header-logo.baba-connection-halo::after{inset:-5px!important;border-radius:0!important;clip-path:path('M8 18 C8 9 15 4 25 4 H28 C38 4 44 11 44 20 V25 C44 34 37 40 28 40 H25 C16 40 8 33 8 24 Z')}

/* v16.8.1: compact maker credit and consistent English public typography */
.home-brand-footer__panel--developer{gap:7px!important;padding:14px 14px!important;max-width:900px}
.home-brand-footer__panel--developer .home-brand-footer__developer-logo{width:64px!important;height:64px!important;margin:0!important;object-fit:contain}
.home-brand-footer__panel--developer .home-brand-footer__developer-title{
  font-size:clamp(10px,1.03vw,14px)!important;max-width:none!important;white-space:nowrap;
  line-height:1.5!important;letter-spacing:-.015em!important
}
.home-brand-footer__panel--developer .home-brand-footer__instagram{margin-top:6px!important;min-height:32px!important;padding:5px 12px!important}
.home-brand-footer__panel--developer .home-brand-footer__signature{margin:0!important;font-size:12px!important;white-space:nowrap}
@media(max-width:760px){
 .home-brand-footer__panel--developer .home-brand-footer__developer-logo{width:54px!important;height:54px!important}
 .home-brand-footer__panel--developer .home-brand-footer__developer-title{font-size:clamp(6.8px,1.7vw,11px)!important;letter-spacing:-.025em!important}
}
html[lang="en"] .home-brand-footer__developer-title{font-family:Georgia,Arial,sans-serif!important;letter-spacing:0!important}
html[lang="en"] .home-brand-footer__contact,html[lang="en"] .home-brand-footer__map-actions{direction:ltr;text-align:center}
html[lang="en"] .home-brand-footer__map-actions{justify-content:center}
html[lang="en"] .home-brand-footer__map-link{font-family:Georgia,Arial,sans-serif}
html[lang="en"] .site-metrics-overlay,html[lang="en"] .sg-main,html[lang="en"] .sg-nav{font-variant-numeric:lining-nums tabular-nums}

/* v16.8.1 English seasonal gallery */
.sg-nav-right{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}
.sg-language{font-size:12px;white-space:nowrap;padding:5px 11px;border:1px solid rgba(231,196,96,.38);border-radius:999px;color:#f6db91;text-decoration:none}
html[lang="en"] .season-gallery-page{direction:ltr}
html[lang="en"] .season-gallery-page .sg-intro,html[lang="en"] .season-gallery-page .sg-seasons{text-align:center}
html[lang="en"] .season-gallery-page .sg-season,html[lang="en"] .season-gallery-page .sg-outline{font-family:Georgia,Arial,sans-serif}


/* v16.8.2 — keep password-login errors legible within the actual desktop dialog. */
html body .chat-auth-dialog #chatLoginError:not([hidden]){
  display:block!important;
  width:100%!important;
  max-width:430px!important;
  box-sizing:border-box!important;
  margin:11px auto 8px!important;
  padding:12px 14px!important;
  border:1px solid rgba(255,126,148,.85)!important;
  border-radius:13px!important;
  background:rgba(104,23,44,.94)!important;
  color:#fff4f7!important;
  font:800 14px/1.7 BYekan,Tahoma,Arial,sans-serif!important;
  text-align:center!important;
  box-shadow:0 0 15px rgba(237,55,93,.22)!important;
}
html body .chat-auth-dialog .baba-otp-status.is-error:not(:empty){
  display:block!important;
  color:#ffe0e5!important;
  padding:10px 12px!important;
  border:1px solid rgba(255,126,148,.7)!important;
  border-radius:12px!important;
  background:rgba(110,24,44,.85)!important;
  text-align:center!important;
}
html body .chat-auth-dialog.has-login-error .chat-auth-flip-shell{
  min-height:0!important;
}
@media(min-width:761px){
  html body .chat-auth-dialog.has-login-error .chat-auth-face--login{
    overflow-y:auto!important;
    scroll-padding-bottom:22px;
  }
}

/* 16.8.3 — compact optional restaurant order details + safe dialog lifecycle. */
body.manager-body dialog#managerBookingDecisionDialog:not([open]) { display:none!important;visibility:hidden!important; }
body.manager-body dialog#managerBookingDecisionDialog[open] {
  display:grid!important;
  margin:auto!important;
  inset:0!important;
  max-height:min(92dvh,800px)!important;
  align-content:center;
}

html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-compact {
  padding:4px 0 3px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr)) 38px!important;
  gap:5px!important;
  align-items:stretch!important;
  min-height:42px!important;
  margin-bottom:3px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button {
  min-width:0!important;
  min-height:42px!important;
  height:42px!important;
  padding:3px 5px!important;
  border-radius:11px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button>b {font-size:clamp(10px,1.15vw,14px)!important;line-height:1.2!important}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle .restaurant-v2-details-toggle {
  min-width:38px!important;width:38px!important;padding:0!important;
  display:grid!important;place-items:center!important;
  border:1px solid rgba(80,184,216,.38)!important;
  border-radius:11px!important;
  background:rgba(11,58,76,.82)!important;
  box-shadow:inset 0 0 10px rgba(26,162,192,.09)!important;
  color:#a7f1ee!important;
  cursor:pointer!important;
  transition:background .22s,border-color .22s,box-shadow .22s,transform .22s!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle>span {
  font:900 22px/1 sans-serif!important;display:block!important;color:inherit!important;
  transition:transform .28s;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle.is-active {
  border-color:#f2d26a!important;background:rgba(157,114,28,.33)!important;
  color:#ffe391!important;box-shadow:0 0 15px rgba(238,199,67,.2)!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle.is-active>span {transform:rotate(90deg)}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-reveal {
  display:grid!important;grid-template-rows:0fr!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:grid-template-rows .32s cubic-bezier(.2,.75,.2,1),opacity .26s ease,visibility .32s!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-reveal.is-expanded {
  grid-template-rows:1fr!important;opacity:1!important;visibility:visible!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-inner {
  min-height:0!important;overflow:hidden!important;display:grid!important;gap:6px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-reveal.is-expanded .restaurant-v2-details-inner {padding:7px 0 2px!important}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid {
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:6px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid>.restaurant-v2-field{min-height:0!important}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line {
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.75fr)!important;gap:6px!important;direction:rtl!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line .restaurant-v2-field {
  display:grid!important;grid-template-columns:1fr!important;gap:5px!important;min-height:0!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row,
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row {
  width:100%!important;min-width:0!important;display:flex!important;
  flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-segment {
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-segment button {
  padding:0 2px!important;height:32px!important;font-size:clamp(9px,1.0vw,12px)!important;
  min-width:0!important;white-space:nowrap!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options {
  flex:1 1 auto!important;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;min-width:0!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button {
  min-width:0!important;min-height:32px!important;height:32px!important;
  padding:0 1px!important;font-size:11px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual {
  width:54px!important;min-width:0!important;flex:0 0 54px!important;height:32px!important;
  padding:0 3px!important;text-align:center!important;font-size:10px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time {
  width:88px!important;min-width:0!important;flex:0 0 88px!important;height:32px!important;
  padding:0 2px!important;text-align:center!important;font-size:11px!important;
}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-cart-toggle small { display:none!important; }
@media(max-width:600px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle{grid-template-columns:repeat(3,minmax(0,1fr)) 34px!important;gap:3px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle .restaurant-v2-details-toggle{width:34px!important;min-width:34px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line{grid-template-columns:minmax(0,.95fr) minmax(0,1.4fr)!important;gap:4px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line .restaurant-v2-field{padding:4px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-segment button{font-size:9px!important;padding:0!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row{display:grid!important;grid-template-columns:minmax(0,1fr) 52px!important;gap:4px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options{grid-column:1/-1}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time{width:100%!important;flex:auto!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual{width:100%!important;flex:auto!important}
}
@media(prefers-reduced-motion:reduce){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-reveal,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle>span{transition:none!important}
}
/* Keep the meal/ETA row horizontal even though an older POS rule spans .restaurant-v2-meal-field. */
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line>.restaurant-v2-meal-field{grid-column:1!important;grid-row:1!important}
html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line>.restaurant-v2-eta-field{grid-column:2!important;grid-row:1!important}

/* 16.8.4 — reservation payment workflow and compact mobile status cards */
body.manager-body .pending-booking-card--174{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:10px!important;padding:14px!important;
}
body.manager-body .pending-booking-card--174 .pending-booking-main{width:100%;min-width:0}
body.manager-body .pending-booking-card--174 .pending-booking-head--stacked{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  justify-items:stretch!important;gap:10px!important;width:100%;
}
body.manager-body .pending-booking-card--174 .manager-payment-stage--boxed{
  grid-column:1/-1;justify-self:center;max-width:100%;box-sizing:border-box;
  margin:0 auto!important;text-align:center!important;
}
body.manager-body .pending-booking-card--174 .pending-booking-name-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%!important;gap:9px!important;align-items:stretch!important;
}
body.manager-body .pending-booking-card--174 .pending-booking-name-row>*{
  box-sizing:border-box!important;width:100%!important;height:100%!important;
  min-width:0!important;min-height:58px!important;
  display:flex!important;flex-flow:row wrap!important;align-items:center!important;justify-content:center!important;
  padding:9px!important;text-align:center!important;overflow-wrap:anywhere!important;
}
body.manager-body .pending-booking-card--174 .pending-booking-name-row h3{
  text-align:center!important;font-size:clamp(14px,3.8vw,19px)!important;line-height:1.55!important;
}
body.manager-body .pending-booking-card--174 .pending-booking-name-row .pending-booking-unit{
  font-size:clamp(13px,3.5vw,17px)!important;line-height:1.55!important;max-width:none!important;
}
body.manager-body .pending-booking-card--174 .pending-booking-side{width:100%;min-width:0;align-items:stretch!important}
body.manager-body .pending-booking-card--174 .pending-booking-actions{justify-content:center!important}
body.manager-body .pending-booking-card--174 .pending-booking-actions button.pending-receipt-action{
  flex:1 1 135px;border:1px solid #58d6ce;border-radius:12px;
  background:linear-gradient(145deg,#0d6965,#0a8c89);color:#e6fffd;
  font:800 14px/1.65 BYekan,Tahoma,sans-serif;cursor:pointer;
}
body.manager-body .pending-booking-card--174 .pending-booking-actions button.pending-receipt-action:disabled{
  opacity:.48!important;filter:saturate(.55)!important;cursor:not-allowed!important;
  background:#163b46!important;border-color:#45737b!important;color:#bdd3d5!important;
}
body.manager-body #managerBookingDecisionDialog .decision-title-row{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  width:100%;gap:9px!important;align-items:stretch!important;justify-items:stretch!important;
}
body.manager-body #managerBookingDecisionDialog .decision-title-row>strong,
body.manager-body #managerBookingDecisionDialog .decision-title-row>.booking-decision-unit{
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  width:100%;min-width:0;min-height:48px;margin:0;padding:8px 6px;
  border:1px solid #416d81;border-radius:12px;background:#102e43;
  text-align:center;overflow-wrap:anywhere;font:900 clamp(13px,3.5vw,17px)/1.55 BYekan,Tahoma,sans-serif;
}
body.manager-body #managerBookingDecisionDialog .decision-title-row>.booking-decision-unit{
  color:#8fe5dc;background:#103b4b;border-color:#2b8095;
}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price{
  width:100%!important;min-width:0!important;display:grid!important;
  gap:8px!important;justify-items:stretch!important;text-align:center!important;
}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price[hidden]{display:none!important}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price>span{
  text-align:center!important;color:#d7f6e4!important;font-weight:800!important;
}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price input{
  display:block;width:100%!important;box-sizing:border-box!important;max-width:none!important;
  min-height:60px!important;padding:10px 12px!important;text-align:center!important;
  font:900 clamp(22px,5vw,31px)/1.4 BYekan,Tahoma,sans-serif!important;
  color:#79f8ad!important;background:#082e31!important;border:2px solid #268a65!important;
  border-radius:14px!important;direction:ltr!important;font-variant-numeric:tabular-nums!important;
  box-shadow:0 0 0 1px #3baf7944,inset 0 0 22px #18a46a15!important;
}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price input:focus-visible{
  outline:2px solid #58d79d!important;outline-offset:2px!important;
}
body.manager-body #managerBookingDecisionDialog .manager-agreed-price small{color:#bfd7d6!important;text-align:center!important}

/* Fullscreen image or MOV receipt; corner X and centered lower download action. */
.manager-receipt-dialog.payment-receipt-dialog{
  display:grid!important;grid-template-rows:auto auto minmax(0,1fr) auto!important;
  align-content:stretch!important;gap:6px!important;
}
.manager-receipt-dialog.payment-receipt-dialog:not([open]){display:none!important}
.manager-receipt-dialog .manager-receipt-toolbar{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:10px!important;margin:0!important;min-height:45px!important;
}
.manager-receipt-dialog .manager-receipt-close{
  display:grid!important;place-items:center!important;flex:none!important;width:43px!important;height:43px!important;
  padding:0!important;background:transparent!important;border:0!important;
  color:#ff617d!important;font:900 31px/1 BYekan,Tahoma,sans-serif!important;cursor:pointer!important;
}
.manager-receipt-dialog.payment-receipt-dialog .payment-receipt-image-wrap{
  width:100%!important;height:100%!important;min-height:0!important;overflow:auto!important;
}
.manager-receipt-dialog .manager-receipt-footer{display:flex;justify-content:center;align-items:center;min-height:48px;padding:2px 8px}
.manager-receipt-dialog .manager-receipt-footer a{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 24px;
  border:1px solid #bca453;border-radius:12px;background:#123b4d;color:#ffe18a;
  text-decoration:none;font:800 14px BYekan,Tahoma,sans-serif;
}
.manager-receipt-dialog.payment-receipt-dialog:has(.manager-receipt-dialog-note:not([hidden])) .payment-receipt-image-wrap{height:100%!important}

/* Guest payment: prominent dropzone, centered title and fully visible explanatory copy. */
.customer-panel-page .customer-lifecycle-main.is-payment .customer-payment-heading{
  grid-column:1/-1!important;justify-self:stretch!important;text-align:center!important;
}
.customer-panel-page .customer-lifecycle-main.is-payment .customer-payment-heading h2,
.customer-panel-page .customer-lifecycle-main.is-payment .customer-payment-heading p{
  text-align:center!important;margin-inline:auto!important;
}
.customer-panel-page .customer-payment-total--highlight{
  grid-column:1/-1!important;width:100%!important;box-sizing:border-box!important;
  justify-self:center;border-color:#2ba96b!important;background:linear-gradient(145deg,#0a3e37,#07362d)!important;
}
.customer-panel-page .customer-payment-total--highlight strong.customer-payment-price-pulse{
  width:min(100%,540px);box-sizing:border-box;display:block;padding:15px 10px;
  border:1px solid rgba(86,240,157,.55);border-radius:14px;background:#0b4336;
  color:#80ffab!important;font:900 clamp(23px,5vw,37px)/1.5 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;animation:customerReceiptPriceGlow 1.9s ease-in-out infinite;
}
@keyframes customerReceiptPriceGlow{0%,100%{box-shadow:0 0 0 1px #38c58430,inset 0 0 17px #49e89a18;opacity:1}50%{box-shadow:0 0 16px 2px #56e99c88,inset 0 0 17px #49e89a30;opacity:.78}}
.customer-panel-page .customer-receipt-form label.customer-receipt-upload-label{
  grid-column:1/-1!important;display:grid!important;gap:10px!important;
  font:900 18px BYekan,Tahoma,sans-serif!important;color:#edf9ff!important;
}
.customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone{
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  position:relative!important;box-sizing:border-box!important;width:100%!important;
  min-height:175px!important;gap:12px!important;padding:22px 16px!important;
  text-align:center!important;cursor:pointer!important;
  border:2px dashed #67cdd5!important;border-radius:19px!important;
  background:linear-gradient(145deg,rgba(18,85,107,.55),rgba(11,57,78,.88))!important;
  box-shadow:inset 0 0 28px rgba(63,188,210,.1),0 0 0 2px rgba(40,164,184,.12)!important;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease!important;
}
.customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone:is(:hover,:focus-within,.is-dragover){
  border-color:#f1d276!important;background:#164c62!important;box-shadow:0 0 0 3px #e2ba5030!important;
}
.customer-panel-page .customer-receipt-dropzone-icon{
  display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:14px;
  font-size:34px!important;font-weight:900;color:#89f5ef!important;background:#0b4458;
}
.customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone>b{
  display:block!important;color:#fff4cc!important;font:900 clamp(16px,4.8vw,22px)/1.6 BYekan,Tahoma,sans-serif!important;
}
.customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone .customer-receipt-dropzone-subtitle,
.customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone [data-receipt-file-name]{
  color:#d1e7ed!important;font-size:14px!important;text-align:center!important;white-space:normal!important;overflow-wrap:anywhere!important;
}
.customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone input[type=file]{
  position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;
  cursor:pointer!important;z-index:2!important;
}
.customer-panel-page .customer-receipt-final-note{
  color:#f4f9ff!important;opacity:1!important;font-weight:700!important;
  background:rgba(18,79,94,.53)!important;border-color:rgba(104,197,199,.38)!important;
}
@media(max-width:760px){
  body.manager-body .pending-booking-card--174 .pending-booking-name-row{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .customer-panel-page .customer-receipt-file-picker.customer-receipt-dropzone{min-height:165px!important;padding:20px 12px!important}
}
@media(prefers-reduced-motion:reduce){.customer-panel-page .customer-payment-total--highlight strong.customer-payment-price-pulse{animation:none!important;opacity:1!important}}

/* v16.8.5 — consistent manager forms, immediate payments, searchable menu */
body.manager-body .manager-stats{grid-template-columns:repeat(7,minmax(0,1fr));}
body.manager-body .manager-stats .manager-stats-restaurant{
  position:relative;min-width:0;display:flex;align-items:center;justify-content:center;min-height:85px;
  border:1px solid #ed72b2;border-radius:18px;background:linear-gradient(145deg,#382035,#1a2236);
  color:#ffb9df;text-decoration:none;font:900 20px BYekan,Tahoma,sans-serif;
  box-shadow:inset -5px 0 0 #e568aa;
}
body.manager-body .manager-stats .manager-stats-restaurant:hover{filter:brightness(1.12)}
body.manager-body .manager-stats .manager-stats-history{border-color:#da8c3e;box-shadow:inset -5px 0 0 #d68c3e;color:#f3be7b}
body.manager-body .manager-stats .stat-restaurant-badge{position:absolute;top:4px;right:5px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font:900 13px BYekan,Tahoma,sans-serif;background:#ef3f66;color:white;box-shadow:0 0 8px rgba(255,79,119,.3)}
body.manager-body .manager-stats .stat-restaurant-badge[hidden]{display:none}
body.manager-body .manager-stats .stat-restaurant-badge.is-hall{right:auto;left:5px;background:#f2c449;color:#112a3b}
body.manager-body .manager-stats .stat-restaurant-badge.is-guest{top:auto;bottom:4px;background:#a35ee6}
@media(max-width:900px){body.manager-body .manager-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){body.manager-body .manager-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 body.manager-body .manager-stats .manager-stats-restaurant{min-height:78px;font-size:16px}
}

.manager-users-dialog[open]{overflow-y:auto;overscroll-behavior:contain;max-height:92dvh}
.manager-users-dialog .manager-create-roles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:12px 0;padding:7px;border:1px solid rgba(79,178,205,.22);border-radius:17px;background:#0b2538}
.manager-users-dialog .manager-create-roles button{border:1px solid #28576c;background:#0c3045;border-radius:11px;min-width:0;min-height:44px;padding:5px 7px;color:#b2d5df;font:900 12px BYekan,Tahoma,sans-serif;cursor:pointer}
.manager-users-dialog .manager-create-roles button.is-active{background:linear-gradient(140deg,#0a986b,#0cc090);color:white;border-color:#53efb7;box-shadow:0 0 14px rgba(15,196,138,.25)}
.manager-users-dialog .manager-create-section{padding:12px;border:1px solid rgba(65,164,196,.2);border-radius:16px;background:#082136;min-height:50px}
.manager-users-dialog .manager-create-section[hidden],.manager-users-dialog .manager-users-summary[hidden],.manager-users-dialog .manager-users-list[hidden]{display:none}
.manager-users-dialog .manager-create-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end}
.manager-users-dialog .manager-create-form label{display:grid;gap:6px;min-width:0;color:#b4d5df;font:900 12px BYekan,Tahoma,sans-serif}
.manager-users-dialog .manager-create-form input{display:block;min-width:0;width:100%;height:43px;padding:9px 11px;outline:none;border:1px solid #315d73;border-radius:12px;background:#0b2f45;color:#eafff9;font:700 14px BYekan,Tahoma,sans-serif}
.manager-users-dialog .manager-create-form input:focus{border-color:#54dec7;box-shadow:0 0 0 2px rgba(74,221,189,.13)}
.manager-users-dialog .manager-create-form button{height:43px;min-width:0;padding:4px 12px}
.manager-users-dialog .manager-create-form .form-status{grid-column:1/-1;margin:0;text-align:center}
.manager-users-dialog .manager-users-list{max-height:min(30dvh,400px)}
.manager-user-details-dialog{width:min(620px,94vw);max-height:90dvh;overflow:auto;border-radius:24px}
.manager-user-details-dialog>header{text-align:center;padding:18px 35px 12px}
.manager-user-details-dialog>header h2{text-align:center;margin:4px 0;font-size:23px}
.manager-user-details-dialog .manager-user-status-row{justify-content:center;margin:10px 0}
.manager-user-details-dialog .manager-user-meta-grid{padding:8px 0}
@media(max-width:760px){.manager-users-dialog .manager-create-roles{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .manager-users-dialog .manager-create-roles button{font-size:11px;min-height:40px}
 .manager-users-dialog .manager-create-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .manager-users-dialog .manager-create-form button{grid-column:1/-1}
 .manager-users-dialog .manager-create-form input{height:42px}
 .manager-users-dialog .manager-users-list{max-height:25dvh}
}

body.manager-body #managerArrivalDialog .manager-arrival-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card{grid-column:auto;min-width:0}
body.manager-body #managerArrivalDialog .manager-arrival-finance{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0}
body.manager-body #managerArrivalDialog .manager-arrival-money{display:grid;place-items:center;gap:8px;min-width:0;min-height:97px;padding:12px 9px;border:1px solid #2b6478;border-radius:17px;background:#092b3d;text-align:center}
body.manager-body #managerArrivalDialog .manager-arrival-money>span{color:#d4e6e9;font:900 13px BYekan,Tahoma,sans-serif}
body.manager-body #managerArrivalDialog .manager-arrival-money input,
body.manager-body #managerArrivalDialog .manager-arrival-money output{display:block;box-sizing:border-box;width:100%;min-width:0;height:47px;padding:7px 6px;border:1px solid #2d7081;border-radius:11px;background:#062436;color:#6be3b2;text-align:center;direction:ltr;font:900 clamp(17px,2vw,25px) BYekan,Tahoma,sans-serif}
body.manager-body #managerArrivalDialog .manager-arrival-money.is-rate input{color:#f4c773}
body.manager-body #managerArrivalDialog .manager-arrival-money.is-total{border-color:#b47952}
body.manager-body #managerArrivalDialog .manager-arrival-money.is-total input{color:#ff967e;border-color:#a65e42}
body.manager-body #managerArrivalDialog .manager-arrival-money.is-paid{border-color:#37bd87}
body.manager-body #managerArrivalDialog .manager-arrival-money.is-remaining{border-color:#bb74ad}
body.manager-body #managerArrivalDialog .manager-arrival-money.is-remaining output{color:#fa8fc8;border-color:#aa6f9b}
body.manager-body #managerArrivalDialog .baba-money-entry.is-overpaid,
body.manager-body .manager-op-receipt-input .baba-money-entry.is-overpaid{color:#ff9aac;border-color:#f45777}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{font-size:16px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head small{font-size:10px;white-space:nowrap}
@media(max-width:800px){body.manager-body #managerArrivalDialog .manager-arrival-finance{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.manager-body #managerArrivalDialog .manager-arrival-money{min-height:84px;padding:7px 6px;gap:4px}
 body.manager-body #managerArrivalDialog .manager-arrival-money>span{font-size:11px}
 body.manager-body #managerArrivalDialog .manager-arrival-money input,body.manager-body #managerArrivalDialog .manager-arrival-money output{height:40px;font-size:19px}
}
body.manager-body .manager-op-receipt-input{display:grid;place-items:center;min-width:0;padding:11px;border:1px solid #3c866e;border-radius:13px;background:#082b32;gap:5px}
body.manager-body .manager-op-receipt-input span{color:#d0ebdd;font:900 12px BYekan,Tahoma,sans-serif}
body.manager-body .manager-op-receipt-input input{box-sizing:border-box;width:100%;min-width:0;height:46px;padding:6px;border:1px solid #33a87d;border-radius:11px;background:#06242f;color:#64e9af;text-align:center;direction:ltr;font:900 24px BYekan,Tahoma,sans-serif}
body.manager-body .manager-op-receipt-input input:focus{outline:1px solid #62ebbb}
body.manager-body #managerOperationsMoneyStatus{margin:7px 0;text-align:center;min-height:17px}

.restaurant-menu-dialog .restaurant-managed-filter{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(130px,.8fr);gap:8px;position:sticky;top:0;padding:7px;border:1px solid rgba(68,191,214,.23);border-radius:14px;background:#092b3e;z-index:1}
.restaurant-menu-dialog .restaurant-managed-filter input,.restaurant-menu-dialog .restaurant-managed-filter select{min-width:0;height:40px;padding:6px 10px;border:1px solid #36798f;border-radius:10px;background:#062438;color:#e5f7fa;color-scheme:dark;font:800 12px BYekan,Tahoma,sans-serif}
.restaurant-menu-dialog .restaurant-managed-filter select option{background:#102a3b;color:#e6f7ff}
.restaurant-menu-dialog .restaurant-editor-grid select{background:#092b40;color:#e8f6ff;color-scheme:dark}
.restaurant-menu-dialog .restaurant-editor-grid select option{background:#102a3b;color:#e8f6ff}
.restaurant-menu-dialog .restaurant-editor-price{display:grid;justify-items:center;text-align:center}
.restaurant-menu-dialog .restaurant-editor-price input{width:100%;font:900 24px BYekan,Tahoma,sans-serif;color:#6ce7b1;text-align:center;direction:ltr;border-color:#3daa8d}
.restaurant-menu-dialog .restaurant-price-words{display:block;min-height:34px;line-height:1.6;padding:5px;color:#cce8de;text-align:center;font:800 13px BYekan,Tahoma,sans-serif}
@media(max-width:760px){.restaurant-menu-dialog .restaurant-managed-filter{grid-template-columns:1fr}}

.restaurant-menu-dialog .restaurant-managed-side{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}
.restaurant-menu-dialog .restaurant-managed-side .restaurant-managed-menu{min-height:160px;flex:1}

/* 16.8.6 — Manager restaurant responsive-only POS adjustments.
   No desktop layout, shared hall/order logic, or account data is modified. */
@media (max-width:820px), (min-width:821px) and (max-width:1100px) and (pointer:coarse) {
  /* The food browser is the scrolling workspace. The selected cart and
     checkout stay reachable without scrolling through dozens of foods. */
  html body.restaurant-v2 #restaurantOrderOverlay #restaurantOrderPanel.restaurant-v2-order-modal {
    overflow-y:hidden!important;
    overscroll-behavior:contain;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-browser {
    display:flex!important;
    flex:1 1 0!important;
    flex-direction:column!important;
    min-height:90px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:4px 8px 6px!important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-categories {
    flex:0 0 auto!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:5px!important;
    margin:0 0 6px!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-brand {display:none!important;}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card {
    min-height:42px!important;max-height:none!important;
    height:42px!important;padding:3px 2px!important;
    border-radius:9px!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card span {
    font-size:clamp(10px,2.85vw,15px)!important;
    line-height:1.4!important;
    white-space:normal!important;text-align:center!important;
  }
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-category-card small {display:none!important;}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-search {flex:0 0 auto!important;padding:3px 0 7px!important;}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-search input {height:36px!important;min-height:36px!important;}
  html body.restaurant-v2 #restaurantMobileHallBrowser .hall-search span {top:10px!important;}
  html body.restaurant-v2 #restaurantMobileHallFoods.hall-food-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
    align-content:start!important;
    overflow:visible!important;
  }
  html body.restaurant-v2 #restaurantMobileHallFoods .hall-food-card {
    min-height:61px!important;height:auto!important;
    padding:6px 4px!important;border-radius:11px!important;
  }
  html body.restaurant-v2 #restaurantMobileHallFoods .hall-food-card strong {
    font-size:clamp(13px,3.35vw,17px)!important;
    line-height:1.45!important;
    overflow-wrap:anywhere;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-section {
    display:none!important;
    flex:0 0 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:min(29dvh,260px)!important;
    margin:2px 8px 4px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel.has-mobile-cart-items .restaurant-v2-cart-section {
    display:flex!important;flex-direction:column!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-cart-toggle {
    flex:0 0 auto!important;justify-content:center!important;
    min-height:32px!important;padding:3px 8px!important;
    text-align:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-mobile-hall-cart-toggle strong {text-align:center;width:100%;font-size:15px;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-columns {display:none!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-list {
    display:block!important;flex:1 1 auto!important;
    min-height:0!important;height:auto!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    padding:4px 5px!important;scrollbar-width:thin;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(68px,94px) max-content 31px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    column-gap:4px!important;row-gap:0!important;
    min-height:44px!important;
    padding:5px!important;
    direction:rtl!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-name {
    grid-column:1!important;grid-row:1!important;
    min-width:0!important;font-size:clamp(12px,3.35vw,16px)!important;
    text-align:right!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-unit {
    display:flex!important;grid-column:2!important;grid-row:1!important;
    align-items:center!important;justify-content:center!important;
    min-width:0!important;max-width:94px!important;width:100%!important;
    margin:0!important;position:relative!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-unit input {
    display:block!important;box-sizing:border-box!important;
    width:100%!important;min-width:0!important;height:34px!important;
    padding:2px 17px 2px 2px!important;
    text-align:center!important;font-size:clamp(10px,2.7vw,13px)!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-price-pencil {
    position:absolute!important;right:3px!important;left:auto!important;top:50%!important;transform:translateY(-50%)!important;
    pointer-events:none!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-line {display:none!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper {
    grid-column:3!important;grid-row:1!important;
    gap:3px!important;align-items:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper button {
    display:grid!important;place-items:center!important;
    width:29px!important;height:34px!important;
    line-height:1!important;padding:0!important;
    font-size:21px!important;font-family:Arial,sans-serif!important;
    border:1px solid #39b990!important;background:#0b604f!important;color:#b5ffdd!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper button:last-child {
    border-color:#cd5a76!important;background:#743044!important;color:#ffbdca!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper input {
    display:block!important;height:34px!important;
    text-align:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-remove {
    grid-column:4!important;grid-row:1!important;
    display:grid!important;place-items:center!important;
    min-width:0!important;width:31px!important;height:34px!important;
    padding:5px!important;background:#753044!important;
    border:1px solid #d75e7b!important;color:#ffafc3!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-remove svg {width:19px;height:19px;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions {
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:5px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button {
    min-width:0!important;min-height:40px!important;
    white-space:nowrap!important;font-size:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button::after {
    content:attr(data-mobile-label);font:900 clamp(11px,2.7vw,15px)/1.2 BYekan,Tahoma,sans-serif;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-actions button b {display:none!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button>b {
    font-size:clamp(12px,3.1vw,16px)!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle>span {
    font:900 22px/1 Arial,sans-serif!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:start!important;gap:5px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row .restaurant-v2-segment {
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    min-width:0!important;flex:1 1 100%!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input {display:none!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-segment {
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row .restaurant-v2-meal-segment button {
    min-height:30px!important;height:30px!important;
    font-size:clamp(10px,2.4vw,13px)!important;
    text-align:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button {
    min-height:29px!important;height:29px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row {
    grid-template-columns:minmax(0,1fr) 65px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual {
    width:65px!important;flex:0 0 65px!important;
    min-width:0!important;max-width:65px!important;
    font-size:12px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-footer {
    position:relative!important;bottom:auto!important;flex:0 0 auto!important;
    margin-top:auto!important;
  }
}
@media (max-width:375px){
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row {
    grid-template-columns:minmax(0,1fr) minmax(60px,75px) max-content 28px!important;
    gap:3px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper {
    grid-template-columns:25px 28px 25px!important;gap:2px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper[data-qty-digits="2"] {grid-template-columns:25px 34px 25px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper[data-qty-digits="3"] {grid-template-columns:25px 39px 25px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-stepper button {width:25px!important;}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-row .restaurant-v2-cart-remove {width:28px!important;}
}
/* Version 16.8.7 — calendar guest-account lookup and check-in alignment.
   Scoped to the two edited dialogs; desktop and mobile share the intended layout. */
#managerOccupancyDetailDialog .manager-occupancy-meta.is-account{position:relative;overflow:visible;z-index:5}
#managerOccupancyDetailDialog .manager-occ-account-search{position:relative;width:100%;min-width:0}
#managerOccupancyDetailDialog .manager-occ-account-search>input{box-sizing:border-box;width:100%;min-width:0}
#managerOccupancyDetailDialog .manager-occ-account-results{position:absolute;top:calc(100% + 5px);right:0;left:0;z-index:40;
 max-height:250px;overflow:auto;padding:5px;border:1px solid #3599a9;border-radius:12px;
 background:#082c3c;box-shadow:0 16px 30px rgba(0,0,0,.55);text-align:right}
#managerOccupancyDetailDialog .manager-occ-account-results[hidden]{display:none}
#managerOccupancyDetailDialog .manager-occ-account-results>button{display:flex;align-items:center;justify-content:space-between;gap:10px;
 width:100%;min-height:43px;padding:8px 10px;border:0;border-bottom:1px solid rgba(117,198,216,.14);
 border-radius:6px;background:transparent;color:#e8fbff;font:700 15px BYekan,Tahoma,sans-serif;text-align:right;cursor:pointer}
#managerOccupancyDetailDialog .manager-occ-account-results>button:hover,
#managerOccupancyDetailDialog .manager-occ-account-results>button:focus-visible{background:#124b5d;outline:1px solid #60dec4}
#managerOccupancyDetailDialog .manager-occ-account-results>button small{font:13px BYekan,Tahoma,sans-serif;direction:ltr;color:#a9cddb}
#managerOccupancyDetailDialog .manager-occ-account-empty{display:block;padding:9px;color:#f1c97a;text-align:center}
#managerOccupancyDetailDialog .manager-occ-account-connection{display:block;margin-top:4px;line-height:1.5;color:#a1c5cf;font:12px BYekan,Tahoma,sans-serif}
#managerOccupancyDetailDialog .manager-occ-account-connection.is-linked{color:#55e7af}

body.manager-body #managerArrivalDialog .manager-arrival-dates label{text-align:center;justify-items:stretch}
body.manager-body #managerArrivalDialog .manager-arrival-dates label>span{text-align:center;width:100%}
body.manager-body #managerArrivalDialog .manager-arrival-dates .jalali-date-field{display:flex;align-items:center;justify-content:center;position:relative}
body.manager-body #managerArrivalDialog .manager-arrival-dates .jalali-date-field b{display:block;flex:1;text-align:center}
body.manager-body #managerArrivalDialog .manager-arrival-dates .jalali-date-field i{position:absolute;left:12px}
body.manager-body #managerArrivalDialog .manager-arrival-totals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card{display:flex;flex-direction:column;
 justify-content:center;align-items:center;gap:10px;height:auto;min-height:120px;padding:13px 12px;text-align:center}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head{display:flex;flex-wrap:wrap;
 align-items:center;justify-content:center;gap:5px 12px;width:100%;text-align:center}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{font-size:19px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head small{font-size:12px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter{display:flex;
 justify-content:center;align-items:center;gap:8px;width:100%;margin:0 auto;min-height:48px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__button,
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__value{display:grid;place-items:center;
 flex:none;width:45px;height:44px;min-height:0;margin:0;padding:0;line-height:1;box-sizing:border-box}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__value{width:47px;font-size:25px}
body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__button{font-size:24px}
body.manager-body #managerArrivalDialog .manager-arrival-finance{grid-template-columns:repeat(4,minmax(0,1fr));direction:rtl}
@media(max-width:800px){
 body.manager-body #managerArrivalDialog .manager-arrival-finance{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.manager-body #managerArrivalDialog .manager-arrival-totals{gap:8px}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card{min-height:104px;padding:9px 5px;gap:6px}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head strong{font-size:15px}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-count-card__head small{font-size:10px}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter{gap:5px}
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__button,
 body.manager-body #managerArrivalDialog .manager-arrival-totals .booking-counter__value{height:38px;width:38px;font-size:22px}
}

/* 16.8.8: readable, full-length incoming message previews (manager + guests). */
.chat-notice-stack{max-height:min(56dvh,480px);overflow-y:auto;overscroll-behavior:contain}
.chat-notice-copy small{display:block;white-space:pre-wrap;overflow-wrap:anywhere;text-overflow:clip;max-height:220px;overflow-y:auto;line-height:1.6;font-size:16px}
@media(max-width:820px){.chat-notice-copy small{font-size:16px;max-height:170px}}

/* 16.8.8 - manager restaurant mobile/tablet only. Desktop untouched. */
@media(max-width:820px){
  html body.restaurant-v2 .restaurant-mobile-toolbar [data-restaurant-mobile-action="orders"]{
    color:#efffff;border-color:#31c5df;background:linear-gradient(135deg,#077e91,#07556a)
  }
  html body.restaurant-v2 .restaurant-mobile-toolbar [data-restaurant-mobile-action="history"]{
    color:#ffe3e9;border-color:#dc6f8e;background:linear-gradient(135deg,#7f3850,#622c40)
  }
  html body.restaurant-v2 .restaurant-mobile-toolbar button{font-size:clamp(11px,2.9vw,14px)}
  html body.restaurant-v2 #restaurantMobileHallCategories .hall-category-card,
  html body.restaurant-v2 .restaurant-mobile-hall-browser .hall-category-card{text-align:center;justify-content:center;align-items:center}
  html body.restaurant-v2 #restaurantMobileHallCategories .hall-category-card>span,
  html body.restaurant-v2 .restaurant-mobile-hall-browser .hall-category-card>span{text-align:center;width:100%}
}


/* 16.8.9 — isolated restaurant + shared status improvements. No legacy
   page-wide / desktop POS geometry overrides. */
.chat-unread-badge[hidden], .chat-fab-invite-dot[hidden],
.dashboard-notification-badge[hidden]{display:none!important;visibility:hidden!important}
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-title img,
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-brand{
  filter:drop-shadow(0 0 7px #fa375a) drop-shadow(0 0 13px rgba(255,28,69,.88));
}
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-title--logo{
  animation:babaOfflineCenterPulse 1.5s ease-in-out infinite;
}
@keyframes babaOfflineCenterPulse{0%,100%{opacity:1}50%{opacity:.75}}
@media(prefers-reduced-motion:reduce){html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-title--logo{animation:none}}
/* Dark, legible custom guide replaces unstyleable native title tooltip. */
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle{position:relative}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-toggle:is(:hover,:focus-visible)::after{
  content:"بررسی مشخصات سفارش";position:absolute;z-index:40;left:50%;top:calc(100% + 7px);
  transform:translateX(-50%);width:max-content;max-width:min(200px,70vw);
  padding:7px 11px;border:1px solid #846d33;border-radius:12px;
  background:#092638;color:#f4ce67;box-shadow:0 11px 27px rgba(0,0,0,.42);
  font:18px/1.35 BMitra,Tahoma,sans-serif;text-align:center;white-space:normal;
  pointer-events:none;
}
body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle button[data-service-mode="tour"].is-active{
  color:#d9fffb!important;background:linear-gradient(130deg,#077c91,#0a526b)!important;
  border-color:#46e1e6!important;box-shadow:0 0 0 1px rgba(79,222,236,.3) inset!important;
}
body.restaurant-v2 #restaurantOrderTitle.is-guest-settled{color:#56e6a9;text-shadow:0 0 10px rgba(58,221,147,.24)}
body.restaurant-v2 #restaurantOrderTitle.is-guest-debtor{color:#ff6c84;text-shadow:0 0 10px rgba(234,59,96,.23)}
/* Price field: stronger center alignment without relying on browser directionality. */
.restaurant-menu-dialog .restaurant-editor-price .restaurant-price-money-input{
  box-sizing:border-box;width:100%;text-align:center;direction:ltr;
  font:900 25px BYekan,Tahoma,sans-serif;color:#67eab4;
}
/* Choosing the kitchen's printed dishes never removes lines from the invoice. */
.restaurant-kitchen-selection-dialog{
  box-sizing:border-box;width:min(640px,calc(100vw - 24px));max-height:min(86dvh,780px);
  padding:22px 19px 20px;border-radius:23px;background:#082238;color:#f3fbff;
  border:1px solid rgba(77,189,218,.48);box-shadow:0 28px 75px rgba(0,0,0,.6);
}
.restaurant-kitchen-selection-dialog::backdrop{background:rgba(1,10,19,.8);backdrop-filter:blur(6px)}
.restaurant-kitchen-selection-dialog .restaurant-dialog__head{text-align:center;padding:0 35px 9px}
.restaurant-kitchen-selection-dialog .restaurant-dialog__head h2{font:900 23px/1.4 BYekan,Tahoma,sans-serif}
.restaurant-kitchen-select-hint{text-align:center;margin:8px 0 12px;color:#a5c9d6;font:14px/1.7 BMitra,BYekan,sans-serif}
.restaurant-kitchen-select-tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin:8px 0 12px}
.restaurant-kitchen-select-tools button{border:1px solid #347c91;border-radius:10px;background:#0b3649;color:#d3f3fb;padding:8px 12px;cursor:pointer;font:800 11px BYekan,Tahoma,sans-serif}
.restaurant-kitchen-select-tools button:hover{border-color:#72d9e9;background:#125069}
.restaurant-kitchen-selection-list{display:grid;gap:7px;max-height:45dvh;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-width:thin}
.restaurant-kitchen-selection-item{box-sizing:border-box;display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:6px 10px;align-items:center;
  padding:10px;border:1px solid #345c6e;border-radius:13px;background:linear-gradient(135deg,#103248,#092535);cursor:pointer}
.restaurant-kitchen-selection-item.is-new{border-color:#2b846d}
.restaurant-kitchen-selection-item.is-reduced{border-color:#995169}
.restaurant-kitchen-selection-item input{position:absolute;opacity:0;width:1px;height:1px}
.restaurant-kitchen-selection-check{grid-column:1;grid-row:1/3;display:grid;place-items:center;width:23px;height:23px;border:2px solid #4d8ba0;border-radius:7px;color:transparent}
.restaurant-kitchen-selection-item:has(input:checked){border-color:#e1ba4e;background:linear-gradient(135deg,#154c50,#153040)}
.restaurant-kitchen-selection-item input:checked+.restaurant-kitchen-selection-check{color:#092b35;background:#f4c95b;border-color:#f4c95b}
.restaurant-kitchen-selection-item strong{grid-column:2;grid-row:1;font:800 15px BYekan,Tahoma,sans-serif}
.restaurant-kitchen-selection-qty{grid-column:3;grid-row:1;white-space:nowrap;color:#86e9c1;font:900 14px BYekan,Tahoma,sans-serif}
.restaurant-kitchen-selection-item small{grid-column:2/4;grid-row:2;color:#bed4da;font:12px BMitra,Tahoma,sans-serif}
.restaurant-kitchen-select-actions{display:grid;grid-template-columns:1.4fr 1fr;gap:9px;margin-top:10px}
.restaurant-kitchen-select-actions button{min-width:0}
.restaurant-kitchen-select-actions button:disabled{opacity:.45;cursor:not-allowed}
#restaurantOrderPanel .restaurant-mobile-hall-cart-toggle{display:none!important}
@media(max-width:820px), (min-width:821px) and (max-width:1100px) and (pointer:coarse){
  html body.restaurant-v2 #restaurantOrderPanel.restaurant-v2-order-modal,
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-order-modal{
    border-radius:17px!important;overflow:hidden!important;
  }
  /* Show a narrow breathable margin above the main tabs and all subpanels. */
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-compact{
    padding-top:7px!important;border-radius:15px;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-service-toggle{margin-top:5px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-header-unit{margin-top:5px!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-details-reveal.is-expanded .restaurant-v2-details-inner{
    padding:6px 3px!important;min-width:0;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:5px!important;align-items:start!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meta-grid>.restaurant-v2-field{
    grid-column:auto!important;grid-row:auto!important;width:100%!important;min-width:0!important;
    box-sizing:border-box!important;margin:0!important;padding:5px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-input-wrap,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row{width:100%!important;min-width:0!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-row .restaurant-v2-segment{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;min-width:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-place-input{display:none!important}
  /* Compact meal and minute selection into ONE aligned horizontal row. */
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line{
    display:grid!important;grid-template-columns:minmax(0,47fr) minmax(0,53fr)!important;
    gap:4px!important;direction:rtl!important;align-items:end!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-eta-line>.restaurant-v2-field{
    grid-column:auto!important;grid-row:auto!important;width:100%!important;
    min-width:0!important;box-sizing:border-box!important;padding:3px!important;position:relative;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-field{grid-column:1!important;grid-row:1!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-field{grid-column:2!important;grid-row:1!important}
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-segment,
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-row .restaurant-v2-meal-segment{
    width:100%!important;min-width:0!important;display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-meal-segment button{
    min-width:0!important;min-height:29px!important;height:29px!important;padding:0 1px!important;
    font-size:clamp(9px,2.25vw,12px)!important;text-align:center!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-row{
    position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) 44px!important;
    align-items:center!important;gap:2px!important;width:100%!important;min-width:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options{
    grid-column:1!important;grid-row:1!important;display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;width:100%!important;min-width:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-options button{
    min-width:0!important;min-height:29px!important;height:29px!important;
    font-size:clamp(9px,2.2vw,12px)!important;padding:0!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-eta-manual{
    grid-column:2!important;grid-row:1!important;width:44px!important;min-width:0!important;
    max-width:44px!important;flex:none!important;height:29px!important;font-size:10px!important;padding:0 1px!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-time{
    position:absolute!important;top:-23px!important;left:2px!important;
    width:68px!important;min-width:0!important;height:19px!important;
    font-size:9px!important;padding:0!important;
  }
  /* Preserve touch scrolling but remove its visible scrollbar/gutter. */
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-list,
  html body.restaurant-v2 #restaurantMobileHallBrowser,
  html body.restaurant-v2 #restaurantMobileHallFoods,
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-menu-grid,
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-order-modal{
    scrollbar-width:none!important;scrollbar-gutter:auto!important;
    -ms-overflow-style:none!important;
  }
  html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-cart-list::-webkit-scrollbar,
  html body.restaurant-v2 #restaurantMobileHallBrowser::-webkit-scrollbar,
  html body.restaurant-v2 #restaurantMobileHallFoods::-webkit-scrollbar,
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-menu-grid::-webkit-scrollbar,
  html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-order-modal::-webkit-scrollbar{display:none!important;width:0!important}
  .restaurant-kitchen-selection-dialog{padding:20px 10px 14px;width:calc(100vw - 18px)}
  .restaurant-kitchen-select-tools button{font-size:10px;padding:8px 6px}
}

/* 16.9.1: kitchen selection is a stable centered modal with no jumping on toggles. */
.restaurant-kitchen-selection-dialog:not([open]){display:none}
.restaurant-kitchen-selection-dialog[open]{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;display:flex;flex-direction:column;
  width:min(640px,calc(100vw - 24px));height:auto;max-height:min(86dvh,780px);overflow:hidden;align-items:stretch;justify-content:flex-start}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-selection-list{flex:0 1 auto;min-height:0;max-height:min(46dvh,440px);overflow-y:auto;scrollbar-gutter:stable}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-selection-item{width:100%;min-height:71px;grid-template-columns:26px minmax(0,1fr) auto;grid-template-rows:auto auto;position:relative;align-content:center}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-selection-item *{min-width:0}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-selection-item strong{overflow-wrap:anywhere}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-select-actions{display:flex;justify-content:center;align-items:center;gap:0}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-select-actions #restaurantKitchenSelectionSubmit{flex:0 1 min(100%,340px)}
.restaurant-kitchen-selection-dialog .restaurant-kitchen-selection-item input{pointer-events:none}
body.restaurant-v2 .restaurant-v2-order-card h3.is-guest-settled{color:#56e6a9}
body.restaurant-v2 .restaurant-v2-order-card h3.is-guest-debtor{color:#ff6c84}
/* Four explicitly selectable meals, same single row on touch devices. */
@media(max-width:820px), (min-width:821px) and (max-width:1100px) and (pointer:coarse){
  #restaurantOrderPanel .restaurant-v2-meal-segment{gap:2px;justify-content:center;align-items:center}
  #restaurantOrderPanel .restaurant-v2-meal-segment button{min-width:0;flex:1 1 0;padding-inline:2px;font-size:clamp(9px,2.3vw,12px);white-space:nowrap}
  .restaurant-kitchen-selection-dialog[open]{max-height:calc(100dvh - 22px);width:calc(100vw - 20px)}
  .restaurant-kitchen-selection-dialog .restaurant-kitchen-selection-list{max-height:42dvh}
}
/* 16.9.2: low-intensity connectivity glow on the centered header brand */
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-title img,
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-brand{filter:drop-shadow(0 0 4px rgba(246,62,83,.60)) drop-shadow(0 0 7px rgba(225,32,60,.33))}
html[data-baba-connection="online"] .dashboard-global-header .dashboard-header-title img,
html[data-baba-connection="online"] .dashboard-global-header .dashboard-header-brand{filter:drop-shadow(0 0 4px rgba(39,220,130,.63)) drop-shadow(0 0 9px rgba(39,180,107,.33))}
/* 16.9.3 — balanced header-connection hover for online/offline */
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-logo:hover,
html[data-baba-connection="offline"] .dashboard-global-header .dashboard-header-brand-link:hover .dashboard-header-brand{
  filter:drop-shadow(0 0 3px rgba(246,62,83,.48)) drop-shadow(0 0 8px rgba(225,32,60,.24));
}
html[data-baba-connection="online"] .dashboard-global-header .dashboard-header-logo:hover,
html[data-baba-connection="online"] .dashboard-global-header .dashboard-header-brand-link:hover .dashboard-header-brand{
  filter:drop-shadow(0 0 5px rgba(39,220,130,.76)) drop-shadow(0 0 12px rgba(39,180,107,.40));
}

/* v16.9.5 — customer account mobile density and restaurant banner framing.
   Scoped to the account dashboard; the restaurant order workspace remains scrollable. */
.customer-panel-page .customer-stay-progress-meta>.customer-stay-progress-percent{
  font:900 23px/1.2 BYekan,Tahoma,sans-serif;
  color:#83f2d9;
  text-align:center;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.customer-panel-page[data-portal-theme="light"] .customer-lifecycle-kicker,
.customer-panel-page[data-portal-theme="light"] .customer-stay-progress-meta>.customer-stay-progress-percent{
  color:#143956;
}
.customer-panel-page[data-portal-theme="light"] .customer-global-header .customer-menu-button{
  border-color:#182e45!important;
  box-shadow:inset 0 0 0 1px rgba(12,35,57,.35);
}
@media(max-width:700px){
  .customer-panel-page .customer-global-header{
    height:58px!important;
    min-height:58px!important;
    padding-block:0!important;
  }
  .customer-panel-page .customer-global-header .customer-header-brand{
    height:58px!important;
    width:min(128px,100%)!important;
    max-width:128px!important;
  }
  .customer-panel-page .customer-global-header .customer-header-brand img{
    height:51px!important;
    max-height:51px!important;
  }
  .customer-panel-page .customer-global-header .account-theme-toggle,
  .customer-panel-page .customer-global-header .customer-menu-button{
    height:37px!important;
    width:37px!important;
    min-width:37px!important;
    border-radius:11px!important;
  }
  .customer-panel-page .customer-global-header .customer-menu-button span{
    width:18px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-panel-shell{
    padding-top:9px!important;
    gap:8px!important;
    margin-top:0!important;
    margin-bottom:0!important;
    padding-bottom:env(safe-area-inset-bottom,0px);
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-card{
    min-height:0;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-content{
    min-height:0;
    padding:10px 12px!important;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-main.is-staying{
    gap:8px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-copy h2{
    font-size:clamp(22px,6vw,27px);
    margin:3px 0 0;
    line-height:1.45;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-kicker{
    min-height:22px;
    padding:1px 9px;
    font-size:10px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-progress-card{
    padding:9px 11px 8px;
    border-radius:18px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-progress-track{
    height:14px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-lifecycle-main.is-staying .customer-stay-progress-meta{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    justify-content:space-between;
    align-items:center;
    gap:5px!important;
    margin-top:6px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-progress-meta>span{
    display:flex;
    align-items:center;
    gap:3px;
    font-size:clamp(9px,2.45vw,11px);
    white-space:nowrap;
    min-width:0;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-progress-meta>span:last-child{
    justify-self:end!important;
    margin-inline-start:0!important;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-progress-meta>span b{
    font-size:clamp(9px,2.55vw,12px);
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .customer-stay-progress-meta>.customer-stay-progress-percent{
    font-size:clamp(20px,5.8vw,25px);
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .account-dashboard-menu{
    padding:10px!important;
    border-radius:20px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .account-menu-grid{
    gap:6px!important;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .account-menu-tile{
    min-height:clamp(54px,8.5dvh,65px)!important;
    height:clamp(54px,8.5dvh,65px)!important;
    padding:5px 4px!important;
    border-radius:15px;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .account-menu-tile b{
    font-size:clamp(11px,3.15vw,14px)!important;
  }
  .customer-panel-page[data-account-mode="checked_in"]:not(.account-stay-focus) .account-menu-tile small{
    font-size:clamp(9px,2.4vw,10px)!important;
    line-height:1.25!important;
  }
  .customer-panel-page .account-restaurant-promo{
    min-height:clamp(142px,21dvh,170px)!important;
    max-height:170px!important;
    background-image:url('/static/images/customer-restaurant-mobile.webp')!important;
    background-size:calc(100% - 14px) auto!important;
    background-position:left center!important;
    background-repeat:no-repeat!important;
    background-color:#071b20;
  }
  .customer-panel-page .account-restaurant-promo .account-promo-copy{
    left:auto!important;
    right:10px!important;
    bottom:7px!important;
    top:auto!important;
  }
  .customer-panel-page .account-restaurant-promo .account-promo-copy button{
    min-height:33px!important;
    font-size:11px!important;
    padding:5px 11px!important;
    border-radius:10px;
  }
}

/* 16.9.6 — Guest account compact layout and restaurant request experience.
   Work entirely inside the existing CSS; no alternate files or theme overrides. */
.customer-panel-page .customer-lifecycle-main.is-staying{position:relative;grid-template-columns:minmax(0,1fr);gap:7px}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-copy{position:relative;width:100%;padding-top:4px;text-align:center}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-kicker{
  position:absolute;top:0;left:0;right:auto;min-height:26px;
  background:linear-gradient(120deg,#057953,#0cba7d);border:1px solid #5deab3;
  color:#fff;font:900 12px/1.5 BYekan,Tahoma,sans-serif;padding:4px 12px;
  box-shadow:0 5px 14px #037d5450;
}
.customer-panel-page[data-portal-theme="light"] .customer-lifecycle-main.is-staying .customer-lifecycle-kicker{
  background:#087a57;color:#fff;
}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-copy h2{margin:19px 0 1px;text-align:center}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-card{grid-column:1/-1}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-meta{
  display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;
  justify-content:space-between;gap:4px;
}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-meta>span{
  display:flex;align-items:baseline;gap:4px;min-width:0;white-space:nowrap;
}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-meta>span:last-child{justify-self:end;margin-inline-start:0}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-meta>.customer-stay-progress-percent{
  font:900 clamp(24px,5.7vw,31px)/1.1 BYekan,Tahoma,sans-serif;
  align-self:end;transform:translateY(6px);min-width:60px;text-align:center;
}
.customer-panel-page .customer-lifecycle-main.is-staying #guestMealCountdown{
  display:block;width:max-content;max-width:95%;margin:5px auto 0;padding:5px 12px;
  border:1px solid #32c9ad7a;border-radius:999px;background:#0d4b50;
  color:#e3fff5;font:900 12px/1.5 BYekan,Tahoma,sans-serif;text-align:center;
}
.customer-panel-page .customer-lifecycle-main.is-staying #guestMealCountdown[hidden]{display:none}
.customer-panel-page .customer-global-header .guest-rest-header-badge,
.customer-panel-page .customer-global-header .customer-menu-button .guest-rest-tile-badge{display:none}

/* Quote and approved statement use the same invoice geometry and low commas. */
#customerRestaurantDetails .guest-rest-workspace{width:100%;max-width:100%;box-sizing:border-box;min-width:0}
#customerRestaurantDetails .guest-rest-search{width:min(100%,335px);margin:0 auto;box-sizing:border-box}
#customerRestaurantDetails .guest-rest-search input{
  width:100%;height:36px;min-width:0;box-sizing:border-box;padding:6px 14px;
  border:1px solid #397e96;border-radius:14px;background:#102f43;
  color:#f4ffff;text-align:center;font:800 13px BYekan,Tahoma,sans-serif;
  outline-offset:2px;-webkit-appearance:none;appearance:none;
}
#customerRestaurantDetails .guest-rest-search input:focus{border-color:#61e4d5;outline:1px solid #3dc6bb}
#customerRestaurantDetails .guest-rest-search input::placeholder{color:#a4c4d0;opacity:1}
#customerRestaurantDetails .guest-rest-food[hidden],#customerRestaurantDetails .guest-rest-search-empty[hidden]{display:none}
#customerRestaurantDetails .guest-rest-search-empty{margin:5px auto;text-align:center;color:#cae3eb;font:700 13px BYekan,Tahoma,sans-serif}
#customerRestaurantDetails .guest-rest-food.is-guest-changed,
#customerRestaurantDetails .guest-rest-cart-row.is-guest-changed{animation:guestOrderChange .38s cubic-bezier(.22,1,.36,1)}
@keyframes guestOrderChange{
  0%{transform:scale(.97);filter:brightness(1)}
  52%{transform:scale(1.028);filter:brightness(1.42)}
  100%{transform:scale(1);filter:brightness(1)}
}
#customerRestaurantDetails .guest-rest-foods{overscroll-behavior:contain}
#customerRestaurantDetails .guest-rest-note{display:block}
#customerRestaurantDetails .guest-rest-note input{height:42px;text-align:right;font-size:13px}
#customerRestaurantDetails .guest-rest-summary b,
#customerRestaurantDetails .guest-rest-food span,
#customerRestaurantDetails .guest-rest-cart-row>span,
#customerRestaurantDetails .guest-rest-invoice-row b,
#customerRestaurantDetails .guest-rest-request-total{font-variant-numeric:tabular-nums;unicode-bidi:plaintext}
#customerRestaurantDetails .guest-rest-summary b{white-space:nowrap;direction:ltr;text-align:left}
#customerRestaurantDetails .guest-rest-invoice-row{align-items:center;min-width:0}
#customerRestaurantDetails .guest-rest-invoice-row span{min-width:0}
#customerRestaurantDetails .guest-rest-invoice-row b{direction:ltr;flex:0 0 auto}
#customerRestaurantDetails .guest-rest-invoice-logo{display:block;width:105px;height:66px;object-fit:contain;margin:0 auto}
#customerRestaurantDetails .guest-rest-statement-note{margin:3px 0 0;color:#b3d1d8;text-align:center;font:700 12px/1.8 BYekan,Tahoma,sans-serif}
#customerRestaurantDetails .guest-rest-request-number{
  background:#1e6373;border:1px solid #73cddd;border-radius:11px;color:#f9faff;
  padding:7px 14px;display:inline-grid;place-items:center;
}
#customerRestaurantDetails .guest-rest-request-meal{
  width:max-content;min-width:112px;max-width:90%;margin:3px auto;
  padding:8px 15px;background:linear-gradient(120deg,#105c72,#127d7d);
  border:1px solid #46d5d0;border-radius:12px;color:#fff;text-align:center;
  font:900 17px BYekan,Tahoma,sans-serif;
}
#customerRestaurantDetails .guest-rest-request-total{display:block;text-align:center}
#customerRestaurantDetails .guest-rest-request .guest-rest-edit-hint{
  display:block;color:#b9c9d8;text-align:center;margin:1px auto 0;font:800 11px/1.6 BYekan,Tahoma,sans-serif;
}
#customerRestaurantDetails .guest-rest-request-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#customerRestaurantDetails .guest-rest-request-actions button,
#customerRestaurantDetails .guest-rest-statement-action{
  min-height:43px;border-radius:12px;font:900 14px BYekan,Tahoma,sans-serif;cursor:pointer;color:white;
}
#customerRestaurantDetails .guest-rest-request-actions .is-edit{background:#845b17;border:1px solid #f3d26d;color:#ffecbd}
#customerRestaurantDetails .guest-rest-request-actions .is-delete{background:#992940;border:1px solid #f48496}
#customerRestaurantDetails .guest-rest-statement-action{width:100%;background:linear-gradient(120deg,#157692,#1c879f);border:1px solid #73dbe7}
#customerRestaurantDetails .guest-rest-new-order-hint{font:700 12px BYekan,Tahoma,sans-serif;text-align:center;color:#9fcdd2}
#customerRestaurantDetails .guest-rest-request .guest-rest-state{align-self:center}
#customerRestaurantDetails .guest-rest-food{touch-action:manipulation}

/* Three onboarding visits: compact numbered coaching bubbles in the same modal. */
.customer-panel-page .guest-rest-coach{
  position:fixed;z-index:1105;box-sizing:border-box;
  border:1px solid #efcf7a;border-radius:17px;padding:13px 14px;
  background:linear-gradient(145deg,#123950,#082535);box-shadow:0 18px 48px #000b;
  color:#f0faff;text-align:right;direction:rtl;pointer-events:auto;
}
.customer-panel-page .guest-rest-coach p{font:800 13px/1.8 BYekan,Tahoma,sans-serif;margin:0 0 10px;color:#f6f5ef}
.customer-panel-page .guest-rest-coach>div{display:flex;align-items:center;gap:6px;justify-content:space-between}
.customer-panel-page .guest-rest-coach small{color:#ddc57a;font:800 11px BYekan,Tahoma,sans-serif}
.customer-panel-page .guest-rest-coach button{border:1px solid #69b3c0;border-radius:9px;background:#123a4c;color:#f1faff;padding:5px 11px;font:800 12px BYekan,Tahoma,sans-serif;cursor:pointer}
.customer-panel-page .guest-rest-coach [data-coach-next]{background:#078d72;border-color:#63e3bb}
.customer-panel-page #customerRestaurantDetails .guest-rest-tour-highlight{
  outline:3px solid #ffd875;outline-offset:3px;border-radius:12px;
  box-shadow:0 0 0 5px #f7c74c25;position:relative;
}
.customer-panel-page .guest-rest-delete-dialog{
  position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(390px,calc(100vw - 28px));
  border:1px solid #d0a052;border-radius:20px;padding:21px 17px 17px;
  background:linear-gradient(145deg,#102e45,#071e31);color:#f5faff;text-align:center;box-shadow:0 20px 70px #000b;
}
.customer-panel-page .guest-rest-delete-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
.customer-panel-page .guest-rest-delete-dialog h3{margin:6px 0 12px;color:#ffe2a5;font:900 20px BYekan,Tahoma,sans-serif}
.customer-panel-page .guest-rest-delete-dialog p{font:700 13px/1.9 BYekan,Tahoma,sans-serif;color:#cbe1e9}
.customer-panel-page .guest-rest-delete-dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:20px}
.customer-panel-page .guest-rest-delete-dialog>div button{min-height:43px;border:1px solid #428aa0;background:#14435c;border-radius:12px;color:#fff;font:900 13px BYekan,Tahoma,sans-serif;cursor:pointer}
.customer-panel-page .guest-rest-delete-dialog>div button.is-danger{background:#a62845;border-color:#ef758a}
.customer-panel-page .guest-rest-delete-dialog .guest-rest-delete-x{position:absolute;top:7px;right:12px;background:none;border:none;color:#f07b98;font:900 28px Arial,sans-serif;cursor:pointer}

@media(max-width:700px){
  html .customer-panel-page{overflow-x:clip;touch-action:pan-y}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"]{
    width:calc(100% - 22px);gap:7px!important;padding-top:7px!important;margin-bottom:4px!important;
  }
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-lifecycle-content{
    padding:8px 11px!important;
  }
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-lifecycle-main.is-staying{gap:5px}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-lifecycle-copy h2{
    font-size:clamp(19px,5.4vw,25px);line-height:1.28;margin:24px 0 1px;
  }
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-card{padding:7px 9px 9px}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-track{height:12px}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-meta{margin-top:4px}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-meta>.customer-stay-progress-percent{font-size:26px}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-dashboard-menu{padding:8px!important}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-grid{gap:5px!important}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-tile{
    min-height:clamp(67px,9dvh,95px)!important;height:auto!important;
    padding:7px 4px!important;gap:2px!important;
  }
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-tile .account-tile-icon{font-size:clamp(16px,3.7vw,21px)!important}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-tile b{font-size:clamp(14px,3.75vw,18px)!important}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-tile small{font-size:clamp(8px,2.3vw,10px)!important}
  .customer-panel-page .account-restaurant-promo{
    min-height:clamp(140px,22dvh,190px)!important;
    max-height:190px!important;
    background-size:cover!important;
    background-position:center top!important;
    background-color:#071c24;
  }
  .customer-panel-page .account-restaurant-promo .account-promo-copy{
    left:auto!important;right:clamp(10px,7vw,34px)!important;bottom:clamp(4px,.8dvh,8px)!important;
  }
  .customer-panel-page .account-restaurant-promo .account-promo-copy button{min-height:29px!important;font-size:11px!important;padding:4px 9px!important}
  .customer-panel-page #accountPortalDialog:has(#customerRestaurantDetails:not([hidden])){
    width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px);
    padding:10px 6px 13px!important;box-sizing:border-box;
  }
  .customer-panel-page #accountPortalDialog #customerRestaurantDetails,
  .customer-panel-page #accountPortalDialog #customerRestaurantDetails .guest-rest-workspace{
    width:100%;max-width:none;min-width:0;box-sizing:border-box;
  }
  .customer-panel-page #customerRestaurantDetails .guest-rest-foods{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .customer-panel-page #customerRestaurantDetails .guest-rest-categories{gap:6px;overscroll-behavior-inline:contain}
  .customer-panel-page #customerRestaurantDetails .guest-rest-cart-row{gap:5px;padding:6px}
  .customer-panel-page #customerRestaurantDetails .guest-rest-cart-row span{font-size:12px}
  .customer-panel-page #customerRestaurantDetails .guest-rest-summary{padding:9px 7px}
  .customer-panel-page #customerRestaurantDetails .guest-rest-summary span{font-size:clamp(8px,2.5vw,10px)}
  .customer-panel-page #customerRestaurantDetails .guest-rest-summary b{font-size:clamp(13px,4.1vw,17px)}
  .customer-panel-page #customerRestaurantDetails .guest-rest-invoice{padding:12px 10px}
}
@media(max-width:370px){
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-meta>span{font-size:9px}
  .customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-stay-progress-meta>span b{font-size:9px}
  .customer-panel-page #customerRestaurantDetails .guest-rest-invoice-row{font-size:11px}
}
@media(prefers-reduced-motion:reduce){#customerRestaurantDetails .guest-rest-food.is-guest-changed,#customerRestaurantDetails .guest-rest-cart-row.is-guest-changed{animation:none}}

/* 16.9.7 — account mobile space allocation, coach spotlight and safe ticket archive. */
.customer-panel-page .customer-drawer-datetime{
  width:100%;display:grid;justify-items:center;gap:5px;flex:0 0 auto;
  margin:0 auto 9px;padding:9px 7px;border:1px solid #4b6871;
  border-radius:13px;background:linear-gradient(115deg,#102e3d,#153d4e);
  text-align:center;color:#eac66c;font:800 13px/1.5 BYekan,Tahoma,sans-serif;
}
.customer-panel-page .customer-drawer-datetime time{
  color:#8cead7;direction:ltr;unicode-bidi:isolate;font:900 20px/1.3 BYekan,Tahoma,sans-serif;
  font-variant-numeric:tabular-nums;
}
/* The active-status capsule is exactly centered, independent of unit title. */
body.customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-kicker{
  left:50%;right:auto;transform:translateX(-50%);white-space:nowrap;
}
/* Each tile's icon is absolute: its label really is centered in the tile. */
body.customer-panel-page .account-menu-tile,
body.customer-panel-page .account-menu-tile.is-featured{
  display:flex!important;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;text-align:center;position:relative;
}
body.customer-panel-page .account-menu-tile .account-tile-icon{
  position:absolute;right:7px;top:6px;transform:none;
  width:20px!important;height:20px!important;min-height:0!important;
  opacity:.72;
  display:grid;place-items:center;pointer-events:none;
}
body.customer-panel-page .account-menu-tile b,
body.customer-panel-page .account-menu-tile small{
  width:100%;grid-column:auto;grid-row:auto;justify-self:center;
  text-align:center!important;position:relative;pointer-events:none;
}
.customer-panel-page .guest-rest-tile-badge{
  top:4px;left:5px;z-index:2;min-width:20px;height:20px;
}
/* The horizontal light passes physically from left to right and never blocks taps. */
.customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-kicker,
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-card{
  overflow:hidden;isolation:isolate;
}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-kicker::after,
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-card::after{
  content:"";position:absolute;inset:0;width:40%;background:linear-gradient(90deg,transparent,#d0ffec45,transparent);
  transform:translateX(-275%);animation:customerStatusShine 5s ease-in-out infinite;pointer-events:none;
  z-index:1;
}
.customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-card{position:relative}
@keyframes customerStatusShine{
  0%,12%{transform:translateX(-275%)} 58%,100%{transform:translateX(850%)}
}
.customer-panel-page #customerRestaurantDetails .guest-rest-request-number{
  font:900 14px/1.5 BYekan,Tahoma,sans-serif;min-height:38px;
}
.customer-panel-page #customerRestaurantDetails .guest-rest-status{
  margin:15px auto 7px;text-align:center;font:750 12px/1.7 BYekan,Tahoma,sans-serif;
}
/* Three-step interactive spotlight: blur every non-target part of the order modal. */
.customer-panel-page .guest-rest-coach-veil{
  position:fixed;inset:0;background:#000b17a8;backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);pointer-events:auto;z-index:1101;
}
.customer-panel-page #customerRestaurantDetails .guest-rest-tour-highlight{
  z-index:1102;position:relative;isolation:isolate;
  outline:3px solid #ffe184;outline-offset:4px;
  box-shadow:0 0 0 8px #f7c74c28,0 0 26px #f9c950a0;
}
.customer-panel-page .guest-rest-coach{z-index:1103;max-width:calc(100vw - 24px)}
.customer-panel-page .guest-rest-coach>div{justify-content:space-between}
.customer-panel-page .guest-rest-coach button{min-width:88px}
/* Native hidden must win over the form/history display-grid rules. */
body.customer-panel-page #customerTicketForm[hidden],
body.customer-panel-page #customerTicketsHistory[hidden]{display:none!important}
/* Two-sided turn with adaptive natural heights; no clipped history records. */
.customer-panel-page .account-ticket-flip-stage{
  transform-origin:50% 50%;transform:perspective(1050px) rotateY(0deg);
  transition:transform .23s ease-in-out;backface-visibility:hidden;
}
.customer-panel-page .account-ticket-flip-stage.is-flipping-out{transform:perspective(1050px) rotateY(90deg)}
.customer-panel-page .account-ticket-flip-stage.is-flipping-in{transform:perspective(1050px) rotateY(-90deg)}
.customer-panel-page .account-ticket-tabs button.is-active{
  color:#312400!important;background:linear-gradient(125deg,#ffe18b,#d3aa4c)!important;
  border-color:#ffe9b0!important;box-shadow:0 0 0 1px #ffd47855,inset 0 1px #fff5d0;
}
body.customer-panel-page .account-ticket-actions button.is-return{
  background:linear-gradient(120deg,#8e1d38,#c33c5a);border-color:#ee7e97;color:#fff;
}
body.customer-panel-page .account-ticket-actions button.is-submit{
  background:linear-gradient(120deg,#059773,#17c79a);border-color:#7dffce;color:#051f24;
}
.customer-panel-page .account-ticket-record header .account-ticket-hide{
  display:grid;place-items:center;flex:0 0 auto;width:39px;height:39px;
  padding:3px;border-radius:12px;border:1px solid #de8299;
  background:#65263e;color:#ffe2ea;font-size:19px;cursor:pointer;
}
.customer-panel-page .account-ticket-record header strong{flex:1 1 110px;min-width:0}
.customer-panel-page .account-ticket-record header .ticket-state{flex:0 0 auto}
.customer-panel-page .account-ticket-hide-dialog{
  position:fixed;inset:0;width:min(380px,calc(100vw - 24px));margin:auto;
  box-sizing:border-box;border:1px solid #e9b966;border-radius:19px;
  padding:20px 16px;background:linear-gradient(140deg,#102f46,#061f32);
  color:#ecf9ff;text-align:center;box-shadow:0 20px 80px #000c;
}
.customer-panel-page .account-ticket-hide-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}
.customer-panel-page .account-ticket-hide-dialog h3{font:900 19px BYekan,Tahoma,sans-serif;color:#f5d184}
.customer-panel-page .account-ticket-hide-dialog p{font:700 13px/1.9 BYekan,Tahoma,sans-serif}
.customer-panel-page .account-ticket-hide-dialog>div{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}
.customer-panel-page .account-ticket-hide-dialog button{border:1px solid #438fa1;border-radius:11px;padding:11px;color:#fff;background:#12465c;font:900 13px BYekan,Tahoma,sans-serif}
.customer-panel-page .account-ticket-hide-dialog [data-ticket-confirm]{background:#98253e;border-color:#f08193}
@media(max-width:700px){
  /* Fill available PWA/Chrome viewport space without forced scaling or overscroll.
     When device height is short, allow natural vertical scrolling instead of clipping. */
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"]{
    display:flex;flex-direction:column;gap:clamp(8px,1.25dvh,15px);
    min-height:calc(100dvh - 64px - env(safe-area-inset-bottom,0px));
    margin-bottom:0!important;padding-bottom:8px;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-dashboard-menu{
    flex:1 1 auto;display:flex;flex-direction:column;min-height:0;padding:9px!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-grid{
    flex:1 1 auto;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));
    align-content:stretch;gap:clamp(5px,.85dvh,9px)!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-tile{
    min-height:clamp(64px,8.7dvh,90px)!important;height:100%!important;
    padding:6px 7px!important;
  }
  body.customer-panel-page .account-menu-tile b{font-size:clamp(14px,3.7vw,18px)!important}
  body.customer-panel-page .account-menu-tile small{font-size:clamp(9px,2.5vw,11px)!important}
  body.customer-panel-page .account-restaurant-promo{
    flex:0 0 auto;height:clamp(143px,22dvh,190px);
    min-height:clamp(143px,22dvh,190px)!important;
    max-height:190px!important;
    background-position:right top!important;background-size:cover!important;
  }
  /* Image lettering is on the right: place the button directly under it. */
  body.customer-panel-page .account-restaurant-promo .account-promo-copy{
    left:auto!important;right:clamp(12px,8vw,37px)!important;
    bottom:clamp(4px,.8dvh,8px)!important;
  }
  body.customer-panel-page .account-restaurant-promo .account-promo-copy button{
    min-height:29px!important;padding:4px 10px!important;font-size:clamp(10px,2.75vw,12px)!important;
  }
  /* Restaurants use almost all the modal width; food cards retain individual padding. */
  body.customer-panel-page #accountPortalDialog:has(#customerRestaurantDetails:not([hidden])){
    width:calc(100vw - 4px)!important;max-width:calc(100vw - 4px);
    padding:8px 4px 11px!important;
  }
  body.customer-panel-page #accountPortalDialog #customerRestaurantDetails{
    padding:7px 5px!important;margin-inline:0;width:100%;box-sizing:border-box;
  }
  body.customer-panel-page #accountPortalDialog #customerRestaurantDetails .guest-rest-workspace{
    padding:0 2px!important;margin-inline:0;
  }
  body.customer-panel-page #customerRestaurantDetails .guest-rest-foods{
    width:100%;max-width:none;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr));
  }
  body.customer-panel-page .customer-drawer-datetime{margin-bottom:4px;padding:7px 5px}
  body.customer-panel-page .account-menu-tile .account-tile-icon{font-size:clamp(15px,3.8vw,19px)!important}
}
@media(max-width:700px) and (max-height:650px){
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"]{min-height:0}
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .account-menu-tile{min-height:60px!important}
  body.customer-panel-page .account-restaurant-promo{height:136px;min-height:136px!important}
}
@media(prefers-reduced-motion:reduce){
  .customer-panel-page .customer-lifecycle-main.is-staying .customer-lifecycle-kicker::after,
  .customer-panel-page .customer-lifecycle-main.is-staying .customer-stay-progress-card::after{animation:none}
  .customer-panel-page .account-ticket-flip-stage{transition:none}
}

/* v16.9.8 — customer restaurant refinement, status bubbles, light-mode clarity */
body.customer-panel-page .customer-global-header{
  width:calc(100% - 24px)!important;
  max-width:calc(100% - 24px)!important;
  margin:10px auto 0!important;
  border-radius:24px!important;
  overflow:hidden!important;
}
body.customer-panel-page .customer-header-brand{position:relative!important}
body.customer-panel-page .account-menu-tile,
body.customer-panel-page .account-menu-tile.is-featured{
  min-height:106px!important;
  padding:12px 8px!important;
  justify-content:center!important;
}
body.customer-panel-page .account-menu-tile b,
body.customer-panel-page .account-menu-tile small{
  text-align:center!important;
  width:100%!important;
}
body.customer-panel-page .account-menu-tile b{font-size:clamp(16px,4.1vw,21px)!important;line-height:1.45!important}
body.customer-panel-page .account-menu-tile small{font-size:clamp(11px,2.8vw,13px)!important;line-height:1.55!important}

body.customer-panel-page .guest-rest-tile-badge,
body.customer-panel-page .guest-rest-header-badge,
body.customer-panel-page #customerRestaurantDetails .guest-rest-action-badge{
  top:6px!important;
  right:8px!important;
  left:auto!important;
  min-width:28px!important;
  height:28px!important;
  padding:0 7px!important;
  border-radius:999px!important;
  font:900 14px/1 BYekan,Tahoma,sans-serif!important;
  border:2px solid rgba(9,29,48,.92)!important;
  background:#e43779!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(242,114,159,.22)!important;
}
body.customer-panel-page .guest-rest-header-badge{top:-4px!important;right:2px!important}
body.customer-panel-page .guest-rest-tile-badge.is-approved,
body.customer-panel-page .guest-rest-header-badge.is-approved,
body.customer-panel-page #customerRestaurantDetails .guest-rest-action-badge.is-approved{
  background:#0aa96e!important;
  box-shadow:0 0 0 3px rgba(27,205,136,.18)!important;
}
body.customer-panel-page .guest-rest-tile-badge.is-danger,
body.customer-panel-page .guest-rest-header-badge.is-danger,
body.customer-panel-page #customerRestaurantDetails .guest-rest-action-badge.is-danger{
  background:#e43779!important;
}

/* Banner is one immutable, fully composed image; its natural aspect ratio fixes the
   card height. The CTA is a small overlay below the artwork's Hyrcanian caption. */
body.customer-panel-page .account-restaurant-promo{
  aspect-ratio:1746 / 821;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  flex:0 0 auto!important;
  background-image:url('/static/images/customer-restaurant-mobile.webp')!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  overflow:hidden!important;
}
body.customer-panel-page .account-restaurant-promo .account-promo-copy{
  position:absolute!important;
  width:auto!important;
  height:auto!important;
  left:auto!important;
  right:clamp(8px,3vw,17px)!important;
  top:auto!important;
  bottom:8px!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  max-width:max-content!important;
  background:transparent!important;
}
body.customer-panel-page .account-restaurant-promo .account-promo-copy button{
  display:inline-flex!important;
  width:auto!important;
  min-height:30px!important;
  height:30px!important;
  margin:0!important;
  padding:3px 9px!important;
  border-radius:9px!important;
  font:900 11px/1.2 BYekan,Tahoma,sans-serif!important;
  white-space:nowrap!important;
  box-shadow:0 3px 9px rgba(0,0,0,.24)!important;
}

body.customer-panel-page #customerRestaurantDetails{
  width:min(100%,640px)!important;
  margin-inline:auto!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-head{
  margin-bottom:12px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-head h2{
  font-size:clamp(18px,4.8vw,24px)!important;
  margin:0!important;
}
body.customer-panel-page #customerRestaurantDetails[data-restaurant-section="tracking"] .guest-rest-head h2{
  font-size:clamp(17px,4.5vw,22px)!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-actions{
  width:min(92%,430px)!important;
  margin:8px auto 12px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-actions>button{
  aspect-ratio:1/1!important;
  min-height:138px!important;
  padding:14px 10px!important;
  border-radius:22px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-actions>button i{font-size:42px!important;margin-bottom:6px!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-actions>button b{font-size:clamp(17px,4.5vw,21px)!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-workspace{
  width:calc(100% - 18px)!important;
  margin:0 auto!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-meals{margin-top:6px!important;margin-bottom:11px!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-subhead{display:none!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-categories,
body.customer-panel-page #customerRestaurantDetails .guest-rest-foods{gap:10px!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-note input{min-height:54px!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-summary span{font-size:15px!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-summary b{font-size:20px!important}

body.customer-panel-page #customerRestaurantDetails .guest-rest-request{
  gap:13px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-request header{
  align-items:center!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-state,
body.customer-panel-page #customerRestaurantDetails .guest-rest-request-number{
  display:grid!important;
  place-items:center!important;
  min-height:50px!important;
  min-width:126px!important;
  padding:9px 14px!important;
  border-radius:14px!important;
  font:900 clamp(14px,4vw,17px)/1.2 BYekan,Tahoma,sans-serif!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-request-number{
  color:#def7ff!important;
  background:#2b6788!important;
  border:1px solid #78c9e8!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-request-meal{
  position:relative!important;
  overflow:hidden!important;
  min-height:55px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-request-meal::after,
body.customer-panel-page .customer-stay-progress-card::after{
  content:"";position:absolute;inset:0 auto 0 -35%;width:35%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  animation:guestRestSweep 2.8s linear infinite;
  pointer-events:none;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-statement-action{
  width:min(52%,220px)!important;
  min-height:46px!important;
  margin:4px auto 0!important;
  display:grid!important;
  place-items:center!important;
  font:900 clamp(13px,3.8vw,15px)/1.2 BYekan,Tahoma,sans-serif!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-request-actions{margin-top:4px!important}

body.customer-panel-page #customerRestaurantDetails .guest-rest-invoice{
  display:grid!important;
  grid-template-rows:auto auto auto minmax(0,1fr) auto!important;
  max-height:calc(100dvh - 350px)!important;
  overflow:hidden!important;
  gap:10px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-invoice-lines{
  min-height:0!important;
  overflow:auto!important;
  padding-inline:2px!important;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-invoice-totals{display:grid!important;gap:0!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-invoice-logo{margin-inline:auto!important}

body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-workspace{
  background:linear-gradient(145deg,#d8eef5,#d8d4f0)!important;
  color:#17355a!important;
  border-color:#7da4c6!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-head h2,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-head small{color:#15385f!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-actions>button{
  background:linear-gradient(140deg,#e9f7fb,#d7def1)!important;
  border-color:#7da3c6!important;
  color:#18395c!important;
  box-shadow:inset 0 1px rgba(255,255,255,.45),0 8px 18px rgba(44,73,124,.12)!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-actions>button b,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-actions>button i{color:#18395c!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-food{
  background:linear-gradient(145deg,#e6f5fa,#dce4f3)!important;
  border-color:#5eb8d4!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-food b{color:#15365b!important;text-shadow:none!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-food span{color:#098765!important;text-shadow:none!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-search input,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-note input{
  background:#bfe1e8!important;
  border:1px solid #47708e!important;
  color:#183658!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-search input::placeholder,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-note input::placeholder{color:#4a5f72!important;opacity:1!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-summary,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-cart-row{
  background:#153d57!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-summary span{color:#17375b!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-request{
  background:linear-gradient(145deg,#eef9fc,#dde3f3)!important;
  border-color:#6ba7c8!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-request-number{
  background:#78b8de!important;
  border-color:#4f86b5!important;
  color:#173a5d!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-request-meal{
  background:linear-gradient(135deg,#1ca092,#29c498)!important;
  color:#fff!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-request-total,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-request p{
  color:#17385a!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-invoice{
  background:linear-gradient(145deg,#f7fbfe,#dde6f2)!important;
  border-color:#78a7c8!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-invoice h3,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-invoice small,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-invoice-row span,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-invoice-row b,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-empty{color:#17385b!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-invoice-row{border-color:#8daec5!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-menu-img img{filter:none!important}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-workspace:has(.guest-rest-menu-img){background:linear-gradient(145deg,#e6f3f8,#dde0ef)!important}

@keyframes guestRestSweep{0%{transform:translateX(0)}100%{transform:translateX(320%)} }

@media(max-width:700px){
  body.customer-panel-page .customer-global-header{width:calc(100% - 18px)!important;max-width:calc(100% - 18px)!important;border-radius:20px!important}
  body.customer-panel-page .account-restaurant-promo{aspect-ratio:1746 / 821;height:auto!important;min-height:0!important;max-height:none!important}
  body.customer-panel-page .account-restaurant-promo .account-promo-copy{right:10px!important;bottom:7px!important;padding:0!important}
  body.customer-panel-page .account-restaurant-promo .account-promo-copy button{min-height:29px!important;height:29px!important;padding:3px 9px!important;font-size:11px!important;margin:0!important}
  body.customer-panel-page #customerRestaurantDetails .guest-rest-actions{width:min(94%,390px)!important;gap:10px!important}
  body.customer-panel-page #customerRestaurantDetails .guest-rest-actions>button{min-height:118px!important}
  body.customer-panel-page #customerRestaurantDetails .guest-rest-workspace{width:calc(100% - 10px)!important}
  body.customer-panel-page #customerRestaurantDetails .guest-rest-state,
  body.customer-panel-page #customerRestaurantDetails .guest-rest-request-number{min-width:106px!important;min-height:44px!important;font-size:14px!important;padding:8px 10px!important}
  body.customer-panel-page #customerRestaurantDetails .guest-rest-invoice{max-height:calc(100dvh - 310px)!important}
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-summary,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-cart-row{
  background:#d8edf5!important;
  border-color:#729dbc!important;
}
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-summary span,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-cart-row b,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-cart-row span,
body.customer-panel-page[data-portal-theme="light"] #customerRestaurantDetails .guest-rest-cart-row strong{color:#17395d!important}
body.customer-panel-page .customer-stay-progress-card{position:relative!important;overflow:hidden!important}

/* 16.9.9 — Scoped customer dashboard finishing corrections. */
/* The legacy display:grid override had defeated native hidden, showing the four
   restaurant hub tiles above every subview. Enforce single-view navigation. */
body.customer-panel-page #customerRestaurantDetails #guestRestActions[hidden],
body.customer-panel-page #customerRestaurantDetails #guestRestaurantWorkspace[hidden],
body.customer-panel-page #customerRestaurantDetails .guest-rest-back-hub[hidden]{display:none!important}
body.customer-panel-page #customerRestaurantDetails .guest-rest-back-hub{
  display:block;margin:8px auto 5px;padding:6px 12px;
  border:1px solid #4c91a9;border-radius:10px;background:#123d54;
  color:#b9ecf4;font:800 12px/1.5 BYekan,Tahoma,sans-serif;cursor:pointer;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-head{
  display:grid;justify-items:center;text-align:center;gap:4px;
}
body.customer-panel-page #customerRestaurantDetails .guest-rest-request-meal{
  display:flex!important;align-items:center!important;justify-content:center!important;
  height:55px!important;min-height:55px!important;box-sizing:border-box!important;
  font:900 20px/1.1 BYekan,Tahoma,sans-serif!important;
  text-align:center!important;padding:8px 12px!important;
}
/* Active-stay capsule is already visible on the home dashboard; do not repeat it
   inside the separate full accommodation bill dialog. */
body.customer-panel-page.account-stay-focus #accountPortalDialog .customer-lifecycle-kicker{display:none!important}
body.customer-panel-page.account-stay-focus #accountPortalDialog .customer-lifecycle-copy h2{margin-top:0!important}
body.customer-panel-page #accountPortalDialog .customer-stay-bill>h3,
body.customer-panel-page #accountPortalDialog .customer-stay-bill>.customer-bill-separated>.customer-bill-account h4{
  text-align:center!important;
}
body.customer-panel-page #accountPortalDialog .customer-stay-bill .customer-bill-disclaimer{
  display:block;text-align:center!important;line-height:1.85;
}
body.customer-panel-page #accountPortalDialog .customer-bill-order-lines>span{
  display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:baseline;
  gap:9px;text-align:right;min-width:0;
}
body.customer-panel-page #accountPortalDialog .customer-bill-order-lines>span>b{
  margin-inline-start:auto;text-align:left;flex:0 0 auto;
  direction:ltr;unicode-bidi:isolate;
}
body.customer-panel-page #accountPortalDialog .customer-bill-entries .customer-bill-row{
  flex-direction:column;align-items:stretch;
}
body.customer-panel-page #accountPortalDialog .customer-bill-entries .customer-bill-row>div{width:100%}
body.customer-panel-page #accountPortalDialog .customer-bill-order-total{
  width:100%;display:block;text-align:center!important;margin:8px auto 0;
  color:#72e9c7;font:900 17px/1.65 BYekan,Tahoma,sans-serif;
}
body.customer-panel-page #accountPortalDialog #customerAccountDetails .customer-panel-heading,
body.customer-panel-page #accountPortalDialog #customerBookingsPanel .customer-panel-heading{
  display:flex;justify-content:center;align-items:center;text-align:center;
}
body.customer-panel-page #accountPortalDialog #customerAccountDetails .customer-panel-heading>div,
body.customer-panel-page #accountPortalDialog #customerBookingsPanel .customer-panel-heading>div{
  flex:1;text-align:center;
}
@media(prefers-reduced-motion:reduce){
  body.customer-panel-page #customerRestaurantDetails .guest-rest-request-meal::after{animation:none}
}

/* v17.1.1 customer dashboard polishing */
@media (max-width: 720px) {
  .account-restaurant-promo-link {
    padding-bottom: 12px;
  }
  .account-restaurant-promo-link img {
    aspect-ratio: 390 / 205;
    object-fit: cover;
  }
  .account-restaurant-promo-cta {
    inset-inline-end: 18px;
    inset-inline-start: auto;
    bottom: 14px;
    padding: 12px 18px;
  }
}

.guest-rest-badge {
  min-width: 42px;
  height: 42px;
  padding-inline: 12px;
  font-size: 1.2rem;
}
.guest-rest-badge.is-approved {
  inset-inline-start: 16px;
  inset-inline-end: auto;
  background: linear-gradient(180deg, #1ecf88 0%, #109660 100%);
}
.guest-rest-tracking-meal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  margin-inline: auto;
  font-size: 1.4rem;
  line-height: 1.1;
}
.guest-rest-statement-sheet {
  gap: 14px;
}
.guest-rest-statement-scroll {
  max-height: 360px;
  overflow: auto;
  padding: 16px 14px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(2, 18, 33, 0.68) 0%, rgba(8, 42, 66, 0.92) 100%);
  border: 1px solid rgba(118, 220, 255, 0.14);
}
.guest-rest-statement-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(118, 220, 255, 0.14);
}
.guest-rest-statement-line:last-child {
  border-bottom: 0;
}
.guest-rest-statement-line.is-summary {
  margin-top: 8px;
}
.guest-rest-statement-name {
  flex: 1;
  text-align: right;
}
.guest-rest-statement-value {
  min-width: 8ch;
  direction: ltr;
  text-align: left;
}
.guest-rest-statement-total {
  text-align: center;
  font-size: 1.15rem;
  color: #89f3d4;
}
.guest-rest-statement-total strong {
  display: block;
  margin-top: 8px;
  font-size: 1.55rem;
}

.customer-bill-grid--summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.customer-bill-grid--summary > div.is-payable {
  border-color: rgba(89, 222, 154, 0.42);
}
.customer-bill-grid--summary > div.is-payable b {
  color: #89f3d4;
}
.customer-bill-payable-box {
  display: grid;
  gap: 10px;
  margin-top: 18px;
  padding: 18px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(15, 74, 54, 0.4) 0%, rgba(9, 58, 89, 0.74) 100%);
  border: 1px solid rgba(89, 222, 154, 0.32);
  text-align: center;
}
.customer-bill-payable-box strong {
  font-size: 1.65rem;
  color: #89f3d4;
}
.customer-payable-action, .customer-payable-done {
  justify-self: center;
}
.customer-payable-action {
  appearance: none;
  border: none;
  border-radius: 16px;
  padding: 13px 34px;
  font: inherit;
  font-weight: 800;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(180deg, #36d698 0%, #179b68 100%);
}
.customer-payable-done {
  padding: 10px 16px;
  border-radius: 14px;
  color: #dfffea;
  background: rgba(31, 130, 87, 0.28);
}
.customer-bill-disclaimer {
  display: block;
  margin-top: 16px;
  text-align: center;
  color: rgba(233, 246, 255, 0.72);
}
.customer-inline-note.is-pending,
.customer-inline-note.is-success,
.customer-inline-note.is-warn {
  display: block;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 16px;
  text-align: center;
}
.customer-inline-note.is-pending { background: rgba(45, 123, 190, 0.18); color: #caefff; }
.customer-inline-note.is-success { background: rgba(39, 161, 104, 0.18); color: #d8ffe9; }
.customer-inline-note.is-warn { background: rgba(197, 120, 42, 0.18); color: #ffebc6; }

.customer-stay-settlement-dialog {
  width: min(92vw, 620px);
  border: 0;
  border-radius: 28px;
  padding: 0;
  background: transparent;
  color: #fff;
}
.customer-stay-settlement-dialog::backdrop { background: rgba(0, 0, 0, 0.72); }
.customer-stay-settlement-shell {
  position: relative;
  display: grid;
  gap: 16px;
  padding: 22px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(6, 31, 52, 0.98) 0%, rgba(3, 21, 37, 0.98) 100%);
  border: 1px solid rgba(118, 220, 255, 0.22);
}
.customer-settlement-close {
  position: absolute;
  top: 12px;
  inset-inline-end: 12px;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(255, 127, 151, 0.3);
  background: rgba(255, 78, 122, 0.14);
  color: #fff;
}
.customer-settlement-top strong { display: block; font-size: 1.8rem; color: #89f3d4; margin-bottom: 8px; }
.customer-settlement-cards { display: grid; gap: 12px; }
.customer-settlement-card {
  display: grid;
  gap: 8px;
  padding: 16px;
  border-radius: 18px;
  background: rgba(8, 42, 66, 0.74);
  border: 1px solid rgba(118, 220, 255, 0.18);
}
.customer-settlement-card > div { display: grid; grid-template-columns: 70px 1fr auto; gap: 10px; align-items: center; }
.customer-settlement-card strong { direction: ltr; text-align: left; }
.customer-settlement-card button {
  appearance: none;
  border: 0;
  border-radius: 12px;
  padding: 8px 14px;
  font: inherit;
  background: rgba(63, 153, 214, 0.18);
  color: #e8fbff;
}
.customer-settlement-card button.is-copied { background: rgba(41, 186, 118, 0.24); }
.customer-settlement-form { display: grid; gap: 14px; }
.customer-settlement-upload {
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px dashed rgba(118, 220, 255, 0.38);
  border-radius: 18px;
  text-align: center;
  background: rgba(4, 29, 49, 0.58);
}
.customer-settlement-upload input { width: 100%; }
.customer-settlement-preview {
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 12px;
  border-radius: 18px;
  background: rgba(8, 42, 66, 0.74);
}
.customer-settlement-preview img,
.customer-settlement-preview video {
  max-width: 100%;
  max-height: 240px;
  border-radius: 14px;
}
.customer-settlement-note { display: grid; gap: 6px; }
.customer-settlement-note textarea {
  width: 100%;
  min-height: 92px;
  border-radius: 16px;
  border: 1px solid rgba(118, 220, 255, 0.22);
  background: rgba(4, 29, 49, 0.58);
  color: #fff;
  padding: 12px 14px;
}
.customer-settlement-actions {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}
.customer-settlement-actions button {
  flex: 1;
  appearance: none;
  border: 0;
  border-radius: 16px;
  padding: 13px 18px;
  font: inherit;
}
.customer-settlement-actions [type="submit"] {
  background: linear-gradient(180deg, #36d698 0%, #179b68 100%);
  color: #fff;
}
.customer-settlement-actions [data-settlement-close] {
  background: rgba(81, 133, 170, 0.24);
  color: #fff;
}

#customerReferralPanel .customer-panel-heading,
#customerProfileDetails .customer-panel-heading,
#customerBookingsPanel .customer-panel-heading {
  justify-content: center;
}
#customerReferralPanel .customer-panel-heading > div,
#customerProfileDetails .customer-panel-heading > div,
#customerBookingsPanel .customer-panel-heading > div {
  width: 100%;
  text-align: center;
}

[data-theme="light"] .customer-bill-grid--summary > div,
[data-theme="light"] .customer-bill-payable-box,
[data-theme="light"] .customer-stay-bill {
  color: #11344a;
}
[data-theme="light"] .customer-bill-disclaimer {
  color: rgba(17, 52, 74, 0.78);
}
[data-theme="light"] .customer-bill-grid--summary > div b,
[data-theme="light"] .customer-bill-payable-box strong {
  color: #136e5a;
}

@media (max-width: 700px) {
  .customer-bill-grid--summary { grid-template-columns: 1fr; }
}
.guest-rest-meals,
.guest-rest-categories {
  margin-bottom: 10px;
}
.guest-rest-search {
  margin: 10px 0 14px;
}

/* v17.1.3 — precise mobile viewport, one-screen idle/active dashboard.
   Keep all existing icons, typography, booking forms, and POS workflows intact. */
@media (max-width:700px){
  body.customer-panel-page{
    --account-mobile-header:54px;
    padding-top:env(safe-area-inset-top,0px);
  }
  body.customer-panel-page .customer-global-header{
    box-sizing:border-box;
    height:var(--account-mobile-header)!important;
    min-height:var(--account-mobile-header)!important;
    margin:0 auto!important;
    padding-block:0!important;
    width:calc(100% - 18px)!important;
    max-width:calc(100% - 18px)!important;
  }
  body.customer-panel-page .customer-global-header .customer-header-brand{
    height:var(--account-mobile-header)!important;
  }
  body.customer-panel-page .customer-global-header .customer-header-brand img{
    height:46px!important;
    max-height:46px!important;
  }
  body.customer-panel-page .customer-panel-shell{
    margin:0 auto!important;
    padding-top:5px!important;
    padding-bottom:max(5px,env(safe-area-inset-bottom,0px))!important;
    gap:7px!important;
    box-sizing:border-box;
  }
  /* The complete artwork is preserved horizontally. Crop only a little of
     its empty top/bottom, without zooming or distorting the lettering/food. */
  body.customer-panel-page .account-restaurant-promo{
    box-sizing:border-box;
    flex:0 0 auto!important;
    aspect-ratio:auto!important;
    height:clamp(128px,19.5dvh,157px)!important;
    min-height:0!important;
    max-height:157px!important;
    background-image:url('/static/images/customer-restaurant-mobile.webp')!important;
    background-size:100% auto!important;
    background-position:center bottom!important;
    background-repeat:no-repeat!important;
  }
  body.customer-panel-page .account-restaurant-promo .account-promo-copy{
    inset:auto 15px 12px auto!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
  }
  body.customer-panel-page .account-restaurant-promo .account-promo-copy button{
    width:auto!important;
    height:29px!important;
    min-height:29px!important;
    padding:3px 10px!important;
    font-size:11px!important;
    margin:0!important;
  }
  /* No reservation/active stay: allocate the real height *after the header*.
     All nine tiles may flex; the logo and banner keep their aspect ratios. */
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"]{
    width:calc(100% - 24px)!important;
    height:calc(100dvh - var(--account-mobile-header) - env(safe-area-inset-top,0px))!important;
    min-height:0!important;
    margin-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .customer-welcome-card--compact{
    flex:0 0 auto!important;
    min-height:0!important;
    padding:10px 13px!important;
    gap:4px!important;
    margin:0!important;
    border-radius:22px;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .customer-welcome-card--compact h1{
    font-size:clamp(18px,4.5vw,21px)!important;
    margin:0!important;
    line-height:1.28!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .customer-welcome-card--compact span{
    font-size:11px!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .customer-welcome-card--compact p{
    font-size:11px!important;
    line-height:1.3!important;
    margin:0!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .customer-welcome-reserve-cta{
    min-height:38px!important;
    height:38px!important;
    padding:5px 12px!important;
    margin:2px 0 0!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-dashboard-menu{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    padding:9px!important;
    margin:0!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-menu-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    grid-template-rows:repeat(3,minmax(0,1fr))!important;
    align-content:stretch!important;
    gap:7px!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-menu-tile{
    box-sizing:border-box;
    min-height:0!important;
    height:100%!important;
    padding:5px 4px!important;
    gap:3px!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-menu-tile .account-tile-icon{
    font-size:clamp(17px,4.2vw,21px)!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-menu-tile b{
    font-size:clamp(14px,3.9vw,17px)!important;
    line-height:1.3!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-menu-tile small{
    font-size:clamp(9px,2.6vw,11px)!important;
    line-height:1.2!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-restaurant-promo{
    margin:0!important;
  }
  /* Checked-in dashboard stays responsive to device height, too. */
  body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"]:not(.account-stay-focus){
    min-height:calc(100dvh - var(--account-mobile-header) - env(safe-area-inset-top,0px))!important;
    padding-top:5px!important;
    gap:7px!important;
    margin-bottom:0!important;
  }
}
@media (max-width:700px) and (max-height:620px){
  /* Short screens / accessibility text zoom: never clip primary actions. */
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"]{
    height:auto!important;
    min-height:calc(100dvh - var(--account-mobile-header))!important;
    overflow:visible!important;
  }
  body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .account-menu-tile{
    min-height:72px!important;
  }
}

/* iOS Safari / installed iPhone PWA: respect the notch/status bar and home
   indicator. This uses the safe-area only for touch/WebKit mobile overlays;
   Android and ordinary desktop remain on their existing geometry. */
@supports (-webkit-touch-callout: none){
  @media(max-width:820px){
    html body.restaurant-v2 #restaurantOrderOverlay.restaurant-v2-overlay:not([hidden]){
      --pos-safe-top:max(44px,env(safe-area-inset-top,0px));
      --pos-safe-bottom:max(18px,env(safe-area-inset-bottom,0px));
      box-sizing:border-box!important;
      padding:var(--pos-safe-top) 0 var(--pos-safe-bottom)!important;
      height:100dvh!important;
      max-height:100dvh!important;
    }
    html body.restaurant-v2 #restaurantOrderOverlay .restaurant-v2-floating-workspace{
      height:100%!important;max-height:100%!important;
      min-height:0!important;
    }
    html body.restaurant-v2 #restaurantOrderOverlay #restaurantOrderPanel.restaurant-v2-order-modal{
      height:100%!important;min-height:0!important;max-height:100%!important;
    }
    html body.restaurant-v2 #restaurantOrderPanel .restaurant-v2-order-head{
      top:0!important; /* overlay padding already reserves the notch */
    }
    html body.customer-panel-page .account-portal-dialog[open],
    html body.customer-panel-page .guest-rest-lightbox[open],
    html body.restaurant-v2 dialog[open]{
      box-sizing:border-box!important;
      max-height:calc(100dvh - max(44px,env(safe-area-inset-top,0px)) - max(18px,env(safe-area-inset-bottom,0px)) - 12px)!important;
    }
  }
}


/* v17.1.4 — customer dashboard compacting, restaurant / payment cleanup, chat header avatar, and booking request polish */
.pending-booking-stage.is-glow,
.manager-payment-stage.pending-booking-stage{
  position:relative;
  display:inline-grid;
  place-items:center;
  min-height:36px;
  padding:0 18px;
  border-radius:999px;
  background:linear-gradient(135deg,rgba(12,88,104,.88),rgba(18,123,157,.78));
  border:1px solid rgba(111,225,246,.44);
  color:#dfffff;
  overflow:hidden;
  box-shadow:0 0 0 1px rgba(130,244,255,.18),0 0 22px rgba(58,213,232,.12);
}
.pending-booking-stage.is-glow::after,
.manager-payment-stage.pending-booking-stage::after{
  content:"";
  position:absolute;
  inset:-20% auto -20% -42%;
  width:34%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.46),transparent);
  transform:skewX(-22deg);
  animation:pendingApprovalSweep 2.8s ease-in-out infinite;
}
@keyframes pendingApprovalSweep{0%{left:-42%}55%,100%{left:132%}}
.pending-booking-identity{grid-template-columns:repeat(2,minmax(0,1fr));}
.pending-identity-item.pending-identity-item--boxed{display:grid;justify-items:center;text-align:center;padding:12px 10px;min-height:74px;background:rgba(11,55,77,.56);border:1px solid rgba(94,187,224,.26);border-radius:16px}
.pending-identity-item.pending-identity-item--boxed small{font-size:12px;color:#9ecfe1}
.pending-identity-item.pending-identity-item--boxed b{font-size:16px;color:#eaf8fb;direction:ltr}
@media(max-width:760px){.pending-booking-identity{grid-template-columns:1fr}.pending-identity-item.pending-identity-item--boxed{min-height:66px}}

.customer-receipt-form.has-preview [data-receipt-dropzone]{display:none}
.customer-receipt-dropzone{min-height:138px;align-content:center;justify-items:center;text-align:center;gap:7px;padding:12px 14px}
.customer-receipt-dropzone b{font-size:18px}
.customer-receipt-dropzone small[data-receipt-file-name]{font-size:12px}
.customer-receipt-note-label input{width:100%;min-height:48px;border:1px solid #346177;border-radius:13px;padding:0 14px;font:15px/1.4 var(--font-body);color:#f2f5f7;background:#0a2738}
.customer-receipt-note-label input:focus{outline:2px solid #d6b949;outline-offset:2px}
.customer-receipt-note-label textarea{display:none}
@media(max-width:760px){.customer-receipt-dropzone{min-height:104px;padding:10px 12px}.customer-receipt-dropzone b{font-size:16px}}

.customer-bill-payable-tag{display:inline-grid;place-items:center;justify-self:center;padding:5px 13px;border-radius:999px;border:1px solid rgba(226,201,102,.32);background:rgba(124,92,23,.32);color:#efd77a;font:800 12px/1.4 var(--font-ui)}
.customer-bill-payable-box{justify-items:center}
.customer-bill-payable-box p{margin:0}

.customer-settlement-cards{grid-template-columns:1fr;gap:14px}
.customer-settlement-card{justify-items:center;text-align:center;padding:18px}
.customer-settlement-card-art{display:block;width:min(100%,360px);max-height:195px;object-fit:cover;border-radius:18px;border:1px solid rgba(118,220,255,.18);background:rgba(6,31,52,.8)}
.customer-settlement-card-head{display:grid;gap:4px;justify-items:center}
.customer-settlement-card-head h4{margin:0;font-size:18px;color:#fff2c2}
.customer-settlement-card-head p{margin:0;color:#b9d9e4}
.customer-settlement-copy-row{width:100%;display:grid;grid-template-columns:1fr;gap:8px;justify-items:center;padding:12px 10px;border-radius:16px;background:rgba(7,34,54,.7);border:1px solid rgba(118,220,255,.14)}
.customer-settlement-copy-row span{color:#99bdd0;font-size:12px}
.customer-settlement-copy-row strong{direction:ltr;text-align:center;font-size:18px;color:#f5fbff;overflow-wrap:anywhere}
.customer-settlement-copy-row button{justify-self:center}
.customer-settlement-upload{gap:9px;padding:14px;min-height:104px;position:relative;cursor:pointer}
.customer-settlement-upload[hidden]{display:none!important}
.customer-settlement-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}
.customer-settlement-note input{width:100%;min-height:48px;border-radius:16px;border:1px solid rgba(118,220,255,.22);background:rgba(4,29,49,.58);color:#fff;padding:0 14px}
.customer-settlement-note textarea{display:none}
.customer-settlement-preview{position:relative}
.customer-settlement-preview-remove{position:absolute;top:10px;inset-inline-end:10px;width:38px;height:38px;border-radius:12px;border:1px solid rgba(255,127,151,.28);background:rgba(255,78,122,.9);color:#fff;cursor:pointer}
.customer-settlement-actions{justify-content:center}
.customer-settlement-actions button{max-width:260px}
.customer-settlement-actions [type="submit"]{margin-inline:auto}
@media(max-width:760px){.customer-settlement-actions{flex-direction:column}.customer-settlement-actions button{width:100%;max-width:none}}

.guest-rest-bottom{justify-content:center}
.guest-rest-bottom button:only-child,.guest-rest-bottom a:only-child{grid-column:1/-1;justify-self:center;width:min(100%,320px)}

.chat-panel-head{grid-template-columns:auto auto 1fr auto;column-gap:10px}
.chat-peer-avatar{grid-column:2;grid-row:1;justify-self:center;position:relative;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,#175978,#0c3953);border:1px solid rgba(112,227,250,.3);box-shadow:0 0 0 3px rgba(53,184,214,.10)}
.chat-peer-avatar span{font:800 18px/1 BYekan,Tahoma,sans-serif;color:#eafaff}
.chat-peer-verified{position:absolute;inset-inline-end:-1px;bottom:-1px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#32a7ff;color:#fff;font-size:11px;border:2px solid #082133}
.chat-peer-avatar.is-verified{box-shadow:0 0 0 3px rgba(50,167,255,.13),0 0 20px rgba(50,167,255,.18)}
.chat-peer-button{grid-column:3;grid-row:1}
.chat-panel{resize:both;overflow:hidden;min-width:340px;min-height:430px}
@media(max-width:760px){.chat-panel{resize:none;min-width:auto;min-height:auto}.chat-peer-avatar{width:42px;height:42px}.chat-panel-head{grid-template-columns:auto auto 1fr}}

body.customer-panel-page .customer-panel-shell{width:min(1100px,calc(100vw - 72px))!important;margin:0 auto 26px!important}
body.customer-panel-page .account-menu-grid{width:min(960px,100%);margin:0 auto;gap:12px!important}
body.customer-panel-page .account-menu-tile,body.customer-panel-page .account-menu-tile.is-featured{min-height:104px!important;padding:12px 10px!important}
body.customer-panel-page .customer-global-header{padding-top:max(6px,env(safe-area-inset-top))!important;padding-bottom:8px!important;min-height:auto!important}
body.customer-panel-page .customer-global-header>*{margin-top:0!important}
body.customer-panel-page .customer-panel-shell[data-account-mode="idle"] .customer-welcome-card--compact,
body.customer-panel-page .customer-panel-shell[data-account-mode="checked_in"] .customer-welcome-card--compact{margin-top:4px!important}
body.customer-panel-page .account-restaurant-promo{min-height:188px!important;overflow:hidden}
body.customer-panel-page .account-restaurant-promo .account-promo-copy{justify-content:flex-start!important;padding-top:20px!important}
body.customer-panel-page .account-restaurant-promo .account-promo-action{margin-inline-end:14px!important}
@media(max-width:760px){body.customer-panel-page .customer-panel-shell{width:calc(100vw - 18px)!important;margin:0 auto 20px!important}body.customer-panel-page .customer-global-header{padding-top:max(2px,env(safe-area-inset-top))!important;padding-bottom:5px!important}body.customer-panel-page .account-restaurant-promo{min-height:150px!important}body.customer-panel-page .account-restaurant-promo .account-promo-copy{padding-top:12px!important}}

@supports (padding-top: env(safe-area-inset-top)) {
  body.customer-panel-page .customer-global-header{padding-top:max(4px,env(safe-area-inset-top))!important}
  .chat-panel{margin-top:env(safe-area-inset-top)}
}

/* 17.1.5 — settlement and tracking corrections; no global layout changes. */
/* Each stage has its own fixed physical corner: pending right, approved left. */
body.customer-panel-page .guest-rest-tile-badge.is-danger,
body.customer-panel-page #customerRestaurantDetails .guest-rest-action-badge.is-danger {
  right: 8px!important;
  left: auto!important;
}
body.customer-panel-page .guest-rest-tile-badge.is-approved,
body.customer-panel-page #customerRestaurantDetails .guest-rest-action-badge.is-approved {
  right: auto!important;
  left: 8px!important;
}

/* Keep financial labels and numbers genuinely centered on desktop and mobile. */
body.customer-panel-page .customer-stay-bill .customer-bill-grid--summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 720px;
  margin: 12px auto 18px;
}
body.customer-panel-page .customer-stay-bill .customer-bill-grid--summary > div {
  display: grid;
  justify-items: center;
  align-content: center;
  text-align: center;
  gap: 7px;
  min-width: 0;
  padding: 12px 8px;
}
body.customer-panel-page .customer-stay-bill .customer-bill-grid--summary > div :is(small,b) {
  width: 100%;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
body.customer-panel-page .customer-stay-bill .customer-bill-payable-box {
  text-align: center;
  margin: 0 auto;
  max-width: 840px;
  justify-items: center;
}
body.customer-panel-page .customer-stay-bill .customer-bill-payable-box > :is(span,strong,p) {
  text-align: center;
  margin-inline: auto;
}
body.customer-panel-page .customer-services-invoice-action {
  display: block;
  width: min(100%, 340px);
  min-height: 48px;
  margin: 16px auto 8px;
  border-radius: 15px;
  border: 1px solid #54b4cd;
  background: linear-gradient(135deg,#13647c,#198e9d);
  color: #fff;
  cursor: pointer;
  font: 800 16px/1.4 BYekan, Tahoma, sans-serif;
  text-align: center;
}
body.customer-panel-page .customer-stay-bill .customer-bill-disclaimer {
  display: block;
  text-align: center;
  margin: 12px auto 0;
  max-width: 720px;
}

/* The visible upload control needs button-level contrast and affordance. */
.customer-stay-settlement-dialog .customer-settlement-top {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 8px;
  padding: 14px 16px;
  background: linear-gradient(160deg,rgba(9,78,61,.45),rgba(9,51,73,.8));
  border: 1px solid rgba(60,222,168,.38);
  border-radius: 20px;
}
.customer-stay-settlement-dialog .customer-settlement-top p {
  margin: 0;
}
.customer-stay-settlement-dialog .customer-settlement-top strong {
  margin: 0;
  display: block;
  direction: rtl;
  font-size: clamp(21px, 5.2vw, 30px);
  color: #7df0c4;
}
.customer-stay-settlement-dialog .customer-settlement-card-art {
  object-fit: contain;
  max-height: none;
  height: auto;
  aspect-ratio: auto;
}
.customer-stay-settlement-dialog .customer-settlement-upload {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 10px;
  min-height: 152px;
  padding: 15px;
  border: 2px dashed #51cae0;
  border-radius: 20px;
  background: linear-gradient(150deg,rgba(21,90,116,.64),rgba(7,50,77,.92));
  box-shadow: inset 0 0 22px rgba(55,195,213,.12);
  cursor: pointer;
  text-align: center;
  color: #fff;
}
.customer-stay-settlement-dialog .customer-settlement-upload::before {
  content: '↑';
  width: 39px;
  height: 39px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font: 900 28px/1 BYekan, sans-serif;
  background: rgba(31,179,197,.25);
  color: #9cf8ff;
  border: 1px solid rgba(131,239,245,.5);
}
.customer-stay-settlement-dialog .customer-settlement-upload > span {
  min-width: 190px;
  padding: 11px 22px;
  border-radius: 13px;
  border: 1px solid rgba(239,227,149,.72);
  background: linear-gradient(110deg, #e0af35, #f9df7e);
  box-shadow: 0 4px 16px rgba(227,172,57,.25);
  color: #102d3b;
  font: 900 17px/1.5 BYekan, Tahoma, sans-serif;
}
.customer-stay-settlement-dialog .customer-settlement-upload small {
  color: #d3e8ee;
  font-size: 12px;
}
.customer-stay-settlement-dialog .customer-settlement-upload[hidden] {
  display: none!important;
}
.customer-stay-settlement-dialog .customer-settlement-copy-row button {
  background: linear-gradient(130deg,#115c80,#227c99);
  border: 1px solid rgba(111,219,240,.6);
  color: #efffff;
  font-weight: 800;
}
@media (max-width: 560px) {
  body.customer-panel-page .customer-stay-bill .customer-bill-grid--summary { gap: 7px; }
  body.customer-panel-page .customer-stay-bill .customer-bill-grid--summary > div { padding: 9px 6px; }
  body.customer-panel-page .customer-stay-bill .customer-bill-grid--summary b {font-size: 14px;}
  .customer-stay-settlement-dialog .customer-settlement-upload { min-height: 125px; }
}

/* Read-only, itemized services statement — scroll the rows, not the controls. */
.customer-services-invoice-dialog {
  width: min(94vw, 700px);
  max-height: min(88dvh, 850px);
  border: 1px solid #3785a2;
  border-radius: 23px;
  padding: 0;
  background: #09283e;
  color: #ecf7ff;
}
.customer-services-invoice-dialog::backdrop {background: rgba(0,11,25,.75);}
.customer-services-invoice-shell {
  display: grid;
  grid-template-rows: auto minmax(0,1fr) auto;
  gap: 12px;
  max-height: inherit;
  padding: 18px;
}
.customer-services-invoice-shell header {display: flex; align-items:center; justify-content: center; position: relative; padding: 4px 44px;}
.customer-services-invoice-shell header h3 {margin: 0; font: 900 23px/1.5 BYekan,Tahoma,sans-serif; text-align:center;}
.customer-services-invoice-shell header button {position:absolute;inset-inline-end: 0;top:0; width:36px;height:36px;border:0;border-radius:9px;background:rgba(208,63,101,.24);color:#ff92aa;font:900 26px/1 Tahoma;cursor:pointer;}
.customer-services-invoice-shell .customer-services-list {overflow-y:auto; overscroll-behavior:contain; min-height:0; display:grid; align-content:start; gap:11px; border-radius:18px; padding:12px; background:rgba(0,19,32,.46); border:1px solid #2e6077;}
.customer-services-group {border:1px solid #285e78; border-radius:16px;padding:14px; background:linear-gradient(160deg,#0b354f,#09263c);}
.customer-services-group h4 {margin:0 0 10px;text-align:center;color:#f3d57f;font:900 18px/1.6 BYekan,Tahoma,sans-serif;}
.customer-services-line {display:flex;align-items:center;justify-content:space-between;gap:14px;padding:8px 2px;border-bottom:1px solid rgba(98,178,204,.2);}
.customer-services-line:last-child {border-bottom:0;}
.customer-services-line span {flex:1;text-align:right;}
.customer-services-line strong {min-width:8ch;text-align:left;direction:ltr;color:#9bf5d1;font-variant-numeric:tabular-nums;}
.customer-services-line.is-tax {color:#cedce5;}
.customer-services-line.is-order-total {margin-top:5px;font-weight:bold;color:#f7dd88;}
.customer-services-direct {margin:4px 0 10px;padding:7px;border-radius:9px;text-align:center;background:rgba(34,138,111,.2);color:#baf5e0;font-size:12px;}
.customer-services-empty {margin:15px auto;text-align:center;color:#d6e6f0;}
.customer-services-invoice-shell footer {display:grid;gap:8px;border-radius:15px;background:rgba(12,60,80,.55);padding:12px;}
.customer-services-invoice-shell footer > div {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.customer-services-invoice-shell footer strong {color:#83ebc9; direction:rtl;}
.customer-services-invoice-shell footer .customer-services-outstanding {font-size:18px;border-top:1px solid #397d96;padding-top:9px;}
.customer-services-invoice-shell footer button {display:block;justify-self:center;width:min(100%,250px);border:1px solid #419baf;border-radius:12px;background:#176f86;color:#fff;font:800 15px BYekan,Tahoma,sans-serif;padding:10px 16px;cursor:pointer;}
@media (max-width: 560px) {
  .customer-services-invoice-shell {padding:10px;}
  .customer-services-invoice-shell header h3 {font-size:19px;}
  .customer-services-group {padding:9px;}
  .customer-services-line {font-size:13px;}
  .customer-services-invoice-shell footer {font-size:13px;}
}
.customer-services-line span small {
  display: block;
  margin-top: 3px;
  font-size: 11px;
  color: #a4cddd;
}

/* 17.1.6 | multi-reservation/multi-stay UI: scoped to guest account */
.customer-reservation-progress,
.customer-other-stays {display:grid;gap:9px;width:100%;margin:0 auto 10px;min-width:0}
.customer-reservation-progress[hidden],.customer-other-stays[hidden],
.customer-reservation-dialog-progress[hidden]{display:none}
.customer-reservation-progress>h3,.customer-other-stays>h3,
.customer-reservation-dialog-progress>h3{margin:0;text-align:center;color:#f2d486;font:800 17px/1.5 var(--font-ui)}
.customer-secondary-grid,.customer-other-stays-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}
.customer-secondary-reservation{display:grid;justify-items:center;text-align:center;gap:7px;padding:14px 12px;border-radius:20px;background:linear-gradient(125deg,#0b3448,#0b253b);border:1px solid #3f8398;color:#e8f7ff}
.customer-secondary-reservation>header{display:grid;justify-items:center;gap:5px;width:100%}
.customer-secondary-reservation>header strong{font:800 17px/1.6 var(--font-ui)}
.customer-secondary-reservation>header span{padding:5px 12px;border-radius:99px;border:1px solid #efbc55;color:#ffde96;font-size:12px}
.customer-secondary-reservation.is-requested>header span{border-color:#df6881;color:#ffc4cf}
.customer-secondary-reservation.is-approved>header span{border-color:#45b981;color:#aaf4cd}
.customer-secondary-reservation.is-receipt>header span{border-color:#bd87f0;color:#edddff}
.customer-secondary-reservation.is-confirmed>header span{border-color:#55dfb2;color:#a5f5d6}
.customer-secondary-reservation>b{font:800 19px/1.6 var(--font-ui);color:#72e4b5}
.customer-secondary-dates{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.customer-secondary-dates>small{font-size:11px;color:#bed4e0;background:#0a2337;padding:5px 9px;border-radius:9px}
.customer-secondary-reservation button{display:block;border:1px solid #55e3ad;border-radius:12px;background:linear-gradient(145deg,#14a97a,#19c69d);color:#042b2a;padding:9px 19px;font:800 14px var(--font-ui);cursor:pointer;justify-self:center;max-width:100%}
.customer-secondary-reservation button.customer-secondary-cancel{background:#9c354c;border-color:#dd6e86;color:#fff}
.customer-secondary-reservation .customer-secondary-wait{font-size:12px;color:#d5b3ef}
.customer-other-stay{display:grid;gap:6px;justify-items:center;text-align:center;padding:14px;border-radius:24px;border:1px solid #3b93a2;background:linear-gradient(120deg,#0a2f42,#0c4b52);color:#fff;font:inherit;cursor:pointer}
.customer-other-stay>span{border-radius:99px;background:#0b9a6a;padding:4px 13px;color:#fff;font-size:12px;font-weight:800}
.customer-other-stay>strong{font-size:22px}
.customer-other-stay>small{color:#c7dee1}
.customer-other-stay>b{color:#82eccf;font-size:22px}
.customer-other-stay-progress{height:12px;width:100%;border-radius:20px;background:#071c2d;overflow:hidden}
.customer-other-stay-progress>i{display:block;height:100%;background:linear-gradient(90deg,#16ad6c,#b2f8e4);border-radius:20px}
.customer-panel-page .account-menu-tile[data-account-view="stay"]{overflow:visible}
.customer-reserve-badge{position:absolute;min-width:30px;height:30px;padding:0 7px;border-radius:50px;display:grid;place-items:center;font:800 16px/1 var(--font-ui);z-index:6;box-shadow:0 0 0 4px #08273e}
.customer-reserve-badge.is-requested{right:8px;top:8px;background:#d62c58;color:white}
.customer-reserve-badge.is-approved{left:8px;top:8px;background:#10a66d;color:white}
.customer-reserve-badge.is-receipt{left:8px;bottom:8px;background:#9655d5;color:white}
.customer-panel-page .account-portal-dialog--reserve[open]{display:flex;flex-direction:column}
.customer-panel-page .account-portal-dialog--reserve iframe{flex:1;min-height:0;height:100%}
.customer-reservation-dialog-progress{flex:0 0 auto;max-height:min(29dvh,270px);overflow-y:auto;margin:49px 12px 5px;padding:10px 12px;background:#092b40;border:1px solid #386d89;border-radius:18px;z-index:1;scrollbar-width:thin}
.customer-reservation-dialog-progress .customer-secondary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px}
.customer-reservation-dialog-progress .customer-secondary-reservation{padding:9px}
.customer-reservation-dialog-progress .customer-secondary-reservation>header strong{font-size:14px}
.customer-reservation-dialog-progress .customer-secondary-reservation>b{font-size:16px}
.customer-booking-payment-dialog{width:min(94vw,620px);max-height:calc(100dvh - 34px);overflow-y:auto;border:1px solid #3a91a6;border-radius:27px;padding:14px;background:#061d30;color:#f2fbff}
.customer-booking-payment-dialog::backdrop{background:rgba(0,8,18,.79);backdrop-filter:blur(6px)}
.customer-booking-payment-shell{position:relative;padding:36px 4px 8px}
.customer-booking-payment-close{position:sticky;top:2px;z-index:10;float:left;width:39px;height:39px;border:0;border-radius:12px;background:#7a304d;color:#fff;font-size:24px;cursor:pointer;margin-top:-33px}
.customer-booking-payment-content .customer-lifecycle-main{padding:6px 0;background:transparent;box-shadow:none}
.customer-booking-payment-content .customer-payment-heading{padding-top:12px}
.customer-booking-payment-content .customer-payment-cards__grid{grid-template-columns:1fr}
body.account-reserve-embed #unitDetailDialog>.dialog-x.dialog-x--bare{display:none}
@media(max-width:700px){
  .customer-reservation-progress,.customer-other-stays{gap:6px;margin-bottom:5px}
  .customer-reservation-dialog-progress{margin:44px 7px 5px;padding:9px;max-height:25dvh}
  .customer-reservation-dialog-progress .customer-secondary-grid{grid-template-columns:1fr}
  .customer-reservation-dialog-progress .customer-secondary-reservation{gap:3px}
  .customer-booking-payment-dialog{width:calc(100vw - 14px);max-height:calc(100dvh - 18px);padding:10px}
}

/* Restaurant multiple active units: hide the selector for single stays. */
.guest-rest-meals:has(.guest-rest-select-unit){grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}
.guest-rest-meals .guest-rest-select-unit,.guest-rest-unit-current button{font:700 13px/1.3 var(--font-ui);border:1px solid #55c7ce;border-radius:14px;background:#106c82;color:#e8ffff;min-width:0;padding:10px 5px;cursor:pointer}
.guest-rest-unit-current{display:flex;justify-content:center;margin:3px auto 10px}
.guest-rest-unit-current button{min-width:140px;padding:9px 18px}
.guest-rest-unit-dialog{width:min(94vw,410px);border:1px solid #49a4b2;border-radius:25px;background:linear-gradient(150deg,#0b3146,#051a2b);color:#fff;padding:24px 16px;text-align:center}
.guest-rest-unit-dialog::backdrop{background:rgba(0,8,18,.75);backdrop-filter:blur(6px)}
.guest-rest-unit-dialog>h3{font:800 22px/1.5 var(--font-ui);color:#fff}
.guest-rest-unit-dialog>p{color:#b8d4dd;font-size:13px}
.guest-rest-unit-close{position:absolute;left:10px;top:10px;border:0;color:#ff638f;font-size:23px;background:transparent;cursor:pointer}
.guest-rest-unit-choices{display:grid;gap:10px;margin-top:15px}
.guest-rest-unit-choices>button{min-height:54px;border-radius:15px;border:1px solid #4ba1b4;background:#0e435b;color:#fff;font:800 17px/1.5 var(--font-ui);cursor:pointer}
.guest-rest-unit-choices>button.is-selected{background:#0b9b7d;border-color:#74ead1;color:white}
@media(max-width:390px){.guest-rest-meals .guest-rest-select-unit{font-size:11px;line-height:1.25}}
/* Flex ordering must agree with the existing header/status/menu sequence. */
.customer-panel-page #customerReservationProgress{order:-4}
.customer-panel-page #customerOtherStays{order:-3}

/* v17.1.7 — Conversation controls, persistent resizing, avatar and sticker picker.
   Scoped to chat only; do not change booking, restaurant or dashboard layout. */
.chat-panel { resize:none; }
.chat-panel-head { position:relative;display:flex;align-items:center;justify-content:center;min-height:72px;height:72px;flex:0 0 72px;padding:5px 72px;box-sizing:border-box; }
.chat-panel-head .chat-peer-button { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 158px);min-width:0;max-width:420px;display:flex;align-items:center;text-align:center;grid-column:auto;z-index:1; }
.chat-panel-head .chat-peer-title { display:block;width:100%;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.chat-panel-head .chat-peer-avatar { position:absolute;right:10px;top:50%;transform:translateY(-50%);height:54px;width:54px;min-height:54px;min-width:54px;border-radius:50%;padding:0;cursor:pointer;overflow:visible;grid-column:auto;z-index:3; }
.chat-peer-avatar img { position:absolute;inset:0;width:100%;height:100%;border-radius:50%;object-fit:cover; }
.chat-peer-avatar img[hidden],.chat-peer-avatar span[hidden],.chat-peer-verified[hidden] { display:none; }
.chat-peer-avatar span { font-size:22px; }
.chat-peer-avatar .chat-peer-verified { right:-2px;bottom:-2px;left:auto;position:absolute;pointer-events:none; }
.chat-panel-head .chat-panel-close { position:absolute;left:8px;right:auto;top:50%;transform:translateY(-50%);grid-column:auto;justify-self:auto;z-index:5; }
.chat-panel-head .chat-panel-close:hover { transform:translateY(-50%) scale(1.07); }
.chat-panel-head .chat-contacts-toggle { position:absolute;right:69px;top:50%;transform:translateY(-50%);grid-column:auto;z-index:4;width:33px;height:33px; }
.chat-panel-head .chat-reset-guest-button { position:absolute;left:57px;top:50%;transform:translateY(-50%);z-index:3; }
.chat-avatar-dialog { background:linear-gradient(155deg,#092a40,#031523);color:#eefcff;border:1px solid rgba(88,211,222,.42);border-radius:24px;padding:18px;max-width:min(92vw,460px);text-align:center;box-shadow:0 20px 80px #0009; }
.chat-avatar-dialog::backdrop { background:rgba(0,6,14,.83);backdrop-filter:blur(8px); }
.chat-avatar-dialog img { display:block;width:min(80vw,400px);max-height:72vh;object-fit:contain;border-radius:18px;margin:25px auto 5px; }
.chat-avatar-dialog img[hidden] { display:none; }
.chat-avatar-dialog #chatAvatarClose { position:absolute;left:12px;top:12px;border:0;border-radius:12px;background:#832943;color:#fff;padding:7px 12px;cursor:pointer;font-size:22px; }
.chat-avatar-dialog p { margin:36px 20px 16px; }
.chat-resize-grip { position:absolute;bottom:2px;left:2px;width:23px;height:23px;border-bottom:3px solid #61d4e5;border-left:3px solid #61d4e5;border-radius:0 0 0 13px;z-index:8;cursor:nesw-resize;touch-action:none;opacity:.7; }
.chat-resize-grip:hover,.chat-panel.is-user-resizing .chat-resize-grip { opacity:1;border-color:#f5d475; }
.chat-selection-bar { flex:0 0 auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:space-between;padding:9px 11px;background:linear-gradient(90deg,#073449,#0b2337);border-bottom:1px solid #236b80; }
.chat-selection-bar[hidden]{display:none}
.chat-selection-bar span { font-size:12px;color:#9be9e8; }
.chat-selection-bar button { border:1px solid #36738a;border-radius:9px;padding:7px 9px;color:#eefaff;background:#143c53;font:700 11px/1.3 BYekan,Tahoma,sans-serif;cursor:pointer; }
.chat-selection-bar #chatDeleteSelected { background:#892b47;border-color:#bb5570; }
.chat-selection-bar #chatDeleteSelected[hidden] { display:none; }
.chat-message { position:relative;touch-action:pan-y;user-select:text;-webkit-user-select:text; }
.chat-message.is-selected { outline:2px solid #66ebd9;outline-offset:1px;background:linear-gradient(145deg,#0e555a,#13374d); }
.chat-message.is-deleted p { opacity:.62;font-style:italic;font-size:16px; }
.chat-message-footer { display:flex;align-items:center;justify-content:space-between;gap:12px;direction:ltr; }
.chat-message-footer time { margin-left:auto;flex-shrink:0; }
.chat-message-reactions { display:inline-flex;align-items:center;gap:7px; }
.chat-like-button { border:0;background:transparent;color:#aab7c4;font-size:19px;line-height:1;padding:0 2px;display:inline-flex;align-items:center;gap:4px;cursor:pointer; }
.chat-like-button.is-liked { color:#f16b95;text-shadow:0 0 9px #e5558799; }
.chat-like-button span { font-size:10px;letter-spacing:0;color:#d2c7c4; }
.chat-quick-reply { display:block;position:absolute;top:11px;left:-31px;width:29px;height:28px;border:0;background:transparent;color:#92bec5;opacity:.43;cursor:pointer;font-size:21px;transform:scaleX(-1); }
.chat-message.incoming .chat-quick-reply { left:auto;right:-31px; }
.chat-message:hover .chat-quick-reply,.chat-quick-reply:focus-visible { opacity:1; }
.chat-reply-reference { display:flex;flex-direction:column;gap:3px;border-inline-start:3px solid #62cbd5;background:rgba(57,145,165,.14);padding:6px 9px;border-radius:9px;margin-bottom:6px;cursor:pointer; }
.chat-reply-reference b {font:700 11px/1.3 BYekan,Tahoma,sans-serif;color:#aaf3e5}
.chat-reply-reference small {font:14px/1.35 BMitra,BYekan,sans-serif;color:#c3dbe4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.chat-reply-preview { display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;border:1px solid #267789;border-radius:12px;background:#103a4d;padding:8px 12px;color:#b8f3e9;font-size:12px; }
.chat-reply-preview[hidden]{display:none}
.chat-reply-preview span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 30px)}
.chat-reply-preview button{border:0;background:transparent;color:#ff93a6;font-size:19px;cursor:pointer}
.chat-message.is-single-sticker { background:transparent!important;border:0!important;box-shadow:none!important; }
.chat-message.is-single-sticker .chat-message-text { font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:62px!important;line-height:1.25; }
.chat-message.is-multi-sticker .chat-message-text { font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:23px!important;line-height:1.45; }
.chat-sticker-button { position:absolute;inset-inline-end:56px;bottom:9px;width:39px;height:39px;border-radius:13px;background:#133747;border:1px solid #265b69;color:#f8d882;display:grid;place-items:center;font-size:26px;cursor:pointer;z-index:3; }
.chat-sticker-panel { position:absolute;z-index:14;bottom:calc(100% + 6px);left:8px;right:8px;max-height:265px;background:linear-gradient(160deg,#08324b,#051b2d);border:1px solid #337e95;border-radius:20px;box-shadow:0 12px 55px #0008;overflow:hidden; }
.chat-sticker-panel[hidden]{display:none}
.chat-sticker-title{display:flex;align-items:center;justify-content:space-between;padding:8px 13px;color:#efdc91;font-size:13px;}
.chat-sticker-title button{border:0;border-radius:8px;background:#792941;color:#fff;padding:2px 9px;font-size:17px;cursor:pointer}
.chat-sticker-grid{overflow:auto;max-height:220px;padding:10px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;}
.chat-sticker-grid button{border:1px solid transparent;border-radius:11px;background:transparent;padding:5px 0;font-size:28px;line-height:1.25;cursor:pointer;}
.chat-sticker-grid button:hover,.chat-sticker-grid button:focus-visible{background:#17546b;border-color:#32829a;}
.chat-composer-shell textarea { padding-inline-end:105px; }
.chat-composer-shell:has(#chatPublicMenuButton:not([hidden])) .chat-sticker-button { display:none; }
.chat-composer-shell.is-expanded .chat-sticker-button {bottom:9px;}
@media(max-width:760px){
  .chat-resize-grip {display:none}
  .chat-panel-head { min-height:58px;height:58px;flex:0 0 58px;padding:3px 57px; }
  .chat-panel-head .chat-peer-avatar {width:50px;height:50px;min-width:50px;min-height:50px;right:5px;}
  .chat-panel-head .chat-peer-button{width:calc(100% - 156px);}
  .chat-panel-head .chat-panel-close{left:4px}
  .chat-panel-head .chat-contacts-toggle{right:56px;width:28px;height:28px}
  .chat-panel-head .chat-reset-guest-button{left:51px}
  .chat-like-button{font-size:19px}
  .chat-quick-reply{display:none}
  .chat-sticker-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .chat-sticker-grid button{font-size:24px}
  .chat-composer-shell textarea{padding-inline-end:105px}
  .chat-selection-bar{gap:5px;padding:6px}
  .chat-selection-bar button{font-size:10px}
}
/* v17.1.7: outrank legacy global dialog-close positioning; close sits opposite the avatar. */
html body .chat-panel-head .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close {
  position:absolute;
  left:8px;
  right:auto;
  top:50%;
  bottom:auto;
  transform:translateY(-50%);
}
@media(max-width:760px){
  html body .chat-panel-head .chat-panel-close.chat-panel-close.chat-panel-close.chat-panel-close {
    left:4px;
  }
}

/* Release 17.1.8: payment receipt lifecycle & accessible chat actions. */
.customer-bill-pending {
  display:grid;justify-items:center;gap:7px;margin:14px auto;padding:16px;
  border:1px solid rgba(85,214,226,.43);border-radius:20px;
  background:linear-gradient(145deg,rgba(17,71,87,.74),rgba(7,42,67,.92));
  color:#bff6f5;text-align:center;
}
.customer-bill-pending strong{font-size:1.05rem;color:#b9efff}
.customer-bill-pending span{font-weight:800;color:#f7db87}
.customer-bill-pending small{font-size:.83rem;color:#b8d7e1}
.customer-bill-success {
  margin:14px auto;max-width:460px;padding:14px 18px;border-radius:18px;
  background:linear-gradient(125deg,rgba(13,132,78,.43),rgba(4,95,80,.34));
  border:1px solid rgba(68,222,154,.52);color:#bdfbe0;text-align:center;font-weight:900;
}
.customer-stay-settlement-dialog .customer-settlement-bank {
  width:100%;max-width:460px;margin-inline:auto;min-width:0;box-sizing:border-box;
  background:rgba(4,29,49,.7);padding:12px 12px 14px;
}
.customer-stay-settlement-dialog .customer-settlement-bank .customer-bank-card__art {
  width:100%;max-width:100%;margin-inline:auto;
}
.customer-stay-settlement-dialog .customer-settlement-bank .customer-bank-card__number,
.customer-stay-settlement-dialog .customer-settlement-bank .customer-bank-card__iban {
  text-align:center!important;left:3%!important;right:3%!important;
}
.customer-stay-settlement-dialog .customer-settlement-bank .customer-bank-card__copy-grid {width:100%}
@media(max-width:600px){
  .customer-stay-settlement-dialog .customer-settlement-bank{padding:8px;}
  .customer-stay-settlement-dialog .customer-settlement-bank .customer-bank-card__meta{font-size:.85rem;}
}
[data-theme="light"] .customer-bill-pending {background:#bee6e6;color:#064150;border-color:#319ea0;}
[data-theme="light"] .customer-bill-pending strong,
[data-theme="light"] .customer-bill-pending span,
[data-theme="light"] .customer-bill-pending small {color:#07354a;}
[data-theme="light"] .customer-bill-success{color:#065338;background:#a5e4bc;}

/* Message selections: prevent browser text highlight from stealing long presses. */
.chat-messages.is-selecting .chat-message:not(.is-deleted) {padding-inline-start:28px;}
.chat-select-toggle {
  display:none;position:absolute;inset-inline-start:4px;top:50%;transform:translateY(-50%);
  width:22px;height:22px;border:2px solid rgba(117,206,219,.8);border-radius:7px;
  background:rgba(4,31,49,.92);color:#fff;cursor:pointer;font:800 14px/1 BYekan,sans-serif;
  align-items:center;justify-content:center;z-index:5;
}
.chat-messages.is-selecting .chat-select-toggle{display:flex}
.chat-message.is-selected .chat-select-toggle{background:#0bb78a;border-color:#66e9c5}
.chat-header-delete-selected {
  position:absolute;left:56px;top:50%;transform:translateY(-50%);
  width:38px;height:38px;border:1px solid rgba(255,109,140,.5);border-radius:12px;
  background:rgba(153,37,71,.36);color:#ffbbcb;font-size:20px;cursor:pointer;z-index:6;
}
.chat-header-delete-selected[hidden]{display:none}
.chat-messages .chat-message.is-selected{outline:2px solid #54e5c6;outline-offset:1px}
.chat-like-button span{display:none!important}
.chat-like-button{min-width:26px;min-height:26px;justify-content:center}
@media(max-width:760px){
  .chat-message,.chat-message .chat-message-text,.chat-message .chat-reply-reference,
  .chat-message .chat-reply-reference * {
    user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none!important;
  }
  .chat-header-delete-selected{left:51px}
  .chat-messages.is-selecting .chat-select-toggle{width:24px;height:24px}
}

/* Sticker sheet dismisses through backdrop/tapping outside; no X button. */
.chat-sticker-title {justify-content:center;}
.chat-avatar-dialog[open] {
  box-sizing:border-box;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;
  padding:24px;display:flex;flex-direction:column;justify-content:center;align-items:center;
  background:rgba(2,17,29,.55);border:0;border-radius:0;box-shadow:none;
}
.chat-avatar-dialog:not([open]){display:none}
.chat-avatar-dialog img{margin:0;max-height:85dvh;max-width:90vw;object-fit:contain}

/* Fixed, low-contrast official logo: stays centered while messages scroll. */
.chat-conversation{position:relative;isolation:isolate}
.chat-conversation::before {
  content:"";position:absolute;pointer-events:none;inset:0;z-index:0;
  background-image:url('/static/images/logo.avif');background-repeat:no-repeat;
  background-position:50% 47%;background-size:clamp(110px,28%,195px);
  opacity:.085;filter:grayscale(25%);
}
.chat-conversation .chat-messages {position:relative;z-index:1;background:transparent}
.chat-conversation .chat-message-form,
.chat-conversation .chat-selection-bar,
.chat-conversation .chat-readonly-note {position:relative;z-index:2}


/* 17.1.9 — Chat selection controls outside message bubbles; compact receipts. */
.chat-messages.is-selecting .chat-message:not(.is-deleted){padding-inline-start:11px}
.chat-messages.is-selecting .chat-message{max-width:calc(83% - 14px)}
.chat-select-toggle,
.chat-messages.is-selecting .chat-select-toggle{inset-inline-start:-29px;top:50%;transform:translateY(-50%);width:23px;height:23px;border-radius:50%;background:#071b2c;border:2px solid #5ca9ba}
.chat-message.is-selected .chat-select-toggle{background:#19af7d;border-color:#94f5d8}
.chat-messages.is-selecting .chat-message:not(.is-selected){outline:none}
.chat-selection-bar{display:grid;grid-template-columns:32px minmax(0,1fr) 32px;gap:6px;align-items:center;justify-content:center;padding-inline:10px}
.chat-selection-bar #chatSelectionCount{grid-column:3;grid-row:1;text-align:end;white-space:nowrap}
.chat-selection-bar #chatCancelSelection{grid-column:1;grid-row:1}
.chat-selection-bar #chatCopySelected,.chat-selection-bar #chatDeleteSelected{grid-row:2;justify-self:center;min-width:105px}
.chat-selection-bar #chatCopySelected{grid-column:2}
.chat-selection-bar #chatDeleteSelected{grid-column:3;justify-self:start}
.chat-selection-bar:has(#chatDeleteSelected:not([hidden])){grid-template-columns:38px minmax(0,1fr) minmax(0,1fr);}
.chat-selection-bar:has(#chatDeleteSelected:not([hidden])) #chatSelectionCount{grid-column:2 / 4;text-align:center}
.chat-selection-bar:has(#chatDeleteSelected:not([hidden])) #chatCopySelected{grid-column:2;justify-self:end}
.chat-selection-bar:has(#chatDeleteSelected:not([hidden])) #chatDeleteSelected{grid-column:3;justify-self:start}
.chat-message footer.chat-message-footer{margin-top:1px;padding:0;min-height:18px;gap:5px;line-height:1}
.chat-message-footer .chat-message-reactions{display:flex;gap:4px;align-items:center}
.chat-like-button,.chat-like-button.is-liked{font-size:17px;min-height:20px;min-width:20px;line-height:1;color:#e75069;text-shadow:0 0 5px #de3f5538}
.chat-like-button:not(.is-liked){font-size:15px;color:#ec687b;opacity:.68}
.chat-message-footer time{font-size:10px;line-height:1}
.chat-message-footer .chat-message-status{line-height:1;letter-spacing:-2px}
.chat-message-reactions .chat-message-status{order:1}
.chat-message-reactions .chat-like-button{order:2}
.chat-message.incoming .chat-message-footer,.chat-message.outgoing .chat-message-footer{margin-bottom:-3px}
.chat-sticker-button{display:grid;place-items:center;line-height:1}
.chat-sticker-button svg{display:block;margin:auto}
.chat-media-picker{position:absolute;z-index:16;inset-inline:10px;bottom:calc(100% + 6px);border-radius:19px;padding:15px;background:linear-gradient(155deg,#0a354b,#061728);border:1px solid #3d8ca5;box-shadow:0 14px 42px #000a;text-align:center}
.chat-media-picker[hidden]{display:none}
.chat-media-picker-title{font:800 15px BYekan,Tahoma,sans-serif;color:#f5d68a;margin-bottom:13px}
.chat-media-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.chat-media-picker-grid button{display:grid;place-items:center;gap:7px;padding:13px 4px;color:#d8f7ff;background:#103d54;border:1px solid #3988a1;border-radius:13px;font-size:26px;cursor:pointer}
.chat-media-picker-grid button small{font:13px BYekan,Tahoma,sans-serif}
.chat-moderation-dialog{width:min(370px,calc(100vw - 36px));margin:auto;border:1px solid #35889d;border-radius:20px;background:linear-gradient(155deg,#103e53,#081c30);color:#effcff;padding:21px;box-shadow:0 18px 80px #000b;text-align:center;font-family:BYekan,Tahoma,sans-serif}
.chat-moderation-dialog::backdrop{background:#01111dd4;backdrop-filter:blur(5px)}
.chat-moderation-dialog h3{font-size:19px;margin:4px 0 15px;color:#f5da8d}
.chat-moderation-dialog p{margin:0 0 22px;font:15px/1.8 BYekan,Tahoma,sans-serif}
.chat-moderation-dialog form div{display:flex;justify-content:center;gap:10px}
.chat-moderation-dialog button{border-radius:12px;border:1px solid #488395;background:#17516b;color:#fff;padding:11px 18px;cursor:pointer}
.chat-moderation-dialog button[value="delete"]{background:#a72f54;border-color:#d75b76}
@media(max-width:760px){
 .chat-messages.is-selecting .chat-message{max-width:calc(87% - 21px)}
 .chat-select-toggle,.chat-messages.is-selecting .chat-select-toggle{inset-inline-start:-27px}
 .chat-selection-bar{grid-template-columns:40px 1fr!important;display:flex;flex-wrap:wrap;justify-content:center}
 .chat-selection-bar #chatSelectionCount{text-align:center;flex:1}
 .chat-selection-bar #chatCancelSelection{margin-inline-end:auto}
 .chat-selection-bar #chatCopySelected,.chat-selection-bar #chatDeleteSelected{min-width:95px}
}
/* Explicitly show the iOS header controls after the notch/inset, even when initial CSS uses display overrides. */
@media(max-width:760px){
@supports (padding-top: env(safe-area-inset-top)){
 body.customer-panel-page .customer-global-header{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center!important;isolation:isolate;visibility:visible!important;opacity:1!important;overflow:visible!important}
 body.customer-panel-page .customer-global-header .account-theme-toggle{display:grid!important;grid-column:1;grid-row:1;visibility:visible!important;opacity:1!important;position:relative!important;inset:auto!important;justify-self:center!important;transform:none!important}
 body.customer-panel-page .customer-global-header .customer-header-brand{display:flex!important;grid-column:2;grid-row:1;justify-self:center!important;position:relative!important;inset:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;z-index:2}
 body.customer-panel-page .customer-global-header .customer-menu-button{display:flex!important;grid-column:3;grid-row:1;justify-self:center!important;position:relative!important;inset:auto!important;visibility:visible!important;opacity:1!important;z-index:2;transform:none!important}
 body.customer-panel-page .customer-global-header .customer-menu-button span{display:block!important;opacity:1!important;background:#dce9ed!important}
}
}

.chat-selection-bar,.chat-selection-bar:has(#chatDeleteSelected:not([hidden])){display:grid;grid-template-columns:36px minmax(0,1fr) 36px;justify-items:center;row-gap:6px}
.chat-selection-bar #chatCancelSelection{grid-column:1;grid-row:1}
.chat-selection-bar #chatSelectionCount,.chat-selection-bar:has(#chatDeleteSelected:not([hidden])) #chatSelectionCount{grid-column:2;grid-row:1;text-align:center}
.chat-selection-actions{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;align-items:center;gap:9px;width:100%}
.chat-selection-actions #chatCopySelected,.chat-selection-actions #chatDeleteSelected,.chat-selection-bar:has(#chatDeleteSelected:not([hidden])) .chat-selection-actions button{grid-column:auto;grid-row:auto;justify-self:auto;min-width:112px}
.chat-selection-actions #chatDeleteSelected[hidden]{display:none}
@media(max-width:760px){.chat-selection-bar,.chat-selection-bar:has(#chatDeleteSelected:not([hidden])){display:grid;grid-template-columns:34px minmax(0,1fr) 34px}.chat-selection-actions{justify-content:center}.chat-selection-actions button{min-width:100px}}
.chat-message.incoming .chat-select-toggle{inset-inline-start:auto;inset-inline-end:-29px}
.chat-message.outgoing .chat-select-toggle{inset-inline-start:-29px;inset-inline-end:auto}
.chat-message.outgoing .chat-quick-reply{left:auto;right:-31px}
.chat-message.incoming .chat-quick-reply{right:auto;left:-31px}
@media(max-width:760px){
 .chat-message.incoming .chat-select-toggle{inset-inline-end:-27px}
 .chat-message.outgoing .chat-select-toggle{inset-inline-start:-27px}
}

/* 17.2.1: manager-only selection; clean emoji control without its extra tile. */
.chat-sticker-button,.chat-composer-shell.is-expanded .chat-sticker-button{
  bottom:2px;display:grid;place-items:center;align-content:center;justify-content:center;
  border:0;background:transparent;box-shadow:none;border-radius:0;
  width:42px;height:42px;padding:0;text-align:center;line-height:1;
}
.chat-sticker-button:focus-visible{outline:2px solid #40c3d1;outline-offset:1px;border-radius:12px}


/* 17.2.1 — show each active stay with the SAME timeline presentation as
   the primary stay, and give every request an explicit unit badge. */
.customer-other-stays-grid{grid-template-columns:1fr;gap:10px;width:100%}
.customer-stay-parity-card{
  display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;text-align:center;
  width:100%;min-width:0;gap:12px;padding:13px 17px;
  border:2px solid rgba(75,156,163,.58);border-radius:32px;
  background:linear-gradient(120deg,#08283b,#0b434b);color:#fff;
}
.customer-stay-parity-card .customer-lifecycle-copy{display:grid;justify-items:center;text-align:center;gap:4px}
.customer-stay-parity-card .customer-lifecycle-kicker{justify-content:center;background:#0eae75;color:#fff;border:1px solid #83efb7;border-radius:99px;padding:5px 17px;font-weight:800;font-size:12px}
.customer-stay-parity-card .customer-lifecycle-copy h2{font-size:clamp(19px,4.2vw,27px);margin:0;color:#fff4d5;line-height:1.4}
.customer-stay-parity-card .customer-stay-progress-card{width:100%;margin:0;grid-column:1;min-width:0}
.customer-stay-parity-card .customer-stay-progress-meta{direction:rtl;width:100%}
.customer-stay-parity-card .customer-stay-progress-percent{font-size:clamp(20px,5vw,29px);color:#8cf2d2}
.customer-stay-parity-card .customer-stay-progress-meta span{min-width:0;gap:3px;flex-wrap:wrap;justify-content:center}
.customer-stay-parity-card:focus-visible{outline:3px solid #6ceacf;outline-offset:2px}
.customer-stay-choice-panel{display:grid;grid-column:1/-1;gap:10px;width:100%;min-width:0}
.customer-stay-choice-panel h3{font:800 16px/1.5 var(--font-ui);margin:7px 0 0;color:#e6ce87;text-align:center}
.customer-stay-choice-panel .customer-other-stays-grid{gap:9px}
.customer-stay-choice-panel .customer-stay-parity-card{border-width:1px}
.customer-payable-done{text-align:center;justify-self:stretch;display:grid;place-items:center}
.guest-rest-request-unit{display:table;max-width:95%;margin:8px auto 10px;padding:8px 16px;
  border:1px solid #e6b94f;border-radius:13px;background:linear-gradient(130deg,#745318,#a9792b);
  color:#ffe5a1;font:800 17px/1.6 var(--font-ui);text-align:center;overflow-wrap:anywhere}
@media(max-width:760px){
 .customer-stay-parity-card{padding:11px 13px;gap:8px}
 .customer-stay-parity-card .customer-stay-progress-card{padding:11px 10px}
 .customer-stay-parity-card .customer-stay-progress-meta{gap:4px}
 .customer-stay-parity-card .customer-stay-progress-meta span{font-size:10px}
 .customer-stay-parity-card .customer-stay-progress-meta b{font-size:11px}
}
/* Unit switching belongs in the accommodation modal, not twice on the dashboard. */
.customer-stay-choice-panel{display:none}
body.account-stay-focus .customer-stay-choice-panel{display:grid}


/* 17.2.2 — surgical messenger toolbar, dashboard parity, and icon-badge fixes */
/* The hidden property MUST win over every preceding responsive/grid selector. */
html body .chat-conversation #chatSelectionBar[hidden],
html body .chat-conversation .chat-selection-bar[hidden],
html body .chat-conversation #chatSelectionBar:has(#chatDeleteSelected:not([hidden]))[hidden],
html body .chat-conversation #chatSelectionBar:not(:has(#chatDeleteSelected:not([hidden])))[hidden]{display:none!important}
html body .chat-conversation #chatSelectionBar:not([hidden]){
 display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
 align-items:center;justify-content:space-between;gap:7px;min-height:49px;
 padding:6px 9px;direction:rtl
}
html body #chatSelectionBar #chatSelectionCount{display:block;grid-column:auto;grid-row:auto;flex:1 1 auto;min-width:0;text-align:center;white-space:nowrap;font-size:clamp(10px,2.6vw,13px)}
html body #chatSelectionBar .chat-selection-actions{display:flex;grid-column:auto;grid-row:auto;flex:0 0 auto;justify-content:center;width:auto;gap:7px;flex-wrap:nowrap}
html body #chatSelectionBar .chat-selection-actions button,
html body #chatSelectionBar:has(#chatDeleteSelected:not([hidden])) .chat-selection-actions button{
 display:grid;place-items:center;grid-column:auto;grid-row:auto;justify-self:auto;
 min-width:0!important;width:38px;height:36px;padding:4px;flex:0 0 38px
}
html body #chatSelectionBar #chatDeleteSelected[hidden]{display:none!important}
html body #chatSelectionBar #chatCancelSelection{display:grid;place-items:center;grid-column:auto;grid-row:auto;flex:0 0 32px;justify-self:auto;min-width:0;width:32px;height:34px;padding:0;margin:0!important}
/* Liked messages retain a red heart; unliked messages leave no blank heart slot. */
html body .chat-message .chat-like-button[hidden],
html body .sh-message .sh-like-button[hidden]{display:none!important}
html body .chat-message .chat-like-button.is-liked{font-size:15px;min-width:18px;min-height:18px;padding:0;line-height:1}
/* Align the conversation menu vertically and separate it from the user avatar. */
html body .chat-panel-head .chat-contacts-toggle:not([hidden]){
 display:grid;place-items:center;top:50%;transform:translateY(-50%);right:78px;
 width:34px;height:34px;margin:0;padding:0;line-height:1
}
/* The emoji is a graphic glyph, not an extra background-tile or a font outline. */
html body .chat-composer-shell .chat-sticker-button,
html body .chat-composer-shell.is-expanded .chat-sticker-button{
 display:grid;place-items:center;align-content:center;justify-content:center;
 bottom:5px;line-height:1;width:42px;height:42px;font-size:27px;
 background:transparent;border:0;box-shadow:none;padding:0
}
/* Match the dashboard's primary status dimensions and its three-column time row. */
body.customer-panel-page:not(.account-stay-focus) .customer-other-stays-grid{gap:7px}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card{
 box-sizing:border-box;min-height:0;max-height:none;display:flex;flex-direction:column;
 justify-content:center;gap:5px;padding:9px 12px;border-radius:29px
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-lifecycle-copy{
 display:grid;justify-items:center;align-items:center;gap:3px;margin:0;padding:0
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-lifecycle-kicker{
 position:static;display:inline-grid;place-items:center;min-height:23px;padding:2px 11px;
 font:900 11px/1.35 BYekan,Tahoma,sans-serif;margin:0
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-lifecycle-copy h2{
 font-size:clamp(18px,5.5vw,27px);line-height:1.35;margin:0;white-space:normal;
 text-align:center;color:#fff4d5
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-card{
 display:grid;width:100%;gap:5px;padding:8px 10px 9px;margin:0;border-radius:19px
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-track{height:12px}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-meta{
 display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
 align-items:center;gap:4px;margin-top:4px;direction:rtl;justify-content:space-between
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-meta>span{
 display:flex!important;align-items:center;justify-content:flex-start;white-space:nowrap;flex-wrap:nowrap;
 min-width:0;gap:3px;font-size:clamp(9px,2.4vw,12px)
}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-meta>span:last-child{justify-self:end;justify-content:flex-end}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-meta>span b{font-size:clamp(9px,2.6vw,12px)}
body.customer-panel-page:not(.account-stay-focus) .customer-stay-parity-card .customer-stay-progress-percent{
 font:900 clamp(21px,5.8vw,26px)/1.1 BYekan,Tahoma,sans-serif;min-width:53px;text-align:center
}
/* Move badges into the outer corners, clear of the tile title. */
body.customer-panel-page .account-menu-tile>.customer-reserve-badge.is-requested{right:1px;top:1px}
body.customer-panel-page .account-menu-tile>.customer-reserve-badge.is-approved{left:1px;top:1px}
body.customer-panel-page .account-menu-tile>.customer-reserve-badge.is-receipt{left:1px;bottom:1px}
body.customer-panel-page .account-menu-tile>.guest-rest-tile-badge.is-danger{right:1px!important;left:auto!important;top:1px!important}
body.customer-panel-page .account-menu-tile>.guest-rest-tile-badge.is-approved{left:1px!important;right:auto!important;top:1px!important}

/* 17.2.3 — iPhone-only account header geometry and conditional tile density.
   Keep Android, desktop and the already-fitting idle dashboard unchanged.
   The body, not the header, owns the iOS status-bar safe-area inset. */
@supports (-webkit-touch-callout: none) {
  @media (max-width: 700px) {
    body.customer-panel-page {
      --account-mobile-header: 54px;
      padding-top: env(safe-area-inset-top, 0px);
    }
    body.customer-panel-page .customer-global-header {
      box-sizing: border-box!important;
      display: grid!important;
      position: relative!important;
      height: 54px!important;
      min-height: 54px!important;
      max-height: 54px!important;
      grid-template-columns: 44px minmax(0,1fr) 44px!important;
      grid-template-rows: 54px!important;
      align-items: center!important;
      align-content: center!important;
      justify-items: center!important;
      padding: 0 max(8px, env(safe-area-inset-right, 0px)) 0 max(8px, env(safe-area-inset-left, 0px))!important;
      margin: 0 auto!important;
      overflow: visible!important;
      isolation: isolate;
    }
    body.customer-panel-page .customer-global-header .account-theme-toggle,
    body.customer-panel-page .customer-global-header .customer-menu-button {
      grid-row: 1!important;
      position: relative!important;
      inset: auto!important;
      transform: none!important;
      margin: 0!important;
      align-self: center!important;
      justify-self: center!important;
      width: 40px!important;
      min-width: 40px!important;
      height: 40px!important;
      min-height: 40px!important;
      z-index: 2;
    }
    body.customer-panel-page .customer-global-header .account-theme-toggle { grid-column: 1!important; }
    body.customer-panel-page .customer-global-header .customer-menu-button { grid-column: 3!important; }
    body.customer-panel-page .customer-global-header .customer-header-brand {
      grid-row: 1!important;
      grid-column: 2!important;
      box-sizing: border-box!important;
      position: relative!important;
      inset: auto!important;
      transform: none!important;
      align-self: center!important;
      justify-self: center!important;
      display: flex!important;
      align-items: center!important;
      justify-content: center!important;
      height: 54px!important;
      max-height: 54px!important;
      width: min(154px,100%)!important;
      max-width: 154px!important;
      margin: 0!important;
      z-index: 2;
    }
    body.customer-panel-page .customer-global-header .customer-header-brand img {
      display: block!important;
      width: 100%!important;
      height: 48px!important;
      max-height: 48px!important;
      object-fit: contain!important;
      object-position: center!important;
      margin: 0!important;
      transform: none!important;
    }
    /* Only after a reservation/stay exists, use compact, still tappable tiles.
       Multiple concurrent stays may naturally scroll; never clip their cards. */
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]):not(.account-stay-focus) {
      height: auto!important;
      min-height: 0!important;
      padding-top: 5px!important;
      gap: clamp(5px, .85dvh, 8px)!important;
      overflow: visible!important;
    }
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]) .account-dashboard-menu {
      flex: 0 0 auto!important;
      min-height: 0!important;
      padding: 7px!important;
    }
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]) .account-menu-grid {
      --iphone-account-tile-height: clamp(68px, 10dvh, 93px);
      flex: 0 0 auto!important;
      display: grid!important;
      grid-template-rows: repeat(3, var(--iphone-account-tile-height))!important;
      gap: 6px!important;
      align-content: start!important;
    }
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]) .account-menu-tile,
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]) .account-menu-tile.is-featured {
      box-sizing: border-box!important;
      height: var(--iphone-account-tile-height)!important;
      min-height: 0!important;
      padding: 5px 4px!important;
      gap: 2px!important;
    }
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]) .account-menu-tile b {
      font-size: clamp(13px, 3.7vw, 17px)!important;
      line-height: 1.28!important;
    }
    body.customer-panel-page .customer-panel-shell[data-account-mode]:not([data-account-mode="idle"]) .account-menu-tile small {
      font-size: clamp(9px, 2.45vw, 11px)!important;
      line-height: 1.25!important;
    }
  }
}

/* 17.2.4 — Telegram-like chat parity: solid bubbles, proper media-first layout,
   visible liker avatars, larger watermark, and a surgical composer toolbar. */
.chat-conversation::before{
  background-size:clamp(220px,56%,390px)!important;
  opacity:.11!important;
  filter:grayscale(.08) brightness(1.05)!important;
}
.chat-message{
  position:relative;
  overflow:visible;
  align-self:flex-end!important;
  margin-inline-start:auto;
  margin-inline-end:0;
  padding:10px 12px 8px!important;
  border-radius:22px 22px 8px 22px!important;
  background:linear-gradient(180deg,#8f63ef,#5b74ef)!important;
  border:1px solid rgba(214,208,255,.18)!important;
  box-shadow:0 10px 24px rgba(10,20,54,.18)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:padding .22s ease,transform .22s ease,box-shadow .22s ease;
}
.chat-message.incoming{
  align-self:flex-start!important;
  margin-inline-start:0;
  margin-inline-end:auto;
  border-radius:22px 22px 22px 8px!important;
  background:linear-gradient(180deg,#243a50,#162738)!important;
  border-color:rgba(129,163,190,.16)!important;
}
.chat-message.outgoing::after,
.chat-message.incoming::after{
  content:"";
  position:absolute;
  bottom:-1px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  z-index:-1;
}
.chat-message.outgoing::after{
  inset-inline-end:8px;
  background:#5f72ef;
  border-radius:0 0 4px 0;
}
.chat-message.incoming::after{
  inset-inline-start:8px;
  background:#18293a;
  border-radius:0 0 0 4px;
}
.chat-message p{
  font:20px/1.58 BMitra,BYekan,sans-serif!important;
  color:#fff;
  text-align:start;
}
.chat-message-attachments{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0 0 8px!important;
}
.chat-message.has-visual-media{
  width:max-content;
  max-width:min(84vw,360px)!important;
}
.chat-message.has-visual-media .chat-message-text{
  margin-top:2px;
}
.chat-message.has-visual-media .chat-media-thumb img,
.chat-message.has-visual-media .chat-video-wrap video{
  display:block;
  width:min(300px,72vw);
  max-width:100%;
  max-height:330px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
}
.chat-message-footer{
  display:flex!important;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-top:6px!important;
  direction:ltr!important;
}
.chat-message-meta{
  margin-inline-start:auto;
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:rgba(255,255,255,.88);
  font-size:11px;
  line-height:1;
  direction:ltr;
}
.chat-message-meta time{font-size:11px;line-height:1;color:rgba(255,255,255,.9)}
.chat-message-reactions{
  display:inline-flex!important;
  align-items:flex-end;
  justify-content:flex-start;
  gap:6px;
  min-height:28px;
}
.chat-like-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:0!important;
  min-height:30px!important;
  padding:2px 8px 2px 5px!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#d93f69!important;
  box-shadow:0 4px 14px rgba(0,0,0,.14);
  opacity:1!important;
}
.chat-like-button.is-liked{
  background:linear-gradient(180deg,#fff,#f5f7ff)!important;
  color:#e1426e!important;
}
.chat-like-heart{font-size:16px;line-height:1}
.chat-like-avatar-stack{
  display:inline-flex;
  align-items:center;
  flex-direction:row-reverse;
  gap:0;
}
.chat-like-avatar{
  width:22px;
  height:22px;
  border-radius:50%;
  overflow:hidden;
  border:1.5px solid rgba(255,255,255,.95);
  background:#dfe9f3;
  display:grid;
  place-items:center;
  box-shadow:0 1px 6px rgba(0,0,0,.08);
}
.chat-like-avatar + .chat-like-avatar{margin-inline-end:-7px}
.chat-like-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.chat-like-avatar--fallback{
  font:700 10px/1 BYekan,Tahoma,sans-serif;
  color:#21394e;
}
.chat-message.has-likes{padding-bottom:10px!important}
.chat-message.has-likes .chat-like-button{animation:chatLikePop1724 .24s ease}
@keyframes chatLikePop1724{
  0%{transform:translateY(3px) scale(.92);opacity:.3}
  100%{transform:translateY(0) scale(1);opacity:1}
}
.chat-message-status{letter-spacing:-2px;color:#fff}
.chat-message-status.read{color:#fff}
.chat-message-status.delivered{color:#dfe7ff}
.chat-attach-button{
  inset-inline-end:10px!important;
  bottom:7px!important;
  width:31px!important;
  height:31px!important;
  border:0!important;
  background:transparent!important;
  color:#d6dce4!important;
  box-shadow:none!important;
  border-radius:0!important;
  font-size:24px!important;
  padding:0!important;
}
.chat-sticker-button,
.chat-composer-shell.is-expanded .chat-sticker-button{
  inset-inline-end:42px!important;
  bottom:7px!important;
  width:30px!important;
  height:30px!important;
  font-size:25px!important;
}
.chat-composer-shell textarea{padding-inline-end:84px!important}
.chat-attach-button:hover,
.chat-attach-button:focus-visible,
.chat-sticker-button:hover,
.chat-sticker-button:focus-visible{background:transparent!important;box-shadow:none!important}
@media(max-width:760px){
  .chat-message{max-width:88%!important}
  .chat-message.has-visual-media{max-width:min(86vw,332px)!important}
  .chat-message.has-visual-media .chat-media-thumb img,
  .chat-message.has-visual-media .chat-video-wrap video{width:min(280px,70vw)}
  .chat-attach-button{bottom:8px!important}
  .chat-sticker-button,.chat-composer-shell.is-expanded .chat-sticker-button{bottom:8px!important;inset-inline-end:40px!important}
  .chat-composer-shell textarea{padding-inline-end:82px!important}
}

/* 17.2.5 — Chat geometry and moderation. Keep the physical alignment independent
   of the RTL text direction; the logical CSS margin rules caused flipped sides. */
#chatMessages.chat-messages {
  direction:ltr!important;
  gap:5px!important;
  padding:9px 12px!important;
}
#chatMessages .chat-message {
  box-sizing:border-box;
  direction:rtl!important;
  text-align:right;
  width:fit-content;
  min-width:0;
  max-width:min(85%,510px)!important;
  margin-left:auto!important;
  margin-right:0!important;
  align-self:flex-end!important; /* outgoing = RIGHT */
  border-radius:18px 18px 5px 18px!important;
  padding:8px 10px 5px!important;
}
#chatMessages .chat-message.incoming {
  margin-left:0!important;
  margin-right:auto!important;
  align-self:flex-start!important; /* incoming = LEFT */
  border-radius:18px 18px 18px 5px!important;
}
#chatMessages .chat-message.outgoing::after{
  right:0;left:auto;inset-inline:unset;
  bottom:0;
  border-radius:0 0 4px 0;
}
#chatMessages .chat-message.incoming::after{
  left:0;right:auto;inset-inline:unset;
  bottom:0;
  border-radius:0 0 0 4px;
}
#chatMessages .chat-message p,
#chatMessages .chat-message p.chat-message-text {
  font:20px/1.3 BMitra,BYekan,sans-serif!important;
  margin:0!important;
  padding:0!important;
  text-align:right;
}
#chatMessages .chat-message footer.chat-message-footer{
  display:flex!important;
  direction:ltr!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:5px!important;
  min-height:13px!important;
  margin:1px 0 0!important;
  margin-bottom:0!important;
  padding:0!important;
  line-height:1!important;
}
#chatMessages .chat-message .chat-message-meta{
  display:inline-flex!important;
  order:2;
  direction:ltr;
  align-items:center!important;
  gap:5px;
  margin-left:auto!important;
  margin-right:0!important;
  padding:0;
  line-height:1!important;
  white-space:nowrap;
}
#chatMessages .chat-message .chat-message-meta time,
#chatMessages .chat-message .chat-message-status {
  font-size:10px!important;
  line-height:1!important;
  color:rgba(255,255,255,.90)!important;
  margin:0!important;
}
#chatMessages .chat-message .chat-message-reactions{
  order:1;
  margin:0 auto 0 0!important;
  padding:0;
  min-height:0!important;
  gap:0!important;
  justify-content:flex-start;
  align-items:center;
}
#chatMessages .chat-message .chat-message-reactions:empty{display:none!important}
#chatMessages .chat-message .chat-like-button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-width:0!important;
  min-height:25px!important;
  width:auto!important;
  height:auto!important;
  padding:2px 6px!important;
  gap:4px!important;
  font-size:15px!important;
  border-radius:999px!important;
  color:#ff234f!important;
  background:#ffffff!important;
  box-shadow:0 2px 9px #061a3444!important;
  text-shadow:none!important;
}
/* Old 17.2.1 rule hid ALL reaction span children; explicitly restore them. */
#chatMessages .chat-message .chat-like-button .chat-like-heart{
  display:inline-block!important;
  line-height:1!important;
  font-size:19px!important;
  font-family:Arial,sans-serif!important;
  color:#ef1641!important;
  text-shadow:none!important;
}
#chatMessages .chat-message .chat-like-button .chat-like-avatar-stack{
  display:inline-flex!important;
  align-items:center;
  flex-direction:row-reverse;
}
#chatMessages .chat-message .chat-like-button .chat-like-avatar{
  display:grid!important;
  width:21px!important;
  height:21px!important;
  place-items:center;
  line-height:1;
  border-radius:50%;
}
#chatMessages .chat-message.has-likes {padding-bottom:6px!important}
#chatMessages .chat-message-edited {
  font-size:9px;
  color:rgba(255,255,255,.7);
  white-space:nowrap;
}
#chatMessages .chat-message.has-visual-media {
  max-width:min(84%,380px)!important;
  width:fit-content!important;
}
#chatMessages .chat-message.has-visual-media .chat-message-attachments{margin:0 0 5px!important}
#chatMessages .chat-message.is-single-sticker{
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
}
#chatMessages .chat-message.is-single-sticker::after{display:none}
/* Edit appears only for exactly one manager-owned text message. */
html body #chatSelectionBar #chatEditSelected[hidden],
html body #chatSelectionBar #chatCopySelected[hidden],
html body #chatSelectionBar #chatDeleteSelected[hidden]{display:none!important}
.chat-edit-dialog{
  width:min(94vw,440px);
  max-width:min(94vw,440px);
  border:1px solid #368aa2;
  border-radius:22px;
  padding:18px;
  background:linear-gradient(155deg,#0b2b42,#061829);
  color:#f4fbff;
  box-shadow:0 22px 65px #0009;
  font-family:BYekan,Tahoma,sans-serif;
  text-align:right;
  direction:rtl;
}
.chat-edit-dialog::backdrop{background:rgba(0,8,18,.72);backdrop-filter:blur(3px)}
.chat-edit-dialog h3{text-align:center;font-size:19px;margin:0 0 18px}
.chat-edit-dialog label{display:block;margin-bottom:7px;color:#b4d6e2;font-size:13px}
.chat-edit-dialog textarea{
  box-sizing:border-box;display:block;width:100%;min-height:96px;
  padding:12px;border:1px solid #47849b;border-radius:12px;
  background:#102c41;color:#fff;outline:none;resize:vertical;
  font:19px/1.5 BMitra,BYekan,sans-serif;text-align:right;
}
.chat-edit-dialog textarea:focus{border-color:#46c5c9}
.chat-edit-dialog [role="alert"]{color:#fca4b4;font-size:12px}
.chat-edit-actions{display:flex;gap:9px;margin-top:17px}
.chat-edit-actions button{
  flex:1;min-height:44px;border-radius:11px;border:1px solid #367d94;
  background:#18445a;color:#fff;font:700 13px BYekan,sans-serif;cursor:pointer;
}
.chat-edit-actions #chatEditSave{background:#10a97f;color:#00271d;border-color:#5de6bd}
.chat-edit-actions button:disabled{opacity:.5;cursor:wait}
@media(max-width:760px){
  .chat-panel{
    max-width:100vw!important;
    max-height:100dvh!important;
    min-width:0!important;
    min-height:0!important;
    border-radius:0!important;
    box-shadow:none;
  }
  #chatMessages.chat-messages{padding:8px 12px!important;gap:4px!important}
  #chatMessages .chat-message{max-width:88%!important;padding:7px 9px 4px!important}
  #chatMessages .chat-message.has-visual-media{max-width:86%!important}
  #chatMessages .chat-message p,#chatMessages .chat-message p.chat-message-text{font-size:19px!important;line-height:1.29!important}
  .chat-panel-head{flex-shrink:0}
}

/* 17.2.7 — mobile chat viewport and in-thread media upload receipts. */
@media (max-width:760px){
  html body #chatPanel.chat-panel:not([hidden]){
    box-sizing:border-box!important;
    position:absolute!important;
    margin:0!important;
    padding:0!important;
    max-width:none!important;
    max-height:none!important;
    min-height:0!important;
    min-width:0!important;
    border-radius:0!important;
    transition:none!important;
    animation:none!important;
  }
  html body #chatMessageForm.chat-message-form{
    padding-bottom:var(--baba-chat-bottom-padding,8px)!important;
    margin:0!important;
  }
  html body #chatConversation.chat-conversation{
    min-height:0!important;
    flex:1 1 auto!important;
  }
  html body #chatMessages.chat-messages{
    flex:1 1 auto!important;
    min-height:0!important;
    overscroll-behavior:contain;
  }
}
.chat-draft-card-wrap{flex:0 0 70px;box-sizing:border-box}
.chat-draft-remove,.chat-attachment-draft .chat-draft-remove{
  box-sizing:border-box!important;flex:0 0 22px!important;
  width:22px!important;height:22px!important;min-width:22px!important;min-height:22px!important;
  padding:0!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  aspect-ratio:1!important;font:700 14px/1 Arial,sans-serif!important;
}
.chat-upload-bubble{
  width:min(72%,310px);max-width:310px;flex:0 0 auto;
  align-self:flex-end;direction:rtl;
  border:1px solid rgba(123,188,222,.35);
  background:#112a3c;border-radius:20px 20px 6px 20px;
  padding:7px;color:#e6f9ff;
  box-shadow:0 8px 20px rgba(0,0,0,.22);
}
.chat-upload-preview{
  position:relative;height:clamp(150px,32vh,250px);
  border-radius:15px;overflow:hidden;
  background:linear-gradient(145deg,#123a51,#0b2036);
  display:grid;place-items:center;
}
.chat-upload-preview img{width:100%;height:100%;object-fit:cover;display:block}
.chat-upload-generic{font-size:48px}
.chat-upload-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:10px;
  padding:12px;text-align:center;background:rgba(0,18,35,.57);
  color:#fff;font:700 13px BYekan,Tahoma,sans-serif;
}
.chat-upload-overlay.is-failed{background:rgba(48,10,24,.75)}
.chat-upload-overlay small{font-size:11px;font-weight:400;line-height:1.4}
.chat-upload-spinner{
  width:40px;height:40px;border:4px solid rgba(255,255,255,.32);
  border-top-color:#76f5d6;border-radius:50%;animation:chatUploadTurn1727 .85s linear infinite;
}
@keyframes chatUploadTurn1727{to{transform:rotate(360deg)}}
.chat-upload-retry{
  min-height:38px;padding:6px 16px;
  border:1px solid #ffc59e;border-radius:11px;
  background:#e5a650;color:#1d2636;font:700 13px BYekan,Tahoma,sans-serif;cursor:pointer;
}
.chat-upload-track{height:5px;margin-top:7px;background:#052235;border-radius:999px;overflow:hidden}
.chat-upload-track>div{height:100%;min-width:0;background:linear-gradient(90deg,#13af9b,#91efb5);transition:width .15s linear}
.chat-upload-count{display:block;text-align:center;color:#b9e0e9;padding-top:5px;font-size:11px}
@media(max-width:760px){.chat-upload-bubble{width:min(75%,290px)}.chat-draft-card-wrap{flex-basis:62px}}
/* Read is distinct from delivered: white/gray two ticks are not a read receipt. */
#chatMessages .chat-message-status.read{color:#40bfff!important;text-shadow:0 0 4px rgba(34,167,255,.25)}
#chatMessages .chat-message-status.delivered{color:#e3ebf7!important}
.chat-upload-overlay.is-complete{background:rgba(2,48,42,.48)}
.chat-upload-complete-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#12ad83;color:#fff;font-size:28px}

/* 17.2.8 — message bubble shape without faux arrow tails; do not alter the
   functional selection, delivery or upload controllers. */
#chatMessages .chat-message.outgoing::after,#chatMessages .chat-message.incoming::after{content:none!important;display:none!important}
#chatMessages.chat-messages{overscroll-behavior-y:contain}
#chatMessages .chat-history-hint{display:block;align-self:center;text-align:center;color:#8bb3c5;font:12px BYekan,Tahoma,sans-serif;margin:5px auto 10px;padding:7px 11px;border-radius:100px;background:#0b3044;border:1px solid #255269}

/* 17.3.2: predictable compact media thumbnails and native-iOS chat frame. */
#chatMessages .chat-media-thumb img{width:min(240px,60vw);height:auto;max-height:240px;aspect-ratio:1;object-fit:cover}
@media(max-width:760px){
 html body #chatPanel.chat-panel:not([hidden]){border-radius:16px!important;background:#061829!important}
 html.chat-panel-open body .chat-layer::before{content:"";position:fixed;top:0;left:0;right:0;height:var(--chat-top-cover,0px);background:#061829;z-index:2;pointer-events:none}
}

/* 17.3.2 — shared chat / Sheykh Chat message-selection rail. */
#chatMessages .chat-message-row{display:flex;width:100%;min-width:0;position:relative;align-items:flex-start;direction:ltr}
#chatMessages .chat-message-row.outgoing{justify-content:flex-end}
#chatMessages .chat-message-row.incoming{justify-content:flex-start}
#chatMessages .chat-message-row>.chat-message{margin:0;align-self:auto;max-width:min(84%,500px)}
#chatMessages.is-selecting .chat-message-row{padding-right:34px}
#chatMessages.is-selecting .chat-message-row>.chat-message{padding-inline-start:9px!important}
#chatMessages .chat-message-row>.chat-select-toggle{
 display:none;position:absolute;right:3px!important;left:auto!important;top:50%;transform:translateY(-50%);
 border:2px solid #69b3c2;border-radius:50%;width:25px;height:25px;z-index:4;
 color:#fff;background:#092535;align-items:center;justify-content:center;padding:0;cursor:pointer
}
#chatMessages.is-selecting .chat-message-row>.chat-select-toggle{display:flex}
#chatMessages .chat-message-row.is-selected>.chat-select-toggle{border-color:#77f2ce;background:#17ad83}
#chatMessages .chat-message-row.is-selected>.chat-message{outline:2px solid #6de5d0}
#chatMessages .chat-message-row .chat-quick-reply{left:-30px!important;right:auto!important;top:auto!important;bottom:20px!important;opacity:.25}
#chatMessages.is-selecting .chat-message-row .chat-quick-reply{display:none!important}
@media(max-width:760px){#chatMessages .chat-message-row>.chat-message{max-width:89%}}

@media(min-width:761px){
 #chatMessages .chat-message-row .chat-quick-like{position:absolute;left:-27px;bottom:-5px;border:0;background:transparent;color:#9abdc6;opacity:.35;font:20px/1 Arial,sans-serif;cursor:pointer;padding:2px;z-index:2}
 #chatMessages .chat-message-row .chat-quick-like:hover,#chatMessages .chat-message-row .chat-quick-like:focus-visible{opacity:1;color:#ff6288}
 #chatMessages.is-selecting .chat-message-row .chat-quick-like{display:none}
}
@media(max-width:760px){#chatMessages .chat-quick-like{display:none!important}}

/* v17.3.4 — compact, native-emoji sticker picker; labels removed in markup */
.chat-sticker-panel{max-height:min(365px,45dvh)}
.chat-sticker-grid{gap:1px;padding:6px 7px;max-height:min(350px,43dvh)}
.chat-sticker-grid button{font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif;font-size:30px;line-height:1.05;padding:4px 0;min-width:0;aspect-ratio:1}
.manager-users-dialog .manager-create-section[hidden]{display:none}
@media(max-width:760px){.chat-sticker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;padding:5px}.chat-sticker-grid button{font-size:26px;padding:3px 0}}

/* ===== 17.3.5 — precise manager dashboard/user administration ===== */
@media (min-width:761px){
 .manager-home-body .manager-home-summary{width:min(1180px,96%);margin-inline:auto;grid-template-columns:repeat(6,minmax(0,1fr))}
 .manager-home-body .manager-users-dialog[open]{max-height:96dvh}
 .manager-users-dialog .manager-users-list{max-height:min(55dvh,650px)}
 .manager-users-dialog .manager-create-form[data-compact-form],
 .manager-users-dialog [data-manager-create-panel="warehouse"] .manager-create-form,
 .manager-users-dialog [data-manager-create-panel="hall"] .manager-create-form,
 .manager-users-dialog [data-manager-create-panel="kitchen"] .manager-create-form{grid-template-columns:repeat(4,minmax(0,1fr));}
}
.manager-home-body .manager-home-summary article{min-width:0;}
.manager-home-body .manager-home-summary span{min-width:0}
.manager-home-footer{position:relative;min-height:58px;}
.manager-home-footer__brand{display:flex;align-items:center;justify-content:center;gap:13px;min-width:0;}
.manager-home-footer__brand i{width:1px;height:18px;background:rgba(255,255,255,.16)}
.manager-menu-colors{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;gap:9px;align-items:center;z-index:1}
.manager-menu-colors button{width:21px;height:21px;border:2px solid rgba(240,250,252,.55);border-radius:50%;padding:0;cursor:pointer;transition:transform .22s ease,box-shadow .22s ease}
.manager-menu-colors button:hover{transform:scale(1.12)}
.manager-menu-colors button[aria-pressed="true"]{box-shadow:0 0 0 2px #051c2d,0 0 0 4px #e9f7fc,0 0 16px currentColor;transform:scale(1.08)}
.manager-menu-colors [data-manager-menu-color="green"]{background:#13b781;color:#13b781}
.manager-menu-colors [data-manager-menu-color="purple"]{background:#9755dd;color:#9755dd}
.manager-menu-colors [data-manager-menu-color="red"]{background:#db4366;color:#db4366}
.manager-menu-colors [data-manager-menu-color="blue"]{background:#298ddc;color:#298ddc}
.manager-menu-colors [data-manager-menu-color="yellow"]{background:#dfb63e;color:#dfb63e}
.manager-home-body[data-menu-color="green"] .manager-home-card{--card-accent:#24c997;--card-grad-1:rgba(8,66,53,.93);--card-grad-2:rgba(8,45,47,.91);--card-grad-3:rgba(4,25,30,.96)}
.manager-home-body[data-menu-color="purple"] .manager-home-card{--card-accent:#b279ec;--card-grad-1:rgba(57,27,83,.95);--card-grad-2:rgba(42,29,72,.93);--card-grad-3:rgba(20,17,42,.96)}
.manager-home-body[data-menu-color="red"] .manager-home-card{--card-accent:#ed6d87;--card-grad-1:rgba(84,25,50,.95);--card-grad-2:rgba(59,24,49,.93);--card-grad-3:rgba(34,18,37,.96)}
.manager-home-body[data-menu-color="blue"] .manager-home-card{--card-accent:#4caef2;--card-grad-1:rgba(11,58,88,.95);--card-grad-2:rgba(14,41,69,.93);--card-grad-3:rgba(5,21,44,.96)}
.manager-home-body[data-menu-color="yellow"] .manager-home-card{--card-accent:#e6c35c;--card-grad-1:rgba(78,65,24,.95);--card-grad-2:rgba(53,47,25,.93);--card-grad-3:rgba(31,29,20,.96)}
.manager-users-dialog{width:min(1160px,95vw);max-height:96dvh}
.manager-users-dialog[open]{max-height:96dvh;overflow-y:auto}
.manager-users-dialog .manager-create-form>button[type="submit"]{grid-column:1/-1;justify-self:center;width:min(360px,100%);}
.manager-users-dialog .manager-create-form label.manager-password-field{position:relative}
.manager-users-dialog .manager-password-field input{padding-left:43px}
.manager-password-field{position:relative}
.manager-password-field input{padding-left:42px}
.manager-password-eye{position:absolute;left:5px;bottom:3px;width:37px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:rgba(35,128,157,.17);color:#9bdce9;font:900 22px BYekan,Tahoma,sans-serif;cursor:pointer}
.manager-password-eye[aria-pressed="true"]{color:#f4d06f;background:rgba(207,171,69,.16)}
.manager-users-dialog .manager-users-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.manager-user-details-dialog .manager-user-meta-grid>span b{font-size:17px;font-weight:900;color:#f3cf60;text-align:center;direction:rtl;line-height:1.6}
.manager-user-details-dialog .manager-user-meta-grid>span b[dir="ltr"]{direction:ltr}
.manager-user-details-dialog .manager-user-meta-grid>span small{text-align:center;font-size:11px}
.manager-user-details-dialog .manager-user-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.manager-user-details-dialog .manager-user-actions .is-portal{color:#7deac5;background:rgba(28,146,101,.16);border-color:rgba(70,221,155,.35)}
.manager-users-dialog .manager-create-form label{align-self:stretch}
@media(max-width:760px){
 .manager-home-body .manager-home-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .manager-home-body .manager-home-summary article{min-height:43px;padding:6px 5px}
 .manager-home-footer{padding-top:39px}
 .manager-menu-colors{top:10px;right:50%;transform:translateX(50%);gap:13px}
 .manager-home-footer__brand{flex-wrap:wrap;gap:7px}
 .manager-users-dialog .manager-users-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
 .manager-users-dialog .manager-users-summary article{min-height:52px;padding:5px 2px}
 .manager-users-dialog .manager-users-summary span{font-size:8px;text-align:center}
 .manager-users-dialog .manager-users-summary strong{font-size:18px}
 .manager-users-dialog .manager-users-list{max-height:47dvh}
 .manager-user-details-dialog .manager-user-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .manager-users-dialog [data-manager-create-panel="warehouse"] .manager-create-form,
 .manager-users-dialog [data-manager-create-panel="hall"] .manager-create-form,
 .manager-users-dialog [data-manager-create-panel="kitchen"] .manager-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Manager-only live customer portal: no guest session impersonation. */
.manager-customer-portal-body{min-height:100dvh;background:radial-gradient(ellipse at top,#123b51,#061927 65%);color:#f0f8f9;font-family:BYekan,Tahoma,sans-serif;padding:22px 13px}
.manager-customer-portal{max-width:1040px;margin:auto;padding:24px;border:1px solid #326777;border-radius:24px;background:#092438}
.manager-customer-portal>header{text-align:center;position:relative;padding-bottom:18px}
.manager-customer-portal h1{font-size:clamp(23px,3vw,34px);margin:7px 0}
.manager-customer-portal h2{margin:0 0 13px;text-align:center;font-size:24px;color:#edcf70}
.manager-customer-portal p{color:#bfd3da}
.manager-portal-back{position:absolute;right:0;top:0;padding:10px 15px;border-radius:12px;background:#17445b;color:#e5fafb;text-decoration:none;border:1px solid #477a91}
.manager-portal-live{display:inline-block;margin-top:48px;color:#86f2be}
.manager-portal-live i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-left:5px;background:#40d895;box-shadow:0 0 9px #40d895}
.manager-portal-identity{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.manager-portal-identity span{border:1px solid #31596a;padding:12px;background:#0b3046;border-radius:12px;display:grid;gap:6px;text-align:center;color:#aecdd4}
.manager-portal-identity strong{font-size:21px;color:#f1d47c}
#managerPortalStatus{text-align:center;color:#8fbdc8;font-size:12px;padding:15px}
.manager-portal-section{border:1px solid #2b586b;border-radius:17px;padding:18px;margin:10px 0 18px;background:#072035}
.manager-portal-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
.manager-portal-item{min-width:0;border:1px solid #3a6b7f;border-radius:14px;padding:14px;background:#0b3045}
.manager-portal-item header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.manager-portal-item header strong{font-size:16px}
.manager-portal-item header span{border:1px solid #6d9a8b;padding:6px;border-radius:10px;color:#82e8b6;font-size:11px}
.manager-portal-item p{margin:9px 0;font-size:13px}
.manager-portal-item small{color:#edcc71}
.manager-portal-empty{text-align:center;padding:10px}
.manager-portal-actions{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}
.manager-portal-actions a{background:#127fa2;color:white;text-decoration:none;border:1px solid #53b5d3;padding:11px 20px;border-radius:11px}
@media(max-width:600px){.manager-customer-portal{padding:14px}.manager-portal-items{grid-template-columns:1fr}.manager-portal-identity strong{font-size:16px}.manager-portal-back{font-size:11px;padding:7px}}

.manager-password-eye svg{width:22px;height:22px;display:block}
.manager-password-eye .manager-eye-slash{opacity:1;transition:opacity .2s}
.manager-password-eye.is-revealed .manager-eye-slash{opacity:0}

/* 17.3.6 — overcast/moonless source photos used as desktop night rain scenes. */
html[data-weather-dark-rain="true"] .landing-bg-layer{
  filter:brightness(.43) saturate(.78);
}


/* 17.3.7 — depth-correct precipitation on the wooden balcony.
   Scene(-3) < weather particles(-2) < exact wooden foreground(-1) < controls.
   None of these layers intercept taps, links, or accessibility focus. */
.landing-stage > .weather-precipitation-canvas{
  z-index:-2;
  -webkit-mask-image:url('/static/images/desk/porch_outdoor_weather_mask.avif');
  mask-image:url('/static/images/desk/porch_outdoor_weather_mask.avif');
  -webkit-mask-size:cover;mask-size:cover;
  -webkit-mask-position:center center;mask-position:center center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}
.landing-weather-foreground{
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-position:center center;background-size:cover;background-repeat:no-repeat;
  opacity:0;transition:opacity .85s ease;will-change:opacity;
}
html[data-precipitation-type="rain"] .landing-weather-foreground.has-porch-foreground.is-active,
html[data-precipitation-type="snow"] .landing-weather-foreground.has-porch-foreground.is-active{opacity:1}
@media(max-width:760px){
  .landing-weather-foreground{background-size:100% 100%;background-position:center center}
  .landing-stage > .weather-precipitation-canvas{
    -webkit-mask-image:url('/static/images/mobile/porch_outdoor_weather_mask.avif');
    mask-image:url('/static/images/mobile/porch_outdoor_weather_mask.avif');
    -webkit-mask-size:100% 100%;mask-size:100% 100%;
  }
}
@media(max-width:760px) and (display-mode:standalone){
  .landing-weather-foreground{bottom:calc(-1 * var(--app-safe-bottom,0px))}
}
/* Automatically pinned photos have their own composition; disable the bundled
   cutout instead of painting an unrelated balcony over an administrator's choice. */
.landing-shell.is-desktop-manual-background .landing-weather-foreground{display:none}
@media(max-width:760px){.landing-shell.is-mobile-manual-background .landing-weather-foreground{display:none}}

/* 17.3.8 — larger accommodation media previews; keep existing 10-media limit. */
.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-item,
.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-add{aspect-ratio:4 / 3;min-height:105px;border-radius:15px}
.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-item>button{width:31px;height:31px;min-width:31px;font-size:19px}
@media(max-width:680px){.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-item,.manager-settings-panel[data-settings-panel="units"] .unit-settings-media-add{min-height:110px}}

/* 17.3.8 — in-page attraction travel guide and media carousel */
.home-attraction-card[data-attraction-open]{cursor:pointer;outline-offset:4px}
.home-attraction-card[data-attraction-open]:focus-visible{outline:2px solid #f7d176}
.attraction-detail-dialog{position:fixed;inset:0;margin:auto;width:min(800px,calc(100vw - 24px));max-height:min(91dvh,880px);padding:0;border:1px solid rgba(76,195,213,.46);border-radius:26px;background:linear-gradient(148deg,#092e42,#051d2f 76%);color:#e6f2f5;box-shadow:0 25px 80px #010d15df;overflow-y:auto;box-sizing:border-box}
.attraction-detail-dialog::backdrop{background:#010b14c9;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.attraction-detail-shell{position:relative;padding:26px 24px 28px;min-height:300px;text-align:center}
.attraction-detail-close{position:absolute;top:10px;left:12px;z-index:4;width:41px;height:41px;border:1px solid #813e62;border-radius:12px;background:#132941;color:#ff6886;font:35px/1 Arial;cursor:pointer}
.attraction-detail-kicker{margin:4px 36px 7px;color:#bda76e;font:14px/1.7 BYekan,sans-serif}
.attraction-detail-shell>h2{margin:5px 34px 19px;color:#ffdfa0;font:700 clamp(24px,3vw,34px)/1.6 BYekan,sans-serif}
.attraction-detail-hero{position:relative;display:grid;place-items:center;min-height:285px;height:min(50dvh,430px);border:1px solid rgba(96,197,213,.3);border-radius:20px;background:#031523;overflow:hidden;isolation:isolate}
.attraction-detail-hero img{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.attraction-detail-hero.is-empty{background:radial-gradient(circle at center,#194b54,#071d2c)}
.attraction-detail-hero.is-empty::before{content:'✦';font:75px BYekan,sans-serif;color:#d4b35c}
.attraction-detail-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:44px;height:52px;border:1px solid #8dbbc27d;border-radius:12px;background:#052739c9;color:#fff;font:43px/1 Arial;cursor:pointer}
.attraction-detail-nav.is-prev{right:12px}.attraction-detail-nav.is-next{left:12px}
.attraction-detail-count{position:absolute;bottom:11px;left:13px;z-index:2;padding:5px 12px;border-radius:100px;background:#052235d5;color:#f9e5b3;font:14px BYekan,sans-serif}
.attraction-detail-thumbs{display:flex;justify-content:center;gap:8px;max-width:100%;padding:12px 2px 4px;overflow:auto;scrollbar-width:thin}
.attraction-detail-thumbs button{flex:0 0 90px;width:90px;height:68px;padding:0;overflow:hidden;border:2px solid transparent;border-radius:11px;background:#0b2c3d;cursor:pointer}
.attraction-detail-thumbs button.is-active{border-color:#edc75f;box-shadow:0 0 0 1px #edc75f66}
.attraction-detail-thumbs img{width:100%;height:100%;object-fit:cover}
.attraction-detail-meta{display:inline-block;margin:16px auto 4px;padding:8px 19px;border:1px solid #65bcd078;border-radius:14px;background:#15445b;color:#c6e9f2;font:700 16px BYekan,sans-serif}
.attraction-detail-description{margin:17px 12px 7px;text-align:start;white-space:pre-line;color:#ebeff1;font:17px/2.1 BMitra,BYekan,sans-serif}
.attraction-detail-footer{margin:24px auto 0;text-align:center}
.attraction-detail-footer a{display:inline-flex;justify-content:center;align-items:center;min-height:42px;max-width:100%;padding:7px 23px;border:1px solid #6aaebd;border-radius:13px;background:linear-gradient(115deg,#0d5062,#176b7b);color:#fff;font:700 15px BYekan,sans-serif;text-decoration:none}
/* Editor gallery — independent deletions are staged until Save. */
.attraction-gallery-admin{grid-column:1/-1;padding:14px;border:1px solid #286078;border-radius:17px;background:#061f31}
.attraction-gallery-admin-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;color:#ebd68e;font:700 16px BYekan,sans-serif}
.attraction-gallery-admin-heading span{color:#80dcca}
.attraction-gallery-admin-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.attraction-gallery-tile{position:relative;margin:0;aspect-ratio:4/3;border:1px solid #326d80;border-radius:12px;background:#092c41;overflow:hidden}
.attraction-gallery-tile img{width:100%;height:100%;object-fit:cover;display:block}
.attraction-gallery-remove{position:absolute;top:5px;left:5px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #ed8393;border-radius:9px;background:#84233a;color:#fff;font:24px/1 Arial;cursor:pointer}
.attraction-gallery-tile>span{position:absolute;right:6px;bottom:5px;border-radius:7px;background:#082938dd;color:#f2d679;padding:2px 7px;font:12px BYekan,sans-serif}
.attraction-gallery-upload{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:76px;margin-top:13px;padding:12px;border:1px dashed #e8bd67;border-radius:12px;background:#12445b;color:#f8e1a8;text-align:center;cursor:pointer}
.attraction-gallery-upload input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.attraction-gallery-upload span{font:700 17px BYekan,sans-serif}
.attraction-gallery-upload small{font:12px BYekan,sans-serif;color:#b2d5e0}
.attraction-gallery-upload[hidden]{display:none!important}
@media(max-width:650px){.attraction-detail-dialog{max-height:calc(100dvh - 30px);width:calc(100vw - 16px);border-radius:21px}.attraction-detail-shell{padding:22px 12px 23px}.attraction-detail-hero{height:min(44dvh,310px);min-height:210px}.attraction-detail-thumbs button{flex-basis:70px;width:70px;height:57px}.attraction-detail-description{font-size:16px;line-height:1.9}.attraction-gallery-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}}

.attraction-guide-extra-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:14px auto 24px;max-width:100%}
.attraction-guide-extra-images img{width:100%;height:185px;object-fit:cover;border:1px solid #277086;border-radius:15px;background:#08283b}

/* 17.3.8: manager room-photo thumbnails legible for editing, without altering guest gallery. */
[data-settings-panel="units"] .unit-image-thumb img,
[data-settings-panel="units"] .unit-photo-thumb img,
[data-settings-panel="units"] .unit-gallery-admin img {width:100%;height:100%;object-fit:cover}

/* 17.3.9 — attraction cards are ONE clickable surface, never excerpts of a travel guide. */
.home-attractions__viewport .home-attraction-card{cursor:pointer;display:flex;flex-direction:column}
.home-attractions__viewport .home-attraction-card__trigger{
  flex:1;width:100%;box-sizing:border-box;
  display:flex;flex-direction:column;min-width:0;min-height:100%;
  color:inherit;text-decoration:none!important;text-decoration-line:none!important;
  cursor:pointer;outline-offset:-3px;
}
.home-attractions__viewport .home-attraction-card__trigger:visited,
.home-attractions__viewport .home-attraction-card__trigger:hover,
.home-attractions__viewport .home-attraction-card__trigger:focus{
  color:inherit;text-decoration:none!important;text-decoration-line:none!important;
}
.home-attractions__viewport .home-attraction-card__trigger:focus-visible{
  outline:2px solid #f3d16e;border-radius:20px;
}
.home-attractions__viewport .home-attraction-card__body{flex:1}
.home-attractions__viewport .home-attraction-card__body h3{color:#f2d475;text-decoration:none!important}
.home-attractions__viewport .home-attraction-card__body p{color:#bdcfdc}
.attraction-detail-dialog[open]{z-index:2147480000}
.attraction-detail-dialog .attraction-detail-description{overflow-wrap:anywhere}

/* Four season public gallery, settings and manager review. Scoped to avoid existing modal regressions. */
.season-gallery-page,.sg-admin-page{background:#051825;color:#effaff;font-family:BYekan,BMitra,Tahoma,sans-serif;min-height:100dvh}
.season-gallery-page *, .sg-admin-page *{box-sizing:border-box}
.sg-nav,.sg-admin-nav{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px clamp(14px,3vw,48px);background:rgba(7,30,46,.95);border-bottom:1px solid #214b60;gap:16px;position:relative;z-index:3}
.sg-nav img,.sg-admin-nav img{height:55px;max-width:200px;object-fit:contain}.sg-nav>a,.sg-admin-nav>a{justify-self:start;text-decoration:none;border:1px solid #285b73;border-radius:14px;color:#f4d27b;padding:12px 18px}.sg-nav>span,.sg-admin-nav>a:last-child{justify-self:end;color:#c8f2ff}
.sg-main,.sg-admin-shell{width:min(1320px,calc(100% - 32px));margin:32px auto 70px}
.sg-intro{text-align:center;margin:10px 0 34px}.sg-eyebrow,.sg-admin-heading>span{color:#eed06d;font-size:14px;letter-spacing:.3px}.sg-intro h1{font-size:clamp(38px,4.5vw,69px);margin:8px 0;background:linear-gradient(90deg,#f6dfa6,#fff,#a9e3db);color:transparent;background-clip:text}.sg-intro p{color:#a8c3ce;font-size:17px}
.sg-seasons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.sg-season{min-height:390px;position:relative;overflow:hidden;border:1px solid #3b8193;border-radius:27px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:white;cursor:pointer;isolation:isolate;transition:transform .28s,box-shadow .28s}.sg-season:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#021722d9,#16465734),url('/static/images/reservation/buildings/toska.avif') center/cover;z-index:-1;transition:transform .6s}.sg-season:hover:before{transform:scale(1.13)}.sg-season:hover{transform:translateY(-8px);box-shadow:0 20px 38px #00111c}.sg-season>span{position:absolute;top:16px;right:20px;color:#dfebed;font-size:13px}.sg-season>i{font-size:67px;font-style:normal;text-shadow:0 0 22px currentColor}.sg-season strong{font-size:41px}.sg-season small{color:#e0ebed;font-size:17px}.sg-season--spring{border-color:#35bc88}.sg-season--spring:before{filter:hue-rotate(25deg)}.sg-season--spring>i{color:#98ffbe}.sg-season--summer{border-color:#f2c667}.sg-season--summer:before{filter:sepia(.2) saturate(1.25)}.sg-season--summer>i{color:#ffe39d}.sg-season--autumn{border-color:#dc925a}.sg-season--autumn:before{filter:sepia(.55) hue-rotate(-24deg)}.sg-season--autumn>i{color:#f9a969}.sg-season--winter{border-color:#89c3f5}.sg-season--winter:before{filter:brightness(1.13) saturate(.35) hue-rotate(160deg)}.sg-season--winter>i{color:#a8ebff}
.sg-collection{border:1px solid #295c76;border-radius:26px;padding:clamp(15px,2.5vw,31px);background:linear-gradient(150deg,#0b2a3d,#061b29);min-height:60dvh}.sg-collection-head{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;text-align:center;border-bottom:1px solid #2e5469;padding-bottom:18px;gap:6px}.sg-collection-head>div>span{color:#d7c071}.sg-collection-head h2{font-size:clamp(29px,3vw,46px);margin:3px}.sg-collection-head>span{justify-self:end;color:#a8dce7}.sg-outline,.sg-primary{border:1px solid #48849d;border-radius:14px;background:#103a50;color:#f3fafd;padding:12px 19px;cursor:pointer;font:inherit;font-size:15px}.sg-primary{background:linear-gradient(130deg,#efd16b,#caa338);border-color:#ffe18a;color:#071925;font-weight:900}.sg-tabs{display:flex;justify-content:center;gap:12px;margin:21px auto 28px}.sg-tabs button{border:1px solid #396b80;border-radius:14px;background:#11364b;padding:12px 30px;color:#c0e0e8;font:inherit;font-size:20px;font-weight:800;cursor:pointer}.sg-tabs button.is-active{background:linear-gradient(135deg,#17a580,#0d6655);border-color:#42d7a7;color:#fff}
.sg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.sg-tile,.sg-add-tile{appearance:none;cursor:pointer;display:block;position:relative;overflow:hidden;aspect-ratio:4/3;border:1px solid #35778a;border-radius:18px;background:#0d3548;color:white;padding:0;text-align:right}.sg-tile img,.sg-tile video{width:100%;height:100%;object-fit:cover;pointer-events:none}.sg-tile:hover{border-color:#f3d078;transform:translateY(-3px)}.sg-tile-foot{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;gap:7px;align-items:center;padding:19px 10px 10px;background:linear-gradient(0deg,#061923eb,transparent);font-size:14px}.sg-tile-foot small{color:#ff8ab4}.sg-play{position:absolute;top:44%;left:46%;font-size:30px}.sg-add-tile{border-style:dashed;border-width:2px;border-color:#3cbece;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center}.sg-add-tile i,.sg-drop i{font-size:43px;font-style:normal;color:#7bebff}.sg-add-tile b{font-size:21px}.sg-add-tile small{font-size:13px;color:#abd1d8}.sg-empty{grid-column:1/-1;padding:60px 10px;text-align:center;color:#a9cbd7;font-size:18px}.sg-status{color:#f3ce76;min-height:20px;text-align:center}
.sg-dialog{border:1px solid #397793;border-radius:25px;padding:25px;background:#0a2638;color:#fff;box-shadow:0 28px 110px #00131ff0;max-height:min(92dvh,940px);max-width:calc(100vw - 18px);width:min(720px,calc(100vw - 18px));overflow:auto;position:fixed}.sg-dialog::backdrop{background:#010e17d9;backdrop-filter:blur(9px)}.sg-dialog .dialog-x{position:absolute;top:14px;right:16px;z-index:5}.sg-dialog header{text-align:center;padding:7px 32px 13px;border-bottom:1px solid #285b72;margin-bottom:17px}.sg-dialog header>span{color:#f6d473}.sg-dialog h2{font-size:28px;margin:4px 0}.sg-dialog header p{color:#a6c8d5}.sg-dialog footer{display:flex;gap:12px;justify-content:center;margin-top:18px}.sg-viewer{width:min(1160px,calc(100vw - 16px));padding:35px 16px 16px;overflow:hidden}.sg-view-stage{height:min(69dvh,730px);display:flex;align-items:center;justify-content:center}.sg-view-stage img,.sg-view-stage video{width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-select:none}.sg-arrow{position:absolute;top:48%;z-index:4;border:1px solid #5287a2;border-radius:50%;width:46px;height:46px;background:#082c3ccf;color:#fff;font-size:26px;cursor:pointer}.sg-prev{right:15px}.sg-next{left:15px}.sg-view-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #2a556d;padding-top:14px}.sg-view-meta{display:flex;align-items:center;gap:18px}.sg-like{display:flex;align-items:center;gap:8px;border:1px solid #af4b73;background:#44223d;border-radius:15px;padding:7px 14px;color:#ffc5dd;font-size:22px;cursor:pointer}.sg-like.is-liked{color:#ff577f}.sg-like b{font-size:15px}.sg-drop{min-height:164px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:2px dashed #5297a6;border-radius:21px;background:#0c3445;cursor:pointer;text-align:center;padding:10px}.sg-drop.is-drag{background:#145c66;border-color:#ebc863}.sg-drop strong{font-size:18px}.sg-drop small{color:#bad6e0}.sg-previews{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}.sg-preview{position:relative;min-width:0}.sg-preview img,.sg-video-file{width:100%;height:86px;object-fit:cover;background:#1c3e4c;border-radius:10px}.sg-preview>button{position:absolute;top:4px;right:5px;border:1px solid #ff496e;border-radius:8px;background:#5e1b31;color:white}.sg-preview small{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-confirm{text-align:center}.sg-confirm>span{display:block;color:#36dbaa;font-size:62px}.sg-confirm p{color:#bfdce1;line-height:2}
.sg-admin-shell{margin-top:25px}.sg-admin-heading{text-align:center;margin-bottom:24px}.sg-admin-heading h1{font-size:39px;margin:6px}.sg-admin-heading p{color:#b4d4df}.sg-request-types{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:25px}.sg-request-types button{min-height:70px;border:1px solid #2b647e;border-radius:17px;background:#0d334a;color:#e1f1f5;font:inherit;font-size:19px;font-weight:800}.sg-request-types button.is-active{border-color:#e9be59;background:#55451c}.sg-request-types button:disabled{opacity:.45}.sg-request-types b{padding:4px 10px;background:#d04165;border-radius:12px;color:#fff}.sg-admin-board{border:1px solid #31617a;border-radius:25px;background:#0b273a;padding:20px}.sg-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.sg-admin-toolbar h2{margin:0;font-size:25px}.sg-admin-toolbar select,.sg-admin-board select{background:#0a3447;border:1px solid #4d899e;color:white;padding:12px;border-radius:13px;font:inherit}.sg-admin-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.sg-admin-card{border:1px solid #356b82;border-radius:19px;overflow:hidden;background:#12384c;min-width:0}.sg-admin-card>img,.sg-admin-card>video{width:100%;height:185px;object-fit:cover}.sg-admin-card-meta{padding:12px 14px;display:grid;gap:4px}.sg-admin-card-meta strong{font-size:19px}.sg-admin-card-meta span,.sg-admin-card-meta small{font-size:12px;color:#b5d3dc}.sg-admin-card-actions{padding:8px 12px 14px;display:flex;flex-wrap:wrap;gap:8px}.sg-admin-card-actions button,.sg-admin-card-actions a{padding:7px 13px;border:1px solid #468ba1;background:#165369;color:#f4fcff;text-decoration:none;border-radius:10px;font:inherit;cursor:pointer;font-size:13px}.sg-admin-card-actions .is-danger{background:#5c2538;border-color:#b95172}.sg-manager-upload{display:grid;grid-template-columns:1fr auto;gap:12px;margin:14px 0 20px}.sg-manager-upload input{max-width:100%;min-width:0;border:1px solid #4d879b;border-radius:12px;padding:10px}.sg-manager-upload select{width:100%}.sg-editor{width:min(860px,calc(100vw - 18px))}.sg-editor-preview{height:clamp(230px,45dvh,500px);overflow:hidden;position:relative;background:#031520;border-radius:18px;border:2px solid #3887a3;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab}.sg-editor-preview img{position:absolute;max-width:none;width:auto;height:auto;max-height:100%;max-width:100%;object-fit:contain;user-select:none;pointer-events:none}.sg-editor-preview>div{padding:25px;text-align:center;color:#f5d381}.sg-editor-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:15px;margin:16px}.sg-editor-controls label{display:flex;align-items:center;gap:9px}.sg-editor-controls button{background:#164b63;color:white;border:1px solid #3c93b2;border-radius:12px;padding:10px 15px;cursor:pointer}
@media(max-width:1000px){.sg-seasons{grid-template-columns:repeat(2,minmax(0,1fr))}.sg-season{min-height:310px}.sg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-admin-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.sg-nav,.sg-admin-nav{height:68px;padding:6px 11px;gap:7px}.sg-nav img,.sg-admin-nav img{height:45px;max-width:112px}.sg-nav>a,.sg-admin-nav>a{padding:8px;font-size:11px}.sg-nav>span{font-size:12px}.sg-main,.sg-admin-shell{width:calc(100% - 18px);margin:15px auto 36px}.sg-intro{margin-bottom:22px}.sg-intro p{font-size:13px}.sg-seasons{gap:10px}.sg-season{min-height:252px;border-radius:18px}.sg-season strong{font-size:29px}.sg-season small{font-size:12px}.sg-season i{font-size:40px}.sg-collection{padding:12px;border-radius:20px}.sg-collection-head{grid-template-columns:1fr 1fr;gap:6px}.sg-collection-head>div{order:-1;grid-column:1/-1}.sg-collection-head h2{font-size:29px}.sg-collection-head>span{font-size:12px}.sg-tabs{margin:17px auto}.sg-tabs button{flex:1;padding:11px 8px;font-size:16px}.sg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.sg-tile-foot{padding:18px 7px 6px;font-size:11px}.sg-add-tile b{font-size:16px}.sg-add-tile small{font-size:10px}.sg-view-stage{height:63dvh}.sg-view-footer{flex-wrap:wrap;justify-content:center}.sg-view-meta{flex:1;justify-content:space-between}.sg-view-footer #sgCounter{flex-basis:100%;text-align:center}.sg-previews{grid-template-columns:repeat(3,minmax(0,1fr))}.sg-request-types{grid-template-columns:repeat(2,1fr);gap:8px}.sg-request-types button{font-size:15px;min-height:58px}.sg-admin-items{grid-template-columns:1fr}.sg-admin-board{padding:12px}.sg-admin-toolbar h2{font-size:19px}.sg-manager-upload{grid-template-columns:1fr}.sg-dialog{padding:18px 12px}.sg-editor-preview{height:38dvh}}
@media(prefers-reduced-motion:reduce){.sg-season,.sg-season:before,.sg-tile{transition:none}}

.sg-editor-preview canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none}.sg-editor-preview canvas[hidden]{display:none}


/* Four seasons gallery / mobile manager polish v16.5.160 */
.sg-season--spring:before{background-image:linear-gradient(0deg,rgba(2,19,24,.90),rgba(9,85,41,.04) 85%),url('/static/images/gallery/seasons/spring.webp');filter:none}
.sg-season--summer:before{background-image:linear-gradient(0deg,rgba(7,22,25,.90),rgba(15,84,57,.04) 85%),url('/static/images/gallery/seasons/summer.webp');filter:none}
.sg-season--autumn:before{background-image:linear-gradient(0deg,rgba(26,12,5,.86),rgba(112,50,12,.03) 85%),url('/static/images/gallery/seasons/autumn.webp');filter:none}
.sg-season--winter:before{background-image:linear-gradient(0deg,rgba(5,22,43,.91),rgba(8,80,142,.03) 85%),url('/static/images/gallery/seasons/winter.webp');filter:none}
.manager-settings-body .sg-manager-upload{display:grid;grid-template-columns:minmax(135px,.8fr) minmax(240px,1.3fr) auto;align-items:end;gap:14px;background:linear-gradient(145deg,rgba(5,36,57,.86),rgba(11,50,70,.88));border:1px solid rgba(94,187,220,.35);border-radius:22px;padding:16px}
.manager-settings-body .sg-manager-upload .sg-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-weight:800;color:#f0da97;font-size:17px}
.manager-settings-body .sg-manager-upload .sg-field small{font:14px/1.6 var(--font-body,BMitra);color:#aac9d9}
.manager-settings-body .sg-manager-upload :is(select,input[type=file]){width:100%;max-width:100%;min-height:50px;color:#eaf8ff;border:1px solid #4d829b;background:#0d3045;border-radius:13px;font:17px/1.6 var(--font-body,BMitra);padding:10px 14px;outline:none}
.manager-settings-body .sg-manager-upload select{appearance:none;background:#0d3045 linear-gradient(45deg,transparent 50%,#f1d37d 50%) left 18px center / 7px 7px no-repeat;padding-inline:18px 34px;cursor:pointer}
.manager-settings-body .sg-manager-upload option{background:#10374b;color:#fff}
.manager-settings-body .sg-manager-upload input[type=file]::file-selector-button{margin-left:10px;border-radius:11px;border:1px solid #49a9ca;background:#125a74;color:#fff;padding:7px 12px;font:800 15px/1.5 var(--font-body,BMitra);cursor:pointer}
.manager-settings-body .sg-manager-upload button.sg-primary{min-height:50px;font-size:17px;white-space:nowrap}
.manager-settings-body .sg-admin-board{overflow:hidden;min-width:0}
.manager-settings-body .sg-admin-toolbar{flex-wrap:wrap}
.manager-settings-body .sg-admin-toolbar>div{display:flex;gap:9px;flex-wrap:wrap;min-width:0}
.manager-settings-body .sg-admin-toolbar select{min-height:46px;min-width:140px;max-width:100%;font:17px var(--font-body,BMitra)}
.manager-settings-body .sg-admin-card img,.manager-settings-body .sg-admin-card video{display:block}
.sg-editor-preview{touch-action:none;user-select:none;cursor:grab;overflow:hidden}
.sg-editor-preview:active{cursor:grabbing}
.sg-editor-preview canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none}
.sg-zoom-control{flex:1 1 320px;display:flex;align-items:center;gap:12px;border:1px solid rgba(66,139,169,.42);border-radius:14px;padding:10px 13px;background:#0a3347;white-space:nowrap}
.sg-zoom-control input[type=range]{min-width:60px;width:100%;direction:ltr;flex:1;accent-color:#ffce59;cursor:ew-resize}
.sg-zoom-control span{color:#e0eafa;font:700 15px var(--font-body,BMitra)}
.sg-zoom-control output{color:#ffdc76;font-size:17px;min-width:48px;text-align:center}
.sg-editor-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:15px auto 0}
.sg-editor-controls button{min-height:47px;border:1px solid #57a0ba;background:#154962;color:#fff;border-radius:13px;padding:8px 14px;font:800 16px var(--font-body,BMitra)}
@media(max-width:760px){
 .manager-settings-body .sg-manager-upload{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px;border-radius:19px}
 .manager-settings-body .sg-manager-upload .sg-field{font-size:16px}
 .manager-settings-body .sg-manager-upload .sg-file-field{max-width:100%;overflow:hidden}
 .manager-settings-body .sg-manager-upload :is(select,input[type=file]){font-size:15px;min-height:48px}
 .manager-settings-body .sg-admin-toolbar{display:grid;grid-template-columns:1fr;gap:11px}
 .manager-settings-body .sg-admin-toolbar h2{font-size:21px;text-align:center}
 .manager-settings-body .sg-admin-toolbar>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .manager-settings-body .sg-admin-toolbar select{font-size:14px;min-width:0;width:100%;padding:11px 8px}
 .sg-editor{padding:17px 12px!important;max-height:calc(100dvh - 25px)}
 .sg-editor header{padding:2px 34px 8px;margin-bottom:12px}
 .sg-editor header h2{font-size:26px}
 .sg-editor header p{font-size:13px;line-height:1.6}
 .sg-editor-preview{height:min(41dvh,390px)}
 .sg-editor-controls{gap:8px}
 .sg-zoom-control{flex-basis:100%;gap:7px;padding:8px;font-size:13px}
 .sg-zoom-control span{font-size:13px}
 .sg-editor-controls button{flex:1;min-width:0;font-size:14px}
 .sg-editor footer{margin-top:11px}
 .sg-editor footer button{min-height:45px}
}

.manager-settings-body .sg-custom-file-control{position:relative;min-height:70px;display:flex;align-items:center;gap:12px;padding:11px 15px;border-radius:15px;border:1px dashed rgba(112,221,248,.65);background:linear-gradient(150deg,#0d4558,#0a2f4c);color:#eaffff;cursor:pointer;transition:.2s;overflow:hidden}
.manager-settings-body .sg-custom-file-control:focus-within,.manager-settings-body .sg-custom-file-control:hover{border-color:#f3d175;box-shadow:0 0 0 2px rgba(245,205,109,.09)}
.manager-settings-body .sg-custom-file-control input[type=file]{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;cursor:pointer;z-index:2;max-width:none!important}
.manager-settings-body .sg-custom-file-control .sg-custom-file-icon{width:43px;height:43px;min-width:43px;border-radius:13px;display:grid;place-items:center;background:rgba(20,137,171,.4);border:1px solid #36bbd3;color:#eafaff;font-size:28px}
.manager-settings-body .sg-custom-file-copy{min-width:0;display:flex;flex-direction:column;gap:3px;font-size:16px}
.manager-settings-body .sg-custom-file-copy small{font-size:12px!important;color:#a6d5df!important}

/* v16.5.188: Header brand refresh link without navigation-pill styling */
.sg-nav>a.sg-refresh-brand,.sg-admin-nav>a.sg-refresh-brand{
  display:grid;place-items:center;padding:0!important;margin:0;min-width:0;justify-self:center;
  border:0!important;background:none!important;box-shadow:none!important;line-height:0;
}
.sg-nav .sg-refresh-brand img,.sg-admin-nav .sg-refresh-brand img{display:block}


/* Photo-first season cards. Approved gallery media cover wins when available. */
.season-gallery-page .sg-season:before{
  background-image:linear-gradient(0deg,rgba(3,18,30,.88),rgba(4,24,36,.12) 82%),
    var(--season-cover,radial-gradient(circle at 35% 15%,#365a64,#09263a 76%));
  background-position:center,center;background-size:cover,cover;filter:none;
}
.season-gallery-page .sg-season--spring:before{background-color:#123c32}
.season-gallery-page .sg-season--summer:before{background-color:#41512d}
.season-gallery-page .sg-season--autumn:before{background-color:#483224}
.season-gallery-page .sg-season--winter:before{background-color:#243c50}
.season-gallery-page .sg-season strong{text-shadow:0 3px 14px rgba(0,0,0,.45)}
.season-gallery-page .sg-season small{text-shadow:0 2px 10px rgba(0,0,0,.6)}
@media(max-width:650px){.season-gallery-page .sg-season{min-height:226px}}

:root{color-scheme:dark;--tour-bg:#041b2b;--tour-panel:#09283d;--tour-line:#24516a;--tour-text:#eefaff;--tour-gold:#efd06c;--tour-teal:#32dbb5;--tour-cyan:#42c9f5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.tour-body{margin:0;min-height:100dvh;color:var(--tour-text);font-family:Vazirmatn,IRANSans,'Tahoma',sans-serif;background:radial-gradient(ellipse at 65% 0%,#113b4a 0%,transparent 52%),#041624;direction:rtl}button,input,select{font:inherit}button,a{transition:background .18s,transform .18s,border-color .18s}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{text-decoration:none;color:inherit}h1,h2,h3,p{margin-top:0}.tour-top{height:78px;background:#061b29eF;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:8px clamp(14px,4vw,65px);border-bottom:1px solid #22455b;position:sticky;top:0;z-index:20;backdrop-filter:blur(18px)}.tour-top img{max-height:60px;max-width:135px;object-fit:contain}.tour-return{width:max-content;border:1px solid #35637c;border-radius:14px;padding:12px 22px;background:#0e344d;color:#eefaff;font-weight:900}.tour-home{justify-self:end}.tour-return:hover,.tour-outline:hover{border-color:var(--tour-cyan);background:#14506d}.tour-shell{max-width:1450px;margin:0 auto;padding:20px clamp(14px,3vw,40px) 65px}.tour-intro{text-align:center;margin:10px auto 24px;padding:28px 16px;border:1px solid #1a415b;border-radius:24px;background:linear-gradient(125deg,#06273d,#0a1c2c)}.tour-intro>span,.tour-eyebrow{color:var(--tour-gold);font-weight:900;font-size:13px}.tour-intro h1{font-size:clamp(25px,3vw,40px);margin:8px 0}.tour-intro p{color:#a4c9d8;font-size:15px;margin-bottom:0}.tour-section{border:1px solid var(--tour-line);padding:clamp(16px,2.2vw,28px);margin-bottom:20px;border-radius:25px;background:linear-gradient(145deg,#0b2d41,#061c2d);box-shadow:0 24px 50px #0002}.tour-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.tour-title h2{font-size:clamp(22px,2vw,28px);margin:4px 0}.tour-title small{color:var(--tour-gold);font-size:13px}.tour-title>span{color:#97bbcc}.tour-grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tour-section label,.tour-dialog label{display:flex;flex-direction:column;gap:8px;font-size:14px;color:#b5dce8;font-weight:800;min-width:0}.tour-section input,.tour-section select,.tour-dialog input{outline:none;border:1px solid #386983;background:#041f32;border-radius:13px;color:#f5feff;min-height:47px;padding:10px 14px;min-width:0;width:100%;font-size:15px}.tour-section input:focus,.tour-section select:focus,.tour-dialog input:focus{border-color:#43d0f7;box-shadow:0 0 0 3px #12a7e31f}.tour-primary,.tour-outline{border-radius:13px;padding:12px 18px;font-weight:900;font-size:15px;border:1px solid #4e9cc3}.tour-primary{background:linear-gradient(95deg,#eab945,#f2d86d);color:#10283a;border-color:#ffe48b}.tour-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.tour-outline{background:#10435d;color:#fff}.tour-leader-form>.tour-primary{align-self:end;min-height:47px}.tour-leader-list{margin-top:16px;display:flex;gap:9px;flex-wrap:wrap}.tour-tag,.tour-count{border:1px solid #367388;border-radius:12px;padding:10px 14px;background:#113c50;font-size:14px;font-weight:900}.tour-tag small{font-weight:500;color:#a9cbd7;margin-right:10px}.tour-section label.tour-check-box{flex-direction:row;align-items:center;gap:14px;background:#0a3948;border:1px solid #1e967a;border-radius:14px;padding:10px 14px}.tour-check-box input{width:22px;height:22px;min-height:22px;accent-color:#45e5b1}.tour-check-box span{display:flex;flex-direction:column;gap:2px}.tour-check-box small{color:#a2d4c5;font-weight:400}.tour-mini-title{margin:20px 0 12px;font-size:17px}.tour-unit-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tour-section label.tour-pick{cursor:pointer;display:flex;flex-direction:row;align-items:center;background:#061e32;border:1px solid #27536b;border-radius:14px;padding:14px 12px;min-height:78px;transition:.2s}.tour-pick:has(input:checked){background:#104b47;border-color:var(--tour-teal);box-shadow:inset 0 0 0 1px #28d0aa60}.tour-pick input{width:20px;min-height:20px;height:20px;accent-color:var(--tour-teal)}.tour-pick span{display:flex;flex-direction:column;gap:4px}.tour-pick b{font-size:18px;color:#fff}.tour-pick small{font-size:11px;color:#9cc5d2}.tour-notes{margin:18px 0}.tour-form-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.tour-form-actions>span{color:#a6bcc7;font-size:13px}.tour-list{display:grid;gap:18px}.tour-group{border:1px solid #2a647a;padding:18px;border-radius:20px;background:#051d2f}.tour-group-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.tour-group-head small{font-size:13px;color:#e5c25b}.tour-group-head h3{font-size:25px;margin:6px 0}.tour-group-head p{font-size:13px;color:#b6cfdb;margin-bottom:0}.tour-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px}.tour-stats>div,.tour-finance-grid>div{background:#0a3144;border:1px solid #326178;border-radius:13px;padding:13px;display:flex;flex-direction:column;gap:7px}.tour-stats span{font-size:12px;color:#a5ccd9}.tour-stats strong{font-size:19px}.tour-stats strong.tour-amount,.tour-finance-grid .tour-due strong{color:var(--tour-teal)}.tour-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.tour-room-card{text-align:right;color:#fff;border:1px solid #246e88;border-radius:17px;background:#0a2e40;padding:14px;min-height:149px;display:flex;flex-direction:column;gap:18px}.tour-room-card:hover{border-color:#30edc1;transform:translateY(-2px);box-shadow:0 12px 28px #062d34}.tour-room-top,.tour-room-meta,.tour-room-bottom{display:flex;justify-content:space-between;gap:9px;align-items:center}.tour-room-top b{font-size:19px}.tour-room-top small{font-size:11px;color:#8bbbcf}.tour-room-meta{font-size:12px;color:#e4c96b}.tour-room-meta em{font-style:normal}.tour-room-bottom{padding-top:8px;border-top:1px solid #285165;font-size:12px}.tour-room-bottom strong{font-size:16px;color:#54e5c7}.tour-empty{text-align:center;padding:45px;color:#b6d7e5}.tour-dialog{position:fixed;inset:0;margin:auto;max-width:min(850px,calc(100vw - 24px));width:850px;max-height:calc(100dvh - 30px);overflow-y:auto;background:linear-gradient(130deg,#092f44,#041b2c);border:1px solid #32718a;color:#fff;border-radius:25px;padding:25px;box-shadow:0 40px 100px #000a}.tour-dialog::backdrop{background:#010914bd;backdrop-filter:blur(7px)}.tour-dialog>.tour-eyebrow{display:block;text-align:center}.tour-dialog h2{text-align:center;font-size:26px;margin:8px 0 18px}.tour-dialog h3{font-size:20px;margin:20px 0 6px}.tour-dialog p{font-size:13px;color:#c1dce4}.tour-x{position:absolute;right:15px;top:12px;border:none;background:transparent;color:#ff527e;font-size:32px;font-weight:900;padding:3px 9px}.tour-x:hover{transform:scale(1.08)}.tour-status{border:1px solid #256e6b;text-align:center;padding:9px;border-radius:12px;color:#51e6c1;background:#073a3d}.tour-guest-row{display:grid;grid-template-columns:65px 1.4fr 1fr 1fr 39px;align-items:center;gap:8px;margin:10px 0}.tour-guest-index{font-size:12px;color:#e6c765}.tour-guest-row button{border:1px solid #ad4767;color:#ff8caa;background:#472337;border-radius:10px;font-size:25px;min-height:45px}.tour-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px}.tour-finance{margin-top:26px;border-top:1px solid #275367;padding-top:4px}.tour-finance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}.tour-finance-grid>div{font-size:12px;color:#b1d1d9}.tour-finance-grid strong{font-size:19px;color:#fff}.tour-expense-list{margin-top:12px;max-height:230px;overflow:auto}.tour-expense-list>div{display:grid;grid-template-columns:1fr auto 95px;gap:8px;align-items:center;border:1px solid #204d60;background:#092b3d;border-radius:12px;margin-bottom:5px;padding:10px 12px}.tour-expense-list small{color:#eaca68;text-align:left}.tour-extra{border-top:1px solid #2e6378;margin-top:20px}.tour-extra>.tour-primary{margin-top:15px}.tour-confirm{width:min(570px,calc(100vw - 24px));padding:30px}.tour-confirm p{text-align:center;font-size:18px;line-height:2;margin-top:20px}.tour-toast{position:fixed;z-index:200;bottom:20px;left:50%;transform:translate(-50%,50px);background:#0f745c;border:1px solid #60ecc2;color:#fff;border-radius:15px;padding:13px 22px;box-shadow:0 10px 40px #0009;opacity:0;pointer-events:none;transition:.2s;max-width:min(550px,90vw);text-align:center}.tour-toast.visible{transform:translate(-50%,0);opacity:1}.tour-toast.is-error{background:#87324a;border-color:#ff91a3}
@media(max-width:1000px){.tour-unit-picker,.tour-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tour-grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.tour-top{height:67px;padding-inline:12px;gap:4px}.tour-top img{max-width:90px;max-height:48px}.tour-return{font-size:12px;padding:10px}.tour-shell{padding:13px 11px 48px}.tour-section{padding:15px 12px;border-radius:19px}.tour-title{align-items:flex-start;gap:9px;flex-wrap:wrap}.tour-grid3{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tour-leader-form>.tour-primary{grid-column:1/-1}.tour-section input,.tour-section select{font-size:14px;min-height:45px}.tour-unit-picker,.tour-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.tour-section label.tour-pick{padding:10px 8px;min-height:71px}.tour-pick b,.tour-room-top b{font-size:16px}.tour-pick small{font-size:10px}.tour-group{padding:12px}.tour-group-head{flex-wrap:wrap}.tour-group-head h3{font-size:21px}.tour-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-stats strong{font-size:16px}.tour-room-card{min-height:132px;padding:10px;gap:12px}.tour-room-bottom{flex-wrap:wrap}.tour-room-bottom strong{font-size:14px}.tour-dialog{max-height:calc(100dvh - 24px);padding:20px 11px}.tour-dialog h2{font-size:21px}.tour-guest-row{grid-template-columns:1fr 1fr 38px;gap:6px}.tour-guest-index{grid-column:1/-1}.tour-guest-row input[name=full_name]{grid-column:1/3}.tour-guest-row button{grid-column:3;grid-row:2}.tour-guest-row input[name=mobile],.tour-guest-row input[name=national_id]{grid-row:3}.tour-finance-grid strong{font-size:15px}.tour-expense-list>div{grid-template-columns:1fr auto;gap:5px}.tour-expense-list small{grid-column:1/-1}.tour-extra .tour-grid3{grid-template-columns:1fr 1fr}}


/* ===== Tour leader dashboard and reusable booking Jalali picker – v16.5.162 ===== */
.tour-header-actions{justify-self:end;display:flex;align-items:center;gap:9px}
.tour-theme-toggle{border:1px solid #43758b;border-radius:14px;background:#103850;color:#f5d56b;min-height:43px;min-width:48px;font-size:23px}
.tour-body .tour-leader-hero{margin:15px 0 15px;padding:26px 22px;text-align:center;border:1px solid #377b98;border-radius:25px;background:linear-gradient(120deg,rgba(7,45,66,.93),rgba(13,52,75,.9));box-shadow:0 15px 32px rgba(0,0,0,.21)}
.tour-leader-hero span{color:#efd17c;font-size:13px}.tour-leader-hero h1{font-size:clamp(24px,2.7vw,36px);margin:7px 0}.tour-leader-hero p{color:#a8d2e0;margin:0;font-size:14px}
.tour-leader-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px;margin-bottom:17px;border:1px solid #285d73;border-radius:26px;background:rgba(6,27,43,.91)}
.tour-leader-menu button{min-height:96px;padding:10px 15px;border:1px solid #307da1;border-radius:18px;background:linear-gradient(125deg,#0a3950,#08293d);color:#eefdff;display:flex;align-items:center;gap:16px;font-size:19px;transition:transform .19s,border-color .19s,box-shadow .19s}
.tour-leader-menu button:hover,.tour-leader-menu button.is-selected{border-color:#76e7e3;transform:translateY(-3px);box-shadow:0 8px 27px #159fad27}
.tour-leader-menu button span{font-size:29px;display:grid;place-items:center;width:56px;height:56px;border:1px solid #3b849a;border-radius:14px;color:#7ae2de;background:#0b4a65}
.tour-leader-promo{border:1px solid #b29a46;border-radius:22px;min-height:154px;padding:22px 27px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(100deg,#071d2dec,#07263ba0),url('/static/images/customer-restaurant-banner.webp') center/cover}
.tour-leader-promo small{color:#f2cc66}.tour-leader-promo h2{color:#ffe38c;margin:5px 0;font-size:clamp(22px,2.2vw,31px)}.tour-leader-promo p{color:#c8e1e9;margin:0}
.tour-leader-promo a{background:#f4d36c;color:#172b39;padding:12px 20px;border-radius:14px;white-space:nowrap;font-weight:900}
.tour-leader-info{margin:18px 0;padding:20px;background:#0d3951;border-radius:20px;border:1px solid #47869b}.tour-leader-info[hidden],.tour-intro[hidden]{display:none!important}
.tour-leader-info button{border:1px solid #5dbacd;border-radius:12px;color:#e8faff;background:#194960;padding:11px 16px;margin:6px}.tour-leader-info button.is-selected{border-color:#f5cc66;color:#fbe4a0}
.tour-body .tour-jalali-button{height:48px;min-height:48px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 13px;border-radius:13px;background:#082b3e;border:1px solid #4389a6;color:#fff;text-align:center;font-size:18px;font-weight:900}.tour-body .tour-jalali-button b{flex:1}.tour-body .tour-jalali-button i{color:#f9d45e;font-style:normal}
.tour-body .jalali-date-dialog{z-index:999;max-width:min(465px,calc(100vw - 20px));color:#f7f9fa}
.tour-body[data-portal-theme="light"]{--tour-bg:#80cfd3;--tour-panel:#96cfd7;--tour-line:#6686b4;--tour-text:#16345a;--tour-gold:#775a19;--tour-teal:#095f75;background:linear-gradient(125deg,rgba(106,208,213,.9),rgba(167,156,217,.84)),url('/static/images/gallery/seasons/spring.webp') center/cover fixed;color:#183858}
.tour-body[data-portal-theme="light"] :is(.tour-leader-hero,.tour-leader-menu,.tour-section,.tour-leader-info){background:linear-gradient(120deg,#91d8d9,#aba8df);border-color:#6588b2;color:#143e62}
.tour-body[data-portal-theme="light"] .tour-leader-menu button{background:linear-gradient(120deg,#a2dce9,#b7aee4);color:#183c68;border-color:#689cba}
.tour-body[data-portal-theme="light"] .tour-leader-menu button span{background:#80cbd9;color:#163f65}
.tour-body[data-portal-theme="light"] .tour-leader-hero p,.tour-body[data-portal-theme="light"] .tour-section label{color:#24546e}
.tour-body[data-portal-theme="light"] .tour-top{background:linear-gradient(110deg,#7cd2d8,#aaabe4)}
.tour-body[data-portal-theme="light"] .tour-jalali-button{background:#8bd2db;color:#183d66;border-color:#4d88a4}
.tour-body[data-portal-theme="light"] .tour-leader-info button{background:#84d2de;color:#244878}
@media(max-width:750px){.tour-leader-menu{gap:9px;padding:12px}.tour-leader-menu button{min-height:95px;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:5px;font-size:13px;padding:8px 5px}.tour-leader-menu button span{width:43px;height:43px;font-size:23px}.tour-leader-promo{min-height:150px;padding:15px;flex-wrap:wrap}.tour-leader-promo p{font-size:13px}.tour-header-actions{gap:5px}.tour-theme-toggle{min-width:40px;min-height:39px}}
@media(max-width:440px){.tour-leader-menu button{min-height:92px;font-size:12px}.tour-leader-hero{padding:16px!important}.tour-header-actions .tour-home{padding:8px}.tour-jalali-button{font-size:15px!important}}

/* === Tours v16.5.163 — leader identity, full selection, variable room rates === */
.tour-top .tour-back{grid-column:3;grid-row:1;justify-self:start;border:1px solid #933449;background:linear-gradient(135deg,#8e233c,#c43350);color:#fff;min-width:102px;text-align:center}
.tour-top .tour-back:hover{background:linear-gradient(135deg,#d83b59,#f4546d);box-shadow:0 0 18px #f14b6988;border-color:#fb7990}
.tour-top>img{grid-column:2;grid-row:1;justify-self:center}
.tour-top .tour-header-actions{grid-column:1;grid-row:1;justify-self:end}
.tour-top .tour-home{background:linear-gradient(135deg,#10495b,#0c354b)}
.tour-header-actions [hidden]{display:none!important}
.tour-grid3.tour-leader-form{grid-template-columns:repeat(3,minmax(0,1fr))}
.tour-leader-form>.tour-primary{grid-column:1/-1;justify-self:center;min-width:min(360px,100%)}
.tour-check-box{min-width:0}
.tour-unit-picker{grid-template-columns:repeat(4,minmax(0,1fr))}
.tour-unit-picker .tour-pick{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;border:1px solid #39879b;border-radius:17px;background:linear-gradient(140deg,#093a46,#06283a)}
.tour-unit-picker .tour-pick:has(input[name=unit_id]:checked){background:linear-gradient(140deg,#0c4d46,#0a3949);border-color:#42dabe}
.tour-pick-top{display:flex;align-items:center;gap:10px;cursor:pointer}
.tour-pick-top input{width:22px!important;height:22px!important;flex:0 0 22px;accent-color:#3bdab9}
.tour-pick-top span{min-width:0}.tour-pick-top b{display:block;font-size:18px}.tour-pick-top small{display:block;font-size:11px;color:#a8d9e3}
.tour-unit-picker .tour-pick-rate{display:grid;grid-template-columns:82px minmax(0,1fr);gap:7px}
.tour-unit-picker .tour-pick-rate label{min-width:0;display:block;font-size:11px;color:#a9d8e8}
.tour-unit-picker .tour-pick-rate input{display:block;margin-top:4px;width:100%;min-width:0;height:38px;min-height:38px;border-radius:9px;border:1px solid #497e9a;background:#092e43;color:#d5fbf5;text-align:center;font:800 14px/1.4 inherit}
.tour-unit-picker .tour-pick.is-locked{opacity:.5;filter:grayscale(.4);border-color:#985569}
.tour-form-actions{display:flex;justify-content:center;margin-top:28px}
.tour-form-actions>.tour-primary{min-width:min(440px,100%);min-height:52px}
.tour-body .jalali-date-dialog{width:min(580px,calc(100vw - 16px));max-width:min(580px,calc(100vw - 16px))}
.tour-content-dialog{width:min(1160px,calc(100vw - 22px));max-width:none;max-height:calc(100dvh - 25px);padding-top:42px}
.tour-content-dialog #tourContentBody .tour-section{margin:0;border:0;box-shadow:none;padding:8px 0}
.tour-content-dialog .tour-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tour-leader-menu{background:rgba(5,28,44,.89) url('/static/images/gallery/seasons/summer.webp') center/cover;background-blend-mode:multiply}
.tour-leader-menu button{justify-content:center;text-align:center;flex-direction:column;min-height:105px;gap:6px}
.tour-leader-menu button span{border:none;background:transparent;width:auto;height:auto;font-size:35px}
.tour-leader-menu button.is-selected{border-color:#ebc357;box-shadow:0 0 0 1px #ebc35788,inset 0 0 30px #d7ad342b}
.tour-body[data-portal-theme="light"] .tour-leader-menu{background:linear-gradient(125deg,#7ed3db,#ae9bdb);background-blend-mode:normal}
.tour-body[data-portal-theme="light"] .tour-unit-picker .tour-pick{background:linear-gradient(140deg,#91d9d8,#afa9e0);color:#153553}
.tour-body[data-portal-theme="light"] .tour-unit-picker .tour-pick-rate input{background:#83cdd5;color:#173550}
.tour-body[data-portal-theme="light"] .tour-unit-picker .tour-pick-top small{color:#275a71}
@media(max-width:950px){.tour-unit-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-content-dialog .tour-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.tour-top{grid-template-columns:1fr auto 1fr;gap:5px;padding:5px 8px}.tour-top .tour-back{min-width:0;padding:9px 10px}.tour-top .tour-home{font-size:11px;padding:8px}.tour-grid3.tour-leader-form{grid-template-columns:repeat(2,minmax(0,1fr))}.tour-unit-picker{grid-template-columns:1fr}.tour-unit-picker .tour-pick-rate{grid-template-columns:30% 1fr}.tour-content-dialog .tour-room-grid{grid-template-columns:1fr}.tour-body .jalali-date-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px)}.tour-leader-menu button span{font-size:26px}.tour-content-dialog{padding:38px 10px 10px}.tour-header-actions{gap:3px}}

.tour-body .tour-section[hidden],.tour-leader-info[hidden]{display:none!important}

.tour-content-dialog .tour-external-frame{display:block;width:100%;height:min(72dvh,830px);border:1px solid #327e9b;border-radius:15px;background:#062b42}
@media(max-width:630px){.tour-content-dialog .tour-external-frame{height:calc(100dvh - 148px);border-radius:12px}}


/* v16.5.165: one leader workspace, direct chat, inline menu icons, responsive native requests. */
body.tour-body{font-family:Vazirmatn,BYekan,Tahoma,Arial,sans-serif;font-size:15px}
body.tour-body button,body.tour-body input,body.tour-body select,body.tour-body textarea{font-family:inherit}
.tour-top{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);width:100%;direction:rtl}
.tour-top .tour-back{grid-column:3;grid-row:1;justify-self:end;margin:0}
.tour-top>img{grid-column:2;grid-row:1;justify-self:center;margin:auto;max-height:55px}
.tour-top .tour-header-actions{grid-column:1;grid-row:1;justify-self:start;display:flex;gap:10px;align-items:center}
.tour-body .tour-leader-menu button{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;align-items:center;justify-content:stretch;min-height:91px;flex-direction:row;text-align:center;padding:12px 15px}
.tour-body .tour-leader-menu button span{grid-column:1;grid-row:1;width:40px;height:42px;display:grid;place-items:center;font-size:27px;border:0;background:transparent;padding:0;color:#6febdf}
.tour-body .tour-leader-menu button strong{grid-column:2;grid-row:1;text-align:center;font-size:clamp(14px,1.25vw,21px);line-height:1.7;font-weight:800}
.tour-body .tour-leader-menu button.is-selected{border-color:#e1be5c}
.tour-leader-native{padding:10px 0 4px}.tour-native-heading{text-align:center;margin:0 0 18px}.tour-native-heading h3{font-size:22px;margin:0 0 7px}.tour-native-heading p{font-size:14px;margin:0;color:#b5d2df}
.tour-sub-tabs{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:20px;padding:5px;border:1px solid #2a6c83;border-radius:16px;background:#07263a}
.tour-sub-tabs button{border:1px solid transparent;border-radius:12px;background:transparent;color:#abd4df;min-height:45px;font-size:16px;font-weight:800}.tour-sub-tabs button.is-active{background:#14607d;color:#fff;border-color:#34aacc}
.tour-request-form{display:grid;gap:16px}.tour-request-form label{display:grid;gap:8px;font-size:16px;font-weight:800;color:#c3e1eb}.tour-request-form input,.tour-request-form select,.tour-request-form textarea{width:100%;background:#06283c;color:#fff;border:1px solid #4186a0;border-radius:13px;padding:12px;font-size:16px;min-width:0;outline:none}
.tour-request-form textarea{min-height:120px;resize:vertical;line-height:1.9}.tour-request-form input:focus,.tour-request-form select:focus,.tour-request-form textarea:focus{border-color:#52e5de;box-shadow:0 0 0 3px #55dfda26}
.tour-request-form [hidden],.tour-ticket-list[hidden],.tour-leader-native[hidden]{display:none!important}
.tour-ticket-list{display:grid;gap:11px}.tour-ticket{padding:17px;border-radius:16px;border:1px solid #34758f;background:#092d42}
.tour-ticket>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}.tour-ticket b{font-size:19px}.tour-ticket small{color:#9bd1df;display:block;margin:8px 0}.tour-ticket p{font-size:16px;line-height:1.9;white-space:pre-wrap;margin:4px 0;color:#e5f7fd}
.tour-ticket-status{border:1px solid #efbf59;background:#453b23;border-radius:40px;padding:6px 12px;color:#ffdb7b;white-space:nowrap}.tour-ticket-answer{margin-top:12px;padding:11px;border-radius:12px;background:#104c48;border:1px solid #328b7b}
.tour-finance-card{border:1px solid #286c86;background:#092c40;border-radius:18px;padding:14px;margin-bottom:13px}.tour-finance-card>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.tour-finance-card small{color:#eac96b}.tour-finance-card strong{font-size:18px;color:#50e5c3}.tour-finance-mini{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.tour-finance-mini button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border:1px solid #39748d;border-radius:13px;color:#fff;background:#0b3850;text-align:right}
.tour-finance-mini b{color:#61efcf}.tour-card-tour{color:#a9cdd9;line-height:1.7}.tour-profile-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tour-profile-fields>div{display:flex;flex-direction:column;gap:10px;padding:15px;border:1px solid #396e87;border-radius:14px;background:#0b354a}.tour-profile-fields b{font-size:20px}
.tour-content-dialog .tour-room-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.tour-content-dialog .tour-room-card{min-height:157px}
.tour-body .chat-fab{z-index:80}
.tour-body[data-portal-theme="light"] .tour-content-dialog{background:linear-gradient(140deg,#85cbd6,#a5a5d9);color:#163859}
.tour-body[data-portal-theme="light"] .tour-leader-native,.tour-body[data-portal-theme="light"] .tour-native-heading p{color:#224766}
.tour-body[data-portal-theme="light"] .tour-request-form label{color:#143b60}
.tour-body[data-portal-theme="light"] .tour-request-form :is(input,select,textarea){background:#74c7d1;color:#123b5e;border-color:#4586ab}
.tour-body[data-portal-theme="light"] .tour-ticket{background:#88ccd4;color:#16385a;border-color:#598fbe}.tour-body[data-portal-theme="light"] .tour-ticket p{color:#153b56}
.tour-body[data-portal-theme="light"] .tour-sub-tabs{background:#82bfcf}.tour-body[data-portal-theme="light"] .tour-sub-tabs button{color:#193b5d}.tour-body[data-portal-theme="light"] .tour-sub-tabs button.is-active{color:#fff}
.tour-body[data-portal-theme="light"] .tour-finance-card,.tour-body[data-portal-theme="light"] .tour-finance-mini button{background:#8acbd5;color:#12385b}
.tour-body[data-portal-theme="light"] .tour-leader-menu button span{color:#215d80}
@media(max-width:750px){.tour-body .tour-leader-menu button{grid-template-columns:30px minmax(0,1fr);min-height:89px;padding:9px 6px;gap:3px}.tour-body .tour-leader-menu button span{width:29px;height:37px;font-size:23px}.tour-body .tour-leader-menu button strong{font-size:clamp(12px,3vw,17px)}.tour-content-dialog .tour-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:630px){.tour-top .tour-back{padding:9px 13px}.tour-top .tour-header-actions{gap:4px}.tour-top>img{max-width:102px}.tour-leader-hero{margin-top:8px}.tour-content-dialog .tour-room-grid{grid-template-columns:1fr}.tour-profile-fields{grid-template-columns:1fr}.tour-finance-mini{grid-template-columns:1fr}.tour-ticket{padding:12px}.tour-body .chat-fab{inset-inline-end:16px}}

.ticket-admin-card .ticket-unit{color:#ffdc78;font-weight:700;font-size:15px;margin:7px 0;padding:8px 12px;border:1px solid #a58b4880;border-radius:11px;background:#dcb54c15}

/* v16.5.188: Keep tour header logo centered after making it a link */
.tour-top>.tour-refresh-brand{
  grid-column:2;grid-row:1;justify-self:center;align-self:center;
  margin:auto;padding:0;border:0;text-decoration:none;line-height:0;
}
.tour-top>.tour-refresh-brand img{display:block;max-height:55px;max-width:100%;object-fit:contain}
@media(max-width:630px){.tour-top>.tour-refresh-brand img{max-width:102px;max-height:48px}}
/* v16.5.217 — Tour leader drawer & avatar cropper; header logo matched to manager. */
.tour-top>.tour-refresh-brand{width:auto;max-width:min(290px,42vw);}
.tour-top>.tour-refresh-brand img{width:auto;height:55px;max-height:55px;max-width:100%;object-fit:contain;}
.tour-top .tour-menu-toggle{width:48px;height:48px;display:grid;align-content:center;justify-items:center;gap:5px;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:linear-gradient(145deg,#123951,#082333);box-shadow:0 5px 20px #0002;color:#edf8ff;}
.tour-menu-toggle span{width:22px;height:2px;border-radius:99px;background:currentColor;box-shadow:0 0 8px #8bdbe966}
.tour-menu-toggle:hover{border-color:#6ecbd9;box-shadow:0 0 18px #6ecbd92e}
.tour-body .tour-drawer-backdrop{position:fixed;inset:0;z-index:150;background:rgba(2,8,14,.66);backdrop-filter:blur(4px);opacity:0;transition:opacity .25s}
.tour-body .tour-drawer-backdrop[hidden]{display:none}
.tour-body.tour-drawer-open{overflow:hidden}
.tour-body.tour-drawer-open .tour-drawer-backdrop{opacity:1}
.tour-body .tour-drawer{position:fixed;inset:0 auto 0 0;right:0;left:auto;z-index:151;width:min(380px,94vw);height:100dvh;display:grid;grid-template-rows:minmax(0,1fr) auto;overflow:hidden;transform:translateX(105%);transition:transform .32s cubic-bezier(.2,.8,.2,1);background:linear-gradient(165deg,#0d2b40,#061b2c 72%,#031420);border-left:1px solid #5a8fa044;box-shadow:-24px 0 65px #0008;color:#f2fbff;font-family:Vazirmatn,Tahoma,sans-serif;}
.tour-body.tour-drawer-open .tour-drawer{transform:translateX(0)}
.tour-drawer-close{position:absolute;top:14px;left:14px;z-index:2;width:40px;height:40px;border:1px solid #ffffff30;border-radius:12px;background:#ffffff13;color:inherit;font-size:23px}
.tour-drawer-scroll{min-height:0;overflow:auto;overscroll-behavior:contain;padding:22px 18px 16px;scrollbar-width:thin;scrollbar-color:#547d8d transparent}
.tour-drawer-profile{display:grid;justify-items:center;text-align:center;gap:5px;padding:12px 0 18px;border-bottom:1px solid #ffffff20}
.tour-avatar-button{border:0;background:none;padding:6px;outline-offset:5px}
.tour-avatar-ring{position:relative;display:grid;place-items:center;width:111px;height:111px;padding:5px;border-radius:50%;background:conic-gradient(#d8af42,#4cc3dd,#9168d6,#edc65c,#d8af42);box-shadow:0 8px 30px #0004,0 0 20px #d2b65d30}
.tour-avatar-ring img,.tour-avatar-ring>b{position:relative;width:99px;height:99px;border-radius:50%;object-fit:cover;z-index:1}
.tour-avatar-ring>b{display:grid;place-items:center;background:radial-gradient(circle at 30% 20%,#215d76,#0a293c);font-weight:900;font-size:40px;color:#ffe08a}
.tour-avatar-ring img[hidden],.tour-avatar-ring b[hidden]{display:none}
.tour-avatar-ring i{position:absolute;bottom:3px;left:2px;z-index:3;display:grid;place-items:center;width:32px;height:32px;border:3px solid #091f30;border-radius:50%;background:#ebca6b;color:#082338;font-size:22px;font-style:normal;font-weight:900}
.tour-drawer-profile>strong{margin-top:6px;font-size:20px;font-weight:900}
.tour-drawer-profile>small{color:#a9c0cc;font-size:12px}
.tour-avatar-status{min-height:17px;color:#8fead1;font-size:11px}
.tour-drawer-nav{display:grid;gap:5px;padding:15px 0;border-bottom:1px solid #ffffff20}
.tour-drawer-nav :is(button,a){display:flex;align-items:center;gap:13px;min-height:42px;width:100%;border:1px solid transparent;border-radius:12px;background:transparent;color:#e6f6fb;padding:8px 12px;text-align:right;font-size:14px;font-weight:800;cursor:pointer}
.tour-drawer-nav :is(button,a):hover,.tour-drawer-nav :is(button,a):focus-visible{background:#2a7e9940;border-color:#3c9bb152}
.tour-drawer-nav :is(button,a)>span{font-size:24px;line-height:1;width:29px;color:#e6c36c;text-align:center}
.tour-drawer-clock{display:grid;gap:4px;justify-items:center;align-content:center;margin:16px 0;padding:16px 10px;border:1px solid #bd964d59;border-radius:16px;background:linear-gradient(145deg,#e1ad2714,#34a6c114);text-align:center}
.tour-drawer-clock>span{color:#b5d5e1;font-size:13px}
.tour-drawer-clock>strong{color:#fce3a5;font-size:18px}
.tour-drawer-clock>time{direction:ltr;color:#81e2f0;font-family:Vazirmatn,Tahoma,sans-serif;font-weight:900;font-size:26px;font-variant-numeric:tabular-nums}
.tour-drawer-brand{display:grid;justify-items:center;gap:4px;padding:0 0 12px}
.tour-drawer-brand img{display:block;width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 0 8px #ddbf6080)}
.tour-drawer-brand>strong{font-size:12px;color:#d0dce0}
.tour-drawer-footer{display:grid;gap:10px;padding:13px 18px max(18px,env(safe-area-inset-bottom));border-top:1px solid #ffffff1e;background:#041724e8;text-align:center}
.tour-drawer-footer>small{color:#a9bac7;font-size:12px}.tour-drawer-footer>small b{color:#eacc77}
.tour-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.tour-drawer-actions button{min-height:46px;border:1px solid #42758b;border-radius:12px;background:#154056;color:#eefaff;font-weight:900;font-size:16px}
.tour-drawer-actions .tour-logout{background:linear-gradient(125deg,#8f293f,#b23752);border-color:#f06c8c80;color:#fff}
.tour-drawer-actions button:hover{filter:brightness(1.13)}
.tour-avatar-dialog{position:fixed;z-index:210;width:min(410px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:18px;border:1px solid #498eab;border-radius:22px;background:linear-gradient(155deg,#0c3145,#051827);color:#f3fbff;box-shadow:0 22px 70px #000a;text-align:center;overflow:auto;direction:rtl}
.tour-avatar-dialog::backdrop{background:#010d16cf;backdrop-filter:blur(6px)}
.tour-avatar-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tour-avatar-dialog-head h2{margin:0;font-size:19px}
.tour-avatar-dialog-head button{width:36px;height:36px;border:1px solid #ffffff3c;border-radius:11px;background:#ffffff17;color:inherit;font-size:19px}
.tour-avatar-dialog>p{font-size:12px;color:#acd0dc;margin:10px 0 14px}
.tour-avatar-viewport{position:relative;width:min(320px,100%);aspect-ratio:1/1;margin:auto;overflow:hidden;border:3px solid #e3c16d;border-radius:50%;background:#122c3a;touch-action:none;user-select:none;cursor:grab;box-shadow:0 0 0 5px #ffffff10}
.tour-avatar-viewport:active{cursor:grabbing}
.tour-avatar-viewport img{position:absolute;top:50%;left:50%;max-width:none;max-height:none;transform-origin:center center;pointer-events:none;user-select:none;-webkit-user-drag:none}
.tour-avatar-zoom{display:flex;align-items:center;gap:10px;margin:16px auto;color:#f4da87;font-size:13px;font-weight:800}
.tour-avatar-zoom input{flex:1;width:100%;accent-color:#f3d074;touch-action:pan-x}
.tour-avatar-dialog-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:8px}
.tour-avatar-dialog-actions button{min-height:43px;padding:7px;border:1px solid #61879b;border-radius:12px;background:#143e53;color:#fff;font-size:13px;font-weight:900}
.tour-avatar-dialog-actions #tourAvatarSave{background:linear-gradient(110deg,#cfa64a,#f5d777);border-color:#fbe2a4;color:#0a2935}
.tour-body[data-portal-theme="light"] .tour-drawer{background:linear-gradient(145deg,#eaf8fb,#d7edf1);color:#183a53;border-left-color:#4b9fb455}
.tour-body[data-portal-theme="light"] .tour-drawer-close{color:#193d50;background:#fff;border-color:#9fbec9}
.tour-body[data-portal-theme="light"] .tour-drawer-profile{border-color:#4b9fb455}
.tour-body[data-portal-theme="light"] .tour-drawer-profile>small{color:#507187}
.tour-body[data-portal-theme="light"] .tour-drawer-nav{border-color:#4b9fb455}
.tour-body[data-portal-theme="light"] .tour-drawer-nav :is(button,a){color:#184058}
.tour-body[data-portal-theme="light"] .tour-drawer-clock{background:#afd9e9;color:#184058}
.tour-body[data-portal-theme="light"] .tour-drawer-clock>strong{color:#365180}
.tour-body[data-portal-theme="light"] .tour-drawer-clock>time{color:#124b6d}
.tour-body[data-portal-theme="light"] .tour-drawer-footer{background:#d5e8f0;border-color:#4b9fb455}
.tour-body[data-portal-theme="light"] .tour-drawer-brand>strong{color:#486b7b}
.tour-body[data-portal-theme="light"] .tour-drawer-actions button:not(.tour-logout){background:#fff;color:#17405b}
@media(max-width:760px){.tour-top>.tour-refresh-brand{max-width:32vw}.tour-top>.tour-refresh-brand img{height:47px;max-height:47px}.tour-top .tour-menu-toggle{width:40px;height:40px;border-radius:12px}}
@media(max-width:370px){.tour-top>.tour-refresh-brand img{height:40px;max-height:40px}.tour-drawer-nav :is(button,a){min-height:38px}.tour-drawer-brand img{width:75px;height:75px}}
@media(prefers-reduced-motion:reduce){.tour-body .tour-drawer{transition:none}.tour-body .tour-drawer-backdrop{transition:none}}

.tour-avatar-dialog .tour-avatar-dialog-error:not([hidden]){padding:7px 9px;background:#b4344e40;color:#ffd3d9;border:1px solid #dc506b;border-radius:10px;font-size:12px;margin:4px 0 10px}

.tour-drawer-mobile{font-size:12px;color:#a9cbd8;direction:ltr;unicode-bidi:isolate}

/* v16.5.219 — match doubled logo artwork throughout dashboard and tour header. */
.tour-top>.tour-refresh-brand img{transform:scale(2);transform-origin:center center}


/* v16.5.9 — tour pages adopt the fixed three-point dashboard header contract.
   The left icon, precise center brand and right hamburger never share a flow row. */
body.tour-body .tour-top{
  --tour-header-edge:clamp(14px,2vw,30px);
  position:sticky!important;top:0!important;left:0!important;right:0!important;
  height:76px!important;padding:0!important;display:block!important;
  isolation:isolate;z-index:120!important;
}
body.tour-body .tour-top>.tour-header-left{
  position:absolute!important;left:var(--tour-header-edge)!important;right:auto!important;
  top:12px!important;display:flex!important;flex-direction:row!important;direction:rtl!important;
  align-items:center!important;justify-content:flex-start!important;gap:9px!important;
  height:52px!important;margin:0!important;z-index:4!important;
}
body.tour-body .tour-top>.tour-refresh-brand{
  position:absolute!important;left:50%!important;right:auto!important;top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(280px,32vw)!important;max-width:32vw!important;
  height:58px!important;padding:0!important;margin:0!important;
  display:grid!important;place-items:center!important;z-index:2!important;
}
body.tour-body .tour-top>.tour-refresh-brand img{
  height:53px!important;max-height:53px!important;max-width:100%!important;
  width:auto!important;transform:scale(1.75)!important;object-fit:contain!important;
  animation:none!important;transition:none!important;
}
body.tour-body .tour-top>.tour-header-actions{
  position:absolute!important;right:var(--tour-header-edge)!important;left:auto!important;
  top:14px!important;width:48px!important;height:48px!important;
  z-index:4!important;display:grid!important;place-items:center!important;
  padding:0!important;margin:0!important;
}
body.tour-body .tour-top .tour-menu-toggle{
  width:48px!important;min-width:48px!important;height:48px!important;
  border-radius:16px!important;padding:0!important;
  display:grid!important;align-content:center!important;justify-items:center!important;
  gap:5px!important;
}
body.tour-body .tour-top .tour-header-icon{
  flex:0 0 52px!important;width:52px!important;height:52px!important;
  display:grid!important;place-items:center!important;overflow:visible!important;
  border-radius:14px!important;background:#0a2333!important;
  border:1px solid rgba(232,195,77,.16)!important;
  position:relative!important;text-decoration:none!important;
}
body.tour-body .tour-top .tour-header-icon img{
  width:43px!important;height:43px!important;max-width:43px!important;
  object-fit:contain!important;transform:scale(1.14)!important;
}
body.tour-body .tour-top .tour-header-icon::after{
  content:"";position:absolute;inset:-4px;border-radius:inherit;
  box-shadow:0 0 12px 2px var(--tour-connection-color,#e0b64b),0 0 24px 3px color-mix(in srgb,var(--tour-connection-color,#e0b64b) 32%,transparent);
  opacity:.7;pointer-events:none;
}
body.tour-body[data-tour-connection="online"] .tour-header-icon{--tour-connection-color:#2ee387}
body.tour-body[data-tour-connection="offline"] .tour-header-icon{--tour-connection-color:#ff516d}
body.tour-body .tour-top .tour-return{
  order:0!important;flex:none!important;width:96px!important;min-width:96px!important;
  height:42px!important;display:inline-flex!important;align-items:center!important;
  justify-content:center!important;padding:0 12px!important;
  border:1px solid rgba(208,75,102,.37)!important;background:linear-gradient(135deg,#542131,#3b1929)!important;
  box-shadow:none!important;color:#ffdfdf!important;font-size:12px!important;
}
body.tour-body .tour-top .tour-return:hover,
body.tour-body .tour-top .tour-return:focus-visible{
  background:linear-gradient(135deg,#b82944,#8a2337)!important;
  border-color:#ff6d87!important;color:white!important;
}
body.tour-body .tour-top .tour-manager-menu{
  position:absolute;top:calc(100% + 8px);right:var(--tour-header-edge);left:auto;
  z-index:100;min-width:215px;padding:9px;display:grid;gap:5px;
  background:#082337;border:1px solid #386b81;border-radius:15px;
  box-shadow:0 18px 55px #0009;
}
body.tour-body .tour-top .tour-manager-menu[hidden]{display:none!important}
body.tour-body .tour-top .tour-manager-menu :is(a,button){
  min-height:38px;padding:7px 10px;border:0;border-radius:10px;text-align:right;
  background:transparent;color:#fff;font:800 13px BYekan,Tahoma,sans-serif;
}
body.tour-body .tour-top .tour-manager-menu :is(a,button):hover{background:#225a73}
@media(max-width:820px){
  body.tour-body .tour-top{--tour-header-edge:12px;height:66px!important}
  body.tour-body .tour-top>.tour-header-left{top:12px!important;height:42px!important;gap:6px!important}
  body.tour-body .tour-top .tour-header-icon{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:12px!important}
  body.tour-body .tour-top .tour-header-icon img{width:35px!important;height:35px!important;max-width:35px!important;transform:scale(1.13)!important}
  body.tour-body .tour-top .tour-return{width:64px!important;min-width:64px!important;height:37px!important;padding:0 3px!important;font-size:11px!important}
  body.tour-body .tour-top>.tour-refresh-brand{width:40vw!important;max-width:40vw!important;height:50px!important}
  body.tour-body .tour-top>.tour-refresh-brand img{height:43px!important;max-height:43px!important;transform:scale(1.5)!important}
  body.tour-body .tour-top>.tour-header-actions{top:12px!important;width:42px!important;height:42px!important}
  body.tour-body .tour-top .tour-menu-toggle{width:42px!important;min-width:42px!important;height:42px!important;border-radius:12px!important}
}

/* v16.5.229 — refined hall POS: compact fields, branded categories, editable pending requests */
.hall-body{--h-bg:#061827;--h-panel:#0a2b3e;--h-card:#0e3447;--h-border:#2d6375;--h-text:#f5fcff;--h-muted:#9abbc9;background:var(--h-bg);color:var(--h-text);font-family:BYekan,Tahoma,sans-serif;min-height:100dvh}
.hall-body[data-hall-theme="light"],.hall-body.is-light{--h-bg:#eff7fb;--h-panel:#fff;--h-card:#edf7fb;--h-border:#9dc7d8;--h-text:#0d3243;--h-muted:#5f7e90}
.hall-body *{box-sizing:border-box}
.hall-body button,.hall-body input,.hall-body select{font-family:BYekan,Tahoma,sans-serif}
.hall-body button{cursor:pointer;touch-action:manipulation}
.hall-body .dashboard-drawer-scroll{display:flex;flex-direction:column}
.hall-body .dashboard-clock-card{margin-top:auto}

.hall-home{max-width:960px;padding:18px 15px 110px;margin:0 auto}
.hall-new{width:100%;border-radius:22px;border:1px solid #59eab8;background:linear-gradient(115deg,#07a36e,#1dcf92);color:#fff;box-shadow:0 16px 35px rgba(9,183,124,.18)}
.hall-new--hero{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:12px;min-height:78px;padding:14px 18px;text-align:right}
.hall-new--hero img{width:64px;height:52px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}
.hall-new--hero span{font-size:34px;line-height:1}
.hall-new--hero b{font-size:clamp(24px,4vw,36px);font-weight:900}
.hall-history{margin-top:18px}
.hall-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.hall-section-title h2{font-size:22px;margin:0}.hall-section-title button{background:var(--h-card);border:1px solid var(--h-border);color:var(--h-text);border-radius:12px;padding:9px 14px}
.hall-request-list{display:grid;gap:10px}
.hall-request{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;background:var(--h-panel);border:1px solid var(--h-border)}
.hall-request.is-editable{cursor:pointer;box-shadow:0 0 0 1px rgba(241,203,92,.08)}
.hall-request.is-editable:hover{transform:translateY(-1px);border-color:#edca6b}
.hall-request>div{display:grid;gap:7px;min-width:0}.hall-request strong{font-size:15px}.hall-request small{color:var(--h-muted);font-size:12px;line-height:1.8}.hall-request-meta{justify-items:end;text-align:left;flex:none}.hall-request-meta b{color:#f4d27a;font-size:12px}.hall-request-meta span{font-size:12px}.hall-request-meta u{font-size:11px;text-decoration:none;color:#75e7c8}.hall-request.approved .hall-request-meta span{color:#55dfb2}.hall-request.rejected .hall-request-meta span{color:#ff769a}

.hall-composer{position:fixed;inset:0;z-index:250;overflow:hidden;background:var(--h-bg);color:var(--h-text);display:flex;flex-direction:column;max-height:100dvh}
.hall-composer[hidden]{display:none!important}.hall-composing{overflow:hidden}
.hall-composer-head{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:12px 15px;background:var(--h-panel);border-bottom:1px solid var(--h-border);flex:none;min-height:62px}.hall-composer-head h2{margin:0;font-size:20px}.hall-composer-head button{border:0;background:#b53363;color:#fff;border-radius:12px;min-width:42px;min-height:42px;font-size:21px}.hall-composer-head span{color:#f4d07b;font-size:13px}

.hall-fields{flex:none;padding:10px 12px 8px;background:var(--h-panel);border-bottom:1px solid var(--h-border);display:grid;gap:10px}
.hall-modes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.hall-modes button{min-height:42px;padding:8px 4px;border:1px solid var(--h-border);background:var(--h-card);color:var(--h-text);border-radius:12px;font-size:13px;font-weight:800}.hall-modes button.is-active{background:linear-gradient(145deg,#0c726e,#11b196);border-color:#61f0cb;color:#fff}
.hall-primary-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px}.hall-primary-row label,.hall-meta-grid label,.hall-compact-stack{display:grid;gap:4px;font-size:11px;color:var(--h-muted);min-width:0}
.hall-primary-row :is(input,select),.hall-meta-grid :is(input,select){width:100%;min-width:0;height:42px;border:1px solid var(--h-border);border-radius:12px;background:var(--h-card);color:var(--h-text);padding:4px 10px;outline:none;font-size:14px}
.hall-primary-row :is(input,select):focus,.hall-meta-grid :is(input,select):focus,.hall-search input:focus,.hall-note input:focus{border-color:#67efd0;box-shadow:0 0 0 2px rgba(103,239,208,.09)}
.hall-meta-grid{display:grid;grid-template-columns:1fr 1.6fr 1fr 1.4fr;gap:8px;align-items:end}
.hall-compact-stack>span{display:block}
.hall-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.hall-choice-group button{height:42px;border:1px solid var(--h-border);border-radius:12px;background:var(--h-card);color:var(--h-text);font-size:13px;font-weight:800;padding:0 6px}
.hall-choice-group button.is-active{background:linear-gradient(135deg,#74c8d9,#7e7ad8);border-color:#bbd9ff;color:#05111a}
.hall-choice-group--meal button.is-active{background:linear-gradient(135deg,#efcb5d,#cb88ff);color:#07202f}

.hall-categories{display:grid;grid-template-columns:100px minmax(220px,1fr) repeat(6,minmax(0,1fr));gap:10px;flex:none;padding:12px;background:var(--h-bg);border-bottom:1px solid var(--h-border);align-items:stretch}
.hall-category-brand{display:grid;place-content:center;text-align:center;border-radius:20px;border:1px solid rgba(101,210,230,.16);background:linear-gradient(145deg,rgba(4,40,58,.94),rgba(6,32,47,.94));padding:10px 14px}
.hall-category-brand small{color:#63dbe8;font-size:13px}.hall-category-brand strong{font-size:clamp(28px,3vw,44px);line-height:1.25;color:#fff;text-shadow:0 6px 20px rgba(0,0,0,.25)}
.hall-category-card{min-width:0;min-height:74px;padding:10px 12px;border-radius:18px;border:1px solid rgba(120,220,255,.18);background:rgba(10,42,61,.92);color:#fff;font:inherit;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;text-align:right}
.hall-category-card span{font-size:18px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hall-category-card small{font-size:22px;font-weight:900;line-height:1;color:#ffeaa7;min-width:22px;text-align:center}
.hall-category-card:hover,.hall-category-card.is-active{transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.hall-category-card.is-active{outline:2px solid rgba(255,255,255,.16)}
.hall-category-card--all{background:linear-gradient(135deg,rgba(154,111,8,.92),rgba(100,69,10,.9));border-color:rgba(255,223,94,.35)}
.hall-category-card.tone-gold{background:linear-gradient(135deg,rgba(113,90,11,.92),rgba(51,39,6,.9));border-color:rgba(255,223,94,.35)}
.hall-category-card.tone-violet{background:linear-gradient(135deg,rgba(74,26,120,.92),rgba(39,14,69,.9));border-color:rgba(205,120,255,.35)}
.hall-category-card.tone-pink{background:linear-gradient(135deg,rgba(134,22,98,.92),rgba(68,11,50,.9));border-color:rgba(255,117,214,.35)}
.hall-category-card.tone-blue{background:linear-gradient(135deg,rgba(21,72,126,.92),rgba(7,34,67,.9));border-color:rgba(105,186,255,.35)}
.hall-category-card.tone-orange{background:linear-gradient(135deg,rgba(142,82,13,.92),rgba(74,39,8,.9));border-color:rgba(255,182,77,.35)}
.hall-category-card.tone-yellow{background:linear-gradient(135deg,rgba(116,101,10,.92),rgba(68,55,7,.9));border-color:rgba(255,234,107,.35)}
.hall-category-card.tone-cyan{background:linear-gradient(135deg,rgba(8,100,107,.92),rgba(5,49,54,.9));border-color:rgba(105,243,255,.35)}
.hall-category-card.tone-green{background:linear-gradient(135deg,rgba(9,99,59,.92),rgba(4,51,31,.9));border-color:rgba(104,235,164,.35)}

.hall-search{position:relative;padding:8px 12px 4px;flex:none}.hall-search input{width:100%;min-height:42px;border:1px solid var(--h-border);background:var(--h-card);border-radius:14px;color:var(--h-text);padding:8px 40px 8px 13px}.hall-search span{position:absolute;right:24px;top:17px;color:#65dcca;font-size:18px}

.hall-content{flex:1;min-height:0;display:grid;grid-template-columns:1.15fr .9fr;gap:10px;padding:8px 12px;overflow:hidden}
.hall-food-panel,.hall-cart-panel{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin}.hall-cart-panel{border-radius:18px;border:1px solid var(--h-border);background:var(--h-panel)}
.hall-cart-toggle{width:100%;border:0;background:transparent;color:inherit;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid rgba(255,255,255,.06)}.hall-cart-toggle h3{font-size:16px;margin:0}.hall-cart-toggle small{color:var(--h-muted);font-size:11px}
.hall-cart{display:grid;gap:7px;padding:8px}
.hall-food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hall-food-card{min-height:96px;padding:16px 12px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:16px;text-align:center;background:linear-gradient(145deg,var(--h-card),var(--h-panel));color:var(--h-text);border:1px solid #ad8b28}
.hall-food-card strong{font-size:20px;line-height:1.65;font-weight:900;color:#fff}.hall-food-card.is-picked{border-color:#6aedc6;box-shadow:inset 0 0 0 999px rgba(27,149,123,.12)}.hall-food-count{position:absolute;right:7px;top:7px;background:#f3d472;color:#4a3218;padding:4px 8px;border-radius:10px;font-size:12px}
.hall-food-card.tone-gold{border-color:rgba(241,201,75,.55);background:linear-gradient(145deg,rgba(103,82,11,.33),rgba(4,36,54,.95))}
.hall-food-card.tone-green{border-color:rgba(63,235,160,.46);background:linear-gradient(145deg,rgba(10,84,52,.28),rgba(4,36,54,.95))}
.hall-food-card.tone-pink{border-color:rgba(247,85,201,.46);background:linear-gradient(145deg,rgba(110,14,78,.29),rgba(4,36,54,.95))}
.hall-food-card.tone-violet{border-color:rgba(164,108,255,.48);background:linear-gradient(145deg,rgba(66,20,118,.28),rgba(4,36,54,.95))}
.hall-food-card.tone-orange{border-color:rgba(255,172,83,.52);background:linear-gradient(145deg,rgba(111,62,11,.28),rgba(4,36,54,.95))}
.hall-food-card.tone-yellow{border-color:rgba(244,221,86,.52);background:linear-gradient(145deg,rgba(92,82,10,.28),rgba(4,36,54,.95))}
.hall-food-card.tone-blue,.hall-food-card.tone-cyan{border-color:rgba(97,179,255,.5);background:linear-gradient(145deg,rgba(18,71,119,.28),rgba(4,36,54,.95))}

.hall-cart-line{padding:10px 10px;border-radius:14px;border:1px solid var(--h-border);background:var(--h-card);display:flex;align-items:center;justify-content:space-between;gap:10px}.hall-cart-line__main{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.hall-cart-line strong{font-size:16px}.hall-cart-line span{font-size:13px;color:#f0cc7d;font-weight:800}
.hall-counter{display:flex;align-items:center;gap:7px;flex-direction:row-reverse}.hall-counter button{width:34px;height:36px;border-radius:10px;border:1px solid #36bb9b;background:#11644c;color:#fff;font-size:19px}.hall-counter button[data-hall-remove]{background:#96405c;border-color:#ef7392;font-size:15px}.hall-counter button[data-hall-minus]{background:#b24f63;border-color:#e68ca2}.hall-counter b{min-width:24px;text-align:center}
.hall-empty{color:var(--h-muted);font-size:12px;text-align:center;padding:20px 5px}

.hall-note{padding:5px 12px 7px;display:grid;gap:3px;flex:none;font-size:11px;color:var(--h-muted)}.hall-note input{height:38px;border-radius:12px;background:var(--h-card);border:1px solid var(--h-border);color:var(--h-text);padding:5px 12px}
.hall-composer-footer{flex:none;border-top:1px solid var(--h-border);background:var(--h-panel);display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}.hall-total{display:grid;gap:3px}.hall-total span{font-size:10px;color:var(--h-muted)}.hall-total b{font-size:24px;color:#4ef2bd}.hall-composer-footer button{background:linear-gradient(120deg,#d2a53e,#f4d879);border:0;border-radius:15px;color:#103043;min-height:52px;padding:8px 16px;font-size:14px;font-weight:900}.hall-composer-footer button:disabled{opacity:.5}
.hall-toast{position:fixed;z-index:600;bottom:90px;left:15px;right:15px;width:max-content;max-width:calc(100% - 30px);margin:auto;border:1px solid #5be5b9;background:#074632;color:#fff;padding:13px 18px;text-align:center;border-radius:14px;font-size:13px;box-shadow:0 8px 30px #0006}.hall-toast.is-error{background:#782c43;border-color:#f27690}.hall-toast[hidden]{display:none}

.hall-body.is-light .hall-food-card strong,.hall-body.is-light .hall-category-card span,.hall-body.is-light .hall-category-brand strong{color:#103447;text-shadow:none}
.hall-body.is-light .hall-food-card{background:linear-gradient(145deg,#fafdff,#e7f6fb)}
.hall-body.is-light .hall-category-brand{background:linear-gradient(145deg,#ffffff,#e8f6fa)}
.hall-body.is-light .hall-cart-line,.hall-body.is-light .hall-request,.hall-body.is-light .hall-cart-panel,.hall-body.is-light .hall-fields,.hall-body.is-light .hall-composer-head,.hall-body.is-light .hall-composer-footer{box-shadow:0 10px 24px rgba(21,63,81,.06)}

.hall-composer.is-cart-collapsed .hall-cart{display:none}

@media(max-width:1180px){.hall-categories{grid-template-columns:100px minmax(190px,1fr) repeat(4,minmax(0,1fr))}.hall-food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .hall-home{padding:10px 10px 96px}
  .hall-new--hero{grid-template-columns:auto auto 1fr;min-height:72px;padding:12px 14px}.hall-new--hero img{width:54px;height:44px}.hall-new--hero b{font-size:20px}
  .hall-section-title h2{font-size:18px}
  .hall-composer-head{min-height:58px;padding:8px 12px}
  .hall-fields{padding:8px 10px;gap:8px}
  .hall-primary-row{grid-template-columns:1fr;gap:8px}
  .hall-meta-grid{grid-template-columns:1fr 1fr;gap:8px}
  .hall-meta-grid #hallSeatingLabelWrap{grid-column:1/-1}
  .hall-choice-group button,.hall-primary-row :is(input,select),.hall-meta-grid :is(input,select){height:40px;font-size:13px}
  .hall-categories{display:flex;overflow-x:auto;gap:8px;padding:10px;scrollbar-width:none}.hall-categories::-webkit-scrollbar{display:none}
  .hall-category-brand{flex:0 0 170px;min-height:72px}.hall-category-card{flex:0 0 128px;min-height:72px}.hall-category-card span{font-size:16px}.hall-category-card small{font-size:19px}
  .hall-search{padding:6px 10px 3px}
  .hall-content{display:block;overflow-y:auto;padding:6px 10px}.hall-food-panel{overflow:visible}.hall-cart-panel{overflow:visible;margin-top:10px}.hall-food-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .hall-food-card{min-height:86px;padding:14px 10px}.hall-food-card strong{font-size:16px}
  .hall-cart-line{padding:9px 8px;align-items:flex-start}.hall-cart-line__main{display:grid;gap:4px}.hall-cart-line strong{font-size:15px}.hall-cart-line span{font-size:12px}
  .hall-composer-footer{grid-template-columns:1fr auto}.hall-composer-footer button{font-size:13px;min-height:48px}
}
@media(max-width:420px){
  .hall-modes{gap:6px}.hall-modes button{font-size:12px;min-height:38px}
  .hall-choice-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.hall-choice-group button{font-size:11px;padding:0 4px}
  .hall-meta-grid{grid-template-columns:1fr}
  .hall-food-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hall-food-card strong{font-size:15px;line-height:1.55}
  .hall-composer-footer{gap:8px}.hall-composer-footer button{padding:6px 12px}
}
@media(min-width:761px){.hall-composer{inset:2.5vh 3vw;border:1px solid var(--h-border);border-radius:24px;max-height:95dvh;box-shadow:0 18px 80px #0009}}

/* v16.5.231 — same fixed-height category rail geometry as restaurant Modern 2 */
@media(min-width:761px){
 .hall-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(160px,1.3fr) repeat(4,minmax(0,1fr));
   align-items:stretch;gap:8px;flex-wrap:nowrap;padding:9px 10px;}
 .hall-category-card{min-height:64px;max-height:70px;min-width:0;padding:7px 8px;}
 .hall-category-card span{font-size:clamp(11px,1.05vw,16px);}
 .hall-category-card small{font-size:clamp(12px,1.1vw,18px);}
 .hall-category-brand{min-height:64px;max-height:70px;min-width:0;padding:5px;}
 .hall-category-brand strong{font-size:clamp(18px,1.65vw,28px);white-space:nowrap;}
 .hall-category-brand small{font-size:10px;}
}
@media(max-width:760px){
 .hall-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px;overflow:visible;}
 .hall-category-brand{display:none;}
 .hall-category-card{min-height:52px;max-height:60px;flex:initial;min-width:0;padding:4px 5px;gap:4px;}
 .hall-category-card span{font-size:clamp(11px,3.4vw,16px);line-height:1.2;white-space:normal;}
 .hall-category-card small{font-size:clamp(10px,3vw,14px);}
}


/* v16.5.233 — hall/mobile compaction and category rail exact order */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hall-home{max-width:1040px;padding:calc(94px + var(--dashboard-safe-top)) 15px 110px;margin:0 auto}
.hall-new{width:min(100%,940px);margin:0 auto}
.hall-new--hero{grid-template-columns:auto 1fr auto;gap:16px;min-height:90px;padding:16px 22px;text-align:center}
.hall-new--hero img{width:78px;height:64px;justify-self:start}
.hall-new--hero b{font-size:clamp(24px,3.1vw,34px);text-align:center}
.hall-new--hero span{justify-self:end}
.hall-primary-row label,.hall-meta-grid label,.hall-compact-stack,.hall-note{font-size:0;gap:0}
.hall-primary-row :is(input,select),.hall-meta-grid :is(input,select),.hall-note input{font-size:15px}
.hall-compact-stack>span{font-size:0;line-height:0}
.hall-time-field{display:none!important}
@media(min-width:761px){
 .hall-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(200px,1.45fr) repeat(4,minmax(0,1fr));gap:8px;padding:8px 10px}
 .hall-category-brand{min-height:72px;max-height:72px;padding:6px 8px}
 .hall-category-brand strong{font-size:clamp(20px,1.8vw,30px)}
 .hall-category-card{min-height:72px;max-height:72px;padding:6px 9px;gap:6px}
 .hall-category-card span{font-size:clamp(12px,1.1vw,17px)}
 .hall-category-card small{font-size:clamp(14px,1.2vw,21px)}
}
@media(max-width:760px){
  .hall-home{padding:calc(82px + var(--dashboard-safe-top)) 10px 96px}
  .hall-new--hero{grid-template-columns:auto 1fr auto;min-height:76px;padding:12px 14px;gap:10px}
  .hall-new--hero img{width:58px;height:48px}.hall-new--hero b{font-size:21px;line-height:1.25}
  .hall-primary-row{grid-template-columns:1fr;gap:7px}
  .hall-primary-row label[hidden]{display:none!important}
  .hall-meta-grid{grid-template-columns:1.15fr .85fr 1fr;gap:7px;align-items:end}
  .hall-meta-grid #hallSeatingLabelWrap{grid-column:auto}
  .hall-choice-group button,.hall-primary-row :is(input,select),.hall-meta-grid :is(input,select){height:40px;font-size:13px}
  .hall-choice-group button{padding-inline:3px}
  .hall-categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:8px 10px;overflow:visible}
  .hall-category-brand{display:none}
  .hall-category-card{min-height:58px;max-height:58px;padding:4px 5px;gap:3px}
  .hall-category-card span{font-size:clamp(12px,3.2vw,15px);line-height:1.1;white-space:normal}
  .hall-category-card small{font-size:clamp(11px,2.8vw,14px)}
}
@media(max-width:420px){
  .hall-meta-grid{grid-template-columns:1.08fr .82fr 1fr;gap:6px}
  .hall-choice-group button{font-size:10.5px}
  .hall-primary-row :is(input,select),.hall-meta-grid :is(input,select){font-size:12px}
}

/* v16.5.236 — final hall controls and auditable changed items */
.hall-new--hero{position:relative;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;color:#061a23!important}
.hall-new--hero b{display:block!important;text-align:center!important;color:#061a23!important;font-weight:900!important;flex:0 1 auto}
.hall-new--hero span{color:#061a23!important}
.hall-new--hero img{position:absolute!important;right:16px!important;top:50%!important;transform:translateY(-50%)!important;width:clamp(82px,9vw,120px)!important;height:80%!important;object-fit:contain!important}
@media(max-width:760px){.hall-new--hero img{width:68px!important;max-height:76%!important}.hall-new--hero b{font-size:20px!important}}
.hall-history{margin-top:12px!important}
.hall-section-title[hidden]{display:none!important}
.hall-request .hall-request-change-tag{display:inline-block;width:max-content;border:1px solid rgba(110,229,195,.38);border-radius:9px;padding:3px 8px;margin:3px;font-size:11px;color:#6ff3bd}
.hall-request [data-hall-change-kind="حذف شده"]{color:#ffb6bb;border-color:rgba(249,95,113,.44)}
.hall-request [data-hall-change-kind="افزودن"]{color:#ffd5e4;border-color:rgba(253,119,184,.5)}
.hall-request [data-hall-change-kind="افزودن جدید"]{color:#7affb6;border-color:rgba(46,231,143,.5)}
.hall-request-changes{margin-top:3px;padding:6px 8px;border:1px solid rgba(132,191,211,.13);border-radius:10px;max-width:100%;cursor:default}
.hall-request-changes summary{cursor:pointer;color:#e0c16e;font-size:12px}
.hall-request-changes p{font-size:11px;margin:4px 0;color:var(--h-muted)}
.hall-cart-line{transition:background .2s ease,border-color .2s ease}
.hall-cart-line.hall-change-removed{background:rgba(139,34,51,.24)!important;border-color:rgba(244,79,96,.7)!important}
.hall-cart-line.hall-change-removed .hall-cart-line__main strong{text-decoration:line-through;text-decoration-color:#ff8a98;color:#ff9ba8}
.hall-cart-line.hall-change-added,.hall-cart-line.hall-change-reduced{background:rgba(155,57,107,.2)!important;border-color:rgba(244,113,172,.65)!important}
.hall-cart-line.hall-change-new{background:rgba(19,123,76,.24)!important;border-color:rgba(68,225,138,.68)!important}
.hall-line-change{display:inline-flex!important;width:max-content;padding:3px 9px;border-radius:8px;font-size:12px!important;background:#193846;color:#fff!important}
.hall-line-change.is-removed{background:#762b42}.hall-line-change.is-new{background:#145b43}.hall-line-change.is-added{background:#753557}.hall-line-change.is-reduced{background:#6b4b37}

/* Personnel calendar — source-of-truth styles, v16.5.253. No patch-over-patch overrides. */
.manager-staff-body .staff-card-actions{grid-template-columns:minmax(0,1.25fr) repeat(2,minmax(0,1fr))}
.staff-cal-card-totals{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;padding:8px;margin:7px 0 11px;border:1px solid #23566b;border-radius:12px;background:#10394d;font:12px var(--font-ui);color:#cde4ee;text-align:center}
.staff-cal-card-totals strong{color:#5df3c0}
.staff-work-calendar-open{border-color:#2889aa;color:#ddf7ff;background:#104058;font-weight:700}
.staff-work-calendar-open:hover{border-color:#65d4f4}
.manager-staff-body .staff-work-calendar-dialog{width:min(970px,calc(100vw - 22px));max-width:calc(100vw - 22px);min-height:min(78dvh,740px);max-height:96dvh;overflow-y:auto;overflow-x:hidden;padding:18px 18px 16px;border-radius:25px}
.staff-work-cal-head{display:grid;justify-items:center;gap:7px;padding:1px 45px 10px;border-bottom:1px solid #214458;text-align:center}
.staff-work-cal-head>div{min-width:0;max-width:100%}
.staff-work-cal-head h2{font:900 24px/1.3 var(--font-ui);margin:0;color:#f0f9ff;text-align:center}
.staff-work-cal-nav{display:flex;align-items:center;justify-content:center;gap:7px;direction:rtl}
.staff-work-cal-nav button{display:grid;place-items:center;width:34px;height:34px;border:1px solid #367b97;border-radius:9px;background:#0d354a;color:#d5f5ff;font:24px/1 sans-serif;cursor:pointer}
.staff-work-cal-nav button:disabled{opacity:.28;cursor:not-allowed}
.staff-work-cal-nav strong{min-width:138px;text-align:center;border:1px solid rgba(239,200,94,.5);border-radius:10px;color:#ffdc80;padding:6px 9px;font:900 16px/1.3 var(--font-ui);white-space:nowrap}
.staff-work-cal-weekdays,.staff-work-cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.staff-work-cal-weekdays{margin:8px 0 6px;color:#b3d4de;text-align:center;font:12px var(--font-ui)}
.staff-work-cal-days{min-height:0}
.staff-work-day{position:relative;display:grid;place-content:center;justify-items:center;gap:2px;min-width:0;min-height:54px;padding:5px 2px;border:1px solid #2b5263;border-radius:10px;background:#092b3c;color:#e6f6fa;cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .2s}
.staff-work-day b{font:900 clamp(19px,1.8vw,24px)/1.05 var(--font-ui)}
.staff-work-day small{font:12px/1.1 var(--font-ui);color:inherit;white-space:nowrap}
.staff-work-day.is-work{background:linear-gradient(155deg,#155f84,#113a59);border-color:#319bc6}
.staff-work-day.is-holiday,.staff-work-day.is-leave-half{background:linear-gradient(160deg,#74293c,#461d30);border-color:#d96381;color:#fff0f3}
.staff-work-day.is-tour{background:linear-gradient(160deg,#6736a3,#372261);border-color:#bb8fff;color:#f7edff}
.staff-work-day.is-today{box-shadow:0 0 0 2px #6aefae,inset 0 0 12px rgba(82,218,159,.13)}
.staff-work-day:not(:disabled):is(:hover,:focus-visible){transform:translateY(-1px);border-color:#ffdc75;box-shadow:0 0 0 2px rgba(255,220,117,.18),0 0 12px rgba(255,221,122,.25);z-index:2}
.staff-work-day:disabled{opacity:.45;cursor:default}
.staff-cal-blank{min-width:0;min-height:0}
.staff-calendar-floating-hint{position:fixed;z-index:12000;max-width:min(320px,85vw);pointer-events:none;padding:10px 15px;background:rgba(4,23,37,.93);border:1px solid rgba(242,205,91,.55);border-radius:15px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 30px #0009;text-align:center;color:#f7d86b;font:22px/1.25 BMitra,serif;direction:rtl}
.staff-calendar-floating-hint[hidden]{display:none}
.staff-work-cal-guide{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap;margin:9px 0 8px;color:#b7d1dc;font:12px var(--font-ui)}
.staff-work-cal-guide>span{display:flex;align-items:center;gap:5px}
.staff-work-cal-guide i{width:10px;height:10px;border-radius:50%;background:#244458;border:1px solid #a4c5d2}
.staff-work-cal-guide i.is-work{background:#238dc1;border-color:#62daff}
.staff-work-cal-guide i.is-holiday{background:#a73559;border-color:#f08fa7}
.staff-work-cal-guide i.is-tour{background:#7545cb;border-color:#c49aff}
.staff-work-cal-summary{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;margin-top:10px}.staff-work-cal-summary article{grid-column:span 3}
.staff-work-cal-summary article{display:flex;align-items:center;justify-content:space-between;gap:6px;text-align:center;min-height:52px;padding:6px 11px;border:1px solid #27576b;border-radius:11px;background:#0a3043}
.staff-work-cal-summary article span{color:#a7d0dc;font:12px var(--font-ui)}
.staff-work-cal-summary article strong{color:#effbff;font:900 17px var(--font-ui);white-space:nowrap}
.staff-work-cal-summary .is-total{grid-column:5/span 4;background:#0b5144;border-color:#3fc996}.staff-work-cal-summary .is-total strong{color:#81ffbf}.staff-work-cal-summary article:nth-child(5){grid-column:2/span 3;background:#134866;border-color:#50c9ff}.staff-work-cal-summary article:nth-child(6){grid-column:5/span 4;background:#64284a;border-color:#ff8cb0}.staff-work-cal-summary article:nth-child(7){grid-column:9/span 3;background:#552d8f;border-color:#cfacff}
.staff-work-cal-loading{grid-column:1/-1;text-align:center;color:#b6dfe9}
.manager-staff-body .staff-work-day-dialog{width:min(530px,calc(100vw - 18px));max-height:92dvh}
.staff-work-day-form{display:grid;gap:10px}
.staff-work-day-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.staff-work-day-types label{position:relative;display:grid;place-items:center;min-height:50px;background:#12374a;border:1px solid #387d96;border-radius:11px;cursor:pointer;color:#effaff;font:900 16px var(--font-ui)}
.staff-work-day-types input{position:absolute;inset:0;opacity:0;cursor:pointer}
.staff-work-day-types .is-holiday{border-color:#d65577;background:linear-gradient(160deg,rgba(114,34,58,.54),rgba(69,21,40,.5))}
.staff-work-day-types .is-tour{border-color:#9a69f1;background:linear-gradient(160deg,rgba(86,42,151,.54),rgba(53,31,97,.5))}
.staff-work-day-types .is-work:has(input:checked){background:#135b7e;box-shadow:inset 0 0 0 1px #4ed5fa}
.staff-work-day-types .is-holiday:has(input:checked){background:#b32d58;border-color:#ff89a8;box-shadow:inset 0 0 0 1px rgba(255,210,220,.25)}
.staff-work-day-types .is-tour:has(input:checked){background:#6b32ba;border-color:#c7a1ff;box-shadow:inset 0 0 0 1px rgba(234,224,255,.22)}
.staff-work-day-times{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.staff-work-day-times[hidden],.staff-leave-type-note[hidden]{display:none}
.staff-work-day-times label{display:grid;gap:4px;text-align:center;font-size:12px;color:#cbecf6}
.staff-work-day-times input{width:100%;min-width:0;min-height:48px;border:1px solid #3c8699;border-radius:10px;background:#082739;color:#fff;direction:ltr;text-align:center;font-size:20px;color-scheme:dark}
.staff-work-day-preview{border:1px solid #297962;border-radius:10px;padding:8px 5px;background:#104537;color:#7af0b7;margin:0;text-align:center;font:13px var(--font-ui)}
.staff-leave-type-note,.staff-work-day-hint{margin:0;text-align:center;font:12px/1.4 BMitra,serif;color:#a7c7d3}
.manager-staff-body .staff-leave-dialog{width:min(365px,calc(100vw - 28px));padding:24px 16px;text-align:center}
.staff-leave-dialog h2{font-size:23px;margin:0 0 9px}
.staff-leave-dialog p{font:18px BMitra,serif;color:#a9cad3}
.staff-leave-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.staff-leave-choices button{background:#13506b;border:1px solid #4299b5;border-radius:12px;color:#fff;min-height:48px;font:900 15px var(--font-ui);cursor:pointer}
.staff-statement-button{border:1px solid #34b2a5;background:#134e50;color:#8dffe7;border-radius:10px;font:900 12px var(--font-ui);min-height:33px;padding-inline:9px;cursor:pointer}
.staff-statement-button:hover{background:#176e67}
.manager-staff-body .staff-payroll-table{min-width:1400px}
.manager-staff-body .staff-payroll-table td:last-child{background:transparent}
.manager-staff-body .staff-payroll-table td:nth-last-child(2){background:#0b413f;text-align:center}
@media(max-width:820px){
 .manager-staff-body .staff-work-calendar-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);padding:12px 9px;max-height:96dvh}
 .staff-work-cal-head{padding:4px 34px 9px;gap:8px}
 .staff-work-cal-head h2{font-size:20px}
 .staff-work-cal-weekdays,.staff-work-cal-days{gap:4px}
 .staff-work-day{min-height:47px;border-radius:9px;padding:3px 1px}
 .staff-work-day b{font-size:18px}
 .staff-work-day small{font-size:9px}
 .staff-work-cal-weekdays{font-size:9px}
 .staff-work-cal-guide{gap:7px;font-size:10px}
 .staff-work-cal-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
 .staff-work-cal-summary article{grid-column:span 1;min-height:39px;padding:4px 7px}
 .staff-work-cal-summary article span{font-size:10px}
 .staff-work-cal-summary article strong{font-size:13px}
 .staff-work-cal-summary .is-total,.staff-work-cal-summary article:nth-child(5),.staff-work-cal-summary article:nth-child(6),.staff-work-cal-summary article:nth-child(7){grid-column:1/-1}
 .manager-staff-body .staff-card-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
 .manager-staff-body .staff-card-actions>.staff-attendance-button{grid-column:1/-1}
 .manager-staff-body .staff-payroll-table{min-width:0}
 .manager-staff-body .staff-payroll-table td:last-child{grid-column:1/-1}
 .manager-staff-body .staff-payroll-table td:nth-last-child(2){grid-column:1/-1}
}
@media(max-width:420px){.staff-work-day{min-height:40px}.staff-work-day b{font-size:16px}.staff-work-day small{font-size:8px}.staff-work-cal-summary article{min-height:35px}}
@media(prefers-reduced-motion:reduce){.staff-work-day{transition:none}}

/* 16.5.255: consistent, persistent status light and compact accounting */
.manager-staff-body .staff-work-calendar-dialog{min-height:min(83dvh,785px)}
.staff-work-cal-nav button{font-weight:900}
.staff-work-day.is-work{box-shadow:inset 0 0 0 1px rgba(76,198,238,.25),0 0 11px rgba(45,168,219,.12)}
.staff-work-day.is-holiday,.staff-work-day.is-leave-half{background:linear-gradient(155deg,#806019,#493608);color:#fff5ce;border-color:#f7c957;box-shadow:inset 0 0 0 1px rgba(255,209,94,.27),0 0 12px rgba(244,182,43,.18)}
.staff-work-day.is-tour{box-shadow:inset 0 0 0 1px rgba(202,153,255,.35),0 0 11px rgba(160,101,245,.21)}
.staff-work-cal-guide i.is-holiday{background:#c99b29;border-color:#ffde76}
.staff-work-cal-summary article:nth-child(5),.staff-work-cal-summary article:nth-child(6),.staff-work-cal-summary article:nth-child(7){grid-column:span 4;min-width:0}
.staff-work-cal-summary article:nth-child(5){background:#164d65;border-color:#6acffe}
.staff-work-cal-summary article:nth-child(6){background:#642b4c;border-color:#fc8eb9}
.staff-work-cal-summary article:nth-child(7){background:#0e5842;border-color:#55e7aa}
.staff-work-cal-summary article strong{font-variant-numeric:tabular-nums}
.manager-staff-body .staff-payroll-table th,.manager-staff-body .staff-payroll-table td{text-align:center}
.manager-staff-body .staff-payroll-table td.staff-work-value b{color:#5fe9ad}
.manager-staff-body .staff-payroll-table td.staff-shortfall-value b{color:#ff83ad}
.manager-staff-body .staff-person-card.is-present:not(.is-inactive){border-color:#35e9a5;box-shadow:0 0 0 1px rgba(53,233,165,.22),0 0 22px rgba(53,233,165,.17)}
.manager-staff-body .staff-person-card.is-absent:not(.is-inactive){border-color:#fb5473;box-shadow:0 0 0 1px rgba(251,84,115,.18),0 0 22px rgba(251,84,115,.15)}
@media(max-width:820px){
 .manager-staff-body .staff-work-calendar-dialog{min-height:min(85dvh,820px)}
 .staff-work-cal-summary article:nth-child(5),.staff-work-cal-summary article:nth-child(6),.staff-work-cal-summary article:nth-child(7){grid-column:1/-1}
}


/* 16.5.8 — stable calendar accounting and compact card badges. */
.staff-work-day.is-holiday,.staff-work-day.is-leave,.staff-work-day.is-leave-half{background:linear-gradient(150deg,#9e386b,#5e254c);border-color:#f59ac9;color:#fff0fa;box-shadow:inset 0 0 0 1px #ffafd044,0 0 10px #cf4e9233}
.staff-work-cal-guide i.is-holiday{background:#cf5297;border-color:#ffc0e3}
.staff-day-delta{position:absolute;top:2px;min-width:34px;padding:1px 3px;border-radius:5px;font:900 10px/1.2 var(--font-ui);direction:ltr;unicode-bidi:isolate;pointer-events:none}
.staff-day-delta.is-extra{right:3px;background:#0b4b3c;color:#86ffbf;border:1px solid #36cd86}
.staff-day-delta.is-short{left:3px;background:#5a1c33;color:#ff9ab1;border:1px solid #fb607e}
.staff-work-day .staff-day-hours{padding:1px 5px;border-radius:5px;background:#031b2b7a;direction:ltr;unicode-bidi:isolate;font-weight:700;font-size:11px}
.manager-staff-body .staff-work-calendar-dialog[open]{display:flex;flex-direction:column}
.staff-work-cal-summary{margin-top:auto;padding-top:14px}
.staff-work-cal-summary article.is-net-positive{background:#0a4f51;border-color:#32ded8}
.staff-work-cal-summary article.is-net-positive strong{color:#71f6e8}
.staff-work-cal-summary article.is-net-negative{background:#652239;border-color:#fa5d83}
.staff-work-cal-summary article.is-net-negative strong{color:#ff9cb6}
.staff-work-cal-summary article.is-leave-debt{background:#512438;border-color:#ed7299}
.staff-work-cal-summary article.is-leave-debt strong{color:#ffb0c6}
.staff-work-day-types label:has(input:checked){border:2px solid #ffdb63;box-shadow:0 0 0 2px rgba(255,220,99,.3),inset 0 0 0 1px #f9c84f;color:#fff9df}
.staff-work-day-types label:has(input:checked)::after{content:'✓';position:absolute;top:4px;right:7px;color:#ffde64;font-weight:900;font-size:16px;pointer-events:none}
@media(max-width:820px){.staff-day-delta{font-size:8px;min-width:0;padding:1px 2px}.staff-work-day .staff-day-hours{font-size:9px}}

.staff-work-day.is-leave-hourly{background:linear-gradient(155deg,#9e386b,#572344);border-color:#f59ac9;color:#fff5fc}
.staff-leave-choices{grid-template-columns:repeat(2,minmax(0,1fr))}
.staff-leave-choices [data-leave-duration="hourly"]{grid-column:1/-1;border-color:#e6b65d;color:#ffebb1}
.staff-leave-hourly-input{display:grid;gap:9px;margin-top:10px;text-align:center;color:#e6f6fb}
.staff-leave-hourly-input[hidden]{display:none}
.staff-leave-hourly-input input{direction:ltr;text-align:center;background:#082838;border:1px solid #58a7c0;border-radius:9px;padding:10px;color:white;font-size:20px}
.staff-leave-hourly-input button{border:1px solid #e7b348;border-radius:10px;background:#b4892e;color:#fff;min-height:40px;font-weight:900;cursor:pointer}


/* 16.6.2: use the same gold square print icon as restaurant history,
   opposite the X, never a full-width or extra title toolbar. */
.manager-staff-body #staffWorkCalendarDialog{position:fixed}
.manager-staff-body #staffWorkCalendarDialog #staffCalPrint{
  box-sizing:border-box!important;display:grid!important;place-items:center!important;
  position:absolute!important;top:15px!important;left:18px!important;right:auto!important;
  width:43px!important;min-width:43px!important;max-width:43px!important;
  height:43px!important;min-height:43px!important;max-height:43px!important;
  margin:0!important;padding:0!important;flex:none!important;z-index:10!important;
  border:1px solid #d7b34d!important;border-radius:10px!important;
  background:linear-gradient(125deg,#ac7e31,#f5d471)!important;color:#14273b!important;
  box-shadow:0 5px 17px #0005!important;cursor:pointer;
}
.manager-staff-body #staffWorkCalendarDialog #staffCalPrint svg{display:block!important;width:24px!important;height:24px!important;flex:none!important}
.manager-staff-body #staffWorkCalendarDialog #staffCalPrint:hover{filter:brightness(1.1)}
/* Explicit specificity defeats the historical nth-child selectors used for salary cards. */
.manager-staff-body .staff-work-cal-summary article.is-leave-used{
  background:linear-gradient(140deg,#923b70,#572745)!important;
  border:1px solid #e786bd!important;
}
.manager-staff-body .staff-work-cal-summary #staffCalOvertimePayCard.is-net-positive{
  background:linear-gradient(140deg,#0c614c,#093e37)!important;border:1px solid #3cdb9e!important;
}
.manager-staff-body .staff-work-cal-summary #staffCalOvertimePayCard.is-net-negative{
  background:linear-gradient(140deg,#8b293c,#521a2e)!important;border:1px solid #fc6881!important;
}
.manager-staff-body .staff-work-cal-summary #staffCalOvertimePayCard.is-net-positive strong{color:#77ffc1!important}
.manager-staff-body .staff-work-cal-summary #staffCalOvertimePayCard.is-net-negative strong{color:#ff9fb2!important}
.manager-staff-body .staff-work-cal-summary article.is-net-positive:not(#staffCalOvertimePayCard){background:#0c6157!important;border-color:#35dbbd!important}
.manager-staff-body .staff-work-cal-summary article.is-net-negative:not(#staffCalOvertimePayCard){background:#73233e!important;border-color:#ff7095!important}
.manager-staff-body .staff-person-card .staff-card-edit{position:relative!important;top:-5px!important}
.manager-staff-body .staff-card-actions .staff-history-button i{display:inline-block;transform:scaleX(-1)!important}
@media(max-width:820px){
  .manager-staff-body #staffWorkCalendarDialog #staffCalPrint{top:12px!important;left:12px!important;width:37px!important;min-width:37px!important;max-width:37px!important;height:37px!important;min-height:37px!important;max-height:37px!important}
  .manager-staff-body #staffWorkCalendarDialog #staffCalPrint svg{width:21px!important;height:21px!important}
  .manager-staff-body .staff-payroll-table tr{border:2px solid #dfbb54!important;border-radius:16px!important;overflow:hidden!important}
  .manager-staff-body .staff-period-form>label .jalali-date-field b{margin-inline:auto!important}
  .manager-staff-body .staff-period-form>label .jalali-date-field{text-align:center!important}
}
