/* BALI TELEGRAM · premium finish v5 · Telegram Mini App only.
   Preserve approved BALI CARD 3D motion, WebGL COIN, regular poster swipes,
   vertical menus, 2 CoinShop buttons and equal-size BALANCE typography. */

:root{--tg-v5-gold:#f2dc9f;--tg-v5-sage:#cceeb5;--tg-v5-edge:rgba(200,232,173,.38)}

/* Original BALI logo: 1.3x in BOTH axes, no distortion.
   Previous: width clamp(104px,30vw,154px), height clamp(33px,6.3dvh,52px). */
body.bali-guest-theme .head .tg-brand-original{
 width:clamp(135.2px,39vw,200.2px)!important;
 height:clamp(42.9px,8.19dvh,67.6px)!important;
 max-width:calc(100vw - 28px)!important;
 object-fit:contain!important;object-position:center!important;
 flex-shrink:0!important;
}
body.bali-guest-theme .head{overflow:visible!important;isolation:isolate;z-index:5}
body.bali-guest-theme .head .tg-brand-lockup{max-width:100%;overflow:visible!important}
body.bali-guest-theme .head .tg-brand-lockup::before{
 inset:-14% -18%!important;
 background:radial-gradient(ellipse,rgba(237,192,109,.20),rgba(125,175,108,.055) 45%,transparent 74%)!important;
 filter:blur(12px)!important;
}

/* Keep the original club logo and navigation pictograms, refine the backdrop. */
body.bali-guest-theme .app{
 background:
 radial-gradient(ellipse 84% 44% at 50% -17%,rgba(243,180,85,.11),transparent 87%),
 radial-gradient(ellipse 80% 62% at 2% 60%,rgba(66,147,121,.08),transparent 90%),
 radial-gradient(ellipse 73% 48% at 98% 87%,rgba(125,88,149,.065),transparent 90%),
 linear-gradient(165deg,#101b19 0%,#0b1515 53%,#080e12 100%)!important;
}
body.bali-guest-theme .nav button.current{
 box-shadow:inset 0 1px rgba(237,255,205,.31),
 inset 0 -1px rgba(6,24,16,.75),0 3px 11px #0008!important;
}
body.bali-guest-theme .tg-page :is(.button,.tg-card-tool,.tg-coin-action,.tg-work-claim-button):focus-visible,
body.bali-guest-theme .nav button:focus-visible{outline:2px solid #f0e9b2!important;outline-offset:2px!important}
body.bali-guest-theme .tg-page :is(input,select,textarea):focus-visible{
 outline:1px solid rgba(213,249,182,.95)!important;outline-offset:0!important;
}

/* BALI CARD: no changes to either card face, level coloring or 3D engine. */
body.bali-guest-theme .tg-page-card .tg-card-plinth{
 isolation:isolate;
 background:radial-gradient(ellipse 65% 45% at 50% 45%,rgba(213,241,180,.125),transparent),
 radial-gradient(ellipse 79% 50% at 50% 87%,rgba(226,172,87,.105),transparent)!important;
}
body.bali-guest-theme .tg-page-card .tg-card-switcher{
 border-color:rgba(217,235,176,.55)!important;
 background:linear-gradient(163deg,rgba(255,241,196,.045),transparent 31%),
 linear-gradient(160deg,#2d4034,#142422 69%,#101b1c)!important;
}
body.bali-guest-theme .tg-page-card .tg-card-switcher>button.selected{
 box-shadow:inset 0 1px rgba(253,255,225,.33),0 2px 5px #0007!important;
}
body.bali-guest-theme .tg-page-card .tg-photo-wall-launcher:not([hidden]){
 border-color:rgba(215,231,166,.58)!important;
 background:radial-gradient(ellipse at 0% 0%,rgba(216,249,186,.095),transparent 59%),
 linear-gradient(152deg,#2e4934,#182b26 75%)!important;
 box-shadow:inset 0 1px rgba(247,255,215,.22),
 0 3px 0 #11261b,0 7px 14px #0007!important;
}

/* BALI COIN: move BALANCE N COIN only 4px DOWN from previous -3px offset.
   Every span stays identical-size: no reflow or other typography changes. */
body.bali-guest-theme .tg-page-card .tg-home-coin-label{
 transform:translateY(1px)!important;
}
body.bali-guest-theme .tg-page-card .tg-coin-balance-line
 :is(.tg-coin-balance-prefix,.tg-coin-balance-value,.tg-coin-balance-unit){
 filter:drop-shadow(0 1px 0 rgba(84,50,15,.85))
 drop-shadow(0 0 8px rgba(235,183,93,.18))!important;
}
body.bali-guest-theme .tg-page-card .tg-home-coin-model{
 background:radial-gradient(ellipse 52% 45% at 50% 47%,rgba(243,210,132,.18),transparent 93%),
 radial-gradient(ellipse 75% 55% at 50% 75%,rgba(95,173,121,.095),transparent 96%)!important;
}

/* MENU: optically distinct tabs and recessed search; real product card sizes,
   all published food and bar data and vertical scrolling remain untouched. */
body.bali-guest-theme .tg-page-menu .tg-menu-tabs .button{
 border-color:rgba(181,222,158,.48)!important;
 background:linear-gradient(153deg,#2b4334,#162923 77%)!important;
 box-shadow:inset 0 1px rgba(244,255,216,.15),0 2px 0 #0d2418!important;
}
body.bali-guest-theme .tg-page-menu .tg-menu-tabs .button.selected{
 border-color:#e2efb1!important;
 background:linear-gradient(150deg,#617b47,#315538 73%,#244233)!important;
 box-shadow:inset 0 1px rgba(247,255,215,.38),0 2px 0 #1c3922,
 0 0 12px rgba(195,243,142,.12)!important;
 color:#f8ffec!important;
}
body.bali-guest-theme .tg-page-menu .tg-menu-search input{
 background:linear-gradient(165deg,#101d1a,#172820)!important;
 border-color:rgba(171,217,146,.42)!important;
 box-shadow:inset 0 2px 5px rgba(0,0,0,.35),
 0 1px 0 rgba(240,255,221,.09)!important;
}
body.bali-guest-theme .tg-page-menu #menuGrid .bali-catalog-card{
 border-color:rgba(167,206,150,.43)!important;
 background:linear-gradient(150deg,#2b4433,#182b24 62%,#12201f)!important;
 box-shadow:inset 0 1px rgba(235,255,205,.18),
 0 3px 0 rgba(7,21,15,.62),0 7px 14px rgba(0,0,0,.20)!important;
}
body.bali-guest-theme .tg-page-menu #menuGrid .bali-catalog-card .menu-item-price{
 color:#f5dfa6!important;
 text-shadow:0 1px 3px #0006;
 font-variant-numeric:tabular-nums;
}
body.bali-guest-theme .tg-page-menu #tgCartOpen{
 border-color:rgba(232,245,178,.67)!important;
 box-shadow:inset 0 1px rgba(255,255,224,.35),
 0 3px 0 #294625,0 7px 14px #0008!important;
}

/* CALENDAR: a crisper static event frame, exactly same ordinary swipe effect. */
body.bali-guest-theme .tg-page-calendar .tg-instagram-post{
 border-color:rgba(220,235,177,.65)!important;
 background:linear-gradient(156deg,#294433,#142924 71%,#101c1c)!important;
 box-shadow:inset 0 1px rgba(251,255,223,.31),
 0 4px 0 #0c2117,0 14px 26px rgba(0,0,0,.52),
 0 0 19px rgba(190,227,148,.12)!important;
}
body.bali-guest-theme .tg-page-calendar .tg-instagram-post-head{
 background:radial-gradient(ellipse at 0% 0%,rgba(244,232,165,.12),transparent 78%),
 linear-gradient(151deg,#39573f,#1c302b 72%)!important;
 border-bottom-color:rgba(244,224,168,.31)!important;
}
body.bali-guest-theme .tg-page-calendar .tg-instagram-post-brand{
 border-color:rgba(248,230,176,.68)!important;
 background:linear-gradient(150deg,#526b4c,#253c30)!important;
 box-shadow:inset 0 1px rgba(255,255,238,.4),0 2px 7px #0007!important;
}
body.bali-guest-theme .tg-page-calendar .tg-instagram-post-bottom{
 background:linear-gradient(177deg,rgba(53,78,53,.38),rgba(18,36,30,.42))!important;
}
body.bali-guest-theme .tg-page-calendar .tg-event-icon-button:focus-visible{
 outline:2px solid #e9eab7!important;outline-offset:1px!important;
}
/* IMPORTANT: no opacity, masking, slide filter, transform or animation
   changes to #tgEventViewport or .tg-event-slide. */

/* WORK / CREW: rank panels and rewards share the same luxury metalwork. */
body.bali-guest-theme .tg-page-work .tg-work-tabs .button{
 border-color:rgba(173,215,147,.48)!important;
 background:linear-gradient(151deg,#314636,#1d2e27)!important;
 box-shadow:inset 0 1px rgba(255,255,227,.15),0 2px 0 #112519!important;
}
body.bali-guest-theme .tg-page-work .tg-work-tabs .button.selected{
 border-color:#dcefa8!important;
 background:linear-gradient(150deg,#597b47,#2a5036 70%)!important;
 box-shadow:inset 0 1px rgba(249,255,215,.31),0 2px 0 #234226!important;
}
body.bali-guest-theme .tg-page-work .tg-work-mission{
 border-color:rgba(181,225,148,.5)!important;
}
body.bali-guest-theme .tg-page-crew .tg-crew-party,
body.bali-guest-theme .tg-page-crew .tg-crew-pane{
 border-color:rgba(218,203,149,.42)!important;
 background:radial-gradient(ellipse at 8% -12%,rgba(233,190,109,.12),transparent 69%),
 linear-gradient(149deg,#30402f,#172822 74%,#111d22)!important;
 box-shadow:inset 0 1px rgba(250,246,217,.21),
 0 3px 0 #0d1d18,0 7px 16px #0006!important;
}
body.bali-guest-theme .tg-page-crew .tg-crew-hero{
 border-color:rgba(247,218,155,.54)!important;
 background:radial-gradient(ellipse at 20% 0%,rgba(249,219,157,.2),transparent 77%),
 linear-gradient(154deg,#59462e,#293b2c 69%,#1b2923)!important;
}
body.bali-guest-theme .tg-page-crew .tg-crew-panel-tabs button,
body.bali-guest-theme .tg-page-crew .tg-crew-stage-tabs button{
 border-color:rgba(205,195,142,.4)!important;
 background:linear-gradient(160deg,#324137,#172824)!important;
 color:#e3e8cc!important;
}
body.bali-guest-theme .tg-page-crew
 :is(.tg-crew-panel-tabs,.tg-crew-stage-tabs) button[aria-pressed="true"]{
 border-color:#f4d998!important;
 background:linear-gradient(140deg,#846642,#3c4c30)!important;
 color:#fff2cc!important;
 box-shadow:inset 0 1px rgba(255,248,210,.4),0 3px 7px #0007!important;
}
body.bali-guest-theme .tg-page-crew .tg-crew-numbers>div{
 border-color:rgba(219,199,140,.42)!important;
 background:linear-gradient(160deg,#3b4434,#192720)!important;
 box-shadow:inset 0 1px rgba(255,246,212,.15)!important;
}
body.bali-guest-theme .tg-page-crew .tg-crew-rank{
 border-bottom-color:rgba(221,199,137,.27)!important;
}
body.bali-guest-theme .tg-page-crew .tg-crew-member{
 border-color:rgba(171,203,154,.35)!important;
 background:linear-gradient(145deg,#2c4032,#182820)!important;
}

/* COINSHOP: product catalog is still vertical and there are exactly two
   buttons (Мои чеки + Отсканировать QR-товар). */
body.bali-guest-theme .tg-page-shop .tg-coinshop{
 border-color:rgba(194,234,155,.50)!important;
 box-shadow:inset 0 1px rgba(239,255,215,.2),
 0 6px 0 rgba(10,23,17,.65),0 12px 23px #0008!important;
}
body.bali-guest-theme .tg-page-shop .tg-coinshop-display .coin-shop-product{
 border-color:rgba(183,222,154,.48)!important;
}
body.bali-guest-theme .tg-page-shop .tg-coinshop-actions>.button{
 box-shadow:inset 0 1px rgba(248,255,223,.36),
 0 3px 0 #1c3321,0 7px 13px #0007!important;
}

/* PROFILE: strong identity without displaying private account values any larger. */
body.bali-guest-theme .tg-page-profile .tg-profile-hero{
 border-color:rgba(223,233,180,.64)!important;
 background:radial-gradient(ellipse at 0% 0%,rgba(240,220,157,.16),transparent 75%),
 linear-gradient(156deg,#34503a,#1c342b 75%)!important;
}
body.bali-guest-theme .tg-page-profile .tg-profile-info{
 border-color:rgba(194,227,165,.45)!important;
 background:linear-gradient(153deg,#273e30,#152921 72%)!important;
}
body.bali-guest-theme .tg-page-profile .tg-profile-field:not(:first-of-type){
 border-top-color:rgba(193,224,172,.24)!important;
}
body.bali-guest-theme .tg-page-profile .tg-profile-logout{
 border-color:rgba(224,205,171,.43)!important;
}

/* HISTORY, ORDERS, TRANSFERS: use the same tactile material hierarchy. */
body.bali-guest-theme .tg-page-history .tg-receipt-item,
body.bali-guest-theme .tg-page-orders .tg-orders-list button{
 border-color:rgba(182,224,161,.44)!important;
 background:linear-gradient(155deg,#2c4536,#152923 75%)!important;
 box-shadow:inset 0 1px rgba(249,255,225,.18),
 0 3px 0 #0d2118,0 8px 16px #0005!important;
}
body.bali-guest-theme .tg-page-history .tg-receipt-amount{
 color:#f0e1ae!important;text-shadow:0 1px 5px #0008;
}
body.bali-guest-theme .tg-page-history .tg-receipt-tabs .button.selected{
 border-color:#def0ad!important;
 background:linear-gradient(145deg,#5f7b48,#2c513a 80%)!important;
}
body.bali-guest-theme .tg-page-transfer #screen>.tg-site-transfer{
 border-color:rgba(185,223,164,.55)!important;
 background:radial-gradient(ellipse at 0% 0%,rgba(180,237,147,.09),transparent 68%),
 linear-gradient(158deg,#233b2e,#102420 75%)!important;
 box-shadow:inset 0 1px rgba(250,255,229,.23),0 5px 18px #0008!important;
}
body.bali-guest-theme .tg-page-transfer .tg-site-transfer-recipient{
 border-color:rgba(213,239,170,.45)!important;
 background:linear-gradient(160deg,#36523b,#1b3429)!important;
}
body.bali-guest-theme .tg-page-transfer .tg-site-transfer-btn.primary{
 background:linear-gradient(155deg,#dfffa9,#a5dc77)!important;
 box-shadow:inset 0 1px rgba(255,255,229,.7),
 0 3px 0 #37682d,0 7px 12px #0007!important;
}
body.bali-guest-theme .tg-page-transfer .tg-site-transfer-field input,
body.bali-guest-theme .tg-page-transfer .tg-site-transfer-field select{
 background:linear-gradient(150deg,#15271f,#1c3327)!important;
}

/* Physical strokes stay crisp; no bounce, carousel opacity or coin spin changes. */
@media(prefers-reduced-motion:reduce){
 body.bali-guest-theme .tg-page :is(.button,.tg-coin-action,.tg-card-tool){
  transition:none!important;
 }
}
