.ejlf-api-trigger{display:inline-flex;align-items:center;gap:9px;padding:11px 15px;border-radius:9px;font-size:13px;font-weight:750;color:#ffe39b;background:#2b2b2b;border:1px solid #d7a627;white-space:nowrap;transition:.18s}
.ejlf-api-trigger:hover,.ejlf-api-trigger:focus-visible{color:#1b2028;background:#ffca37;transform:translateY(-1px)}
.ejlf-api-dialog{border:1px solid #e0bf70;border-radius:20px;overflow:hidden;box-shadow:0 25px 80px #09142666}
.ejlf-api-heading{display:flex;gap:16px;align-items:center;padding:27px 30px;background:linear-gradient(120deg,#161e30,#2f4059);color:#fff}
.ejlf-api-symbol{width:51px;height:51px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;color:#252013;background:linear-gradient(125deg,#ffe398,#ffc22f);font-size:22px}
.ejlf-api-heading h2{font-size:clamp(19px,3vw,24px);font-weight:800;margin:2px 0 4px}
.ejlf-api-heading p{font-size:13px;color:#bbc6d8;margin:0}
.ejlf-api-kicker{color:#ffe49c;font-size:10px;letter-spacing:1.3px;font-weight:800}
.ejlf-api-body{padding:25px 30px;background:#fff}
.ejlf-api-status{display:inline-flex;align-items:center;gap:9px;border-radius:99px;padding:8px 13px;background:#edf2f9;color:#365274;font-size:12px;font-weight:800}
.ejlf-api-status-custom{background:#e7f8e9;color:#197345}
.ejlf-api-description{font-size:13px;line-height:1.65;color:#5b6b81;margin:18px 0}
.ejlf-api-input{background:#fbfcfe;border:1px solid #cfdaea;border-radius:10px;padding:12px 14px;font-size:14px}
.ejlf-api-input:focus{border-color:#ebb640;box-shadow:0 0 0 4px #f8bc2a28}
.ejlf-api-primary{background:linear-gradient(115deg,#ffdf85,#f3b510);border:1px solid #edaf13;border-radius:10px;padding:10px 16px;font-weight:800;color:#1f2839;font-size:13px}
.ejlf-api-primary:hover{background:#ffe399}
.ejlf-api-outline{border:1px solid #b9c9dc;border-radius:10px;padding:10px 15px;background:#fff;color:#354c66;font-size:13px;font-weight:750}
.ejlf-api-outline:hover{background:#e9eff7}
.ejlf-api-danger{background:#fff7f8;color:#af293b;border:1px solid #e3b4bf;border-radius:9px;font-size:13px;font-weight:750;padding:9px 13px}
.ejlf-api-danger:hover{background:#ffe7e9}
.ejlf-api-manage{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #e6eaf0;margin-top:24px;padding-top:20px}
.ejlf-api-manage p{margin:4px 0 0;color:#6d7b8e;font-size:12px}
.ejlf-api-footer{padding:12px;text-align:center;background:#f6f8fb;color:#728297;font-size:11px}
.ejlf-api-password-details{border-top:1px solid #e7ecf3;margin-top:20px;padding-top:17px;font-size:13px}
.ejlf-api-password-details summary{font-weight:700;cursor:pointer}
.ejlf-api-logout{border:0;background:transparent;text-decoration:underline;font-size:12px;color:#63728b;margin-top:14px}
.ejlf-api-buttons{display:flex;gap:10px;flex-wrap:wrap}
.ejlf-api-muted{font-size:12px;color:#718095;line-height:1.55}
.ejlf-api-note{padding:11px 13px;margin-bottom:15px;border-radius:9px;font-size:13px;font-weight:650}
.ejlf-note-good{background:#e7f7ed;color:#14643e}
.ejlf-note-error{background:#fce8e9;color:#a32837}
.ejlf-api-section[hidden],.ejlf-api-note[hidden]{display:none!important}
@media(max-width:880px){.header-bar .header-content{flex-wrap:wrap;justify-content:center;gap:11px;padding:11px}.header-actions{flex-wrap:wrap;justify-content:center;margin-right:0}.header-actions form{flex-wrap:wrap;justify-content:center}.titulo-promissor{text-align:center}}
@media(max-width:575px){.ejlf-api-heading{padding:18px 16px;gap:11px}.ejlf-api-body{padding:20px 16px}.ejlf-api-symbol{width:42px;height:42px;font-size:18px}.ejlf-api-manage{flex-direction:column;align-items:flex-start}}


/* Top 20 Lotofacil - leitura facil, contrastes altos, bordas tracejadas. */
.charts-container > .lotofacil-pairs-card {
  flex: 1 1 100%; width: 100%; min-width: 0;
  background: #fffefb; border: 2px solid #e8d7ad; border-radius: 19px;
  padding: clamp(18px, 3vw, 34px);
  box-shadow: 0 7px 22px rgba(62, 52, 26, .09);
}
#lotofacilTop20 .lotofacil-pairs-header { margin-bottom: 20px; }
#lotofacilTop20 .lotofacil-pairs-title-row { display:flex; gap: 16px; align-items:flex-start; }
#lotofacilTop20 .lotofacil-pairs-title-icon {
  flex:0 0 54px; width:54px; height:54px; display:grid; place-items:center;
  border-radius:14px; background:#17283d; color:#ffe196; font-size:24px;
}
#lotofacilTop20 .lotofacil-pairs-eyebrow {
  margin:0 0 4px; color:#8b6024; font-size:12px; font-weight:800; letter-spacing:.08em;
}
#lotofacilTop20 h2#lotofacilTop20Title {
  display:block; text-align:left; margin:0 0 10px; color:#1d3048;
  font-size:clamp(21px,2.4vw,28px); line-height:1.25; font-weight:800;
}
#lotofacilTop20 .lotofacil-pairs-subtitle {
  margin:0; color:#42536a; font-size:16px; line-height:1.65;
}
#lotofacilTop20 .lotofacil-pairs-howto {
  display:flex; align-items:flex-start; gap:15px;
  padding:17px 19px; margin:0 0 24px;
  border:2px dashed #d3a12c; border-radius:15px;
  background:#fff5d9; color:#302b22;
}
#lotofacilTop20 .lotofacil-howto-icon {
  width:41px; height:41px; flex:0 0 41px; display:grid; place-items:center;
  background:#ffe0a1; color:#785005; border-radius:12px; font-size:21px;
}
#lotofacilTop20 .lotofacil-pairs-howto-title {
  display:block; color:#523708; font-size:18px; font-weight:800; margin:0 0 5px;
}
#lotofacilTop20 .lotofacil-pairs-howto p {
  margin:0; font-size:16px; line-height:1.6;
}
#lotofacilTop20 .lotofacil-pair-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px;
  padding:0; margin:0; list-style:none;
}
#lotofacilTop20 .lotofacil-pair-item {
  display:flex; align-items:flex-start; gap:12px;
  padding:16px 14px; margin:0;
  border:2px dashed #b5c9df; border-radius:14px;
  background:#f5faff; color:#263954;
  transition: border-color .2s, background .2s;
}
#lotofacilTop20 .lotofacil-pair-item:nth-child(4n+2),
#lotofacilTop20 .lotofacil-pair-item:nth-child(4n+3) {
  background:#f3faf4; border-color:#b2d7bd;
}
#lotofacilTop20 .lotofacil-pair-item:nth-child(-n+3) {
  background:#fff8e9; border-color:#e4bd65;
}
#lotofacilTop20 .lotofacil-pair-item:hover {
  background:#fffaea; border-color:#c58e2b;
}
#lotofacilTop20 .lotofacil-pair-position {
  display:grid; place-items:center; flex:0 0 42px; height:42px;
  background:#e8eef7; border-radius:12px; font-size:17px;
  font-weight:800; color:#324c72;
}
#lotofacilTop20 .lotofacil-pair-item:nth-child(-n+3) .lotofacil-pair-position {
  background:#ffdf94; color:#664306;
}
#lotofacilTop20 .lotofacil-pair-content { flex:1; min-width:0; }
#lotofacilTop20 .lotofacil-pair-firstline {
  display:flex; gap:8px; align-items:center; flex-wrap:wrap;
  font-variant-numeric:tabular-nums;
}
#lotofacilTop20 .lotofacil-number-ball {
  display:grid; place-items:center; width:41px; height:41px;
  border-radius:50%; color:#fff; background:#234368;
  font-size:18px; font-weight:800; line-height:1;
}
#lotofacilTop20 .lotofacil-pair-plus { font-size:21px; font-weight:800; color:#52667f; }
#lotofacilTop20 .lotofacil-pair-count {
  font-size:17px; color:#173d68; font-weight:800; margin-left:4px;
}
#lotofacilTop20 .lotofacil-pair-count i {
  font-size:16px; color:#277850; margin-right:5px;
}
#lotofacilTop20 .lotofacil-pair-explanation {
  margin:11px 0 0; color:#32465d; line-height:1.6; font-size:16px;
}
#lotofacilTop20 .lotofacil-pairs-disclaimer {
  display:flex; align-items:flex-start; gap:12px;
  margin:22px 0 0; padding:15px 17px;
  background:#eaf3ff; color:#254a70;
  border:2px dashed #a5c5ed; border-radius:13px;
  font-size:15px; line-height:1.65;
}
#lotofacilTop20 .lotofacil-pairs-disclaimer i { font-size:20px; margin-top:2px; }
#lotofacilTop20 .lotofacil-pairs-empty { font-size:16px; color:#42536a; }
@media (max-width:790px) {
  #lotofacilTop20 .lotofacil-pair-grid { grid-template-columns:1fr; }
}
@media (max-width:480px) {
  #lotofacilTop20 .lotofacil-pairs-title-row { gap:11px; }
  #lotofacilTop20 .lotofacil-pairs-title-icon { width:43px; height:43px; flex-basis:43px; font-size:20px; }
  #lotofacilTop20 .lotofacil-pairs-howto { padding:14px; gap:10px; }
  #lotofacilTop20 .lotofacil-howto-icon { width:32px; height:32px; flex-basis:32px; font-size:17px; }
  #lotofacilTop20 .lotofacil-pair-item { padding:13px 10px; gap:8px; }
  #lotofacilTop20 .lotofacil-pair-position { width:34px; height:36px; flex-basis:34px; font-size:15px; }
  #lotofacilTop20 .lotofacil-number-ball { width:35px; height:35px; font-size:17px; }
  #lotofacilTop20 .lotofacil-pair-count { font-size:16px; }
}

/* Cartela Magica: acoes simples, sem rotulos pseudopreditivos. */
#floatingCartela {
  width: min(355px, calc(100vw - 24px));
  max-height: min(625px, calc(100dvh - 24px));
  height: auto;
  right: 12px;
  bottom: 12px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
#floatingCartela .numero {
  box-sizing: border-box;
  background: #ffffff;
  color: #283d5a;
  padding: 0;
  width: 39px;
  height: 39px;
  line-height: 37px;
  margin: 3px;
  font-size: 13px;
  border: 1px solid #b9c8d9;
}
#floatingCartela .numero:focus-visible {
  outline: 3px solid #f5c042;
  outline-offset: 2px;
}
#floatingCartela .numero.selecionado {
  background: #16864a;
  color: #fff;
  border-color: #126d40;
  box-shadow: 0 2px 6px rgba(17,95,56,.19);
}
#floatingCartela .ejlf-magic-tools {
  background: #f7faff;
  border: 1px solid #d6e0ed;
  border-radius: 12px;
  padding: 10px;
  margin: 8px 0 12px;
}
#floatingCartela .ejlf-magic-tools[hidden] { display:none !important; }
#floatingCartela .ejlf-magic-note {
  margin: 0 0 9px;
  font-size: 11px;
  line-height: 1.5;
  color: #4c647e;
}
#floatingCartela .ejlf-magic-note i { color: #2a7293; margin-right: 3px; }
#floatingCartela .ejlf-magic-actions {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 8px;
}
#floatingCartela .ejlf-magic-action {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
  border: 1px solid #bed0e2;
  background: #ffffff;
  color: #263e5a;
  font-size: 11px;
  font-weight: 800;
  border-radius: 9px;
  padding: 9px 5px;
  min-height: 38px;
}
#floatingCartela .ejlf-magic-action:hover:not(:disabled) {
  background: #e9f2fd;
  border-color: #8fb4dc;
}
#floatingCartela .ejlf-magic-action-primary {
  color: #1f2b40;
  background: #ffda6c;
  border-color: #f2b522;
}
#floatingCartela .ejlf-magic-action-primary:hover:not(:disabled) {
  background: #ffe69d;
}
#floatingCartela .ejlf-magic-action-muted { color: #7e4050; }
#floatingCartela .ejlf-magic-action:disabled { opacity: .46; cursor: not-allowed; }
#floatingCartela .ejlf-cartela-status {
  font-weight: 700;
  color: #54687f;
  font-size: 12px;
  line-height: 1.5;
  margin: 7px 0 0;
}
#floatingCartela .ejlf-cartela-status-ready { color: #196d40; }
#floatingCartela .ejlf-cartela-footer-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
#floatingCartela .ejlf-cartela-footer-actions .btn { font-size: 12px; }
@media (max-width:390px) {
  #floatingCartela { right: 8px; bottom: 8px; width: calc(100vw - 16px); }
  #floatingCartela .numero { width: 38px; height: 38px; margin: 3px; }
}
