:root{
  --bg:#f4f8ff; --card:#fff; --ink:#1f2630; --muted:#748091; --line:#e5e7eb;
  --up:#0a8f3f; --down:#c0392b; --gov-bg:#ffe8ef; --priv-bg:#e9f8ed;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font:14px/1.4 system-ui}
.nav{display:flex;align-items:center;gap:16px;padding:10px 16px;background:#0f4d2e;color:#fff}
.brand{font-weight:800;font-size:20px}.nav-links{display:flex;gap:16px}.nav-links a{color:#fff;text-decoration:none;opacity:.9}.nav-user{margin-left:auto}
.grid{display:grid;grid-template-columns:280px 1fr 360px;grid-template-rows:auto 1fr auto;grid-template-areas:"gov gov gov" "left center right" "private private private";gap:14px;padding:14px}
.bar.gov{grid-area:gov}.left{grid-area:left;display:flex;flex-direction:column;gap:14px}.center{grid-area:center}.right{grid-area:right}.bar.private{grid-area:private}
.bar{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:10px;position:relative;overflow:hidden}
.bar-title{font-weight:700;margin:0 0 6px 6px;color:var(--muted)}
.bar-track{display:flex;gap:10px;transform:translateX(0);transition:transform .25s ease}
.slider-arrow{position:absolute;top:46%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.slider-arrow.left{left:6px}.slider-arrow.right{right:6px}.slider-arrow.hidden{display:none}
.tile{min-width:180px;max-width:200px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;padding:10px}
.tile.gov{background:var(--gov-bg)}.tile.private{background:var(--priv-bg)}.tile-title{font-weight:700;margin-bottom:6px}
.meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px}.kpi{display:flex;align-items:baseline;gap:8px;margin-top:6px}.kpi .val{font-size:20px;font-weight:800}.kpi .rate{font-size:12px}
.up{color:var(--up)}.down{color:var(--down)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px}.card-title{margin:0 0 8px 0;font-weight:800}
.kv{list-style:none;margin:0;padding:0}.kv li{display:flex;justify-content:space-between;padding:8px;border-bottom:1px dashed var(--line)}
.list{list-style:none;margin:0;padding:0}.list li{padding:8px;border-bottom:1px dashed var(--line)}.scroll-y{max-height:200px;overflow:auto}
.policy-slider { margin-top: 10px; }.policy-slider .lbl { color: var(--muted); margin-top: 4px; }
.prevision{position:sticky;top:68px}.prevision-list .row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.prevision-list .label{font-weight:700}.prevision-list .bigval{font-size:28px;font-weight:800}
.block-title{margin:10px 2px;font-weight:800;color:var(--muted)}
.sectors-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}
@media(min-width:1200px){.sectors-grid{grid-template-columns:repeat(5,1fr)}}
.sector{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}.sector .name{font-weight:700;display:block}.sector .vol{margin-top:6px;font-weight:800}
.market{display:flex;flex-direction:column;gap:10px}
.market-top{display:grid;grid-template-columns:3fr 1fr;gap:10px}
.market-box{background:#e6f3ff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center}
.market-title{font-weight:800;margin-bottom:6px}
.market-kpi{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}
.market-kpi .val{font-weight:900;font-size:22px}
.market-kpi .rate{font-size:14px}
.market-bottom{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.mini-card{background:#e6f3ff;border:1px solid var(--line);border-radius:12px;padding:20px;text-align:center}
.mini-head{font-weight:800;margin-bottom:4px}.mini-kpi{display:flex;justify-content:space-between}.mini-kpi .val{font-weight:800}
