:root{
  --dark:#1f2329;        /* cinza bem escuro */
  --dark-2:#15181d;      /* cinza quase preto (gradiente) */
  --orange:#f57c00;      /* laranja */
  --orange-d:#d96a00;    /* laranja hover */
  --gray:#6b7280;        /* cinza médio */
  --gray-l:#eceef1;      /* cinza claro (fundo) */
}
body{ background:var(--gray-l); }
.chacal-bar{ background:linear-gradient(90deg,var(--dark-2),var(--dark)); border-bottom:3px solid var(--orange); }
.navbar-brand{ color:var(--orange)!important; letter-spacing:.5px; }
/* Logo */
.brand-logo{ display:inline-flex; align-items:center; padding:0; }
.brand-name{ display:inline-flex; align-items:baseline; gap:.18rem; line-height:1; }
.brand-name .brand-fc{ font-weight:800; font-size:1.2rem; letter-spacing:.5px; color:var(--orange);
  text-shadow:0 1px 2px rgba(0,0,0,.4); }
.brand-name .brand-rest{ font-weight:600; font-size:1.12rem; letter-spacing:.3px; color:#f3f4f6;
  text-shadow:0 1px 2px rgba(0,0,0,.4); }
.navbar-text{ color:#c7ccd1!important; }
.card{ border:none; box-shadow:0 1px 4px rgba(0,0,0,.08); }
.card-header{ background:var(--dark); color:var(--orange); font-weight:600; }
.btn-gold{ background:var(--orange); border-color:var(--orange); color:#fff; font-weight:600; }
.btn-gold:hover{ background:var(--orange-d); border-color:var(--orange-d); color:#fff; }
.btn-dark{ background:var(--dark); border-color:var(--dark); }
.btn-dark:hover{ background:var(--dark-2); border-color:var(--dark-2); }
.badge-gold{ background:var(--orange); color:#fff; }
.pill{ background:var(--dark); color:var(--orange); border-radius:30px; padding:.35rem 1rem; display:inline-block; font-weight:600; }
.rank-1{ background:#fff3e6; }
.rank-1 td:first-child{ border-left:4px solid var(--orange); }
.cravou-row{ background:#e8f7e8; }
.acerto{ color:#198754; font-weight:600; }
.erro-cell{ color:#adb5bd; }
.money-box{ background:var(--dark); color:#fff; border-radius:10px; padding:.75rem 1rem; text-align:center; }
.money-box .v{ font-size:1.25rem; font-weight:700; color:var(--orange); }
.money-box .l{ font-size:.72rem; opacity:.85; text-transform:uppercase; letter-spacing:.5px; }
table td, table th{ vertical-align:middle; }
.link-box{ background:#fff; border:1px dashed var(--orange); border-radius:8px; padding:.5rem .75rem; font-size:.85rem; word-break:break-all; }
a{ color:var(--orange-d); }
.pix-box{ background:#fff; border:0.5px solid #e0e0e0; border-radius:10px; padding:14px; }
.pix-qr{ width:200px; max-width:100%; }
.pix-qr svg{ display:block; width:100%; height:auto; }
#pixcode{ font-size:.72rem; word-break:break-all; }

/* Ranking público em cartões */
.pcard{ background:#fff; border-radius:12px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:.7rem .85rem; margin-bottom:.7rem; border-left:4px solid transparent; }
.pcard.leader{ border-left-color:var(--orange); }
.pcard.crav{ border-left-color:#198754; background:#f4fbf4; }
.pcard-top{ display:flex; align-items:center; gap:.6rem; margin-bottom:.55rem; }
.pcard-pos{ background:var(--dark); color:#fff; min-width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.85rem; flex:0 0 auto; }
.pcard.leader .pcard-pos{ background:var(--orange); }
.pcard-nome{ font-weight:600; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; }
.pcard-total{ text-align:right; flex:0 0 auto; }
.pcard-total .n{ font-size:1.35rem; font-weight:700; color:var(--orange); line-height:1; }
.pcard-total .l{ font-size:.6rem; color:#6b7280; text-transform:uppercase; }
.chips{ display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:6px; }
.chip{ background:#f1f3f5; border-radius:8px; padding:4px 8px; min-width:0; }
.chip .cat{ font-size:.6rem; text-transform:uppercase; color:#6b7280; letter-spacing:.3px; line-height:1.15; display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chip .val{ font-weight:600; font-size:.9rem; }
.chip.ok{ background:#e3f4e3; }
.chip.ok .val{ color:#198754; }
.chip.no{ background:#fbeaea; }
.chip.no .val{ color:#b02a37; }
.gabarito{ background:var(--dark); color:#fff; border-radius:12px; padding:.7rem .85rem; margin-bottom:.9rem; }
.gabarito .titulo{ color:var(--orange); font-weight:700; font-size:.8rem; text-transform:uppercase; letter-spacing:.5px; margin-bottom:.5rem; }
.gabarito .chip{ background:rgba(255,255,255,.1); }
.gabarito .chip .cat{ color:#aeb4bb; }
.gabarito .chip .val{ color:#fff; }
.btn-wpp{ background:#25D366; border-color:#25D366; color:#fff; font-weight:600; }
.btn-wpp:hover{ background:#1da851; border-color:#1da851; color:#fff; }
.btn-outline-wpp{ border:1px solid #25D366; color:#128C7E; font-weight:600; background:#fff; }
.btn-outline-wpp:hover{ background:#e8fbf0; color:#128C7E; }
