:root{
  --bg:#030b08;--bg2:#06130e;--panel:#081510;--panel2:#0b1d16;--panel3:#0e271d;
  --line:#173b2d;--line2:#245d45;--text:#f4fbf7;--muted:#829b91;--green:#14ef91;--green2:#05b66d;
  --gold:#f6c85e;--gold2:#b97b19;--red:#ff6677;--silver:#c9d2d0;--bronze:#d88951;--shadow:0 24px 70px rgba(0,0,0,.42);
  --radius:20px;--navw:244px
}
*{box-sizing:border-box}html{background:var(--bg)}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text)}body{background:radial-gradient(circle at 70% -10%,rgba(19,239,145,.07),transparent 30%),linear-gradient(180deg,#04100c,#020806 70%);background-attachment:fixed}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.muted{color:var(--muted)}.green{color:var(--green)!important}.red{color:var(--red)!important}.mobile-only,.mobile-brand{display:none}.topbar-brand{display:none!important}a{color:inherit}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:900;color:var(--green);text-transform:uppercase}

/* brand */
.brand{display:flex;align-items:center;gap:10px;letter-spacing:.07em;z-index:2}.brand-mark{display:grid;place-items:center;width:38px;height:38px;color:var(--green);font-size:34px;filter:drop-shadow(0 0 14px rgba(20,239,145,.45));line-height:1}.brand span:last-child{display:grid}.brand b{font-size:20px;letter-spacing:.13em}.brand small{font-size:7px;color:var(--green);letter-spacing:.18em;font-weight:800;margin-top:-1px}

/* login */
.login-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(380px,.65fr);background:#020906}.login-art{position:relative;overflow:hidden;padding:34px 46px;display:flex;flex-direction:column;background:radial-gradient(circle at 70% 42%,rgba(10,96,61,.33),transparent 34%),linear-gradient(120deg,rgba(3,12,9,.98),rgba(3,23,16,.86))}.login-art:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 90px,rgba(255,255,255,.012) 91px 92px);pointer-events:none}.hero-copy{margin:8vh 0 0;max-width:720px;z-index:2}.hero-copy h1{font-size:clamp(54px,6.5vw,104px);line-height:.87;letter-spacing:-.06em;margin:14px 0 22px}.hero-copy h1 em{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(20,239,145,.95);text-shadow:0 0 50px rgba(20,239,145,.12)}.hero-copy p{font-size:17px;line-height:1.65;color:#abc1b8;max-width:530px}.login-table-preview{position:absolute;right:-80px;bottom:-70px;width:56%;height:55%;min-width:520px;z-index:1;filter:drop-shadow(0 40px 60px #000)}.preview-felt{position:absolute;inset:0;border:18px solid #0a0f0d;border-radius:50%;background:radial-gradient(circle,#0d4c33,#082d20 66%,#04150f);box-shadow:inset 0 0 80px #000,0 0 0 2px #9c7428,0 0 0 7px #111}.preview-logo{position:absolute;left:50%;top:40%;transform:translate(-50%,-50%);font-size:68px;color:rgba(255,255,255,.08)}.preview-pile{position:absolute;width:70px;height:98px;left:40%;top:45%;border-radius:8px;background:repeating-linear-gradient(45deg,#0c3123 0 6px,#102e25 6px 12px);border:2px solid #9c7428;box-shadow:0 9px 20px #000}.preview-pile.right{left:54%;background:#f7f8f4;color:#dc3345;font-weight:900;font-size:22px;padding:8px;border-color:#d7ddd9}.preview-hand{position:absolute;left:22%;bottom:5%;display:flex}.preview-hand i{width:70px;height:100px;background:#fafaf7;color:#111;border-radius:8px;margin-left:-25px;padding:7px;font-style:normal;font-weight:900;box-shadow:0 10px 20px #000;transform:rotate(calc((var(--i, 0) - 2) * 3deg))}.preview-hand i:nth-child(1){margin-left:0;color:#111}.preview-hand i:nth-child(3),.preview-hand i:nth-child(4){color:#dc3345}.hero-stats{margin-top:auto;display:flex;gap:52px;color:#729287;font-size:11px;z-index:3}.hero-stats span{border-left:1px solid #16402f;padding-left:15px}.hero-stats b{display:block;font-size:20px;color:white;margin-bottom:4px}.login-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(44px,6vw,80px);background:linear-gradient(180deg,#07140f,#030a08);border-left:1px solid #173629;box-shadow:-30px 0 90px rgba(0,0,0,.25)}.login-card .pill{align-self:flex-start;border:1px solid #1e6045;background:#0d2d21;color:var(--green);border-radius:999px;padding:7px 11px;font-weight:900;font-size:9px;letter-spacing:.16em}.login-card h2{font-size:42px;letter-spacing:-.05em;margin:18px 0 4px}.login-card>p{margin:0 0 25px;color:var(--muted)}.login-card label{display:grid;gap:8px;margin-bottom:14px;color:#b9cbc4;font-size:12px;font-weight:700}.login-card input{width:100%;background:#06100d;border:1px solid #1c4333;border-radius:13px;color:white;padding:14px 15px;outline:none}.login-card input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(20,239,145,.08)}.demo-box{margin-top:18px;border:1px solid #17392c;background:#071710;border-radius:14px;padding:13px 14px;display:grid;gap:5px;color:#93aca2}.demo-box b{color:#d9e8e2;font-size:12px}.demo-box small{font-size:10px}.demo-box strong{color:#a7c4b9}

/* buttons */
.btn{border:1px solid #1d4837;border-radius:12px;padding:11px 16px;background:linear-gradient(180deg,#10241b,#091611);color:var(--text);font-weight:800;font-size:12px;transition:.16s;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:hover{transform:translateY(-1px);border-color:#36785b;background:#132c21}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn.primary{border-color:#13d883;background:linear-gradient(180deg,#19f49a,#06b86d);color:#03110b;box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 0 1px rgba(20,239,145,.06),0 12px 30px rgba(7,195,116,.15)}.btn.primary:hover{box-shadow:inset 0 1px rgba(255,255,255,.36),0 0 24px rgba(20,239,145,.16),0 14px 32px rgba(7,195,116,.2)}.btn.danger{border-color:#6d2934;background:#2b1218;color:#ff9ba7}.btn.wide{width:100%;padding:13px 16px}.small-btn{background:#0b1c16;color:#bfdbd0;border:1px solid #204e3b;padding:7px 10px;border-radius:9px;font-size:10px;font-weight:800}.small-btn.danger{border-color:#63313b;color:#ff8d9a;background:#241117}

/* shell */
.app-shell{min-height:100dvh}.sidebar{position:fixed;z-index:40;inset:0 auto 0 0;width:var(--navw);padding:24px 14px;display:flex;flex-direction:column;background:linear-gradient(180deg,#06120e,#030a08);border-right:1px solid #15352a;box-shadow:18px 0 50px rgba(0,0,0,.2)}.side-brand{padding:0 10px 24px}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;border-radius:12px;color:#78968a;text-decoration:none;font-size:13px;font-weight:750;transition:.15s}.nav-item:hover{color:#dff9ee;background:#0c2018}.nav-item.active{color:white;background:linear-gradient(90deg,#0f3929,#0a1b15);box-shadow:inset 3px 0 var(--green),0 5px 15px rgba(0,0,0,.15)}.nav-icon{width:23px;text-align:center;color:#a9c5bb;font-size:16px}.nav-item.active .nav-icon{color:var(--green)}.side-footer{margin-top:auto;border-top:1px solid #153328;padding:16px 7px 0}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span:last-child{display:grid;gap:2px;font-size:11px}.user-chip small{color:#6f8b80}.avatar,.avatar-sm,.hero-avatar,.seat-avatar{display:grid;place-items:center;border-radius:50%;font-weight:900;background:linear-gradient(145deg,#22f1a0,#08784f);color:#04110c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}.avatar{width:38px;height:38px;font-size:12px}.avatar-sm{width:36px;height:36px;font-size:10px}.ghost-link{background:transparent;border:0;color:#657d74;padding:12px 0 0;font-size:11px}.main-area{margin-left:var(--navw);min-height:100dvh}.topbar{height:82px;position:sticky;top:0;z-index:30;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(3,11,8,.82);backdrop-filter:blur(20px);border-bottom:1px solid #143126}.crumb{font-size:8px;color:var(--green);font-weight:900;letter-spacing:.18em}.topbar h2{font-size:18px;margin:4px 0 0}.top-actions{display:flex;align-items:center;gap:12px}.wallet-chip{display:flex;align-items:center;gap:7px;border:1px solid #245542;background:#0a1a14;border-radius:999px;padding:9px 13px;color:#a9c1b7;font-size:11px;box-shadow:inset 0 0 20px rgba(20,239,145,.025)}.wallet-chip span{color:var(--gold)}.wallet-chip b{color:white;font-size:12px}.page{max-width:1540px;margin:auto;padding:30px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.section-head h1,.section-head h2{margin:5px 0 0;letter-spacing:-.045em}.section-head h1{font-size:30px}.section-head h2{font-size:25px}.section-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.head-actions{display:flex;gap:8px}

/* panels + dashboard */
.panel{position:relative;background:linear-gradient(160deg,rgba(10,27,21,.96),rgba(5,14,11,.98));border:1px solid #163a2c;border-radius:18px;padding:18px;box-shadow:var(--shadow);overflow:hidden}.panel:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(20,239,145,.25),transparent)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.panel-title h3{margin:4px 0 0;font-size:15px}.panel-title a{font-size:10px;color:#85a99a;text-decoration:none}.panel-title strong{font-size:25px;color:var(--green)}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.kpi{min-height:106px;background:linear-gradient(145deg,#0a2118,#07130f);border:1px solid #173e2e;border-radius:16px;padding:15px;display:flex;gap:13px;align-items:center;box-shadow:inset 0 1px rgba(255,255,255,.025)}.kpi-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#0d3425;border:1px solid #1c5e43;color:var(--green);font-size:19px}.kpi small{color:#7d998e;font-size:10px}.kpi b{display:block;font-size:24px;letter-spacing:-.04em;margin:3px 0}.kpi .delta{color:#57cd98;font-size:9px}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px;margin-bottom:15px}.dashboard-grid.lower{grid-template-columns:1.1fr .9fr}.spark-bars{height:180px;display:flex;align-items:flex-end;gap:7px;padding:18px 7px 2px;border-radius:12px;background:linear-gradient(180deg,rgba(20,239,145,.025),transparent),repeating-linear-gradient(0deg,transparent 0 35px,rgba(255,255,255,.035) 36px)}.spark-bars i{flex:1;max-width:34px;min-height:10px;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg,#18f29a,#087e51);box-shadow:0 0 14px rgba(20,239,145,.12)}.chart-foot{display:flex;justify-content:space-between;color:#678278;font-size:9px;margin-top:10px}.mini-room-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mini-room{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;border:1px solid #1a4233;background:#071811;padding:11px;border-radius:12px}.mini-room>span{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:#103b2b;color:var(--green)}.mini-room div{display:grid;gap:2px}.mini-room b{font-size:11px}.mini-room small{font-size:8px;color:#6f8b80}.mini-room strong{font-size:10px;color:#acc4bb}.mini-room.gold>span{color:var(--gold);background:#36280e}.mini-room.silver>span{color:#d9e1df;background:#24302d}.mini-room.bronze>span{color:var(--bronze);background:#332017}.premium-activity{display:grid}.activity-item{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:10px;border-bottom:1px solid #10281f;padding:9px 2px}.activity-item:last-child{border-bottom:0}.activity-item i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(20,239,145,.5)}.activity-item div{display:grid;gap:2px}.activity-item b{font-size:10px}.activity-item small{font-size:9px;color:#768f85}.activity-item time{font-size:8px;color:#60796f}.activity-item strong{font-size:10px}.status-live{color:var(--green);font-size:9px;font-weight:800}.status-off{color:#ff7a87;font-size:9px;font-weight:800}.mini-users{display:grid}.mini-user{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #10281f}.mini-user:last-child{border:0}.mini-user div{display:grid}.mini-user b{font-size:10px}.mini-user small{font-size:8px;color:#708b80}.mini-user strong{font-size:10px;color:#d9e8e2}.quick-panel{padding:26px}.quick-panel .quick-symbol{font-size:70px;color:rgba(20,239,145,.08);position:absolute;right:18px;top:5px}.quick-panel h2{max-width:380px;margin:10px 0 8px;font-size:28px;letter-spacing:-.04em}.quick-panel p{font-size:11px;color:#80998f;line-height:1.6;margin-bottom:20px}.quick-panel .btn{margin-top:8px}

/* lobby */
.player-hero{position:relative;overflow:hidden;min-height:218px;border:1px solid #1b4b38;border-radius:22px;padding:27px;background:radial-gradient(circle at 80% 30%,rgba(20,239,145,.13),transparent 30%),linear-gradient(120deg,#0c3426,#071610 70%);display:grid;grid-template-columns:1fr auto;align-items:center;box-shadow:0 25px 65px rgba(0,0,0,.3)}.player-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 55%,rgba(255,255,255,.02) 56%,transparent 57%);pointer-events:none}.player-intro{display:flex;align-items:center;gap:17px;z-index:2}.hero-avatar{width:72px;height:72px;font-size:20px;border:3px solid #34f2aa;box-shadow:0 0 0 5px rgba(20,239,145,.08),0 0 25px rgba(20,239,145,.16)}.player-intro h1{font-size:34px;letter-spacing:-.05em;margin:6px 0 3px}.player-intro p{margin:0;color:#91a99f;font-size:12px}.hero-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;z-index:2;margin-right:230px}.hero-stats-grid div{min-width:86px;border:1px solid #22543f;background:rgba(3,13,9,.46);border-radius:13px;padding:13px;text-align:center}.hero-stats-grid b{display:block;font-size:20px}.hero-stats-grid span{font-size:8px;color:#739187}.hero-card-fan{position:absolute;right:28px;bottom:-20px;display:flex;z-index:1}.hero-card-fan i{width:88px;height:126px;background:#f8faf7;color:#111;border-radius:11px;margin-left:-48px;padding:10px;font-style:normal;font-size:22px;font-weight:900;box-shadow:0 14px 35px #000}.hero-card-fan i:nth-child(1){transform:rotate(-17deg);color:#0b1511}.hero-card-fan i:nth-child(2){transform:translateY(-13px)}.hero-card-fan i:nth-child(3){transform:rotate(16deg);color:#0b1511}.room-head{margin-top:25px}.room-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.room-card{position:relative;overflow:hidden;min-height:300px;border-radius:19px;border:1px solid #1c4b38;background:linear-gradient(160deg,#0a2118,#06130f);padding:18px;box-shadow:0 22px 50px rgba(0,0,0,.3)}.room-card:before{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-50px;top:-50px;background:rgba(20,239,145,.06);filter:blur(2px)}.room-card.silver{border-color:#43534e}.room-card.silver:before{background:rgba(210,225,220,.08)}.room-card.bronze{border-color:#513628}.room-card.bronze:before{background:rgba(216,137,81,.08)}.room-card.gold{border-color:#65501c}.room-card.gold:before{background:rgba(246,200,94,.1)}.room-top{display:flex;justify-content:space-between;align-items:center}.room-badge{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:#103b2b;border:1px solid #1f6548;color:var(--green);font-size:22px;box-shadow:inset 0 0 18px rgba(20,239,145,.08)}.room-card.silver .room-badge,.admin-room.silver .room-badge{background:#26312e;border-color:#687772;color:#e1e7e5}.room-card.bronze .room-badge,.admin-room.bronze .room-badge{background:#332118;border-color:#714b34;color:var(--bronze)}.room-card.gold .room-badge,.admin-room.gold .room-badge{background:#392c0d;border-color:#725919;color:var(--gold)}.live-pill{font-size:7px;font-weight:900;color:#58d99e;letter-spacing:.12em}.room-card h3{font-size:20px;margin:18px 0 4px}.room-stake{font-size:24px;font-weight:900;letter-spacing:-.04em}.room-stake span{color:#5a746a;font-weight:400}.room-card>small{color:#6e887e;font-size:9px}.room-meta{display:flex;gap:8px;margin:18px 0 12px}.room-meta span{flex:1;border:1px solid #17382b;border-radius:10px;padding:9px;color:#718b81;font-size:8px}.room-meta b{display:block;color:#dce9e4;font-size:11px;margin-bottom:2px}.room-buyin{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#789187;font-size:9px}.room-buyin b{color:var(--gold);font-size:11px}.responsible-banner{margin-top:16px;border:1px solid #173f30;border-radius:16px;background:#071710;padding:15px 18px;display:flex;align-items:center;gap:13px}.responsible-banner>span{font-size:26px;color:var(--green)}.responsible-banner div{flex:1}.responsible-banner b{font-size:11px}.responsible-banner p{margin:2px 0 0;color:#748d83;font-size:9px}.responsible-banner a{font-size:9px;color:#85b9a4;text-decoration:none}

/* tables admin */
.admin-room-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.admin-room{border:1px solid #173f30;background:linear-gradient(155deg,#0b1f17,#06120e);border-radius:17px;padding:17px}.admin-room-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:11px}.admin-room-head h3{margin:0;font-size:15px}.admin-room-head small{color:#607a70;font-size:8px}.admin-room-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.admin-room-stats div{background:#07140f;border:1px solid #14352a;border-radius:10px;padding:10px}.admin-room-stats small{display:block;color:#6f887e;font-size:8px}.admin-room-stats b{display:block;font-size:11px;margin-top:3px}.admin-room-actions{display:flex;gap:7px}.admin-room-actions .btn{flex:1;padding:9px}

/* tables / data */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.premium-toolbar{border-bottom:1px solid #133126;padding-bottom:14px}.search-box{display:flex;align-items:center;gap:8px;min-width:300px;background:#07140f;border:1px solid #1a4132;border-radius:11px;padding:0 11px;color:#739085}.search-box input{flex:1;border:0;background:transparent;color:white;padding:10px 0;outline:0;font-size:11px}.filter-chip{border:1px solid #1c4937;background:#0a1d16;border-radius:999px;padding:7px 10px;color:#88a79a;font-size:9px}.data-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:780px}.data-table th{text-align:left;font-size:8px;color:#648176;text-transform:uppercase;letter-spacing:.13em;padding:10px;border-bottom:1px solid #1a3a2e}.data-table td{font-size:10px;padding:12px 10px;border-bottom:1px solid #10281f;color:#b8ccc4}.data-table tr:hover td{background:rgba(20,239,145,.012)}.data-table td small{font-size:8px;color:#688176}.identity{display:flex;align-items:center;gap:9px}.identity>span:last-child{display:grid}.role{display:inline-block;border:1px solid #285241;background:#0a1b15;color:#94b3a7;border-radius:999px;padding:5px 8px;font-size:7px;text-transform:uppercase;font-weight:900;letter-spacing:.05em}.role.admin{color:var(--gold);border-color:#5b491d}.role.agent{color:#9ac9ff;border-color:#244a69}.role.player{color:#79e6b2}.row-actions{display:flex;gap:5px}.empty{text-align:center;color:#718b80;padding:35px;font-size:11px}.ranking-list{display:grid}.ranking-list>div{display:grid;grid-template-columns:26px 1fr auto;align-items:center;padding:10px 0;border-bottom:1px solid #112c22}.ranking-list>div>span{width:22px;height:22px;border-radius:7px;background:#0e3023;color:var(--green);display:grid;place-items:center;font-size:8px}.ranking-list b,.ranking-list strong{font-size:10px}.ranking-list strong{color:#aec7bd}.wallet-summary{position:relative;overflow:hidden;margin-bottom:15px;border:1px solid #1d4e3a;background:linear-gradient(115deg,#0c3325,#07140f);border-radius:18px;padding:22px;display:flex;justify-content:space-between;align-items:center}.wallet-summary span{display:block;color:#82a094;font-size:9px}.wallet-summary b{display:inline-block;font-size:34px;letter-spacing:-.04em;margin:5px 8px 0 0;color:var(--gold)}.wallet-summary small{color:#728b81;font-size:9px}.wallet-orb{font-size:52px;color:var(--gold);opacity:.25}.history-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.history-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;border:1px solid #193b2f;background:linear-gradient(145deg,#0a1d16,#06110e);border-radius:16px;padding:16px}.history-card.won{border-color:#31553d;background:linear-gradient(145deg,#0d281d,#07130f)}.history-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;background:#102f23;color:#66dca7;font-size:20px}.history-card.won .history-icon{background:#3b2d0f;color:var(--gold)}.history-card h3{margin:4px 0 2px;font-size:13px}.history-card p{margin:0;color:#688277;font-size:8px}.history-meta{display:grid;justify-items:end;gap:3px}.history-meta small{font-size:8px;color:#718a80}.history-meta b{color:#dce8e3}

/* rules */
.rule-hero{min-height:230px;border:1px solid #1b4937;border-radius:20px;background:radial-gradient(circle at 25% 50%,rgba(20,239,145,.12),transparent 25%),linear-gradient(120deg,#0b3023,#06120e);padding:28px;display:grid;grid-template-columns:290px 1fr;gap:25px;align-items:center;overflow:hidden}.rule-card-stack{height:160px;display:flex;align-items:center;justify-content:center}.rule-card-stack i{width:94px;height:136px;border-radius:11px;background:#fafbf8;color:#d63549;font-style:normal;font-weight:900;font-size:25px;padding:10px;margin-left:-45px;box-shadow:0 16px 35px #000}.rule-card-stack i:first-child{margin-left:0;transform:rotate(-14deg)}.rule-card-stack i:nth-child(2){transform:translateY(-13px)}.rule-card-stack i:nth-child(3){transform:rotate(13deg)}.rule-hero h2{font-size:34px;max-width:620px;letter-spacing:-.045em;margin:8px 0 10px}.rule-hero p{max-width:650px;color:#8fa99f;font-size:12px;line-height:1.7}.rules-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:15px 0}.rules-grid article{border:1px solid #17392d;background:#071610;border-radius:16px;padding:18px}.rules-grid article>span{color:var(--green);font-size:10px;font-weight:900}.rules-grid h3{margin:14px 0 7px}.rules-grid p{margin:0;color:#769087;font-size:10px;line-height:1.65}.rules-grid b{color:#cfe3db}.rule-note{display:flex;align-items:center;gap:13px}.rule-note>span{font-size:28px;color:var(--green)}.rule-note b{font-size:11px}.rule-note p{margin:3px 0 0;color:#728b81;font-size:9px}

/* game */
body.game-mode{overflow-x:hidden}body.game-mode .sidebar{display:none}body.game-mode .main-area{margin-left:0}body.game-mode .page{max-width:none;padding:0 18px 22px}body.game-mode .topbar{height:70px;padding:0 22px}body.game-mode .page-heading{display:none}body.game-mode .topbar-brand{display:flex!important}.game-screen{min-height:calc(100dvh - 92px);display:grid;grid-template-rows:auto minmax(450px,1fr) auto;gap:10px}.game-toolbar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:10px 0}.game-back{background:#07140f;border:1px solid #193b2e;color:#a9c0b7;border-radius:11px;padding:9px 12px;font-weight:700;font-size:10px}.game-room-info{display:grid;gap:2px}.game-room-info b{font-size:12px}.game-room-info span{color:#789188;font-size:8px}.game-turn-chip{display:flex;align-items:center;gap:9px;border:1px solid #264c3c;background:#0a1a14;border-radius:12px;padding:8px 11px}.game-turn-chip small{color:#7f998f;font-size:7px;max-width:160px}.game-turn-chip b{color:#c3d4cd;font-size:11px}.game-turn-chip.mine{border-color:#1c8156;box-shadow:0 0 20px rgba(20,239,145,.08)}.game-turn-chip.mine b{color:var(--green)}.casino-stage{position:relative;min-height:500px;border-radius:24px;overflow:hidden;background:radial-gradient(circle at 50% 30%,rgba(255,188,73,.09),transparent 21%),linear-gradient(180deg,#07140f,#020806 75%);box-shadow:inset 0 1px #1a342a}.casino-stage:before,.casino-stage:after{content:"";position:absolute;width:260px;height:450px;top:5%;background:radial-gradient(ellipse at center,rgba(255,190,68,.08),transparent 60%);filter:blur(14px)}.casino-stage:before{left:-90px}.casino-stage:after{right:-90px}.ambient-light{position:absolute;left:50%;top:5%;width:55%;height:55%;transform:translateX(-50%);background:radial-gradient(circle,rgba(20,239,145,.06),transparent 65%);filter:blur(10px)}.rammi-table{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);width:min(1160px,86vw);height:min(610px,66vh);min-height:455px;border-radius:50%;background:radial-gradient(ellipse at center,#0d5b3b 0,#0a422e 52%,#07271c 77%,#051610 100%);border:17px solid #111614;box-shadow:0 0 0 2px #73541c,0 0 0 8px #080c0b,inset 0 0 100px rgba(0,0,0,.52),0 34px 80px rgba(0,0,0,.75)}.rammi-table:before{content:"";position:absolute;inset:15px;border-radius:50%;border:1px solid rgba(247,194,87,.18);pointer-events:none}.felt-brand{position:absolute;left:50%;top:30%;transform:translate(-50%,-50%);display:grid;justify-items:center;color:rgba(228,241,235,.18);z-index:1}.felt-brand span{font-size:34px}.felt-brand b{font-size:24px;letter-spacing:.3em}.felt-brand small{font-size:6px;letter-spacing:.35em;margin-top:5px}.player-seat{position:absolute;z-index:7;display:flex;align-items:center;gap:8px;background:rgba(3,12,9,.92);border:1px solid #1e4a38;border-radius:13px;padding:7px 10px;box-shadow:0 10px 25px rgba(0,0,0,.4);min-width:150px}.player-seat.active-seat{border-color:#1ee89a;box-shadow:0 0 0 1px rgba(20,239,145,.35),0 0 24px rgba(20,239,145,.18),0 12px 30px rgba(0,0,0,.45)}.player-seat.me-seat{border-color:#3e715d}.seat-avatar{width:38px;height:38px;font-size:10px;flex:0 0 38px;border:2px solid #2ef0a4}.seat-copy{display:grid}.seat-copy b{font-size:10px}.seat-copy small{font-size:8px;color:#769187}.seat-time{margin-left:auto;color:var(--green);font-size:8px}.player-seat.south{left:50%;bottom:-17px;transform:translateX(-50%)}.player-seat.north{left:50%;top:-19px;transform:translateX(-50%)}.player-seat.west{left:-40px;top:48%;transform:translateY(-50%)}.player-seat.east{right:-40px;top:48%;transform:translateY(-50%)}.opponent-backs{position:absolute;z-index:-1;display:flex;pointer-events:none}.opponent-backs i{width:25px;height:39px;border-radius:4px;border:1px solid #5f786d;background:repeating-linear-gradient(45deg,#102b23 0 3px,#173d30 3px 6px);box-shadow:0 3px 6px #000;margin-left:-17px}.opponent-backs i:first-child{margin-left:0}.north .opponent-backs{left:50%;top:52px;transform:translateX(-50%)}.west .opponent-backs{left:136px;top:50%;transform:translateY(-50%) rotate(90deg)}.east .opponent-backs{right:136px;top:50%;transform:translateY(-50%) rotate(90deg)}.center-zone{position:absolute;z-index:5;left:50%;top:53%;transform:translate(-50%,-50%);display:flex;gap:28px}.deck-stack,.trash-stack{width:105px;background:transparent;border:0;color:white;display:grid;justify-items:center;gap:6px;padding:4px;border-radius:12px}.deck-stack.available,.trash-stack.available{filter:drop-shadow(0 0 13px rgba(20,239,145,.14))}.deck-stack.available:hover,.trash-stack.available:hover{transform:translateY(-3px)}.pile-title{font-size:9px;font-weight:900;letter-spacing:.12em;color:#c6ddd4}.card-back,.discard-card{width:70px;height:98px;border-radius:8px;box-shadow:0 8px 18px rgba(0,0,0,.55)}.card-back{position:relative;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#0a3122 0 6px,#123f30 6px 12px);border:2px solid #c5a14f;box-shadow:-4px 4px 0 #0d271f,-8px 8px 0 #092017,0 10px 18px #000}.card-back:before{content:"";position:absolute;inset:6px;border:1px solid rgba(238,200,91,.5);border-radius:5px}.card-back i{font-style:normal;color:#d6b258;font-size:25px}.discard-card{background:#f8f9f5;color:#101613;border:1px solid #d6ddd9;padding:7px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.discard-card b{font-size:17px}.discard-card i{font-style:normal;font-size:27px;align-self:center;margin-bottom:8px}.discard-card.red-suit{color:#d92f46}.deck-stack small,.trash-stack small{font-size:7px;color:#93aaa1}.turn-panel{position:absolute;z-index:4;left:50%;top:73%;transform:translateX(-50%);min-width:260px;text-align:center;border:1px solid #29503f;background:rgba(4,19,13,.72);border-radius:12px;padding:8px 14px;backdrop-filter:blur(8px)}.turn-panel.mine{border-color:#23b978;box-shadow:0 0 22px rgba(20,239,145,.08)}.turn-panel small{display:block;color:#76a08f;font-size:6px;letter-spacing:.14em}.turn-panel b{display:block;font-size:11px;margin:3px 0 6px}.round-timer{height:3px;background:#143326;border-radius:999px;overflow:hidden}.round-timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#00b66c,#2affac);box-shadow:0 0 8px #14ef91;transition:width .5s linear}.hand-dock{position:relative;z-index:10;margin:-60px auto 0;width:min(1100px,94vw);background:linear-gradient(180deg,rgba(5,16,12,.1),rgba(3,10,8,.96) 48%);padding:5px 12px 0}.meld-strip{min-height:29px;display:flex;justify-content:space-between;align-items:center;gap:8px}.meld-strip>div:first-child{display:grid}.meld-strip small{font-size:7px;color:#6d897e}.meld-tags{display:flex;gap:5px;overflow-x:auto}.meld{border:1px dashed #2d654e;border-radius:8px;padding:5px 7px;font-size:7px;color:#9ec2b3;white-space:nowrap}.hand{height:132px;display:flex;align-items:flex-end;justify-content:center;padding:5px 15px 17px;overflow:visible}.playing-card{position:relative;flex:0 0 76px;height:112px;margin-left:-23px;border:0;border-radius:9px;background:linear-gradient(165deg,#fff,#edf1ed);color:#111715;box-shadow:0 9px 22px rgba(0,0,0,.5),inset 0 0 0 1px #d2d8d4;transform:rotate(var(--fan)) translateY(var(--lift));transform-origin:50% 100%;transition:.14s;padding:7px;text-align:left}.playing-card:first-child{margin-left:0}.playing-card:hover{transform:rotate(0) translateY(-13px);z-index:20}.playing-card.selected{transform:rotate(0) translateY(-21px);z-index:21;box-shadow:0 0 0 3px var(--green),0 16px 28px #000}.playing-card.red-suit{color:#da3147}.playing-card .corner{display:grid;justify-items:center;width:20px;line-height:1}.playing-card .corner b{font-size:15px}.playing-card .corner i{font-style:normal;font-size:14px}.playing-card .center-suit{position:absolute;inset:0;display:grid;place-items:center;font-size:32px;opacity:.92}.playing-card>small{position:absolute;bottom:6px;right:6px;font-size:6px;writing-mode:vertical-rl}.game-actions{display:grid;grid-template-columns:1fr 1fr 1.35fr 1.35fr;gap:8px}.action-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,#0d241b,#07140f);border:1px solid #204d3b;color:#dcece5;border-radius:12px;padding:11px 13px}.action-btn span{font-size:17px;color:#73bfa0}.action-btn b{font-size:9px}.action-btn.danger-soft{border-color:#4c3a3f}.action-btn.danger-soft span{color:#c78d96}.action-btn.gold-action{background:linear-gradient(180deg,#5e4314,#3f2b0b);border-color:#bd8d2e;box-shadow:inset 0 1px #dcb662,0 0 22px rgba(246,200,94,.09)}.action-btn.gold-action span,.action-btn.gold-action b{color:#f7d477}.waiting-room{min-height:calc(100dvh - 145px);display:grid;place-items:center;align-content:center;text-align:center}.wait-spade{font-size:90px;color:rgba(20,239,145,.2);filter:drop-shadow(0 0 22px rgba(20,239,145,.15))}.waiting-room h1{font-size:38px;margin:5px 0}.waiting-room p{color:#769187;max-width:470px;font-size:11px}.wait-dots{display:flex;gap:7px;margin:16px}.wait-dots i{width:8px;height:8px;background:var(--green);border-radius:50%;animation:bounce 1s infinite}.wait-dots i:nth-child(2){animation-delay:.14s}.wait-dots i:nth-child(3){animation-delay:.28s}@keyframes bounce{50%{transform:translateY(-6px);opacity:.5}}

/* modal */
.modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(10px);display:grid;place-items:center;padding:18px}.modal-card{width:min(540px,100%);max-height:90dvh;overflow:auto;background:linear-gradient(160deg,#0b1d16,#06110d);border:1px solid #285740;border-radius:20px;padding:24px;box-shadow:0 30px 100px #000;position:relative}.modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#718e83;font-size:26px}.form-grid{display:grid;gap:12px}.form-grid h3{font-size:24px;margin:5px 0 5px}.form-grid label{display:grid;gap:6px;color:#9fb8ae;font-size:10px}.form-grid input,.form-grid select{background:#05100c;color:white;border:1px solid #204735;border-radius:10px;padding:11px 12px;outline:none}.form-split{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-values{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.quick-values button{border:1px solid #1f4d3a;background:#0a2118;color:#a9c9bc;border-radius:9px;padding:8px;font-size:9px}

/* toast */
#toast{position:fixed;right:17px;top:17px;z-index:200;display:grid;gap:8px}.toast{min-width:250px;display:flex;align-items:center;gap:9px;border:1px solid #2a6048;background:#0a1f17;color:#e2f3ec;border-radius:12px;padding:11px 13px;box-shadow:0 16px 45px #000;animation:pop .18s ease}.toast span{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#0f4b34;color:var(--green);font-size:10px}.toast b{font-size:10px}.toast.error{border-color:#6c3340}.toast.error span{background:#4a1e27;color:#ff9ba8}@keyframes pop{from{transform:translateY(-8px);opacity:0}}
.bottom-nav{display:none}.icon-btn{border:1px solid #1a4232;background:#091a14;color:#d7e9e1;border-radius:10px;padding:8px 10px}

/* tablet */
@media(max-width:1180px){.room-grid{grid-template-columns:repeat(2,1fr)}.kpi-grid{grid-template-columns:repeat(2,1fr)}.hero-stats-grid{margin-right:160px;grid-template-columns:repeat(2,1fr)}.hero-card-fan{right:4px}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.history-grid{grid-template-columns:repeat(2,1fr)}.rules-grid{grid-template-columns:repeat(2,1fr)}.rammi-table{width:88vw}.player-seat.west{left:-25px}.player-seat.east{right:-25px}.hand{justify-content:flex-start;overflow-x:auto;padding-left:35px}.playing-card{flex-basis:72px;margin-left:-22px}}
@media(min-width:761px) and (max-width:980px){:root{--navw:190px}.sidebar{padding:20px 10px}.nav-item{font-size:11px}.side-brand b{font-size:15px}.main-area{margin-left:var(--navw)}.page{padding:20px}.player-hero{grid-template-columns:1fr}.hero-stats-grid{margin:20px 140px 0 0}.admin-room-grid{grid-template-columns:1fr}.rule-hero{grid-template-columns:220px 1fr}.game-screen{grid-template-rows:auto minmax(420px,1fr) auto}.rammi-table{width:90vw;height:520px}.hand-dock{width:98vw}.playing-card{flex-basis:70px}.game-actions{grid-template-columns:repeat(4,1fr)}.action-btn b{font-size:8px}}

/* mobile */
@media(max-width:760px){
  :root{--navw:0}.login-shell{display:block;min-height:100dvh;background:linear-gradient(180deg,#071710,#020806)}.login-art{display:none}.login-card{min-height:100dvh;padding:28px 22px 38px;border:0;justify-content:center}.mobile-brand{display:flex;margin-bottom:50px}.login-card h2{font-size:36px}.login-card .pill{margin-top:auto}.demo-box{margin-bottom:auto}.sidebar{width:260px;transform:translateX(-100%);transition:.2s}.sidebar.open{transform:translateX(0);box-shadow:25px 0 70px #000}.main-area{margin-left:0;padding-bottom:67px}.topbar{height:67px;padding:0 12px}.mobile-only{display:block}.page-heading{display:none}.topbar-brand{display:flex!important}.topbar-brand .brand-mark{width:27px;height:27px;font-size:26px}.topbar-brand b{font-size:13px}.topbar-brand small{font-size:5px}.top-actions{gap:7px}.wallet-chip{padding:7px 9px;font-size:9px}.wallet-chip b{font-size:10px}.avatar{width:31px;height:31px;font-size:9px}.page{padding:14px}.section-head{align-items:center}.section-head h1{font-size:23px}.section-head h2{font-size:20px}.section-head p{font-size:9px}.section-head .head-actions{display:none}.kpi-grid{grid-template-columns:1fr 1fr;gap:8px}.kpi{min-height:88px;padding:11px;gap:9px}.kpi-icon{width:33px;height:33px;font-size:15px}.kpi b{font-size:18px}.dashboard-grid{gap:10px}.mini-room-grid{grid-template-columns:1fr}.player-hero{min-height:250px;padding:18px;display:block}.player-intro{align-items:center}.hero-avatar{width:58px;height:58px}.player-intro h1{font-size:26px}.hero-stats-grid{grid-template-columns:repeat(4,1fr);gap:4px;margin:22px 0 0}.hero-stats-grid div{min-width:0;padding:9px 5px}.hero-stats-grid b{font-size:16px}.hero-card-fan{right:3px;top:27px;bottom:auto;opacity:.23}.hero-card-fan i{width:60px;height:87px;font-size:15px;margin-left:-38px}.room-head{margin-top:18px}.room-head .btn{display:none}.room-grid{grid-template-columns:1fr;gap:10px}.room-card{min-height:0;padding:15px}.room-card h3{margin-top:11px}.room-meta{margin:12px 0 9px}.responsible-banner a{display:none}.admin-room-grid{grid-template-columns:1fr}.admin-room-stats{grid-template-columns:1fr 1fr}.search-box{min-width:100%;order:2}.panel{padding:14px}.history-grid{grid-template-columns:1fr}.history-card{padding:13px}.wallet-summary{padding:17px}.rule-hero{grid-template-columns:1fr;padding:18px}.rule-card-stack{height:125px}.rule-card-stack i{width:72px;height:106px}.rule-hero h2{font-size:26px}.rules-grid{grid-template-columns:1fr 1fr;gap:8px}.rules-grid article{padding:13px}.quick-panel h2{font-size:23px}.bottom-nav{display:grid;position:fixed;z-index:35;inset:auto 0 0;grid-template-columns:repeat(5,1fr);background:rgba(3,11,8,.96);border-top:1px solid #17372b;padding:6px 5px max(7px,env(safe-area-inset-bottom));backdrop-filter:blur(18px)}.bottom-nav .nav-item{display:grid;justify-items:center;gap:1px;padding:4px 2px;background:transparent!important;box-shadow:none!important;font-size:7px}.bottom-nav .nav-icon{font-size:17px}.data-table{min-width:700px}

  /* mobile game tuned to the requested reference */
  body.game-mode .main-area{padding-bottom:0}body.game-mode .bottom-nav{display:none}body.game-mode .topbar{height:60px;padding:0 12px}body.game-mode .page{padding:0 6px 10px}.game-screen{min-height:calc(100dvh - 60px);grid-template-rows:auto 1fr auto;gap:5px}.game-toolbar{padding:5px 3px;grid-template-columns:auto 1fr auto}.game-room-info span{display:none}.game-turn-chip{padding:6px 8px}.game-turn-chip small{display:none}.casino-stage{min-height:500px;border-radius:14px}.rammi-table{top:47%;width:97vw;height:510px;min-height:0;border-width:11px;box-shadow:0 0 0 1px #73541c,0 0 0 5px #080c0b,inset 0 0 70px rgba(0,0,0,.55),0 24px 50px #000}.felt-brand{top:27%}.felt-brand span{font-size:25px}.felt-brand b{font-size:16px}.felt-brand small{font-size:4px}.player-seat{min-width:0;padding:5px 7px;border-radius:11px;gap:5px}.seat-avatar{width:30px;height:30px;flex-basis:30px;font-size:8px}.seat-copy b{font-size:8px}.seat-copy small{font-size:6px}.player-seat.south{bottom:-15px}.player-seat.north{top:-16px}.player-seat.west{left:-17px;top:48%}.player-seat.east{right:-17px;top:48%}.opponent-backs i{width:18px;height:30px;margin-left:-13px}.north .opponent-backs{top:40px}.west .opponent-backs{left:101px}.east .opponent-backs{right:101px}.center-zone{top:54%;gap:18px}.deck-stack,.trash-stack{width:82px}.card-back,.discard-card{width:56px;height:80px}.discard-card b{font-size:13px}.discard-card i{font-size:21px}.pile-title{font-size:7px}.turn-panel{top:73%;min-width:210px;padding:7px 10px}.turn-panel b{font-size:9px}.hand-dock{width:100%;margin:-38px auto 0;padding:0 4px;background:linear-gradient(180deg,transparent,#020806 43%)}.meld-strip{min-height:22px;padding:0 4px}.meld-strip small{display:none}.hand{height:116px;padding:4px 4px 12px;justify-content:center;overflow:visible}.playing-card{flex:0 0 53px;height:86px;margin-left:-25px;border-radius:7px;padding:5px}.playing-card:first-child{margin-left:0}.playing-card .corner{width:15px}.playing-card .corner b{font-size:11px}.playing-card .corner i{font-size:10px}.playing-card .center-suit{font-size:22px}.playing-card>small{font-size:4px}.game-actions{grid-template-columns:1fr 1fr 1fr 1fr;gap:5px}.action-btn{padding:10px 4px;border-radius:10px;display:grid;justify-items:center;gap:2px}.action-btn span{font-size:16px}.action-btn b{font-size:6px;white-space:nowrap}.waiting-room{min-height:calc(100dvh - 130px)}
}
@media(max-width:400px){.hero-stats-grid span{font-size:7px}.rules-grid{grid-template-columns:1fr}.playing-card{flex-basis:49px;height:82px;margin-left:-24px}.rammi-table{height:490px}.center-zone{gap:12px}.deck-stack,.trash-stack{width:75px}.game-actions{gap:4px}.action-btn b{font-size:5.5px}}
@media(max-width:760px){body.game-mode .player-seat.west .opponent-backs,body.game-mode .player-seat.east .opponent-backs{display:none}}

/* v3 · regras do cliente / rakes / beste */
.beste-banner{position:absolute;top:13%;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:10px;padding:7px 11px;border:1px solid rgba(246,195,73,.28);border-radius:14px;background:rgba(4,15,11,.8);box-shadow:0 10px 30px rgba(0,0,0,.28),inset 0 0 20px rgba(246,195,73,.04);backdrop-filter:blur(10px)}
.beste-banner>small{font-size:7px;letter-spacing:1.4px;color:#759284;white-space:nowrap}.indicator-card{display:grid;place-items:center;width:38px;height:50px;border-radius:7px;background:#f8f3e8;color:#101410;font-family:Georgia,serif;font-weight:900;font-size:13px;box-shadow:0 6px 15px rgba(0,0,0,.35)}.indicator-card.red-suit{color:#c62d35}.beste-banner>div{display:grid;gap:1px}.beste-banner>div b{font-size:7px;letter-spacing:1.3px;color:#e8b845}.beste-banner>div em{font-style:normal;font-family:Georgia,serif;font-weight:800;font-size:12px;color:#f4e6bd;white-space:nowrap}
.playing-card.beste-card,.discard-card.beste-card{border-color:#d9a631!important;box-shadow:0 0 0 2px rgba(230,178,55,.25),0 0 24px rgba(231,179,53,.25),0 12px 25px rgba(0,0,0,.35)}.playing-card.beste-card>small,.discard-card.beste-card>small{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);font-size:5px;letter-spacing:1px;font-weight:900;color:#7b5311;background:#f5d77f;border-radius:20px;padding:2px 5px}.discard-card{position:relative}
.private-rule{display:flex;align-items:center;gap:8px;font-size:8px;color:#8fa89c}.private-rule b{color:#f1cf6b}.private-rule span{padding:4px 7px;border:1px solid #234237;border-radius:20px;background:#07150f}
.wait-meta{display:flex;gap:8px;align-items:center;justify-content:center;margin:8px 0 0;color:#9eb2a8;font-size:10px}.wait-meta b{color:#e7c65e}
.game-result-panel{width:min(1180px,96vw);margin:-28px auto 18px;padding:18px;border:1px solid #214738;border-radius:18px;background:linear-gradient(180deg,rgba(5,21,15,.98),rgba(2,10,7,.99));box-shadow:0 24px 60px rgba(0,0,0,.45);position:relative;z-index:8}.game-result-panel.clean-win{border-color:#70591d;box-shadow:0 0 0 1px rgba(234,192,67,.12),0 24px 60px rgba(0,0,0,.5)}.result-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:14px;border-bottom:1px solid #17392d}.result-head h2{margin:3px 0;font-size:20px}.result-head p{margin:0;color:#93aa9f;font-size:10px}.result-total{text-align:right}.result-total small,.result-total span{display:block;color:#80968b;font-size:8px;text-transform:uppercase;letter-spacing:.8px}.result-total b{display:block;color:#e9c55d;font-size:24px;margin:2px 0}.revealed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.revealed-player{padding:12px;border:1px solid #17382d;border-radius:13px;background:#06130e}.revealed-player.winner{border-color:#86691d;background:linear-gradient(135deg,#0b1b12,#171706)}.revealed-title{display:flex;align-items:center;gap:8px}.revealed-title>div{display:grid;gap:1px;min-width:0}.revealed-title b{font-size:10px}.revealed-title small{font-size:7px;color:#7f9a8d}.revealed-title strong{margin-left:auto;color:#e88d82;font-size:12px}.revealed-hand{display:flex;flex-wrap:wrap;gap:4px;margin-top:10px}.reveal-card{position:relative;width:31px;height:44px;display:grid;place-items:center;border-radius:5px;background:#f7f2e8;color:#111;border:1px solid #ded7c9;font-family:Georgia,serif;font-weight:800;font-size:9px}.reveal-card i{font-style:normal;font-size:14px}.reveal-card.red-suit{color:#c52e38}.reveal-card.beste-card{border-color:#ce9b28}.reveal-card small{position:absolute;right:2px;bottom:1px;font-size:5px;color:#8a5e10}
.admin-rake-strip{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.admin-rake-strip span{padding:6px 8px;border:1px solid #173a2d;border-radius:8px;background:#07140f;color:#7f998d;font-size:8px}.admin-rake-strip b{color:#d9c277;margin-left:3px}.stakes-panel{margin-bottom:18px}.stake-options-grid{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr)) auto;gap:8px;align-items:end}.stake-options-grid label{display:grid;gap:6px}.stake-options-grid label span{font-size:8px;color:#839a8e;text-transform:uppercase;letter-spacing:.8px}.stake-options-grid input{width:100%}.stake-options-grid .btn{height:42px}.rake-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rake-card{position:relative;overflow:hidden;padding:16px;border:1px solid #1c4535;border-radius:16px;background:linear-gradient(145deg,#071811,#04110c);box-shadow:0 14px 35px rgba(0,0,0,.18)}.rake-card:before{content:"";position:absolute;width:160px;height:160px;right:-80px;top:-90px;background:radial-gradient(circle,rgba(48,190,121,.12),transparent 68%)}.rake-card.disabled{opacity:.58}.rake-card-head{display:flex;align-items:center;gap:10px}.rake-orb{width:38px;height:38px;display:grid;place-items:center;border:1px solid #32634e;border-radius:12px;background:#0a2118;color:#55dc98;font-size:18px}.rake-card-head>div:nth-child(2){display:grid;gap:2px}.rake-card-head h3{margin:0;font-size:20px}.rake-card-head h3 small{font-size:8px;color:#7f978b}.rake-card-head>.status-live,.rake-card-head>.status-off{margin-left:auto}.rake-values{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.rake-values>div{padding:10px;border:1px solid #16382c;border-radius:10px;background:#06130e}.rake-values small{display:block;font-size:7px;color:#789185;text-transform:uppercase}.rake-values b{display:block;margin-top:4px;font-size:15px;color:#e6ca70}.rake-example{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;background:#0d180d;border:1px dashed #504b20}.rake-example small{color:#8b9d92;font-size:7px}.rake-example b{font-size:8px;color:#f0d77a}.rake-form-note{display:flex;gap:8px;padding:9px 10px;border:1px solid #263c24;border-radius:9px;background:#0d160d}.rake-form-note span{color:#d5b858}.rake-form-note p{margin:0;font-size:8px;color:#91a198;line-height:1.5}.section-head.compact{margin-top:8px}
@media(max-width:980px){.stake-options-grid{grid-template-columns:repeat(2,1fr)}.stake-options-grid .btn{grid-column:1/-1}.rake-grid{grid-template-columns:1fr}.revealed-grid{grid-template-columns:1fr}.beste-banner{top:15%}}
@media(max-width:760px){.beste-banner{top:12%;gap:5px;padding:5px 6px}.beste-banner>small{display:none}.indicator-card{width:28px;height:38px;font-size:9px}.beste-banner>div b{font-size:5px}.beste-banner>div em{font-size:8px}.private-rule{display:none}.game-result-panel{width:99%;margin:-20px auto 8px;padding:10px}.result-head{align-items:flex-start}.result-head h2{font-size:14px}.result-head p{font-size:7px}.result-total b{font-size:18px}.revealed-grid{gap:6px}.revealed-player{padding:8px}.reveal-card{width:25px;height:36px;font-size:7px}.reveal-card i{font-size:11px}.stake-options-grid{grid-template-columns:1fr 1fr}.rake-values{gap:4px}.rake-values>div{padding:8px}.rake-example{display:grid}.admin-rake-strip{margin:8px 0}.game-screen:has(.game-result-panel){grid-template-rows:auto 1fr auto}}

/* v3.1 · ajustes dos áudios do cliente */
.deck-stack{position:relative;isolation:isolate}
.beste-watermark-card{position:absolute;right:-5px;bottom:21px;z-index:-1;width:46px;height:66px;padding:5px 4px;border-radius:7px;border:1px solid rgba(234,190,85,.6);background:linear-gradient(165deg,rgba(248,242,224,.74),rgba(220,205,166,.46));color:#453410;box-shadow:0 8px 18px rgba(0,0,0,.32);transform:rotate(8deg) translate(20px,8px);display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;backdrop-filter:blur(2px);opacity:.82;pointer-events:none}
.beste-watermark-card small{grid-column:1/-1;font-size:5px!important;letter-spacing:.13em;color:#6c592b!important;font-weight:900;text-align:left}.beste-watermark-card b{font-family:Georgia,serif;font-size:17px}.beste-watermark-card span{font-size:15px;line-height:1;letter-spacing:-2px}.deck-stack:hover .beste-watermark-card{opacity:1}
.trash-stack.discard-target{border:1px dashed rgba(247,197,79,.25);background:rgba(85,63,13,.05)}
.trash-stack.drop-ready{border:1px solid rgba(247,197,79,.68);background:rgba(104,75,12,.12);box-shadow:0 0 0 3px rgba(232,185,72,.08),0 0 22px rgba(232,185,72,.16);transform:translateY(-2px)}
.trash-stack.drop-ready .pile-title{color:#f4d36e}.trash-stack.drop-ready small{color:#e7c96c}
.declare-table-btn{position:absolute;z-index:9;right:7.5%;bottom:5.5%;min-width:126px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:10px 12px;border-radius:13px;border:1px solid #5b4d24;background:linear-gradient(180deg,rgba(53,44,21,.9),rgba(26,22,12,.95));color:#a99b6f;box-shadow:0 12px 26px rgba(0,0,0,.32);opacity:.48;cursor:not-allowed}
.declare-table-btn span{grid-row:1/3;font-size:21px}.declare-table-btn b{font-size:9px;letter-spacing:.12em}.declare-table-btn small{font-size:6px;color:#887d5c}.declare-table-btn.ready{cursor:pointer;opacity:1;border-color:#bd8d2e;background:linear-gradient(180deg,#604514,#3d2a0b);box-shadow:inset 0 1px #dfbd6e,0 0 25px rgba(241,192,68,.14),0 12px 30px rgba(0,0,0,.42)}.declare-table-btn.ready span,.declare-table-btn.ready b{color:#f4d570}.declare-table-btn.ready small{color:#cbb778}.declare-table-btn.ready:hover{transform:translateY(-2px)}
.hand{touch-action:none;user-select:none;-webkit-user-select:none}.playing-card{cursor:grab}.playing-card.dragging{cursor:grabbing;z-index:60!important;transform:rotate(0deg) translateY(-26px) scale(1.04)!important;box-shadow:0 0 0 2px rgba(247,205,96,.85),0 22px 42px rgba(0,0,0,.65)!important;transition:none}.playing-card.dragging:after{content:"MOVER";position:absolute;left:50%;top:-17px;transform:translateX(-50%);padding:2px 5px;border-radius:5px;background:#10281e;color:#e7d083;font-size:5px;letter-spacing:.08em}
.hand-hint{display:flex;justify-content:center;align-items:center;gap:9px;min-height:27px;color:#6f897e;font-size:7px;letter-spacing:.02em}.hand-hint b{color:#e2c363}.hand-hint span:first-child{color:#8ca99d}

@media(max-width:980px){.declare-table-btn{right:4%;bottom:5%;min-width:110px;padding:8px 9px}.beste-watermark-card{right:-9px;bottom:17px;transform:rotate(8deg) translate(16px,7px)}}
@media(max-width:760px){.beste-watermark-card{width:34px;height:49px;right:-3px;bottom:16px;padding:3px;transform:rotate(8deg) translate(14px,5px)}.beste-watermark-card b{font-size:11px}.beste-watermark-card span{font-size:10px}.beste-watermark-card small{font-size:4px!important}.declare-table-btn{right:3%;bottom:4%;min-width:82px;padding:7px 7px;border-radius:10px;column-gap:5px}.declare-table-btn span{font-size:15px}.declare-table-btn b{font-size:6px}.declare-table-btn small{display:none}.hand-hint{min-height:20px;gap:5px;font-size:5.6px;white-space:nowrap;overflow:hidden}.hand{touch-action:none}.playing-card.dragging{transform:rotate(0deg) translateY(-15px) scale(1.03)!important}}

/* v3.2 · mão livre, multiseleção e cartas uniformizadas */
.selection-status{min-height:22px;display:flex;align-items:center;justify-content:center;gap:6px;color:#789188;font-size:7px}.selection-status b{min-width:20px;height:20px;display:grid;place-items:center;border-radius:999px;background:#0d2a20;border:1px solid #2a5f49;color:#69e6ab;font-size:9px}.selection-status small{margin-left:6px;color:#c9b668}
.playing-card.selected{box-shadow:0 0 0 3px #28eba0,0 0 0 6px rgba(40,235,160,.13),0 18px 34px #000}.playing-card.selected:before{content:'✓';position:absolute;right:5px;top:5px;width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#19c984;color:#04110c;font:900 9px/1 system-ui;z-index:4}
.playing-card.dragging{opacity:.96}
.playing-card.static-card{margin:0!important;transform:none!important;cursor:default!important;flex:none}.playing-card.static-card:hover{transform:none!important}
.table-face{width:76px;height:112px;padding:7px}
.beste-reference{position:absolute;left:-108px;bottom:4px;width:96px;display:grid;justify-items:center;gap:5px;padding:7px 6px 8px;border:1px solid rgba(228,188,83,.68);border-radius:13px;background:linear-gradient(180deg,rgba(35,29,12,.96),rgba(10,18,13,.96));box-shadow:0 16px 34px rgba(0,0,0,.45),0 0 24px rgba(232,190,77,.12);pointer-events:none}.beste-title{font-size:6px;font-weight:900;letter-spacing:.12em;color:#e7c55e;white-space:nowrap}.beste-indicator{width:62px!important;height:91px!important;padding:6px!important;box-shadow:0 7px 16px rgba(0,0,0,.45),inset 0 0 0 1px #d2d8d4!important}.beste-indicator .corner b{font-size:13px}.beste-indicator .corner i{font-size:12px}.beste-indicator .center-suit{font-size:27px}.beste-values{display:flex;align-items:center;gap:5px;color:#f0d777}.beste-values b{font-family:Georgia,serif;font-size:16px}.beste-values span{font-size:17px;letter-spacing:-2px}
.deck-stack{z-index:7}.center-zone{gap:34px}
.trash-stack .playing-card{pointer-events:none}.trash-stack.drop-ready .table-face{box-shadow:0 0 0 3px rgba(247,197,79,.7),0 12px 26px rgba(0,0,0,.5)}
@media(max-width:980px){.beste-reference{left:-88px;width:80px}.beste-indicator{width:52px!important;height:76px!important}.beste-values b{font-size:13px}.beste-values span{font-size:14px}}
@media(max-width:760px){.selection-status{font-size:5.7px;min-height:17px}.selection-status b{width:16px;height:16px;min-width:16px;font-size:7px}.selection-status small{display:none}.table-face{width:53px!important;height:86px!important;padding:5px!important}.beste-reference{left:-62px;bottom:3px;width:58px;padding:5px 3px;gap:3px;border-radius:9px}.beste-title{font-size:4px}.beste-indicator{width:40px!important;height:62px!important;padding:4px!important;border-radius:6px!important}.beste-indicator .corner{width:12px}.beste-indicator .corner b{font-size:8px}.beste-indicator .corner i{font-size:8px}.beste-indicator .center-suit{font-size:18px}.beste-values b{font-size:10px}.beste-values span{font-size:10px}.center-zone{gap:14px}.hand-hint{overflow-x:auto;justify-content:flex-start;padding:0 8px}.playing-card.selected:before{width:12px;height:12px;font-size:6px;right:3px;top:3px}}
/* Beste: a carta de referência usa o mesmo tamanho/proporção da mão */
.beste-reference{left:-124px;width:112px}
.beste-indicator{width:76px!important;height:112px!important;padding:7px!important;border-radius:9px!important}
.beste-indicator .corner{width:20px}.beste-indicator .corner b{font-size:15px}.beste-indicator .corner i{font-size:14px}.beste-indicator .center-suit{font-size:32px}
@media(max-width:980px){.beste-reference{left:-112px;width:100px}.beste-indicator{width:70px!important;height:103px!important}}
@media(max-width:760px){.beste-reference{left:-68px;width:64px}.beste-indicator{width:53px!important;height:86px!important;padding:5px!important}.beste-indicator .corner{width:15px}.beste-indicator .corner b{font-size:11px}.beste-indicator .corner i{font-size:10px}.beste-indicator .center-suit{font-size:22px}}

/* v3.3 · último áudio do cliente: arrasto individual, carta virada atrás do baralho e face mais forte */
.playing-card{touch-action:none}
.playing-card.dragging{
  z-index:80!important;
  transform:rotate(0deg) translate(var(--drag-x,0px),calc(-20px + var(--drag-y,0px))) scale(1.045)!important;
  transition:none!important;
  box-shadow:0 0 0 2px rgba(247,205,96,.88),0 26px 46px rgba(0,0,0,.72)!important;
}
.playing-card.drop-slot:not(.dragging){
  transform:rotate(var(--fan)) translateY(calc(var(--lift) - 8px));
  box-shadow:0 0 0 2px rgba(232,190,77,.48),0 12px 26px rgba(0,0,0,.48);
}
.playing-card .corner{position:relative;z-index:3;width:29px;justify-items:start;line-height:.88}
.playing-card .corner b{font-size:21px;font-weight:900;letter-spacing:-.04em}
.playing-card .corner i{font-size:19px;font-weight:900;margin-top:2px}
.playing-card .center-suit{font-size:31px;opacity:.34;place-items:end;padding:0 8px 7px 0}

/* A primeira carta virada fica guardada como referência visual atrás do baralho. */
.deck-stack{isolation:isolate;overflow:visible}
.deck-stack .card-back{position:relative;z-index:3}
.beste-reference{display:none!important}
.beste-watermark{
  position:absolute!important;
  z-index:1!important;
  left:50%;
  top:29px;
  width:76px!important;
  height:112px!important;
  margin:0!important;
  padding:7px!important;
  transform:translateX(-17%) rotate(8deg)!important;
  opacity:.72;
  filter:saturate(.88) brightness(.9);
  box-shadow:0 8px 18px rgba(0,0,0,.42),inset 0 0 0 1px rgba(210,216,212,.85)!important;
  pointer-events:none;
}
.beste-watermark:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:9px;
  background:linear-gradient(135deg,rgba(246,213,120,.11),transparent 58%);
  pointer-events:none;
}
.beste-readout{
  position:relative;
  z-index:4;
  min-width:56px;
  margin-top:0;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(214,181,83,.34);
  background:rgba(12,20,15,.78);
  color:#dfc36e;
  font:800 7px/1.2 system-ui;
  letter-spacing:.04em;
  white-space:nowrap;
}

@media(max-width:760px){
  .playing-card .corner{width:21px}
  .playing-card .corner b{font-size:15px}
  .playing-card .corner i{font-size:14px;margin-top:1px}
  .playing-card .center-suit{font-size:22px;padding:0 5px 5px 0}
  .beste-watermark{width:53px!important;height:86px!important;top:24px;padding:5px!important;transform:translateX(-12%) rotate(8deg)!important}
  .beste-readout{font-size:5.5px;padding:2px 5px;min-width:44px}
  .playing-card.dragging{transform:rotate(0deg) translate(var(--drag-x,0px),calc(-14px + var(--drag-y,0px))) scale(1.035)!important}
}

/* v3.4 · Beste visível à esquerda do baralho, mantendo-se por baixo */
.beste-watermark{
  left:50%!important;
  transform:translateX(-83%) rotate(-8deg)!important;
  transform-origin:50% 55%!important;
}
@media(max-width:760px){
  .beste-watermark{
    transform:translateX(-83%) rotate(-8deg)!important;
  }
}

/* v3.6 · carta que define o Beste: por baixo do baralho, mas claramente saída à esquerda.
   O canto superior esquerdo (valor + naipe) fica totalmente visível. */
.beste-watermark{
  left:-24px!important;
  top:29px!important;
  transform:rotate(-7deg)!important;
  transform-origin:72% 48%!important;
  z-index:1!important;
}
.deck-stack .card-back{
  position:relative;
  z-index:3;
}
@media(max-width:760px){
  .beste-watermark{
    left:-14px!important;
    top:24px!important;
    transform:rotate(-7deg)!important;
  }
}

/* v3.7 · Beste reference card: unmistakably underneath and to the LEFT of the deck.
   We expose the card's top-left corner (rank + suit) while keeping most of the card under the deck. */
.beste-watermark{
  left:-58px!important;
  top:31px!important;
  transform:rotate(-6deg)!important;
  transform-origin:82% 44%!important;
  z-index:1!important;
}
.deck-stack .card-back{
  position:relative;
  z-index:4!important;
}
@media(max-width:980px){
  .beste-watermark{
    left:-52px!important;
    top:29px!important;
  }
}
@media(max-width:760px){
  .beste-watermark{
    left:-43px!important;
    top:25px!important;
    transform:rotate(-6deg)!important;
  }
}

/* v3.8 · mobile table, top game bar, hierarchy and reports */
.role.superadmin{color:#f6c85e;border-color:#8a6a20;background:#241b08;box-shadow:inset 0 0 12px rgba(246,200,94,.06)}
.game-top-lobby{border:1px solid #28523f;border-radius:10px;padding:8px 11px;background:#0a1a14;color:#d7e9e1;font-size:10px;font-weight:850;white-space:nowrap}
.game-top-lobby:hover{border-color:#42a276;background:#0d251b}
.table-corner-info{position:absolute;z-index:6;left:10%;top:9%;display:grid;gap:2px;padding:6px 8px;border:1px solid rgba(46,101,77,.62);border-radius:9px;background:rgba(3,18,12,.55);backdrop-filter:blur(5px);pointer-events:none}
.table-corner-info b{font-size:8px;letter-spacing:.04em}.table-corner-info small{font-size:5.5px;color:#8ca69b}
body.game-mode .top-actions{margin-left:auto}
body.game-mode .top-actions .avatar{display:none}
body.game-mode .game-top-lobby{display:inline-flex!important;align-items:center;justify-content:center}
body.game-mode .game-screen{height:calc(100dvh - 70px);min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:6px;overflow:hidden}
body.game-mode .casino-stage{min-height:0;height:100%}
body.game-mode .rammi-table{height:min(610px,calc(100dvh - 245px));min-height:390px}

.report-filters{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) auto;gap:9px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid #173a2d;border-radius:15px;background:linear-gradient(145deg,#081a13,#05110d)}
.report-filters label{display:grid;gap:6px;color:#78958a;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.report-filters input,.report-filters select{width:100%;min-height:40px;border:1px solid #204735;border-radius:9px;padding:8px 10px;background:#04100c;color:#e9f5f0;outline:none;color-scheme:dark}
.report-filters input:focus,.report-filters select:focus{border-color:#18b979;box-shadow:0 0 0 3px rgba(20,239,145,.06)}
.report-filters .btn{min-height:40px}

@media(max-width:980px){
  .report-filters{grid-template-columns:1fr 1fr}.report-filters .btn{grid-column:1/-1}
}

@media(max-width:760px){
  body.game-mode{overflow:hidden;height:100svh}
  body.game-mode .main-area{height:100svh;min-height:0;padding-bottom:0}
  body.game-mode .topbar{height:56px;padding:0 max(8px,env(safe-area-inset-left)) 0 max(8px,env(safe-area-inset-right));gap:7px}
  body.game-mode #menuBtn{display:none!important}
  body.game-mode .topbar-brand{display:flex!important;flex:0 0 auto}
  body.game-mode .topbar-brand .brand-mark{width:23px;height:23px;font-size:22px}
  body.game-mode .topbar-brand b{font-size:11px}
  body.game-mode .topbar-brand small{display:none}
  body.game-mode .game-top-lobby{padding:7px 9px;font-size:8px;margin-left:2px}
  body.game-mode .top-actions{margin-left:auto;gap:0}
  body.game-mode .wallet-chip{margin-left:auto;padding:7px 9px;font-size:8px;white-space:nowrap}
  body.game-mode .wallet-chip b{font-size:10px}
  body.game-mode .page{height:calc(100svh - 56px);min-height:0;padding:0 4px max(3px,env(safe-area-inset-bottom));overflow:hidden}
  body.game-mode .game-screen{height:100%;min-height:0;grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden}
  body.game-mode .casino-stage{min-height:0!important;height:100%;border-radius:11px;overflow:hidden}
  body.game-mode .rammi-table{top:50%;width:calc(100vw - 14px);height:min(49svh,365px);min-height:285px;max-height:calc(100svh - 190px);border-width:9px;box-shadow:0 0 0 1px #73541c,0 0 0 4px #080c0b,inset 0 0 60px rgba(0,0,0,.55),0 16px 32px #000}
  body.game-mode .rammi-table:before{inset:9px}
  body.game-mode .felt-brand{top:27%}
  body.game-mode .player-seat.south{bottom:2px}
  body.game-mode .player-seat.north{top:2px}
  body.game-mode .player-seat.west{left:-4px;top:47%}
  body.game-mode .player-seat.east{right:-4px;top:47%}
  body.game-mode .center-zone{top:53%;gap:9px}
  body.game-mode .deck-stack,body.game-mode .trash-stack{width:70px;gap:3px}
  body.game-mode .turn-panel{top:auto;bottom:18%;min-width:180px;max-width:58%;padding:5px 7px}
  body.game-mode .turn-panel b{font-size:7px;margin:2px 0 4px}
  body.game-mode .turn-panel small{font-size:4.5px}
  body.game-mode .declare-table-btn{right:2%;bottom:4%;min-width:72px;padding:6px}
  body.game-mode .table-corner-info{left:8%;top:8%;padding:4px 5px}.table-corner-info b{font-size:6px}.table-corner-info small{display:none}
  body.game-mode .hand-dock{flex:0 0 auto;width:100%;margin:-12px auto 0;padding:0 2px 1px;background:linear-gradient(180deg,transparent,#020806 32%)}
  body.game-mode .hand{height:clamp(92px,14svh,112px);padding:3px 2px 8px;justify-content:center;overflow:visible}
  body.game-mode .playing-card{flex-basis:clamp(45px,13.5vw,53px);height:clamp(75px,12svh,86px);margin-left:clamp(-26px,-6.1vw,-20px)}
  body.game-mode .selection-status{min-height:15px}
  body.game-mode .hand-hint{min-height:14px;font-size:4.8px;padding:0 3px}
  .report-filters{grid-template-columns:1fr 1fr;padding:10px;gap:7px}.report-filters label{font-size:6.5px}.report-filters input,.report-filters select{min-height:37px;font-size:10px}.report-filters .btn{grid-column:1/-1;min-height:37px}
}

@media(max-width:390px){
  body.game-mode .topbar-brand span:last-child{display:none}
  body.game-mode .game-top-lobby{padding:6px 8px}
  body.game-mode .wallet-chip{padding:6px 7px}
  body.game-mode .rammi-table{height:min(47svh,320px);min-height:265px;max-height:calc(100svh - 175px)}
  body.game-mode .player-seat{padding:4px 5px}.seat-avatar{width:27px;height:27px;flex-basis:27px}.seat-copy b{font-size:7px}
  body.game-mode .deck-stack,body.game-mode .trash-stack{width:62px}
  body.game-mode .table-face{width:48px!important;height:78px!important}
  body.game-mode .card-back{width:50px;height:74px}
  body.game-mode .beste-watermark{width:48px!important;height:78px!important;left:-39px!important;top:22px!important}
  .report-filters{grid-template-columns:1fr}
}

@media(max-height:560px) and (max-width:900px){
  body.game-mode .topbar{height:50px}
  body.game-mode .page{height:calc(100svh - 50px)}
  body.game-mode .rammi-table{width:min(78vw,620px);height:calc(100svh - 145px);min-height:250px;max-height:390px}
  body.game-mode .hand{height:84px}
  body.game-mode .playing-card{height:72px;flex-basis:46px;margin-left:-21px}
  body.game-mode .center-zone{top:51%}
  body.game-mode .turn-panel{bottom:12%}
  body.game-mode .hand-hint{display:none}
}


/* v3.9 · mobile viewport fit across Safari/Chrome and different phones */
:root{--app-vh:100dvh;--app-vw:100vw}
@media(max-width:760px){
  html,body{width:100%;max-width:100%;overflow-x:hidden}
  body.game-mode{height:var(--app-vh);min-height:var(--app-vh);overflow:hidden;overscroll-behavior:none}
  body.game-mode .app-shell,body.game-mode .main-area{height:var(--app-vh);min-height:0;max-height:var(--app-vh);overflow:hidden}
  body.game-mode .topbar{height:var(--game-topbar-h,56px);min-height:var(--game-topbar-h,56px);flex:0 0 var(--game-topbar-h,56px)}
  body.game-mode .page{height:calc(var(--app-vh) - var(--game-topbar-h,56px));max-height:calc(var(--app-vh) - var(--game-topbar-h,56px));width:var(--app-vw);max-width:100%;min-height:0;overflow:hidden}
  body.game-mode .game-screen{height:100%;max-height:100%;width:100%;min-width:0;overflow:hidden}
  body.game-mode .casino-stage{height:100%;min-height:0;min-width:0;overflow:hidden}
  body.game-mode .rammi-table{width:min(calc(var(--app-vw) - 14px),620px);height:var(--game-table-h,320px);min-height:0!important;max-height:none!important}
  body.game-mode .hand-dock{min-width:0;max-width:100%;overflow:hidden}
  body.game-mode .hand{height:var(--game-hand-h,100px);min-height:0;max-width:100%;overflow:visible}
  body.game-mode .playing-card{height:var(--game-card-h,82px);flex-basis:var(--game-card-w,50px)}
}
@media(max-width:340px){
  body.game-mode .topbar{padding-left:6px;padding-right:6px}
  body.game-mode .game-top-lobby{padding:5px 6px;font-size:7px}
  body.game-mode .wallet-chip{padding:5px 6px;font-size:7px}
  body.game-mode .wallet-chip b{font-size:9px}
  body.game-mode .center-zone{gap:6px}
  body.game-mode .deck-stack,body.game-mode .trash-stack{width:58px}
  body.game-mode .declare-table-btn{right:1%;min-width:66px}
}

/* v4.0 · seleção única, encaixe de cartas e alerta de turno */
.fixed-setting{min-height:42px;border:1px solid #244b3b;background:#091a13;border-radius:10px;padding:8px 10px;display:grid;align-content:center;gap:2px}
.fixed-setting b{font-size:10px;color:#dcece5}.fixed-setting small{font-size:7px;color:#789188}

.hand .playing-card.insert-before:not(.dragging)::after,
.hand .playing-card.insert-after:not(.dragging)::after{
  content:"";position:absolute;top:5%;height:90%;width:4px;border-radius:999px;
  background:linear-gradient(180deg,rgba(255,232,155,.25),#f2c75d 22%,#f2c75d 78%,rgba(255,232,155,.25));
  box-shadow:0 0 0 2px rgba(242,199,93,.12),0 0 18px rgba(242,199,93,.9);z-index:90;pointer-events:none
}
.hand .playing-card.insert-before:not(.dragging)::after{left:-7px}
.hand .playing-card.insert-after:not(.dragging)::after{right:-7px}
.hand .playing-card.insert-before:not(.dragging),.hand .playing-card.insert-after:not(.dragging){filter:brightness(1.06)}

.turn-alert-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle at center,rgba(9,38,27,.18),transparent 42%);animation:turnOverlayFade 3s ease forwards}
.turn-alert-card{min-width:220px;padding:18px 26px 14px;border-radius:20px;border:1px solid rgba(50,238,165,.72);background:linear-gradient(180deg,rgba(6,30,21,.97),rgba(3,16,11,.96));box-shadow:0 0 0 1px rgba(50,238,165,.12),0 0 50px rgba(31,224,148,.28),0 24px 70px rgba(0,0,0,.6);display:grid;justify-items:center;gap:3px;transform:scale(.92);animation:turnCardIn .35s cubic-bezier(.2,.9,.3,1.3) forwards}
.turn-alert-card>span{font-size:27px;color:#42efaa;text-shadow:0 0 20px rgba(66,239,170,.5)}
.turn-alert-card>b{font-size:20px;letter-spacing:.13em;color:#ecfff7}
.turn-alert-card>small{font-size:9px;color:#8fb6a6;letter-spacing:.05em}
.turn-alert-card>i{display:block;width:100%;height:3px;border-radius:99px;margin-top:9px;background:linear-gradient(90deg,#32eba4,#d6bb62);transform-origin:left;animation:turnAlertProgress 3s linear forwards}
@keyframes turnCardIn{to{transform:scale(1)}}
@keyframes turnAlertProgress{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes turnOverlayFade{0%,78%{opacity:1}100%{opacity:0}}
@media(max-width:760px){
  .turn-alert-card{min-width:185px;padding:14px 20px 12px;border-radius:16px}
  .turn-alert-card>span{font-size:22px}.turn-alert-card>b{font-size:16px}.turn-alert-card>small{font-size:8px}
  .hand .playing-card.insert-before:not(.dragging)::after{left:-5px}.hand .playing-card.insert-after:not(.dragging)::after{right:-5px}
}


/* v4.1 · hitboxes fiáveis, encaixe entre duas cartas e botão APRESENTA premium */
.center-zone{z-index:24;pointer-events:auto}
.pile-hitbox{position:relative;z-index:25;pointer-events:auto!important;touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-height:142px;align-content:start}
.pile-hitbox .pile-title,.pile-hitbox .card-back,.pile-hitbox .table-face,.pile-hitbox>small{pointer-events:none!important}
.pile-hitbox:after{content:"";position:absolute;z-index:8;left:50%;top:18px;transform:translateX(-50%);width:max(74px,78%);height:118px;border-radius:12px;pointer-events:none}
.deck-stack.available,.trash-stack.available,.trash-stack.drop-ready{cursor:pointer}
.deck-stack.available:active,.trash-stack.available:active,.trash-stack.drop-ready:active{transform:translateY(1px) scale(.985)}
/* As zonas transparentes do dock deixam de bloquear os toques na mesa. */
.hand-dock{pointer-events:none}
.hand-dock .hand,.hand-dock .playing-card{pointer-events:auto}

/* O destino do arrasto é uma FENDA entre duas cartas: ambas ficam iluminadas. */
.hand .playing-card.drop-left-neighbor:not(.dragging),
.hand .playing-card.drop-right-neighbor:not(.dragging){
  filter:brightness(1.12);box-shadow:0 0 0 2px rgba(242,199,93,.72),0 0 22px rgba(242,199,93,.34),0 12px 26px rgba(0,0,0,.5)
}
.hand .playing-card.drop-left-neighbor:not(.dragging)::after,
.hand .playing-card.drop-right-neighbor:not(.dragging)::after,
.hand .playing-card.drop-edge-left:not(.dragging)::after,
.hand .playing-card.drop-edge-right:not(.dragging)::after{
  content:"";position:absolute;top:3%;height:94%;width:4px;border-radius:999px;background:#f5ce67;box-shadow:0 0 0 2px rgba(245,206,103,.14),0 0 18px rgba(245,206,103,.95);z-index:95;pointer-events:none
}
.hand .playing-card.drop-left-neighbor:not(.dragging)::after{right:-7px}
.hand .playing-card.drop-right-neighbor:not(.dragging)::after{left:-7px}
.hand .playing-card.drop-edge-left:not(.dragging)::after{left:-7px}
.hand .playing-card.drop-edge-right:not(.dragging)::after{right:-7px}

/* Novo botão: fica numa zona própria da mesa e nunca sobre o centro/baralho/lixo. */
.declare-table-btn{display:none!important}
.presenta-table-btn{position:absolute;z-index:26;right:8%;bottom:13%;display:flex;align-items:center;gap:9px;min-width:142px;padding:10px 14px 10px 10px;border-radius:999px;border:1px solid #5b4d24;background:linear-gradient(180deg,rgba(36,31,18,.96),rgba(18,16,10,.98));color:#a99b6f;box-shadow:0 14px 32px rgba(0,0,0,.38);opacity:.44;cursor:not-allowed;transition:.16s}
.presenta-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:50%;background:#2b2514;border:1px solid #5f5228;color:#927d42;font-size:18px}
.presenta-copy{display:grid;text-align:left;gap:1px}.presenta-copy b{font-size:10px;letter-spacing:.16em}.presenta-copy small{font-size:6px;color:#887d5c;white-space:nowrap}
.presenta-table-btn.ready{opacity:1;cursor:pointer;border-color:#d5a23e;background:linear-gradient(180deg,#715117,#46300d);box-shadow:inset 0 1px #f1ce7d,0 0 0 2px rgba(226,178,67,.08),0 0 26px rgba(239,190,74,.2),0 16px 34px rgba(0,0,0,.48)}
.presenta-table-btn.ready .presenta-icon{background:linear-gradient(180deg,#f4d071,#c8912c);border-color:#f5d57e;color:#2b1b05;box-shadow:0 0 18px rgba(244,208,113,.24)}
.presenta-table-btn.ready .presenta-copy b{color:#ffe69d}.presenta-table-btn.ready .presenta-copy small{color:#d4bd7b}.presenta-table-btn.ready:hover{transform:translateY(-2px)}

@media(max-width:760px){
  .pile-hitbox{min-height:112px}
  .pile-hitbox:after{top:14px;width:66px;height:92px}
  .presenta-table-btn{right:4%;bottom:14%;min-width:96px;padding:7px 9px 7px 7px;gap:6px}
  .presenta-icon{width:27px;height:27px;flex-basis:27px;font-size:14px}.presenta-copy b{font-size:7px}.presenta-copy small{display:none}
  .hand .playing-card.drop-left-neighbor:not(.dragging)::after{right:-5px}.hand .playing-card.drop-right-neighbor:not(.dragging)::after{left:-5px}
  .hand .playing-card.drop-edge-left:not(.dragging)::after{left:-5px}.hand .playing-card.drop-edge-right:not(.dragging)::after{right:-5px}
}
@media(max-width:390px){.presenta-table-btn{right:2%;bottom:13%;min-width:88px}}

/* v4.2 · mobile tap targets, seleção exclusiva, encaixe inequívoco e APRESENTA à esquerda */
.hand{position:relative}
.hand-drop-marker{position:absolute;z-index:120;top:8px;bottom:12px;width:5px;margin-left:-2.5px;border-radius:999px;background:linear-gradient(180deg,rgba(255,244,190,.18),#ffd978 18%,#f0b936 82%,rgba(255,244,190,.18));box-shadow:0 0 0 2px rgba(248,202,86,.16),0 0 22px rgba(248,202,86,.96);opacity:0;pointer-events:none;transform:scaleY(.7);transition:opacity .08s,transform .08s}
.hand-drop-marker.show{opacity:1;transform:scaleY(1)}
.hand .playing-card.drop-left-neighbor:not(.dragging),.hand .playing-card.drop-right-neighbor:not(.dragging){z-index:35!important;filter:brightness(1.17);box-shadow:0 0 0 3px rgba(255,214,106,.92),0 0 24px rgba(255,196,63,.58),0 13px 28px rgba(0,0,0,.56)}
.hand .playing-card.drop-left-neighbor:not(.dragging){transform:rotate(var(--fan)) translateY(calc(var(--lift) - 7px)) translateX(-3px)}
.hand .playing-card.drop-right-neighbor:not(.dragging){transform:rotate(var(--fan)) translateY(calc(var(--lift) - 7px)) translateX(3px)}

/* A área clicável coincide com o bloco visual inteiro; eventos são delegados na mesa. */
.pile-hitbox{width:112px;min-height:146px;box-sizing:border-box;padding:4px 8px 8px;touch-action:manipulation;user-select:none;-webkit-user-select:none}
.pile-hitbox::after{content:"";position:absolute;z-index:80;inset:0;width:auto;height:auto;transform:none;border-radius:14px;pointer-events:auto;background:transparent}
.pile-hitbox>*{pointer-events:none!important}
.pile-hitbox.available,.pile-hitbox.drop-ready{outline:1px solid rgba(38,229,151,.12);outline-offset:-2px}

/* Remove qualquer botão legado 'Declarar', mesmo se algum HTML antigo sobreviver a uma atualização parcial. */
.declare-table-btn{display:none!important;visibility:hidden!important;pointer-events:none!important}
.presenta-table-btn{left:7%;right:auto;bottom:12%;z-index:40;min-width:148px;pointer-events:auto!important;touch-action:manipulation}
.presenta-table-btn::after{content:"";position:absolute;inset:-5px;border-radius:999px;pointer-events:auto}
.presenta-table-btn>*{pointer-events:none}
.presenta-table-btn .presenta-copy b::after{content:""}

@media(max-width:760px){
  .pile-hitbox{width:84px;min-height:120px;padding:3px 7px 6px}
  .center-zone{gap:10px!important}
  .presenta-table-btn{left:3%;right:auto;bottom:11%;min-width:105px;padding:8px 10px 8px 8px;gap:7px}
  .presenta-icon{width:29px;height:29px;flex-basis:29px}.presenta-copy b{font-size:8px}.presenta-copy small{display:none}
  .hand-drop-marker{top:3px;bottom:6px;width:4px;margin-left:-2px}
}
@media(max-width:390px){.presenta-table-btn{left:2%;right:auto;bottom:10%;min-width:98px}}

/* v4.3 · Mobile UX rebuild: alvos de toque reais, mesa mais limpa e drag com ranhura explícita */
.card-hit-zone{display:none}
.pile-hitbox::after{display:none!important;pointer-events:none!important}
.pile-hitbox.pressed{transform:scale(.965)!important;filter:brightness(1.12)}

.hand-drop-marker{
  width:9px!important;margin-left:-4.5px!important;
  background:linear-gradient(180deg,#ffe9a3,#f1bd3d 18%,#ffdd77 82%,#ffe9a3)!important;
  box-shadow:0 0 0 3px rgba(248,202,86,.18),0 0 28px rgba(248,202,86,.98)!important;
}
.hand-drop-marker span{
  position:absolute;left:50%;top:-19px;transform:translateX(-50%);
  padding:3px 6px;border-radius:999px;background:#f3c653;color:#241805;
  font:900 6px/1 system-ui;letter-spacing:.08em;font-style:normal;white-space:nowrap;
  box-shadow:0 5px 14px rgba(0,0,0,.4)
}

@media(max-width:760px){
  /* Menos ruído dentro da mesa. */
  body.game-mode .table-corner-info{display:none!important}
  body.game-mode .felt-brand{top:29%;opacity:.72}
  body.game-mode .felt-brand small{display:none}

  /* Baralho e Lixo são dois botões grandes, separados e com a área visual = área clicável. */
  body.game-mode .center-zone{top:49%;gap:20px!important;align-items:start;z-index:32}
  body.game-mode .pile-hitbox{
    width:92px!important;min-height:122px!important;padding:7px 8px 8px!important;gap:5px!important;
    border:1px solid rgba(53,116,88,.45)!important;border-radius:16px!important;
    background:linear-gradient(180deg,rgba(6,34,23,.70),rgba(3,19,13,.38))!important;
    box-shadow:inset 0 1px rgba(255,255,255,.025),0 9px 20px rgba(0,0,0,.18);
    touch-action:manipulation!important;-webkit-tap-highlight-color:transparent;overflow:visible
  }
  body.game-mode .pile-hitbox.available{border-color:rgba(35,208,138,.76)!important;box-shadow:0 0 0 2px rgba(35,208,138,.08),0 0 20px rgba(35,208,138,.13)!important}
  body.game-mode .trash-stack.drop-ready{border-color:#e8bd4e!important;box-shadow:0 0 0 2px rgba(232,189,78,.10),0 0 24px rgba(232,189,78,.22)!important;background:linear-gradient(180deg,rgba(69,51,14,.74),rgba(27,20,7,.45))!important}
  body.game-mode .pile-title{font-size:8px!important;letter-spacing:.14em}
  body.game-mode .pile-hitbox>small{display:none!important}
  body.game-mode .table-face{width:58px!important;height:89px!important;padding:5px!important}
  body.game-mode .card-back{width:58px!important;height:86px!important}
  body.game-mode .beste-watermark{width:52px!important;height:82px!important;left:-42px!important;top:29px!important}

  /* Ações em cantos opostos, deixando o centro livre. */
  body.game-mode .presenta-table-btn{
    left:13px!important;right:auto!important;bottom:15%!important;top:auto!important;
    min-width:112px!important;min-height:44px!important;padding:7px 11px 7px 7px!important;
    gap:7px!important;border-radius:14px!important;z-index:38!important
  }
  body.game-mode .presenta-icon{width:30px!important;height:30px!important;flex-basis:30px!important}
  body.game-mode .presenta-copy b{font-size:8px!important;letter-spacing:.13em!important}
  body.game-mode .turn-panel{
    left:auto!important;right:13px!important;transform:none!important;top:auto!important;bottom:15%!important;
    min-width:135px!important;max-width:44%!important;padding:6px 8px!important;border-radius:10px!important
  }
  body.game-mode .turn-panel b{font-size:6.5px!important;line-height:1.2;white-space:normal}
  body.game-mode .turn-panel small{font-size:4.5px!important}

  /* A mão fica visualmente limpa; seleção vê-se na própria carta. */
  body.game-mode .selection-status{display:none!important}
  body.game-mode .hand-hint{display:none!important}
  body.game-mode .meld-strip{min-height:17px!important;padding:0 7px!important}
  body.game-mode .meld-strip .eyebrow{font-size:5.5px!important}

  /* Cada carta recebe apenas a sua FAIXA VISÍVEL como alvo de toque.
     Isto impede uma carta sobreposta de roubar o toque à carta vizinha. */
  body.game-mode .hand{padding-left:7px!important;padding-right:7px!important;overflow:visible!important}
  body.game-mode .hand .playing-card{
    flex:0 0 var(--game-card-w,50px)!important;
    margin-left:calc(var(--game-hand-step,27px) - var(--game-card-w,50px))!important;
    pointer-events:none!important
  }
  body.game-mode .hand .playing-card:first-of-type{margin-left:0!important}
  body.game-mode .hand .playing-card .card-hit-zone{
    display:block;position:absolute;z-index:30;left:0;top:0;bottom:0;
    width:calc(var(--game-hand-step,27px) + 3px);pointer-events:auto!important;
    touch-action:none;-webkit-tap-highlight-color:transparent;background:transparent
  }
  body.game-mode .hand .playing-card:last-of-type .card-hit-zone{width:100%}

  /* Durante o drag abre-se uma ranhura real entre as duas cartas. */
  body.game-mode .hand .playing-card.drop-left-neighbor:not(.dragging){
    transform:rotate(var(--fan)) translateY(calc(var(--lift) - 6px)) translateX(-9px)!important
  }
  body.game-mode .hand .playing-card.drop-right-neighbor:not(.dragging){
    transform:rotate(var(--fan)) translateY(calc(var(--lift) - 6px)) translateX(9px)!important
  }
  body.game-mode .hand-drop-marker{top:1px!important;bottom:4px!important;width:8px!important;margin-left:-4px!important}
  body.game-mode .playing-card.dragging{filter:brightness(1.03);box-shadow:0 0 0 3px rgba(247,205,96,.92),0 24px 45px rgba(0,0,0,.75)!important}
}

@media(max-width:390px){
  body.game-mode .center-zone{gap:14px!important}
  body.game-mode .pile-hitbox{width:82px!important;min-height:113px!important;padding:6px!important}
  body.game-mode .table-face{width:54px!important;height:84px!important}
  body.game-mode .card-back{width:54px!important;height:80px!important}
  body.game-mode .presenta-table-btn{left:8px!important;min-width:104px!important}
  body.game-mode .turn-panel{right:8px!important;min-width:122px!important;max-width:43%!important}
}

/* v4.4 · duas mesas simultâneas, temporizador compacto e mobile touch refinado */
.game-tabs{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;flex:1;max-width:430px;margin:0 10px}
.game-tab{min-width:118px;max-width:190px;height:42px;padding:6px 10px;border-radius:12px;border:1px solid #29473b;background:linear-gradient(180deg,#091812,#06110d);color:#9cb3aa;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;transition:.14s;box-shadow:0 6px 15px rgba(0,0,0,.16)}
.game-tab span{font-size:8px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.03em}
.game-tab b{font-size:11px;min-width:29px;text-align:right;font-variant-numeric:tabular-nums}
.game-tab.mine{border-color:#25c984;background:linear-gradient(180deg,rgba(14,67,47,.94),rgba(7,37,26,.96));color:#dffff1;box-shadow:0 0 0 1px rgba(32,226,148,.08),0 0 18px rgba(20,239,145,.12)}
.game-tab.mine b{color:#39f0aa}
.game-tab.away{border-color:#7a353c;background:linear-gradient(180deg,rgba(64,22,28,.88),rgba(31,12,16,.94));color:#e1c0c4}
.game-tab.away b{color:#ff7682}
.game-tab.waiting{border-color:#66552a;color:#cabd91}
.game-tab.active{box-shadow:inset 0 0 0 2px rgba(239,194,81,.32),0 0 18px rgba(225,177,61,.10)}
body:not(.game-mode) .game-tabs{display:none!important}

/* O antigo painel grande de turno desaparece. */
.turn-panel{display:none!important}
.table-timer{position:absolute;z-index:34;left:7%;top:7%;height:38px;min-width:66px;padding:0 11px;border-radius:12px;display:flex;align-items:baseline;justify-content:center;gap:2px;background:rgba(3,15,10,.86);border:1px solid #40554b;box-shadow:0 10px 24px rgba(0,0,0,.28);backdrop-filter:blur(8px);font-variant-numeric:tabular-nums}
.table-timer b{font-size:20px;line-height:1;color:#dde9e4}.table-timer small{font-size:8px;color:#829b91;font-weight:850}
.table-timer.mine{border-color:#23c783;box-shadow:0 0 0 1px rgba(33,229,151,.12),0 0 18px rgba(33,229,151,.10),0 10px 24px rgba(0,0,0,.28)}
.table-timer.mine b{color:#38eda8}.table-timer.away{border-color:#6c3338}.table-timer.away b{color:#ff808b}

/* APRESENTA fica entre o nome do jogador e a mão, e nunca por cima do lixo/baralho. */
.hand-presenta-row{height:34px;display:flex;align-items:center;justify-content:center;position:relative;z-index:65;pointer-events:none}
.presenta-hand-btn{pointer-events:auto;touch-action:manipulation;min-width:132px;height:34px;padding:0 15px;border-radius:999px;border:1px solid #655426;background:linear-gradient(180deg,#302819,#1c170e);color:#a99b6f;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:950;font-size:9px;letter-spacing:.13em;box-shadow:0 10px 25px rgba(0,0,0,.32);opacity:.5;cursor:not-allowed}
.presenta-hand-btn span{font-size:14px}.presenta-hand-btn.ready{opacity:1;cursor:pointer;color:#2b1c05;border-color:#e2b84f;background:linear-gradient(180deg,#f2cf70,#c98f29);box-shadow:inset 0 1px rgba(255,255,255,.4),0 0 22px rgba(239,190,74,.22),0 10px 25px rgba(0,0,0,.38)}
.presenta-hand-btn.ready:active{transform:translateY(1px) scale(.985)}

/* Lixo: alvo real ligeiramente maior e captura de toque estável. */
.trash-stack,.deck-stack{position:relative;isolation:isolate}
.trash-stack{z-index:6!important;touch-action:none!important;-webkit-tap-highlight-color:transparent}
.trash-stack::before{content:"";position:absolute;z-index:-1;inset:-7px;border-radius:18px;pointer-events:auto;background:transparent}
.trash-stack.drop-ready::before{background:rgba(235,190,70,.025)}

@media(max-width:760px){
  body.game-mode .topbar{display:flex!important;align-items:center!important;gap:5px!important}
  body.game-mode .topbar-brand{display:none!important}
  body.game-mode .game-top-lobby{flex:0 0 auto;padding:6px 7px!important;font-size:7px!important}
  body.game-mode .game-tabs{display:flex!important;flex:1 1 auto;max-width:none;margin:0;gap:4px;min-width:0}
  body.game-mode .game-tab{flex:1 1 0;min-width:0;max-width:88px;height:37px;padding:4px 6px;border-radius:9px;gap:3px}
  body.game-mode .game-tab span{font-size:6.5px}.game-tab b{font-size:9px;min-width:23px}
  body.game-mode .top-actions{margin-left:auto;gap:3px;flex:0 0 auto}
  body.game-mode .top-actions .avatar{display:none!important}
  body.game-mode .wallet-chip{margin-left:0!important;padding:6px 6px!important;font-size:6.5px!important;gap:4px!important}
  body.game-mode .wallet-chip b{font-size:8px!important}

  body.game-mode .table-timer{left:11px;top:10px;height:31px;min-width:54px;padding:0 8px;border-radius:9px}
  body.game-mode .table-timer b{font-size:16px}.table-timer small{font-size:6px}

  /* libertamos totalmente a zona central inferior */
  body.game-mode .presenta-table-btn{display:none!important}
  body.game-mode .meld-strip{display:none!important}
  body.game-mode .hand-presenta-row{position:absolute;left:50%;top:1px;transform:translate(-50%,-50%);height:32px;width:auto;z-index:80}
  body.game-mode .presenta-hand-btn{min-width:108px;height:30px;padding:0 12px;font-size:7px;gap:6px;box-shadow:0 8px 20px rgba(0,0,0,.45)}
  body.game-mode .presenta-hand-btn span{font-size:12px}
  body.game-mode .hand{padding-top:28px!important;padding-bottom:2px!important}
  body.game-mode .selection-status{display:none!important}

  body.game-mode .trash-stack::before{inset:-6px}
  body.game-mode .trash-stack{z-index:42!important}
}

@media(max-width:360px){
  body.game-mode .game-top-lobby{padding:5px 5px!important}
  body.game-mode .game-tab{max-width:76px;padding:4px 5px}.game-tab span{font-size:6px}.game-tab b{font-size:8px}
  body.game-mode .wallet-chip{padding:5px!important}
}
body.game-mode .game-tabs.hidden{display:none!important}
@media(max-width:760px){body.game-mode .trash-stack{width:102px!important;min-height:130px!important;padding:8px 10px!important}}
@media(max-width:360px){body.game-mode .trash-stack{width:94px!important;min-height:122px!important}}

/* v4.5 · APRESENTA alinhado com o timer + drag com placeholder real */
.presenta-top-btn{
  position:absolute;z-index:36;right:7%;top:7%;height:38px;min-width:126px;padding:0 14px;
  border-radius:12px;border:1px solid #665428;background:rgba(22,18,9,.88);color:#a89663;
  display:flex;align-items:center;justify-content:center;gap:8px;font-size:9px;font-weight:950;letter-spacing:.12em;
  box-shadow:0 10px 24px rgba(0,0,0,.28);backdrop-filter:blur(8px);opacity:.48;cursor:not-allowed;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent
}
.presenta-top-btn span{font-size:15px;line-height:1}.presenta-top-btn>*{pointer-events:none}
.presenta-top-btn.ready{opacity:1;cursor:pointer;color:#2b1c05;border-color:#e2b84f;background:linear-gradient(180deg,#f2cf70,#c98f29);box-shadow:inset 0 1px rgba(255,255,255,.4),0 0 22px rgba(239,190,74,.2),0 10px 25px rgba(0,0,0,.38)}
.presenta-top-btn.ready:active{transform:translateY(1px) scale(.985)}
.hand-presenta-row{display:none!important}

/* Durante o drag, a carta original é o espaço de destino e o clone segue o dedo. */
.hand .playing-card.drag-placeholder{visibility:hidden!important;pointer-events:none!important;transform:none!important}
.drag-ghost.playing-card{opacity:.98!important;cursor:grabbing!important;transform:none!important;transition:none!important;box-shadow:0 0 0 3px rgba(247,205,96,.92),0 22px 42px rgba(0,0,0,.72)!important}
.drag-ghost.playing-card::after{content:""!important}
.hand-drop-marker{width:7px!important;margin-left:-3.5px!important;background:linear-gradient(180deg,rgba(255,247,205,.32),#ffe08b 14%,#f0b936 86%,rgba(255,247,205,.32))!important;box-shadow:0 0 0 3px rgba(248,202,86,.16),0 0 26px rgba(248,202,86,.95)!important}
.hand .playing-card.drop-left-neighbor:not(.drag-placeholder),.hand .playing-card.drop-right-neighbor:not(.drag-placeholder){filter:brightness(1.12)!important;box-shadow:0 0 0 2px rgba(255,214,106,.72),0 0 18px rgba(255,196,63,.38),0 12px 26px rgba(0,0,0,.5)!important}

@media(max-width:760px){
  body.game-mode .presenta-top-btn{right:11px;top:10px;height:31px;min-width:92px;padding:0 10px;border-radius:9px;font-size:7px;gap:5px}
  body.game-mode .presenta-top-btn span{font-size:12px}
  body.game-mode .hand{padding-top:5px!important}
  body.game-mode .hand-drop-marker{top:1px!important;bottom:2px!important;width:8px!important;margin-left:-4px!important}
}

/* v4.6 · perfis limpos, vez do adversário e Lixo com alvo táctil real */
.opponent-backs{display:none!important}
.player-seat.active-opponent{
  border-color:#2fe9a2!important;
  box-shadow:0 0 0 2px rgba(47,233,162,.15),0 0 28px rgba(37,226,151,.28),0 12px 30px rgba(0,0,0,.45)!important;
  animation:opponentTurnGlow 1.35s ease-in-out infinite alternate
}
.player-seat.active-opponent .seat-avatar{border-color:#61ffc0;box-shadow:0 0 18px rgba(47,233,162,.35)}
.seat-playing-label{color:#49f0aa!important;font-size:6.5px!important;font-weight:950;letter-spacing:.13em;text-transform:uppercase}
.seat-turn-pulse{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#40efa7;box-shadow:0 0 0 4px rgba(64,239,167,.10),0 0 14px rgba(64,239,167,.72);margin-left:5px;animation:seatTurnPulse .9s ease-in-out infinite alternate}
@keyframes opponentTurnGlow{from{filter:brightness(1)}to{filter:brightness(1.08)}}
@keyframes seatTurnPulse{from{transform:scale(.82);opacity:.7}to{transform:scale(1.15);opacity:1}}

/* O aviso visual "A TUA VEZ" deixa de existir; som + timers das mesas controlam a vez. */
.turn-alert-overlay{display:none!important}

/* O Lixo recebe uma superfície táctil REAL, maior que a carta, que continua a
   pertencer ao próprio botão. Assim pequenos desvios do dedo continuam a ativar
   o Lixo sem depender de pseudo-elementos ou da carta visível. */
.trash-stack::before{display:none!important;pointer-events:none!important}
.trash-stack{touch-action:manipulation!important;overflow:visible!important;isolation:isolate!important}
.trash-stack>.trash-touch-surface{
  display:block!important;position:absolute!important;z-index:90!important;
  inset:-13px -14px -14px -6px!important;border-radius:20px!important;
  pointer-events:auto!important;touch-action:manipulation!important;
  background:transparent!important;-webkit-tap-highlight-color:transparent
}
.trash-stack.drop-ready>.trash-touch-surface{background:rgba(240,193,69,.018)!important}
.trash-stack>.pile-title,.trash-stack>.table-face,.trash-stack>small{pointer-events:none!important;position:relative;z-index:2}

@media(max-width:760px){
  body.game-mode .player-seat{min-width:0!important;max-width:138px!important;padding:5px 7px!important}
  body.game-mode .seat-copy b{max-width:82px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  body.game-mode .seat-playing-label{font-size:5.5px!important;margin-top:1px}
  body.game-mode .seat-turn-pulse{width:7px;height:7px;flex-basis:7px;margin-left:2px}
  body.game-mode .trash-stack>.trash-touch-surface{inset:-17px -18px -18px -6px!important;border-radius:22px!important}
}


/* v4.7 · drag estável + Lixo com o mesmo modelo táctil do Baralho */
.hand .playing-card.drag-source{
  opacity:.20!important;filter:saturate(.55) brightness(.85)!important;
  transform:rotate(var(--fan)) translateY(var(--lift))!important;
  box-shadow:0 0 0 2px rgba(248,202,86,.28),0 8px 18px rgba(0,0,0,.34)!important;
  pointer-events:none!important
}
.hand .playing-card.drag-placeholder{visibility:visible!important}
.hand-drop-marker.show{opacity:1!important;transform:scaleY(1)!important}
.hand-drop-marker span{position:absolute;left:50%;top:-15px;transform:translateX(-50%);font-style:normal;font-size:5px;font-weight:950;letter-spacing:.08em;color:#ffe190;background:#392b0a;border:1px solid #8f6b19;border-radius:5px;padding:2px 4px;white-space:nowrap}
.hand .playing-card.drop-left-neighbor:not(.drag-source),.hand .playing-card.drop-right-neighbor:not(.drag-source){
  filter:brightness(1.16)!important;box-shadow:0 0 0 2px rgba(255,214,106,.82),0 0 20px rgba(255,196,63,.42),0 12px 26px rgba(0,0,0,.5)!important
}
/* O Lixo volta a ser um único botão real, como o Baralho. Sem filhos transparentes a capturar toques. */
.trash-touch-surface{display:none!important;pointer-events:none!important}
.trash-stack{pointer-events:auto!important;touch-action:none!important;overflow:visible!important}
.trash-stack>*{pointer-events:none!important}
@media(max-width:760px){
  body.game-mode .trash-stack{width:110px!important;min-height:138px!important;padding:9px 14px!important;margin:-4px -4px!important}
  body.game-mode .trash-stack .table-face{pointer-events:none!important}
  body.game-mode .hand-drop-marker{z-index:160!important}
  body.game-mode .hand .playing-card.drop-left-neighbor:not(.drag-source){transform:rotate(var(--fan)) translateY(calc(var(--lift) - 5px)) translateX(-4px)!important}
  body.game-mode .hand .playing-card.drop-right-neighbor:not(.drag-source){transform:rotate(var(--fan)) translateY(calc(var(--lift) - 5px)) translateX(4px)!important}
}

/* v4.8 · mesa mais viva, Baralho/Lixo simétricos e mobile fit real */
html,body{max-width:100%;overflow-x:hidden}

/* Mais cor, inspirada na referência do cliente: feltro esmeralda, aro dourado,
   reflexos rubi e detalhes mais vivos sem perder o look premium. */
body.game-mode .casino-stage{
  background:
    radial-gradient(circle at 16% 20%,rgba(210,42,76,.20),transparent 27%),
    radial-gradient(circle at 84% 24%,rgba(244,184,58,.14),transparent 25%),
    radial-gradient(circle at 50% 62%,rgba(16,210,124,.13),transparent 42%),
    linear-gradient(145deg,#17090d 0%,#071813 43%,#06100d 72%,#160b0d 100%)!important;
  box-shadow:inset 0 1px rgba(255,224,151,.12),inset 0 -30px 80px rgba(0,0,0,.28)!important
}
body.game-mode .casino-stage:before{
  width:38%;height:78%;left:-13%;top:8%;
  background:radial-gradient(ellipse at center,rgba(219,42,74,.24),rgba(112,12,36,.09) 42%,transparent 70%)!important;
  filter:blur(22px)!important
}
body.game-mode .casino-stage:after{
  width:38%;height:78%;right:-13%;top:8%;
  background:radial-gradient(ellipse at center,rgba(241,181,50,.18),rgba(16,168,100,.06) 48%,transparent 72%)!important;
  filter:blur(22px)!important
}
body.game-mode .ambient-light{
  width:75%;height:72%;top:3%;
  background:radial-gradient(ellipse at center,rgba(33,235,151,.13),rgba(11,111,75,.06) 44%,transparent 72%)!important
}
body.game-mode .rammi-table{
  background:
    radial-gradient(ellipse at 50% 44%,rgba(31,154,93,.28),transparent 35%),
    radial-gradient(ellipse at center,#148354 0%,#0c6a45 34%,#085337 64%,#063522 86%,#041d14 100%)!important;
  border-color:#321a16!important;
  box-shadow:
    0 0 0 2px #e6b64a,
    0 0 0 6px #6d3a18,
    0 0 0 10px #120d0b,
    inset 0 0 85px rgba(0,0,0,.48),
    inset 0 0 0 3px rgba(255,211,100,.08),
    0 28px 70px rgba(0,0,0,.72)!important
}
body.game-mode .rammi-table:before{
  border:1px solid rgba(255,223,132,.34)!important;
  box-shadow:inset 0 0 35px rgba(255,205,76,.035)
}
body.game-mode .felt-brand{color:rgba(255,245,213,.19)!important;text-shadow:0 2px 16px rgba(0,0,0,.28)}
body.game-mode .felt-brand span{color:rgba(250,206,91,.25)}

/* Os lugares ganham identidade cromática, mas quem está a jogar continua a verde. */
body.game-mode .player-seat{background:linear-gradient(180deg,rgba(20,20,18,.94),rgba(7,14,11,.96))!important;border-color:#775b2b;box-shadow:0 9px 26px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.035)}
body.game-mode .player-seat.north:not(.active-opponent){border-color:#8c3345}
body.game-mode .player-seat.west:not(.active-opponent){border-color:#a47a2c}
body.game-mode .player-seat.east:not(.active-opponent){border-color:#336e76}
body.game-mode .player-seat.me-seat{border-color:#2b9a6d!important}
body.game-mode .seat-avatar{background:linear-gradient(145deg,#ffe08a,#d58f24)!important;color:#241703!important;border-color:#f4ca63!important}
body.game-mode .me-seat .seat-avatar{background:linear-gradient(145deg,#50f4b4,#079a61)!important;color:#04120c!important;border-color:#74f9c2!important}

/* BARALHO e LIXO passam a ser literalmente o mesmo componente geométrico. */
body.game-mode .center-zone{align-items:flex-start!important}
body.game-mode .pile-hitbox,
body.game-mode .deck-stack,
body.game-mode .trash-stack{
  width:var(--game-pile-w,104px)!important;
  min-width:var(--game-pile-w,104px)!important;
  max-width:var(--game-pile-w,104px)!important;
  height:var(--game-pile-h,146px)!important;
  min-height:var(--game-pile-h,146px)!important;
  max-height:var(--game-pile-h,146px)!important;
  margin:0!important;
  padding:6px!important;
  border-radius:15px!important;
  position:relative!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  align-items:center!important;
  justify-items:center!important;
  overflow:visible!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
  user-select:none!important;
  -webkit-user-select:none!important
}
body.game-mode .deck-stack>* ,body.game-mode .trash-stack>*{pointer-events:none!important}
body.game-mode .pile-title{align-self:start}
body.game-mode .deck-stack .card-back,
body.game-mode .trash-stack .table-face{
  width:64px!important;height:96px!important;min-width:64px!important;min-height:96px!important;max-width:64px!important;max-height:96px!important;margin:0!important
}
body.game-mode .trash-stack{z-index:40!important}
body.game-mode .deck-stack{z-index:39!important}
body.game-mode .trash-stack::before,body.game-mode .trash-stack::after,
body.game-mode .deck-stack::before,body.game-mode .deck-stack::after{pointer-events:none!important}
body.game-mode .trash-touch-surface{display:none!important;pointer-events:none!important}

/* O estado disponível é visível em toda a caixa, não apenas numa parte da carta. */
body.game-mode .pile-hitbox.available{
  border:1px solid rgba(51,234,159,.52)!important;
  background:linear-gradient(180deg,rgba(9,66,43,.64),rgba(4,31,22,.56))!important;
  box-shadow:0 0 0 2px rgba(35,222,145,.06),0 0 22px rgba(27,226,143,.12)!important
}
body.game-mode .trash-stack.drop-ready{
  border:1px solid rgba(247,196,72,.78)!important;
  background:linear-gradient(180deg,rgba(100,68,10,.64),rgba(43,30,7,.58))!important;
  box-shadow:0 0 0 2px rgba(247,196,72,.08),0 0 24px rgba(247,196,72,.18)!important
}
body.game-mode .pile-hitbox.pressed{transform:scale(.965)!important;filter:brightness(1.12)!important}

@media(max-width:760px){
  /* Prende a app ao viewport visual. A página deixa de poder nascer maior que o ecrã. */
  html{width:100%;height:100%;overflow:hidden!important}
  body.game-mode{
    position:fixed!important;left:0!important;top:0!important;
    width:var(--app-vw,100vw)!important;height:var(--app-vh,100dvh)!important;
    min-width:0!important;min-height:0!important;max-width:var(--app-vw,100vw)!important;max-height:var(--app-vh,100dvh)!important;
    overflow:hidden!important;overscroll-behavior:none!important
  }
  body.game-mode #appView{
    position:fixed!important;left:0!important;top:0!important;
    width:var(--app-vw,100vw)!important;height:var(--app-vh,100dvh)!important;
    max-width:var(--app-vw,100vw)!important;max-height:var(--app-vh,100dvh)!important;
    overflow:hidden!important
  }
  body.game-mode .main-area{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
  body.game-mode .topbar{width:100%!important;max-width:100%!important;flex:0 0 var(--game-topbar-h,52px)!important;min-width:0!important;overflow:hidden!important}
  body.game-mode .page{flex:1 1 auto!important;height:auto!important;max-height:none!important;width:100%!important;max-width:100%!important;min-width:0!important;padding-left:3px!important;padding-right:3px!important;overflow:hidden!important}
  body.game-mode .game-screen{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-width:0!important;overflow:hidden!important}
  body.game-mode .casino-stage{width:100%!important;max-width:100%!important;min-width:0!important;height:100%!important;overflow:hidden!important}
  body.game-mode .rammi-table{width:calc(100% - 8px)!important;max-width:620px!important;height:var(--game-table-h,300px)!important;min-width:0!important}
  body.game-mode .hand-dock{width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  body.game-mode .hand{width:100%!important;max-width:100%!important;min-width:0!important;height:var(--game-hand-h,96px)!important;padding-left:5px!important;padding-right:5px!important;overflow:visible!important}
  body.game-mode .playing-card{height:var(--game-card-h,80px)!important;flex-basis:var(--game-card-w,50px)!important}

  /* Topbar também é obrigada a encolher em vez de aumentar a largura da página. */
  body.game-mode .game-tabs{min-width:0!important;max-width:none!important;overflow:hidden!important}
  body.game-mode .game-tab{min-width:0!important;max-width:none!important}
  body.game-mode .top-actions{min-width:0!important}
  body.game-mode .wallet-chip{max-width:78px!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Pilhas perfeitamente iguais em mobile. */
  body.game-mode .center-zone{gap:clamp(10px,4vw,18px)!important}
  body.game-mode .pile-hitbox,
  body.game-mode .deck-stack,
  body.game-mode .trash-stack{
    width:var(--game-pile-w,82px)!important;min-width:var(--game-pile-w,82px)!important;max-width:var(--game-pile-w,82px)!important;
    height:var(--game-pile-h,120px)!important;min-height:var(--game-pile-h,120px)!important;max-height:var(--game-pile-h,120px)!important;
    margin:0!important;padding:5px!important;border-radius:14px!important
  }
  body.game-mode .deck-stack .card-back,
  body.game-mode .trash-stack .table-face{
    width:calc(var(--game-pile-w,82px) * .66)!important;
    height:calc(var(--game-pile-h,120px) * .70)!important;
    min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important
  }
  body.game-mode .pile-title{font-size:7px!important;line-height:1!important}
  body.game-mode .pile-hitbox>small{display:none!important}
  body.game-mode .beste-watermark{left:calc(var(--game-pile-w,82px) * -.48)!important;top:24%!important}
}

@media(max-width:360px){
  body.game-mode .wallet-chip{max-width:68px!important;padding-left:5px!important;padding-right:5px!important}
  body.game-mode .center-zone{gap:9px!important}
}

/* v4.8.1 · mobile scroll fix
   Mantém a mesa adaptada ao viewport, mas devolve o scroll vertical normal à página. */
@media(max-width:760px){
  html{
    width:100%!important;
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.game-mode{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:var(--app-vh,100dvh)!important;
    max-width:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:none!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  body.game-mode #appView{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    top:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:var(--app-vh,100dvh)!important;
    max-width:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.game-mode .main-area{
    width:100%!important;
    height:auto!important;
    min-height:var(--app-vh,100dvh)!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.game-mode .page{
    width:100%!important;
    height:auto!important;
    min-height:calc(var(--app-vh,100dvh) - var(--game-topbar-h,52px))!important;
    max-height:none!important;
    overflow:visible!important;
  }
  body.game-mode .game-screen{
    width:100%!important;
    height:auto!important;
    min-height:calc(var(--app-vh,100dvh) - var(--game-topbar-h,52px) - 4px)!important;
    max-height:none!important;
    overflow:visible!important;
    grid-template-rows:auto auto!important;
  }
  body.game-mode .casino-stage{
    width:100%!important;
    height:var(--game-table-h,300px)!important;
    min-height:var(--game-table-h,300px)!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  body.game-mode .hand-dock{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding-bottom:max(6px,env(safe-area-inset-bottom))!important;
  }
}

/* v4.9 · redesign total da mesa — rectangular, cheia e integrada */
body.game-mode .game-screen{gap:0!important}
body.game-mode .casino-stage{
  border-radius:22px 22px 10px 10px!important;
  background:
    radial-gradient(circle at 12% 18%,rgba(155,28,48,.24),transparent 24%),
    radial-gradient(circle at 88% 18%,rgba(217,159,45,.18),transparent 24%),
    linear-gradient(145deg,#13080b 0%,#07130f 45%,#07110e 72%,#160b0e 100%)!important;
  border:1px solid rgba(189,139,50,.20)!important;
  box-shadow:inset 0 1px rgba(255,225,153,.10),0 18px 50px rgba(0,0,0,.46)!important;
  overflow:hidden!important
}
body.game-mode .rammi-table{
  left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;
  width:min(1380px,97%)!important;height:calc(100% - 18px)!important;min-height:0!important;
  border-radius:30px!important;border:12px solid #281711!important;
  background:
    linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.014) 1px,transparent 1px),
    radial-gradient(circle at 50% 44%,rgba(41,185,112,.28),transparent 38%),
    linear-gradient(135deg,#118257 0%,#0b6b47 42%,#075037 74%,#053522 100%)!important;
  background-size:28px 28px,28px 28px,auto,auto!important;
  box-shadow:
    0 0 0 2px #e0ad42,
    0 0 0 6px #6e3a19,
    0 0 0 9px #0f0b09,
    inset 0 0 95px rgba(0,0,0,.40),
    inset 0 0 0 2px rgba(255,221,133,.10),
    0 28px 65px rgba(0,0,0,.58)!important
}
body.game-mode .rammi-table:before{
  inset:11px!important;border-radius:22px!important;
  border:1px solid rgba(255,223,143,.34)!important;
  box-shadow:inset 0 0 40px rgba(255,204,80,.035)!important
}
body.game-mode .rammi-table:after{
  content:"";position:absolute;inset:28px;border-radius:17px;pointer-events:none;
  border:1px solid rgba(255,255,255,.035);
  background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.025) 50%,transparent 50.2%);
  opacity:.7
}
body.game-mode .felt-brand{top:22%!important;opacity:.55!important}
body.game-mode .felt-brand span{font-size:26px!important}
body.game-mode .felt-brand b{font-size:18px!important;letter-spacing:.26em!important}

/* Perfis ficam dentro do tabuleiro para aproveitar a área real. */
body.game-mode .player-seat.north{top:14px!important}
body.game-mode .player-seat.south{bottom:12px!important}
body.game-mode .player-seat.west{left:14px!important;top:48%!important}
body.game-mode .player-seat.east{right:14px!important;top:48%!important}
body.game-mode .player-seat{backdrop-filter:blur(9px);background:linear-gradient(180deg,rgba(24,22,18,.92),rgba(6,16,12,.92))!important}

/* Centro mais compacto e com leitura clara. */
body.game-mode .center-zone{top:51%!important;gap:22px!important}
body.game-mode .table-timer{left:18px!important;top:16px!important}
body.game-mode .presenta-top-btn{right:18px!important;top:16px!important}

/* A mão passa a funcionar como dock integrado no tabuleiro, sem buraco preto. */
body.game-mode .hand-dock{
  width:min(1380px,97%)!important;margin:-4px auto 0!important;padding:0 8px 4px!important;
  border-radius:0 0 22px 22px!important;
  border:1px solid rgba(139,99,38,.18)!important;border-top:0!important;
  background:linear-gradient(180deg,rgba(7,30,21,.98),rgba(3,12,9,.995))!important;
  box-shadow:0 18px 45px rgba(0,0,0,.40),inset 0 1px rgba(255,216,125,.05)!important
}
body.game-mode .hand{align-items:flex-end!important}

@media(min-width:761px){
  body.game-mode .casino-stage{min-height:560px!important;height:calc(100dvh - 205px)!important}
  body.game-mode .rammi-table{height:calc(100% - 22px)!important}
  body.game-mode .hand-dock{margin-top:-3px!important}
}

@media(max-width:760px){
  body.game-mode .page{padding-left:2px!important;padding-right:2px!important;padding-bottom:4px!important}
  body.game-mode .game-screen{gap:0!important}
  body.game-mode .casino-stage{
    height:var(--game-table-h,340px)!important;min-height:var(--game-table-h,340px)!important;
    border-radius:14px 14px 5px 5px!important
  }
  body.game-mode .rammi-table{
    width:calc(100% - 6px)!important;height:calc(100% - 8px)!important;
    border-width:7px!important;border-radius:18px!important;
    box-shadow:0 0 0 1px #e0ad42,0 0 0 3px #6e3a19,0 0 0 5px #0d0a08,inset 0 0 55px rgba(0,0,0,.38)!important
  }
  body.game-mode .rammi-table:before{inset:7px!important;border-radius:13px!important}
  body.game-mode .rammi-table:after{inset:18px!important;border-radius:10px!important}
  body.game-mode .felt-brand{top:21%!important}
  body.game-mode .felt-brand span{font-size:20px!important}
  body.game-mode .felt-brand b{font-size:13px!important}

  body.game-mode .player-seat{max-width:126px!important;padding:4px 6px!important;border-radius:9px!important}
  body.game-mode .player-seat.north{top:7px!important}
  body.game-mode .player-seat.south{bottom:6px!important}
  body.game-mode .player-seat.west{left:7px!important;top:48%!important}
  body.game-mode .player-seat.east{right:7px!important;top:48%!important}
  body.game-mode .seat-avatar{width:27px!important;height:27px!important;flex-basis:27px!important}

  body.game-mode .center-zone{top:50%!important;gap:10px!important}
  body.game-mode .table-timer{left:9px!important;top:8px!important}
  body.game-mode .presenta-top-btn{right:9px!important;top:8px!important}

  body.game-mode .hand-dock{
    width:100%!important;margin:-1px auto 0!important;padding:0 2px max(3px,env(safe-area-inset-bottom))!important;
    border-radius:0 0 12px 12px!important;
    background:linear-gradient(180deg,#09261a 0%,#06170f 28%,#020806 100%)!important
  }
  body.game-mode .hand{height:var(--game-hand-h,96px)!important;padding-top:3px!important;padding-bottom:2px!important}
}

@media(max-width:390px){
  body.game-mode .player-seat{max-width:112px!important}
  body.game-mode .seat-copy b{max-width:66px!important}
  body.game-mode .center-zone{gap:7px!important}
}


/* =========================================================
   v4.10 — APRESENTA aligned to lower-right corner of table
   ========================================================= */
body.game-mode .presenta-top-btn{
  right:18px!important;
  left:auto!important;
  top:auto!important;
  bottom:16px!important;
  z-index:46!important;
}
@media(max-width:760px){
  body.game-mode .presenta-top-btn{
    right:9px!important;
    left:auto!important;
    top:auto!important;
    bottom:8px!important;
  }
}
@media(max-width:390px){
  body.game-mode .presenta-top-btn{
    right:7px!important;
    bottom:7px!important;
  }
}

/* =========================================================
   v4.12 — orientação mobile, mão horizontal e APRESENTA/MOSTRAR
   ========================================================= */
.orientation-gate{
  position:fixed;inset:0;z-index:20000;display:grid;place-items:center;padding:24px;
  background:#020907;color:#f1faf6;text-align:center
}
.orientation-simple{display:grid;justify-items:center;gap:18px}
.rotate-phone-icon{width:96px;height:96px;color:#35eaa5;filter:drop-shadow(0 0 18px rgba(53,234,165,.18));animation:rotatePhoneHint 1.8s ease-in-out infinite}
.orientation-simple h2{margin:0;max-width:320px;font-size:clamp(20px,5vw,28px);line-height:1.15;letter-spacing:-.035em;font-weight:850}
@keyframes rotatePhoneHint{0%,100%{transform:rotate(0deg)}45%,55%{transform:rotate(90deg)}}

.game-tab.showdown{border-color:#c69432;background:linear-gradient(180deg,rgba(78,55,14,.93),rgba(37,25,8,.96));color:#f2ddb0;box-shadow:0 0 0 1px rgba(239,194,81,.08),0 0 18px rgba(225,177,61,.12)}
.game-tab.showdown b{color:#ffd76a}
.table-timer.showdown{border-color:#d9aa43!important;background:rgba(48,34,10,.9)!important}.table-timer.showdown b{color:#ffd568!important}
.showdown-banner{position:absolute;z-index:31;left:50%;top:17%;transform:translateX(-50%);display:grid;justify-items:center;gap:2px;padding:6px 12px;border-radius:10px;border:1px solid rgba(231,185,72,.5);background:rgba(33,24,8,.78);backdrop-filter:blur(8px);box-shadow:0 9px 25px rgba(0,0,0,.28)}
.showdown-banner b{font-size:9px;color:#f4d781}.showdown-banner span{font-size:6px;color:#d6c89e;letter-spacing:.05em;white-space:nowrap}
.player-seat.presenter-seat{border-color:#d8aa46!important;box-shadow:0 0 0 2px rgba(223,181,66,.13),0 0 24px rgba(223,181,66,.20),0 12px 28px rgba(0,0,0,.43)!important}.seat-present-label{color:#f1c957!important}.seat-show-label{color:#6be9b2!important}
.presenta-top-btn.show-action:disabled{opacity:.72!important}
.showdown-hand{box-shadow:0 18px 45px rgba(0,0,0,.40),inset 0 2px rgba(224,176,63,.10)!important}

/* Em telemóvel, a mesa é exclusivamente horizontal. O gate bloqueia o modo retrato. */
body.mobile-phone.game-mode{width:var(--app-vw,100vw)!important;height:var(--app-vh,100dvh)!important;min-height:0!important;max-height:var(--app-vh,100dvh)!important;overflow:hidden!important;overscroll-behavior:none!important}
body.mobile-phone.game-mode #appView,body.mobile-phone.game-mode .main-area{height:var(--app-vh,100dvh)!important;min-height:0!important;max-height:var(--app-vh,100dvh)!important;overflow:hidden!important}
body.mobile-phone.game-mode .main-area{padding-bottom:0!important;display:flex!important;flex-direction:column!important}
body.mobile-phone.game-mode .topbar{height:var(--game-topbar-h,46px)!important;min-height:var(--game-topbar-h,46px)!important;flex:0 0 var(--game-topbar-h,46px)!important;padding:0 max(7px,env(safe-area-inset-right)) 0 max(7px,env(safe-area-inset-left))!important;gap:5px!important}
body.mobile-phone.game-mode .page{flex:1 1 auto!important;width:100%!important;height:calc(var(--app-vh,100dvh) - var(--game-topbar-h,46px))!important;min-height:0!important;padding:0 3px 2px!important;overflow:hidden!important}
body.mobile-phone.game-mode .game-screen{width:100%!important;height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:var(--game-table-h,220px) var(--game-hand-h,118px)!important;gap:0!important;overflow:hidden!important}
body.mobile-phone.game-mode .casino-stage{width:100%!important;height:var(--game-table-h,220px)!important;min-height:0!important;max-height:var(--game-table-h,220px)!important;border-radius:12px 12px 4px 4px!important;overflow:hidden!important}
body.mobile-phone.game-mode .rammi-table{width:calc(100% - 10px)!important;height:calc(100% - 10px)!important;min-height:0!important;border-width:7px!important;border-radius:18px!important}
body.mobile-phone.game-mode .hand-dock{width:100%!important;height:var(--game-hand-h,118px)!important;min-height:0!important;margin:-1px auto 0!important;padding:0 4px max(2px,env(safe-area-inset-bottom))!important;border-radius:0 0 12px 12px!important;overflow:hidden!important}
body.mobile-phone.game-mode .meld-strip{display:none!important}
body.mobile-phone.game-mode .selection-status{display:none!important}
body.mobile-phone.game-mode .hand-hint{display:none!important}
body.mobile-phone.game-mode .hand{width:100%!important;height:100%!important;min-height:0!important;padding:5px 8px 2px!important;justify-content:center!important;align-items:flex-end!important;overflow:visible!important}
body.mobile-phone.game-mode .hand .playing-card{height:var(--game-card-h,104px)!important;flex:0 0 var(--game-card-w,64px)!important;margin-left:calc(var(--game-hand-step,50px) - var(--game-card-w,64px))!important;border-radius:8px!important;padding:6px!important}
body.mobile-phone.game-mode .hand .playing-card:first-of-type{margin-left:0!important}
body.mobile-phone.game-mode .hand .playing-card .card-hit-zone{width:calc(var(--game-hand-step,50px) + 3px)!important;height:100%!important}
body.mobile-phone.game-mode .hand .playing-card:last-of-type .card-hit-zone{width:100%!important}
body.mobile-phone.game-mode .playing-card .corner{width:31px!important;line-height:.84!important}
body.mobile-phone.game-mode .playing-card .corner b{font-size:24px!important;line-height:.88!important}
body.mobile-phone.game-mode .playing-card .corner i{font-size:22px!important;margin-top:3px!important}
body.mobile-phone.game-mode .playing-card .center-suit{font-size:34px!important;padding:0 7px 6px 0!important}
body.mobile-phone.game-mode .table-face .corner b,body.mobile-phone.game-mode .beste-watermark .corner b{font-size:17px!important}
body.mobile-phone.game-mode .table-face .corner i,body.mobile-phone.game-mode .beste-watermark .corner i{font-size:16px!important}
body.mobile-phone.game-mode .center-zone{top:50%!important;gap:14px!important}
body.mobile-phone.game-mode .pile-hitbox,body.mobile-phone.game-mode .deck-stack,body.mobile-phone.game-mode .trash-stack{width:var(--game-pile-w,82px)!important;min-width:var(--game-pile-w,82px)!important;max-width:var(--game-pile-w,82px)!important;height:var(--game-pile-h,116px)!important;min-height:var(--game-pile-h,116px)!important;max-height:var(--game-pile-h,116px)!important;padding:5px!important}
body.mobile-phone.game-mode .deck-stack .card-back,body.mobile-phone.game-mode .trash-stack .table-face{width:calc(var(--game-pile-w,82px) * .66)!important;height:calc(var(--game-pile-h,116px) * .70)!important}
body.mobile-phone.game-mode .player-seat{max-width:118px!important;padding:4px 6px!important;border-radius:9px!important;gap:5px!important}
body.mobile-phone.game-mode .seat-avatar{width:27px!important;height:27px!important;flex-basis:27px!important}.mobile-phone.game-mode .seat-copy b{font-size:8px!important}.mobile-phone.game-mode .seat-copy small{font-size:5.5px!important}
body.mobile-phone.game-mode .player-seat.north{top:7px!important}.mobile-phone.game-mode .player-seat.south{bottom:6px!important}.mobile-phone.game-mode .player-seat.west{left:7px!important;top:49%!important}.mobile-phone.game-mode .player-seat.east{right:7px!important;top:49%!important}
body.mobile-phone.game-mode .felt-brand{top:22%!important}.mobile-phone.game-mode .felt-brand small{display:none!important}
body.mobile-phone.game-mode .table-timer{left:9px!important;top:8px!important;height:31px!important;min-width:54px!important;padding:0 8px!important}.mobile-phone.game-mode .table-timer b{font-size:16px!important}
body.mobile-phone.game-mode .presenta-top-btn{right:9px!important;left:auto!important;top:auto!important;bottom:8px!important;height:31px!important;min-width:94px!important;padding:0 10px!important;font-size:7px!important;border-radius:9px!important}
body.mobile-phone.game-mode .showdown-banner{top:10px!important;max-width:44%;padding:5px 8px!important}.mobile-phone.game-mode .showdown-banner b{font-size:7px!important}.mobile-phone.game-mode .showdown-banner span{font-size:5px!important;max-width:180px;overflow:hidden;text-overflow:ellipsis}
body.mobile-phone.game-mode .game-top-lobby{padding:5px 7px!important;font-size:7px!important}.mobile-phone.game-mode .game-tabs{flex:1 1 auto!important;min-width:0!important;max-width:none!important;margin:0!important;gap:4px!important}.mobile-phone.game-mode .game-tab{flex:1 1 0!important;min-width:0!important;max-width:110px!important;height:35px!important;padding:4px 6px!important}.mobile-phone.game-mode .game-tab span{font-size:6.5px!important}.mobile-phone.game-mode .game-tab b{font-size:9px!important}.mobile-phone.game-mode .top-actions{margin-left:auto!important;gap:3px!important}.mobile-phone.game-mode .top-actions .avatar{display:none!important}.mobile-phone.game-mode .wallet-chip{max-width:86px!important;padding:5px 7px!important;font-size:6.5px!important}.mobile-phone.game-mode .wallet-chip b{font-size:8px!important}

/* Fora da mesa não se força CSS horizontal; o gate pede vertical e a app mantém scroll normal. */
body.mobile-phone:not(.game-mode){overflow-x:hidden!important;overflow-y:auto!important}

/* v4.13 — lugares reais + perspetiva por jogador + carta selecionada sem clipping */
.seat-picker-wrap{display:grid;gap:14px;min-width:min(520px,88vw)}
.seat-picker-copy{text-align:center;display:grid;gap:5px}.seat-picker-copy h3{margin:0;font-size:24px}.seat-picker-copy p{margin:0 auto;color:#80978e;font-size:10px;max-width:390px;line-height:1.5}
.seat-picker-table{position:relative;width:min(430px,80vw);height:min(270px,52vw);min-height:230px;margin:4px auto 0;border-radius:28px;background:radial-gradient(circle at 50% 45%,#14744e,#0a4a34 58%,#08291e 100%);border:8px solid #5c4320;box-shadow:0 0 0 2px #b48836,inset 0 0 45px rgba(0,0,0,.36),0 20px 45px rgba(0,0,0,.4)}
.seat-picker-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;justify-items:center;color:rgba(255,226,151,.38);pointer-events:none}.seat-picker-center span{font-size:28px}.seat-picker-center b{font-size:12px;letter-spacing:.28em}
.seat-pick{position:absolute;display:grid;justify-items:center;gap:2px;min-width:98px;padding:7px 9px;border-radius:13px;border:1px solid #2e7658;background:linear-gradient(180deg,rgba(5,27,19,.97),rgba(2,13,9,.97));color:#e8f6ef;box-shadow:0 8px 20px rgba(0,0,0,.35);cursor:pointer;transition:.15s}.seat-pick:hover:not(:disabled){transform:scale(1.04);border-color:#3ff4aa;box-shadow:0 0 22px rgba(45,236,157,.18),0 8px 20px rgba(0,0,0,.38)}.seat-pick span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#113c2c;border:2px solid #36d495;font-weight:900}.seat-pick b{font-size:9px}.seat-pick small{font-size:6px;color:#78958a;text-transform:uppercase;letter-spacing:.12em}.seat-pick.occupied{opacity:.58;cursor:not-allowed;border-color:#5b464a}.seat-pick.occupied span{border-color:#8f5963}.seat-pick.mine{border-color:#e1b451;box-shadow:0 0 0 2px rgba(225,180,81,.12),0 0 24px rgba(225,180,81,.14)}.seat-pick.mine span{border-color:#e1b451;color:#ffd979}.seat-pick.north{left:50%;top:8px;transform:translateX(-50%)}.seat-pick.south{left:50%;bottom:8px;transform:translateX(-50%)}.seat-pick.west{left:8px;top:50%;transform:translateY(-50%)}.seat-pick.east{right:8px;top:50%;transform:translateY(-50%)}.seat-pick.north:hover:not(:disabled),.seat-pick.south:hover:not(:disabled){transform:translateX(-50%) scale(1.04)}.seat-pick.west:hover:not(:disabled),.seat-pick.east:hover:not(:disabled){transform:translateY(-50%) scale(1.04)}
.seat-picker-note{text-align:center;margin:0;color:#87a197;font-size:8px}.seat-picker-note b{color:#e5bf66}.waiting-seat-chip{display:flex;align-items:center;gap:8px;border:1px solid #264f3d;background:#071710;border-radius:13px;padding:8px 10px;margin-top:10px}.waiting-seat-chip span{font-size:7px;color:#7e9b90;text-transform:uppercase;letter-spacing:.1em}.waiting-seat-chip b{font-size:11px;color:#f0d177;margin-right:4px}.waiting-seat-chip .btn{padding:6px 9px;font-size:7px}

/* A carta selecionada pode invadir visualmente a mesa; a dock deixa de a cortar. */
body.game-mode .hand-dock{overflow:visible!important}
body.game-mode .hand{overflow:visible!important;isolation:isolate}
body.game-mode .hand .playing-card.selected{z-index:400!important;transform:rotate(0deg) translateY(-30px)!important;box-shadow:0 0 0 3px #20efa0,0 18px 34px rgba(0,0,0,.72)!important}
body.mobile-phone.game-mode .hand-dock{overflow:visible!important}
body.mobile-phone.game-mode .hand .playing-card.selected{transform:rotate(0deg) translateY(-34px)!important;z-index:400!important}

@media(max-width:600px){
  .seat-picker-wrap{min-width:0;width:min(520px,92vw)}
  .seat-picker-table{width:min(410px,86vw);height:min(240px,53vw);min-height:205px;border-width:6px}
  .seat-pick{min-width:82px;padding:5px 6px}.seat-pick span{width:27px;height:27px}.seat-pick b{font-size:8px}.seat-pick small{font-size:5px}
}

/* v4.17 — seat picker horizontal fixo, sala de espera minimalista e espectadores */
.room-actions{display:grid;grid-template-columns:1.2fr .8fr;gap:7px;margin-top:10px}.room-actions .btn{margin:0}.spectate-btn{border-color:#315c4a;background:linear-gradient(180deg,#0c1e17,#07120e);color:#b6cfc4}.spectate-btn.active-watch{border-color:#d1a94a;color:#f4d881;box-shadow:0 0 18px rgba(213,171,68,.12)}
.game-tab.spectator-tab{border-color:#947531!important;color:#e3c976!important;background:linear-gradient(180deg,rgba(72,55,18,.44),rgba(18,15,7,.92))!important}
.spectator-badge{position:absolute;z-index:15;right:clamp(12px,2vw,28px);left:auto;top:10px;transform:none;border:1px solid rgba(224,186,83,.55);background:rgba(24,18,6,.82);color:#f1cf72;border-radius:999px;padding:5px 10px;font-size:7px;font-weight:900;letter-spacing:.12em;backdrop-filter:blur(8px)}
.spectator-dock{height:var(--game-hand-h,96px);display:grid;place-content:center;justify-items:center;gap:3px;text-align:center;background:linear-gradient(180deg,rgba(4,13,10,.25),rgba(2,8,6,.97));border-top:1px solid #183c2d}.spectator-dock span{font-size:16px;color:#e0bd62}.spectator-dock b{font-size:10px}.spectator-dock small{font-size:6px;color:#769187}

.waiting-room.waiting-room-compact{width:100%;height:calc(var(--app-vh,100dvh) - var(--game-topbar-h,70px));min-height:0!important;max-height:none!important;overflow:hidden!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px;text-align:center}
.waiting-room-compact .eyebrow{font-size:9px;color:#e6c465}.waiting-room-compact h1{margin:0!important;font-size:clamp(23px,4vw,38px)!important;line-height:1.05;max-width:720px}.wait-value-grid{display:grid;grid-template-columns:repeat(2,minmax(120px,180px));gap:8px}.wait-value-grid>div{display:grid;gap:3px;padding:10px 14px;border:1px solid #24513d;background:#071710;border-radius:13px}.wait-value-grid small{font-size:6px;letter-spacing:.12em;color:#78958a}.wait-value-grid b{font-size:18px;color:#f0d177}.waiting-room-compact .waiting-seat-chip,.waiting-spectator-chip{margin:0;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #2b5944;background:#071710;border-radius:13px;padding:8px 11px}.waiting-room-compact .waiting-seat-chip span{font-size:7px}.waiting-room-compact .waiting-seat-chip b{font-size:12px}.waiting-room-compact .waiting-seat-chip .btn{padding:6px 10px;font-size:7px}.waiting-spectator-chip span{color:#dfbc61}.waiting-spectator-chip b{font-size:9px;color:#d7e5df}

body.seat-picker-open{overflow:hidden!important;overscroll-behavior:none!important}.seat-picker-open .modal{padding:6px!important;overflow:hidden!important}.seat-picker-open .modal-card{width:min(760px,96vw)!important;height:min(460px,94dvh)!important;max-height:94dvh!important;overflow:hidden!important;padding:10px 14px!important;border-radius:16px!important}.seat-picker-open .seat-picker-wrap{width:100%!important;height:100%!important;min-width:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;gap:5px!important;overflow:hidden!important}.seat-picker-open .seat-picker-copy{gap:1px!important}.seat-picker-open .seat-picker-copy h3{font-size:17px!important;margin:0!important}.seat-picker-open .seat-picker-copy .eyebrow{font-size:6px!important}.seat-picker-open .seat-picker-table{width:min(580px,76vw)!important;height:100%!important;min-height:0!important;max-height:330px!important;margin:0 auto!important;border-width:6px!important;border-radius:22px!important}.seat-picker-open .seat-picker-note{margin:0!important;font-size:7px!important}.seat-picker-open .seat-pick{min-width:82px!important;padding:5px 7px!important;border-radius:10px!important}.seat-picker-open .seat-pick span{width:27px!important;height:27px!important;font-size:8px!important}.seat-picker-open .seat-pick b{font-size:7px!important}.seat-picker-open .seat-pick small{font-size:5px!important}.seat-picker-open .modal-close{right:8px;top:4px;z-index:5}

@media (pointer:coarse) and (orientation:landscape){
  body.seat-picker-open .modal-card{height:calc(var(--app-vh,100dvh) - 8px)!important;max-height:calc(var(--app-vh,100dvh) - 8px)!important;width:min(760px,calc(var(--app-vw,100vw) - 8px))!important}
  body.seat-picker-open .seat-picker-table{width:min(570px,72vw)!important;max-height:calc(var(--app-vh,100dvh) - 70px)!important}
  body.game-mode .waiting-room-compact{height:100%!important;padding:6px!important;gap:7px!important}
  body.game-mode .waiting-room-compact h1{font-size:clamp(18px,4.2vh,27px)!important}
  body.game-mode .wait-value-grid>div{padding:6px 11px!important}.mobile-phone.game-mode .wait-value-grid b{font-size:14px!important}
}
@media(max-width:700px){.room-actions{grid-template-columns:1fr 1fr}.waiting-room-compact .wait-value-grid{grid-template-columns:1fr 1fr;width:min(330px,90vw)}}

/* v4.18 — seat picker desktop separado do layout compacto mobile/tablet */
@media (pointer:fine) and (min-width:701px){
  body.seat-picker-open{overflow:auto!important;overscroll-behavior:auto!important}
  .seat-picker-open .modal{padding:24px!important;overflow:auto!important}
  .seat-picker-open .modal-card{
    width:min(760px,calc(100vw - 48px))!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:26px 30px 28px!important;
    border-radius:24px!important;
  }
  .seat-picker-open .seat-picker-wrap{
    width:100%!important;
    height:auto!important;
    min-width:0!important;
    display:grid!important;
    grid-template-rows:auto auto auto!important;
    gap:16px!important;
    overflow:visible!important;
  }
  .seat-picker-open .seat-picker-copy{gap:4px!important}
  .seat-picker-open .seat-picker-copy h3{font-size:26px!important;margin:0!important}
  .seat-picker-open .seat-picker-copy .eyebrow{font-size:8px!important}
  .seat-picker-open .seat-picker-table{
    width:min(620px,100%)!important;
    height:350px!important;
    min-height:350px!important;
    max-height:none!important;
    margin:0 auto!important;
    border-width:8px!important;
    border-radius:30px!important;
  }
  .seat-picker-open .seat-picker-center span{font-size:36px!important}
  .seat-picker-open .seat-picker-center b{font-size:14px!important}
  .seat-picker-open .seat-pick{
    min-width:118px!important;
    padding:10px 12px!important;
    border-radius:14px!important;
  }
  .seat-picker-open .seat-pick span{width:42px!important;height:42px!important;font-size:11px!important}
  .seat-picker-open .seat-pick b{font-size:10px!important}
  .seat-picker-open .seat-pick small{font-size:7px!important}
  .seat-picker-open .seat-picker-note{font-size:9px!important;margin:0!important}
  .seat-picker-open .modal-close{right:14px!important;top:10px!important}
}

/* =========================================================
   v4.22 — camada final de estabilidade cross-device
   ========================================================= */

/* Turno: o ponto verde pertence a qualquer jogador com a vez, incluindo o próprio. */
body.game-mode .player-seat.active-turn{border-color:#2bdc95!important;box-shadow:0 0 0 1px rgba(43,220,149,.28),0 0 24px rgba(43,220,149,.18),0 10px 28px rgba(0,0,0,.42)!important}
body.game-mode .player-seat.active-self .seat-avatar{border-color:#38f0a8!important;box-shadow:0 0 0 3px rgba(56,240,168,.09),0 0 18px rgba(56,240,168,.24)}
body.game-mode .seat-turn-pulse{position:absolute!important;right:7px!important;top:7px!important;width:8px!important;height:8px!important;border-radius:50%!important;background:#35f0a6!important;box-shadow:0 0 0 0 rgba(53,240,166,.55);animation:v422TurnPulse 1.05s infinite!important}
@keyframes v422TurnPulse{0%{box-shadow:0 0 0 0 rgba(53,240,166,.58);opacity:1}70%{box-shadow:0 0 0 9px rgba(53,240,166,0);opacity:.72}100%{box-shadow:0 0 0 0 rgba(53,240,166,0);opacity:1}}

/* Centro livre para 3/4 jogadores: cria uma faixa clara entre perfis laterais e pilhas. */
body.game-mode .center-zone{gap:clamp(30px,5.5vw,62px)!important;z-index:12!important}
body.game-mode .players-3 .player-seat.west,
body.game-mode .players-4 .player-seat.west{top:37%!important}
body.game-mode .players-3 .player-seat.east,
body.game-mode .players-4 .player-seat.east{top:63%!important}
body.game-mode .players-3 .player-seat.west,
body.game-mode .players-3 .player-seat.east,
body.game-mode .players-4 .player-seat.west,
body.game-mode .players-4 .player-seat.east{max-width:118px!important}

/* A referência do Beste é uma carta completa, do mesmo tamanho da carta visível do Lixo. */
body.game-mode .deck-stack{overflow:visible!important}
body.game-mode .beste-watermark{
  width:var(--beste-card-w,58px)!important;
  height:var(--beste-card-h,89px)!important;
  min-width:var(--beste-card-w,58px)!important;
  min-height:var(--beste-card-h,89px)!important;
  max-width:var(--beste-card-w,58px)!important;
  max-height:var(--beste-card-h,89px)!important;
  left:calc(var(--beste-card-w,58px) * -.76)!important;
  top:27px!important;
  padding:5px!important;
  transform:rotate(-7deg)!important;
  opacity:.88!important;
  z-index:-1!important;
}
body.game-mode .trash-stack .table-face{width:var(--beste-card-w,58px)!important;height:var(--beste-card-h,89px)!important}

/* Resultado: nunca desaparece sozinho; fica numa zona confortável para leitura. */
body.game-mode .game-result-panel{max-height:none!important;overflow:visible!important}
.result-hold{display:grid;justify-items:center;gap:7px;margin-top:13px;padding-top:12px;border-top:1px solid rgba(210,177,91,.18)}
.result-hold .result-next-btn{min-width:170px;padding:11px 18px;border-color:#be963e;background:linear-gradient(180deg,#5f4717,#37270b);color:#f6d878}
.result-hold .result-next-btn:disabled{opacity:.6;cursor:default}
.result-hold small,.result-hold>span{font-size:7px;color:#879c93;text-align:center}

/* --- Seletor de lugares: reset definitivo, sem scroll interno. --- */
body.seat-picker-open{overflow:hidden!important;overscroll-behavior:none!important}
body.seat-picker-open .modal{position:fixed!important;inset:0!important;display:grid!important;place-items:center!important;padding:clamp(8px,2vw,24px)!important;overflow:hidden!important}
body.seat-picker-open .modal-card{box-sizing:border-box!important;overflow:hidden!important;height:auto!important;max-height:calc(var(--app-vh,100dvh) - 16px)!important;margin:0!important}
body.seat-picker-open .seat-picker-wrap{box-sizing:border-box!important;min-width:0!important;width:100%!important;height:auto!important;display:grid!important;grid-template-rows:auto auto auto!important;align-items:center!important;gap:clamp(7px,1.5vh,15px)!important;overflow:hidden!important}
body.seat-picker-open .seat-picker-table{box-sizing:border-box!important;position:relative!important;margin:0 auto!important;min-height:0!important;max-height:none!important}
body.seat-picker-open .seat-picker-copy{gap:2px!important}
body.seat-picker-open .seat-picker-note{margin:0!important}

/* Desktop */
@media (pointer:fine) and (min-width:701px){
  body.seat-picker-open .modal-card{width:min(720px,calc(100vw - 42px))!important;padding:22px 28px 24px!important;border-radius:22px!important}
  body.seat-picker-open .seat-picker-table{width:min(610px,100%)!important;height:338px!important;border-width:8px!important;border-radius:28px!important}
  body.seat-picker-open .seat-picker-copy h3{font-size:24px!important}
  body.seat-picker-open .seat-picker-copy .eyebrow{font-size:8px!important}
  body.seat-picker-open .seat-pick{min-width:116px!important;padding:9px 11px!important}
  body.seat-picker-open .seat-pick span{width:40px!important;height:40px!important;font-size:11px!important}
  body.seat-picker-open .seat-pick b{font-size:10px!important}
  body.seat-picker-open .seat-pick small{font-size:7px!important}
}

/* Tablet/mobile — o fluxo de lugar continua em vertical, e tudo cabe sem scroll interno. */
@media (pointer:coarse){
  body.seat-picker-open .modal-card{
    width:min(94vw,540px)!important;
    max-width:calc(var(--app-vw,100vw) - 14px)!important;
    padding:10px 12px 12px!important;
    border-radius:16px!important;
  }
  body.seat-picker-open .seat-picker-copy h3{font-size:clamp(16px,5vw,22px)!important;line-height:1!important}
  body.seat-picker-open .seat-picker-copy .eyebrow{font-size:6px!important}
  body.seat-picker-open .seat-picker-table{
    width:min(88vw,460px)!important;
    height:min(58vw,278px)!important;
    min-height:190px!important;
    border-width:6px!important;
    border-radius:20px!important;
  }
  body.seat-picker-open .seat-pick{min-width:78px!important;padding:5px 6px!important;border-radius:10px!important;gap:1px!important}
  body.seat-picker-open .seat-pick span{width:27px!important;height:27px!important;font-size:8px!important}
  body.seat-picker-open .seat-pick b{font-size:7px!important;max-width:92px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.seat-picker-open .seat-pick small{font-size:5px!important}
  body.seat-picker-open .seat-picker-note{font-size:7px!important}
}
@media (pointer:coarse) and (max-height:640px){
  body.seat-picker-open .modal-card{padding:7px 9px 8px!important}
  body.seat-picker-open .seat-picker-table{height:min(52vw,230px)!important;min-height:174px!important}
  body.seat-picker-open .seat-picker-copy h3{font-size:16px!important}
  body.seat-picker-open .seat-pick{min-width:72px!important;padding:4px 5px!important}
  body.seat-picker-open .seat-pick span{width:24px!important;height:24px!important}
}

/* Mobile em jogo: pilhas e Beste escalam juntos. */
@media (pointer:coarse) and (orientation:landscape){
  body.game-mode{--beste-card-w:calc(var(--game-pile-w,82px) * .66);--beste-card-h:calc(var(--game-pile-h,116px) * .70)}
  body.game-mode .players-3 .player-seat.west,
  body.game-mode .players-4 .player-seat.west{top:35%!important}
  body.game-mode .players-3 .player-seat.east,
  body.game-mode .players-4 .player-seat.east{top:65%!important}
  body.game-mode .center-zone{gap:clamp(22px,5vw,42px)!important}
  .result-hold{margin-top:7px;padding-top:7px}.result-hold .result-next-btn{min-width:130px;padding:7px 12px}.result-hold small{font-size:5px}
}

/* =========================================================
   v4.26 — agentes só observam; fee de transação 5%
   ========================================================= */
/* Uma carta que deixou de estar selecionada regressa sempre à posição da mão,
   mesmo que o browser mantenha :hover após um toque/click. */
body.game-mode .hand .playing-card:hover:not(.selected):not(.drag-source),
body.game-mode .hand .playing-card:focus:not(.selected):not(.drag-source),
body.game-mode .hand .playing-card:focus-visible:not(.selected):not(.drag-source){
  transform:rotate(var(--fan)) translateY(var(--lift))!important;
  z-index:auto!important;
  outline:none!important;
}

/* Baralho e Lixo afastados do eixo vertical dos perfis norte/sul. */
body.game-mode .rammi-table .center-zone{
  width:min(520px,56%)!important;
  max-width:56%!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:0!important;
  left:50%!important;
  transform:translate(-50%,-50%)!important;
}
body.game-mode .rammi-table .deck-stack,
body.game-mode .rammi-table .trash-stack{flex:0 0 auto!important}

/* Em ecrãs tácteis horizontais mantém o corredor central, sem desperdiçar a mesa. */
@media (pointer:coarse) and (orientation:landscape){
  body.game-mode .rammi-table .center-zone{
    width:min(390px,58%)!important;
    max-width:58%!important;
  }
}

/* Em tablets largos podemos abrir ainda mais o centro. */
@media (pointer:coarse) and (orientation:landscape) and (min-width:900px){
  body.game-mode .rammi-table .center-zone{
    width:min(500px,56%)!important;
    max-width:56%!important;
  }
}


/* v4.26 — Agentes apenas observadores e fee de transação */
.agent-watch-note{margin-top:10px;padding:9px 11px;border:1px solid rgba(255,214,84,.18);border-radius:10px;background:rgba(255,214,84,.06);font-size:.78rem;color:var(--muted)}
.agent-fee-preview{padding:10px 12px;border-radius:10px;background:rgba(255,214,84,.08);border:1px solid rgba(255,214,84,.16);color:var(--muted)}
.agent-fee-preview b{color:#f5d979}

/* v4.27 · sala de espera */
.waiting-actions{display:flex;align-items:center;justify-content:center;gap:7px}.waiting-seat-chip .waiting-actions{margin-left:4px}.waiting-actions .btn{white-space:nowrap}.waiting-spectator-chip+.waiting-actions{margin-top:-3px}
@media(max-width:700px){.waiting-seat-chip{flex-wrap:wrap}.waiting-seat-chip .waiting-actions{width:100%;margin-left:0}.waiting-actions .btn{flex:1}}


/* v4.28 — saída segura a partir da mesa de jogo */
.game-leave-btn{position:absolute;z-index:35;left:18px;bottom:16px;height:34px;padding:0 12px;border-radius:10px;border:1px solid rgba(255,108,121,.58);background:rgba(45,13,18,.86);color:#ff9ba7;font-size:8px;font-weight:900;letter-spacing:.08em;box-shadow:0 8px 22px rgba(0,0,0,.30);backdrop-filter:blur(8px)}
.game-leave-btn:hover{border-color:#ff7e8b;background:rgba(65,17,24,.94)}
.game-leave-btn:disabled{opacity:.65;cursor:default}
@media(max-width:980px){body.game-mode .game-leave-btn{left:9px;bottom:8px;height:31px;padding:0 9px;border-radius:9px;font-size:6.5px}}

/* =========================================================
   v4.29 — APRESENTA visível, foco de turno e SIT OUT
   ========================================================= */
body.game-mode .player-seat.active-turn{
  border-color:#36f1aa!important;
  box-shadow:0 0 0 2px rgba(54,241,170,.23),0 0 32px rgba(54,241,170,.34),0 12px 30px rgba(0,0,0,.48)!important;
  animation:v429ActiveTurnFocus .85s ease-in-out infinite alternate!important;
}
body.game-mode .player-seat.active-turn .seat-copy b{color:#f0fff8!important}
body.game-mode .player-seat.active-turn .seat-playing-label{display:block!important;color:#55f4b2!important;font-weight:950!important}
@keyframes v429ActiveTurnFocus{from{filter:brightness(1)}to{filter:brightness(1.13)}}

body.game-mode .player-seat.sit-out-seat:not(.active-turn){opacity:.68!important;border-color:#7b7158!important;filter:saturate(.55)}
body.game-mode .seat-sitout-label{color:#f1c76b!important;font-size:6.5px!important;font-weight:950!important;letter-spacing:.12em}
body.game-mode .resume-sitout-btn{
  position:absolute;z-index:38;left:18px;bottom:56px;height:34px;padding:0 13px;border-radius:10px;
  border:1px solid rgba(241,199,107,.72);background:rgba(54,39,9,.92);color:#ffe2a0;
  font-size:8px;font-weight:950;letter-spacing:.08em;box-shadow:0 8px 22px rgba(0,0,0,.32)
}

/* As mãos que já foram mostradas ficam públicas ainda durante os 30 s do APRESENTA. */
body.game-mode .showdown-reveals{
  position:absolute;z-index:28;left:50%;top:30%;transform:translateX(-50%);
  width:min(760px,74%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;
  pointer-events:none
}
body.game-mode .showdown-reveal-player{
  min-width:0;padding:6px 8px;border:1px solid rgba(213,173,72,.34);border-radius:11px;
  background:rgba(7,17,13,.87);box-shadow:0 8px 22px rgba(0,0,0,.28);backdrop-filter:blur(7px)
}
body.game-mode .showdown-reveal-player.winner{border-color:rgba(63,235,164,.56);box-shadow:0 0 20px rgba(44,222,149,.12),0 8px 22px rgba(0,0,0,.3)}
body.game-mode .showdown-reveal-player.auto-show{border-style:dashed}
body.game-mode .showdown-reveal-title{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:4px}
body.game-mode .showdown-reveal-title b{font-size:7.5px;color:#eff9f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.game-mode .showdown-reveal-title small{font-size:5.5px;color:#e0bc68;letter-spacing:.08em;white-space:nowrap}
body.game-mode .showdown-reveal-player.winner .showdown-reveal-title small{color:#54efae}
body.game-mode .showdown-reveal-cards{display:flex;align-items:center;justify-content:center;min-height:32px;padding-left:5px;overflow:hidden}
body.game-mode .showdown-reveal-cards .reveal-card{width:24px;height:34px;margin-left:-7px;border-radius:4px;padding:3px;box-shadow:0 3px 7px rgba(0,0,0,.38)}
body.game-mode .showdown-reveal-cards .reveal-card:first-child{margin-left:0}
body.game-mode .showdown-reveal-cards .reveal-card b{font-size:7px}
body.game-mode .showdown-reveal-cards .reveal-card i{font-size:8px}
body.game-mode .revealed-player.loser{border-color:rgba(210,91,104,.28)}

@media(max-width:980px){
  body.game-mode .resume-sitout-btn{left:9px;bottom:46px;height:30px;padding:0 9px;font-size:6.2px}
  body.game-mode .showdown-reveals{top:25%;width:68%;gap:4px}
  body.game-mode .showdown-reveal-player{padding:4px 5px;border-radius:8px}
  body.game-mode .showdown-reveal-title{margin-bottom:2px}
  body.game-mode .showdown-reveal-title b{font-size:5.7px}
  body.game-mode .showdown-reveal-title small{font-size:4.3px}
  body.game-mode .showdown-reveal-cards{min-height:27px}
  body.game-mode .showdown-reveal-cards .reveal-card{width:20px;height:28px;margin-left:-6px;padding:2px}
  body.game-mode .showdown-reveal-cards .reveal-card b{font-size:6px}
  body.game-mode .showdown-reveal-cards .reveal-card i{font-size:6px}
}
@media(max-width:760px){
  body.game-mode .showdown-reveals{top:23%;width:64%;grid-template-columns:1fr;max-height:45%;overflow:hidden}
  body.game-mode .showdown-reveal-player{display:grid;grid-template-columns:82px 1fr;align-items:center;gap:3px}
  body.game-mode .showdown-reveal-title{display:grid;margin:0}
  body.game-mode .showdown-reveal-cards{justify-content:flex-start}
}

/* =========================================================
   v4.30 — lobby limpo + foco inequívoco no próprio turno
   ========================================================= */
.room-meta-clean{margin-top:18px!important}

/* O próprio jogador tem exatamente o mesmo sinal luminoso de turno dos adversários. */
body.game-mode .player-seat.active-self{overflow:visible!important;z-index:24!important}
body.game-mode .player-seat.active-self .seat-turn-pulse{
  display:block!important;
  z-index:60!important;
  width:11px!important;
  height:11px!important;
  right:6px!important;
  top:6px!important;
  background:#2dffa5!important;
  border:2px solid rgba(235,255,247,.9)!important;
  box-shadow:0 0 0 0 rgba(45,255,165,.72),0 0 18px rgba(45,255,165,.95)!important;
  animation:v430SelfTurnPulse .82s ease-out infinite!important;
}
@keyframes v430SelfTurnPulse{
  0%{transform:scale(.86);box-shadow:0 0 0 0 rgba(45,255,165,.72),0 0 15px rgba(45,255,165,.95)}
  65%{transform:scale(1.08);box-shadow:0 0 0 10px rgba(45,255,165,0),0 0 23px rgba(45,255,165,.78)}
  100%{transform:scale(.92);box-shadow:0 0 0 0 rgba(45,255,165,0),0 0 15px rgba(45,255,165,.85)}
}


/* =========================================================
   v4.30.2 — menu mobile, fullscreen desktop, APRESENTA desktop
             e resultados responsivos
   ========================================================= */

/* O fundo do menu mobile recebe o toque e fecha o drawer sem ativar a página por baixo. */
.sidebar-backdrop{display:none;border:0;padding:0;background:rgba(0,0,0,.46);backdrop-filter:blur(2px)}
@media(max-width:760px){
  .sidebar.open + .sidebar-backdrop{display:block;position:fixed;inset:0;z-index:39}
}

/* Desktop: o botão APRESENTA/MOSTRAR fica explicitamente visível.
   A regra é limitada a ponteiro fino para não tocar no layout já afinado de tablet/mobile. */
@media (pointer:fine) and (min-width:761px){
  body.game-mode .presenta-top-btn{
    display:flex!important;visibility:visible!important;
    right:22px!important;left:auto!important;top:auto!important;bottom:20px!important;
    z-index:90!important;min-width:126px!important;height:38px!important;
  }
}

/* Depois de a mão terminar, mobile/tablet deixam de usar a grelha rígida da mesa.
   Assim o resumo e todas as combinações ficam visíveis e podem ser percorridos sem
   alterar o layout durante uma mão ativa. */
@media (pointer:coarse){
  body.game-mode.game-finished{
    height:auto!important;min-height:var(--app-vh,100dvh)!important;max-height:none!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto!important;
  }
  body.game-mode.game-finished #appView,
  body.game-mode.game-finished .main-area{
    height:auto!important;min-height:var(--app-vh,100dvh)!important;max-height:none!important;overflow:visible!important;
  }
  body.game-mode.game-finished .page{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;
    padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
  }
  body.game-mode.game-finished .game-screen.finished-mode{
    height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;
    display:grid!important;grid-template-rows:auto auto!important;gap:8px!important;
  }
  body.game-mode.game-finished .game-screen.finished-mode .casino-stage{
    min-height:230px!important;height:clamp(230px,52vh,430px)!important;max-height:430px!important;
  }
  body.game-mode.game-finished .game-screen.finished-mode .rammi-table{
    height:calc(100% - 12px)!important;min-height:0!important;max-height:none!important;
  }
  body.game-mode.game-finished .game-result-panel{
    width:min(96%,900px)!important;margin:0 auto 12px!important;max-height:none!important;overflow:visible!important;
  }
  body.game-mode.game-finished .revealed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.game-mode.game-finished .revealed-player{min-width:0!important}
  body.game-mode.game-finished .revealed-hand{overflow:visible!important}
}
@media (pointer:coarse) and (max-width:700px){
  body.game-mode.game-finished .revealed-grid{grid-template-columns:1fr!important}
}


/* =========================================================
   v4.30.6 — aviso de APRESENTA mais legível + botão desktop
   ========================================================= */
/* Só o aviso de apresentação cresce: os restantes toasts mantêm o tamanho atual. */
.toast.presentation{
  position:fixed!important;
  left:50%!important;right:auto!important;top:92px!important;
  transform:translateX(-50%);
  width:min(680px,calc(100vw - 36px));min-width:0!important;
  padding:17px 20px!important;gap:13px!important;
  border:1px solid rgba(238,190,73,.72)!important;
  border-radius:16px!important;
  background:linear-gradient(180deg,rgba(42,31,10,.98),rgba(19,16,8,.98))!important;
  color:#fff7dc!important;
  box-shadow:0 18px 55px rgba(0,0,0,.62),0 0 0 1px rgba(255,220,121,.08),0 0 28px rgba(229,177,53,.18)!important;
  animation:presentationPop .2s ease!important;
  z-index:1000!important;
}
.toast.presentation span{
  width:38px!important;height:38px!important;flex:0 0 38px!important;
  background:linear-gradient(180deg,#f1c95f,#b97d20)!important;
  color:#241805!important;font-size:19px!important;
  box-shadow:inset 0 1px rgba(255,255,255,.35),0 0 18px rgba(239,190,74,.18)!important;
}
.toast.presentation b{
  font-size:15px!important;line-height:1.4!important;letter-spacing:.01em!important;
}
@keyframes presentationPop{
  from{transform:translate(-50%,-10px) scale(.98);opacity:0}
  to{transform:translate(-50%,0) scale(1);opacity:1}
}
@media(max-width:760px){
  .toast.presentation{
    top:14px!important;width:calc(100vw - 24px)!important;
    padding:13px 14px!important;gap:10px!important;border-radius:13px!important;
  }
  .toast.presentation span{width:32px!important;height:32px!important;flex-basis:32px!important;font-size:16px!important}
  .toast.presentation b{font-size:12px!important;line-height:1.35!important}
}

/* Desktop com rato: APRESENTA/MOSTRAR sai definitivamente da zona das cartas.
   Não se aplica a tablet/mobile, cuja posição continua exatamente como estava. */
@media (pointer:fine) and (min-width:761px){
  body.game-mode .presenta-top-btn{
    display:flex!important;visibility:visible!important;
    right:22px!important;left:auto!important;
    top:22px!important;bottom:auto!important;
    z-index:120!important;
    min-width:134px!important;height:40px!important;
  }
}

/* v4.32.0 — matchmaking 2+ dinâmico e pacote de produção */


/* =========================================================
   v4.32.0 — tracking de jogos + pedidos de pagamento
   ========================================================= */
.history-card.history-open{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.history-card.history-open:hover,.history-card.history-open:focus{transform:translateY(-2px);border-color:rgba(232,190,77,.52);box-shadow:0 14px 34px rgba(0,0,0,.3);outline:none}
.history-open-hint{display:block;margin-top:7px;color:#dfc16e;font-weight:800;letter-spacing:.03em}
.history-detail{display:grid;gap:18px}.history-detail-head h2{margin:5px 0 4px}.history-detail-head p{color:var(--muted);margin:0}
.history-detail-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.history-detail-kpis>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);display:grid;gap:4px}.history-detail-kpis small{color:var(--muted);font-size:.68rem}.history-detail-kpis b{font-size:1.2rem}
.history-admin-detail{display:flex;flex-wrap:wrap;gap:8px}.history-admin-detail span{padding:8px 10px;border:1px solid var(--line);border-radius:10px;color:var(--muted)}.history-admin-detail b{color:var(--text)}

/* v4.32.1 — pedidos Agente -> Superadmin */
.chip-request-agent-summary{display:grid;gap:7px;margin-top:10px;padding:10px 12px;border:1px solid rgba(34,230,153,.16);border-radius:12px;background:rgba(34,230,153,.035)}
.chip-payment-link{color:#58f3b6;font-weight:850;text-decoration:none;word-break:break-all}.chip-payment-link:hover{text-decoration:underline}
.chip-request-row .row-actions{flex-wrap:wrap;justify-content:flex-end}
@media(max-width:760px){.history-detail-kpis{grid-template-columns:1fr 1fr}.history-detail .data-table{min-width:520px}}


/* v4.32.2 — Referência Multibanco Agente -> Superadmin */
.mb-method-fixed{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid #1f6a50;border-radius:12px;background:linear-gradient(135deg,#09231a,#081713);box-shadow:inset 0 0 22px rgba(24,239,151,.035)}
.mb-method-fixed>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid #1187ba;border-radius:9px;font-weight:950;font-size:16px;color:#e9fbff;background:#071c25;box-shadow:0 0 18px rgba(19,155,214,.12)}
.mb-method-fixed div{display:grid;gap:2px}.mb-method-fixed small{font-size:9px;letter-spacing:.14em;color:#78968a}.mb-method-fixed b{font-size:13px;color:#eafff6}
.mb-payment-details{margin-top:10px;padding:12px;border:1px solid #1c4f3d;border-radius:11px;background:#071711;display:grid;gap:7px;min-width:250px}.mb-payment-details.compact{padding:9px 10px;min-width:220px}.mb-detail-row{display:grid;grid-template-columns:78px 1fr auto;gap:8px;align-items:center;padding-top:5px;border-top:1px solid rgba(89,154,128,.13)}.mb-detail-row span{font-size:10px;color:#78968a}.mb-detail-row b{font-size:12px;color:#f3fff9;word-break:break-word}.copy-mb-detail{width:29px;height:27px;border:1px solid #285646;border-radius:7px;background:#0a2118;color:#7df7c6;font-weight:900}.copy-mb-detail:hover{border-color:#20db91;background:#0c2b1e}
@media(max-width:760px){.mb-payment-details{min-width:0;width:100%}.chip-request-row .row-actions{width:100%;flex-wrap:wrap}.mb-detail-row{grid-template-columns:70px 1fr auto}}


/* =========================================================
   v4.32.3 — criação de mesas no mobile + associação automática do jogador
   ========================================================= */
.auto-association{border-color:#245d45;background:linear-gradient(180deg,#0a2118,#07140f)}
.auto-association b{color:#dff9ee}.auto-association small{color:#7f9b90}
@media(max-width:760px){
  .section-head.table-create-head{align-items:stretch;flex-direction:column;gap:12px}
  .section-head.table-create-head .head-actions.table-create-actions{display:flex!important;width:100%;gap:8px;flex-wrap:wrap}
  .section-head.table-create-head .head-actions.table-create-actions .btn{display:flex!important;flex:1 1 150px;justify-content:center;align-items:center;min-height:42px}
}

/* =========================================================
   v4.32.4 — eliminar mesas + pedido de fichas 1000/2000/5000
   ========================================================= */
.admin-room-actions .delete-table{border-color:rgba(255,93,93,.5);color:#ffaaaa;background:rgba(110,18,25,.17)}
.admin-room-actions .delete-table:hover{border-color:#ff7070;background:rgba(145,25,34,.28);color:#fff}
#chipMbForm input[readonly]{opacity:1;color:#e8fff5;background:#0a1712;border-color:#245d45;font-weight:850;cursor:not-allowed}
@media(max-width:760px){
  .admin-room-actions{flex-wrap:wrap}
  .admin-room-actions .btn{flex:1 1 92px}
}
/* v4.32.5 · identificação clara do Beste na mão privada */
.playing-card .beste-chip{position:absolute;right:4px;bottom:5px;z-index:5;padding:2px 4px;border-radius:999px;background:#f3cf68;color:#503708;font-size:5px;font-weight:1000;letter-spacing:.06em;line-height:1;box-shadow:0 1px 5px rgba(0,0,0,.22);pointer-events:none}
@media(max-width:760px){.playing-card .beste-chip{right:2px;bottom:3px;font-size:4px;padding:2px 3px}}
.auto-pay-hand .playing-card{cursor:default;pointer-events:none}.auto-pay-hand .hand{opacity:.88}

/* v4.32.7 · resultado 30s + nova mão automática */
body.game-mode .trash-stack .trash-hidden-card{background:repeating-linear-gradient(45deg,#0a3122 0 6px,#123f30 6px 12px)!important;border:2px solid #c5a14f!important;box-shadow:-4px 4px 0 #0d271f,-8px 8px 0 #092017,0 10px 18px #000!important;color:#d6b258!important;display:grid!important;place-items:center!important}
body.game-mode .trash-stack .trash-hidden-card:before{content:"";position:absolute;inset:6px;border:1px solid rgba(238,200,91,.5);border-radius:5px}
body.game-mode .trash-stack .trash-hidden-card i{font-style:normal;color:#d6b258;font-size:25px}
body.game-mode .trash-stack .trash-empty-card{display:grid!important;place-items:center!important;border:1px dashed rgba(153,181,169,.28)!important;border-radius:9px!important;background:rgba(2,11,8,.22)!important;color:rgba(167,194,182,.22)!important}
body.game-mode .trash-stack .trash-empty-card i{font-style:normal;font-size:24px}


/* =========================================================
   v4.32.8 · APRESENTA/MOSTRAR mais fácil de tocar no mobile
   ========================================================= */
@media (pointer:coarse) and (max-width:760px){
  body.mobile-phone.game-mode .presenta-top-btn{
    display:flex!important;
    visibility:visible!important;
    pointer-events:auto!important;
    right:max(10px,env(safe-area-inset-right))!important;
    left:auto!important;
    top:auto!important;
    bottom:12px!important;
    z-index:260!important;
    min-width:132px!important;
    width:auto!important;
    height:48px!important;
    min-height:48px!important;
    padding:0 16px!important;
    gap:8px!important;
    border-radius:14px!important;
    font-size:10px!important;
    line-height:1!important;
    letter-spacing:.11em!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
    isolation:isolate!important;
  }
  body.mobile-phone.game-mode .presenta-top-btn span{
    font-size:17px!important;
  }
  body.mobile-phone.game-mode .presenta-top-btn b{
    font-size:10px!important;
    pointer-events:none!important;
  }
  body.mobile-phone.game-mode .presenta-top-btn.ready{
    box-shadow:0 0 0 3px rgba(244,206,105,.12),0 0 26px rgba(239,190,74,.28),0 12px 28px rgba(0,0,0,.48)!important;
  }
  body.mobile-phone.game-mode .presenta-top-btn.ready:active,
  body.mobile-phone.game-mode .presenta-top-btn.ready.pressed{
    transform:scale(.97)!important;
  }
}

/* v4.32.12 · APRESENTA uma vez por turno + mudança visual clara para MOSTRAR */
.presenta-top-btn.ready:not(.show-action){
  color:#2b1c05!important;border-color:#e8bd52!important;
  background:linear-gradient(180deg,#f4d478,#c78d27)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.42),0 0 24px rgba(239,190,74,.23),0 10px 25px rgba(0,0,0,.38)!important
}
.presenta-top-btn.show-action.ready{
  color:#042318!important;border-color:#57f1b4!important;
  background:linear-gradient(180deg,#45e8ab,#18a974)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.34),0 0 28px rgba(52,235,165,.31),0 11px 28px rgba(0,0,0,.42)!important
}
.presenta-top-btn.show-action.ready span,.presenta-top-btn.show-action.ready b{color:#042318!important}
.presenta-top-btn.show-action:disabled{border-color:#2f8968!important;background:linear-gradient(180deg,#174f3b,#103428)!important;color:#8fd9bd!important}
@media (pointer:coarse) and (max-width:760px){
  body.mobile-phone.game-mode .presenta-top-btn.show-action.ready{
    box-shadow:0 0 0 3px rgba(70,235,174,.14),0 0 30px rgba(50,226,159,.34),0 12px 28px rgba(0,0,0,.48)!important
  }
}


/* v4.32.12 · jogadores sentam-se logo na mesa + confirmação COMEÇAR MÃO */
.pregame-screen{grid-template-rows:minmax(0,1fr)!important}
.pregame-screen .casino-stage{min-height:calc(100dvh - 84px)}
.pregame-table .felt-brand{opacity:.72;top:28%}
.pregame-center{position:absolute;z-index:24;left:50%;top:56%;transform:translate(-50%,-50%);width:min(390px,54%);display:grid;justify-items:center;text-align:center;gap:7px;padding:14px 18px;border:1px solid rgba(57,132,99,.65);border-radius:16px;background:linear-gradient(180deg,rgba(4,28,19,.90),rgba(3,16,12,.94));box-shadow:0 18px 42px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(10px)}
.pregame-center h2{margin:0;font-size:18px;line-height:1.08;color:#eff8f4}.pregame-center h2 b{color:#f2ca63;font-size:1.25em}.pregame-center p{margin:0;color:#91aaa0;font-size:8px;line-height:1.45;max-width:340px}.pregame-ready-count{display:flex;align-items:baseline;gap:5px}.pregame-ready-count b{font-size:22px;color:#54efae}.pregame-ready-count span{font-size:8px;color:#78958a}.pregame-start-btn{min-width:190px;min-height:44px;font-size:9px;font-weight:950;letter-spacing:.08em}.pregame-start-btn[disabled]{opacity:.72;cursor:default}.pregame-secondary-actions{display:flex;gap:6px;margin-top:2px}.pregame-secondary-actions .btn{padding:7px 10px;font-size:7px}.pregame-ready-seat{border-color:#2bcf8a!important;box-shadow:0 0 0 1px rgba(43,207,138,.16),0 0 24px rgba(43,207,138,.12),0 10px 25px rgba(0,0,0,.4)!important}.seat-ready-dot{margin-left:auto;display:grid;place-items:center;width:20px;height:20px;border-radius:999px;background:#1bd589;color:#052015;font-size:10px;font-weight:950;box-shadow:0 0 16px rgba(27,213,137,.35)}
@media(max-width:760px){body.game-mode .pregame-screen{height:100%!important;display:block!important}.pregame-screen .casino-stage{height:100%!important;min-height:0!important}.pregame-center{top:54%;width:min(330px,56%);padding:8px 10px;gap:4px;border-radius:11px}.pregame-center h2{font-size:12px}.pregame-center p{font-size:6px;line-height:1.3}.pregame-ready-count b{font-size:15px}.pregame-ready-count span{font-size:6px}.pregame-start-btn{min-width:145px;min-height:38px;padding:8px 12px!important;font-size:7px!important}.pregame-secondary-actions .btn{padding:5px 8px!important;font-size:5.5px!important}.pregame-table .felt-brand{top:25%}.seat-ready-dot{width:16px;height:16px;font-size:8px}}
@media(max-width:480px){.pregame-center{width:min(300px,52%);padding:6px 8px}.pregame-center p{max-width:220px}.pregame-start-btn{min-width:126px}.pregame-secondary-actions{gap:3px}}

/* v4.32.13 · notificações Push de pedidos de fichas */
.notification-bell{position:relative;width:39px;height:39px;border:1px solid #245542;border-radius:50%;display:grid;place-items:center;background:#0a1a14;color:#dff9ee;cursor:pointer;font-size:16px;box-shadow:inset 0 0 20px rgba(20,239,145,.025);transition:.15s}
.notification-bell:hover{background:#0e251c;border-color:#2d7557;transform:translateY(-1px)}
.notification-bell.has-alert{border-color:#d8a63b;box-shadow:0 0 0 3px rgba(216,166,59,.08),inset 0 0 18px rgba(216,166,59,.08)}
.notification-badge{position:absolute;right:-5px;top:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:#e54d4d;color:#fff;font-size:9px;font-weight:950;line-height:1;border:2px solid #03100c;box-sizing:border-box}
.push-notification-panel{margin-top:18px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px}
.push-notification-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:linear-gradient(145deg,#102b20,#081812);border:1px solid #245542}
.push-notification-copy h3{display:flex;align-items:center;gap:8px;margin:4px 0 5px}
.push-notification-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.push-status-dot{width:8px;height:8px;border-radius:50%;background:#53635d;box-shadow:0 0 0 3px rgba(83,99,93,.12)}
.push-status-dot.active{background:var(--green);box-shadow:0 0 0 3px rgba(20,239,145,.12),0 0 14px rgba(20,239,145,.35)}
@media(max-width:700px){
  .notification-bell{width:32px;height:32px;font-size:13px}.notification-badge{right:-5px;top:-5px;min-width:17px;height:17px;font-size:8px}
  .push-notification-panel{grid-template-columns:auto 1fr;gap:11px}.push-notification-icon{width:42px;height:42px;border-radius:13px;font-size:20px}.push-notification-panel>.btn{grid-column:1/-1;width:100%}.push-notification-copy p{font-size:10px}
}


/* v4.32.14 · lembrete integrado na marca RAMMI */
body.game-mode .felt-brand .brand-sequence-note{
  display:block!important;margin-top:7px;padding:4px 9px;border-radius:999px;
  color:rgba(236,246,241,.72)!important;background:rgba(3,20,14,.34);
  border:1px solid rgba(226,184,79,.18);font-size:6.5px!important;line-height:1.15;
  letter-spacing:.055em!important;font-weight:850;white-space:nowrap;text-shadow:0 2px 10px rgba(0,0,0,.45)
}
@media(max-width:760px){
  body.game-mode .felt-brand .brand-sequence-note{margin-top:4px;padding:3px 6px;font-size:5.5px!important;letter-spacing:.03em!important}
}
@media(max-width:420px){
  body.mobile-phone.game-mode .felt-brand .brand-sequence-note{display:block!important;font-size:5px!important;padding:2px 5px;max-width:158px;white-space:normal;text-align:center}
}


/* =========================================================
   v4.32.18 · sequência crescente/decrescente + APRESENTA/MOSTRAR robustos
   ========================================================= */
/* O botão de ação vive numa camada irmã da mesa. Assim cartas, perfis, feltro e
   outros elementos internos nunca podem tapar parte da área clicável. */
body.game-mode .game-action-layer{
  position:absolute!important;inset:0!important;z-index:5000!important;
  pointer-events:none!important;overflow:visible!important
}
body.game-mode .game-action-layer .presenta-top-btn{
  pointer-events:auto!important;touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;user-select:none!important;
  -webkit-user-select:none!important;z-index:5001!important
}
/* A zona de toque é ligeiramente maior do que o desenho do botão, sem alterar o layout. */
body.game-mode .game-action-layer .presenta-top-btn::before{
  content:"";position:absolute;inset:-10px -12px;border-radius:18px;
  background:transparent;pointer-events:none
}
body.game-mode .game-action-layer .presenta-top-btn>*{pointer-events:none!important}
@media (pointer:coarse){
  body.game-mode .game-action-layer .presenta-top-btn{
    min-width:148px!important;height:52px!important;min-height:52px!important;
    padding:0 18px!important;border-radius:15px!important
  }
  body.game-mode .game-action-layer .presenta-top-btn::before{inset:-12px -14px}
}
@media (pointer:coarse) and (max-width:760px){
  body.mobile-phone.game-mode .game-action-layer .presenta-top-btn{
    right:max(12px,env(safe-area-inset-right))!important;left:auto!important;
    top:auto!important;bottom:14px!important;
    min-width:148px!important;width:148px!important;height:52px!important;min-height:52px!important;
    padding:0 18px!important;font-size:10px!important;border-radius:15px!important;
    display:flex!important;visibility:visible!important
  }
}


/* v4.32.18 · toque nativo e estável nos botões de ação */
body.game-mode .game-action-layer .presenta-top-btn{
  cursor:pointer!important;box-sizing:border-box!important
}
body.game-mode .game-action-layer .presenta-top-btn:disabled{cursor:not-allowed!important}
@keyframes rammiToastPulse{0%{transform:translateY(0) scale(1)}45%{transform:translateY(0) scale(1.012)}100%{transform:translateY(0) scale(1)}}
.toast.toast-pulse{animation:rammiToastPulse .18s ease-out}

/* =========================================================
   v4.32.19 · perfis laterais alinhados
   ========================================================= */
body.game-mode .player-seat.west,
body.game-mode .player-seat.east,
body.game-mode .players-3 .player-seat.west,
body.game-mode .players-3 .player-seat.east,
body.game-mode .players-4 .player-seat.west,
body.game-mode .players-4 .player-seat.east{
  top:50%!important;
}

/* =========================================================
   v4.32.22 — resultado final em overlay durante 60 segundos
   ========================================================= */
body.game-mode.game-finished{overflow:hidden!important}
body.game-mode.game-finished #appView,
body.game-mode.game-finished .main-area,
body.game-mode.game-finished .page{overflow:hidden!important}
body.game-mode.game-finished .game-screen.finished-mode{
  position:relative!important;display:block!important;width:100%!important;height:100%!important;
  min-height:0!important;max-height:100%!important;overflow:hidden!important;gap:0!important
}
body.game-mode.game-finished .game-screen.finished-mode .casino-stage{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  min-height:0!important;max-height:none!important;margin:0!important
}
body.game-mode.game-finished .game-result-panel{
  position:absolute!important;inset:7px!important;z-index:700!important;
  width:auto!important;height:calc(100% - 14px)!important;max-height:none!important;margin:0!important;
  padding:14px!important;overflow:hidden!important;display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  background:linear-gradient(180deg,rgba(3,17,12,.985),rgba(1,8,5,.992))!important;
  border-color:rgba(69,139,106,.7)!important;backdrop-filter:blur(8px)!important
}
body.game-mode.game-finished .game-result-panel.clean-win{border-color:rgba(181,145,50,.82)!important}
body.game-mode.game-finished .result-head{min-height:0!important;padding-bottom:8px!important}
body.game-mode.game-finished .revealed-grid{
  min-height:0!important;height:100%!important;margin-top:8px!important;overflow:hidden!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:minmax(0,1fr)!important;gap:7px!important
}
body.game-mode.game-finished .revealed-player{
  min-width:0!important;min-height:0!important;padding:8px!important;overflow:hidden!important;
  display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;align-content:start!important
}
body.game-mode.game-finished .revealed-title{min-height:0!important}
body.game-mode.game-finished .revealed-hand{
  min-width:0!important;min-height:0!important;margin-top:5px!important;overflow:hidden!important;
  display:flex!important;flex-wrap:nowrap!important;gap:2px!important;align-items:center!important
}
body.game-mode.game-finished .reveal-card{flex:0 0 26px!important;width:26px!important;height:37px!important;font-size:7px!important}
body.game-mode.game-finished .reveal-card i{font-size:11px!important}
body.game-mode.game-finished .result-hold{margin-top:6px!important;padding-top:6px!important;gap:4px!important}
body.game-mode.game-finished .result-hold .result-next-btn{min-width:150px!important;padding:7px 14px!important}

/* Telefone/tablet em horizontal: o overlay inteiro cabe no viewport, sem scroll. */
@media (pointer:coarse), (max-height:620px){
  body.game-mode.game-finished{height:var(--app-vh,100dvh)!important;min-height:0!important;max-height:var(--app-vh,100dvh)!important;overflow:hidden!important}
  body.game-mode.game-finished #appView,
  body.game-mode.game-finished .main-area{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important}
  body.game-mode.game-finished .page{height:calc(var(--app-vh,100dvh) - var(--game-topbar-h,52px))!important;min-height:0!important;max-height:calc(var(--app-vh,100dvh) - var(--game-topbar-h,52px))!important;overflow:hidden!important}
  body.game-mode.game-finished .game-result-panel{inset:3px!important;height:calc(100% - 6px)!important;padding:7px!important;border-radius:12px!important}
  body.game-mode.game-finished .result-head{gap:8px!important;padding-bottom:4px!important}
  body.game-mode.game-finished .result-head h2{font-size:12px!important;line-height:1.05!important;margin:1px 0!important}
  body.game-mode.game-finished .result-head p{font-size:6px!important;line-height:1.15!important}
  body.game-mode.game-finished .result-head .eyebrow{font-size:6px!important}
  body.game-mode.game-finished .result-total b{font-size:16px!important;margin:0!important}
  body.game-mode.game-finished .result-total small,
  body.game-mode.game-finished .result-total span{font-size:5px!important}
  body.game-mode.game-finished .revealed-grid{margin-top:4px!important;gap:4px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.game-mode.game-finished .revealed-player{padding:4px!important;border-radius:8px!important}
  body.game-mode.game-finished .revealed-title{gap:4px!important}
  body.game-mode.game-finished .revealed-title .avatar-sm{width:24px!important;height:24px!important;min-width:24px!important;font-size:6px!important}
  body.game-mode.game-finished .revealed-title b{font-size:7px!important;line-height:1!important}
  body.game-mode.game-finished .revealed-title small{font-size:5px!important;line-height:1!important}
  body.game-mode.game-finished .revealed-title strong{font-size:8px!important}
  body.game-mode.game-finished .revealed-hand{margin-top:3px!important;gap:1px!important}
  body.game-mode.game-finished .reveal-card{flex:0 0 19px!important;width:19px!important;height:27px!important;border-radius:3px!important;font-size:5px!important}
  body.game-mode.game-finished .reveal-card i{font-size:8px!important}
  body.game-mode.game-finished .result-hold{margin-top:3px!important;padding-top:3px!important;gap:2px!important}
  body.game-mode.game-finished .result-hold .result-next-btn{min-width:110px!important;padding:5px 10px!important;font-size:7px!important}
  body.game-mode.game-finished .result-hold small,
  body.game-mode.game-finished .result-hold>span{font-size:5px!important}
}

.scope-owner-strip{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;padding:7px 9px;border:1px solid rgba(38,95,72,.55);border-radius:9px;background:rgba(4,21,15,.62)}
.scope-owner-strip small,.scope-owner-label{color:#7e9b8e;font-size:7px;letter-spacing:.08em;text-transform:uppercase}
.scope-owner-strip b{font-size:9px;color:#c9ddd4}
.role.master{color:#8fffd0;border-color:#2a8461;background:#08271c;box-shadow:inset 0 0 12px rgba(20,239,145,.07)}

/* v4.32.22 — ações explícitas no resultado */
body.game-mode.game-finished .result-actions{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}
body.game-mode.game-finished .result-actions .result-leave-btn{min-width:150px;padding:7px 14px}
@media(max-width:760px){
  body.game-mode.game-finished .result-actions{gap:5px}
  body.game-mode.game-finished .result-actions .result-next-btn,
  body.game-mode.game-finished .result-actions .result-leave-btn{min-width:104px!important;padding:5px 9px!important;font-size:7px!important}
}

/* v4.32.27 · conta do jogador: formulário responsivo e botão de avatar */
.avatar-account-link{cursor:pointer;transition:box-shadow .18s,transform .18s}
.avatar-account-link:hover{box-shadow:0 0 0 2px #17d88a;transform:translateY(-1px)}
.account-panel{max-width:590px;margin:0 auto;padding:clamp(18px,3vw,32px)}
.account-heading{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.account-heading h3{font-size:21px;margin:0 0 6px}
.account-heading p{font-size:12px;color:var(--muted);margin:0}
.account-symbol{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;border:1px solid #275b42;background:#123023;color:var(--green);font-size:28px;flex:0 0 auto}
.account-username{padding:10px 14px;background:rgba(20,239,145,.04);border:1px solid #1e4434;border-radius:10px;color:var(--muted);font-size:11px;margin:0 0 18px}
.account-username b{color:var(--text)}
.account-panel .form-grid{gap:15px}
.account-panel .form-grid label:not(.password-visibility){font-size:12px}
.account-panel .form-grid input:not([type=checkbox]){width:100%;min-height:44px}
.password-visibility{display:flex!important;align-items:center;justify-content:flex-start;gap:8px;font-size:12px!important;color:var(--muted);cursor:pointer}
.password-visibility input{width:16px;height:16px;accent-color:var(--green)}
@media(max-width:760px){.account-panel{margin:0;padding:20px 16px}.account-heading h3{font-size:18px}}
.avatar-account-link{border:0}
#topUser:disabled{opacity:1;cursor:default;border:0}

/* v4.32.30 · filtros horários e subtotais por hierarquia */
.report-game-filters{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}
.report-game-filters .btn{grid-column:1/-1;min-height:35px}
.report-game-filters label{min-width:0}
.report-game-filters input,.report-game-filters select{min-width:0}
.report-feedback{min-height:17px;margin:-7px 0 11px;font-size:10px;color:#83a99a}
.report-hierarchy-row td:first-child{min-width:185px}
.report-hierarchy-identity{padding-left:calc(var(--report-depth,0) * 17px)}
.report-hierarchy-root{background:rgba(19,78,55,.10)}
.report-hierarchy-row .identity small{white-space:normal}
@media(max-width:1100px){.report-game-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.report-game-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-game-filters label{font-size:7px}.report-hierarchy-identity{padding-left:calc(var(--report-depth,0) * 10px)}}
@media(max-width:390px){.report-game-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v4.32.33 — Alternância local claro/escuro; o tema escuro original não é alterado. */
#sideNav{min-height:0;overflow-y:auto;scrollbar-width:thin}
.theme-toggle{flex:0 0 auto;display:flex;align-items:center;gap:11px;margin:8px 2px 10px;padding:11px 10px;width:calc(100% - 4px);background:transparent;border:1px solid var(--line);border-radius:12px;color:var(--text);font-size:12px;font-weight:700;text-align:left}
.theme-toggle:hover,.theme-toggle:focus-visible{background:var(--panel3);outline-offset:2px}
.theme-toggle-icon{width:23px;font-size:17px;text-align:center;color:var(--green)}
.theme-toggle-label{flex:1}
.theme-switch{position:relative;width:37px;height:21px;flex-shrink:0;border-radius:99px;background:#1a4835;border:1px solid #34634e;transition:background .2s}
.theme-switch>span{position:absolute;width:15px;height:15px;border-radius:50%;background:#ecf8f1;top:2px;left:2px;transition:transform .2s}
html[data-theme="light"] .theme-switch{background:#0a9967;border-color:#098255}
html[data-theme="light"] .theme-switch>span{transform:translateX(16px)}
html[data-theme="light"]{color-scheme:light;--bg:#f3f8f5;--bg2:#ebf3ee;--panel:#fff;--panel2:#f5faf7;--panel3:#e9f5ed;--line:#cfe1d7;--line2:#a7c8b5;--text:#152f24;--muted:#586e63;--green:#08794d;--green2:#07935c;--gold:#946117;--red:#bd3548;--silver:#52655e;--bronze:#945322;--shadow:0 14px 36px rgba(18,72,47,.08)}
html[data-theme="light"] body{background:linear-gradient(170deg,#f7faf8,#eaf3ed 80%);color:var(--text)}
html[data-theme="light"] .sidebar{background:linear-gradient(180deg,#ffffff,#f0f7f3);border-right-color:var(--line);box-shadow:5px 0 25px rgba(32,78,50,.06)}
html[data-theme="light"] .topbar{background:rgba(255,255,255,.93);border-bottom-color:var(--line)}
html[data-theme="light"] .sidebar .nav-item{color:#496b59}
html[data-theme="light"] .sidebar .nav-icon{color:#507a63}
html[data-theme="light"] .sidebar .nav-item.active{background:linear-gradient(90deg,#d5eee0,#eff9f2);color:#095d39;box-shadow:inset 3px 0 var(--green)}
html[data-theme="light"] .sidebar .nav-item:hover{background:#e6f3e9;color:#095d39}
html[data-theme="light"] .side-footer{border-top-color:var(--line)}
html[data-theme="light"] .ghost-link,html[data-theme="light"] .user-chip small{color:#547061}
html[data-theme="light"] .btn:not(.primary):not(.danger),html[data-theme="light"] .small-btn:not(.danger),html[data-theme="light"] .icon-btn{background:#f1f8f4;color:#1a4c35;border-color:#bcd6c8}
html[data-theme="light"] .btn:not(.primary):not(.danger):hover{background:#e3f1e9}
html[data-theme="light"] .panel,html[data-theme="light"] .kpi,html[data-theme="light"] .mini-room,html[data-theme="light"] .quick-panel,html[data-theme="light"] .admin-room,html[data-theme="light"] .rake-card,html[data-theme="light"] .history-card,html[data-theme="light"] .room-card,html[data-theme="light"] .rules-grid article,html[data-theme="light"] .rule-hero,html[data-theme="light"] .wallet-summary,html[data-theme="light"] .account-card,html[data-theme="light"] .account-panel{background:linear-gradient(160deg,#ffffff,#f4f9f6);border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="light"] .player-hero{background:radial-gradient(circle at 85% 20%,#d1efde,transparent 43%),linear-gradient(130deg,#ffffff,#e9f5ed);border-color:var(--line);box-shadow:var(--shadow)}
html[data-theme="light"] .hero-stats-grid div,html[data-theme="light"] .admin-room-stats div,html[data-theme="light"] .rake-values>div,html[data-theme="light"] .history-detail-kpis>div{background:#edf7f0;border-color:var(--line)}
html[data-theme="light"] .room-buyin,html[data-theme="light"] .rake-example,html[data-theme="light"] .rake-form-note,html[data-theme="light"] .report-filters,html[data-theme="light"] .report-feedback,html[data-theme="light"] .report-hierarchy-root,html[data-theme="light"] .wallet-chip{background:#edf7f0;border-color:var(--line);color:var(--text)}
html[data-theme="light"] .room-buyin b,html[data-theme="light"] .rake-example b,html[data-theme="light"] .rake-values b,html[data-theme="light"] .wallet-chip b{color:#145b3a}
html[data-theme="light"] .modal{background:rgba(28,54,43,.42)}
html[data-theme="light"] .modal-card{background:linear-gradient(160deg,#ffffff,#f3f8f4);border-color:#b8d8c5;box-shadow:0 25px 75px rgba(25,65,43,.18)}
html[data-theme="light"] .form-grid label,html[data-theme="light"] .report-filters label,html[data-theme="light"] .login-card label{color:#486b55}
html[data-theme="light"] input,html[data-theme="light"] select,html[data-theme="light"] textarea,html[data-theme="light"] .form-grid input,html[data-theme="light"] .form-grid select,html[data-theme="light"] .report-filters input,html[data-theme="light"] .report-filters select,html[data-theme="light"] .login-card input{background:#ffffff;color:#173f2b;border-color:#b8d5c4;color-scheme:light}
html[data-theme="light"] input::placeholder,html[data-theme="light"] textarea::placeholder{color:#799486}
html[data-theme="light"] .search-box,html[data-theme="light"] .filter-chip,html[data-theme="light"] .role,html[data-theme="light"] .quick-values button,html[data-theme="light"] .admin-rake-strip span,html[data-theme="light"] .kpi-icon{background:#eaf5ed;color:#20513a;border-color:var(--line)}
html[data-theme="light"] .search-box input{background:transparent;color:var(--text)}
html[data-theme="light"] .data-table td{color:#254739;border-bottom-color:#d8e6de}
html[data-theme="light"] .data-table th,html[data-theme="light"] .data-table td small{color:#507561;border-bottom-color:#d7e7dd}
html[data-theme="light"] .ranking-list>div{border-color:var(--line)}
html[data-theme="light"] .ranking-list>div>span{background:#dbf0e3}
html[data-theme="light"] .bottom-nav{background:rgba(255,255,255,.96);border-top-color:var(--line)}
html[data-theme="light"] .bottom-nav .nav-item{color:#476d58}
html[data-theme="light"] .bottom-nav .nav-item.active{color:var(--green)}
html[data-theme="light"] .login-shell{background:#edf6ef}
html[data-theme="light"] .login-art{background:linear-gradient(120deg,#e8f7ed,#d4f0df)}
html[data-theme="light"] .login-card{background:#ffffff;border-color:var(--line)}
html[data-theme="light"] .login-art .hero-copy p,html[data-theme="light"] .login-card>p,html[data-theme="light"] .rule-hero p,html[data-theme="light"] .rules-grid p,html[data-theme="light"] .history-card p{color:#527360}
html[data-theme="light"] .login-card .demo-box{background:#edf7f0;border-color:var(--line);color:var(--text)}
html[data-theme="light"] .room-meta span,html[data-theme="light"] .room-card>small,html[data-theme="light"] .rake-values small,html[data-theme="light"] .admin-room-stats small,html[data-theme="light"] .kpi small,html[data-theme="light"] .hero-stats-grid span,html[data-theme="light"] .room-stake span,html[data-theme="light"] .activity-item small,html[data-theme="light"] .activity-item time{color:#547260}
html[data-theme="light"] .rules-grid b{color:#24593b}
html[data-theme="light"] .notification-bell{background:#eaf5ed;color:#245a3f;border-color:var(--line)}
html[data-theme="light"] .toast{background:#ffffff;color:#144630;border-color:var(--line);box-shadow:var(--shadow)}
/* A mesa mantém o feltro verde e as cartas contrastantes, independentemente do tema. */
html[data-theme="light"] body.game-mode .casino-stage,html[data-theme="light"] body.game-mode .rammi-table,html[data-theme="light"] body.game-mode .player-seat,html[data-theme="light"] body.game-mode .game-actions,html[data-theme="light"] body.game-mode .hand-dock{color:#f4fbf7}
html[data-theme="light"] body.game-mode .casino-stage{background:linear-gradient(180deg,#153c2b,#092017)}
html[data-theme="light"] body.game-mode .game-turn-chip,html[data-theme="light"] body.game-mode .game-back{background:#eef6f1;color:#17442e;border-color:var(--line)}
html[data-theme="light"] body.game-mode .game-turn-chip b{color:#17442e}
html[data-theme="light"] body.game-mode .game-turn-chip small{color:#557363}
html[data-theme="light"] body.game-mode .playing-card{color:#111715}
html[data-theme="light"] body.game-mode .playing-card.red-suit{color:#da3147}
@media(max-width:760px){.theme-toggle{margin:6px 2px;padding:9px 10px}}

/* v4.32.35 — CORREÇÕES EXCLUSIVAS DO MODO CLARO.
   Todos os seletores são condicionados por data-theme="light"; não alterar o dark. */
html[data-theme="light"] .room-meta span{
  background:#f4f9f6;border-color:#aecbbb;color:#365d49;
}
html[data-theme="light"] .room-meta b{color:#143c2a;font-weight:900}
html[data-theme="light"] .room-meta .muted{color:#3a604a}
html[data-theme="light"] .live-pill,
html[data-theme="light"] .status-live{color:#087a4c}
html[data-theme="light"] .status-off{color:#b52541}
html[data-theme="light"] .room-buyin{color:#365e4a}
html[data-theme="light"] .room-buyin b{color:#085d39}
html[data-theme="light"] .room-card h3,
html[data-theme="light"] .room-stake,
html[data-theme="light"] .hero-stats-grid b{color:#153a29}
html[data-theme="light"] .player-intro p{color:#456b55}
html[data-theme="light"] .responsible-banner{background:#eaf6ee;border-color:#bed7c7;color:#193e2a}
html[data-theme="light"] .responsible-banner p{color:#466854}
html[data-theme="light"] .responsible-banner>span,
html[data-theme="light"] .responsible-banner a{color:#087a4c}
html[data-theme="light"] .hero-card-fan{opacity:.38}
html[data-theme="light"] .panel-title a,
html[data-theme="light"] .activity-item a,
html[data-theme="light"] .responsible-banner a{color:#126446}
html[data-theme="light"] .mini-user{border-bottom-color:#d7e7dc}
html[data-theme="light"] .mini-user strong,
html[data-theme="light"] .mini-user b,
html[data-theme="light"] .activity-item b{color:#163f2a}
html[data-theme="light"] .mini-user small,
html[data-theme="light"] .quick-panel p,
html[data-theme="light"] .activity-item p{color:#466b56}
html[data-theme="light"] .activity-item{border-bottom-color:#d6e5dc}
html[data-theme="light"] .quick-panel .quick-symbol{color:rgba(5,126,75,.13)}
html[data-theme="light"] .rake-card small,
html[data-theme="light"] .rake-card p,
html[data-theme="light"] .rake-example small,
html[data-theme="light"] .admin-room-head small,
html[data-theme="light"] .history-card small,
html[data-theme="light"] .history-card time{color:#4d715c}
html[data-theme="light"] .admin-room-head h3,
html[data-theme="light"] .admin-room-stats b,
html[data-theme="light"] .rake-values b{color:#173e2b}
html[data-theme="light"] .role.master,
html[data-theme="light"] .role.superadmin,
html[data-theme="light"] .role.admin,
html[data-theme="light"] .role.agent,
html[data-theme="light"] .role.player{background:#e8f4ec;color:#24583d;border-color:#b5d4c1}
html[data-theme="light"] .role.admin{color:#825217;border-color:#d9c493;background:#fff8e9}
html[data-theme="light"] .role.agent{color:#20598b;border-color:#bad4ed;background:#eff6fe}
html[data-theme="light"] .data-table td,
html[data-theme="light"] .data-table .identity b{color:#1d4632}
html[data-theme="light"] .data-table tr:hover td{background:#eaf5ee}
html[data-theme="light"] .data-table td .muted,
html[data-theme="light"] .data-table .identity small{color:#517562}
html[data-theme="light"] .report-hierarchy-root{background:#e8f4ec}
html[data-theme="light"] .report-hierarchy-row td{border-bottom-color:#cfe4d7}
html[data-theme="light"] .modal-close{color:#315d45}
html[data-theme="light"] .form-grid p,
html[data-theme="light"] .account-panel p,
html[data-theme="light"] .report-filters small{color:#456b55}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder,
html[data-theme="light"] .search-box input::placeholder{color:#607d6c;opacity:1}
html[data-theme="light"] input:focus-visible,
html[data-theme="light"] select:focus-visible,
html[data-theme="light"] textarea:focus-visible,
html[data-theme="light"] button:focus-visible{outline:2px solid #087a4c;outline-offset:2px}
html[data-theme="light"] .btn.danger,
html[data-theme="light"] .small-btn.danger{background:#fff0f1;border-color:#dba2ab;color:#9f1d35}
html[data-theme="light"] .btn.danger:hover,
html[data-theme="light"] .small-btn.danger:hover{background:#ffe2e7;color:#8d1830}
html[data-theme="light"] .btn:disabled,
html[data-theme="light"] .small-btn:disabled{opacity:.65}
html[data-theme="light"] .status-live,
html[data-theme="light"] .green{color:#067443!important}
html[data-theme="light"] .red{color:#b32943!important}
html[data-theme="light"] .wallet-chip,
html[data-theme="light"] .wallet-chip b{color:#1d4a32}
html[data-theme="light"] .sidebar .nav-item.active .nav-icon{color:#087a4c}
html[data-theme="light"] .bottom-nav .nav-icon{color:inherit}
html[data-theme="light"] .notification-badge{color:#fff}
html[data-theme="light"] .login-card .pill{background:#e6f4eb;color:#136740;border-color:#b6dac3}
html[data-theme="light"] .login-card .demo-box b,
html[data-theme="light"] .login-card .demo-box strong{color:#174d30}
html[data-theme="light"] .hero-stats{color:#456e58}
html[data-theme="light"] .hero-stats b{color:#153d28}
html[data-theme="light"] .hero-copy h1{color:#183e29}
html[data-theme="light"] .hero-copy h1 em{-webkit-text-stroke:1px #137947}
/* O feltro, as cartas e os avisos dentro da mesa mantêm a sua paleta própria. */

.master-delete-panel{margin-top:18px}
.master-delete-panel .panel-title p{font-size:11px;line-height:1.6;color:var(--muted);max-width:760px;margin:6px 0}
.master-delete-panel .search-box{margin-bottom:12px}

/* =========================================================
   v4.32.39 — referências Master + apresenta mais legível + cabeçalho light do jogo
   ========================================================= */

/* Ecrã de fim de mão / apresenta: aumentar legibilidade sem alterar o layout dark base. */
.result-head h2{font-size:22px}
.result-head p{font-size:11px;line-height:1.35}
.result-total b{font-size:26px}
.revealed-title{gap:10px}
.revealed-title b{font-size:12px;line-height:1.15}
.revealed-title small{font-size:8px;line-height:1.2;color:#8aa598}
.revealed-title strong{font-size:14px}
.revealed-hand{gap:5px}
.reveal-card{width:34px;height:48px;font-size:10px}
.reveal-card i{font-size:15px}
.reveal-card small{font-size:6px}

/* Overlay final do jogo: aumentar cartas e cabeçalhos sem provocar scroll. */
body.game-mode.game-finished .result-head{padding-bottom:10px!important}
body.game-mode.game-finished .revealed-title{gap:6px!important}
body.game-mode.game-finished .revealed-title .avatar-sm{width:30px!important;height:30px!important;min-width:30px!important;font-size:9px!important}
body.game-mode.game-finished .revealed-title b{font-size:11px!important;line-height:1.12!important}
body.game-mode.game-finished .revealed-title small{font-size:8px!important;line-height:1.18!important}
body.game-mode.game-finished .revealed-title strong{font-size:13px!important}
body.game-mode.game-finished .revealed-hand{margin-top:6px!important;gap:3px!important}
body.game-mode.game-finished .reveal-card{flex:0 0 30px!important;width:30px!important;height:43px!important;font-size:8px!important}
body.game-mode.game-finished .reveal-card i{font-size:13px!important}

/* Telefone / tablet em horizontal: aumentar ligeiramente mantendo a mesa funcional. */
@media (pointer:coarse), (max-height:620px){
  body.game-mode.game-finished .result-head h2{font-size:13px!important;line-height:1.08!important;margin:1px 0!important}
  body.game-mode.game-finished .result-head p{font-size:7px!important;line-height:1.18!important}
  body.game-mode.game-finished .result-head .eyebrow{font-size:6px!important}
  body.game-mode.game-finished .revealed-title .avatar-sm{width:26px!important;height:26px!important;min-width:26px!important;font-size:7px!important}
  body.game-mode.game-finished .revealed-title b{font-size:8px!important;line-height:1.04!important}
  body.game-mode.game-finished .revealed-title small{font-size:6px!important;line-height:1.08!important}
  body.game-mode.game-finished .revealed-title strong{font-size:10px!important}
  body.game-mode.game-finished .revealed-hand{margin-top:4px!important;gap:2px!important}
  body.game-mode.game-finished .reveal-card{flex:0 0 22px!important;width:22px!important;height:31px!important;border-radius:4px!important;font-size:6px!important}
  body.game-mode.game-finished .reveal-card i{font-size:9px!important}
}

/* Modo light: cabeçalho do jogo em verde escuro para manter coerência visual. */
html[data-theme="light"] body.game-mode .topbar{
  background:linear-gradient(180deg,#123926,#0b2017)!important;
  border-bottom-color:#224c38!important;
}
html[data-theme="light"] body.game-mode .topbar-brand b,
html[data-theme="light"] body.game-mode .topbar h2,
html[data-theme="light"] body.game-mode .wallet-chip,
html[data-theme="light"] body.game-mode .wallet-chip b{color:#f3fbf6!important}
html[data-theme="light"] body.game-mode .topbar-brand small,
html[data-theme="light"] body.game-mode .crumb{color:#67d7a2!important}
html[data-theme="light"] body.game-mode .game-back,
html[data-theme="light"] body.game-mode .game-turn-chip{
  background:#102d20!important;
  color:#e8f6ee!important;
  border-color:#28553f!important;
}
html[data-theme="light"] body.game-mode .game-turn-chip b{color:#f3fbf6!important}
html[data-theme="light"] body.game-mode .game-turn-chip small{color:#b5d5c5!important}
html[data-theme="light"] body.game-mode .game-back{border-color:#2c5843!important;color:#edf7f1!important}

/* v4.32.40 — mostrar ações do Master no Dashboard em dispositivos móveis.
   As permissões e os restantes perfis não são alterados. */
@media (max-width:760px){
  .section-head.master-dashboard-head{flex-direction:column;align-items:stretch;gap:12px}
  .section-head.master-dashboard-head .head-actions{
    display:grid!important;grid-template-columns:minmax(0,1fr);width:100%;gap:9px
  }
  .section-head.master-dashboard-head .head-actions .btn{
    display:flex!important;align-items:center;justify-content:center;
    width:100%;min-height:44px;padding:11px 14px;text-align:center
  }
}
