
/* ==========================================================================
   Tablero de Mercados — Raíces Group
   Todo el CSS está scopeado bajo .rg-dash para no colisionar con Odoo/Bootstrap.
   ========================================================================== */
.rg-dash{
  color-scheme: light;
  /* marca */
  --brand:#1f4e3d; --brand-soft:#2f7a5e; --brand-wash:#eef5f1;
  /* superficies e ink (paleta de referencia validada) */
  --surface:#fcfcfb; --plane:#f4f4f1; --card:#ffffff;
  --ink:#0b0b0b; --ink-2:#52514e; --ink-muted:#898781;
  --grid:#e1e0d9; --axis:#c3c2b7; --ring:rgba(11,11,11,.10);
  /* series (slots 1-3, validados all-pairs) */
  --s1:#2a78d6; --s2:#eb6834; --s3:#1baf7a;
  /* status */
  --up:#0ca30c; --up-ink:#006300; --down:#d03b3b; --flat:#898781;
  --up-wash:rgba(12,163,12,.10); --down-wash:rgba(208,59,59,.10);

  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  background:var(--plane); color:var(--ink);
  padding:clamp(12px,2.5vw,22px);
  border-radius:14px;
  -webkit-font-smoothing:antialiased;
  container-type:inline-size;
}
@media (prefers-color-scheme:dark){
  :root:where(:not([data-theme="light"])) .rg-dash{
    color-scheme:dark;
    --brand:#8fd3b6; --brand-soft:#5fbb96; --brand-wash:#17251f;
    --surface:#1a1a19; --plane:#0d0d0d; --card:#1a1a19;
    --ink:#ffffff; --ink-2:#c3c2b7; --ink-muted:#898781;
    --grid:#2c2c2a; --axis:#383835; --ring:rgba(255,255,255,.10);
    --s1:#3987e5; --s2:#d95926; --s3:#199e70;
    --up:#0ca30c; --up-ink:#0ca30c; --down:#e66767;
    --up-wash:rgba(12,163,12,.16); --down-wash:rgba(230,103,103,.16);
  }
}
:root[data-theme="dark"] .rg-dash{
  color-scheme:dark;
  --brand:#8fd3b6; --brand-soft:#5fbb96; --brand-wash:#17251f;
  --surface:#1a1a19; --plane:#0d0d0d; --card:#1a1a19;
  --ink:#ffffff; --ink-2:#c3c2b7; --ink-muted:#898781;
  --grid:#2c2c2a; --axis:#383835; --ring:rgba(255,255,255,.10);
  --s1:#3987e5; --s2:#d95926; --s3:#199e70;
  --up:#0ca30c; --up-ink:#0ca30c; --down:#e66767;
  --up-wash:rgba(12,163,12,.16); --down-wash:rgba(230,103,103,.16);
}

.rg-dash *{box-sizing:border-box;}
.rg-dash h1,.rg-dash h2,.rg-dash h3,.rg-dash p,.rg-dash table,.rg-dash figure{margin:0;}
.rg-dash table{border-collapse:collapse;width:100%;}

/* ---------- cabecera ---------- */
.rg-head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;justify-content:space-between;margin-bottom:14px;}
.rg-title{display:flex;align-items:center;gap:11px;}
.rg-logo{width:36px;height:36px;border-radius:9px;background:var(--brand);display:grid;place-items:center;flex:0 0 auto;}
.rg-logo svg{width:21px;height:21px;}
.rg-title h1{font-size:clamp(17px,2.4cqi,21px);font-weight:680;letter-spacing:-.015em;line-height:1.15;}
.rg-title p{font-size:12px;color:var(--ink-2);margin-top:2px;}
.rg-headright{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}

.rg-stamp{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--ring);
  border-radius:999px;padding:6px 13px;font-size:12px;color:var(--ink-2);white-space:nowrap;}
