/* Generated from the website stylesheet cascade and index.html. */

.bali-id-heading{display:flex;justify-content:space-between;align-items:center;color:#d2d8d2;font:700 12px/1.4 Manrope,Inter,sans-serif;letter-spacing:.18em}

.bali-id-card{
  position:relative;display:flex;flex-direction:column;justify-content:space-between;
  aspect-ratio:1.68/1;width:100%;max-width:645px;box-sizing:border-box;
  padding:clamp(19px,4vw,35px);overflow:hidden;border-radius:clamp(20px,4vw,29px);
  color:#fff;background:radial-gradient(ellipse at 90% 15%,rgba(185,255,81,.13),transparent 51%),
    linear-gradient(130deg,#121a19 0%,#060909 47%,#273028 100%);
  border:1px solid rgba(235,251,228,.29);box-shadow:0 14px 40px #0009,inset 0 0 30px #ffffff06;
}

.bali-id-card::after{content:"";position:absolute;right:-15%;bottom:-85%;width:95%;aspect-ratio:1;border:1px solid rgba(185,255,81,.24);border-radius:50%;box-shadow:0 0 0 26px rgba(185,255,81,.035),0 0 0 65px rgba(185,255,81,.028);pointer-events:none}

.bali-id-top,.bali-id-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;z-index:1}

.bali-id-top{align-items:flex-start}

.bali-id-top img{display:block;max-width:140px;width:31%;height:auto;object-fit:contain}

.bali-id-top span,.bali-id-bottom small{font:780 clamp(10px,1.8vw,14px)/1.2 Manrope,sans-serif;letter-spacing:.14em;color:#b9ff51;text-align:right}

.bali-id-number-caption{margin-top:auto;color:#aebfb4;font:650 clamp(9px,1.9vw,13px) Manrope,sans-serif;letter-spacing:.12em}

.bali-id-number{z-index:1;font:550 clamp(36px,9vw,68px)/1.07 Inter,Manrope,sans-serif;letter-spacing:.13em;margin:5px 0 clamp(12px,3vw,27px);font-variant-numeric:tabular-nums}

.bali-id-bottom strong{font:750 clamp(14px,2.9vw,21px)/1.3 Manrope,sans-serif;text-transform:uppercase}

.bali-id-benefits{padding:clamp(16px,3vw,24px);border-radius:18px;background:#111918;border:1px solid #334039;color:#fff}

.bali-id-benefits-head{display:flex;justify-content:space-between;align-items:center;gap:14px}

.bali-id-benefits-head h2{font:750 clamp(18px,3.3vw,24px)/1.2 Manrope,sans-serif;margin:0}

.bali-id-benefits-head span{font:800 12px Manrope,sans-serif;letter-spacing:.12em;color:#b9ff51}

.bali-id-benefits p{color:#c1cbc4;line-height:1.6;margin:10px 0}

.bali-id-benefits ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:8px}

.bali-id-benefits li{padding-left:21px;position:relative;line-height:1.45}

.bali-id-benefits li::before{content:"✦";position:absolute;left:0;color:#b9ff51}

.bali-id-settings{display:grid;gap:12px;padding:18px;border-radius:16px;background:#191e1d;border:1px solid #596957}

.bali-id-settings[hidden]{display:none!important}

.bali-id-settings h2{margin:0;color:white;font:700 18px Manrope,sans-serif}

.bali-id-settings button{min-height:45px;border:1px solid #53614e;border-radius:11px;background:#2a322d;color:white;cursor:pointer;font:600 14px Manrope,sans-serif}

.bali-id-status{font-size:12px;color:#b7e3ad}

@media(max-width:767px){
  .bali-id-card{min-height:194px;aspect-ratio:1.65/1}

  .bali-id-number{letter-spacing:.09em}

  .bali-id-bottom small{font-size:9px}
}


body.bali-guest-theme #profileSection .bali-id-page-title{
  margin:0 0 clamp(15px,2.7vw,27px)!important;
  padding:0!important;
  font:850 clamp(23px,4.2vw,35px)/1.1 Manrope,Inter,sans-serif!important;
  letter-spacing:.09em!important;
  color:#fff!important;
  text-transform:uppercase!important;
}

body.bali-guest-theme #baliIdSection[hidden]{display:none!important}

body.bali-guest-theme #baliIdSection{
  box-sizing:border-box;
  min-height:calc(100dvh - var(--bali-header-height,70px));
  padding:clamp(18px,3vw,42px) 12px 118px;
  overflow-y:auto;
  color:#f7fbf8;
}

body.bali-guest-theme #baliIdSection>.container{
  max-width:950px;
  width:100%;
  height:auto!important;
  max-height:none!important;
  margin:auto;
  overflow:visible!important;
}

body.bali-guest-theme #baliIdSection .bali-profile-card{
  display:grid;
  gap:clamp(16px,2.5vw,23px);
  width:100%;
  max-width:940px;
  padding:clamp(16px,3.2vw,34px);
  background:linear-gradient(145deg,rgba(8,11,15,.94),rgba(18,24,22,.94));
  border:1px solid rgba(255,255,255,.13);
  border-radius:24px;
  box-shadow:0 18px 65px rgba(0,0,0,.4);
}

body.bali-guest-theme #baliIdSection .bali-id-page-title{
  margin:0 0 clamp(15px,2.7vw,27px);
  font:850 clamp(23px,4.2vw,35px)/1.1 Manrope,Inter,sans-serif;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:#fff;
}

@media(min-width:1180px){
  body.bali-guest-theme #baliIdSection{
    position:fixed!important;
    top:var(--bali-banner-height,0px)!important;
    bottom:0!important;
    left:var(--bali-pc-side,240px)!important;
    right:0!important;
    height:auto!important;
    min-height:0!important;
    width:auto!important;
    padding:86px clamp(22px,2.4vw,38px) 28px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    z-index:1;
    background:transparent;
  }
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection{
    padding:15px 10px calc(93px + env(safe-area-inset-bottom));
  }

  body.bali-guest-theme #baliIdSection .bali-profile-card{
    border-radius:17px;
    padding:17px;
  }

  body.bali-guest-theme #baliIdSection .bali-id-card{
    min-height:260px;
    padding:17px;
  }
}


/* A route is a separate page: hidden canvases never paint through BALI ID. */
:root[data-bali-theme] body.bali-guest-theme :is(#homeSection,#menuPage,#eventsSection,#profileSection,#baliIdSection,#contactsSection,#baliAboutSection)[hidden]{display:none!important}


/* BALI ID | Premium double-sided digital card, touch-first and keyboard accessible.
   Scoped to the dedicated ID page so Profile, kitchen and calendar stay unchanged. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  box-sizing:border-box;
  display:block;
  position:relative;
  width:100%;
  max-width:645px;
  aspect-ratio:1.68;
  min-height:250px;
  perspective:1550px;
  -webkit-perspective:1550px;
  isolation:isolate;
  touch-action:pan-y;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track{
  position:relative;
  display:block;
  width:100%;
  height:100%;
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
  transition:transform 740ms cubic-bezier(.2,.74,.19,1);
  will-change:transform;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track.is-flipped{
  transform:rotateY(180deg);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
  position:absolute!important;
  inset:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column;
  justify-content:space-between;
  width:100%!important;
  max-width:none!important;
  height:100%!important;
  min-height:0!important;
  margin:0!important;
  aspect-ratio:auto!important;
  border-radius:clamp(18px,4vw,29px)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  overflow:hidden!important;
  outline-offset:4px;
  -webkit-tap-highlight-color:transparent;
}

body.bali-guest-theme #baliIdSection .bali-id-card-front{
  transform:rotateY(0deg);
}

body.bali-guest-theme #baliIdSection .bali-id-card-back{
  padding:clamp(16px,2.6vw,26px)!important;
  transform:rotateY(180deg);
  background:
    radial-gradient(circle at 100% 0%,rgba(184,255,73,.13),transparent 42%),
    linear-gradient(148deg,#1d2421 0%,#080d0c 60%,#172019 100%)!important;
  border-color:rgba(185,255,81,.43)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back::after{
  content:"";
  position:absolute;
  inset:auto -18% -65% auto;
  width:90%;
  aspect-ratio:1;
  border:1px solid rgba(184,255,73,.11);
  border-radius:50%;
  pointer-events:none;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-back-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  position:relative;
  z-index:1;
  gap:12px;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-back-top img{
  display:block;
  width:clamp(83px,22%,135px);
  height:auto;
  max-height:60px;
  object-fit:contain;
}

body.bali-guest-theme #baliIdSection .bali-id-back-top span{
  color:#b9ff51;
  font:850 clamp(9px,1.7vw,12px)/1.2 Manrope,Inter,sans-serif;
  letter-spacing:.16em;
  text-align:right;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits{
  display:flex;
  position:relative;
  z-index:1;
  flex:1 1 auto;
  flex-direction:column;
  gap:6px;
  overflow-y:auto!important;
  overscroll-behavior-y:contain;
  min-height:0;
  padding:10px 0 4px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  scrollbar-color:#55695a transparent;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits-head h2{
  color:#fff;
  font:850 clamp(16px,3.1vw,23px)/1.15 Manrope,Inter,sans-serif;
  letter-spacing:.02em;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits-head span{
  font:850 11px Manrope,Inter,sans-serif;
  color:#b9ff51;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits p{
  color:#b9c6be;
  font:500 clamp(10px,1.7vw,13px)/1.45 Manrope,Inter,sans-serif;
  margin:0!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits ul{
  display:grid;
  gap:3px;
  margin:0!important;
  padding:0!important;
  list-style:none;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits li{
  font:620 clamp(11px,1.8vw,14px)/1.34 Manrope,Inter,sans-serif;
  color:#eef5ef;
  padding-left:16px!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits li::before{
  content:"•";
  color:#b9ff51;
  font-size:18px;
  line-height:1;
}

body.bali-guest-theme #baliIdSection .bali-id-back-mark{
  position:relative;
  z-index:1;
  display:block;
  padding-top:3px;
  color:rgba(224,243,224,.58);
  font:750 9px/1.3 Manrope,Inter,sans-serif;
  letter-spacing:.15em;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr{
  appearance:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  max-width:645px;
  min-height:53px;
  padding:12px 15px;
  margin:2px 0 0;
  color:#0b120c;
  background:var(--bt-primary,#b9ff51);
  border:1px solid var(--bt-primary,#b9ff51);
  border-radius:13px;
  font:850 14px/1.2 Manrope,Inter,sans-serif;
  text-transform:uppercase;
  letter-spacing:.045em;
  cursor:pointer;
  touch-action:manipulation;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr svg{
  width:23px;
  height:23px;
  flex:none;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr:focus-visible,
body.bali-guest-theme #baliIdSection .bali-id-card:focus-visible{
  outline:2px solid #b9ff51;
  outline-offset:4px;
}

body.bali-guest-theme #baliIdSection .bali-id-status{
  width:100%;
  max-width:645px;
  min-height:0;
  margin:0!important;
  font-size:12px;
  color:#cadac6;
}


/* Native dialog always renders above the app's fixed header/navigation. */
body.bali-guest-theme .bali-id-qr-dialog{
  box-sizing:border-box;
  position:fixed;
  width:min(420px,calc(100vw - 24px));
  max-width:420px;
  max-height:calc(100dvh - 30px);
  margin:auto;
  padding:0;
  border:1px solid #45574a;
  border-radius:23px;
  background:#101715;
  color:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.8);
  overflow:auto;
}

body.bali-guest-theme .bali-id-qr-dialog:not([open]){display:none!important}

body.bali-guest-theme .bali-id-qr-dialog::backdrop{
  background:rgba(0,0,0,.81);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.bali-id-qr-dialog-body{
  box-sizing:border-box;
  position:relative;
  display:grid;
  justify-items:center;
  gap:13px;
  padding:clamp(20px,5vw,30px);
  text-align:center;
}

.bali-id-qr-close{
  position:absolute;
  right:10px;
  top:9px;
  width:40px;
  height:40px;
  color:white;
  background:transparent;
  border:0;
  border-radius:50%;
  font-size:29px;
  cursor:pointer;
}

.bali-id-qr-eyebrow{
  margin:15px 0 0;
  color:#b9ff51;
  font:850 11px/1.3 Manrope,Inter,sans-serif;
  letter-spacing:.22em;
}

.bali-id-qr-dialog h2{
  color:#fff;
  font:850 24px/1.2 Manrope,Inter,sans-serif;
  margin:0;
}

.bali-id-qr-caption,
.bali-id-qr-footnote{
  color:#bbc9bd;
  font:500 13px/1.55 Manrope,Inter,sans-serif;
  margin:0;
}

.bali-id-qr-image-box{
  display:grid;
  place-items:center;
  width:min(285px,100%);
  min-height:100px;
  border-radius:15px;
  background:#f5faf5;
  padding:11px;
  color:#1a2420;
}

.bali-id-qr-image-box img{
  display:block;
  width:100%;
  max-width:280px;
  height:auto;
  border-radius:5px;
}

.bali-id-qr-image-box img[hidden]{display:none!important}

.bali-id-qr-image-box p{
  color:#1d2822;
  font:650 13px/1.45 Manrope,Inter,sans-serif;
}

.bali-id-qr-expiry{
  min-height:18px;
  color:#b9ff51;
  font:750 12px/1.4 Manrope,Inter,sans-serif;
  margin:0;
}

.bali-id-qr-refresh{
  display:block;
  padding:12px 18px;
  min-height:44px;
  background:#b9ff51;
  color:#10160e;
  border:0;
  border-radius:11px;
  font:780 13px Manrope,Inter,sans-serif;
  cursor:pointer;
}

.bali-id-qr-refresh[hidden]{display:none!important}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
    aspect-ratio:1.5;
    min-height:230px;
  }

  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
    padding:clamp(15px,4.5vw,22px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-card .bali-id-number{
    font-size:clamp(30px,8.4vw,52px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits-head h2{
    font-size:clamp(15px,4vw,20px)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.bali-guest-theme #baliIdSection .bali-id-flip-track{transition:none!important;will-change:auto}

  body.bali-guest-theme .bali-id-qr-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
}


/* Keep the ID card, QR action and status on the same centre line
   at every breakpoint, independently of the wider profile container. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene,
body.bali-guest-theme #baliIdSection .bali-id-show-qr,
body.bali-guest-theme #baliIdSection .bali-id-status{
  justify-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  touch-action:pan-y;
  user-select:none;
  -webkit-user-select:none;
  cursor:grab;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene:active{
  cursor:grabbing;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track{
  transition:transform 620ms cubic-bezier(.22,.75,.28,1);
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr,
body.bali-guest-theme #baliIdSection .bali-id-status{
  width:100%;
  max-width:645px;
}

@media(prefers-reduced-motion:reduce){
  body.bali-guest-theme #baliIdSection .bali-id-flip-track{
    transition:none!important;
  }
}


/* v3 — Real geometry fix for narrow iPhone viewports.
   A width:100% grid item inside an auto/min-content grid may grow wider than
   its parent's content box, even if margin:auto visually centres the item.
   Constrain the grid TRACK and every child to the actual available space. */
body.bali-guest-theme #baliIdSection{
  max-width:100%;
}

body.bali-guest-theme #baliIdSection>.container{
  box-sizing:border-box!important;
  display:block;
  width:100%!important;
  max-width:950px!important;
  min-width:0!important;
  margin-inline:auto!important;
  padding-inline:clamp(8px,2vw,14px)!important;
}

body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
  box-sizing:border-box!important;
  display:grid!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:center!important;
  margin-inline:auto!important;
}

body.bali-guest-theme #baliIdSection .bali-id-heading{
  justify-self:stretch!important;
  box-sizing:border-box;
  width:100%;
  min-width:0;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene,
body.bali-guest-theme #baliIdSection .bali-id-show-qr,
body.bali-guest-theme #baliIdSection .bali-id-status{
  box-sizing:border-box!important;
  display:block;
  width:min(100%,645px)!important;
  max-width:100%!important;
  min-width:0!important;
  margin-inline:auto!important;
  justify-self:center!important;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr{
  display:flex;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
  max-width:100%!important;
  min-width:0!important;
  left:0!important;
  right:0!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection>.container{
    padding-inline:0!important;
  }

  body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
    padding-inline:clamp(12px,4vw,17px)!important;
  }
}


