.cv{min-width:0;color:var(--ink)}.cv-topo,.cv-filtros{display:flex;gap:var(--ds-s4);align-items:center;justify-content:space-between;flex-wrap:wrap}.cv-filtros{justify-content:flex-start;margin:var(--ds-s4) 0}.cv-filtros label{display:flex;align-items:center;gap:var(--ds-s2);flex-wrap:wrap}.cv select,.cv button{min-height:44px}.cv select{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--ds-r-sm);padding:var(--ds-s2)}.cv-grade{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--ds-s2);margin-top:var(--ds-s4)}.cv-dia{display:flex;flex-direction:column;gap:var(--ds-s2);align-items:stretch;text-align:left;min-width:0;padding:var(--ds-s3);background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:var(--ds-r);font-family:inherit;font-variant-numeric:tabular-nums;cursor:pointer}.cv-dia time{font-weight:700}.cv-dia>span{font-size:12px}.cv-dia>span:not(.ds-badge){display:flex;justify-content:space-between;gap:var(--ds-s1);flex-wrap:wrap}.cv-dia.selecionado{border-color:var(--ds-accent)}.cv-valor{font-size:18px}.cv-positivo{color:var(--ink-ok)}.cv-negativo{color:var(--ink-err)}.cv-semana{color:var(--muted);padding:var(--ds-s2)}.cv-sazonal{border-top:1px solid var(--line);padding-top:var(--ds-s2)}.cv-detalhe{margin-top:var(--ds-s4);padding:var(--ds-s4);background:var(--panel);border:1px solid var(--line);border-radius:var(--ds-r)}.cv-fontes{display:flex;gap:var(--ds-s3);flex-wrap:wrap}.cv-skeleton{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--ds-s2)}.cv-skeleton>div{height:180px}.cv button:focus-visible,.cv select:focus-visible{outline:2px solid var(--ds-accent);outline-offset:2px}
@media(max-width:1100px){.cv-grade{grid-template-columns:repeat(3,minmax(0,1fr))}.cv-semana,.cv-espaco{display:none}}
@media(max-width:600px){.cv-grade{grid-template-columns:1fr}.cv-dia{padding:var(--ds-s4)}.cv-dia>span{font-size:14px}.cv-skeleton{grid-template-columns:1fr}.cv select{max-width:100%}.cv-fontes{overflow-wrap:anywhere}}
/* #148 — raiz da tela é filha direta do shell (sem .wrap nem <Molde>): mesmo respiro do .wrap, nada encosta na sidebar */
.app-shell>.cv{flex:1;box-sizing:border-box;padding:18px 24px 28px}
@media (max-width:820px){.app-shell>.cv{padding:14px 16px 24px}}