.rg-dot{width:7px;height:7px;border-radius:50%;background:var(--up);flex:0 0 auto;}
.rg-dot.live{animation:rgPulse 2.4s ease-in-out infinite;}
.rg-dot.stale{background:#fab219;animation:none;}
.rg-dot.off{background:var(--down);animation:none;}
@keyframes rgPulse{0%,100%{opacity:1;}50%{opacity:.35;}}
@media (prefers-reduced-motion:reduce){.rg-dot.live{animation:none;}}
.rg-stamp b{color:var(--ink);font-weight:620;font-variant-numeric:tabular-nums;}

.rg-tcsel{display:flex;align-items:center;gap:7px;background:var(--card);border:1px solid var(--ring);
  border-radius:999px;padding:5px 7px 5px 13px;font-size:12px;color:var(--ink-2);}
.rg-tcsel select{font:inherit;font-weight:620;color:var(--ink);background:var(--brand-wash);
  border:1px solid var(--ring);border-radius:999px;padding:4px 9px;cursor:pointer;}

/* ---------- tira de indicadores ---------- */
.rg-ticker{display:grid;gap:9px;margin-bottom:16px;
  grid-template-columns:repeat(auto-fit,minmax(146px,1fr));}
.rg-tile{background:var(--card);border:1px solid var(--ring);border-radius:12px;padding:12px 13px;
  display:flex;flex-direction:column;gap:3px;min-width:0;}
.rg-tile .lbl{font-size:11px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;
  letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rg-tile .val{font-size:clamp(19px,3cqi,25px);font-weight:700;letter-spacing:-.025em;line-height:1.05;}
.rg-tile .sub{font-size:11.5px;color:var(--ink-2);}

.rg-chip{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:640;
  padding:1px 7px;border-radius:999px;font-variant-numeric:tabular-nums;width:fit-content;}
.rg-chip.up{color:var(--up-ink);background:var(--up-wash);}
.rg-chip.down{color:var(--down);background:var(--down-wash);}
.rg-chip.flat{color:var(--flat);background:var(--brand-wash);}

/* ---------- secciones ---------- */
.rg-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));}
.rg-card{background:var(--card);border:1px solid var(--ring);border-radius:14px;padding:15px 16px 16px;min-width:0;}
.rg-card.wide{grid-column:1/-1;}
.rg-ch{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:3px;}
.rg-ch h2{font-size:14.5px;font-weight:670;letter-spacing:-.01em;}
.rg-ch .meta{font-size:11px;color:var(--ink-muted);white-space:nowrap;}
.rg-sub{font-size:11.5px;color:var(--ink-2);margin-bottom:12px;}

/* ---------- tablas ---------- */
.rg-scroll{overflow-x:auto;margin:0 -4px;padding:0 4px;}
.rg-tbl{font-size:13.5px;font-variant-numeric:tabular-nums;min-width:100%;}
.rg-tbl th{font-size:10.5px;font-weight:620;color:var(--ink-muted);text-transform:uppercase;
  letter-spacing:.045em;text-align:right;padding:0 0 7px;border-bottom:1px solid var(--grid);white-space:nowrap;}
.rg-tbl th:first-child{text-align:left;}
.rg-tbl td{padding:9px 0;border-bottom:1px solid var(--grid);text-align:right;white-space:nowrap;vertical-align:top;}
.rg-tbl td:first-child{text-align:left;font-weight:600;}
.rg-tbl tr:last-child td{border-bottom:none;}
.rg-tbl td+td{padding-left:14px;}
.rg-tbl th+th{padding-left:14px;}
.rg-strong{font-weight:670;}
.rg-usd{color:var(--ink-2);font-size:12.5px;}
.rg-flag.man{background:transparent;color:var(--ink-muted);border:1px solid var(--ring);}
.rg-flag.vieja{background:var(--down-wash);color:var(--down);}
.rg-flag{display:inline-block;font-size:9px;font-weight:700;padding:1px 5px;border-radius:4px;
  background:var(--brand-wash);color:var(--brand-soft);vertical-align:1px;margin-left:5px;letter-spacing:.03em;}