/* BALI ID · six approved 2026 card treatments.
   Category art is drawn with CSS, keeping real names, numbers, benefits and
   status accessible and editable; no stock images or baked-in guest data. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  --bali-card-ink:#c0ff2f;
  --bali-card-main:#b5fa0c;
  --bali-card-shine:rgba(159,245,29,.47);
  --bali-card-halo:rgba(83,207,34,.32);
  --bali-card-body:#06100b;
  --bali-card-bloom:rgba(94,168,34,.44);
  --bali-card-ring:rgba(149,240,45,.3);
  color:var(--bali-card-ink);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="silver"]{
  --bali-card-ink:#e9edf6;
  --bali-card-main:#e4e9f5;
  --bali-card-shine:rgba(226,238,253,.47);
  --bali-card-halo:rgba(189,205,229,.27);
  --bali-card-body:#111318;
  --bali-card-bloom:rgba(199,204,225,.42);
  --bali-card-ring:rgba(216,224,239,.31);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="gold"]{
  --bali-card-ink:#ffdb76;
  --bali-card-main:#fbc65a;
  --bali-card-shine:rgba(255,176,50,.6);
  --bali-card-halo:rgba(234,119,31,.4);
  --bali-card-body:#1b0d09;
  --bali-card-bloom:rgba(254,142,32,.54);
  --bali-card-ring:rgba(252,186,72,.4);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="platinum"]{
  --bali-card-ink:#d7edff;
  --bali-card-main:#c4dcff;
  --bali-card-shine:rgba(172,216,255,.57);
  --bali-card-halo:rgba(79,154,240,.38);
  --bali-card-body:#051222;
  --bali-card-bloom:rgba(65,140,229,.45);
  --bali-card-ring:rgba(153,204,255,.32);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="black"]{
  --bali-card-ink:#fafafa;
  --bali-card-main:#fafafa;
  --bali-card-shine:rgba(247,247,247,.41);
  --bali-card-halo:rgba(175,175,175,.22);
  --bali-card-body:#030304;
  --bali-card-bloom:rgba(128,128,128,.32);
  --bali-card-ring:rgba(190,190,190,.28);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="private"]{
  --bali-card-ink:#ffe465;
  --bali-card-main:#ffd447;
  --bali-card-shine:rgba(255,162,34,.7);
  --bali-card-halo:rgba(248,101,10,.41);
  --bali-card-body:#17080a;
  --bali-card-bloom:rgba(212,67,20,.55);
  --bali-card-ring:rgba(255,175,51,.4);
}

/* Both sides inherit a common metallic, multi-arc visual language. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
  isolation:isolate;
  color:var(--bali-card-ink)!important;
  border:1.5px solid var(--bali-card-main)!important;
  background:
    radial-gradient(ellipse at 72% -6%,var(--bali-card-bloom),transparent 56%),
    radial-gradient(ellipse at 110% 125%,var(--bali-card-halo),transparent 64%),
    linear-gradient(132deg,rgba(4,5,8,.96),var(--bali-card-body) 63%,rgba(3,4,5,.98))!important;
  box-shadow:
    0 10px 23px rgba(0,0,0,.48),
    0 0 0 1px var(--bali-card-ring),
    0 0 15px var(--bali-card-shine),
    inset 0 0 18px var(--bali-card-halo)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card::before{
  content:"";position:absolute;z-index:0;pointer-events:none;
  width:106%;aspect-ratio:1;left:22%;bottom:-92%;
  border-radius:50%;border:1px solid var(--bali-card-ring);
  box-shadow:0 0 0 42px rgba(100,110,100,.11),0 0 0 100px rgba(108,115,110,.075),
    0 0 0 173px rgba(115,120,119,.035);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  inset:-80% -35% auto auto;width:110%;aspect-ratio:1;
  border-radius:50%;border:1px solid var(--bali-card-ring);
  box-shadow:none;
  background:radial-gradient(ellipse at 45% 55%,var(--bali-card-halo),transparent 57%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-top,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-centre-art,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-bottom,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-back-top,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-benefits{position:relative;z-index:2}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-top{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:12px;width:100%;flex:none;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-brand-label,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardTier,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardHeaderTier{
  color:var(--bali-card-ink)!important;
  font:750 clamp(10px,2.15vw,15px)/1.25 Manrope,Inter,sans-serif!important;
  letter-spacing:.055em!important;
  text-shadow:0 0 9px var(--bali-card-halo)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardTier,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardHeaderTier{
  white-space:nowrap;text-align:right;
}

body.bali-guest-theme #baliIdSection .bali-id-centre-art{
  display:grid;justify-items:center;align-content:center;
  width:100%;min-height:0;flex:1 1 auto;
  gap:3px;
}

body.bali-guest-theme #baliIdSection .bali-id-centre-art .bali-id-seal{
  display:grid;place-items:center;flex:none;
  width:clamp(46px,15%,95px);aspect-ratio:1;border-radius:50%;
  border:3px double var(--bali-card-ink);
  box-shadow:0 0 0 3px var(--bali-card-ring),0 0 17px var(--bali-card-halo);
  color:var(--bali-card-ink);
  font-size:clamp(30px,5.5vw,52px);
  line-height:1;
}

body.bali-guest-theme #baliIdSection .bali-id-centre-art img{
  display:block;width:clamp(105px,34%,200px);max-height:70px;
  height:auto;object-fit:contain;
  filter:drop-shadow(0 0 6px var(--bali-card-halo));
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-bottom{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:8px;width:100%;flex:none;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-bottom strong{
  min-width:0;max-width:65%;overflow-wrap:anywhere;
  color:var(--bali-card-ink);
  font:800 clamp(13px,2.9vw,23px)/1.1 Manrope,Inter,sans-serif;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-number{
  flex:none;z-index:2;margin:0!important;
  color:var(--bali-card-ink)!important;
  font:580 clamp(17px,4vw,29px)/1.1 Inter,Manrope,sans-serif!important;
  letter-spacing:.09em!important;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-back .bali-id-back-top{
  width:100%;display:flex;justify-content:flex-end;flex:none;padding:0;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-back .bali-id-benefits{
  justify-content:flex-start;
  margin:0;
  padding:clamp(10px,2.5vw,25px) 0 8px!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-benefits-head{
  display:block;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-benefits-head h2{
  color:var(--bali-card-ink)!important;
  font:850 clamp(18px,3.5vw,27px)/1.2 Manrope,Inter,sans-serif!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-hidden-tier{
  position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;
  clip-path:inset(50%);white-space:nowrap;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-benefits p,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-benefits li{
  color:var(--bali-card-ink)!important;
  text-shadow:0 1px 6px rgba(0,0,0,.75);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-benefits li::before{
  color:var(--bali-card-ink)!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
    padding:clamp(12px,4vw,18px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-centre-art .bali-id-seal{
    width:clamp(39px,16%,65px);font-size:clamp(27px,7vw,38px);border-width:2px;
  }

  body.bali-guest-theme #baliIdSection .bali-id-centre-art img{
    width:clamp(95px,37%,150px);max-height:52px;
  }

  body.bali-guest-theme #baliIdSection .bali-id-brand-label,
  body.bali-guest-theme #baliIdSection #baliCardTier{
    font-size:clamp(10px,2.6vw,13px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-benefits p{
    font-size:clamp(10px,2.7vw,12px)!important;
  }
}


/* Accent the actual BALI artwork to match all text/borders by category. */
body.bali-guest-theme #baliIdSection .bali-id-centre-art img{
  filter:var(--bali-card-logo-filter,none) drop-shadow(0 0 6px var(--bali-card-halo))!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="member"]{
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(86%) sepia(69%) saturate(809%) hue-rotate(24deg) brightness(109%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="silver"]{
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(95%) sepia(9%) saturate(372%) hue-rotate(178deg) brightness(100%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="gold"]{
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(78%) sepia(39%) saturate(618%) hue-rotate(350deg) brightness(106%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="platinum"]{
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(85%) sepia(28%) saturate(427%) hue-rotate(172deg) brightness(112%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="black"]{
  --bali-card-logo-filter:brightness(0) invert(98%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="private"]{
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(87%) sepia(89%) saturate(664%) hue-rotate(348deg) brightness(102%);
}


/* Exact complete BALI mark: mask, handwritten BALI and NIGHTCLUB.
   Safari/iOS fix: NEVER size this logo with height:min(100%,...), because
   a percent height inside an auto-sized flex/grid track may resolve to 0.
   Use a definite CSS-pixel height and cap by the card's available space. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art{
  position:relative!important;
  z-index:4!important;
  display:flex!important;
  flex:1 1 auto!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  min-height:96px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  align-items:center!important;
  justify-content:center!important;
  align-content:center!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art img.bali-id-brand-master{
  position:relative!important;
  z-index:5!important;
  display:block!important;
  flex:0 0 auto!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:clamp(110px,23vw,195px)!important;
  min-width:0!important;
  max-width:58%!important;
  max-height:195px!important;
  margin:0 auto!important;
  padding:0!important;
  visibility:visible!important;
  opacity:1!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:var(--bali-card-logo-filter,none)
      drop-shadow(0 0 5px var(--bali-card-halo))!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art{
    min-height:90px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art img.bali-id-brand-master{
    height:clamp(106px,34vw,145px)!important;
    max-width:55%!important;
    max-height:145px!important;
  }
}


/* BALI ID banking dashboard: a truly static card page on desktop AND phone.
   These overrides come after the original six-tier card styles. */
body.bali-guest-theme #baliIdSection[hidden]{display:none!important}

body.bali-guest-theme #baliIdSection{
  box-sizing:border-box!important;
  position:fixed!important;
  top:calc(var(--bali-banner-height,0px) + var(--bali-header-height,60px))!important;
  bottom:calc(var(--bali-bottom-size,62px) + env(safe-area-inset-bottom))!important;
  left:0!important;right:0!important;
  height:auto!important;min-height:0!important;max-height:none!important;
  width:auto!important;
  margin:0!important;
  padding:clamp(4px,1dvh,12px) clamp(8px,2vw,26px)!important;
  overflow:hidden!important;overscroll-behavior:none!important;
  display:grid!important;align-items:center!important;justify-items:center!important;
}

body.bali-guest-theme #baliIdSection>.container{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:center!important;justify-items:center!important;
  width:100%!important;height:100%!important;max-height:100%!important;
  max-width:1100px!important;min-width:0!important;
  overflow:hidden!important;padding:0!important;margin:0 auto!important;
}

body.bali-guest-theme #baliIdSection .bali-id-page-title{
  justify-self:stretch!important;
  max-width:100%!important;
  font-size:clamp(16px,2.5dvh,31px)!important;
  line-height:1.15!important;
  margin:0 0 clamp(3px,.7dvh,10px)!important;
}

body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;
  align-content:center!important;
  gap:clamp(4px,.9dvh,12px)!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  max-height:100%!important;margin:0!important;
  padding:clamp(8px,1.6dvh,19px) clamp(8px,1.5vw,22px)!important;
  overflow:hidden!important;
  border-radius:clamp(12px,2vw,22px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-heading{
  justify-self:stretch!important;min-height:0!important;
  font-size:clamp(9px,1.3dvh,13px)!important;line-height:1.2!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  box-sizing:border-box!important;
  width:min(100%,var(--bali-bank-card-width))!important;
  max-width:100%!important;
  aspect-ratio:1.68!important;
  min-width:0!important;min-height:0!important;
  height:auto!important;max-height:none!important;
  margin:0 auto!important;
  container-type:inline-size;
  touch-action:pan-y;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
  min-height:0!important;
  padding:clamp(10px,3.6cqw,29px)!important;
  border-radius:clamp(10px,3.8cqw,28px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-back{
  padding:clamp(9px,3cqw,22px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-brand-label,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardTier,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardHeaderTier{
  font-size:clamp(8px,1.65cqw,16px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-bottom strong{
  font-size:clamp(10px,2.4cqw,21px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-number{
  font-size:clamp(12px,3.4cqw,29px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art{
  min-height:0!important;overflow:hidden!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art img.bali-id-brand-master{
  height:clamp(54px,27cqw,195px)!important;
  max-height:100%!important;max-width:54%!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits{
  overflow:hidden!important;overscroll-behavior:none!important;
  scrollbar-width:none!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits ul{
  max-height:100%!important;overflow:hidden!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits li{
  font-size:clamp(9px,1.55cqw,13px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr,
body.bali-guest-theme #baliIdSection .bali-id-status,
body.bali-guest-theme #baliIdSection .bali-bank-actions,
body.bali-guest-theme #baliIdSection .bali-bank-wallet{
  box-sizing:border-box!important;
  width:min(100%,var(--bali-bank-card-width))!important;
  min-width:0!important;max-width:100%!important;
  margin-inline:auto!important;justify-self:center!important;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr{
  margin:0!important;
  min-height:clamp(33px,4.8dvh,46px)!important;
  padding:clamp(6px,.8dvh,11px)!important;
  border-radius:10px!important;
  font-size:clamp(10px,1.5dvh,13px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-show-qr svg{width:19px;height:19px}

body.bali-guest-theme #baliIdSection .bali-id-status{
  min-height:0!important;font-size:10px!important;
  overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
}

@media(min-width:1180px){
  body.bali-guest-theme #baliIdSection{
    left:var(--bali-pc-side,240px)!important;top:var(--bali-banner-height,0px)!important;
    bottom:0!important;padding:clamp(6px,1.5dvh,22px) clamp(9px,2vw,34px)!important;
  }

  body.bali-guest-theme #baliIdSection{
    --bali-bank-card-width:min(100%,clamp(230px,calc((100dvh - var(--bali-banner-height,0px) - 300px)*1.68),980px));
  }
}

@media(min-width:768px) and (max-width:1179px){
  body.bali-guest-theme #baliIdSection{
    --bali-bank-card-width:min(100%,clamp(230px,calc((100dvh - 300px)*1.68),740px));
  }
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection{
    --bali-bank-card-width:min(100%,clamp(165px,calc((100dvh - 310px)*1.68),600px));
    padding:5px 8px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
    padding:clamp(6px,1.1dvh,11px)!important;
    gap:clamp(3px,.7dvh,7px)!important;
    border-radius:13px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-page-title{font-size:clamp(16px,2.8dvh,23px)!important}

  body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
    aspect-ratio:1.68!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-wallet-list{gap:3px}

  body.bali-guest-theme #baliIdSection .bali-bank-balance{padding:5px 4px}

  body.bali-guest-theme #baliIdSection .bali-bank-balance span{font-size:9px}

  body.bali-guest-theme #baliIdSection .bali-bank-actions button{font-size:11px}
}

@media(max-height:550px){
  body.bali-guest-theme #baliIdSection .bali-id-heading{font-size:9px!important}

  body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{gap:3px!important;padding-block:5px!important}

  body.bali-guest-theme #baliIdSection .bali-bank-balance{padding-block:3px}
}

body.bali-guest-theme #baliIdSection,
body.bali-guest-theme #baliIdSection>.container,
body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
  overscroll-behavior:none!important;
  scrollbar-width:none!important;
  overflow:hidden!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  touch-action:pan-y;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits{
  touch-action:none;
}

@media(max-height:480px){
  body.bali-guest-theme #baliIdSection .bali-id-page-title{font-size:15px!important}

  body.bali-guest-theme #baliIdSection .bali-id-heading{display:none!important}

  body.bali-guest-theme #baliIdSection .bali-id-show-qr{min-height:28px!important;padding:3px!important}

  body.bali-guest-theme #baliIdSection .bali-bank-actions button{height:30px!important}

  body.bali-guest-theme #baliIdSection .bali-id-status{display:none!important}
}


/* BALI ID · centred banking actions. Keep card page fixed while letting
   the card size adjust on short screens. All three actions share a rhythm. */
body.bali-guest-theme #baliIdSection .bali-bank-wallet[hidden]{
  display:none!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions{
  box-sizing:border-box!important;
  width:min(92%,570px)!important;
  max-width:100%!important;
  margin:clamp(18px,3.7dvh,43px) auto 0!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:clamp(10px,1.55vw,18px)!important;
  row-gap:clamp(8px,1.2dvh,14px)!important;
  align-items:stretch!important;
  justify-content:center!important;
  justify-items:stretch!important;
  align-self:center!important;
  justify-self:center!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions > button,
body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr{
  box-sizing:border-box!important;
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:clamp(42px,5.4dvh,55px)!important;
  min-height:42px!important;
  padding:8px 11px!important;
  margin:0!important;
  border-radius:12px!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(6px,1vw,10px)!important;
  font:750 clamp(12px,1.05vw,15px)/1.22 Manrope,Inter,sans-serif!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-transform:none!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions svg,
body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr svg{
  width:clamp(19px,1.7vw,24px)!important;
  height:clamp(19px,1.7vw,24px)!important;
  flex:none!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr{
  color:#f5fbf4!important;
  background:#25302a!important;
  border:1px solid rgba(185,255,81,.54)!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions button:focus-visible{
  outline:2px solid #caff79!important;
  outline-offset:2px!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-bank-actions{
    width:min(94%,410px)!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:clamp(8px,2vw,14px)!important;
    row-gap:clamp(8px,1.3dvh,12px)!important;
    margin-top:clamp(15px,3dvh,31px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions > button,
  body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr{
    font-size:clamp(12px,3.25vw,14px)!important;
    height:clamp(39px,5.7dvh,48px)!important;
    min-height:39px!important;
    padding:6px 8px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr{
    grid-column:1 / -1;
    width:calc((100% - clamp(8px,2vw,14px)) / 2)!important;
    justify-self:center!important;
  }
}

@media(max-height:650px){
  body.bali-guest-theme #baliIdSection .bali-bank-actions{
    margin-top:clamp(8px,2dvh,15px)!important;
    row-gap:6px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions > button,
  body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr{
    min-height:34px!important;height:clamp(34px,5.4dvh,42px)!important;
  }
}

@media(max-height:480px){
  body.bali-guest-theme #baliIdSection .bali-bank-actions{
    margin-top:5px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions > button,
  body.bali-guest-theme #baliIdSection .bali-bank-actions #baliShowQr{
    min-height:30px!important;height:32px!important;
  }
}


/* BALI brand system. Loaded last: existing phone/PC compositions remain the base.
   New visual changes belong here instead of another versioned theme override. */
@font-face{font-family:Manrope;src:url('assets/fonts/manrope-variable.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}

@font-face{font-family:Unbounded;src:url('assets/fonts/unbounded-variable.woff2') format('woff2');font-weight:500 700;font-style:normal;font-display:swap}

body.bali-guest-theme #profileSection .bali-id-page-title{
  flex:0 0 auto!important;
  margin:0 0 clamp(4px,.9dvh,12px)!important;
  font-size:clamp(17px,2.7dvh,30px)!important;
  line-height:1.15!important;
}

body.bali-guest-theme #profileSection .bali-profile-card.bali-id-profile {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:720px!important;
  max-height:calc(100% - 34px)!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:clamp(8px,1.8dvh,24px)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  align-content:center!important;
  gap:clamp(4px,1.1dvh,12px)!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

@media(max-height:460px){
  body.bali-guest-theme #profileSection .bali-profile-card.bali-id-profile{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:6px!important;gap:4px!important;
  }
}

/* PC BALI ID promotion: three overlapping physical cards, no guest data.
   Card click leads to the guest's personal BALI ID (or sign in). */
@media(min-width:1180px){
  body.bali-guest-theme #homeSection #baliHomeIdCard.bali-id-showcase{
    display:grid!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    align-content:stretch!important;
    gap:clamp(4px,.6dvh,9px)!important;
    padding:clamp(9px,1.25dvh,17px) clamp(10px,1.15vw,22px)!important;
    border:1px solid rgba(185,255,81,.22)!important;
    border-radius:clamp(12px,1.2vw,19px)!important;
    color:#f0f5ed!important;
    background:radial-gradient(ellipse at 22% 75%,rgba(185,255,81,.13),transparent 60%),linear-gradient(135deg,#161c1e,#080c0d 70%)!important;
    overflow:hidden!important;
    isolation:isolate;
    text-align:left!important;
    cursor:pointer!important;
  }

  body.bali-guest-theme #homeSection #baliHomeIdCard.bali-id-showcase:hover{
    border-color:rgba(185,255,81,.55)!important;
  }

  #baliHomeIdCard .bali-id-showcase-kicker{
    color:#b9ff51;font:850 clamp(8px,.67vw,13px)/1.2 Manrope,Inter,sans-serif;
    letter-spacing:.12em;white-space:nowrap;
  }

  #baliHomeIdCard .bali-id-showcase-layout{
    display:grid;grid-template-columns:minmax(78px,.9fr) minmax(0,1.45fr);gap:clamp(9px,1vw,18px);
    align-items:center;width:100%;height:100%;min-width:0;min-height:0;
  }

  #baliHomeIdCard .bali-id-showcase-deck{
    position:relative;display:block;height:100%;width:100%;min-height:60px;min-width:0;
  }

  #baliHomeIdCard .bali-id-showcase-mini{
    position:absolute;
    top:50%;left:50%;width:90%;aspect-ratio:1.68;
    display:flex;flex-direction:column;justify-content:space-between;
    padding:5% 6%;border-radius:7px;
    border:1px solid #ffffff4a;box-shadow:0 5px 14px #0009;
    transform-origin:center center;overflow:hidden;
    background:#141c18;color:#b9ff51;
  }

  #baliHomeIdCard .bali-id-showcase-mini img{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    max-width:38%;max-height:55%;object-fit:contain;filter:brightness(0) saturate(100%) invert(86%) sepia(69%) saturate(809%) hue-rotate(24deg) brightness(109%);
  }

  #baliHomeIdCard .bali-id-showcase-mini-back{
    z-index:1;background:linear-gradient(130deg,#141313,#020203);
    transform:translate(-35%,-64%) rotate(12deg);
    color:#fafafa;border-color:#ffffff50;
  }

  #baliHomeIdCard .bali-id-showcase-mini-back img{filter:brightness(0) invert(98%)}

  #baliHomeIdCard .bali-id-showcase-mini-mid{
    z-index:2;background:linear-gradient(130deg,#2d1c08,#0c0906);
    transform:translate(-63%,-46%) rotate(-12deg);
    color:#ffda75;border-color:#ffe08b70;
  }

  #baliHomeIdCard .bali-id-showcase-mini-mid img{
    filter:brightness(0) saturate(100%) invert(78%) sepia(39%) saturate(618%) hue-rotate(350deg) brightness(106%);
  }

  #baliHomeIdCard .bali-id-showcase-mini-front{
    z-index:3;transform:translate(-50%,-49%) rotate(-1deg);
    background:linear-gradient(130deg,#283428,#080d0c 66%,#1c241e);
    border-color:#b9ff5177;
    font:750 clamp(5px,.5vw,9px)/1 Manrope,sans-serif;letter-spacing:.09em;
  }

  #baliHomeIdCard .bali-id-showcase-mini-front>span:last-child{align-self:flex-end}

  #baliHomeIdCard .bali-id-showcase-copy{
    display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
    min-width:0;gap:clamp(3px,.6dvh,8px);height:100%;overflow:hidden;
  }

  #baliHomeIdCard .bali-id-showcase-copy strong{
    color:#fff;font:800 clamp(12px,1vw,19px)/1.15 Manrope,Inter,sans-serif;
    letter-spacing:-.02em;
  }

  #baliHomeIdCard .bali-id-showcase-copy>span{
    color:#c2ccc6;font:550 clamp(9px,.73vw,13px)/1.3 Manrope,Inter,sans-serif;
    display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
  }

  #baliHomeIdCard .bali-id-showcase-copy small{
    color:#a1b99e;font:650 clamp(7px,.57vw,10px)/1.3 Manrope,Inter,sans-serif;
    letter-spacing:.015em;overflow-wrap:anywhere;
  }

  #baliHomeIdCard .bali-id-showcase-link{
    align-self:end;justify-self:end;display:inline-flex;align-items:center;gap:8px;
    color:#c9f19a;font:750 clamp(9px,.7vw,12px)/1.2 Manrope,Inter,sans-serif;
    white-space:nowrap;
  }

  #baliHomeIdCard .bali-id-showcase-link span{
    font-size:clamp(14px,1.1vw,20px);
    transition:transform 180ms ease;
  }

  #baliHomeIdCard:hover .bali-id-showcase-link span{transform:translate(2px,-2px)}
}

@media(min-width:1180px) and (max-height:680px){
  #baliHomeIdCard .bali-id-showcase-copy small{display:none}

  #baliHomeIdCard .bali-id-showcase-layout{grid-template-columns:minmax(60px,.8fr) minmax(0,1.55fr)}
}

@media(prefers-reduced-motion:reduce){
  #baliHomeIdCard .bali-id-showcase-link span{transition:none!important}
}

body.bali-guest-theme :is(#homeSection,#eventsSection,#menuPage,#baliIdSection,#profileSection,#contactsSection) :is(h1,h2,h3),
body .admin-shell :is(h1,h2,h3) {
  text-wrap:balance;
}

body.bali-guest-theme :is(#homeSection,#eventsSection,#menuPage,#baliIdSection,#profileSection,#contactsSection) :is(p,small),
body .admin-shell :is(p,small) {
  overflow-wrap:break-word;
}


/* BALI ID: detail polish only; do not change the static page's measured
   height, 3D flip mechanics, QR visibility or transfer/history dialogs. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene {
  perspective:1200px;
}

body.bali-guest-theme #baliIdSection :is(#baliIdTransferOpen,#baliIdHistoryOpen,#baliShowQr):focus-visible{
  outline:2px solid var(--bali-x-accent)!important;
  outline-offset:3px;
}


/* BALI ID physical 3D and desktop-only calendar columns. 
   No homepage or PC navigation changes: the original homepage remains intact. */

/* True thickness: the existing front/back are separated in Z and four
   metallic side walls close the volume at any intermediate swipe angle. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene {
  --bali-id-depth:clamp(14px,2.3cqw,23px);
  perspective:1150px!important;
  -webkit-perspective:1150px!important;
  touch-action:none!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  cursor:grab;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene:active {cursor:grabbing}

body.bali-guest-theme #baliIdSection .bali-id-flip-track {
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
  transition:transform 690ms cubic-bezier(.17,.76,.23,1);
  will-change:transform;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track .bali-id-card-front {
  transform:translateZ(calc(var(--bali-id-depth) * .5))!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track .bali-id-card-back {
  transform:rotateY(180deg) translateZ(calc(var(--bali-id-depth) * .5))!important;
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge {
  position:absolute;
  display:block;
  box-sizing:border-box;
  z-index:0;
  pointer-events:none;
  backface-visibility:visible;
  -webkit-backface-visibility:visible;
  background:linear-gradient(90deg,rgba(3,7,8,.97) 0%,var(--bali-card-body,#111817) 24%,var(--bali-card-main,#b9ff51) 53%,rgba(5,8,8,.95) 100%);
  border:1px solid var(--bali-card-main,#b9ff51);
  box-shadow:inset 0 0 8px rgba(0,0,0,.6),0 0 10px var(--bali-card-halo,rgba(185,255,81,.18));
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-left,
body.bali-guest-theme #baliIdSection .bali-id-3d-edge-right {
  width:var(--bali-id-depth);
  height:100%;
  top:0;
  transform:translateX(-50%) rotateY(90deg);
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-left {left:0}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-right {left:100%}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-top,
body.bali-guest-theme #baliIdSection .bali-id-3d-edge-bottom {
  width:100%;
  height:var(--bali-id-depth);
  left:0;
  transform:translateY(-50%) rotateX(90deg);
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-top {top:0}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-bottom {top:100%}

body.bali-guest-theme #baliIdSection .bali-id-card-front .bali-id-centre-art img.bali-id-brand-master {
  image-rendering:auto;
}


@media(prefers-reduced-motion:reduce){
  body.bali-guest-theme #baliIdSection .bali-id-flip-track{transition:none!important}
}


/* BALI 2026 · Isolated BALI ID finishing + accurate desktop editorial miniatures.
   Deliberately does not modify the homepage hero, calendar or PC navigation. */

/* The ID page must float directly on the venue background, never a grey card. */
body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile {
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  overflow:visible!important;
}

body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile::before,
body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile::after {content:none!important}

body.bali-guest-theme #baliIdSection .bali-id-heading {display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-page-title {
  text-align:center!important;
  font-weight:850!important;
  letter-spacing:.16em!important;
  margin-bottom:clamp(9px,1.5dvh,20px)!important;
  color:#f4f8f2!important;
}


/* Card retains the EXACT current width, aspect ratio and logo box. Rounded
   front/back silhouettes and gently capped metallic side-wall geometry. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene {
  --bali-id-round:clamp(17px,4cqw,28px);
  --bali-id-shadow-scale:1;
  --bali-id-shadow-strength:.31;
  --bali-id-depth:clamp(4px,.85cqw,7px);
  --bali-id-light-x:32%;
  overflow:visible!important;
  isolation:isolate!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene::before {
  content:"";
  pointer-events:none;
  position:absolute;
  inset:6% 5% -9% 5%;
  z-index:0;
  border-radius:45%;
  background:radial-gradient(ellipse at 50% 56%,rgba(0,0,0,.94),rgba(0,0,0,.52) 43%,rgba(0,0,0,0) 78%);
  filter:blur(clamp(12px,2.9cqw,25px));
  opacity:var(--bali-id-shadow-strength);
  transform:translateY(clamp(9px,2.2cqw,18px)) scaleX(var(--bali-id-shadow-scale));
  transform-origin:center;
  transition:transform 90ms linear,opacity 90ms linear;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track {
  position:relative!important;
  z-index:1!important;
  transform-style:preserve-3d!important;
  -webkit-transform-style:preserve-3d!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card {
  border-radius:var(--bali-id-round)!important;
  overflow:hidden!important;
  /* Clip the entire rotating face, including its glossy pseudo-elements,
     to a single rounded silhouette. A normal border-radius alone leaves
     rectangular children and corner highlights visible in 3D. */
  -webkit-clip-path:inset(0 round var(--bali-id-round))!important;
  clip-path:inset(0 round var(--bali-id-round))!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  border:1px solid var(--bali-card-ring)!important;
  background:
    radial-gradient(ellipse at var(--bali-id-light-x) 0%,rgba(255,255,255,.12),transparent 58%),
    linear-gradient(122deg,rgba(255,255,255,.035),transparent 40%,rgba(0,0,0,.3) 74%),
    linear-gradient(145deg,var(--bali-card-body),#080b0d 80%)!important;
  box-shadow:0 22px 36px rgba(0,0,0,.42),0 3px 5px rgba(0,0,0,.55),
    inset 0 1px rgba(255,255,255,.26),inset 0 -1px rgba(0,0,0,.8)!important;
}

/* Fine satin grain and a broad softbox reflection sit below the printed art. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card::before {
  content:""!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;border:0!important;
  border-radius:inherit!important;transform:none!important;
  background:repeating-linear-gradient(112deg,rgba(255,255,255,.025) 0 1px,transparent 1px 3px)!important;
  box-shadow:none!important;opacity:.65!important;pointer-events:none;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card::after {
  content:""!important;position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;border:0!important;
  border-radius:inherit!important;transform:none!important;
  background:linear-gradient(112deg,transparent 16%,rgba(255,255,255,.09) 36%,
    rgba(255,255,255,.02) 48%,transparent 61%)!important;
  background-size:180% 100%!important;background-position:40% 50%!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important;
  opacity:1!important;pointer-events:none;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-bottom,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-brand-label,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene #baliCardTier {
  text-shadow:0 1px 1px rgba(0,0,0,.85),0 -1px rgba(255,255,255,.12)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge {
  border-radius:clamp(6px,1.1cqw,12px)!important;
  box-shadow:inset 0 0 7px rgba(0,0,0,.65),0 0 11px var(--bali-card-halo,rgba(185,255,81,.16))!important;
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-left,
body.bali-guest-theme #baliIdSection .bali-id-3d-edge-right {
  top:calc(var(--bali-id-round) * .50)!important;
  height:calc(100% - var(--bali-id-round))!important;
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-left,
body.bali-guest-theme #baliIdSection .bali-id-3d-edge-right {
  /* A rounded-card side is an elongated capsule, not a rectangle.
     Pull it away from each corner, round the ends, and fade the final
     few pixels. This keeps the visible 90° thickness without corners. */
  top:var(--bali-id-round)!important;
  height:calc(100% - var(--bali-id-round) - var(--bali-id-round))!important;
  border:0!important;
  border-radius:999px!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 91%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,#000 9%,#000 91%,transparent 100%)!important;
  box-shadow:inset 0 0 7px rgba(0,0,0,.45)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-3d-edge-top,
body.bali-guest-theme #baliIdSection .bali-id-3d-edge-bottom {
  /* Y-only rotation: horizontal slab walls protruded into the rounded
     corners. They are invisible in a natural horizontal flip and removed. */
  display:none!important;
}

/* The click's camera move is independent from swipe-following. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene:is([data-bali-loading="true"],[data-bali-loading="error"]) {
  --bali-card-ink:#c6cdd0;--bali-card-body:#111619;--bali-card-ring:rgba(255,255,255,.15);
  cursor:progress;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene:is([data-bali-loading="true"],[data-bali-loading="error"]) .bali-id-card>* {
  visibility:hidden!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene:is([data-bali-loading="true"],[data-bali-loading="error"])::after {
  content:"Загружаем вашу Bali Card…";position:absolute;inset:0;z-index:8;
  display:grid;place-items:center;color:#c6cdd0;pointer-events:none;
  font:600 clamp(12px,2.5cqw,18px)/1.5 Manrope,Inter,sans-serif;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-loading="error"]::after {content:"Карта не загружена"}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection #baliIdStatus:not(:empty) {
  display:block!important;position:absolute!important;
  top:60px!important;bottom:auto!important;left:50%!important;transform:translateX(-50%)!important;
  width:min(90%,620px)!important;max-height:none!important;overflow:visible!important;
  padding:10px 14px!important;border-radius:12px;background:#17211e;
  color:#e1ebe3;font-size:12px!important;text-align:center!important;pointer-events:auto!important;
  z-index:10;
}

#baliIdRetry {display:block;margin:8px auto 0;padding:8px 12px;border-radius:8px;
  border:1px solid #b9ff51;background:#243321;color:#efffe4;cursor:pointer}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene.is-cinematic::before {
  animation:bali-id-floor-shadow 820ms cubic-bezier(.3,0,.2,1) both!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene.is-cinematic .bali-id-card::after {
  animation:bali-id-softbox 820ms cubic-bezier(.3,0,.2,1) both!important;
}

@keyframes bali-id-softbox {
  from {background-position:5% 50%}
  to {background-position:95% 50%}
}

@keyframes bali-id-floor-shadow {
  0%   {opacity:.33;transform:translateY(14px) scaleX(1)}
  25%  {opacity:.6;transform:translateY(26px) scaleX(.92)}
  54%  {opacity:.7;transform:translateY(28px) scaleX(.53)}
  78%  {opacity:.46;transform:translateY(21px) scaleX(.8)}
  100% {opacity:.33;transform:translateY(14px) scaleX(1)}
}

@media(prefers-reduced-motion:reduce){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene::before,
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card::after {transition:none!important;animation:none!important}
}


/* Promotional miniature cards reproduce the layout of the genuine BALI ID
   face: privilege/tier top, unchanged emblem in the centre, name/number low.
   Never show a synthetic real member number or claim a specific guest tier. */
@media(min-width:1180px){
  #homeSection #baliHomeIdCard .bali-id-showcase-mini {
    box-sizing:border-box;
    border-radius:clamp(7px,.75vw,12px)!important;
    padding:5% 6.5%!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:space-between!important;
    gap:2px!important;
    overflow:hidden!important;
    box-shadow:0 9px 24px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.12)!important;
    background:radial-gradient(ellipse at 68% 4%,rgba(148,174,120,.22),transparent 52%),linear-gradient(137deg,#14211a,#050908 68%,#14201a)!important;
    color:#c0ff2f!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini[data-mini-tier="gold"] {
    background:radial-gradient(ellipse at 68% 3%,rgba(255,185,71,.27),transparent 58%),linear-gradient(137deg,#251709,#0a0908 68%,#1b1109)!important;
    border-color:rgba(251,198,90,.58)!important;
    color:#fbc65a!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini[data-mini-tier="black"] {
    background:radial-gradient(ellipse at 68% 4%,rgba(225,225,225,.14),transparent 56%),linear-gradient(137deg,#222326,#030304 65%,#101115)!important;
    border-color:rgba(245,245,245,.62)!important;
    color:#fafafa!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini .bali-id-mini-heading,
  #homeSection #baliHomeIdCard .bali-id-showcase-mini .bali-id-mini-footer {
    display:flex!important;
    justify-content:space-between!important;
    align-items:baseline!important;
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    gap:3px!important;
    min-width:0!important;
    line-height:1.08!important;
    font:760 clamp(3.3px,.34vw,5.7px)/1.13 Manrope,Inter,Arial,sans-serif!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
    color:inherit!important;
    white-space:nowrap!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini .bali-id-mini-heading>span:first-child{
    font-size:.91em!important;
    letter-spacing:.015em!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini .bali-id-mini-footer>span:last-child{
    font-variant-numeric:tabular-nums;
    font-weight:650;
    letter-spacing:.1em;
    opacity:.9;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini img {
    position:absolute!important;
    z-index:1!important;
    left:50%!important;top:50%!important;
    width:auto!important;
    height:58%!important;
    max-width:36%!important;
    max-height:58%!important;
    transform:translate(-50%,-50%)!important;
    object-fit:contain!important;
    filter:brightness(0) saturate(100%) invert(86%) sepia(69%) saturate(809%) hue-rotate(24deg) brightness(109%)!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini[data-mini-tier="black"] img {
    filter:brightness(0) invert(98%)!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-mini[data-mini-tier="gold"] img {
    filter:brightness(0) saturate(100%) invert(78%) sepia(39%) saturate(618%) hue-rotate(350deg) brightness(106%)!important;
  }
}


/* BALI ID: never place the 3D card behind artificial vertical crop lines.
   Do not re-introduce a container panel or any visible framing rectangle. */
body.bali-guest-theme #baliIdSection>.container {
  overflow:visible!important;
  clip-path:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}

body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
  overflow:visible!important;
  clip-path:none!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  box-sizing:border-box!important;
  position:relative!important;
  width:min(calc(100% - clamp(16px,5vw,54px)),645px)!important;
  max-width:calc(100% - clamp(16px,5vw,54px))!important;
  margin-inline:auto!important;
  overflow:visible!important;
  clip-path:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  outline:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-track{
  overflow:visible!important;
  outline:0!important;
  border:0!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card{
  /* The real rounded card is the ONLY visible boundary. */
  outline:0!important;
  outline-offset:0!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card:focus-visible {
  outline:2px solid var(--bali-card-main,#b9ff51)!important;
  outline-offset:2px!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
    width:calc(100% - 20px)!important;
    max-width:calc(100% - 20px)!important;
  }
}

/* Keep the page itself viewport-fixed: no vertical scroll even as overflow
   inside the presentation area is allowed to render the 3D side walls. */
body.bali-guest-theme #baliIdSection {
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

/* Header is editorial metadata, not a bounding panel for the 3D card.
   Sit it at the page top-right; keep safe card clearance at every angle. */
body.bali-guest-theme #baliIdSection>.container {position:relative!important}

body.bali-guest-theme #baliIdSection .bali-id-page-title{
  position:absolute!important;
  top:clamp(6px,1.1dvh,16px)!important;
  right:clamp(12px,2.5vw,38px)!important;
  left:auto!important;width:auto!important;max-width:calc(100% - 24px)!important;
  margin:0!important;padding:0!important;
  text-align:right!important;
  font:850 clamp(14px,1.65vw,24px)/1.25 Manrope,Inter,Arial,sans-serif!important;
  letter-spacing:.075em!important;
  color:#f5f9f0!important;z-index:2!important;
}

body.bali-guest-theme #baliIdSection .bali-id-page-descriptor{
  color:#bcccb8!important;
  font:580 clamp(10px,.94vw,14px)/1.3 Manrope,Inter,Arial,sans-serif!important;
  letter-spacing:0!important;text-transform:none!important;
}

body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile {
  transform:translateY(clamp(-17px,-1.3dvh,-6px))!important;
}

/* Parent section can stay viewport-fixed while allowing the perspective
   scene to paint freely. A generous horizontal inset accounts for the 3D
   thickness even during an interrupted click animation. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  width:min(calc(100% - clamp(30px,9vw,96px)),645px)!important;
  max-width:calc(100% - clamp(30px,9vw,96px))!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-id-page-title{
    top:6px!important;right:clamp(10px,3vw,18px)!important;
    font-size:clamp(12px,3.9vw,17px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-page-descriptor{
    font-size:clamp(9px,2.5vw,11px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
    width:calc(100% - 34px)!important;
    max-width:calc(100% - 34px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
    transform:translateY(-7px)!important;
  }
}

@media(max-height:550px){
  body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
    transform:none!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-page-title{
    top:0!important;font-size:12px!important;
  }
}


/* Match the soft shadow rhythm to the longer, smoother 3D flip. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene.is-cinematic::before{
  animation-duration:1150ms!important;
}


/* BALI ID: Resident Bali - DJ, special staff category. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="residentdj"]{
  --bali-card-ink:#ffd29a;
  --bali-card-main:#ff8c47;
  --bali-card-shine:rgba(255,93,26,.70);
  --bali-card-halo:rgba(242,65,12,.42);
  --bali-card-body:#1b0809;
  --bali-card-bloom:rgba(253,115,22,.52);
  --bali-card-ring:rgba(255,136,42,.43);
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(73%) sepia(82%) saturate(1315%) hue-rotate(339deg) brightness(107%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="residentdj"] .bali-id-card{
  background:radial-gradient(ellipse at 83% -12%,rgba(255,132,35,.30),transparent 56%),
    radial-gradient(ellipse at 10% 110%,rgba(232,33,13,.25),transparent 57%),
    linear-gradient(135deg,#080508,#230b0b 61%,#090509)!important;
  border-color:var(--bali-card-main)!important;
  box-shadow:0 11px 24px rgba(0,0,0,.48),0 0 0 1px var(--bali-card-ring),
    0 0 18px var(--bali-card-shine),inset 0 0 17px var(--bali-card-halo)!important;
}

/* Render the exact BALI master emblem in the identical solid ink as card text.
   The source SVG is used as an alpha mask (not recreated or recolored by filter).
   The original image stays in the DOM for accessibility and layout. */
@supports ((-webkit-mask-image:url("assets/bali-id-card-readable.svg")) or (mask-image:url("assets/bali-id-card-readable.svg"))){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="residentdj"] .bali-id-card-front .bali-id-centre-art img.bali-id-brand-master{
    opacity:0!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="residentdj"] .bali-id-card-front .bali-id-centre-art::after{
    content:"";
    position:absolute;
    z-index:6;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    display:block;
    width:auto;
    height:clamp(110px,23vw,195px);
    aspect-ratio:450/531;
    max-width:58%;
    max-height:195px;
    background-color:var(--bali-card-ink);
    -webkit-mask-image:url("assets/bali-id-card-readable.svg?v=20261020-no-subtitle");
    mask-image:url("assets/bali-id-card-readable.svg?v=20261020-no-subtitle");
    -webkit-mask-size:contain;
    mask-size:contain;
    -webkit-mask-position:center;
    mask-position:center;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    filter:drop-shadow(0 0 5px var(--bali-card-halo));
    pointer-events:none;
  }

  @media(max-width:767px){
    body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="residentdj"] .bali-id-card-front .bali-id-centre-art::after{
      height:clamp(106px,34vw,145px);
      max-width:55%;
      max-height:145px;
    }
}
}


/* Solid source-exact BALI vector across all status cards. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art img.bali-id-brand-master{visibility:hidden!important;opacity:0!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art::after{content:none!important;display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-centre-art svg.bali-id-inline-mark{
 position:absolute!important;z-index:7!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
 display:block!important;width:auto!important;height:clamp(54px,27cqw,195px)!important;max-height:100%!important;max-width:54%!important;aspect-ratio:450/531!important;
 color:var(--bali-card-ink)!important;fill:currentColor!important;opacity:1!important;filter:none!important;mix-blend-mode:normal!important;pointer-events:none!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene svg.bali-id-inline-mark path{fill:currentColor!important;opacity:1!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-back .bali-id-benefits li{
 display:grid!important;grid-template-columns:clamp(11px,2.5cqw,17px) minmax(0,1fr)!important;
 align-items:center!important;column-gap:clamp(2px,.45cqw,5px)!important;padding:0!important;min-height:1.45em!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-back .bali-id-benefits li::before{
 content:"•"!important;position:static!important;display:block!important;align-self:center!important;justify-self:center!important;
 transform:none!important;margin:0!important;padding:0!important;line-height:1!important;font-size:clamp(11px,2cqw,16px)!important;color:var(--bali-card-ink)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits{min-height:0!important;flex:1 1 auto!important;overflow:hidden!important}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-benefits ul{max-height:100%!important;overflow:hidden!important;align-content:start}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-back-bonuses{
 position:relative;z-index:7;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 align-items:end;flex:0 0 auto;width:100%;gap:clamp(2px,1cqw,9px);margin-top:auto;
 padding:clamp(4px,1.5cqw,10px) 0 0;border-top:1px solid var(--bali-card-ring);color:var(--bali-card-ink);
}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-back-bonuses[hidden]{display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-bonus{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:end;gap:clamp(1px,.35cqw,4px)}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-bonus svg{width:clamp(14px,4.8cqw,28px);height:clamp(14px,4.8cqw,28px);display:block;flex:none;color:inherit}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-bonus strong{font:800 clamp(10px,2.7cqw,19px)/1 Manrope,Inter,sans-serif;color:inherit;font-variant-numeric:tabular-nums;white-space:nowrap}

body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-bonus output{font:inherit;color:inherit}

@media(max-width:767px){
 body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-back-bonuses{padding-top:clamp(3px,1cqw,6px)}

 body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-bonus svg{width:clamp(12px,4cqw,19px);height:clamp(12px,4cqw,19px)}

 body.bali-guest-theme #baliIdSection .bali-id-card-back .bali-id-bonus strong{font-size:clamp(9px,2.5cqw,13px)}
}


/* The card number defines one consistent type scale for all identity fields. */
body.bali-guest-theme #baliIdSection #baliIdFlipScene{
 --bali-card-meta-size:clamp(12px,3.4cqw,29px);
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene :is(.bali-id-brand-label,#baliCardTier,#baliCardHeaderTier,#baliCardName,#baliCardNumber){
 font:580 var(--bali-card-meta-size)/1.25 Manrope,Inter,sans-serif!important;
 letter-spacing:.025em!important;min-width:0;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene .bali-id-top{
 flex-wrap:wrap;column-gap:12px;row-gap:5px;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliCardTier{margin-left:auto}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliCardName{
 overflow-wrap:anywhere;max-width:72%;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene .bali-id-bonus svg{
 width:clamp(22px,6cqw,36px);height:clamp(22px,6cqw,36px);
 overflow:visible;stroke-linecap:round;stroke-linejoin:round;
}


/* BALI ID top-right history + payment actions and camera/receipt overlays */
body.bali-guest-theme #baliIdSection .bali-id-topbar{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;min-height:43px}

body.bali-guest-theme #baliIdSection .bali-id-topbar .bali-id-page-title{margin:0!important;padding:0 190px!important;text-align:center!important;min-width:0}

body.bali-guest-theme #baliIdSection .bali-id-topbar-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:6px;z-index:5}

body.bali-guest-theme #baliIdSection .bali-id-topbar-actions button{display:flex;gap:5px;align-items:center;justify-content:center;background:rgba(20,31,26,.8);color:#eaffd5;border:1px solid rgba(181,248,91,.36);border-radius:10px;padding:9px 11px;font:750 clamp(10px,.95vw,12px) Manrope,Inter,sans-serif;cursor:pointer;min-height:37px}

body.bali-guest-theme #baliIdSection .bali-id-topbar-actions svg{width:18px;height:18px;flex:none}

body.bali-guest-theme #baliIdSection .bali-bank-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}

body.bali-guest-theme #baliIdSection .bali-bank-actions > button:first-child{background:#24352b!important;color:#efffe6!important;border-color:#566e56!important}

body.bali-guest-theme #baliIdSection .bali-bank-actions #baliIdTopupOpen{background:var(--bt-primary,#b9ff51)!important;color:#111c0f!important}

@media(max-width:767px){
 body.bali-guest-theme #baliIdSection .bali-id-topbar{justify-content:flex-start;min-height:39px}

 body.bali-guest-theme #baliIdSection .bali-id-topbar .bali-id-page-title{font-size:clamp(13px,2.8vw,19px)!important;padding:0 128px 0 2px!important;text-align:left!important;letter-spacing:.03em!important}

 body.bali-guest-theme #baliIdSection .bali-id-topbar .bali-id-page-descriptor{display:none!important}

 body.bali-guest-theme #baliIdSection .bali-id-topbar-actions button{padding:8px;min-height:35px}

 body.bali-guest-theme #baliIdSection .bali-id-topbar-actions button span{display:none}

 body.bali-guest-theme #baliIdSection .bali-bank-actions{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}


/* BALI ID: user-approved control order and location; never resize the card.
   History + QR are placed below the BALI ID heading in the page workspace.
   Card intrinsic size and existing viewport width variables are untouched. */
body.bali-guest-theme #baliIdSection > .container{
  position:relative!important;
}

/* Keep the controls outside the card's centered sizing/grid layout. */
body.bali-guest-theme #baliIdSection .bali-id-topbar{
  position:absolute!important;
  inset:0 0 auto 0!important;
  transform:none!important;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  z-index:12!important;
  pointer-events:none;
}

body.bali-guest-theme #baliIdSection .bali-id-topbar .bali-id-page-title{
  width:100%!important;
  padding:0!important;
  margin:0!important;
  text-align:center!important;
  line-height:1.2!important;
  pointer-events:auto;
}

body.bali-guest-theme #baliIdSection .bali-id-page-tools{
  position:absolute!important;
  top:clamp(40px,6dvh,64px)!important;
  right:0!important;
  left:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(6px,1.2vw,11px)!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  z-index:15!important;
}

body.bali-guest-theme #baliIdSection .bali-id-page-tools button,
body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
  box-sizing:border-box!important;
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:clamp(35px,4.6dvh,42px)!important;
  min-height:35px!important;
  padding:7px clamp(9px,1.2vw,14px)!important;
  gap:7px!important;
  border-radius:10px!important;
  border:1px solid rgba(185,255,81,.46)!important;
  background:rgba(27,39,31,.9)!important;
  color:#f3ffe6!important;
  font:750 clamp(11px,1.1vw,13px)/1.12 Manrope,Inter,sans-serif!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

body.bali-guest-theme #baliIdSection .bali-id-page-tools button svg{
  width:clamp(17px,1.6vw,20px)!important;
  height:clamp(17px,1.6vw,20px)!important;
  flex:none!important;
  display:block!important;
}

body.bali-guest-theme #baliIdSection .bali-id-page-tools button span{
  display:inline!important;
  font:inherit!important;
}

body.bali-guest-theme #baliIdSection .bali-id-page-tools button:focus-visible{
  outline:2px solid #d5ff8c!important;
  outline-offset:2px!important;
}

/* Under the card, exactly three actions in the requested order on all screens. */
body.bali-guest-theme #baliIdSection .bali-bank-actions{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions > button{
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  white-space:nowrap!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions #baliIdPayOpen{
  order:0;
  background:#26342a!important;
  color:#f2ffe9!important;
  border:1px solid rgba(185,255,81,.38)!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions #baliIdTopupOpen{
  order:1;
  background:var(--bt-primary,#b9ff51)!important;
  color:#111c0f!important;
}

body.bali-guest-theme #baliIdSection .bali-bank-actions #baliIdTransferOpen{
  order:2;
  background:#26342a!important;
  color:#f2ffe9!important;
  border:1px solid rgba(185,255,81,.38)!important;
}

@media(max-width:767px){
  body.bali-guest-theme #baliIdSection .bali-id-topbar .bali-id-page-title{
    text-align:center!important;
    padding:0!important;
    letter-spacing:.05em!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-page-tools{
    top:clamp(30px,5.7dvh,44px)!important;
    right:clamp(0px,1vw,4px)!important;
    gap:6px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-page-tools button,
  body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
    height:35px!important;
    min-height:35px!important;
    padding:6px 9px!important;
    font-size:11px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    column-gap:clamp(5px,1.6vw,9px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions > button{
    grid-column:auto!important;
    width:100%!important;
    min-height:39px!important;
    height:clamp(39px,5.7dvh,48px)!important;
    font-size:clamp(10px,2.85vw,13px)!important;
    padding:6px 4px!important;
    gap:4px!important;
  }

  body.bali-guest-theme #baliIdSection .bali-bank-actions > button svg{
    width:clamp(15px,4.3vw,19px)!important;
    height:clamp(15px,4.3vw,19px)!important;
  }
}

@media(max-height:620px){
  body.bali-guest-theme #baliIdSection .bali-id-page-tools{
    top:clamp(25px,4.6dvh,35px)!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-page-tools button,
  body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
    min-height:30px!important;
    height:32px!important;
  }
}


/* BALI ID CARD RESTORED SIZE — 21 Oct 2026
   Layout only. The three action handlers, flip gestures, card aspect ratio,
   tier styling, bonus details, and upper tool positions remain unchanged. */

/* On desktop the card's CENTER, rather than the entire card/actions stack,
   sits at the exact midpoint of the available page (after the side rail).
   Using viewport lengths avoids accidental height-axis % resolution. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
  --bali-id-large-width:min(780px,calc(100vw - var(--bali-pc-side,240px) - 78px),calc((100dvh - 360px)*1.68));
  --bali-id-half-card-height:calc(var(--bali-id-large-width)*.29761905);
  --bali-id-lower-gap:clamp(26px,3.5dvh,37px);
  --bali-id-action-height:clamp(42px,5.4dvh,55px);
  position:relative!important;
  height:100%!important;
  min-height:0!important;
  overflow:visible!important;
  padding-inline:0!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-profile-card.bali-id-profile{
  position:absolute!important;
  inset:0!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:0!important;
  margin:0!important;
  transform:none!important;
  display:block!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  pointer-events:none!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  box-sizing:border-box!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translate(-50%,-50%)!important;
  width:var(--bali-id-large-width)!important;
  max-width:calc(100vw - 20px)!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1.68 / 1!important;
  margin:0!important;
  overflow:visible!important;
  pointer-events:auto!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
  position:absolute!important;
  top:calc(50% + var(--bali-id-half-card-height) + var(--bali-id-lower-gap))!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(var(--bali-id-large-width),620px)!important;
  max-width:calc(100% - 16px)!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  pointer-events:auto!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
  height:var(--bali-id-action-height)!important;
  min-height:var(--bali-id-action-height)!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-wallet{
  position:absolute!important;
  top:calc(50% + var(--bali-id-half-card-height) + var(--bali-id-lower-gap) + var(--bali-id-action-height) + 13px)!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(var(--bali-id-large-width),620px)!important;
  max-width:calc(100% - 16px)!important;
  margin:0!important;
  pointer-events:auto!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-status{
  position:absolute!important;
  top:calc(50% + var(--bali-id-half-card-height) + var(--bali-id-lower-gap) + var(--bali-id-action-height) + 88px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(var(--bali-id-large-width),620px)!important;
  max-width:calc(100% - 16px)!important;
  margin:0!important;
  text-align:center!important;
  pointer-events:none!important;
}


/* Tablet: use most of the content canvas but leave the menu's fixed bars and
   enough room below the card for payment, top-up and transfer buttons. */
@media(min-width:768px) and (max-width:1179px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-large-width:min(calc(100vw - 44px),740px,calc((100dvh - 340px)*1.68));
  }
}


/* Phone: almost edge-to-edge card, with the actions lowered BELOW its bottom.
   The upper QR/history buttons preserve their earlier top-right coordinates. */
@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection{
    padding-inline:clamp(4px,1vw,6px)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-large-width:min(calc(100vw - 18px),calc((100dvh - 330px)*1.68));
    --bali-id-lower-gap:clamp(27px,4dvh,37px);
    --bali-id-action-height:clamp(39px,5.7dvh,48px);
    padding-inline:0!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
    width:min(var(--bali-id-large-width),440px)!important;
    max-width:calc(100% - 10px)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-wallet,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-status{
    width:min(var(--bali-id-large-width),440px)!important;
    max-width:calc(100% - 10px)!important;
  }
}

@media(max-height:620px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-lower-gap:clamp(15px,2.5dvh,24px);
  }
}


/* 21 Oct: keep the existing large card centered, but make each control readable
   and align QR / History with the right edge of THE CARD, not the viewport. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
  right:max(0px,calc((100% - var(--bali-id-large-width))/2 - 5px))!important;
  left:auto!important;
  transform:none!important;
  gap:10px!important;
  width:max-content!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(8px,1.3vw,14px)!important;
  width:min(var(--bali-id-large-width),680px)!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:0!important;
  width:100%!important;
  min-height:48px!important;
  height:clamp(48px,5.7dvh,56px)!important;
  padding:9px 10px!important;
  gap:7px!important;
  border-radius:12px!important;
  font:750 clamp(12px,1.15vw,15px)/1.15 Manrope,Inter,sans-serif!important;
  letter-spacing:0!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button svg{
  flex:0 0 auto!important;
  width:clamp(17px,1.65vw,21px)!important;
  height:clamp(17px,1.65vw,21px)!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button:focus-visible{
  outline:2px solid #d5ff8c!important;outline-offset:2px!important;
}

@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    /* Just twelve pixels narrower than the previous phone design. */
    --bali-id-large-width:min(calc(100vw - 30px),calc((100dvh - 330px)*1.68));
    --bali-id-action-height:clamp(48px,6.3dvh,55px);
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
    right:max(0px,calc((100% - var(--bali-id-large-width))/2 - 6px))!important;
    gap:7px!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools button{
    min-height:40px!important;
    height:40px!important;
    padding:8px 11px!important;
    font-size:12px!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
    width:min(var(--bali-id-large-width),440px)!important;
    max-width:calc(100% - 6px)!important;
    gap:clamp(5px,1.5vw,9px)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
    min-height:var(--bali-id-action-height)!important;
    height:var(--bali-id-action-height)!important;
    padding:8px 6px!important;
    gap:5px!important;
    font-size:clamp(10px,2.75vw,13px)!important;
  }
}

@media(max-width:380px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-action-height:54px;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
    flex-direction:column!important;
    gap:2px!important;
    padding:5px 3px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button svg{
    width:17px!important;height:17px!important;
  }
}


/* BALI ID layout hardening: actual border-box grid cells (no fused button
   borders), with the upper tools anchored to the right edge of the card. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  column-gap:clamp(8px,1.4vw,15px)!important;
  row-gap:0!important;
  justify-content:stretch!important;
  justify-items:stretch!important;
  align-items:stretch!important;
  width:min(var(--bali-id-large-width),680px)!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
  box-sizing:border-box!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:stretch!important;
  align-self:stretch!important;
  display:flex!important;
  flex:0 1 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:8px clamp(5px,.9vw,12px)!important;
  height:var(--bali-id-action-height)!important;
  min-height:var(--bali-id-action-height)!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  border-radius:12px!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button svg{
  flex:0 0 auto!important;
}

/* Calculate the tools' left edge from the real card centre and their
   own width; right edge is 4 px beyond the card, not the window. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
  box-sizing:border-box!important;
  position:absolute!important;
  left:calc(50% + var(--bali-id-large-width)/2)!important;
  right:auto!important;
  transform:translateX(calc(-100% + 4px))!important;
  width:max-content!important;
  margin:0!important;
  max-width:calc(100% - 8px)!important;
}

@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
    width:min(var(--bali-id-large-width),440px)!important;
    column-gap:clamp(7px,2vw,10px)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
    padding:6px 4px!important;
    min-height:var(--bali-id-action-height)!important;
    height:var(--bali-id-action-height)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
    transform:translateX(calc(-100% + 6px))!important;
  }
}


/* CRITICAL ROOT FIX: the page's old implicit CSS grid gives its ONLY track
   zero intrinsic width (all children are absolute). The entire .container
   consequently computes to 0px, collapsing the 3-button grid to 0px too.
   Use a regular fixed-page canvas of predictable nonzero width instead. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection{
  display:block!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
  display:block!important;
  position:relative!important;
  box-sizing:border-box!important;
  width:min(100%,1100px)!important;
  max-width:1100px!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0!important;
}


/* ROUTE ISOLATION — more specific than the late display:block!important rule.
   The full-viewport BALI ID canvas must NEVER render on another SPA page.
   Keep its dimensions unchanged while the user is actually on #id. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection[hidden],
:root[data-bali-theme] body.bali-guest-theme:not([data-bali-page="id"]) #baliIdSection{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}



/* BALI ID 21.10 — small visual lift, without resizing the physical card.
   Keep the two top controls inside the ID page, close to its header,
   and exactly the same size on mobile, tablet and desktop.
   Do not change the position of the three actions below the card. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
  --bali-id-card-lift:clamp(14px,2.35dvh,24px);
  --bali-id-tools-gap:clamp(7px,1.1dvh,12px);
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
  transform:translate(-50%,calc(-50% - var(--bali-id-card-lift)))!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  width:min(256px,calc(100% - 12px))!important;
  max-width:calc(100% - 12px)!important;
  gap:8px!important;
  top:var(--bali-id-tools-gap)!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools button,
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
  box-sizing:border-box!important;
  display:inline-flex!important;
  grid-column:auto!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:stretch!important;
  flex:1 1 0!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:8px!important;
  gap:7px!important;
  font-size:12px!important;
}

@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-card-lift:clamp(12px,2dvh,18px);
    --bali-id-tools-gap:clamp(6px,.8dvh,9px);
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
    width:min(224px,calc(100% - 12px))!important;
    gap:6px!important;
    top:var(--bali-id-tools-gap)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools button,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
    height:40px!important;
    min-height:40px!important;
    padding:7px 6px!important;
    gap:5px!important;
    font-size:11px!important;
  }
}

@media(max-height:620px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-card-lift:12px;
  }
}


/* 21 Oct · BALI ID: centre the card on the physical desktop viewport,
   rather than the area to the right of the desktop sidebar. */
@media(min-width:1180px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-centre-x:calc(50% - var(--bali-pc-side,240px)/2);
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-flip-scene{
    left:var(--bali-id-centre-x)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-wallet,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-status{
    left:var(--bali-id-centre-x)!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools{
    left:calc(var(--bali-id-centre-x) + var(--bali-id-large-width)/2)!important;
  }
}

/* Mobile: centre the card more evenly between the upper controls and
   the bottom action row; preserve its physical size and bottom button position. */
@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-card-lift:clamp(26px,4.2dvh,42px);
  }
}


/* BALI ID first-use acknowledgement — independent from the fixed card page. */
#baliIdWelcomeDialog{width:min(94vw,640px);max-height:min(92dvh,820px);padding:0;border:1px solid rgba(187,227,95,.29);border-radius:20px;color:#f4f6f2;background:linear-gradient(150deg,#1c211b,#0b0f0b 68%);box-shadow:0 28px 96px rgba(0,0,0,.76);overflow:hidden}

#baliIdWelcomeDialog::backdrop{background:rgba(0,0,0,.84);backdrop-filter:blur(11px)}

.bali-id-welcome-shell{display:flex;flex-direction:column;max-height:min(92dvh,820px);min-height:0}

.bali-id-welcome-head{padding:26px 28px 15px;flex-shrink:0}

.bali-id-welcome-kicker{display:block;color:#c2e47d;font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}

.bali-id-welcome-head h2{font-size:clamp(23px,3.4vw,32px);line-height:1.14;letter-spacing:-.035em;margin:8px 0 10px}

.bali-id-welcome-head p{color:#c8d0c4;font-size:14px;line-height:1.55;margin:0}

#baliIdWelcomeScroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;max-height:min(47dvh,365px);padding:6px 28px 24px;scrollbar-color:#a9ce64 #151b13;scrollbar-width:thin}

#baliIdWelcomeScroll h3{font-size:15px;margin:21px 0 9px;color:#e4f1c8}

#baliIdWelcomeScroll p,#baliIdWelcomeScroll li{font-size:13px;line-height:1.65;color:#c7cec3}

#baliIdWelcomeScroll p{margin:8px 0 12px}

#baliIdWelcomeScroll ul{padding-left:19px;margin:9px 0 15px}

#baliIdWelcomeScroll li+li{margin-top:9px}

.bali-id-welcome-note{border-left:2px solid #acd966;padding:9px 14px;background:rgba(158,214,91,.055);border-radius:0 8px 8px 0}

.bali-id-welcome-footer{flex-shrink:0;padding:15px 28px 24px;border-top:1px solid rgba(255,255,255,.09);background:#10160f}

#baliIdWelcomeHint{color:#bdc5b9;font-size:12px;line-height:1.5;margin:0 0 10px}

#baliIdWelcomeError{font-size:12px;color:#ffb6a6;line-height:1.45;margin:0 0 10px}

#baliIdWelcomeError:empty{display:none}

.bali-id-welcome-buttons{display:flex;gap:11px}

.bali-id-welcome-buttons button{flex:1;min-height:45px;border-radius:9px;font:700 14px/1.2 inherit;cursor:pointer;transition:opacity .15s}

#baliIdWelcomeCancel{background:transparent;color:#eee;border:1px solid rgba(255,255,255,.27)}

#baliIdWelcomeAccept{background:#b9ed66;border:1px solid #b9ed66;color:#11190a}

#baliIdWelcomeAccept:disabled{opacity:.35;cursor:not-allowed;filter:grayscale(.85)}

@media(max-width:520px){#baliIdWelcomeDialog{width:calc(100vw - 22px);border-radius:15px}
.bali-id-welcome-head{padding:22px 18px 12px}
#baliIdWelcomeScroll{max-height:48dvh;padding:4px 18px 19px}
.bali-id-welcome-footer{padding:14px 18px 20px}
.bali-id-welcome-buttons button{font-size:13px}
}

@media(prefers-reduced-motion:reduce){.bali-id-welcome-buttons button{transition:none}
}


/* Mandatory sign-in notification before the first-time programme introduction. */
#baliIdLoginDialog{width:min(92vw,455px);padding:0;border:1px solid rgba(187,227,95,.28);border-radius:18px;background:linear-gradient(140deg,#1a2017,#080b09);color:#f5f8ef;box-shadow:0 28px 95px rgba(0,0,0,.76)}

#baliIdLoginDialog::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(10px)}

.bali-id-login-shell{padding:27px 25px 24px;text-align:center}

.bali-id-login-icon{width:62px;height:62px;border:1px solid rgba(193,229,119,.35);border-radius:18px;margin:19px auto 14px;display:grid;place-items:center;color:#c0e679;background:rgba(179,222,98,.08)}

.bali-id-login-shell h2{font-size:clamp(20px,4vw,26px);font-weight:800;line-height:1.2;letter-spacing:-.025em;margin:0 0 12px}

.bali-id-login-shell p{color:#bac3b5;font-size:13px;line-height:1.65;margin:0 0 24px}

#baliIdLoginCancel,#baliIdLoginAction{min-height:48px;border-radius:9px;border:1px solid rgba(255,255,255,.2);font-size:13px;font-weight:750;cursor:pointer}

#baliIdLoginCancel{color:#edf0e8;background:transparent}

#baliIdLoginAction{color:#10170a;background:#b9ed66;border-color:#b9ed66}

@media(max-width:520px){.bali-id-login-shell{padding:24px 17px 19px}
.bali-id-login-shell .bali-id-welcome-buttons{flex-direction:column-reverse}
.bali-id-login-shell .bali-id-welcome-buttons button{width:100%}
}

.bali-id-bonus>.bali-brush-icon{width:24px;height:24px}



/* BALI CARD maintenance: exact card proportions, no real card data on display.
   Default is fail-closed until Cloudflare D1 confirms normal publication. */
:root:not([data-bali-card-maintenance="off"]) #baliIdSection :is(
 .bali-id-page-tools,#baliIdFlipScene,.bali-bank-actions,.bali-bank-wallet,#baliIdStatus
){display:none!important}

:root[data-bali-card-maintenance="off"] #baliIdMaintenanceCard{display:none!important}

#baliIdSection #baliIdMaintenanceCard{
 position:relative;isolation:isolate;box-sizing:border-box;display:flex;
 flex-direction:column;justify-content:space-between;
 width:100%;max-width:645px;aspect-ratio:1.68;
 margin-inline:auto;padding:clamp(17px,4vw,29px);
 border-radius:clamp(18px,4vw,29px);
 background:radial-gradient(ellipse at 85% 5%,#2e3832 0%,transparent 50%),linear-gradient(135deg,#111a15,#080b0a 70%);
 color:#f6fff4;border:1px solid #7b958180;
 box-shadow:0 18px 45px #0008,inset 0 0 30px #b6ff5209;
 overflow:hidden;text-align:left;
}

#baliIdMaintenanceCard::before{
 content:"";position:absolute;inset:-70%;z-index:-1;pointer-events:none;
 background:linear-gradient(110deg,transparent 40%,#ffffff08 51%,transparent 61%);
 transform:rotate(-15deg)
}

#baliIdMaintenanceCard .bali-maintenance-head{
 display:flex;align-items:center;justify-content:space-between;
 font-size:clamp(12px,2.1vw,18px);font-weight:800;letter-spacing:.05em
}

#baliIdMaintenanceCard .bali-maintenance-head small{font-size:.7em;color:#b6ff7d;letter-spacing:.16em}

#baliIdMaintenanceCard .bali-maintenance-body{
 text-align:center;display:grid;justify-items:center;align-content:center;gap:clamp(8px,2vw,15px);
 max-width:94%;margin:auto
}

#baliIdMaintenanceCard .bali-maintenance-mark{
 width:clamp(28px,6vw,48px);height:clamp(28px,6vw,48px);border:1px solid #b6ff6780;
 border-radius:50%;display:grid;place-items:center;font-size:clamp(17px,3vw,24px);color:#beff75
}

#baliIdMaintenanceCard #baliIdMaintenanceTitle{
 font-size:clamp(14px,3.2vw,25px);font-weight:900;line-height:1.13;letter-spacing:.02em;
 max-width:100%;overflow-wrap:anywhere
}

#baliIdMaintenanceCard #baliIdMaintenanceDescription{
 font-size:clamp(10px,1.8vw,14px);line-height:1.4;color:#c6d7cb
}

#baliIdMaintenanceCard .bali-maintenance-foot{font-size:clamp(9px,1.45vw,12px);letter-spacing:.16em;color:#acbba9}

@media(max-width:440px){
 #baliIdSection #baliIdMaintenanceCard{padding:clamp(12px,3.5vw,16px)}

 #baliIdMaintenanceCard .bali-maintenance-body{gap:6px}
}



/* Six independent, decorative positions. Native input keeps keyboard and accessibility. */
.bali-card-number-entry{display:block;position:relative;box-sizing:border-box;width:100%;height:50px;min-width:0;border:1px solid #617566;border-radius:11px;background:#243229;cursor:text}

.bali-card-number-entry:focus-within{border-color:#b9ff51;box-shadow:0 0 0 2px #b9ff512e}

.bali-card-number-entry .bali-card-number-slots{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;align-items:center;box-sizing:border-box;height:100%;padding:0 12px;pointer-events:none}

.bali-card-number-entry .bali-card-number-slots span{position:relative;display:grid;place-items:center;min-width:0;height:100%;text-align:center;color:#fff;font:750 clamp(19px,5vw,24px)/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}

.bali-card-number-entry .bali-card-number-slots span::after{content:"";position:absolute;left:50%;bottom:10px;width:min(26px,80%);border-bottom:2px solid #bacdbd;transform:translateX(-50%)}

.bali-card-number-entry .bali-card-number-slots span.is-filled::after{display:none}

.bali-card-number-entry input:is(#baliTransferRecipient,#baliCoinTransferNumber){position:absolute!important;inset:0!important;z-index:1;box-sizing:border-box!important;width:100%!important;height:100%!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;font-size:16px!important;cursor:text}



/* BIG BOSS: owner-only visual treatment. All card geometry comes from
   bali-id-flip.css, so front/back retain the same 1.68 aspect ratio,
   645px max width, flip behaviour and responsive breakpoints as other tiers.
   Reference: dark brushed metal, bright champagne gold and sweeping rings. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"]{
  --bali-card-ink:#ffe4a0;
  --bali-card-main:#eab64e;
  --bali-card-shine:rgba(255,184,65,.55);
  --bali-card-halo:rgba(241,159,39,.32);
  --bali-card-body:#090705;
  --bali-card-bloom:rgba(242,156,27,.32);
  --bali-card-ring:rgba(255,210,121,.47);
  --bali-card-logo-filter:brightness(0) saturate(100%) invert(85%) sepia(34%) saturate(1079%) hue-rotate(339deg) brightness(105%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card{
  color:var(--bali-card-ink)!important;
  border:1.5px solid #ffd880!important;
  background:
    radial-gradient(ellipse at 75% 18%,rgba(255,201,88,.34) 0,rgba(114,66,8,.20) 18%,transparent 46%),
    radial-gradient(ellipse at 10% 98%,rgba(190,103,16,.23),transparent 43%),
    repeating-linear-gradient(155deg,rgba(255,220,146,.026) 0 1px,transparent 1px 5px),
    linear-gradient(120deg,#100d0a 5%,#030304 48%,#241604 78%,#050506 100%)!important;
  box-shadow:
    0 13px 30px rgba(0,0,0,.52),
    0 0 0 1px rgba(251,208,122,.46),
    0 0 20px rgba(255,178,49,.30),
    inset 0 0 17px rgba(254,208,106,.23)!important;
}

/* Graphic rings are decorative only and cannot change the card's box. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card::before{
  width:124%;aspect-ratio:1;
  left:25%;bottom:-105%;
  border:1px solid rgba(254,208,109,.72);
  border-radius:50%;
  box-shadow:
    0 0 0 21px rgba(203,133,35,.13),
    0 0 0 57px rgba(255,185,59,.14),
    0 0 0 104px rgba(166,90,15,.12),
    0 0 0 162px rgba(255,202,108,.055);
  background:radial-gradient(ellipse at 25% 27%,rgba(255,206,112,.07),transparent 60%);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card::after{
  inset:-82% -38% auto auto;
  width:96%;aspect-ratio:1;
  border-color:rgba(255,201,105,.40);
  background:radial-gradient(circle at 40% 55%,rgba(255,195,66,.24),transparent 58%);
  pointer-events:none;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] :is(.bali-id-brand-label,.bali-id-back-brand){
  text-transform:uppercase;
  font-weight:570!important;
  letter-spacing:.14em!important;
}

body.bali-guest-theme #baliIdSection .bali-id-back-brand{display:none}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-back-brand{
  display:block;
  font-size:var(--bali-card-meta-size,clamp(11px,3cqw,22px))!important;
  color:var(--bali-card-ink)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] :is(#baliCardTier,#baliCardHeaderTier){
  color:#ffe5a3!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] svg.bali-id-inline-mark{
  color:#f5c65d!important;
  filter:drop-shadow(0 1px 5px rgba(255,193,56,.34))!important;
}

/* Bespoke privilege typography, still using the same existing back. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back .bali-id-benefits{
  padding:clamp(4px,1.2cqw,10px) 0 2px!important;
  overflow-y:auto!important;
  scrollbar-width:none;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back .bali-id-benefits::-webkit-scrollbar{display:none}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back .bali-id-benefits ul{
  max-height:none!important;
  overflow:visible!important;
  gap:clamp(2px,.75cqw,7px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back .bali-id-benefits li.bali-boss-privilege{
  display:grid!important;
  grid-template-columns:clamp(15px,4.4cqw,35px) minmax(0,1fr)!important;
  grid-template-rows:auto auto;
  column-gap:clamp(4px,1.3cqw,11px)!important;
  align-items:center;
  color:var(--bali-card-ink)!important;
  min-height:0!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back .bali-id-benefits li.bali-boss-privilege::before{
  content:"♛"!important;
  grid-column:1;grid-row:1/3;
  font:700 clamp(15px,4cqw,30px)/1 Georgia,serif!important;
  color:#f9cf6d!important;
  align-self:center!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-benefits li.bali-boss-privilege[data-boss-index="1"]::before{content:"◇"!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-benefits li.bali-boss-privilege[data-boss-index="2"]::before{content:"♣"!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-benefits li.bali-boss-privilege[data-boss-index="3"]::before{content:"⚙"!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-boss-privilege strong{
  grid-column:2;grid-row:1;
  color:#ffe3a0!important;
  font:750 clamp(9px,2.45cqw,18px)/1.17 Manrope,Inter,sans-serif!important;
  overflow-wrap:anywhere;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-boss-privilege small{
  grid-column:2;grid-row:2;
  color:#e7d6b3!important;
  font:480 clamp(8px,1.95cqw,14px)/1.2 Manrope,Inter,sans-serif!important;
  overflow-wrap:anywhere;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back .bali-id-back-bonuses{
  border-top:1px solid rgba(255,214,130,.8)!important;
  gap:0!important;
  padding-top:clamp(4px,1.1cqw,9px)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-bonus{
  border-right:1px solid rgba(255,217,140,.65);
  text-align:center;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-bonus:last-child{border:0}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-bonus strong{
  font:800 clamp(16px,5cqw,34px)/.86 Manrope,Inter,sans-serif!important;
  color:#ffe49f!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-bonus::after{
  color:#ffe4a0;
  font:650 clamp(6px,1.45cqw,11px)/1.14 Manrope,Inter,sans-serif;
  text-transform:uppercase;
  max-width:96%;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] [data-bali-bonus="shot"]::after{content:"Безлимитные шоты"}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] [data-bali-bonus="cocktail"]::after{content:"Безлимитные коктейли"}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] [data-bali-bonus="hookah"]::after{content:"Безлимитный кальян"}

@media(max-width:440px){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-card-back{padding:clamp(9px,2.8vw,13px)!important}

  body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="bigboss"] .bali-id-benefits-head h2{font-size:clamp(14px,4cqw,18px)!important}
}



/* BALI COIN is an informational loyalty-point balance, not money. */
body.bali-guest-theme #baliIdSection .bali-id-bottom .bali-id-coin{
  display:grid;align-items:end;gap:2px;flex:0 0 auto;min-width:0;
  text-align:center;margin:0 auto 0 0;position:relative;z-index:2;
  font-variant-numeric:tabular-nums;color:var(--bali-card-ink,#e8fde0);
}

body.bali-guest-theme #baliIdSection .bali-id-bottom .bali-id-coin small{
  white-space:nowrap;letter-spacing:.07em;font:750 clamp(8px,1.4vw,10px)/1.25 Manrope,Inter,sans-serif!important;
  color:inherit!important;opacity:.76;text-align:center;
}

body.bali-guest-theme #baliIdSection .bali-id-bottom .bali-id-coin output{
  font:850 clamp(14px,2.5vw,21px)/1.08 Inter,Manrope,sans-serif;
  letter-spacing:-.03em;white-space:nowrap;text-align:center;
}

/* Desktop Bali Card: keep BALI COIN exactly on the horizontal card centre.
   Both side columns have equal width so long names/card IDs cannot shift the coin.
   Applies to every tier through the shared front-face markup; mobile is unchanged. */
@media (min-width:1180px){
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card-front .bali-id-bottom{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content minmax(0,1fr);
    align-items:end!important;
    column-gap:clamp(8px,1.3cqw,18px);
  }

  body.bali-guest-theme #baliIdSection .bali-id-card-front .bali-id-bottom > #baliCardName{
    grid-column:1;
    justify-self:start;
    max-width:100%!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-card-front .bali-id-bottom > .bali-id-coin{
    grid-column:2;
    justify-self:center;
    margin:0!important;
  }

  body.bali-guest-theme #baliIdSection .bali-id-card-front .bali-id-bottom > .bali-id-number{
    grid-column:3;
    justify-self:end;
  }
}

@media(max-width:430px){
  body.bali-guest-theme #baliIdSection .bali-id-bottom{gap:5px!important}

  body.bali-guest-theme #baliIdSection .bali-id-bottom strong{max-width:37%!important;font-size:clamp(11px,2.7vw,14px)!important}

  body.bali-guest-theme #baliIdSection .bali-id-number{font-size:clamp(15px,3.6vw,19px)!important;letter-spacing:.025em!important}

  body.bali-guest-theme #baliIdSection .bali-id-coin{margin-left:auto!important}
}


.bali-id-coin-history{display:grid;gap:7px;padding:8px 0 11px;margin:0 0 10px;border-bottom:1px solid rgba(190,235,175,.25)}

.bali-id-coin-history[hidden]{display:none!important}

.bali-id-coin-history>strong{color:#baff69;font:800 12px Manrope,Inter,sans-serif}

.bali-id-coin-history-entry{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;padding:7px 4px;border-bottom:1px solid rgba(190,235,175,.11)}

.bali-id-coin-history-caption{display:grid;gap:3px}

.bali-id-coin-history-caption strong{font-size:11px}

.bali-id-coin-history-caption small{font-size:10px;color:#b0c6b2}

.bali-id-coin-history-count{font-size:12px;font-variant-numeric:tabular-nums;color:#caff8e}

.bali-id-coin-history-entry p{grid-column:1/-1;color:#bdcdbd;font-size:10px;margin:0}

    /* Bali Card login and its first-use introduction are the two dialogs
       missing an explicit centre. Allow internal scrolling on short phones. */
    body.bali-guest-theme #baliIdLoginDialog:modal,
    body.bali-guest-theme #baliIdWelcomeDialog:modal {
      position:fixed!important;
      inset:auto!important;
      top:50%!important;
      left:50%!important;
      right:auto!important;
      bottom:auto!important;
      transform:translate(-50%,-50%)!important;
      margin:0!important;
      max-width:calc(100vw - 24px)!important;
      max-height:calc(100dvh - 24px)!important;
      box-sizing:border-box!important;
    }

    body.bali-guest-theme #baliIdLoginDialog:modal {
      overflow-y:auto!important;
      overscroll-behavior:contain;
    }

@media (max-width:480px){
  /* Limit dialog surfaces, not full-screen modal backdrops. A narrower
     backdrop shifts the checkout window off the true viewport centre. */
  :root[data-bali-device="mobile"] body.bali-guest-theme :is(.dialog,.bali-id-dialog){
    max-width:calc(100vw - 20px)!important;
  }
}

/* BRSM status keeps identical dimensions to existing Bali Card tiers. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"]{
 --bali-card-ink:#fff;--bali-card-main:#fff;
 --bali-card-shine:rgba(255,255,255,.28);
 --bali-card-halo:rgba(22,128,62,.34);
 --bali-card-body:#0e402b;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"] .bali-id-card{
 color:#fff!important;border:1px solid rgba(255,255,255,.55)!important;
 background:linear-gradient(138deg,#b61d30 0%,#6b1727 46%,#0d5d38 47%,#07351f 100%)!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"] .bali-id-brand-label{color:#fff!important}




/* Unified Bali Card reverse: three discreet benefit rows, compact editable
 * bonus pictograms. Only active BRSM campaigns put attendance/tickets first. */
body.bali-guest-theme #baliIdSection .bali-id-benefits-head h2{display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits-head{min-height:0!important;margin:0!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits ul{display:grid!important;grid-template-rows:repeat(3,min-content);gap:2px!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits li{font-size:clamp(9px,1.5vw,11px)!important;line-height:1.25!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits li:nth-child(n+4){display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits p#baliBenefitsDescription{font-size:clamp(8px,1.3vw,10px)!important;line-height:1.2!important}

body.bali-guest-theme #baliIdSection .bali-id-bonus{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;min-width:0;gap:2px}

body.bali-guest-theme #baliIdSection .bali-id-bonus-custom-icon{font-size:clamp(13px,2.7vw,19px);line-height:1}

body.bali-guest-theme #baliIdSection .bali-id-bonus-custom-icon[hidden]{display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-bonus svg[hidden]{display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-bonus-caption{display:block;width:100%;text-align:center;font-size:clamp(7px,1.15vw,9px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

body.bali-guest-theme #baliIdSection .bali-brsm-campaign[hidden]{display:none!important}

body.bali-guest-theme #baliIdSection .bali-brsm-campaign{display:grid;gap:5px;border:1px solid #86c9a079;background:#1b38299c;border-radius:9px;padding:6px;min-width:0}

body.bali-guest-theme #baliIdSection .bali-brsm-campaign-title{display:flex;justify-content:space-between;align-items:center;gap:5px;font-size:clamp(8px,1.5vw,11px)}

body.bali-guest-theme #baliIdSection .bali-brsm-campaign-title strong{color:#bafca2;letter-spacing:.05em}

body.bali-guest-theme #baliIdSection .bali-brsm-campaign-title small{font-size:clamp(7px,1.2vw,10px);color:#d2f2d7}

body.bali-guest-theme #baliIdSection .bali-brsm-activity-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;min-width:0}

body.bali-guest-theme #baliIdSection .bali-brsm-activity-grid>div{min-width:0}

body.bali-guest-theme #baliIdSection .bali-brsm-activity-grid small{font-size:clamp(6px,1.1vw,9px);font-weight:800;letter-spacing:.03em}

body.bali-guest-theme #baliIdSection .bali-brsm-visits{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0}

body.bali-guest-theme #baliIdSection .bali-brsm-visits span{display:grid;place-items:center;width:clamp(15px,3.6vw,26px);height:clamp(15px,3.6vw,26px);border:1px solid #789b80;border-radius:5px;font-size:clamp(8px,1.4vw,11px);color:#edf6f0;font-weight:800}

body.bali-guest-theme #baliIdSection .bali-brsm-visits span.is-marked{background:#baff92;color:#0a2614;border-color:#baff92}

body.bali-guest-theme #baliIdSection .bali-brsm-activity-grid p{font-size:clamp(7px,1.2vw,10px)!important;margin:0!important}

body.bali-guest-theme #baliIdSection .bali-brsm-ticket{border-left:1px dotted #9fcca6;padding-left:6px;display:grid;align-content:start;gap:5px}

body.bali-guest-theme #baliIdSection #baliBrsmTicketNumbers{display:flex;align-content:start;flex-wrap:wrap;gap:3px;font-size:clamp(8px,1.2vw,10px)}

body.bali-guest-theme #baliIdSection #baliBrsmTicketNumbers span{display:grid;place-items:center;min-width:clamp(17px,3.2vw,26px);min-height:clamp(17px,3.2vw,26px);border-radius:4px;background:#e5ffe5;color:#063518;font-weight:900}

body.bali-guest-theme #baliIdSection #baliBrsmDetailsLink{font-size:clamp(7px,1.25vw,10px);text-align:right;color:#b9ffa3;text-decoration:underline}

body.bali-guest-theme #baliIdSection .bali-id-benefits:has(.bali-brsm-campaign:not([hidden])){gap:3px!important;padding:5px 0 2px!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits:has(.bali-brsm-campaign:not([hidden])) #baliBenefitsDescription{display:none!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits:has(.bali-brsm-campaign:not([hidden])) #baliBenefitsList{gap:1px!important}

body.bali-guest-theme #baliIdSection .bali-id-benefits:has(.bali-brsm-campaign:not([hidden])) #baliBenefitsList li{font-size:clamp(7px,1.3vw,10px)!important}

body.bali-guest-theme #baliIdSection .bali-id-card-back:has(.bali-brsm-campaign:not([hidden])) .bali-id-back-bonuses{transform:scale(.85);transform-origin:bottom center}

@media(max-width:500px){
 body.bali-guest-theme #baliIdSection .bali-id-benefits:has(.bali-brsm-campaign:not([hidden])){overflow-y:auto!important}

 body.bali-guest-theme #baliIdSection .bali-brsm-campaign{padding:4px;gap:3px}

 body.bali-guest-theme #baliIdSection .bali-brsm-activity-grid{gap:4px}
}



/* Bali Card reference artwork and restrained specular highlight.
   Reference artwork is a single raster per face. When absent, the existing
   approved tier CSS is left untouched, rather than replacing it with a guess. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-has-front-art .bali-id-card-front {
  background-image:var(--bali-card-original-front)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-has-back-art .bali-id-card-back {
  background-image:var(--bali-card-original-back)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:100% 100%!important;
}

/* BRSM artwork changes surface and ink only; all approved card geometry stays shared. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"]{
  --bali-card-ink:#fff!important;--bali-card-main:#fff!important;
  --bali-card-ring:rgba(255,255,255,.45);--bali-card-body:#030b07;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"] .bali-id-card,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"] .bali-id-card :is(
  .bali-id-brand-label,#baliCardTier,#baliCardHeaderTier,#baliCardName,#baliCardNumber,
  .bali-id-benefits,.bali-id-benefits li,.bali-id-benefits p,.bali-id-back-bonuses,
  .bali-brsm-campaign strong,.bali-brsm-campaign small,.bali-brsm-campaign p,
  .bali-brsm-visits span,#baliBrsmTicketNumbers span,#baliBrsmDetailsLink
){color:#fff!important}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"] .bali-brsm-campaign{
  background:rgba(0,8,4,.78);border-color:rgba(255,255,255,.35);
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene[data-bali-tier="brsm"] :is(.bali-brsm-visits span.is-marked,#baliBrsmTicketNumbers span){
  background:#12442d;border-color:#87d6a6;
}

/* Old tier-specific decorative rings must not obscure an original artwork. */
body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-has-front-art .bali-id-card-front::before,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-has-front-art .bali-id-card-front::after,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-has-back-art .bali-id-card-back::before,
body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-has-back-art .bali-id-card-back::after {
  display:none!important;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card .bali-card-specular {
  position:absolute;
  inset:0;
  display:block;
  border-radius:inherit;
  z-index:6;
  pointer-events:none;
  opacity:0;
  background-image:linear-gradient(108deg,
    transparent 0%,transparent 27%,rgba(255,255,255,.025) 37%,
    rgba(255,255,255,.25) 47%,rgba(255,255,255,.4) 50%,
    rgba(255,255,255,.10) 54%,transparent 67%,transparent 100%);
  background-size:300% 100%;
  background-position:-130% 50%;
  background-repeat:no-repeat;
  mix-blend-mode:screen;
  will-change:background-position,opacity;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene.bali-card-is-turning:not([data-bali-loading="true"]) .bali-id-card .bali-card-specular {
  animation:bali-card-light-sweep var(--bali-card-turn-duration,820ms) cubic-bezier(.3,0,.2,1) both;
}

body.bali-guest-theme #baliIdSection .bali-id-flip-scene.is-dragging:not([data-bali-loading="true"]) .bali-id-card .bali-card-specular {
  animation:none;
  opacity:var(--bali-card-gloss-opacity,.45);
  background-position:var(--bali-card-gloss-position,50%) 50%;
}

@keyframes bali-card-light-sweep {
  0% {opacity:0;background-position:-130% 50%}
  15% {opacity:.18}
  44% {opacity:.63}
  64% {opacity:.46}
  100% {opacity:0;background-position:230% 50%}
}

@media (prefers-reduced-motion:reduce) {
  body.bali-guest-theme #baliIdSection .bali-id-flip-scene .bali-id-card .bali-card-specular {
    animation:none!important;
    opacity:0!important;
    will-change:auto;
  }
}



/* BRSM finish: retain the approved artwork, silhouette and typography. */
body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-id-card{
  background-origin:border-box!important;
  border-color:rgba(235,255,245,.42)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.54),
    inset 1px 0 0 rgba(255,122,133,.35),inset -1px 0 0 rgba(130,255,192,.4),
    inset 0 -2px 3px rgba(0,0,0,.76)!important;
}

/* A quiet laminate highlight stays beneath the actual card information. */
body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-id-card::before{
  display:block!important;z-index:0!important;opacity:1!important;
  background:radial-gradient(ellipse at 4% 10%,rgba(255,33,57,.09),transparent 42%),
    radial-gradient(ellipse at 96% 90%,rgba(32,255,143,.08),transparent 40%),
    linear-gradient(118deg,rgba(255,255,255,.055),transparent 32%,rgba(0,0,0,.08) 75%)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-id-card::after{
  display:block!important;z-index:0!important;opacity:1!important;
  background:none!important;animation:none!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),inset 0 0 13px rgba(0,0,0,.16)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] :is(
  .bali-id-top,.bali-id-bottom,.bali-id-benefits,.bali-id-back-bonuses
){text-shadow:0 1px 2px rgba(0,0,0,.9)!important}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-id-inline-mark{
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.75)) drop-shadow(0 0 5px rgba(255,255,255,.12))!important;
}

/* Keep the moving reflection narrow enough to leave the white printing legible. */
body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-card-specular{
  background-image:linear-gradient(108deg,transparent 31%,rgba(255,255,255,.035) 41%,
    rgba(255,255,255,.25) 48%,rgba(255,255,255,.34) 50%,
    rgba(255,255,255,.08) 53%,transparent 63%);
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-brsm-campaign{
  background:linear-gradient(135deg,rgba(12,24,20,.91),rgba(1,10,7,.9));
  border-color:rgba(225,255,239,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 3px 8px rgba(0,0,0,.18);
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] :is(
  .bali-brsm-visits span,#baliBrsmTicketNumbers span
){
  border:1px solid rgba(223,250,233,.37);
  background:rgba(0,6,4,.76);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] .bali-brsm-visits span.is-marked{
  background:linear-gradient(145deg,#185c3c,#0a2e20);
  border-color:#94e1b8;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 5px rgba(52,214,129,.15);
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"] #baliBrsmTicketNumbers span{
  background:linear-gradient(145deg,#15432f,#09251b);border-color:rgba(170,230,193,.65);
}


  

/* Only the top action toolbar changes. The physical card and its lower actions are untouched. */
#baliIdSection #baliWheelOpen[hidden],
#baliWheelDialog:not([open]){display:none!important}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools:has(#baliWheelOpen:not([hidden])){
  width:min(405px,calc(100% - 12px))!important;
  grid-template-columns:minmax(0,1.28fr) repeat(2,minmax(0,1fr))!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen{
  padding:4px 5px!important;gap:5px!important;border-color:rgba(185,255,81,.72)!important;
  background:linear-gradient(140deg,#263b24,#132017)!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen>svg{
  width:19px!important;height:19px!important;color:#c5ff79!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen .bali-wheel-button-text{
  display:flex!important;flex-direction:column!important;gap:2px;min-width:0;
  align-items:flex-start;text-align:left;font-size:11px!important;line-height:1.1!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen .bali-wheel-count{
  font:800 9px/1.2 Manrope,Inter,sans-serif!important;letter-spacing:0!important;
  color:#cfff99!important;white-space:nowrap;
}

@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools:has(#baliWheelOpen:not([hidden])){
    width:min(360px,calc(100% - 12px))!important;gap:5px!important;
    grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr))!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen{
    height:40px!important;min-height:40px!important;
  }
}




/* Shared Bali Card reverse: all tiers use the same coordinates and type scale.
   Only approved per-tier artwork/ink and the tier label may differ. */
body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack {
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  align-content:stretch!important;
  row-gap:clamp(3px,.8cqw,7px)!important;
  padding:clamp(9px,3cqw,22px)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-back-top {
  display:flex!important;
  width:100%!important;
  flex:none!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:clamp(8px,2cqw,16px)!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-back-brand,
body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliCardHeaderTier {
  display:block!important;
  flex:0 1 auto;
  min-width:0;
  max-width:72%;
  font:650 clamp(10px,2.8cqw,21px)/1.2 Manrope,Inter,sans-serif!important;
  letter-spacing:.035em!important;
  white-space:nowrap!important;
  text-transform:uppercase!important;
  color:var(--bali-card-ink)!important;
  text-shadow:0 1px 2px #0009!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliCardHeaderTier {
  margin-left:auto!important;
  text-align:right!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-benefits {
  position:relative!important;
  display:grid!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:clamp(22px,5.1cqw,35px) minmax(0,1fr)!important;
  align-content:start!important;
  align-self:stretch!important;
  gap:clamp(3px,1cqw,7px)!important;
  margin:0!important;
  padding:clamp(5px,1.1cqw,9px) 0 0!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-benefits-head {
  display:none!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliBenefitsDescription {
  grid-row:1!important;
  box-sizing:border-box!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden!important;
  font:520 clamp(8px,1.55cqw,12px)/1.25 Manrope,Inter,sans-serif!important;
  margin:0!important;
  padding:0!important;
  color:var(--bali-card-ink)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliBenefitsDescription[hidden] {
  visibility:hidden!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliBenefitsList {
  grid-row:2!important;
  display:grid!important;
  box-sizing:border-box!important;
  grid-template-columns:minmax(0,1fr)!important;
  grid-template-rows:repeat(3,clamp(24px,5.8cqw,39px))!important;
  align-content:start!important;
  gap:clamp(2px,.65cqw,5px)!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliBenefitsList li {
  display:grid!important;
  grid-template-columns:clamp(11px,2.5cqw,17px) minmax(0,1fr)!important;
  align-content:center!important;
  align-items:center!important;
  column-gap:clamp(2px,.45cqw,5px)!important;
  box-sizing:border-box!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  font:580 clamp(8px,1.6cqw,13px)/1.24 Manrope,Inter,sans-serif!important;
  color:var(--bali-card-ink)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliBenefitsList li::before {
  content:"•"!important;
  position:static!important;
  grid-column:1!important;
  align-self:center!important;
  justify-self:center!important;
  font:700 clamp(10px,2cqw,16px)/1 Manrope,Inter,sans-serif!important;
  color:inherit!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliIdBonusStrip {
  position:relative!important;
  align-self:end!important;
  transform:none!important;
  box-sizing:border-box!important;
  display:grid!important;
  width:100%!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:end!important;
  gap:clamp(2px,.8cqw,7px)!important;
  min-height:clamp(36px,8.8cqw,60px)!important;
  padding:clamp(3px,1cqw,8px) 0 0!important;
  margin:0!important;
  border-top:1px solid var(--bali-card-ring)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack #baliIdBonusStrip[hidden] {
  display:none!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-bonus {
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:clamp(1px,.4cqw,3px)!important;
  border:0!important;
  text-align:center!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-bonus svg {
  width:clamp(13px,4.5cqw,28px)!important;
  height:clamp(13px,4.5cqw,28px)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-bonus strong {
  font:750 clamp(10px,2.8cqw,19px)/1 Manrope,Inter,sans-serif!important;
  color:var(--bali-card-ink)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-bonus-caption {
  font:550 clamp(7px,1.4cqw,10px)/1.05 Manrope,Inter,sans-serif!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene #baliIdBack .bali-id-bonus::after {
  content:none!important;display:none!important;
}

/* A BRSM draw changes the back to the visit/ticket view only when the
   server confirms lotteryEnabled for the assigned BRSM tier. */
body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"][data-brsm-draw="active"] #baliIdBack {
  grid-template-rows:auto minmax(0,1fr)!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"][data-brsm-draw="active"] #baliIdBack .bali-id-benefits {
  grid-template-rows:minmax(0,1fr)!important;
  gap:0!important;
  padding:0!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"][data-brsm-draw="active"] #baliIdBack :is(#baliBenefitsDescription,#baliBenefitsList,#baliIdBonusStrip) {
  display:none!important;
}

body.bali-guest-theme #baliIdSection #baliIdFlipScene[data-bali-tier="brsm"][data-brsm-draw="active"] #baliIdBack .bali-brsm-campaign:not([hidden]) {
  display:grid!important;
  box-sizing:border-box!important;
  grid-row:1!important;
  grid-template-rows:auto auto minmax(0,1fr) auto!important;
  align-content:start!important;
  align-items:start!important;
  gap:clamp(3px,.8cqw,7px)!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  padding:clamp(5px,1.5cqw,12px)!important;
  overflow-y:auto!important;
  scrollbar-width:thin;
}



/* Bali Card: share the lower banking row's horizontal axis and three-column geometry.
 * These rules are in the initial document, not the lazily-loaded COIN SHOP dialog CSS.
 * Default row: COIN SHOP | QR | History. QR stays in the central column.
 */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools,
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools:has(#baliWheelOpen:not([hidden])){
  box-sizing:border-box!important;
  position:absolute!important;
  top:var(--bali-id-tools-gap,8px)!important;
  left:var(--bali-id-centre-x,50%)!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  margin:0!important;
  padding:0!important;
  width:min(var(--bali-id-large-width,100%),680px)!important;
  max-width:calc(100% - 12px)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:clamp(8px,1.4vw,15px)!important;
  row-gap:clamp(4px,.8dvh,7px)!important;
  justify-content:stretch!important;
  justify-items:stretch!important;
  align-items:stretch!important;
  z-index:15!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools > button,
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:var(--bali-id-action-height,48px)!important;
  min-height:var(--bali-id-action-height,48px)!important;
  margin:0!important;
  padding:8px clamp(4px,.9vw,12px)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:stretch!important;
  gap:clamp(4px,.7vw,7px)!important;
  border-radius:12px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  font:750 clamp(11px,1.15vw,15px)/1.15 Manrope,Inter,sans-serif!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools > button > svg{
  width:clamp(17px,1.65vw,21px)!important;
  height:clamp(17px,1.65vw,21px)!important;
  flex:none!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #coinShopOpen{
  grid-column:1!important;
  grid-row:1!important;
  border-color:rgba(185,255,81,.68)!important;
  background:linear-gradient(140deg,#263b24,#132017)!important;
  color:#ecffe2!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
  grid-column:2!important;
  grid-row:1!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliIdHistoryOpen{
  grid-column:3!important;
  grid-row:1!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen[hidden]{
  display:none!important;
}

/* Optional wheel lives on its own centered row: never moves the QR off-center. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen:not([hidden]){
  grid-column:2!important;
  grid-row:2!important;
}

@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools:has(#baliWheelOpen:not([hidden])){
    width:min(var(--bali-id-large-width,100%),440px)!important;
    column-gap:clamp(7px,2vw,10px)!important;
    row-gap:4px!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools > button,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
    padding:6px 4px!important;
    gap:4px!important;
    font-size:clamp(10px,2.75vw,13px)!important;
  }
}

@media(max-width:380px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools > button,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
    flex-direction:column!important;
    gap:2px!important;
    padding:5px 3px!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen:not([hidden]){
    flex-direction:row!important;
  }
}

  

/* PC showcase uses the SAME per-tier palette, radial background layers,
   ring geometry, aspect ratio and the master emblem as the Bali Card front.
   No guest data, Firebase watchers or new quota-consuming requests. */
@media (min-width:1180px) {
  body.bali-guest-theme #homeSection #baliHomeIdCard.bali-id-showcase {
    box-sizing:border-box!important;
    grid-template-rows:auto minmax(0,1fr) auto!important;
    gap:clamp(4px,.5dvh,8px)!important;
    padding:clamp(9px,1.15dvh,15px) clamp(11px,1.1vw,18px)!important;
    font-family:Manrope,Inter,Arial,sans-serif!important;
  }

  body.bali-guest-theme #homeSection #baliHomeIdCard .bali-id-showcase-layout {
    display:grid!important;
    grid-template-columns:minmax(0,.94fr) minmax(0,1.32fr)!important;
    gap:clamp(7px,.72vw,12px)!important;
    width:100%!important;height:100%!important;
    min-width:0!important;min-height:0!important;
    align-items:center!important;
  }

  body.bali-guest-theme #homeSection #baliHomeIdCard .bali-id-showcase-deck {
    position:relative!important;
    display:block!important;
    width:100%!important;height:100%!important;
    min-width:0!important;min-height:0!important;
    container-type:inline-size;
    overflow:visible;
    isolation:isolate;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-kicker{
    font-family:Manrope,Inter,Arial,sans-serif!important;
    letter-spacing:.035em!important;
    font-weight:850!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-copy{
    display:flex!important;flex-direction:column!important;
    align-items:flex-start!important;justify-content:center!important;
    height:100%!important;min-width:0!important;min-height:0!important;
    gap:clamp(3px,.4dvh,6px)!important;
    overflow:hidden!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-copy strong{
    font:850 clamp(12px,.95vw,17px)/1.13 Manrope,Inter,Arial,sans-serif!important;
    letter-spacing:-.045em!important;
    overflow-wrap:normal;
    color:#fff!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-copy>span{
    font:520 clamp(9px,.70vw,12px)/1.25 Manrope,Inter,Arial,sans-serif!important;
    color:#c6d2c8!important;
    max-width:100%!important;
    -webkit-line-clamp:2!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-copy small{
    font:650 clamp(6.5px,.51vw,9px)/1.25 Manrope,Inter,Arial,sans-serif!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    color:#a8c5a1!important;
  }

  #homeSection #baliHomeIdCard .bali-id-showcase-link{
    font:750 clamp(9px,.67vw,12px)/1.2 Manrope,Inter,Arial,sans-serif!important;
    letter-spacing:-.018em!important;
    white-space:normal!important;
    text-align:right;
    max-width:100%;
  }
}



/* Keep all three labels readable inside their cells, at every viewport size.
   Scoped to Bali Card only; product modals and unrelated pages stay untouched. */
:root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
  --bali-id-lower-gap:clamp(16px,2.5dvh,26px);
  --bali-id-action-height:clamp(44px,5.2dvh,48px);
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools,
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools:has(#baliWheelOpen:not([hidden])){
  box-sizing:border-box!important;
  left:var(--bali-id-centre-x,50%)!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  width:min(var(--bali-id-large-width,680px),680px,calc(100% - 16px))!important;
  max-width:calc(100% - 16px)!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:clamp(7px,1vw,12px)!important;
  row-gap:6px!important;
  justify-items:stretch!important;
  align-items:stretch!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools>button,
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:44px!important;
  min-height:44px!important;
  padding:5px 7px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  overflow:visible!important;
  text-align:center!important;
  font:750 clamp(11px,.79vw,13px)/1.16 Manrope,Inter,system-ui,sans-serif!important;
  letter-spacing:0!important;
  border-radius:10px!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools>button>svg,
:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr>svg{
  display:block!important;
  flex:0 0 auto!important;
  width:17px!important;
  height:17px!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools button span{
  min-width:0;
  overflow-wrap:normal;
  white-space:normal!important;
  text-align:center;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
  box-sizing:border-box!important;
  width:min(var(--bali-id-large-width,680px),680px,calc(100% - 16px))!important;
  max-width:calc(100% - 16px)!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:clamp(7px,1vw,12px)!important;
  overflow:visible!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:var(--bali-id-action-height)!important;
  height:var(--bali-id-action-height)!important;
  padding:6px 7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:row!important;
  gap:5px!important;
  font:750 clamp(11px,.79vw,13px)/1.16 Manrope,Inter,system-ui,sans-serif!important;
  letter-spacing:0!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
  border-radius:10px!important;
}

:root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button svg{
  width:17px!important;
  height:17px!important;
  flex:0 0 auto!important;
}

@media(max-width:767px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection>.container{
    --bali-id-lower-gap:clamp(12px,2.1dvh,20px);
    --bali-id-action-height:48px;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools:has(#baliWheelOpen:not([hidden])),
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions{
    column-gap:clamp(5px,1.7vw,8px)!important;
  }
}

@media(max-width:560px){
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools>button,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button{
    flex-direction:column!important;
    gap:2px!important;
    padding:5px 3px!important;
    font:750 clamp(10px,2.7vw,11.5px)/1.12 Manrope,Inter,system-ui,sans-serif!important;
    white-space:normal!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools>button,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr{
    height:48px!important;
    min-height:48px!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools>button>svg,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliShowQr>svg,
  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-bank-actions>button svg{
    width:16px!important;
    height:16px!important;
  }

  :root[data-bali-theme] body.bali-guest-theme #baliIdSection .bali-id-page-tools #baliWheelOpen:not([hidden]){
    flex-direction:row!important;
    gap:3px!important;
  }
}
