:root{--bg:#090613;--card:rgba(22,16,42,.82);--line:rgba(255,255,255,.12);--gold:#ffd166;--pink:#ff3df2;--cyan:#42e8ff;--green:#42ff9e;--text:#fff;--muted:#b8b0d8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(circle at 20% 0%,#35105d 0,#090613 35%,#05040a 100%);color:var(--text);min-height:100vh}.wrap{max-width:1180px;margin:auto;padding:24px}.hero{display:grid;gap:18px;grid-template-columns:1.1fr .9fr;align-items:center}.brand{font-weight:900;letter-spacing:.08em;color:var(--gold);text-shadow:0 0 25px #ffbd2e}.glass{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:28px;box-shadow:0 25px 80px rgba(0,0,0,.45),inset 0 0 60px rgba(255,255,255,.03);backdrop-filter:blur(12px)}.panel{padding:22px}.title{font-size:clamp(38px,7vw,86px);line-height:.9;margin:8px 0;text-transform:uppercase}.subtitle{color:var(--muted);font-size:18px}.btn{border:0;border-radius:18px;padding:14px 18px;font-weight:900;cursor:pointer;color:#160716;background:linear-gradient(135deg,var(--gold),#ff8a00);box-shadow:0 0 28px rgba(255,209,102,.25)}.btn.secondary{color:#fff;background:linear-gradient(135deg,#6a3bff,var(--pink))}.btn.ghost{color:#fff;background:rgba(255,255,255,.09);border:1px solid var(--line)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(0,0,0,.28);color:#fff;outline:none}label{font-size:13px;color:var(--muted);font-weight:700}.grid{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.stage{position:relative;min-height:520px;overflow:hidden}.dancefloor{position:absolute;inset:80px 24px 24px;border-radius:44px;background:radial-gradient(circle at center,rgba(255,209,102,.18),rgba(255,61,242,.08),rgba(66,232,255,.05));border:1px solid rgba(255,255,255,.1)}.big-table{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#fff7c2 0,#ffd166 38%,#9d5c00 100%);color:#240c00;font-weight:1000;box-shadow:0 0 70px rgba(255,209,102,.9),0 0 120px rgba(255,61,242,.35);z-index:2}.table-card{position:absolute;width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.22),rgba(70,32,126,.9));border:2px solid rgba(255,255,255,.18);box-shadow:0 0 30px rgba(66,232,255,.16);font-size:12px;animation:float 4s ease-in-out infinite}.table-card .name{font-weight:1000;color:#fff}.table-card .seats{color:var(--gold);font-weight:900}.avatar{font-size:34px;filter:drop-shadow(0 0 10px rgba(255,255,255,.25))}.leader{box-shadow:0 0 55px rgba(255,209,102,.75);border-color:var(--gold)}@keyframes float{50%{transform:translateY(-8px)}}.rank-list{display:flex;flex-direction:column;gap:10px}.rank-row{display:grid;grid-template-columns:44px 1fr 84px;gap:10px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid var(--line)}.rank-row:first-child{background:linear-gradient(135deg,rgba(255,209,102,.25),rgba(255,61,242,.13));border-color:rgba(255,209,102,.55)}.pill{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.1);color:var(--muted);font-size:12px}.mobile-card{max-width:460px;margin:auto}.mesa{padding:16px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#160b2d;border:1px solid var(--line);padding:12px 16px;border-radius:999px;box-shadow:0 0 30px #000;display:none;z-index:9}.links a{color:var(--cyan);font-weight:800;margin-right:14px}canvas#linksCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}@media(max-width:820px){.hero,.grid2,.grid3{grid-template-columns:1fr}.wrap{padding:14px}.stage{min-height:480px}.title{font-size:52px}.table-card{width:105px;height:105px}.big-table{width:140px;height:140px}}

/* BIG MESA v0.7 - Android / Responsive Fix */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}.wrap{width:100%}.links{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.links a{text-decoration:none;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:10px 12px;border-radius:999px}.floating-tv{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;min-width:86px;height:56px;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,var(--gold),#ff7a00);color:#170719!important;font-weight:1000;text-decoration:none;box-shadow:0 0 30px rgba(255,209,102,.45),0 10px 30px rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.35)}.floating-tv:active{transform:scale(.96)}.mobile-help{font-size:15px;line-height:1.35;margin:6px 0 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mesa{position:relative;overflow:hidden}.mesa::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(255,209,102,.12),transparent 40%);pointer-events:none}.mesa-title{font-size:20px;font-weight:1000;margin:0 0 6px}.mesa-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.mesa-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.mesa-actions .btn{width:100%;min-height:48px}.gift-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.gift-row select,.gift-row input{min-height:48px}.mobile-menu{position:sticky;top:0;z-index:20;display:none;gap:8px;overflow-x:auto;padding:10px 0;background:linear-gradient(180deg,rgba(9,6,19,.96),rgba(9,6,19,.70));backdrop-filter:blur(10px)}.mobile-menu a{white-space:nowrap;text-decoration:none;color:#fff;font-weight:900;border:1px solid var(--line);background:rgba(255,255,255,.08);padding:10px 12px;border-radius:999px}.empty-state{padding:18px;border:1px dashed rgba(255,255,255,.18);border-radius:18px;color:var(--muted);text-align:center}.tv-open-note{display:none;color:var(--gold);font-weight:800;text-align:center;margin-top:8px}.stage{touch-action:pan-y}.tv-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.tv-sidebar{display:flex;flex-direction:column;gap:14px}.tv-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.tv-title{margin:0}.tv-clockbox{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tv-stage{min-height:640px}.tv-invite-card,.tv-event{padding:12px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid var(--line);margin-bottom:8px}.tv-invite-head{font-weight:1000;color:var(--gold);margin-bottom:4px}.tv-event{display:flex;gap:10px;align-items:center}.event-icon{font-size:28px}.accepted{border-color:rgba(66,255,158,.45)}.rejected{opacity:.78}.pending{animation:softPulse 1.8s ease-in-out infinite}@keyframes softPulse{50%{box-shadow:0 0 24px rgba(255,209,102,.22)}}
@media(max-width:820px){body{background:radial-gradient(circle at 50% -10%,#4b147d 0,#090613 45%,#05040a 100%)}.wrap{padding:12px 12px 88px}.mobile-menu{display:flex}.links{display:none}.panel{padding:16px;border-radius:22px}.mobile-card{max-width:none}.mobile-card h1{font-size:34px;margin:6px 0}.subtitle{font-size:15px}.grid{grid-template-columns:1fr!important;gap:12px}.mesa{padding:16px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));box-shadow:0 14px 40px rgba(0,0,0,.22)}.mesa-title{font-size:22px}.btn{padding:14px 16px;border-radius:16px;font-size:15px}.rank-row{grid-template-columns:38px 1fr 72px;padding:12px}.pill{font-size:12px}.toast{width:calc(100% - 28px);border-radius:18px;text-align:center}.tv-open-note{display:block}.floating-tv{right:12px;bottom:12px;height:58px;min-width:92px}.stage{min-height:580px;overflow:visible;border-radius:22px}.dancefloor{inset:70px 10px 10px}.big-table{width:126px;height:126px;font-size:13px}.table-card{width:96px;height:96px;font-size:11px}.avatar{font-size:30px}.tv-layout{grid-template-columns:1fr}.tv-sidebar{display:grid;grid-template-columns:1fr;gap:12px}.tv-topbar{display:block}.tv-clockbox{justify-content:flex-start;margin-top:8px}.tv-stage{min-height:560px}.tv-body .wrap{padding-bottom:24px}}
@media(max-width:420px){.wrap{padding-left:10px;padding-right:10px}.panel{padding:14px}.stage{min-height:540px}.big-table{width:112px;height:112px}.table-card{width:88px;height:88px}.table-card .name{font-size:11px;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-card .seats{font-size:11px}.mesa-title{font-size:20px}.mobile-card h1{font-size:30px}.floating-tv{font-size:14px}}

/* BIG MESA v0.8 - PASARSE + fiesta */
.pass-card{border-color:rgba(255,209,102,.45);box-shadow:0 0 28px rgba(255,209,102,.12)}
.pass-btn{font-size:16px;letter-spacing:.02em;animation:passPulse 1.15s ease-in-out infinite;background:linear-gradient(135deg,#42ff9e,#ffd166,#ff7a00)}
@keyframes passPulse{50%{transform:scale(1.025);box-shadow:0 0 34px rgba(66,255,158,.38),0 0 42px rgba(255,209,102,.22)}}
.party-event{animation:partyGlow 1.2s ease-in-out infinite}
@keyframes partyGlow{50%{box-shadow:0 0 30px rgba(66,255,158,.28),0 0 30px rgba(255,61,242,.18)}}
.party-burst{position:fixed;inset:0;z-index:99999;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(255,209,102,.18),rgba(255,61,242,.10),rgba(0,0,0,.25));overflow:hidden;animation:burstFade 3.2s ease forwards}.party-card{position:relative;z-index:2;text-align:center;padding:28px 36px;border-radius:30px;background:linear-gradient(145deg,rgba(22,16,42,.92),rgba(56,20,94,.88));border:2px solid rgba(255,209,102,.6);box-shadow:0 0 90px rgba(255,209,102,.5),0 0 110px rgba(255,61,242,.25);animation:partyPop .55s cubic-bezier(.2,1.4,.4,1)}.party-card h1{font-size:clamp(38px,7vw,86px);margin:4px 0;color:var(--gold);text-shadow:0 0 28px rgba(255,209,102,.65)}.party-card p{font-size:clamp(18px,3vw,32px);margin:0;color:#fff;font-weight:900}.party-emoji{font-size:clamp(42px,8vw,90px)}.confetti{position:absolute;top:-20px;width:12px;height:20px;border-radius:4px;background:linear-gradient(135deg,var(--gold),var(--pink));animation:confettiFall 2.8s ease-in forwards}.confetti:nth-child(3n){background:linear-gradient(135deg,var(--cyan),var(--green))}.confetti:nth-child(4n){background:linear-gradient(135deg,#fff,var(--gold))}@keyframes confettiFall{to{transform:translate(var(--x),110vh) rotate(var(--r));opacity:.15}}@keyframes partyPop{0%{transform:scale(.55) rotate(-6deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}@keyframes burstFade{0%,78%{opacity:1}100%{opacity:0}}
@media(max-width:820px){.party-card{width:calc(100% - 28px);padding:24px 18px}.pass-btn{min-height:58px;font-size:15px}}
:root{--bg:#090613;--card:rgba(22,16,42,.82);--line:rgba(255,255,255,.12);--gold:#ffd166;--pink:#ff3df2;--cyan:#42e8ff;--green:#42ff9e;--text:#fff;--muted:#b8b0d8}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;background:radial-gradient(circle at 20% 0%,#35105d 0,#090613 35%,#05040a 100%);color:var(--text);min-height:100vh}.wrap{max-width:1180px;margin:auto;padding:24px}.hero{display:grid;gap:18px;grid-template-columns:1.1fr .9fr;align-items:center}.brand{font-weight:900;letter-spacing:.08em;color:var(--gold);text-shadow:0 0 25px #ffbd2e}.glass{background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid var(--line);border-radius:28px;box-shadow:0 25px 80px rgba(0,0,0,.45),inset 0 0 60px rgba(255,255,255,.03);backdrop-filter:blur(12px)}.panel{padding:22px}.title{font-size:clamp(38px,7vw,86px);line-height:.9;margin:8px 0;text-transform:uppercase}.subtitle{color:var(--muted);font-size:18px}.btn{border:0;border-radius:18px;padding:14px 18px;font-weight:900;cursor:pointer;color:#160716;background:linear-gradient(135deg,var(--gold),#ff8a00);box-shadow:0 0 28px rgba(255,209,102,.25)}.btn.secondary{color:#fff;background:linear-gradient(135deg,#6a3bff,var(--pink))}.btn.ghost{color:#fff;background:rgba(255,255,255,.09);border:1px solid var(--line)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(0,0,0,.28);color:#fff;outline:none}label{font-size:13px;color:var(--muted);font-weight:700}.grid{display:grid;gap:16px}.grid2{grid-template-columns:repeat(2,1fr)}.grid3{grid-template-columns:repeat(3,1fr)}.stage{position:relative;min-height:520px;overflow:hidden}.dancefloor{position:absolute;inset:80px 24px 24px;border-radius:44px;background:radial-gradient(circle at center,rgba(255,209,102,.18),rgba(255,61,242,.08),rgba(66,232,255,.05));border:1px solid rgba(255,255,255,.1)}.big-table{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:180px;height:180px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#fff7c2 0,#ffd166 38%,#9d5c00 100%);color:#240c00;font-weight:1000;box-shadow:0 0 70px rgba(255,209,102,.9),0 0 120px rgba(255,61,242,.35);z-index:2}.table-card{position:absolute;width:130px;height:130px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.22),rgba(70,32,126,.9));border:2px solid rgba(255,255,255,.18);box-shadow:0 0 30px rgba(66,232,255,.16);font-size:12px;animation:float 4s ease-in-out infinite}.table-card .name{font-weight:1000;color:#fff}.table-card .seats{color:var(--gold);font-weight:900}.avatar{font-size:34px;filter:drop-shadow(0 0 10px rgba(255,255,255,.25))}.leader{box-shadow:0 0 55px rgba(255,209,102,.75);border-color:var(--gold)}@keyframes float{50%{transform:translateY(-8px)}}.rank-list{display:flex;flex-direction:column;gap:10px}.rank-row{display:grid;grid-template-columns:44px 1fr 84px;gap:10px;align-items:center;padding:12px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid var(--line)}.rank-row:first-child{background:linear-gradient(135deg,rgba(255,209,102,.25),rgba(255,61,242,.13));border-color:rgba(255,209,102,.55)}.pill{display:inline-flex;gap:6px;align-items:center;border-radius:999px;padding:7px 10px;background:rgba(255,255,255,.1);color:var(--muted);font-size:12px}.mobile-card{max-width:460px;margin:auto}.mesa{padding:16px;border-radius:22px;background:rgba(255,255,255,.08);border:1px solid var(--line)}.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:#160b2d;border:1px solid var(--line);padding:12px 16px;border-radius:999px;box-shadow:0 0 30px #000;display:none;z-index:9}.links a{color:var(--cyan);font-weight:800;margin-right:14px}canvas#linksCanvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}@media(max-width:820px){.hero,.grid2,.grid3{grid-template-columns:1fr}.wrap{padding:14px}.stage{min-height:480px}.title{font-size:52px}.table-card{width:105px;height:105px}.big-table{width:140px;height:140px}}

/* BIG MESA v0.7 - Android / Responsive Fix */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{overflow-x:hidden}.wrap{width:100%}.links{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px}.links a{text-decoration:none;background:rgba(255,255,255,.08);border:1px solid var(--line);padding:10px 12px;border-radius:999px}.floating-tv{position:fixed;right:16px;bottom:16px;z-index:9999;display:flex;align-items:center;justify-content:center;gap:8px;min-width:86px;height:56px;padding:0 16px;border-radius:999px;background:linear-gradient(135deg,var(--gold),#ff7a00);color:#170719!important;font-weight:1000;text-decoration:none;box-shadow:0 0 30px rgba(255,209,102,.45),0 10px 30px rgba(0,0,0,.45);border:2px solid rgba(255,255,255,.35)}.floating-tv:active{transform:scale(.96)}.mobile-help{font-size:15px;line-height:1.35;margin:6px 0 0}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.mesa{position:relative;overflow:hidden}.mesa::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0%,rgba(255,209,102,.12),transparent 40%);pointer-events:none}.mesa-title{font-size:20px;font-weight:1000;margin:0 0 6px}.mesa-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.mesa-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px}.mesa-actions .btn{width:100%;min-height:48px}.gift-row{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.gift-row select,.gift-row input{min-height:48px}.mobile-menu{position:sticky;top:0;z-index:20;display:none;gap:8px;overflow-x:auto;padding:10px 0;background:linear-gradient(180deg,rgba(9,6,19,.96),rgba(9,6,19,.70));backdrop-filter:blur(10px)}.mobile-menu a{white-space:nowrap;text-decoration:none;color:#fff;font-weight:900;border:1px solid var(--line);background:rgba(255,255,255,.08);padding:10px 12px;border-radius:999px}.empty-state{padding:18px;border:1px dashed rgba(255,255,255,.18);border-radius:18px;color:var(--muted);text-align:center}.tv-open-note{display:none;color:var(--gold);font-weight:800;text-align:center;margin-top:8px}.stage{touch-action:pan-y}.tv-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px}.tv-sidebar{display:flex;flex-direction:column;gap:14px}.tv-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.tv-title{margin:0}.tv-clockbox{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.tv-stage{min-height:640px}.tv-invite-card,.tv-event{padding:12px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid var(--line);margin-bottom:8px}.tv-invite-head{font-weight:1000;color:var(--gold);margin-bottom:4px}.tv-event{display:flex;gap:10px;align-items:center}.event-icon{font-size:28px}.accepted{border-color:rgba(66,255,158,.45)}.rejected{opacity:.78}.pending{animation:softPulse 1.8s ease-in-out infinite}@keyframes softPulse{50%{box-shadow:0 0 24px rgba(255,209,102,.22)}}
@media(max-width:820px){body{background:radial-gradient(circle at 50% -10%,#4b147d 0,#090613 45%,#05040a 100%)}.wrap{padding:12px 12px 88px}.mobile-menu{display:flex}.links{display:none}.panel{padding:16px;border-radius:22px}.mobile-card{max-width:none}.mobile-card h1{font-size:34px;margin:6px 0}.subtitle{font-size:15px}.grid{grid-template-columns:1fr!important;gap:12px}.mesa{padding:16px;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));box-shadow:0 14px 40px rgba(0,0,0,.22)}.mesa-title{font-size:22px}.btn{padding:14px 16px;border-radius:16px;font-size:15px}.rank-row{grid-template-columns:38px 1fr 72px;padding:12px}.pill{font-size:12px}.toast{width:calc(100% - 28px);border-radius:18px;text-align:center}.tv-open-note{display:block}.floating-tv{right:12px;bottom:12px;height:58px;min-width:92px}.stage{min-height:580px;overflow:visible;border-radius:22px}.dancefloor{inset:70px 10px 10px}.big-table{width:126px;height:126px;font-size:13px}.table-card{width:96px;height:96px;font-size:11px}.avatar{font-size:30px}.tv-layout{grid-template-columns:1fr}.tv-sidebar{display:grid;grid-template-columns:1fr;gap:12px}.tv-topbar{display:block}.tv-clockbox{justify-content:flex-start;margin-top:8px}.tv-stage{min-height:560px}.tv-body .wrap{padding-bottom:24px}}
@media(max-width:420px){.wrap{padding-left:10px;padding-right:10px}.panel{padding:14px}.stage{min-height:540px}.big-table{width:112px;height:112px}.table-card{width:88px;height:88px}.table-card .name{font-size:11px;max-width:76px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-card .seats{font-size:11px}.mesa-title{font-size:20px}.mobile-card h1{font-size:30px}.floating-tv{font-size:14px}}

/* BIG MESA v0.8 - PASARSE + fiesta */
.pass-card{border-color:rgba(255,209,102,.45);box-shadow:0 0 28px rgba(255,209,102,.12)}
.pass-btn{font-size:16px;letter-spacing:.02em;animation:passPulse 1.15s ease-in-out infinite;background:linear-gradient(135deg,#42ff9e,#ffd166,#ff7a00)}
@keyframes passPulse{50%{transform:scale(1.025);box-shadow:0 0 34px rgba(66,255,158,.38),0 0 42px rgba(255,209,102,.22)}}
.party-event{animation:partyGlow 1.2s ease-in-out infinite}
@keyframes partyGlow{50%{box-shadow:0 0 30px rgba(66,255,158,.28),0 0 30px rgba(255,61,242,.18)}}
.party-burst{position:fixed;inset:0;z-index:99999;pointer-events:none;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(255,209,102,.18),rgba(255,61,242,.10),rgba(0,0,0,.25));overflow:hidden;animation:burstFade 3.2s ease forwards}.party-card{position:relative;z-index:2;text-align:center;padding:28px 36px;border-radius:30px;background:linear-gradient(145deg,rgba(22,16,42,.92),rgba(56,20,94,.88));border:2px solid rgba(255,209,102,.6);box-shadow:0 0 90px rgba(255,209,102,.5),0 0 110px rgba(255,61,242,.25);animation:partyPop .55s cubic-bezier(.2,1.4,.4,1)}.party-card h1{font-size:clamp(38px,7vw,86px);margin:4px 0;color:var(--gold);text-shadow:0 0 28px rgba(255,209,102,.65)}.party-card p{font-size:clamp(18px,3vw,32px);margin:0;color:#fff;font-weight:900}.party-emoji{font-size:clamp(42px,8vw,90px)}.confetti{position:absolute;top:-20px;width:12px;height:20px;border-radius:4px;background:linear-gradient(135deg,var(--gold),var(--pink));animation:confettiFall 2.8s ease-in forwards}.confetti:nth-child(3n){background:linear-gradient(135deg,var(--cyan),var(--green))}.confetti:nth-child(4n){background:linear-gradient(135deg,#fff,var(--gold))}@keyframes confettiFall{to{transform:translate(var(--x),110vh) rotate(var(--r));opacity:.15}}@keyframes partyPop{0%{transform:scale(.55) rotate(-6deg);opacity:0}100%{transform:scale(1) rotate(0);opacity:1}}@keyframes burstFade{0%,78%{opacity:1}100%{opacity:0}}
@media(max-width:820px){.party-card{width:calc(100% - 28px);padding:24px 18px}.pass-btn{min-height:58px;font-size:15px}}

/* =========================================================
   BIG MESA TV INTERACTIVA v1.1
========================================================= */
.tv-action-hint{
  position:absolute;left:24px;bottom:24px;z-index:20;
  max-width:720px;padding:12px 16px;border-radius:18px;
  background:rgba(10,8,24,.72);border:1px solid rgba(255,255,255,.16);
  box-shadow:0 0 24px rgba(255,61,242,.18);backdrop-filter:blur(10px);
  color:#fff;font-weight:700
}
.tv-action-hint button{margin-left:10px;border:0;border-radius:999px;padding:8px 12px;background:linear-gradient(135deg,#ffd166,#ff3df2);color:#16051a;font-weight:900;cursor:pointer}
.table-card{cursor:pointer;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.table-card:hover{filter:brightness(1.2);box-shadow:0 0 34px rgba(255,209,102,.42),0 0 60px rgba(255,61,242,.22)}
.table-card.my-tv-table{outline:3px solid #56f7ff;box-shadow:0 0 36px rgba(86,247,255,.55)}
.table-bubble{position:absolute;left:50%;top:-48px;transform:translateX(-50%);width:190px;padding:9px 11px;border-radius:16px 16px 16px 4px;background:rgba(255,255,255,.95);color:#1b1230;font-size:12px;font-weight:900;line-height:1.18;box-shadow:0 10px 30px rgba(0,0,0,.35);animation:bubblePop 1.8s ease infinite alternate;z-index:4}
.table-bubble:after{content:"";position:absolute;left:34px;bottom:-9px;border:10px solid transparent;border-top-color:rgba(255,255,255,.95);border-bottom:0}
@keyframes bubblePop{from{transform:translateX(-50%) translateY(0) scale(.98)}to{transform:translateX(-50%) translateY(-4px) scale(1.02)}}
.tv-modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:999;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(8px)}
.tv-modal-card{position:relative;width:min(760px,96vw);max-height:88vh;overflow:auto;border-radius:28px;padding:28px;background:radial-gradient(circle at top left,rgba(255,61,242,.28),transparent 38%),linear-gradient(145deg,rgba(28,18,58,.96),rgba(6,5,18,.96));border:1px solid rgba(255,255,255,.18);box-shadow:0 0 80px rgba(255,61,242,.28),0 20px 90px rgba(0,0,0,.55);color:#fff}
.tv-close{position:absolute;right:18px;top:14px;border:0;border-radius:50%;width:42px;height:42px;background:rgba(255,255,255,.13);color:#fff;font-size:28px;cursor:pointer}
.versus{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;align-items:center;margin-bottom:18px}.versus>div{display:grid;text-align:center;gap:4px;padding:16px;border-radius:20px;background:rgba(255,255,255,.08)}.versus b{font-size:22px}.versus span{font-size:38px;color:#ffd166}.versus small{opacity:.75}
.tv-action-grid,.origin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.tv-action-grid button,.origin-btn{border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:18px;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;text-align:left;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.tv-action-grid button:hover,.origin-btn:hover{background:rgba(255,209,102,.16);border-color:rgba(255,209,102,.5)}.tv-action-grid button{display:grid;gap:4px;font-size:34px}.tv-action-grid button b{font-size:20px}.tv-action-grid button span{font-size:13px;opacity:.78}.tv-action-grid button.disabled{opacity:.45;filter:grayscale(1)}.origin-btn{display:grid;gap:6px;text-align:center;font-size:34px}.origin-btn b{font-size:18px}.origin-btn span{font-size:13px;opacity:.8}
.gift-form select,.gift-form input,.gift-form textarea,.chat-form textarea{width:100%;margin:8px 0 12px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;font-size:16px}.gift-form textarea,.chat-form textarea{min-height:110px;resize:vertical}.quick-msgs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.quick-msgs button{border:0;border-radius:999px;padding:9px 12px;background:rgba(255,255,255,.12);color:#fff;font-weight:800;cursor:pointer}
.tv-chat-wall{position:fixed;right:28px;bottom:28px;width:min(420px,92vw);max-height:65vh;z-index:80;padding:0;overflow:hidden;border-radius:24px;background:rgba(8,6,22,.88)}.chat-wall-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,rgba(255,209,102,.18),rgba(255,61,242,.18));border-bottom:1px solid rgba(255,255,255,.12)}.chat-wall-head button{border:0;border-radius:50%;width:32px;height:32px;background:rgba(255,255,255,.13);color:#fff;font-size:20px}.chat-wall-list{padding:14px;display:grid;gap:10px;overflow:auto;max-height:52vh}.chat-wall-msg{display:grid;gap:3px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08)}.chat-wall-msg b{color:#ffd166}.chat-wall-msg span{font-size:14px;line-height:1.25}
.big-table{cursor:pointer}.big-table:hover{filter:brightness(1.25);box-shadow:0 0 50px rgba(255,209,102,.35)}
@media(max-width:760px){.tv-action-grid,.origin-grid{grid-template-columns:1fr}.tv-action-hint{left:10px;right:10px;bottom:10px;font-size:13px}.tv-modal-card{padding:22px 16px}.versus{grid-template-columns:1fr}.versus>span{transform:rotate(90deg);justify-self:center}.table-bubble{width:150px;font-size:11px;top:-42px}}

/* =========================================================
   BIG MESA FIX v1.3 - Chat, regalos, ban y animaciones
========================================================= */
.bm-toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:99999;max-width:min(92vw,520px);padding:14px 18px;border-radius:18px;background:linear-gradient(135deg,rgba(255,209,102,.96),rgba(255,61,242,.92));color:#17051f;font-weight:900;box-shadow:0 18px 60px rgba(0,0,0,.45),0 0 42px rgba(255,61,242,.34)}
.mobile-chat-panel{margin-bottom:90px}.mobile-chat-list{display:grid;gap:10px;max-height:360px;overflow:auto;padding:6px}.mobile-chat-msg{display:grid;gap:4px;padding:12px 14px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);box-shadow:0 10px 28px rgba(0,0,0,.25)}.mobile-chat-msg.mine{background:linear-gradient(135deg,rgba(255,209,102,.22),rgba(255,61,242,.18));border-color:rgba(255,209,102,.38);border-radius:18px 18px 6px 18px}.mobile-chat-msg b{color:var(--gold,#ffd166)}.mobile-chat-msg span{font-size:15px;line-height:1.25}.mobile-chat-msg small{opacity:.62}.mobile-chat-send{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.mobile-chat-send textarea{min-height:54px;max-height:120px;resize:vertical;padding:14px;border-radius:18px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff}
.banned-table{filter:grayscale(1) brightness(.55);opacity:.72;box-shadow:0 0 22px rgba(255,0,0,.22)!important}.banned-screen{text-align:center;margin-top:15vh}.banned-screen h1{font-size:clamp(38px,8vw,80px);color:#ff6370}.banned-admin{opacity:.78;filter:grayscale(.35);border-color:rgba(255,80,80,.35)!important;background:rgba(255,0,0,.08)!important}.admin-table-row{grid-template-columns:54px 1fr auto auto!important}
.bm-glow{animation:bmGlow 1.6s ease-in-out infinite alternate}.bm-pop{animation:bmPop .42s ease both}.bm-anim-card-0{animation:bmFloatA 3.8s ease-in-out infinite}.bm-anim-card-1{animation:bmFloatB 4.1s ease-in-out infinite}.bm-anim-card-2{animation:bmPulseA 2.9s ease-in-out infinite}.bm-anim-card-3{animation:bmTiltA 4.4s ease-in-out infinite}.bm-anim-card-4{animation:bmGlow 3.2s ease-in-out infinite alternate}.bm-anim-card-5{animation:bmFloatC 3.6s ease-in-out infinite}
.bm-tv-anim-0{animation:bmTVFloat 4.8s ease-in-out infinite}.bm-tv-anim-1{animation:bmTVPulse 3.2s ease-in-out infinite}.bm-tv-anim-2{animation:bmTVTilt 4.6s ease-in-out infinite}.bm-tv-anim-3{animation:bmTVGlow 3.8s ease-in-out infinite alternate}.bm-tv-anim-4{animation:bmTVBounce 5.1s ease-in-out infinite}.bm-tv-anim-5{animation:bmTVShimmer 3.4s linear infinite}
.bm-bubble-0{background:#fff!important}.bm-bubble-1{background:#fff2cc!important}.bm-bubble-2{background:#dcf8ff!important}.bm-bubble-3{background:#ffdff7!important}.bm-bubble-4{background:#e6ffef!important}.bm-bubble-5{background:#efe4ff!important}
@keyframes bmGlow{from{box-shadow:0 0 12px rgba(255,209,102,.18)}to{box-shadow:0 0 28px rgba(255,209,102,.45),0 0 50px rgba(255,61,242,.22)}}@keyframes bmPop{from{transform:scale(.94);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes bmFloatA{50%{transform:translateY(-4px)}}@keyframes bmFloatB{50%{transform:translateY(4px)}}@keyframes bmFloatC{50%{transform:translateX(3px)}}@keyframes bmPulseA{50%{filter:brightness(1.18)}}@keyframes bmTiltA{50%{transform:rotate(.8deg)}}
@keyframes bmTVFloat{50%{margin-top:-6px}}@keyframes bmTVPulse{50%{filter:brightness(1.22) saturate(1.12)}}@keyframes bmTVTilt{50%{rotate:1.8deg}}@keyframes bmTVGlow{from{box-shadow:0 0 22px rgba(86,247,255,.24)}to{box-shadow:0 0 42px rgba(255,209,102,.46),0 0 70px rgba(255,61,242,.22)}}@keyframes bmTVBounce{50%{margin-top:5px}}@keyframes bmTVShimmer{0%{filter:hue-rotate(0deg)}100%{filter:hue-rotate(18deg)}}
@media(max-width:820px){.mobile-chat-send{grid-template-columns:1fr}.mobile-chat-send .btn{width:100%;min-height:52px}.admin-table-row{grid-template-columns:38px 1fr!important}.admin-table-row .actions{grid-column:1/-1}.gift-row{grid-template-columns:1fr!important}.gift-select{min-height:52px;font-size:17px}}

/* BIG MESA v1.4 - Final ganador */
.bm-winner-overlay{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:radial-gradient(circle at center,rgba(255,213,84,.22),rgba(10,2,25,.96) 60%,#000);backdrop-filter:blur(10px);overflow:hidden;padding:18px;text-align:center;color:#fff}
.winner-stage-card{position:relative;max-width:760px;width:min(92vw,760px);border:2px solid rgba(255,215,100,.85);box-shadow:0 0 80px rgba(255,186,36,.38),inset 0 0 60px rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(31,13,65,.95),rgba(115,47,9,.78));border-radius:34px;padding:34px 24px;animation:winnerPop .7s ease both}
.winner-crown{font-size:72px;filter:drop-shadow(0 0 22px gold);animation:crownBounce 1.3s ease infinite alternate}.winner-avatar{font-size:96px;margin:8px auto}.winner-label{display:inline-block;padding:8px 18px;border-radius:999px;background:rgba(255,215,100,.18);border:1px solid rgba(255,215,100,.65);letter-spacing:3px;font-weight:900;color:#ffe08a}.winner-stage-card h1{font-size:clamp(42px,7vw,92px);line-height:.95;margin:16px 0 8px;text-transform:uppercase;text-shadow:0 0 30px rgba(255,210,76,.75)}.winner-stats{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin:18px 0}.winner-stats span{font-size:clamp(22px,3vw,38px);font-weight:900;padding:12px 20px;border-radius:18px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.18)}.winner-stage-card p{font-size:18px;color:#fff8d6}.winner-close{position:absolute;right:18px;top:18px;border:0;border-radius:999px;background:#fff;color:#19051f;font-weight:900;padding:10px 16px;cursor:pointer}.bm-confetti{position:fixed;top:-8vh;font-style:normal;font-size:26px;z-index:100000;animation:bmConfettiFall linear forwards;pointer-events:none}.tv-winner-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 18px;padding:16px 20px;border:1px solid rgba(255,215,100,.6);box-shadow:0 0 35px rgba(255,202,64,.25);background:linear-gradient(90deg,rgba(255,193,7,.22),rgba(121,20,255,.22));font-size:22px;font-weight:900}.tv-winner-banner button{border:0;border-radius:999px;padding:10px 18px;font-weight:900;cursor:pointer}.admin-round-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.admin-winner-box{border:1px solid rgba(255,215,100,.55);background:linear-gradient(135deg,rgba(255,202,64,.14),rgba(124,35,255,.12));margin:14px 0}.winner-mini{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:20px}.winner-mini b{font-size:28px;color:#ffe08a}@keyframes bmConfettiFall{0%{transform:translateY(-10vh) rotate(0deg);opacity:1}100%{transform:translateY(115vh) rotate(780deg);opacity:.15}}@keyframes winnerPop{0%{transform:scale(.75);opacity:0}70%{transform:scale(1.04);opacity:1}100%{transform:scale(1)}}@keyframes crownBounce{from{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-10px) rotate(3deg)}}@media(max-width:700px){.tv-winner-banner{display:block;text-align:center;font-size:18px}.winner-stage-card{padding:28px 16px}.winner-close{position:static;margin-top:14px}.winner-avatar{font-size:72px}}

/* BIG MESA v1.5 - Reloj TV grande + popup destino sin tapar escenario */
.tv-clockbox{align-items:center;gap:14px}
.tv-clockbox .pulse-pill{font-size:34px!important;padding:14px 22px!important;border:2px solid rgba(255,209,102,.8);box-shadow:0 0 28px rgba(255,209,102,.45)}
.tv-clockbox #timer{font-size:72px!important;line-height:1!important;font-weight:950!important;letter-spacing:2px;color:#fff;text-shadow:0 0 18px rgba(255,209,102,.85),0 2px 0 rgba(0,0,0,.55)}
.table-bubble.bm-dest-popup{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);width:235px;max-width:260px;z-index:30;border-radius:18px;padding:10px 12px;background:rgba(0,0,0,.86);border:2px solid rgba(255,209,102,.85);box-shadow:0 10px 26px rgba(0,0,0,.42),0 0 20px rgba(255,61,242,.38);font-size:13px;text-align:left;pointer-events:none;animation:bmPopDest 5.8s ease both}
.table-bubble.bm-dest-popup b{display:block;color:#ffd166;font-size:13px;margin-bottom:4px}.table-bubble.bm-dest-popup span{display:block;color:#fff;line-height:1.25}
@keyframes bmPopDest{0%{opacity:0;transform:translateX(-50%) translateY(10px) scale(.88)}10%,82%{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}100%{opacity:0;transform:translateX(-50%) translateY(-8px) scale(.96)}}
.tv-chat-wall{position:fixed!important;right:18px!important;bottom:18px!important;top:auto!important;left:auto!important;width:min(360px,88vw)!important;max-height:46vh!important;z-index:250!important;overflow:auto!important;border-radius:20px!important;background:rgba(10,12,28,.92)!important;box-shadow:0 14px 40px rgba(0,0,0,.45)!important}.chat-wall-msg small{display:block;opacity:.72;margin-top:3px}.tv-action-grid button.disabled{opacity:.45;filter:grayscale(1)}
@media(max-width:780px){.tv-clockbox #timer{font-size:46px!important}.tv-clockbox .pulse-pill{font-size:24px!important}.table-bubble.bm-dest-popup{width:195px;font-size:12px}}


/* =========================================================
   BIG MESA v1.6 - TV responsivo estilo lobby
========================================================= */
.tv-wrap{max-width:1540px!important;padding:22px!important}
.tv-body{background:radial-gradient(circle at 45% 18%,#3b1562 0,#110728 42%,#030714 100%)!important;overflow-x:hidden}
.tv-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px)!important;gap:18px!important;align-items:start}
.tv-stage{min-height:clamp(540px,68vh,760px)!important;border-radius:34px!important;overflow:hidden!important;padding-bottom:108px!important}
.tv-sidebar{gap:16px!important}.tv-sidebar .tv-panel{border-radius:28px!important;background:rgba(13,10,35,.72)!important}.tv-sidebar .tv-panel h2{margin:0 0 12px;text-align:center;color:#ffd43b;text-transform:uppercase;font-size:clamp(18px,1.8vw,24px)}
.tv-chat-panel{display:block!important;min-height:260px}.tv-chat-wall{position:static!important;display:block!important;width:100%!important;max-height:none!important;min-height:210px!important;padding:0!important;z-index:auto!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important}.chat-wall-head{display:none!important}.chat-wall-list{padding:0!important;max-height:390px!important;overflow:auto!important;display:grid!important;gap:10px!important}.chat-wall-msg{background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;padding:12px!important;color:#fff!important}.chat-wall-msg.privado{border-color:rgba(66,232,255,.35)!important;background:rgba(66,232,255,.08)!important}.chat-row-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.chat-wall-msg b{color:#fff!important;font-size:16px!important}.chat-wall-msg small{color:#e9e6ff!important;opacity:.85!important}.chat-wall-msg span{color:#fff!important;font-size:16px!important;line-height:1.25!important;font-weight:700!important}.chat-wall-msg em{display:block;margin-top:5px;color:#72eaff;font-style:normal;font-size:12px;font-weight:800}
.tv-bottom-actions{position:absolute!important;left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;z-index:35!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px!important;width:min(520px,calc(100% - 28px))!important;max-width:520px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;color:#fff!important}.tv-bottom-actions button{margin:0!important;border-radius:18px!important;min-height:78px!important;padding:13px 16px!important;border:2px solid rgba(255,255,255,.22)!important;color:#fff!important;font-weight:1000!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:12px!important;text-align:center!important;box-shadow:0 12px 34px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.08)!important}.tv-bottom-actions button span{font-size:34px;line-height:1}.tv-bottom-actions button b{font-size:clamp(14px,1.8vw,20px);line-height:1.08;letter-spacing:.2px}.tv-main-chat{background:linear-gradient(135deg,#119a3a,#197a28)!important}.tv-mesas-chat{background:linear-gradient(135deg,#1855d6,#102a86)!important}.tv-bottom-actions button:hover{filter:brightness(1.18);transform:translateY(-1px)}
.table-bubble.bm-dest-popup{background:rgba(5,8,24,.95)!important;border:2px solid rgba(255,215,55,.92)!important;color:#fff!important;width:min(270px,32vw)!important;min-width:210px!important;border-radius:18px!important;box-shadow:0 16px 36px rgba(0,0,0,.46),0 0 24px rgba(255,215,55,.25)!important}.table-bubble.bm-dest-popup b{color:#fff!important;font-size:clamp(12px,1.1vw,15px)!important;text-shadow:0 1px 2px #000!important}.table-bubble.bm-dest-popup span{color:#fff!important;font-size:clamp(15px,1.35vw,20px)!important;font-weight:1000!important;text-shadow:0 2px 3px #000!important}.table-bubble:after{border-top-color:rgba(5,8,24,.95)!important}
.tv-clockbox .pulse-pill{background:transparent!important;border:0!important;box-shadow:none!important}.tv-clockbox #timer{color:#ffd43b!important;font-size:clamp(48px,5.2vw,84px)!important;text-shadow:0 0 20px rgba(255,212,59,.42),0 3px 0 rgba(0,0,0,.55)!important}
@media(max-width:1050px){.tv-layout{grid-template-columns:1fr!important}.tv-sidebar{display:grid!important;grid-template-columns:1fr 1fr!important}.tv-chat-panel{grid-column:1/-1}.tv-stage{min-height:620px!important}.table-bubble.bm-dest-popup{width:min(250px,44vw)!important}}
@media(max-width:680px){.tv-wrap{padding:12px!important}.tv-stage{min-height:560px!important;padding-bottom:132px!important}.tv-bottom-actions{grid-template-columns:1fr!important;width:calc(100% - 22px)!important;gap:10px!important;bottom:12px!important}.tv-bottom-actions button{min-height:58px!important}.tv-sidebar{grid-template-columns:1fr!important}.table-bubble.bm-dest-popup{width:205px!important;min-width:180px!important}.table-bubble.bm-dest-popup span{font-size:14px!important}.tv-clockbox #timer{font-size:44px!important}.tv-sidebar .tv-panel h2{font-size:18px!important}}

/* BIG MESA v1.8 - Quitar aviso/modal que tapa TV */
.tv-action-hint{
  display:none!important;
}
#tvActionHint.tv-bottom-actions{
  position:absolute!important;
  left:50%!important;
  bottom:18px!important;
  transform:translateX(-50%)!important;
  z-index:35!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:14px!important;
  width:min(520px,calc(100% - 28px))!important;
  max-width:520px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  color:#fff!important;
  pointer-events:auto!important;
}
#tvActionHint.tv-bottom-actions::before,
#tvActionHint.tv-bottom-actions::after{display:none!important;content:none!important;}
#tvActionHint.tv-bottom-actions button{
  margin:0!important;
  border-radius:18px!important;
  min-height:76px!important;
  padding:12px 16px!important;
  border:2px solid rgba(255,255,255,.24)!important;
  color:#fff!important;
  font-weight:1000!important;
  cursor:pointer!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  text-align:center!important;
  box-shadow:0 12px 34px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
#tvActionHint.tv-bottom-actions button span{font-size:34px!important;line-height:1!important;}
#tvActionHint.tv-bottom-actions button b{font-size:clamp(14px,1.8vw,20px)!important;line-height:1.08!important;letter-spacing:.2px!important;color:#fff!important;}
#tvActionHint .tv-main-chat{background:linear-gradient(135deg,#119a3a,#197a28)!important;}
#tvActionHint .tv-mesas-chat{background:linear-gradient(135deg,#1855d6,#102a86)!important;}
@media(max-width:680px){
  #tvActionHint.tv-bottom-actions{grid-template-columns:1fr!important;width:calc(100% - 22px)!important;gap:10px!important;bottom:12px!important;}
  #tvActionHint.tv-bottom-actions button{min-height:58px!important;}
}

/* =========================================================
   BIG MESA v1.9 - Chat TV legible con bolita de mensaje
   - No muestra texto encima de las mesas hasta tocar la bolita.
   - Elimina fondo blanco/amarillo ilegible.
========================================================= */
.table-bubble,
.table-bubble.bm-dest-popup{
  background:rgba(6,8,24,.96)!important;
  color:#fff!important;
  border:2px solid rgba(66,232,255,.9)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.55),0 0 22px rgba(66,232,255,.35)!important;
}
.table-bubble b,
.table-bubble.bm-dest-popup b{color:#fff!important;text-shadow:0 2px 4px #000!important}
.table-bubble span,
.table-bubble.bm-dest-popup span{color:#fff!important;text-shadow:0 2px 4px #000!important}
.table-bubble:after{border-top-color:rgba(6,8,24,.96)!important}
.bm-msg-dot{
  position:absolute;right:2px;top:-6px;z-index:60;
  width:42px;height:42px;border-radius:50%;border:3px solid #fff;
  background:linear-gradient(135deg,#00d4ff,#1858ff);
  color:#fff;font-size:22px;font-weight:1000;display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 24px rgba(0,212,255,.75),0 12px 28px rgba(0,0,0,.55);
  cursor:pointer;animation:bmDotPulse 1.25s ease-in-out infinite;
}
.bm-msg-dot small{position:absolute;right:-7px;top:-8px;min-width:21px;height:21px;border-radius:999px;background:#ff3df2;color:#fff;border:2px solid #fff;font-size:12px;line-height:17px;text-align:center;box-shadow:0 0 14px rgba(255,61,242,.8)}
@keyframes bmDotPulse{50%{transform:scale(1.12);box-shadow:0 0 34px rgba(0,212,255,1),0 12px 30px rgba(0,0,0,.58)}}
.bm-floating-msg{
  position:absolute;left:50%;bottom:100%;transform:translate(-50%,-12px);z-index:80;
  width:min(310px,34vw);min-width:230px;padding:14px 16px;border-radius:20px;
  background:rgba(7,8,26,.98);border:2px solid rgba(255,209,102,.95);color:#fff;
  box-shadow:0 18px 42px rgba(0,0,0,.62),0 0 28px rgba(255,209,102,.34);
  text-align:left;pointer-events:auto;animation:bmMsgIn .22s ease both;
}
.bm-floating-msg:after{content:"";position:absolute;left:50%;bottom:-12px;transform:translateX(-50%);border:12px solid transparent;border-top-color:rgba(7,8,26,.98);border-bottom:0}
.bm-floating-msg .bm-msg-title{display:block;color:#ffd166!important;font-size:15px;font-weight:1000;margin-bottom:5px;text-shadow:0 2px 4px #000}
.bm-floating-msg .bm-msg-text{display:block;color:#fff!important;font-size:19px;font-weight:1000;line-height:1.22;text-shadow:0 2px 4px #000;word-break:break-word}
.bm-floating-msg .bm-msg-time{position:absolute;right:12px;top:9px;color:#d9d9ff;font-size:12px;font-weight:800}
.bm-floating-msg .bm-msg-close{position:absolute;right:-10px;top:-12px;width:28px;height:28px;border-radius:50%;border:2px solid #fff;background:#ff315c;color:#fff;font-weight:1000;cursor:pointer}
@keyframes bmMsgIn{from{opacity:0;transform:translate(-50%,2px) scale(.92)}to{opacity:1;transform:translate(-50%,-12px) scale(1)}}
.chat-wall-msg{background:rgba(6,8,24,.88)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important}
.chat-wall-msg b,.chat-wall-msg span,.chat-wall-msg em,.chat-row-top small{color:#fff!important;text-shadow:0 1px 2px #000!important}
.chat-wall-msg span{font-size:16px!important;font-weight:800!important;line-height:1.25!important}
@media(max-width:1050px){.bm-floating-msg{width:min(270px,48vw);min-width:210px}.bm-floating-msg .bm-msg-text{font-size:16px}.bm-msg-dot{width:38px;height:38px;font-size:20px}}
@media(max-width:680px){.bm-floating-msg{width:230px;min-width:200px}.bm-floating-msg .bm-msg-text{font-size:15px}.bm-msg-dot{width:34px;height:34px;font-size:18px}}


/* =========================================================
   BIG MESA v2.0 - Corrección visual TV REAL
========================================================= */
.table-bubble{display:none!important;}
.bm-msg-dot{
  position:absolute!important;right:-8px!important;top:-12px!important;z-index:80!important;
  width:48px!important;height:48px!important;border-radius:50%!important;border:3px solid #fff!important;
  background:linear-gradient(135deg,#00d4ff,#155cff)!important;color:#fff!important;
  font-size:25px!important;font-weight:1000!important;display:flex!important;align-items:center!important;justify-content:center!important;
  box-shadow:0 0 26px rgba(0,212,255,.9),0 12px 28px rgba(0,0,0,.55)!important;
  cursor:pointer!important;animation:bmDotPulse 1.7s ease-in-out infinite!important;
}
.bm-msg-dot small{display:none!important;}
@keyframes bmDotPulse{50%{transform:scale(1.08);box-shadow:0 0 36px rgba(0,212,255,1),0 12px 30px rgba(0,0,0,.58)}}
.bm-floating-msg{
  position:absolute!important;left:50%!important;bottom:100%!important;transform:translate(-50%,-14px)!important;z-index:120!important;
  width:min(330px,38vw)!important;min-width:240px!important;padding:16px 18px!important;border-radius:22px!important;
  background:rgba(6,8,24,.98)!important;border:2px solid rgba(66,232,255,.96)!important;color:#fff!important;
  box-shadow:0 18px 48px rgba(0,0,0,.7),0 0 30px rgba(66,232,255,.36)!important;text-align:left!important;
}
.bm-floating-msg:after{content:""!important;position:absolute!important;left:50%!important;bottom:-13px!important;transform:translateX(-50%)!important;border:13px solid transparent!important;border-top-color:rgba(6,8,24,.98)!important;border-bottom:0!important;}
.bm-msg-close{position:absolute!important;right:10px!important;top:8px!important;width:30px!important;height:30px!important;border:0!important;border-radius:50%!important;background:rgba(255,255,255,.14)!important;color:#fff!important;font-size:22px!important;line-height:28px!important;cursor:pointer!important;}
.bm-msg-time{position:absolute!important;right:48px!important;top:12px!important;color:#fff!important;font-size:13px!important;opacity:.85!important;}
.bm-msg-title{display:block!important;color:#42e8ff!important;font-size:15px!important;font-weight:1000!important;margin:0 78px 8px 0!important;text-shadow:0 2px 4px #000!important;}
.bm-msg-text{display:block!important;color:#fff!important;font-size:20px!important;font-weight:1000!important;line-height:1.25!important;text-shadow:0 2px 4px #000!important;word-break:break-word!important;}
#tvActionHint.bm-v20-actions,
#tvActionHint.tv-bottom-actions{
  position:absolute!important;left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%)!important;
  z-index:95!important;width:min(560px,82%)!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px!important;
  padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:#fff!important;
}
#tvActionHint .bm-v20-btn,
#tvActionHint.tv-bottom-actions button{
  appearance:none!important;border:2px solid rgba(255,255,255,.28)!important;border-radius:20px!important;min-height:78px!important;
  padding:12px 18px!important;color:#fff!important;font-weight:1000!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:14px!important;text-align:center!important;
  box-shadow:0 14px 36px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.1)!important;
}
#tvActionHint .bm-v20-btn span,#tvActionHint.tv-bottom-actions button span{font-size:36px!important;line-height:1!important;}
#tvActionHint .bm-v20-btn b,#tvActionHint.tv-bottom-actions button b{font-size:clamp(15px,1.7vw,21px)!important;line-height:1.08!important;color:#fff!important;text-shadow:0 2px 4px rgba(0,0,0,.55)!important;}
#tvActionHint .bm-v20-green,#tvActionHint .tv-main-chat{background:linear-gradient(135deg,#11a941,#0c7229)!important;}
#tvActionHint .bm-v20-blue,#tvActionHint .tv-mesas-chat{background:linear-gradient(135deg,#126bff,#102a8b)!important;}
#tvChatWall,.tv-chat-wall{background:transparent!important;color:#fff!important;}
.bm-v20-chat-msg,.chat-wall-msg{
  background:rgba(6,8,24,.72)!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:16px!important;
  padding:12px 14px!important;margin-bottom:10px!important;color:#fff!important;box-shadow:0 10px 22px rgba(0,0,0,.22)!important;
}
.bm-v20-chat-msg b,.chat-wall-msg b{color:#fff!important;text-shadow:0 2px 4px #000!important;font-size:15px!important;}
.bm-v20-chat-msg span,.chat-wall-msg span{display:block!important;color:#fff!important;font-size:16px!important;font-weight:800!important;line-height:1.25!important;text-shadow:0 2px 4px #000!important;margin-top:4px!important;}
.bm-v20-chat-msg small,.chat-wall-msg small{color:rgba(255,255,255,.78)!important;}
@media(max-width:780px){
  #tvActionHint.bm-v20-actions,#tvActionHint.tv-bottom-actions{grid-template-columns:1fr!important;width:calc(100% - 22px)!important;gap:10px!important;bottom:12px!important;}
  #tvActionHint .bm-v20-btn,#tvActionHint.tv-bottom-actions button{min-height:62px!important;border-radius:16px!important;}
  .bm-msg-dot{width:42px!important;height:42px!important;font-size:22px!important;}
  .bm-floating-msg{width:230px!important;min-width:210px!important;}
  .bm-msg-text{font-size:16px!important;}
}


/* =========================================================
   BIG MESA v2.1 - UI real: iconos fijos, bolita funcional y textos legibles
========================================================= */
.table-bubble{display:none!important;}
#tvActionHint.bm-v21-top-icons,
#tvActionHint.tv-top-chat-icons{
  position:fixed!important;
  top:14px!important;
  right:14px!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  z-index:900!important;
  width:auto!important;
  display:flex!important;
  gap:12px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
#tvActionHint .bm-v21-icon{
  width:62px!important;height:62px!important;border-radius:50%!important;
  border:3px solid rgba(255,255,255,.92)!important;
  color:#fff!important;font-size:30px!important;font-weight:1000!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 24px rgba(66,232,255,.45)!important;
  backdrop-filter:blur(8px)!important;
}
#tvActionHint .bm-v21-global{background:linear-gradient(135deg,#0dbf50,#076827)!important;}
#tvActionHint .bm-v21-mesas{background:linear-gradient(135deg,#1377ff,#162c9a)!important;}
#tvActionHint .bm-v21-icon:hover{filter:brightness(1.18)!important;transform:translateY(-1px)!important;}
.bm-msg-dot.bm-v21-dot,.bm-msg-dot{
  pointer-events:auto!important;
  position:absolute!important;right:-10px!important;top:-14px!important;z-index:999!important;
  width:52px!important;height:52px!important;border-radius:50%!important;
  border:3px solid #fff!important;background:linear-gradient(135deg,#0bdcff,#135cff)!important;
  color:#fff!important;font-size:26px!important;line-height:1!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  cursor:pointer!important;box-shadow:0 0 26px rgba(0,220,255,.95),0 14px 30px rgba(0,0,0,.58)!important;
  animation:bmDotPulse 1.8s ease-in-out infinite!important;
}
.bm-msg-dot:active{transform:scale(.94)!important;}
.bm-floating-msg.bm-v21-message-card,.bm-floating-msg{
  background:rgba(5,7,22,.98)!important;
  border:2px solid rgba(66,232,255,.96)!important;
  color:#fff!important;
  box-shadow:0 18px 48px rgba(0,0,0,.72),0 0 34px rgba(66,232,255,.38)!important;
}
.bm-msg-title{color:#fff!important;text-shadow:0 2px 4px #000!important;}
.bm-msg-text{color:#fff!important;font-size:20px!important;font-weight:1000!important;text-shadow:0 2px 4px #000!important;}
.bm-msg-time{color:#fff!important;}
#tvChatWall,.tv-chat-wall{background:transparent!important;color:#fff!important;}
.chat-wall-msg,.bm-v21-chat-msg{
  background:rgba(5,7,22,.88)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:18px!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(0,0,0,.28)!important;
}
.chat-wall-msg b,.chat-wall-msg span,.chat-wall-msg small,
.bm-v21-chat-msg b,.bm-v21-chat-msg span,.bm-v21-chat-msg small{
  color:#fff!important;text-shadow:0 2px 4px #000!important;
}
.chat-wall-msg span,.bm-v21-chat-msg span{font-size:17px!important;font-weight:900!important;line-height:1.25!important;}
.bm-interaction-backdrop{
  position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.58);
  display:flex;align-items:center;justify-content:center;padding:18px;backdrop-filter:blur(7px);
}
.bm-interaction-card{
  width:min(430px,94vw);border-radius:28px;padding:24px;text-align:center;
  background:linear-gradient(145deg,rgba(16,10,38,.98),rgba(6,8,25,.98));
  border:2px solid rgba(255,255,255,.18);box-shadow:0 28px 80px rgba(0,0,0,.72),0 0 40px rgba(255,61,242,.22);
  color:#fff;animation:bmModalPop .18s ease-out both;
}
.bm-interaction-card.gift{border-color:rgba(255,209,102,.75);}
.bm-interaction-card.invite{border-color:rgba(66,232,255,.75);}
.bm-interaction-icon{font-size:56px;margin-bottom:8px;filter:drop-shadow(0 0 18px rgba(255,255,255,.35));}
.bm-interaction-card h2{margin:4px 0 10px;font-size:28px;color:#fff;}
.bm-interaction-card p{font-size:18px;line-height:1.3;margin:0 0 12px;color:#fff;}
.bm-interaction-detail{display:inline-flex;margin:8px auto 12px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);font-weight:1000;color:#fff;}
.bm-interaction-msg{margin:10px 0 14px;padding:14px;border-radius:18px;background:rgba(255,255,255,.09);font-size:18px;font-weight:900;color:#fff;}
.bm-interaction-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;}
.bm-interaction-actions button{border:0;border-radius:18px;min-height:58px;color:#fff;font-weight:1000;font-size:17px;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.35);}
.bm-interaction-actions .bm-accept{background:linear-gradient(135deg,#12b94d,#08782a);}
.bm-interaction-actions .bm-reject{background:linear-gradient(135deg,#ff315c,#9b1030);}
@keyframes bmModalPop{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(max-width:760px){
  #tvActionHint.bm-v21-top-icons,#tvActionHint.tv-top-chat-icons{top:10px!important;right:10px!important;gap:9px!important;}
  #tvActionHint .bm-v21-icon{width:52px!important;height:52px!important;font-size:25px!important;}
  .bm-msg-dot.bm-v21-dot,.bm-msg-dot{width:44px!important;height:44px!important;font-size:22px!important;}
  .bm-floating-msg{width:235px!important;min-width:210px!important;}
  .bm-msg-text{font-size:16px!important;}
  .bm-interaction-actions{grid-template-columns:1fr;}
}

/* =========================================================
   BIG MESA v2.2 - Botón TV/OFRECE + alerta visual de envío
========================================================= */
.bm-mode-switch{
  position:fixed!important;left:18px!important;bottom:18px!important;z-index:6500!important;
  min-width:132px!important;height:58px!important;border:2px solid rgba(255,255,255,.28)!important;border-radius:20px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  color:#fff!important;font-weight:1000!important;letter-spacing:.2px!important;cursor:pointer!important;
  background:linear-gradient(135deg,#ff9b28,#d71980)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.48),0 0 24px rgba(255,61,242,.28)!important;
  backdrop-filter:blur(10px)!important;
}
.bm-mode-switch.to-tv{background:linear-gradient(135deg,#0ecb64,#126bff)!important;}
.bm-mode-switch span{font-size:28px!important;line-height:1!important;filter:drop-shadow(0 2px 4px #000)!important;}
.bm-mode-switch b{font-size:16px!important;color:#fff!important;text-shadow:0 2px 4px #000!important;}
.bm-mode-switch:hover{transform:translateY(-2px)!important;filter:brightness(1.14)!important;}
.floating-tv{display:none!important;}
.bm-send-alert{
  position:fixed!important;inset:0!important;z-index:8000!important;background:rgba(0,0,0,.45)!important;
  display:flex!important;align-items:center!important;justify-content:center!important;padding:18px!important;backdrop-filter:blur(5px)!important;
}
.bm-send-alert-card{
  width:min(420px,94vw)!important;border-radius:28px!important;padding:24px!important;text-align:center!important;
  background:linear-gradient(145deg,rgba(10,8,28,.98),rgba(35,12,72,.98))!important;
  border:2px solid rgba(66,232,255,.75)!important;color:#fff!important;
  box-shadow:0 28px 80px rgba(0,0,0,.72),0 0 42px rgba(66,232,255,.25)!important;
  position:relative!important;animation:bmModalPop .18s ease-out both!important;
}
.bm-send-alert-icon{font-size:58px!important;margin-bottom:6px!important;filter:drop-shadow(0 0 18px rgba(255,255,255,.32))!important;}
.bm-send-alert-card h2{margin:0 0 10px!important;font-size:28px!important;color:#fff!important;text-shadow:0 2px 4px #000!important;}
.bm-send-alert-card p{margin:0 0 18px!important;font-size:18px!important;line-height:1.3!important;color:#fff!important;font-weight:800!important;}
.bm-send-alert-ok{
  border:0!important;border-radius:18px!important;padding:13px 34px!important;cursor:pointer!important;
  background:linear-gradient(135deg,#0ecb64,#126bff)!important;color:#fff!important;font-weight:1000!important;font-size:18px!important;
  box-shadow:0 12px 28px rgba(0,0,0,.35)!important;
}
.bm-send-alert-close{
  position:absolute!important;right:12px!important;top:10px!important;width:36px!important;height:36px!important;border-radius:50%!important;
  border:1px solid rgba(255,255,255,.2)!important;background:rgba(255,255,255,.1)!important;color:#fff!important;font-size:25px!important;line-height:31px!important;cursor:pointer!important;
}
@media(max-width:680px){
  .bm-mode-switch{left:12px!important;bottom:12px!important;min-width:108px!important;height:52px!important;border-radius:17px!important;}
  .bm-mode-switch span{font-size:24px!important}.bm-mode-switch b{font-size:14px!important}
  .bm-send-alert-card{padding:20px!important;border-radius:24px!important}.bm-send-alert-card h2{font-size:24px!important}.bm-send-alert-card p{font-size:16px!important}
}

/* =========================================================
   BIG MESA v2.3 - VEN A MI MESA
========================================================= */
.bm-interaction-card.join{border-color:rgba(255,209,102,.95)!important;box-shadow:0 28px 80px rgba(0,0,0,.72),0 0 48px rgba(255,209,102,.28)!important;}
.bm-big-question{margin:14px auto 12px;padding:13px 16px;border-radius:20px;background:linear-gradient(135deg,#ffb42a,#ff2ba6);color:#fff;font-size:22px;font-weight:1000;text-shadow:0 2px 5px #000;box-shadow:0 12px 30px rgba(0,0,0,.35);}
.bm-join-demand,.bm-join-msg{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.1);color:#fff;font-weight:900;font-size:17px;padding:14px;margin:8px 0;outline:none;}
.bm-join-demand option{background:#120622;color:#fff;}
.bm-join-msg::placeholder{color:rgba(255,255,255,.65);}
.bm-union-warning{margin:10px 0 4px;padding:10px 12px;border-radius:14px;background:rgba(255,209,102,.12);border:1px solid rgba(255,209,102,.38);color:#fff;font-weight:800;font-size:14px;line-height:1.25;}
.tv-action-grid button:first-child{background:linear-gradient(135deg,#ffb42a,#ff2ba6)!important;border-color:rgba(255,255,255,.22)!important;}
.bm-join-mobile-btn{background:linear-gradient(135deg,#ffb42a,#ff2ba6)!important;color:#fff!important;border:0!important;font-weight:1000!important;box-shadow:0 12px 26px rgba(0,0,0,.28)!important;}
@media(max-width:680px){.bm-big-question{font-size:18px}.bm-join-demand,.bm-join-msg{font-size:15px;padding:12px}.bm-union-warning{font-size:13px}}

/* =========================================================
   BIG MESA v2.4 - Bartender central reemplaza CHAT GENERAL
========================================================= */
.big-table{display:none!important;}
.bm-bartender-center{
  position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:15;
  width:clamp(132px,16vw,210px);height:clamp(132px,16vw,210px);border-radius:34px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.22),rgba(42,12,86,.92) 48%,rgba(8,7,28,.98));
  border:2px solid rgba(255,209,102,.72);
  box-shadow:0 0 42px rgba(255,209,102,.28),0 18px 52px rgba(0,0,0,.62),inset 0 0 40px rgba(255,255,255,.05);
  color:#fff;cursor:pointer;user-select:none;overflow:visible;animation:bmBartenderFloat 4.2s ease-in-out infinite;
}
.bm-bartender-center:hover{filter:brightness(1.12);box-shadow:0 0 58px rgba(255,209,102,.45),0 18px 52px rgba(0,0,0,.62);}
.bm-bartender-face{font-size:clamp(54px,7vw,92px);line-height:1;filter:drop-shadow(0 0 14px rgba(255,255,255,.28));transition:transform .25s ease;}
.bm-bartender-center.laugh .bm-bartender-face{animation:bmBartenderLaugh .7s ease-in-out infinite;}
.bm-bartender-center.angry{border-color:rgba(255,49,92,.9);box-shadow:0 0 48px rgba(255,49,92,.38),0 18px 52px rgba(0,0,0,.62);}
.bm-bartender-center.curious .bm-bartender-face{transform:rotate(-8deg);}
.bm-bartender-name{font-weight:1000;font-size:clamp(13px,1.4vw,18px);color:#ffd166;text-shadow:0 2px 5px #000;margin-top:4px;letter-spacing:.03em;}
.bm-bartender-bubble{
  position:absolute;left:50%;bottom:calc(100% - 8px);transform:translateX(-50%);
  width:max-content;max-width:min(310px,48vw);padding:10px 13px;border-radius:18px;
  background:rgba(5,7,22,.96);border:1px solid rgba(255,255,255,.22);color:#fff;
  font-size:clamp(13px,1.3vw,17px);font-weight:900;line-height:1.18;text-shadow:0 2px 4px #000;
  box-shadow:0 12px 30px rgba(0,0,0,.52);pointer-events:none;
}
.bm-bartender-bubble:after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:9px solid transparent;border-top-color:rgba(5,7,22,.96);}
.bm-bartender-badge{
  position:absolute;right:-10px;top:-12px;min-width:34px;height:34px;padding:0 8px;border-radius:999px;
  display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff315c,#ff9b28);color:#fff;font-weight:1000;
  border:3px solid #fff;box-shadow:0 0 22px rgba(255,49,92,.8);font-size:15px;
}
.bm-bartender-menu{
  position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:7200;
  width:min(430px,94vw);border-radius:28px;padding:20px;background:linear-gradient(145deg,rgba(16,10,38,.98),rgba(6,8,25,.98));
  border:2px solid rgba(255,209,102,.62);box-shadow:0 28px 80px rgba(0,0,0,.72),0 0 42px rgba(255,209,102,.22);color:#fff;
}
.bm-bartender-menu h2{margin:0 0 12px;text-align:center;color:#fff;text-shadow:0 2px 5px #000;}
.bm-bartender-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.bm-bartender-menu-grid button{
  min-height:74px;border:1px solid rgba(255,255,255,.18);border-radius:20px;padding:12px;background:linear-gradient(135deg,rgba(19,119,255,.92),rgba(255,43,166,.85));
  color:#fff;font-weight:1000;font-size:16px;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,.36);text-shadow:0 2px 4px #000;
}
.bm-bartender-menu-grid button span{display:block;font-size:28px;margin-bottom:3px;}
.bm-bartender-close{position:absolute;right:12px;top:10px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;font-size:26px;cursor:pointer;}
@keyframes bmBartenderFloat{50%{transform:translate(-50%,calc(-50% - 9px))}}
@keyframes bmBartenderLaugh{25%{transform:rotate(-6deg) scale(1.04)}75%{transform:rotate(6deg) scale(1.04)}}
@media(max-width:760px){
  .bm-bartender-center{width:116px;height:116px;border-radius:26px;}
  .bm-bartender-face{font-size:54px}.bm-bartender-name{font-size:12px}.bm-bartender-bubble{max-width:235px;font-size:12px;bottom:calc(100% - 3px)}
  .bm-bartender-menu-grid{grid-template-columns:1fr}.bm-bartender-menu-grid button{min-height:60px;}
}


/* =========================================================
   BIGMESA v2.8 - Limpieza visual/chat/bartender
========================================================= */
#tvActionHint.tv-bottom-actions .tv-main-chat,
#tvActionHint.tv-bottom-actions .tv-mesas-chat,
.bm-v21-icons,
.bm-v20-buttons{display:none!important;visibility:hidden!important;pointer-events:none!important;}
.bm-v28-mode-switch{position:absolute!important;left:50%!important;bottom:16px!important;transform:translateX(-50%)!important;z-index:40!important;display:flex!important;gap:14px!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.bm-mode-btn{min-width:150px!important;min-height:66px!important;border:2px solid rgba(255,255,255,.25)!important;border-radius:20px!important;background:linear-gradient(135deg,#7c3aed,#06b6d4)!important;color:#fff!important;font-weight:1000!important;box-shadow:0 12px 34px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.25)!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;cursor:pointer!important;}
.bm-mode-btn.ghost{background:linear-gradient(135deg,#111827,#334155)!important}.bm-mode-btn span{font-size:30px!important}.bm-mode-btn b{font-size:17px!important;letter-spacing:.04em!important}
.table-card{cursor:default!important}.table-card.bm-my-current-table,.table-card.my-tv-table{outline:4px solid rgba(0,229,255,.95)!important;box-shadow:0 0 28px rgba(0,229,255,.85),0 18px 46px rgba(0,0,0,.45)!important;}
.bm-my-marker{position:absolute!important;left:50%!important;top:-42px!important;transform:translateX(-50%)!important;z-index:20!important;background:linear-gradient(135deg,#06b6d4,#2563eb)!important;color:#fff!important;border:2px solid rgba(255,255,255,.8)!important;border-radius:999px!important;padding:7px 12px!important;font-weight:1000!important;font-size:14px!important;white-space:nowrap!important;box-shadow:0 0 22px rgba(0,229,255,.7)!important;animation:bmMyMesaPulse 1.4s infinite!important;}
.bm-my-marker b{margin-left:4px!important}@keyframes bmMyMesaPulse{50%{transform:translateX(-50%) translateY(-4px) scale(1.05)}}
.bm-bartender-menu.bm-v28-bartender-menu{z-index:99999!important}.bm-current-mini{margin:-3px 0 12px;padding:10px 12px;border-radius:16px;background:rgba(0,229,255,.12);border:1px solid rgba(0,229,255,.25);color:#fff;text-align:center;font-weight:800}.bm-current-mini b{color:#67e8f9}
.bm-v28-origin p,.bm-v28-dest p,.bm-v28-form p{color:#dbeafe!important;font-weight:800!important}.bm-origin-clean,.bm-dest-clean{border:1px solid rgba(255,255,255,.18)!important;background:linear-gradient(135deg,#111827,#1e3a8a)!important;color:#fff!important;border-radius:18px!important;box-shadow:0 10px 26px rgba(0,0,0,.35)!important;}
.bm-private-chat-panel{position:fixed;right:18px;bottom:18px;width:min(430px,calc(100vw - 18px));height:min(690px,calc(100vh - 18px));z-index:100000;background:linear-gradient(180deg,#111827,#050718);border:1px solid rgba(14,165,233,.65);border-radius:24px;box-shadow:0 20px 80px rgba(0,0,0,.75),0 0 34px rgba(14,165,233,.25);display:none;overflow:hidden;color:#fff;font-family:system-ui,Arial,sans-serif}.bm-private-chat-panel.open{display:flex;flex-direction:column}.bm-chat-head{display:flex;align-items:center;gap:10px;padding:14px;background:rgba(79,70,229,.28);border-bottom:1px solid rgba(255,255,255,.12)}.bm-chat-head div{flex:1}.bm-chat-head b{display:block;color:#fff;font-size:18px}.bm-chat-head small{display:block;color:#bae6fd;font-size:12px;margin-top:3px}.bm-chat-head button{width:38px;height:38px;border:0;border-radius:14px;background:#1f2937;color:#fff;font-size:24px;font-weight:900}.bm-private-chat-list{flex:1;overflow-y:auto;padding:16px;background:radial-gradient(circle at top,#172554 0,#070816 55%)}.bm-pmsg{display:flex;flex-direction:column;margin:9px 0;max-width:84%}.bm-pmsg.mine{margin-left:auto;align-items:flex-end}.bm-pmsg.theirs{margin-right:auto;align-items:flex-start}.bm-pmsg>div{padding:11px 14px;border-radius:18px;font-size:16px;line-height:1.3;color:#fff!important;word-break:break-word;text-shadow:none!important}.bm-pmsg.mine>div{background:linear-gradient(135deg,#2563eb,#14b8a6);border-bottom-right-radius:5px}.bm-pmsg.theirs>div{background:linear-gradient(135deg,#374151,#111827);border-bottom-left-radius:5px}.bm-pmsg small{font-size:10px;color:#aab3cc;margin:3px 6px}.bm-empty-chat{margin:30px auto;text-align:center;color:#dbeafe;font-weight:900}.bm-emoji-row{display:flex;gap:6px;padding:8px 10px;background:#0b1020;overflow-x:auto}.bm-emoji-row button{min-width:36px;height:36px;border:0;border-radius:12px;background:#1f2937;font-size:20px}.bm-private-chat-form{display:flex;gap:8px;padding:12px;background:#060814;border-top:1px solid rgba(255,255,255,.10)}.bm-private-chat-form input{flex:1;border:1px solid rgba(255,255,255,.15);background:#111827;color:#fff;border-radius:16px;padding:12px;font-size:16px;outline:none}.bm-private-chat-form button{border:0;border-radius:16px;padding:10px 15px;font-weight:900;color:white;background:linear-gradient(135deg,#7c3aed,#06b6d4);box-shadow:0 8px 22px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.22)}
.bm-msg-dot{position:absolute!important;right:4px!important;top:4px!important;z-index:30!important;border:0!important;border-radius:999px!important;background:#ef4444!important;color:#fff!important;font-weight:900!important;padding:7px 9px!important;box-shadow:0 0 18px rgba(239,68,68,.75)!important;cursor:pointer!important}.chat-message,.chat-bubble,.mensaje-chat,.chat-row,.message-text,.mobile-chat-msg span,.chat-wall-msg span{color:#fff!important;text-shadow:none!important}.chat-wall-msg,.mobile-chat-msg{background:#111827!important;color:#fff!important}
@media(max-width:640px){.bm-v28-mode-switch{bottom:10px!important}.bm-mode-btn{min-width:120px!important;min-height:56px!important}.bm-private-chat-panel{right:6px;bottom:6px;width:calc(100vw - 12px);height:calc(100vh - 12px);border-radius:18px}.bm-my-marker{font-size:12px;top:-36px}.bm-pmsg>div{font-size:15px}}