/* ---------- gráficos ---------- */
.rg-fig{margin-top:10px;position:relative;}
.rg-fig svg{display:block;width:100%;height:auto;overflow:visible;}
.rg-legend{display:flex;flex-wrap:wrap;gap:13px;margin-bottom:9px;font-size:11.5px;color:var(--ink-2);}
.rg-legend span{display:inline-flex;align-items:center;gap:5px;}
.rg-swatch{width:11px;height:3px;border-radius:2px;flex:0 0 auto;}
.rg-swatch.dot{width:9px;height:9px;border-radius:50%;}
.rg-tip{position:absolute;pointer-events:none;opacity:0;transition:opacity .1s;
  background:var(--ink);color:var(--surface);font-size:11.5px;line-height:1.45;
  padding:7px 10px;border-radius:8px;white-space:nowrap;z-index:5;font-variant-numeric:tabular-nums;
  box-shadow:0 4px 14px rgba(0,0,0,.18);}
.rg-tip b{font-weight:650;}
.rg-empty{padding:22px 14px;text-align:center;color:var(--ink-muted);font-size:12.5px;
  border:1px dashed var(--axis);border-radius:10px;line-height:1.6;}

/* ---------- barras inline (clima) ---------- */
.rg-bar{height:7px;border-radius:4px;background:var(--s1);display:block;min-width:2px;}
.rg-bar.f{background:var(--s2);}
.rg-barcell{width:36%;min-width:80px;}
.rg-barwrap{display:flex;flex-direction:column;gap:3px;}

/* ---------- futuros por grano ---------- */
.rg-futgrid{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));margin-bottom:4px;}
.rg-futcol{border:1px solid var(--ring);border-radius:11px;overflow:hidden;min-width:0;}
.rg-futcol h3{font-size:12px;font-weight:670;letter-spacing:.02em;padding:8px 12px;
  background:var(--brand-wash);color:var(--brand);display:flex;align-items:center;gap:7px;}
.rg-futcol h3 i{width:9px;height:9px;border-radius:50%;flex:0 0 auto;}
.rg-futrow{display:flex;align-items:baseline;justify-content:space-between;gap:9px;
  padding:8px 12px;border-top:1px solid var(--grid);font-size:13px;}
.rg-futrow:first-of-type{border-top:none;}
.rg-futrow.disp{background:var(--brand-wash);}
.rg-futrow .pos{color:var(--ink-2);font-size:12px;}
.rg-futrow .pr{font-weight:670;font-variant-numeric:tabular-nums;margin-left:auto;}

/* ---------- selector de provincia ---------- */
.rg-provsel{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-2);}
.rg-provsel select{font:inherit;font-weight:620;color:var(--ink);background:var(--brand-wash);
  border:1px solid var(--ring);border-radius:8px;padding:4px 9px;cursor:pointer;max-width:200px;}

/* ---------- totales de hacienda ---------- */
.rg-hactot{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px;}
.rg-hactot div{background:var(--brand-wash);border-radius:9px;padding:8px 13px;min-width:0;}
.rg-hactot .k{font-size:10.5px;font-weight:620;color:var(--ink-muted);text-transform:uppercase;
  letter-spacing:.04em;display:block;}
.rg-hactot .v{font-size:16px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.rg-rango{color:var(--ink-2);font-size:12px;font-variant-numeric:tabular-nums;}

/* ---------- hacienda sin ops ---------- */
.rg-noops{display:flex;align-items:center;gap:9px;background:var(--brand-wash);border-radius:9px;
  padding:11px 13px;font-size:12.5px;color:var(--ink-2);}

/* ---------- pie ---------- */
.rg-foot{margin-top:16px;padding-top:13px;border-top:1px solid var(--grid);
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;}
.rg-src{font-size:11px;color:var(--ink-muted);line-height:1.7;max-width:62ch;}
.rg-src a{color:var(--ink-2);}
.rg-actions{display:flex;gap:8px;flex-wrap:wrap;}
.rg-btn{font:inherit;font-size:12.5px;font-weight:620;cursor:pointer;
  background:var(--brand);color:#fff;border:1px solid transparent;border-radius:9px;
  padding:8px 14px;display:inline-flex;align-items:center;gap:7px;}
.rg-btn.ghost{background:var(--card);color:var(--ink);border-color:var(--ring);}
.rg-btn:hover{opacity:.9;}
.rg-btn svg{width:14px;height:14px;}

.rg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

@container (max-width:560px){
  .rg-head{align-items:flex-start;}
  .rg-ticker{grid-template-columns:repeat(auto-fit,minmax(128px,1fr));}
  .rg-tbl{font-size:12.5px;}
}
