:root{
  --cream:#faf9f5; --ink:#14210A; --green:#0E3A22; --green2:#14512E; --green3:#1c6b3e;
  --lime:#7CB518; --lime2:#86C232; --orange:#F97316; --orange-d:#ea6a0c;
  --blue:#0B3D6B; --blue2:#1E6FB0; --blue3:#2E86D6;
  --line:#E7E9E3; --muted:#6B7A6F; --muted2:#9AA89C; --card:#fff;
  --ok:#2FA968; --warn:#E6A100; --bad:#D8564B;
  --sh:0 6px 24px rgba(20,33,10,.07); --sh2:0 14px 44px rgba(20,33,10,.13);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{font-family:'Plus Jakarta Sans',-apple-system,sans-serif;background:var(--cream);color:var(--ink);min-height:100dvh;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='12' fill='%23C6F23A' stroke='%2386A81E' stroke-width='1.5'/%3E%3Cpath d='M5 8 C12 12 12 18 5 22' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3Cpath d='M25 8 C18 12 18 18 25 22' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") 15 15, auto}
a,button,.chip,.slot,select,[onclick]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Ccircle cx='15' cy='15' r='12' fill='%23FF9F1C' stroke='%23C56A00' stroke-width='1.5'/%3E%3Cpath d='M5 8 C12 12 12 18 5 22' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3Cpath d='M25 8 C18 12 18 18 25 22' fill='none' stroke='%23fff' stroke-width='1.8'/%3E%3C/svg%3E") 15 15, pointer}
::selection{background:var(--orange);color:#fff}
h1,h2,h3{letter-spacing:-.5px}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font-family:inherit;font-size:15px;width:100%;padding:14px 15px;border:1.5px solid var(--line);border-radius:12px;background:#F4F5F1;color:var(--ink);outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--lime2);background:#fff}
label{font-size:13px;font-weight:700;color:var(--ink);display:block;margin:0 0 7px 1px}
.field{margin-bottom:15px}
a{color:var(--green);text-decoration:none}
/* header */
.head{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.head-in{max-width:1040px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 22px}
.brand{display:flex;align-items:center;gap:11px;cursor:pointer}
.brand .logo{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 50% 38%,#16341f,#070d08);display:flex;align-items:center;justify-content:center;border:1.5px solid var(--lime)}
.brand b{font-size:20px;font-weight:800}.brand b span{color:var(--lime)}
nav.top{display:flex;align-items:center;gap:5px;flex-wrap:wrap;justify-content:flex-end}
nav.top a{padding:9px 15px;border-radius:10px;font-size:14.5px;font-weight:700;color:#3a4a3d;cursor:pointer;white-space:nowrap}
nav.top a:hover{background:#F0F3EC}
nav.top a.on{background:#EAF3DD;color:var(--green)}
nav.top a.cta{background:var(--green);color:#fff}
nav.top a.cta:hover{background:var(--green2)}
nav.top a.ghost{border:1.5px solid var(--line)}
/* menu minimalista */
.head-actions{display:flex;align-items:center;gap:10px}

/* ---- Barra do visitante (deslogado) ----
   Desktop: idêntica à referência, tudo numa linha só.
   Celular: vira pilha limpa, alvos de 60px, rótulos em português claro. */
.ojf-menu3{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ojf-menu3 .oj-ask{font-size:12px;color:#8b9a91;white-space:nowrap}
.ojf-menu3 .oj-porta{color:#0E3A22;font-weight:600;font-size:12.5px;cursor:pointer;white-space:nowrap}
.ojf-menu3 .oj-porta-last{margin-right:6px}
.ojf-menu3 .oj-cta{height:48px;border:none;border-radius:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.ojf-menu3 .oj-cta-buscar{padding:0 20px;background:#C8FA3C;color:#0E3A22;font-size:16px;font-weight:700}
.ojf-menu3 .oj-cta-entrar{padding:0 18px;background:#0E3A22;color:#fff;font-size:15px}
.ojf-menu3 .oj-cta-criar{padding:0 18px;background:#fff;color:#0E3A22;border:1.5px solid #0E3A22;font-size:15px}

@media(max-width:760px){
  /* logo em cima, ações abaixo ocupando a largura toda — nada amontoado */
  .head--visitor .head-in{flex-direction:column;align-items:stretch;gap:12px;padding:12px 16px}
  .head--visitor .head-actions{width:100%}
  .ojf-menu3{flex-wrap:wrap;gap:10px;justify-content:stretch}
  /* botão principal ocupa a linha inteira; alvos de 60px pra dedo grande e vista cansada */
  .ojf-menu3 .oj-cta-buscar{order:1;flex:1 1 100%;height:60px;font-size:18px;border-radius:14px}
  .ojf-menu3 .oj-cta-entrar{order:2;flex:1 1 0;height:60px;font-size:16px;border-radius:14px}
  .ojf-menu3 .oj-cta-criar{order:3;flex:1 1 0;height:60px;font-size:16px;border-radius:14px}
  .ojf-menu3 .oj-ask{order:4;flex:1 1 100%;text-align:center;font-size:14px;margin-top:2px}
  .ojf-menu3 .oj-porta{order:5;flex:1 1 0;min-height:56px;display:flex;align-items:center;justify-content:center;font-size:15px;border:1.5px solid #E4E9F0;border-radius:12px}
  .ojf-menu3 .oj-porta-last{margin-right:0}
}
.icon-btn{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#F0F3EC;position:relative;flex:0 0 auto;transition:background .15s ease}
.icon-btn:hover{background:#E4EBDF}
.icon-btn .dot{position:absolute;top:7px;right:7px;width:9px;height:9px;border-radius:50%;background:var(--orange);border:2px solid #fff}
.menu-btn{background:var(--green);}
.menu-btn:hover{background:var(--green2)}
.menu-btn span{display:block;width:18px;height:2px;background:#fff;border-radius:2px;position:relative}
.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:#fff;border-radius:2px}
.menu-btn span::before{top:-6px}
.menu-btn span::after{top:6px}
.drawer-overlay{position:fixed;inset:0;background:rgba(14,20,10,.45);z-index:98;opacity:0;pointer-events:none;transition:opacity .25s}
.drawer-overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:340px;max-width:86vw;background:#fff;z-index:99;box-shadow:-14px 0 44px rgba(0,0,0,.18);transform:translateX(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column}
.drawer.show{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.drawer-close{width:36px;height:36px;border-radius:50%;background:#F0F3EC;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--muted)}
.drawer-nav{flex:1;overflow-y:auto;padding:12px}
.drawer-nav a{display:flex;align-items:center;gap:13px;padding:13px 14px;border-radius:14px;font-weight:700;font-size:15px;color:var(--ink);transition:background .15s ease,transform .1s ease;margin-bottom:2px}
.drawer-nav a:hover{background:#F4F7F4}
.drawer-nav a:active{transform:scale(.98)}
.drawer-nav a.on{background:#EAF3DD;color:var(--green)}
.drawer-nav a .ic{width:34px;height:34px;flex:0 0 auto;border-radius:10px;background:#F4F7F4;display:flex;align-items:center;justify-content:center;font-size:16px}
.drawer-nav a.on .ic{background:rgba(255,255,255,.6)}
.drawer-nav a .badge{margin-left:auto;background:var(--orange);color:#fff;border-radius:100px;padding:2px 8px;font-size:11px;font-weight:800}
.drawer-sep{height:1px;background:var(--line);margin:10px 6px}
.drawer-foot{padding:16px 22px;border-top:1px solid var(--line)}
.drawer-foot a{display:block;text-align:center;font-weight:800;color:var(--bad);padding:12px;border-radius:12px;transition:background .15s ease}
.drawer-foot a:hover{background:#FBEAE8}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 20px;border-radius:13px;font-weight:800;font-size:15.5px;transition:transform .07s,filter .15s;width:100%}
.btn:active{transform:scale(.98)}
.btn-lime{background:var(--lime2);color:#11250F}.btn-lime:hover{background:var(--lime)}
.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--green2)}
.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:var(--orange-d)}
.btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.btn-sm{padding:10px 15px;font-size:13.5px;border-radius:10px;width:auto}
/* layout */
.wrap{max-width:1040px;margin:0 auto;padding:26px 22px 70px}
.wrap-sm{max-width:760px;margin:0 auto;padding:26px 22px 70px}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:var(--sh)}
.muted{color:var(--muted)}.small{font-size:13px}.center{text-align:center}
.row{display:flex;gap:12px}.row>*{flex:1}
.between{display:flex;align-items:center;justify-content:space-between;gap:12px}
.grid{display:grid;gap:14px}
.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:760px){.grid-3,.grid-4{grid-template-columns:1fr 1fr}.head-in{padding:11px 16px}.brand b{font-size:17px}nav.top a{padding:8px 11px;font-size:13px}}
@media(max-width:520px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.hide-sm{display:none}}
.sep{height:1px;background:var(--line);margin:16px 0}
.chip{display:inline-flex;align-items:center;gap:6px;padding:8px 15px;border-radius:100px;font-size:13.5px;font-weight:700;background:#fff;border:1.5px solid var(--line);color:var(--ink);cursor:pointer}
.chip.on{background:var(--lime2);border-color:var(--lime2);color:#11250F}
.tag{display:inline-flex;align-items:center;padding:4px 11px;border-radius:100px;font-size:11.5px;font-weight:800;letter-spacing:.2px}
.tag.bt{background:#FCEAD9;color:#C2620E}.tag.pd{background:#E4F2D4;color:#4f7a16}.tag.pk{background:#FBE0DC;color:#bb3d33}.tag.tn{background:#DCEBFB;color:#2a6bb0}
.tag.ok{background:rgba(47,169,104,.15);color:#1d7a48}.tag.pend{background:rgba(230,161,0,.17);color:#946a00}.tag.bad{background:rgba(216,86,75,.15);color:#b23b31}.tag.pay{background:#EAF3DD;color:var(--green)}
.avatar{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;color:#11250F;background:var(--lime2);flex:none}
.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px}
.kpi .n{font-weight:800;font-size:30px;line-height:1}
.kpi .l{font-size:12.5px;color:var(--muted);margin-top:6px;font-weight:600}
.empty{text-align:center;color:var(--muted);padding:48px 20px}
.slot{padding:12px;border:1.5px solid var(--line);border-radius:11px;text-align:center;font-weight:700;font-size:14px;cursor:pointer;background:#fff}
.slot.sel{background:var(--green);color:#fff;border-color:var(--green)}
.slot.off{opacity:.35;text-decoration:line-through;cursor:not-allowed}
/* hero */
.hero{background:linear-gradient(120deg,#0c3520,#14512E 55%,#1c6b3e);color:#fff;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-80px;top:-60px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(140,194,50,.5),transparent 65%)}
.hero-in{max-width:1160px;margin:0 auto;padding:46px 22px 96px;position:relative;z-index:1;display:flex;align-items:center;gap:40px}
.hero-txt{flex:1;min-width:280px}
.hero h1{font-size:44px;font-weight:800;line-height:1.04;margin:16px 0 14px;max-width:560px}
.hero p{color:#CDE0CF;font-size:17px;max-width:500px;line-height:1.5}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(140,194,50,.4);padding:8px 15px;border-radius:100px;font-size:13.5px;font-weight:700}
.hero-photo{flex:0 0 auto;width:380px;max-width:38vw;border-radius:22px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.15)}
.hero-photo img{display:block;width:100%;height:460px;object-fit:cover;object-position:top center}
@media(max-width:820px){.hero-in{flex-direction:column;align-items:flex-start;gap:26px}.hero-photo{width:100%;max-width:100%}.hero-photo img{height:260px}}
@media(max-width:600px){.hero h1{font-size:32px}}
.float-card{max-width:1040px;margin:-64px auto 0;padding:0 22px;position:relative;z-index:5}
/* auth */
.auth-bg{background:linear-gradient(160deg,#0c3520,#0a2417);min-height:calc(100dvh - 70px);padding:30px 18px 60px}
.auth-bg.t-arena{background:linear-gradient(160deg,#0B3D6B,#082a4a)}
.auth-bg.t-prof{background:linear-gradient(160deg,#c2560c,#8f3f08)}
.role-card{display:flex;align-items:center;gap:16px;padding:22px;border-radius:20px;color:#fff;text-align:left;width:100%;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 8px 22px rgba(0,0,0,.12)}
.role-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.role-card .ric{font-size:30px;flex:0 0 auto;width:58px;height:58px;border-radius:16px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
.role-card .rit{font-weight:800;font-size:19px}
.role-card .rid{font-size:13.5px;opacity:.85;margin-top:3px;font-weight:500}
.role-jogador{background:linear-gradient(120deg,var(--green),var(--green3));padding:30px}
.role-jogador .rit{font-size:23px}
.role-jogador .ric{width:68px;height:68px;font-size:36px}
.role-arena{background:linear-gradient(120deg,var(--blue),var(--blue3))}
.role-prof{background:linear-gradient(120deg,var(--orange-d),var(--orange))}
.choose-bg{background:linear-gradient(160deg,#0c3520,#0a2417);min-height:calc(100dvh - 70px);padding:50px 18px 60px;position:relative;overflow:hidden}
.choose-bg .sport-deco{position:absolute;inset:0;pointer-events:none;opacity:.10;overflow:hidden}
.choose-bg .sport-deco svg{position:absolute}
.choose-wrap{position:relative;z-index:1;max-width:520px;margin:0 auto}
.auth-card{max-width:420px;margin:18px auto 0;background:#fff;border-radius:22px;padding:30px 26px;box-shadow:var(--sh2)}
.auth-eyebrow{font-size:13px;font-weight:800;letter-spacing:1px;color:var(--lime);text-transform:uppercase}
/* modal */
.modal{position:fixed;inset:0;background:rgba(8,18,11,.55);display:flex;align-items:center;justify-content:center;z-index:80;opacity:0;pointer-events:none;transition:.2s;padding:18px}
.modal.show{opacity:1;pointer-events:auto}
.modal .box{background:#fff;width:100%;max-width:440px;border-radius:20px;padding:24px;max-height:90dvh;overflow-y:auto;transform:translateY(14px);transition:.24s}
.modal.show .box{transform:none}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(18px);background:#14210A;color:#fff;padding:13px 20px;border-radius:12px;font-weight:600;font-size:14px;opacity:0;pointer-events:none;transition:.25s;z-index:99;box-shadow:var(--sh2)}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.modeBadge{position:fixed;top:10px;right:12px;background:var(--lime2);color:#11250F;font-size:10px;font-weight:800;padding:3px 9px;border-radius:7px;z-index:40;letter-spacing:.3px}
.fade{animation:fade .28s ease}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes ojspin{to{transform:rotate(360deg)}}
@keyframes ojbounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.ojload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:60px 20px;color:var(--muted)}
.ojload .rkt{width:54px;height:54px;animation:ojspin 1.1s linear infinite;transform-origin:50% 50%}
.ojload .lbl{font-size:13px;font-weight:700;color:#7CA37F;letter-spacing:.3px}
#ojOverlay{position:fixed;inset:0;background:rgba(247,250,245,.72);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:120;opacity:0;pointer-events:none;transition:opacity .15s}
#ojOverlay.show{opacity:1;pointer-events:auto}
#ojOverlay .ball{width:64px;height:64px;animation:ojspin .85s cubic-bezier(.5,.1,.5,.9) infinite}
.linkbox{background:#F4F5F1;border:1px dashed var(--line);border-radius:11px;padding:11px 13px;font-size:13px;word-break:break-all;font-family:ui-monospace,monospace}

/* Agenda visual */
.ag-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.ag-grid{display:grid;grid-template-columns:56px repeat(7,minmax(92px,1fr));gap:4px;min-width:740px}
.ag-c{border-radius:10px;min-height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:12px;text-align:center}
.ag-h{font-size:11px;color:var(--muted);min-height:34px}
.ag-h b{font-size:12px}
.ag-today b{color:#5E8F14}
.ag-hr{color:var(--muted);font-weight:700;font-size:11px}
.ag-free{background:#EFF8E2;color:#5E8F14;font-weight:800;font-size:16px;cursor:pointer;border:1.5px dashed #C4DE96;transition:.15s}
.ag-free:hover{background:#DFF2C2;transform:scale(1.03)}
.ag-past{background:#F4F5F2}
.ag-busy{background:#0E3A22;color:#fff;cursor:pointer;padding:4px 2px;line-height:1.25}
.ag-busy b{font-size:11.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ag-busy span{font-size:9.5px;opacity:.75}
.ag-busy.pg{background:#2FA968}
/* ===== DASHBOARDS "NA MESA" — o que está escapando agora ===== */
/* ===== FEED DE COMUNIDADE ===== */
.fd-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px 16px;margin-bottom:11px;display:flex;gap:12px}
.fd-av{width:42px;height:42px;border-radius:14px;flex:none;object-fit:cover;background:#EAF3DD;color:var(--green);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:17px}
.fd-body{flex:1;min-width:0}
.fd-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fd-nome{font-weight:800;font-size:14px}
.fd-selo{background:#EAF3DD;color:var(--green);font-size:9.5px;font-weight:800;padding:2px 6px;border-radius:6px;letter-spacing:.3px}
.fd-hora{font-size:11.5px;color:var(--muted);margin-left:auto}
.fd-txt{font-size:13.5px;line-height:1.45;margin-top:3px;color:var(--text)}
.fd-meta{display:inline-flex;align-items:center;gap:5px;background:#F4F7F4;border-radius:8px;padding:3px 9px;font-size:11.5px;color:var(--muted);margin-top:7px;font-weight:600}
.fd-acoes{display:flex;gap:14px;margin-top:9px;align-items:center}
.fd-btn{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:var(--muted);cursor:pointer;font-weight:700;background:none;border:none;padding:0}
.fd-btn.on{color:var(--orange)}
.fd-btn:active{transform:scale(.93)}
.fd-tabs{display:flex;gap:7px;padding:4px;background:#EEF2EE;border-radius:13px;margin-bottom:14px}
.fd-tabs button{flex:1;border:none;background:none;padding:8px;border-radius:10px;font-weight:800;font-size:13px;color:var(--muted);cursor:pointer}
.fd-tabs button.on{background:#fff;color:var(--green);box-shadow:0 2px 6px rgba(0,0,0,.06)}
.mesa-card{background:linear-gradient(155deg,#12231A,#0A1710);color:#fff;border-radius:22px;padding:22px;border:1px solid rgba(200,250,60,.18);position:relative;overflow:hidden}
.mesa-card::after{content:'';position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,rgba(200,250,60,.16),transparent 70%)}
.mesa-tag{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;letter-spacing:.6px;color:var(--lime2);margin-bottom:8px}
.mesa-valor{font-size:42px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--lime2)}
.mesa-valor.alerta{color:#FF8A65}
.mesa-sub{font-size:13px;color:#9FB5A4;margin-top:7px;line-height:1.45}
.mesa-btn{width:100%;margin-top:16px;background:var(--lime2);color:#0E3A22;border:none;font-weight:800;font-size:14.5px;padding:14px;border-radius:14px;cursor:pointer;transition:transform .12s;position:relative;z-index:1}
.mesa-btn:active{transform:scale(.97)}
.mesa-btn.ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.18)}
/* barra de calor por horário */
/* ===== GESTÃO AUTOMÁTICA ===== */
.robo{margin-top:12px;background:#F1F8F3;border:1px solid #C7E7D2;border-radius:14px;padding:13px 15px}
.robo-t{font-size:12px;font-weight:800;color:var(--green);letter-spacing:.2px;margin-bottom:6px}
.robo-i{font-size:12.5px;color:#3D5C48;line-height:1.5;padding-left:14px;position:relative}
.robo-i:before{content:'✓';position:absolute;left:0;color:var(--lime);font-weight:800}
.mini-kpi.tap{cursor:pointer;transition:transform .12s,box-shadow .12s}
.mini-kpi.tap:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(14,58,34,.09)}
.atalhos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.ata{display:flex;flex-direction:column;align-items:flex-start;gap:1px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;cursor:pointer;text-align:left;transition:transform .12s,border-color .12s,box-shadow .12s;font-family:inherit}
.ata:hover{transform:translateY(-2px);border-color:var(--green);box-shadow:0 6px 18px rgba(14,58,34,.1)}
.ata-i{font-size:20px;margin-bottom:5px}
.ata-t{font-size:13.5px;font-weight:800;color:var(--ink);letter-spacing:-.2px}
.ata-s{font-size:11px;color:var(--muted);font-weight:600}
.rg{display:flex;gap:11px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px;cursor:pointer}
.rg input{margin-top:3px;width:18px;height:18px;accent-color:var(--green);flex-shrink:0}
.rg span,.rg-n>span{display:block}
.rg b,.rg-n b{font-size:13.5px;font-weight:800;display:block}
.rg i,.rg-n i{font-size:11.5px;color:var(--muted);font-style:normal;line-height:1.45;display:block;margin-top:2px}
.rg-n{display:flex;gap:11px;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:9px}
.rg-in{display:flex;align-items:center;gap:5px;flex-shrink:0}
.rg-in input{width:58px;padding:9px;border:1px solid var(--line);border-radius:9px;text-align:center;font-weight:800;font-size:14px;font-family:inherit}
.rg-in span{font-size:12px;color:var(--muted);font-weight:700}
@media (max-width:360px){.atalhos{grid-template-columns:1fr}}
/* ===== RATEIO (tela pública) ===== */
.selo{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:20px;letter-spacing:.3px}
.s-abre{background:#FFF3E0;color:#9A3412}
.s-conf{background:#E8F3ED;color:var(--green)}
.s-vaga{background:#FEE2E2;color:#B91C1C}
.olho-rt{font-size:9.5px;font-weight:800;letter-spacing:1px;color:var(--muted)}
.rt-preco{font-family:inherit;font-size:27px;font-weight:800;color:var(--green);letter-spacing:-.8px;line-height:1.15}
.rt-cont{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.5px;line-height:1.4}
.rt-cont b{color:var(--green)}
.rvs{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px;margin-top:14px}
.rv{height:36px;border-radius:8px;background:#EFEDE6;display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:800;color:#B2A98E;letter-spacing:.2px}
.rv.paga{background:var(--green);color:#fff}
.rv.livre{background:#fff;border:2px dashed var(--orange);color:var(--orange);font-size:14px}
.rt-leg{display:flex;justify-content:space-between;margin-top:11px;font-size:11.5px;color:var(--muted)}
.rt-leg b{color:var(--ink)}
.rt-p{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:3px}
.rt-p b{color:var(--ink)}
.aviso-rt{margin-top:14px;background:#FFF3E0;border-left:3px solid var(--orange);border-radius:0 10px 10px 0;
  padding:13px 15px;font-size:12.5px;line-height:1.55;color:#7C4A03}
.pixbox{text-align:center;padding:18px;border:1px solid var(--line);border-radius:14px;margin-top:14px;background:#FCFDFC}
.qrfake{width:118px;height:118px;margin:0 auto 12px;border-radius:8px;opacity:.85;
  background:repeating-linear-gradient(0deg,var(--ink) 0 7px,transparent 7px 14px),
             repeating-linear-gradient(90deg,var(--ink) 0 7px,#fff 7px 14px);
  border:5px solid #fff;box-shadow:0 0 0 1px var(--line)}
.pixv{font-size:26px;font-weight:800;color:var(--green);letter-spacing:-.6px}
.btn-lg{padding:16px;font-size:15.5px}
/* ===== GRADE POR QUADRA ===== */
.gdate{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-family:inherit;font-weight:700;font-size:12.5px}
.gacts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}
.ga{background:#fff;border:1px solid var(--line);border-radius:11px;padding:10px 4px;cursor:pointer;
  font-family:inherit;font-size:10.5px;font-weight:700;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:3px;transition:.12s}
.ga:hover{border-color:var(--green);transform:translateY(-1px)}
.ga b{font-size:17px}
.gtab{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff}
.grow{display:grid;border-top:1px solid var(--line)}
.grow:first-child{border-top:0}
.gh{display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:var(--muted);background:#FAFBFA}
.ghead{background:var(--green);color:#fff}
.gq{padding:8px 3px;text-align:center;border-left:1px solid rgba(255,255,255,.16)}
.gq b{font-size:10.5px;font-weight:800;display:block;line-height:1.2}
.gq i{font-size:8.5px;font-style:normal;color:#9FD3B6;font-weight:700}
.gs{min-height:44px;border-left:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;transition:.12s}
.gs b{font-size:10.5px;font-weight:800;line-height:1.1}
.gs i{font-size:8.5px;font-style:normal;font-weight:700;opacity:.8}
.gs.passou{opacity:.4;cursor:default}
.gs.vago{background:#FFF3E0;color:#9A3412}
.gs.vago:hover{background:#FFE4C4}
.gs.cheia{background:var(--green);color:#fff}
.gs.rateio{background:#0E5A38;color:#C8FA3C}
.gs.npago{background:#FEF3C7;color:#92400E}
.gs.bloq{background:#F1F5F2;color:#8DA093;cursor:default}
.gs.chuva{background:#DBEAFE;color:#1E40AF;cursor:default}
.gfoot{background:#FAFBFA}
.gocp{padding:8px 6px;border-left:1px solid var(--line);text-align:center}
.gbar{height:4px;background:#E6E9E5;border-radius:3px;overflow:hidden}
.gbar i{display:block;height:100%;background:var(--green)}
.gocp span{font-size:9px;font-weight:800;color:var(--muted);display:block;margin-top:3px}
.gleg{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:11px;font-size:10.5px;color:var(--muted);font-weight:600}
.gleg i{width:10px;height:10px;border-radius:3px;display:inline-block;vertical-align:-1px;margin-right:3px}
.l-cheia{background:var(--green)}.l-rateio{background:#0E5A38}.l-npago{background:#FEF3C7;border:1px solid #F0C14B}
.l-vago{background:#FFF3E0;border:1px solid var(--orange)}.l-bloq{background:#F1F5F2;border:1px solid var(--line)}.l-chuva{background:#DBEAFE;border:1px solid #93C5FD}
.chuva-on{background:#DBEAFE;border:1px solid #93C5FD;border-radius:13px;padding:13px 15px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.chuva-on b{font-size:13.5px;color:#1E40AF;display:block}
.chuva-on span{font-size:11.5px;color:#1E40AF;opacity:.85;line-height:1.4;display:block;margin-top:2px}
/* ===== FICHA DA QUADRA ===== */
.qcards{display:flex;flex-direction:column;gap:12px}
.qcard{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:#fff;transition:.15s}
.qcard:hover{border-color:var(--green);box-shadow:0 5px 18px rgba(14,58,34,.08)}
.qcard.off{opacity:.55}
.qfoto{position:relative;height:130px;background:#EFEDE6;cursor:pointer;overflow:hidden}
.qfoto img{width:100%;height:100%;object-fit:cover;display:block}
.qsemfoto{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#B2A98E}
.qsemfoto b{font-size:26px}
.qsemfoto span{font-size:11.5px;font-weight:700}
.qcam{position:absolute;right:9px;bottom:9px;background:rgba(0,0,0,.55);color:#fff;border-radius:8px;
  padding:4px 8px;font-size:12px;backdrop-filter:blur(3px)}
.qbody{padding:13px 14px}
.qnome{font-size:15px;font-weight:800;letter-spacing:-.2px}
.qtags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}
.qt{font-size:9.5px;font-weight:700;padding:3px 8px;border-radius:20px;background:#F1F5F2;color:#5C7466;letter-spacing:.2px}
.qt.falta{background:#FEF3C7;color:#92400E}
.qprecos{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:11px}
.qp{background:#F7FAF8;border:1px solid var(--line);border-radius:9px;padding:7px 5px;text-align:center}
.qp i{display:block;font-size:8px;font-style:normal;font-weight:800;color:var(--muted);letter-spacing:.4px}
.qp b{display:block;font-size:13px;font-weight:800;color:var(--ink);margin-top:2px;letter-spacing:-.3px}
.qp.fds{background:#FFF3E0;border-color:#FBD5A8}
.qp.fds i{color:#9A3412}
.qp.fds b{color:#9A3412}
.qfoto-ed{height:150px;border-radius:13px;overflow:hidden;background:#EFEDE6;cursor:pointer;margin-top:10px}
.qfoto-ed img{width:100%;height:100%;object-fit:cover;display:block}
/* ===== MENSALIDADES / TURMAS / IMPORTAÇÃO ===== */
.mes-card{background:linear-gradient(135deg,#0E3A22,#061a10);color:#fff;border-radius:17px;padding:18px 19px}
.mes-card.alerta{background:linear-gradient(135deg,#7C2D12,#431407)}
.mes-tag{font-size:10px;font-weight:800;letter-spacing:1px;color:#9FD3B6}
.mes-card.alerta .mes-tag{color:#FDBA74}
.mes-valor{font-size:33px;font-weight:800;letter-spacing:-1px;line-height:1.15;margin-top:5px;color:#C8FA3C}
.mes-card.alerta .mes-valor{color:#FDBA74}
.mes-sub{font-size:12.5px;color:#B7C9BC;line-height:1.5;margin-top:5px}
.mes-card.alerta .mes-sub{color:#FCD9BD}
.mes-btn{width:100%;margin-top:13px;border:0;border-radius:11px;padding:13px;font-family:inherit;
  font-weight:800;font-size:14px;cursor:pointer;background:#C8FA3C;color:#12301D}
.mes-card.alerta .mes-btn{background:#FDBA74;color:#431407}
.mbar{height:6px;background:rgba(255,255,255,.16);border-radius:4px;overflow:hidden}
.card .mbar{background:#E6E9E5}
.mbar i{display:block;height:100%;background:var(--lime);border-radius:4px;transition:width .5s}
.mnums{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:11px}
.mnums>div{text-align:center}
.mnums i{display:block;font-size:8.5px;font-style:normal;font-weight:800;color:var(--muted);letter-spacing:.5px}
.mnums b{display:block;font-size:15px;font-weight:800;margin-top:2px;letter-spacing:-.4px}
.dev{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 12px;
  border:1px solid var(--line);border-radius:11px;margin-bottom:7px;cursor:pointer;transition:.12s}
.dev:hover{border-color:var(--green);transform:translateX(2px)}
.dev.atr{background:#FFF7ED;border-color:#FBD5A8}
.dev .tx b{font-size:13.5px;font-weight:800;display:block}
.dev .tx span{font-size:11px;color:var(--muted);display:block;margin-top:1px}
.devv{font-size:14px;font-weight:800;color:var(--ink);white-space:nowrap}
.tcard{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fff;transition:.12s}
.tcard:hover{border-color:var(--green);box-shadow:0 5px 16px rgba(14,58,34,.07)}
.tnome{font-size:15px;font-weight:800;letter-spacing:-.2px}
.tnums{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-top:11px}
.tnums>div{background:#F7FAF8;border:1px solid var(--line);border-radius:9px;padding:7px 4px;text-align:center}
.tnums i{display:block;font-size:8px;font-style:normal;font-weight:800;color:var(--muted);letter-spacing:.4px}
.tnums b{display:block;font-size:13px;font-weight:800;margin-top:2px;letter-spacing:-.3px}
.imp-abas{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.imp-aba{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;font-family:inherit;
  font-weight:800;font-size:13px;color:var(--muted);cursor:pointer;transition:.12s}
.imp-aba.on{background:var(--green);border-color:var(--green);color:#fff}
.busca-wrap{margin-bottom:13px}
.busca{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:12px;font-family:inherit;
  font-size:13.5px;background:#fff;transition:.12s}
.busca:focus{outline:0;border-color:var(--green);box-shadow:0 0 0 3px rgba(26,95,61,.08)}
.bres{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;
  background:#fff;border:1px solid var(--line);border-top:0;font-size:13px}
.bres:first-child{border-top:1px solid var(--line);border-radius:11px 11px 0 0;margin-top:6px}
.bres:last-child{border-radius:0 0 11px 11px}
.bres .tx b{font-size:13px;font-weight:800;display:block}
.bres .tx span{font-size:11px;color:var(--muted);display:block}
.pixcc{background:#F4F7F4;border:1px solid var(--line);border-radius:10px;padding:11px;margin-top:10px;
  font-family:ui-monospace,monospace;font-size:10px;word-break:break-all;line-height:1.5;color:#4A5A4E;max-height:64px;overflow:hidden}
.pixwait{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;padding:11px;
  background:#FFF3E0;border-radius:10px;font-size:12.5px;font-weight:600;color:#9A3412}
.spin{width:13px;height:13px;border:2px solid #FBD5A8;border-top-color:#EA580C;border-radius:50%;
  display:inline-block;animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.hgrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:6px;margin-top:11px}
.hslot{border-radius:11px;padding:9px 3px;text-align:center;border:1.5px solid transparent;transition:transform .12s,box-shadow .12s;user-select:none}
.hslot .hh{font-size:13.5px;font-weight:800;letter-spacing:-.3px;line-height:1}
.hslot .hs{font-size:9px;font-weight:700;margin-top:4px;letter-spacing:.1px;opacity:.9}
/* VAGO grita: é o dinheiro escapando. CHEIO sussurra: não precisa de ação. */
.hslot.vago{background:#FFF3E0;border-color:var(--orange);color:#9A3412;cursor:pointer;box-shadow:0 2px 10px rgba(249,115,22,.2)}
.hslot.vago:hover,.hslot.vago:focus-visible{transform:translateY(-2px);box-shadow:0 5px 16px rgba(249,115,22,.3)}
.hslot.parcial{background:#F4FBE8;border-color:var(--lime);color:#3F6212;cursor:pointer}
.hslot.parcial:hover,.hslot.parcial:focus-visible{transform:translateY(-2px)}
.hslot.cheio{background:#F1F5F2;border-color:var(--line);color:#8DA093}
.hslot.bloqueado{background:#FFF1F0;border-color:#FCA5A5;color:#B91C1C}
.hslot.fechado{background:transparent;border-color:var(--line);color:#C7CEC8}
.hslot.passou{opacity:.35;cursor:default;box-shadow:none}
.hslot.passou:hover{transform:none;box-shadow:none}
.calor-leg i{width:11px;height:11px;border-radius:3px;display:inline-block;vertical-align:-1px;margin-right:4px}
@media (prefers-reduced-motion:reduce){.hslot{transition:none}.hslot:hover{transform:none}}




.calor-leg{display:flex;gap:12px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin-top:8px}
.calor-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px;vertical-align:-1px}
/* mini kpis */
.mini-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.mini-kpi{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px 11px}
.mini-kpi .mk-l{font-size:10.5px;color:var(--muted);font-weight:700;letter-spacing:.3px}
.mini-kpi .mk-v{font-size:19px;font-weight:800;margin-top:3px;line-height:1.1}
.mini-kpi .mk-x{font-size:10.5px;color:var(--muted);margin-top:1px}
@media(max-width:480px){.mesa-valor{font-size:36px}.mini-kpis{grid-template-columns:1fr 1fr}}
.ag-parcial{background:#FFF4E0;color:#B26A00;cursor:pointer;font-weight:800}
/* ===== Agenda: visão mensal ===== */
.mes-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.mes-cab{text-align:center;font-size:11px;font-weight:800;color:var(--muted);padding:4px 0;letter-spacing:.5px}
.mes-cel{background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px 6px;min-height:64px;cursor:pointer;transition:transform .12s,box-shadow .12s;display:flex;flex-direction:column;gap:4px}
.mes-cel:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.09)}
.mes-cel.vazio{background:transparent;border:none;cursor:default;min-height:0}
.mes-cel.vazio:hover{transform:none;box-shadow:none}
.mes-cel.hoje{border:2px solid var(--green);background:#F6FBF2}
.mes-num{font-size:13px;font-weight:800;color:var(--ink)}
.mes-bar{height:5px;border-radius:3px;width:100%}
.mes-info{font-size:10.5px;color:var(--muted);line-height:1.2}
.mes-info b{color:var(--ink);font-size:12px}
.mes-info.livre{color:#B9C4BB}
@media(max-width:560px){.mes-cel{min-height:54px;padding:6px 4px}.mes-info{font-size:9.5px}}
.ag-parcial b{font-size:13px}
.ag-parcial span{font-size:9.5px;opacity:.8}
/* ===== PAINEL DO JOGADOR (progressivo) ===== */
.jhero{background:linear-gradient(135deg,#0E3A22,#061a10);color:#fff;border-radius:18px;padding:24px 22px;text-align:center}
.jhero-tag{font-size:10px;font-weight:800;letter-spacing:1.2px;color:#9FD3B6}
.jhero-t{font-size:25px;font-weight:800;letter-spacing:-.7px;line-height:1.2;margin-top:9px;color:#fff}
.jhero-s{font-size:13.5px;color:#B7C9BC;line-height:1.55;margin-top:9px}
.jhero-s b{color:#C8FA3C}
.jhero-btn{width:100%;margin-top:18px;border:0;border-radius:13px;padding:16px;font-family:inherit;
  font-weight:800;font-size:15.5px;cursor:pointer;background:#C8FA3C;color:#12301D;transition:.14s}
.jhero-btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(200,250,60,.28)}
.jcomo{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:14px}
.jc{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:center}
.jc b{display:block;font-size:17px;font-weight:800;color:var(--green)}
.jc span{display:block;font-size:10.5px;color:var(--muted);font-weight:600;line-height:1.35;margin-top:4px}
.jsoon{margin-top:12px;background:#F7FAF8;border:1px dashed var(--line);border-radius:13px;
  padding:13px 15px;font-size:12.5px;color:var(--muted);line-height:1.55}
.jsoon b{color:var(--ink)}
.jcards{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.jcard{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;transition:.14s}
.jcard.tap{cursor:pointer}
.jcard.tap:hover{border-color:var(--green);transform:translateY(-2px);box-shadow:0 6px 18px rgba(14,58,34,.09)}
.jc-l{font-size:9px;font-weight:800;letter-spacing:.7px;color:var(--muted)}
.jc-v{font-size:20px;font-weight:800;letter-spacing:-.5px;margin-top:4px;line-height:1.2}
.jc-x{font-size:10.5px;color:var(--muted);font-weight:600;margin-top:3px}
@media (max-width:360px){.jcards{grid-template-columns:1fr}}


/* ===== P&L POR QUADRA ===== */
.pnl-alerta{background:linear-gradient(135deg,#0E3A22,#061a10);color:#fff;border-radius:16px;padding:17px 19px;margin-bottom:14px}
.pnl-a-t{font-size:14.5px;font-weight:800;line-height:1.35}
.pnl-alerta p{font-size:12.5px;color:#B7C9BC;line-height:1.55;margin-top:7px}
.pnl-alerta b{color:#fff}
.pnl-a-s{font-size:11.5px;color:#8FA895}
.pnl-head{display:grid;grid-template-columns:36px 1fr 88px 56px;gap:8px;padding:0 12px 6px;
  font-size:8.5px;font-weight:800;letter-spacing:.6px;color:var(--muted)}
.pnl-head span:nth-child(2){grid-column:2}
.pnl-head span:nth-child(3){text-align:right}
.pnl-head span:nth-child(4){text-align:right}
.pnl{border:1px solid var(--line);border-radius:14px;background:#fff;padding:13px;margin-bottom:10px;transition:.14s}
.pnl:hover{border-color:var(--green);box-shadow:0 5px 16px rgba(14,58,34,.07)}
.pnl.off{opacity:.5}
.pnl-top{display:grid;grid-template-columns:36px 1fr 88px 56px;gap:8px;align-items:center;cursor:pointer}
.pnl-pos{font-size:11px;font-weight:800;color:var(--muted);text-align:center}
.pnl-pos.top{color:var(--green)}
.pnl-id b{display:block;font-size:14px;font-weight:800;letter-spacing:-.2px}
.pnl-id span{display:block;font-size:10.5px;color:var(--muted);font-weight:600;margin-top:1px}
.pnl-rhd{text-align:right}
.pnl-rhd b{display:block;font-size:15px;font-weight:800;letter-spacing:-.4px}
.pnl-rhd span{display:block;font-size:9.5px;font-weight:700;color:var(--muted)}
.pnl-rhd.bom b{color:var(--green)}
.pnl-rhd.bom span{color:var(--green)}
.pnl-rhd.ruim b{color:var(--orange)}
.pnl-rhd.ruim span{color:var(--orange)}
.pnl-oc{text-align:right}
.pnl-oc b{display:block;font-size:14px;font-weight:800}
.pnl-oc span{display:block;font-size:9.5px;color:var(--muted);font-weight:600}
.pnl-bar{height:4px;background:#EDF0EC;border-radius:3px;margin-top:10px;overflow:hidden}
.pnl-bar i{display:block;height:100%;background:var(--green);border-radius:3px;transition:width .5s}
.pnl-rod{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:9px;font-size:11px;color:var(--muted)}
.pnl-rod b{color:var(--ink);font-weight:800}
.pnl-rod .pot{margin-left:auto;font-weight:800;color:var(--orange)}
.pnl-rod .pot.ok{color:var(--green)}
.pnl-acoes{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px;
  padding-top:10px;border-top:1px solid var(--line)}
.pnl-sw{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:11.5px;font-weight:600;color:var(--muted)}
.pnl-sw input{width:16px;height:16px;accent-color:var(--green)}


/* ===== BUSCA POR QUADRA ===== */
.qres{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;cursor:pointer;
  display:flex;flex-direction:column;transition:.15s}
.qres:hover{border-color:var(--green);transform:translateY(-3px);box-shadow:0 10px 26px rgba(14,58,34,.11)}
.qres-foto{position:relative;height:126px;background:#EFEDE6}
.qres-foto img{width:100%;height:100%;object-fit:cover;display:block}
.qres-sf{height:100%;display:flex;align-items:center;justify-content:center;font-size:38px;opacity:.35}
.qres-mod{position:absolute;left:9px;top:9px;background:rgba(8,24,14,.78);color:#C8FA3C;font-size:10px;
  font-weight:800;padding:4px 9px;border-radius:20px;backdrop-filter:blur(4px)}
.qres-cob{position:absolute;right:9px;top:9px;background:rgba(255,255,255,.92);color:#1E40AF;font-size:10px;
  font-weight:800;padding:4px 8px;border-radius:20px}
.qres-b{padding:13px 14px;display:flex;flex-direction:column;flex:1}
.qres-n{font-size:15.5px;font-weight:800;letter-spacing:-.3px;line-height:1.25}
.qres-a{font-size:11.5px;color:var(--muted);font-weight:600;margin-top:2px}
.qres-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}
.qres-rod{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:11px}
.qres-p b{font-size:19px;font-weight:800;color:var(--green);letter-spacing:-.5px}
.qres-p span{font-size:10.5px;color:var(--muted);font-weight:600;display:block}
.qres-cta{font-size:12px;font-weight:800;color:var(--green)}
.dias{display:flex;gap:6px;overflow-x:auto;padding-bottom:2px}
.dia{flex:0 0 auto;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 12px;
  cursor:pointer;text-align:center;font-family:inherit;transition:.12s}
.dia.on{background:var(--green);border-color:var(--green);color:#fff}
.dia b{display:block;font-size:11.5px;font-weight:800}
.dia span{display:block;font-size:10px;opacity:.75;font-weight:600}
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:7px}
.hora{background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:9px 4px;cursor:pointer;
  text-align:center;font-family:inherit;transition:.12s}
.hora:hover{border-color:var(--green);transform:translateY(-1px)}
.hora.on{background:var(--green);border-color:var(--green);color:#fff}
.hora b{display:block;font-size:13.5px;font-weight:800}
.hora span{display:block;font-size:10.5px;font-weight:700;color:var(--muted);margin-top:1px}
.hora.on span{color:#C8FA3C}
.qtotal{margin-top:14px;background:#F1F8F3;border:1px solid #C7E7D2;border-radius:12px;padding:13px 14px}
.qtotal>div{display:flex;justify-content:space-between;align-items:center;gap:10px}
.qtotal span{font-size:12.5px;color:var(--muted);font-weight:600}
.qtotal b{font-size:21px;font-weight:800;color:var(--green);letter-spacing:-.5px}



/* ══════════════════════════════════════════════════════════════
   O MENU É UMA QUADRA — mas as PALAVRAS são comuns.

   A metáfora fica na FORMA. NUNCA no RÓTULO.
   "DO OUTRO LADO DA REDE" era uma charada. Beach tennis em Floripa tem
   muita gente de 60+, e ninguém decifra poesia pra achar "Minhas reservas".

   Texto 17px. Alvo de toque 60px. Ícone AJUDA a palavra, não a substitui.
   ══════════════════════════════════════════════════════════════ */
:root{
  --qm-noite:#06170F;
  --qm-areia:#123626;
  --qm-linha:#EAF3EA;
  --qm-bola:#D6FF3D;
}
.qm-ov{position:fixed;inset:0;background:rgba(3,10,6,.74);backdrop-filter:blur(7px);
  opacity:0;pointer-events:none;transition:opacity .28s;z-index:90}
.qm-ov.show{opacity:1;pointer-events:auto}

.qmenu{position:fixed;inset:0;z-index:91;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:14px;padding:20px;overflow-y:auto;
  opacity:0;pointer-events:none;transition:opacity .3s}
.qmenu.show{opacity:1;pointer-events:auto}

.qm-x{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:#fff;
  font-size:26px;line-height:1;cursor:pointer;z-index:3;transition:.15s}
.qm-x:hover,.qm-x:focus-visible{background:rgba(255,255,255,.2);transform:rotate(90deg);outline:none}

/* ---- a quadra ---- */
.qm-court{position:relative;width:100%;max-width:340px;
  background:radial-gradient(120% 80% at 50% 50%, var(--qm-areia) 0%, var(--qm-noite) 78%);
  border-radius:6px;padding:24px 20px;display:flex;flex-direction:column;
  box-shadow:0 0 0 1px rgba(234,243,234,.1), 0 40px 90px rgba(0,0,0,.6),
             inset 0 0 80px rgba(214,255,61,.05)}
.qmenu.show .qm-court{animation:qmSobe .42s cubic-bezier(.16,1,.3,1)}
@keyframes qmSobe{from{transform:translateY(22px) scale(.97);opacity:0}to{transform:none;opacity:1}}

.qm-linhas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.qm-linhas .ln{fill:none;stroke:var(--qm-linha);stroke-width:1.4;opacity:.45;
  stroke-dasharray:1800;stroke-dashoffset:1800}
.qmenu.show .qm-linhas .ln{animation:qmRisca .9s .1s cubic-bezier(.4,0,.2,1) forwards}
@keyframes qmRisca{to{stroke-dashoffset:0}}

/* ---- as zonas: palavra comum, letra grande ---- */
.qm-lado{position:relative;z-index:2;display:flex;flex-direction:column;gap:2px;padding:4px 0}
.qm-tag{font-size:11px;font-weight:800;letter-spacing:1.8px;
  color:rgba(234,243,234,.55);padding:0 4px 10px}
.qm-lado.baixo .qm-tag{color:var(--qm-bola);opacity:.85}

.qz{display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:12px;
  min-height:60px;padding:12px 14px;background:none;border:0;border-radius:8px;
  cursor:pointer;font-family:inherit;text-align:left;width:100%;
  transition:background .14s;opacity:0}
.qmenu.show .qz{animation:qmAcende .34s calc(.34s + var(--i)*.055s) cubic-bezier(.16,1,.3,1) forwards}
@keyframes qmAcende{to{opacity:1}}
.qz-i{font-size:19px;line-height:1;text-align:center}
.qz-l{font-size:17px;font-weight:700;color:#F2F7F2;line-height:1.25}
.qz-s{font-size:19px;color:rgba(234,243,234,.35);justify-self:end;transition:color .14s}
.qz:hover,.qz:focus-visible{background:rgba(214,255,61,.14);outline:none}
.qz:hover .qz-s{color:var(--qm-bola)}
.qz:focus-visible{box-shadow:inset 0 0 0 2px var(--qm-bola)}
.qz.on{background:rgba(214,255,61,.11)}
.qz.on .qz-l{color:var(--qm-bola);font-weight:800}

/* ---- Variante ATUAL do menu: cards brancos sobre o fundo escurecido ----
   O esquema antigo (.qz-l branco + opacity:0 até a animação) fazia o texto
   sumir sobre os cards brancos e deixava o botão principal invisível (sem a
   animação, por não ter --i). Aqui o texto fica escuro e os itens sempre visíveis. */
.qmenu--cards .qz{opacity:1}
.qmenu--cards .qz-l{color:#0E3A22}
.qmenu--cards .qz.on .qz-l{color:#0E3A22}

/* ---- Perfil do Jogador (cabeçalho + contadores + abas) ---- */
.pj-count{flex:1;text-align:center;padding:12px 4px;cursor:pointer}
.pj-count .n{font-size:20px;font-weight:800;color:var(--green)}
.pj-count .l{font-size:12px;color:var(--muted);margin-top:2px}
.pj-tabs{display:flex;gap:2px;margin:16px 0 12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px}
.pj-tab{flex:1;padding:11px 4px;border:none;background:none;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer;border-radius:10px;min-height:44px}
.pj-tab.on{color:#0E3A22;background:#EAF3DD}
.pj-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.pj-stat{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 8px;text-align:center}
.pj-stat .n{font-size:23px;font-weight:800}
.pj-stat .l{font-size:11.5px;color:var(--muted);margin-top:3px}
@media(max-width:430px){.pj-grid{grid-template-columns:1fr 1fr}.pj-tab{font-size:12px}}

/* Sugestões pra seguir (rolagem horizontal) */
.sug-row{display:flex;gap:10px;overflow-x:auto;margin-top:12px;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.sug-card{flex:0 0 120px;text-align:center;background:#F7FAF5;border:1px solid var(--line);border-radius:16px;padding:14px 10px}
/* Home de relacionamento (claro) */
.home-acts{display:flex;gap:10px}
.home-act{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 6px;font-weight:700;font-size:12.5px;color:#12231A;cursor:pointer;min-height:92px;justify-content:center;text-align:center}
.home-act .ic{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:23px}
/* Home do jogador — escolhas grandes e claras */
.home-choices{display:flex;flex-direction:column;gap:10px}
.home-choice{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer;text-align:left;width:100%}
.home-choice .ic{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;flex:0 0 48px}
.home-choice .tx{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.home-choice .tx b{font-size:16px;font-weight:800;color:#12231A}
.home-choice .tx small{font-size:12.5px;color:var(--muted)}
.home-choice .chev{font-size:24px;color:var(--muted);font-weight:400}
.home-choice:active{background:#F7F9FB}
/* Primeiro acesso (welcome) */
.wc{padding:2px}
.wc-list{display:flex;flex-direction:column;gap:9px;margin:16px 0}
.wc-item{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;cursor:pointer;text-align:left;width:100%}
.wc-item .wc-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:21px;flex:0 0 42px}
.wc-item .wc-tx{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.wc-item .wc-tx b{font-size:14.5px;font-weight:800;color:#12231A}
.wc-item .wc-tx small{font-size:12px;color:var(--muted)}
.wc-item .wc-ch{font-size:22px;color:var(--muted)}
.wc-item:active{background:#F7F9FB}
.jh-card{flex:0 0 152px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px}
.fd-react{display:flex;gap:20px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line)}
.fd-react span{cursor:pointer;font-size:13px;font-weight:600;color:var(--muted)}
/* Bora Jogar — chips de convidar amigos */
.bora-amigos{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;-webkit-overflow-scrolling:touch}
.bora-chip{flex:0 0 auto;display:flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--line);border-radius:100px;padding:5px 12px 5px 5px;cursor:pointer;font-weight:600;font-size:13px;color:#12231A}
.bora-chip.on{background:#EAF7E4;border-color:var(--green)}
.bora-chip.on::after{content:"✓";color:var(--green);font-weight:800;margin-left:2px}
/* Preço dinâmico — interruptor + níveis */
.pd-switch{flex:0 0 auto;width:52px;height:30px;border-radius:100px;background:#D6DEE6;border:none;cursor:pointer;position:relative;transition:background .18s}
.pd-switch span{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .18s}
.pd-switch.on{background:var(--green)}
.pd-switch.on span{left:25px}
.pd-nivel{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:9px 4px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-size:12.5px;font-weight:600;color:#12231A}
.pd-nivel b{font-size:14px;color:var(--muted)}
.pd-nivel.on{border-color:var(--green);background:#EAF7E4}
.pd-nivel.on b{color:var(--green)}
/* Financeiro da arena */
.fin-kpis{display:flex;gap:10px}
.fin-kpi{flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 10px;text-align:center}
.fin-kpi .l{font-size:11px;color:var(--muted);font-weight:600}
.fin-kpi .v{font-size:17px;font-weight:800;margin-top:4px}
.forma-row{display:flex;gap:8px}
.forma{flex:1;display:flex;flex-direction:column;gap:3px;align-items:flex-start;text-align:left;padding:11px 12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;cursor:pointer;font-weight:700;font-size:13.5px;color:#12231A}
.forma span{font-weight:500;font-size:11px;color:var(--muted);line-height:1.3}
.forma.on{border-color:var(--green);background:#EAF7E4}
/* Header white-label (link exclusivo da arena) — sem menu, sem marketplace */
.head--wl{border-bottom:1px solid var(--line)}
.head--wl .head-in{display:flex;align-items:center;justify-content:space-between}
.head--wl .brand{display:flex;align-items:center;gap:10px}
.head--wl .wl-logo{width:34px;height:34px;border-radius:9px;background:#EAF3DD;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--green);font-size:14px}
.head--wl .wl-tag{font-size:12px;font-weight:700;color:var(--muted);background:#EAF7E4;color:#0E3A22;padding:4px 12px;border-radius:100px}
/* Perfil da arena (cabeçalho no painel) */
.arena-prof{background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-bottom:14px;position:relative}
.arena-cover{height:100px;background:linear-gradient(135deg,var(--green),#0a2417);position:relative}
.arena-prof-in{display:block;padding:0 18px 16px;position:relative}
.arena-logo{width:78px;height:78px;border-radius:20px;background:#EAF3DD;border:4px solid #fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;color:var(--green);overflow:hidden;margin-top:-42px;box-shadow:0 4px 14px rgba(0,0,0,.10)}
.arena-logo img{width:100%;height:100%;object-fit:cover}
.arena-prof-txt{margin-top:12px;min-width:0}
.arena-nome{font-size:23px;font-weight:800;letter-spacing:-.3px;line-height:1.2}
.arena-loc{color:var(--muted);font-size:14px;margin-top:5px}
.arena-mods{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.arena-edit{position:absolute;top:-60px;right:0;background:rgba(255,255,255,.92);border:none;color:var(--green);font-weight:700;padding:8px 15px;border-radius:100px;font-size:13px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.14)}
.arena-stats{display:flex;border-top:1px solid var(--line);margin-top:16px}
.arena-stats .ast{flex:1;text-align:center;padding:16px 4px;cursor:pointer}
.arena-stats .ast:not(:last-child){border-right:1px solid var(--line)}
.arena-stats .ast .n{font-size:24px;font-weight:800}
.arena-stats .ast .l{font-size:12px;color:var(--muted);margin-top:3px}
.arena-ok{color:var(--green);font-weight:700}
.arena-chip{background:#EAF3DD;color:#0E3A22;font-weight:700;font-size:11.5px;padding:4px 10px;border-radius:100px}
/* Resumo do dia (painel arena) */
.dia-grid{display:flex;gap:8px}
.dia-kpi{flex:1;text-align:center;background:#F7F9FB;border:1px solid var(--line);border-radius:14px;padding:12px 6px}
.dia-kpi .n{font-size:21px;font-weight:800;line-height:1.1}
.dia-kpi .l{font-size:11px;color:var(--muted);margin-top:4px;font-weight:600}
.dia-kpi.alerta{background:#FFF7E8;border-color:#F5D9A8;cursor:pointer}
.dia-kpi[onclick]{cursor:pointer}

/* ================= TEMA DARK — Perfil / Rede social ================= */
.appd{background:#0F0F10;color:#fff;min-height:100vh;margin:-20px -16px 0;padding:0 0 92px;font-family:system-ui,-apple-system,sans-serif}
.appd-in{max-width:620px;margin:0 auto;padding:0 18px}
.appd-top{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 6px}
.appd-ic{width:42px;height:42px;border-radius:12px;background:#1C1C1E;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;color:#fff;border:none}
.appd-ics{display:flex;gap:10px}
.appd-head{display:flex;align-items:center;gap:16px;padding:10px 0 4px}
.appd-av{width:84px;height:84px;border-radius:50%;background:#1C1C1E;overflow:hidden;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;flex:0 0 84px}
.appd-av .cam{position:absolute;right:-2px;bottom:-2px;width:26px;height:26px;border-radius:50%;background:#D6FF3D;color:#0F0F10;display:flex;align-items:center;justify-content:center;font-size:12px;border:3px solid #0F0F10}
.appd-name{font-size:24px;font-weight:800;letter-spacing:-.3px}
.appd-loc{color:#9AA0A6;font-size:14px;margin-top:2px}
.appd-counts{display:flex;gap:26px;padding:16px 0 6px}
.appd-count{cursor:pointer}
.appd-count .n{font-size:22px;font-weight:800}
.appd-count .l{color:#9AA0A6;font-size:13px;margin-top:2px}
.appd-tabs{display:flex;gap:26px;border-bottom:1px solid #232326;margin-top:6px}
.appd-tab{background:none;border:none;color:#9AA0A6;font-weight:700;font-size:15px;padding:12px 0;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px}
.appd-tab.on{color:#fff;border-bottom-color:#fff}
.appd-chips{display:flex;gap:10px;overflow-x:auto;padding:16px 0;-webkit-overflow-scrolling:touch}
.appd-chip{flex:0 0 auto;background:#1C1C1E;color:#fff;border:none;border-radius:100px;padding:10px 18px;font-weight:700;font-size:14px;cursor:pointer;white-space:nowrap;display:flex;align-items:center;gap:6px}
.appd-chip.on{background:#fff;color:#0F0F10}
.appd-card{background:#1C1C1E;border-radius:18px;padding:22px 18px}
.appd-rating .big{font-size:56px;font-weight:800;text-align:center;line-height:1}
.appd-rating .lvl{text-align:center;color:#C9CDD2;font-size:18px;font-weight:600;margin-top:4px}
.appd-badge{background:#22240F;color:#D6FF3D;font-weight:800;font-size:12px;padding:5px 10px;border-radius:8px;letter-spacing:.5px}
.appd-conf{display:inline-block;color:#fff;font-size:12px;font-weight:800;padding:4px 10px;border-radius:7px}
.appd-perf{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:14px}
.appd-perf .c{background:#1C1C1E;border-radius:16px;padding:20px 8px;text-align:center}
.appd-perf .n{font-size:26px;font-weight:800}
.appd-perf .l{color:#9AA0A6;font-size:13px;margin-top:3px}
.appd-sec{font-size:19px;font-weight:800;margin:22px 0 12px}
.appd-note{display:flex;gap:12px;align-items:flex-start;background:#1C1C1E;border-radius:16px;padding:16px}
.appd-note .ico{width:40px;height:40px;border-radius:12px;background:#3A4A16;display:flex;align-items:center;justify-content:center;font-size:18px;flex:0 0 40px}
.appd-btn{background:none;border:1px solid #3A3A3D;color:#fff;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;margin-top:12px}
/* barra inferior */
.appd-nav{position:fixed;left:0;right:0;bottom:0;height:72px;background:#161618;border-top:1px solid #232326;display:flex;align-items:center;justify-content:space-around;z-index:60;padding-bottom:env(safe-area-inset-bottom,0)}
.appd-nav a{color:#8A9096;font-size:22px;cursor:pointer;display:flex;align-items:center;justify-content:center;width:52px;height:52px}
.appd-nav a.on{color:#fff}
.appd-nav .plus{width:56px;height:56px;border-radius:50%;background:#D6FF3D;color:#0F0F10;font-size:30px;font-weight:400;box-shadow:0 4px 14px rgba(214,255,61,.35);margin-top:-14px}
.appd-empty{color:#9AA0A6;text-align:center;padding:28px 10px}
.appd-feedcard{background:#1C1C1E;border-radius:16px;padding:16px;margin-bottom:12px}
.appd-cta{width:100%;background:#1C1C1E;color:#fff;border:1px solid #2A2A2D;border-radius:14px;padding:14px;font-weight:700;font-size:14.5px;cursor:pointer;margin-bottom:12px}
.appd-arow{display:flex;gap:12px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.appd-arena{flex:0 0 152px;background:#1C1C1E;border-radius:16px;overflow:hidden;cursor:pointer}
.appd-arena-img{height:90px;background:#232326;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:28px}
.appd-follow{display:flex;align-items:center;gap:10px;background:#1C1C1E;border-radius:14px;padding:12px 14px;margin-bottom:10px}
.appd-seg{background:#D6FF3D;color:#0F0F10;border:none;border-radius:100px;padding:9px 18px;font-weight:800;font-size:13px;cursor:pointer;flex:0 0 auto}
.appd-seg[data-following="1"]{background:#232326;color:#fff}

/* ---- a rede, e a bola NELA ---- */
.qm-rede{position:relative;z-index:5;height:0;margin:26px -20px;
  display:flex;align-items:center;justify-content:center}
/* a malha da rede: desenhada ATRÁS, centrada na linha */
.qm-malha{position:absolute;left:0;right:0;top:-11px;height:22px;
  background-image:linear-gradient(rgba(234,243,234,.16) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(234,243,234,.16) 1px,transparent 1px);
  background-size:7px 7px;
  border-top:2px solid rgba(234,243,234,.5);
  border-bottom:1px solid rgba(234,243,234,.22)}
.qm-fita{position:absolute;left:0;right:0;top:-11px;height:2px;background:rgba(234,243,234,.6)}

.qm-bola{position:relative;z-index:6;   /* EM FLUXO. o flexbox centra. sem truque. */
  width:96px;height:96px;margin:-48px 0;flex-shrink:0;
  border-radius:50%;border:0;padding:0;cursor:pointer;
  background:radial-gradient(circle at 34% 30%, #EAFF7A, var(--qm-bola) 52%, #A8CC22 100%);
  box-shadow:0 0 0 5px rgba(6,23,15,.92), 0 0 44px rgba(214,255,61,.5),
             0 14px 30px rgba(0,0,0,.5), inset -6px -8px 18px rgba(0,0,0,.14);
  display:flex;align-items:center;justify-content:center;
  transition:transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .2s}
.qmenu.show .qm-bola{animation:qmQuica 2.8s .8s ease-in-out infinite}
@keyframes qmQuica{0%,100%{transform:none}50%{transform:translateY(-7px)}}
.qm-bola:hover,.qm-bola:focus-visible{transform:scale(1.07);
  animation-play-state:paused;outline:none;
  box-shadow:0 0 0 5px rgba(6,23,15,.92), 0 0 70px rgba(214,255,61,.75), 0 18px 38px rgba(0,0,0,.55)}
.qm-bola:active{transform:scale(.95)}
.qm-bola::before,.qm-bola::after{content:'';position:absolute;inset:-1px;border-radius:50%;
  border:2px solid rgba(255,255,255,.5);pointer-events:none}
.qm-bola::before{clip-path:inset(0 0 62% 0);transform:rotate(-18deg) scaleX(1.55)}
.qm-bola::after{clip-path:inset(62% 0 0 0);transform:rotate(-18deg) scaleX(1.55)}
.qm-b-t{position:relative;z-index:1;font-size:16px;font-weight:800;letter-spacing:1px;color:#123309}

.qmenu.show .qm-bola.saque{animation:qmSaque 2.2s .8s ease-out infinite}
@keyframes qmSaque{
  0%  {box-shadow:0 0 0 5px rgba(6,23,15,.92), 0 0 0 0 rgba(214,255,61,.55), 0 14px 30px rgba(0,0,0,.5)}
  70% {box-shadow:0 0 0 5px rgba(6,23,15,.92), 0 0 0 26px rgba(214,255,61,0), 0 14px 30px rgba(0,0,0,.5)}
  100%{box-shadow:0 0 0 5px rgba(6,23,15,.92), 0 0 0 0 rgba(214,255,61,0), 0 14px 30px rgba(0,0,0,.5)}
}

/* ---- quem não entrou: convite direto ---- */
.qm-vazio{position:relative;z-index:2;text-align:center;padding:28px 12px 16px;
  opacity:0;animation:qmAcende .4s .7s forwards}
.qm-vazio b{display:block;font-size:16px;font-weight:800;color:#F2F7F2}
.qm-vazio span{display:block;font-size:13.5px;color:rgba(234,243,234,.6);line-height:1.55;margin-top:7px}

/* ---- SOU ARENA / SOU PROFESSOR: dois botões grandes. Não um link escondido. ---- */
.qm-outros{width:100%;max-width:340px;margin-top:16px;opacity:0;animation:qmAcende .4s .85s forwards}
.qm-o-t{font-size:12.5px;font-weight:700;color:rgba(234,243,234,.55);text-align:center;margin-bottom:9px}
.qm-o-g{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.qm-o{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;
  padding:15px 12px;cursor:pointer;font-family:inherit;text-align:center;min-height:88px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;transition:.14s}
.qm-o:hover,.qm-o:focus-visible{background:rgba(214,255,61,.14);border-color:var(--qm-bola);
  transform:translateY(-2px);outline:none}
.qm-o span{font-size:22px;line-height:1}
.qm-o b{font-size:14.5px;font-weight:800;color:#F2F7F2;margin-top:4px}
.qm-o i{font-size:11px;font-style:normal;color:rgba(234,243,234,.55);line-height:1.35}

.qm-sair{background:none;border:0;color:rgba(234,243,234,.55);font-family:inherit;
  font-size:14px;font-weight:700;cursor:pointer;padding:14px 20px;border-radius:9px;
  transition:.14s;opacity:0;animation:qmAcende .4s .9s forwards}
.qm-sair:hover{color:#EAF3EA;background:rgba(255,255,255,.07)}

/* ---- o "Entrar" do header: uma bola ---- */
.bola-entrar{position:relative;display:inline-flex;align-items:center;gap:8px;
  background:radial-gradient(circle at 34% 30%, #EAFF7A, var(--qm-bola) 55%, #A8CC22 100%);
  border:0;border-radius:999px;padding:9px 18px 9px 12px;cursor:pointer;font-family:inherit;
  box-shadow:0 3px 12px rgba(214,255,61,.32);transition:transform .16s,box-shadow .18s}
.bola-entrar:hover{transform:translateY(-2px);box-shadow:0 7px 22px rgba(214,255,61,.5)}
.be-txt{font-size:13.5px;font-weight:800;color:#123309}

/* ---- header: pulso (dado real), rede (separador), saque (entrar) ---- */
.pulso{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 9px;
  border:1px solid rgba(14,58,34,.14);border-radius:999px;background:rgba(214,255,61,.07)}
.pulso-p{width:6px;height:6px;border-radius:50%;background:#4ADE80;flex-shrink:0;
  animation:pulsa 2.4s ease-out infinite}
@keyframes pulsa{
  0%{box-shadow:0 0 0 0 rgba(74,222,128,.55)}
  70%{box-shadow:0 0 0 7px rgba(74,222,128,0)}
  100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}
}
.pulso b{font-size:13px;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.pulso-l{font-size:10.5px;font-weight:700;color:var(--muted)}
.pulso.zero .pulso-p{background:#CBD5C4;animation:none}
.pulso.zero b{color:var(--muted)}

.head-rede{width:8px;height:30px;flex-shrink:0;margin:0 6px;position:relative}
.head-rede::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(14,58,34,.26) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(14,58,34,.26) 1px,transparent 1px);
  background-size:4px 4px;border-left:1.5px solid rgba(14,58,34,.4)}
.head-rede::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;
  background:rgba(14,58,34,.55)}

.saque{position:relative;display:inline-flex;align-items:center;gap:9px;flex-shrink:0;
  background:#0E3A22;border:0;border-radius:999px;padding:6px 18px 6px 7px;cursor:pointer;
  font-family:inherit;box-shadow:0 4px 16px rgba(14,58,34,.26);
  transition:transform .18s cubic-bezier(.34,1.56,.64,1), box-shadow .2s}
.saque:hover{transform:translateY(-2px);
  box-shadow:0 9px 26px rgba(14,58,34,.34), 0 0 30px rgba(214,255,61,.28)}
.saque:active{transform:translateY(0) scale(.97)}
.saque:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.saque-bola{position:relative;width:30px;height:30px;border-radius:50%;flex-shrink:0;
  background:radial-gradient(circle at 33% 28%, #EDFF8E, #D6FF3D 52%, #A8CC22 100%);
  box-shadow:0 0 16px rgba(214,255,61,.55), inset -2px -3px 7px rgba(0,0,0,.16)}
.saque-seam{position:absolute;inset:0;border-radius:50%}
.saque-seam::before,.saque-seam::after{content:'';position:absolute;inset:0;border-radius:50%;
  border:1.6px solid rgba(255,255,255,.78)}
.saque-seam::before{clip-path:inset(0 0 63% 0);transform:rotate(-20deg) scaleX(1.55)}
.saque-seam::after{clip-path:inset(63% 0 0 0);transform:rotate(-20deg) scaleX(1.55)}
.saque-txt{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}
.saque-txt b{font-size:13.5px;font-weight:800;color:#fff}
.saque-txt i{font-size:9.5px;font-style:normal;font-weight:700;color:#9FD3B6}
.saque-eco{position:absolute;left:22px;top:50%;width:30px;height:30px;border-radius:50%;
  transform:translateY(-50%);pointer-events:none;border:1.5px solid rgba(214,255,61,.6);opacity:0}
.saque:hover .saque-eco{animation:saqueEco 1.1s ease-out infinite}
@keyframes saqueEco{
  0%{transform:translateY(-50%) scale(.6);opacity:.85}
  100%{transform:translateY(-50%) scale(2.6);opacity:0}
}

/* a navegação fica QUIETA. Só o saque grita. */
.head-actions .top a{font-size:13.5px;font-weight:700;color:var(--muted);padding:8px 12px;
  border-radius:9px;transition:.14s;cursor:pointer}
.head-actions .top a:hover{color:var(--ink);background:rgba(14,58,34,.05)}
.head-actions .top a.on{color:var(--green)}
/* as portas: sempre visíveis, não escondidas no menu */
.head-actions .top a.porta{font-size:12.5px;border:1px solid var(--line);border-radius:8px;
  padding:7px 11px;margin-left:3px}
.head-actions .top a.porta:hover{color:var(--green);border-color:var(--green);background:#fff}

@media (max-width:900px){ .head-actions .top a.porta{display:none} }
@media (max-width:760px){
  .pulso{display:none}
  .head-actions .top{display:none}
  .head-rede{display:none}
  .saque{padding:5px 14px 5px 6px}
  .saque-txt i{display:none}
}
@media (max-width:420px){
  .qm-court{max-width:100%;padding:20px 14px}
  .qm-bola{width:88px;height:88px}
  .qm-o-g{grid-template-columns:1fr}
  .qm-o{min-height:64px;flex-direction:row;justify-content:flex-start;gap:11px;text-align:left}
  .qm-o b{margin-top:0}
}
@media (prefers-reduced-motion:reduce){
  .qmenu.show .qm-court,.qmenu.show .qz,.qmenu.show .qm-bola,.qmenu.show .qm-linhas .ln,
  .qm-vazio,.qm-sair,.qm-outros,.pulso-p,.saque:hover .saque-eco{animation:none;opacity:1}
  .qm-linhas .ln{stroke-dashoffset:0}
  .qm-bola{transform:none}
  .saque:hover,.qm-o:hover{transform:none}
}
/* ===== TERMOS E PRIVACIDADE ===== */
.lg-abas{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}
.lg-aba{background:#fff;border:1px solid var(--line);border-radius:11px;padding:11px;
  font-family:inherit;font-weight:800;font-size:13px;color:var(--muted);cursor:pointer;transition:.14s}
.lg-aba.on{background:var(--green);border-color:var(--green);color:#fff}
.lg-t{font-size:27px;font-weight:800;letter-spacing:-.7px;line-height:1.15}
.lg-v{font-size:11.5px;font-weight:700;color:var(--muted);margin-top:6px;letter-spacing:.2px}
.lg-s{margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.lg-s:first-of-type{border-top:0}
.lg-s h2{display:flex;align-items:baseline;gap:10px;font-size:15.5px;font-weight:800;
  letter-spacing:-.2px;margin-bottom:9px}
.lg-n{font-size:10px;font-weight:800;color:var(--lime);background:var(--green);
  padding:3px 6px;border-radius:5px;letter-spacing:.5px;flex-shrink:0}
.lg-s p{font-size:13.5px;line-height:1.68;color:var(--muted);margin-bottom:9px}
.lg-s p:last-child{margin-bottom:0}
.lg-s.mini{margin-top:16px;padding-top:14px}
.lg-s.mini h2{font-size:13.5px}
.lg-s.mini p{font-size:12.5px;line-height:1.6}
.lg-rod{margin-top:32px;padding:18px;background:#F7FAF8;border:1px solid var(--line);border-radius:14px;text-align:center}
.lg-rod p{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:12px}
.rodape-legal{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:26px 16px;
  border-top:1px solid var(--line);margin-top:40px}
.rodape-legal a{font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;padding:6px 10px;
  border-radius:7px;transition:.14s}
.rodape-legal a:hover{color:var(--green);background:rgba(14,58,34,.05)}
.rodape-legal span{color:var(--line);align-self:center}


/* ===== ACEITE: passo dedicado, não checkbox ===== */
.ac{display:flex;flex-direction:column}
.ac-topo h2{font-size:19px;font-weight:800;letter-spacing:-.4px}
.ac-topo p{font-size:13px;color:var(--muted);line-height:1.55;margin:6px 0 14px}
.ac-topo b{color:var(--ink)}
.ac-doc{max-height:42vh;overflow-y:auto;border:1px solid var(--line);border-radius:13px;
  padding:16px;background:#FCFDFC;margin-top:12px;
  background-image:linear-gradient(#FCFDFC 30%,rgba(252,253,252,0)),
                   linear-gradient(rgba(252,253,252,0),#FCFDFC 70%) 0 100%,
                   radial-gradient(50% 6px at 50% 0,rgba(14,58,34,.1),transparent),
                   radial-gradient(50% 6px at 50% 100%,rgba(14,58,34,.1),transparent) 0 100%;
  background-repeat:no-repeat;background-size:100% 34px,100% 34px,100% 9px,100% 9px;
  background-attachment:local,local,scroll,scroll}
.ac-marco{margin-top:20px;padding:12px;text-align:center;font-size:12px;font-weight:800;
  color:var(--green);background:#E8F3ED;border-radius:10px}
.ac-fim{margin-top:11px;text-align:center;min-height:18px}
.ac-dica{font-size:11.5px;font-weight:700;color:var(--muted)}
#acBtn:disabled{background:#E3E7E1;color:#A8B3A6;cursor:not-allowed;transform:none;box-shadow:none}
#acBtn:disabled:hover{background:#E3E7E1;transform:none}
