@font-face{font-family:'Satoshi';src:url('/fonts/Satoshi-Regular.ttf') format('truetype');font-weight:400}
@font-face{font-family:'Satoshi';src:url('/fonts/Satoshi-Bold.ttf') format('truetype');font-weight:700}
:root{
  --accent:#D2222A;--ink:#1E1E1E;--box:#F7F7F7;--link:#1D4ED8;--muted:#6B7280;
  --border:#E5E7EB;--green:#15803D;--amber:#B45309;--bg:#fff;--card:#fff;
  --warn-bg:#FEF3C7;--ok-bg:#DCFCE7;--bad:#B91C1C;
}
:root[data-theme=dark]{
  --ink:#E8E8EC;--box:#1A1A1E;--muted:#9CA3AF;--border:#2E2E33;--bg:#0F0F12;--card:#17171B;
  --warn-bg:#3D2E0A;--ok-bg:#0F2E1A;--link:#6AA8FF;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:'Satoshi',Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;line-height:1.45}
.page{max-width:1100px;margin:0 auto;padding:22px 20px 48px}
header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
header .brand{display:flex;align-items:center;gap:12px}
header img.logo{height:28px}
header img.logo.lb{display:none}
:root[data-theme=dark] header img.logo.lc{display:none}
:root[data-theme=dark] header img.logo.lb{display:block}
header h1{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em}
header .sub{margin:2px 0 0;color:var(--muted);font-size:12px}
.sep{height:0;border:0;border-top:1.5px solid var(--ink);border-bottom:2px solid var(--accent);margin:12px 0 18px}
.actions{display:flex;gap:8px;align-items:center}
.actions a,.actions button{
  font-family:inherit;font-size:12px;font-weight:700;text-decoration:none;color:var(--ink);
  background:var(--box);border:1px solid var(--border);border-radius:6px;padding:6px 10px;cursor:pointer
}
.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:18px}
.metric{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 12px 10px}
.metric .v{font-size:20px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.metric .l{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px}
.metric .d{font-size:11px;color:var(--muted);margin-top:2px}
.metric.warn .v{color:var(--amber)}
.metric.bad .v{color:var(--bad)}
.metric.ok .v{color:var(--green)}
h2.sec{font-size:15px;font-weight:700;margin:18px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--border)}
h2.sec .cap{font-weight:400;color:var(--muted);font-size:12px;margin-left:8px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.grid2{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 12px 8px}
.card h3{margin:0 0 8px;font-size:13px;font-weight:700}
.chart-wrap{position:relative;height:220px}
.chart-wrap.sm{height:180px}
.note{font-size:12px;color:var(--muted);margin:8px 0 0}
.callout{background:var(--box);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;padding:10px 14px;margin-top:18px;font-size:13px}
footer{margin-top:28px;font-size:11px;color:var(--muted)}
footer a{color:var(--link)}

/* Controles del gráfico de dólar */
.card-dolar{padding-top:10px}
.dolar-toolbar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:10px 14px;margin-bottom:10px
}
.period-pills{display:flex;flex-wrap:wrap;gap:4px}
.period-pills button{
  font-family:inherit;font-size:11px;font-weight:700;letter-spacing:.02em;
  color:var(--muted);background:var(--box);border:1px solid var(--border);
  border-radius:6px;padding:5px 9px;cursor:pointer;line-height:1.2
}
.period-pills button:hover{color:var(--ink);border-color:var(--muted)}
.period-pills button.on{
  color:#fff;background:var(--accent);border-color:var(--accent)
}
.hist-lookup{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hist-lookup label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.hist-lookup input[type=date]{
  font-family:inherit;font-size:12px;color:var(--ink);background:var(--box);
  border:1px solid var(--border);border-radius:6px;padding:5px 8px;min-width:9.5rem
}
.hist-lookup .hist-go{
  font-family:inherit;font-size:11px;font-weight:700;color:var(--ink);
  background:var(--box);border:1px solid var(--border);border-radius:6px;
  padding:5px 10px;cursor:pointer
}
.hist-lookup .hist-go:hover{border-color:var(--muted)}
.hist-result{
  margin-top:8px;padding:8px 10px;border-radius:8px;background:var(--box);
  border:1px solid var(--border);font-size:12px;line-height:1.5
}
.hist-result .hist-title{font-weight:700;margin-bottom:4px}
.hist-result .hist-note{color:var(--muted);font-size:11px;margin-top:2px}
.hist-result .hist-vals{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:4px}
.hist-result .hist-vals span{white-space:nowrap}
.hist-result .hist-vals b{font-weight:700}
@media(max-width:560px){
  .dolar-toolbar{flex-direction:column;align-items:stretch}
  .hist-lookup{justify-content:flex-start}
}

.period-hint{font-size:11px;color:var(--muted);margin-left:auto}
.card-cemento{margin-bottom:4px}
