/* Aba Início (shadow DOM de hoje-view.js). Só tokens de tokens.css; sem glow, gradiente ou sombra com blur. */
:host{display:block;container-type:inline-size;color:var(--c-text);font-family:var(--ff-sans);font-feature-settings:"tnum" 1}
*{box-sizing:border-box;margin:0;padding:0}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;text-align:left}
button:focus-visible{outline:2px solid var(--c-text);outline-offset:2px;border-radius:var(--r-inner)}
img{display:block}
.hv{opacity:1;display:grid;gap:var(--sp-6);max-width:160rem;margin:0 auto;padding-bottom:var(--sp-6)}
.hv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hv-ico{width:1.125rem;height:1.125rem;flex:none;fill:currentColor}
.hv-ico-sm{width:.9375rem;height:.9375rem}
.hv-num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.hv-cond{font-family:"Roboto Condensed",var(--ff-sans);letter-spacing:-.005em}

/* Cabeçalho */
.hv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap}
.hv-kicker{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-label);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.06em;color:var(--c-text-2)}
.hv-kicker .hv-ico{color:var(--c-brand-primary)}
.hv-title{font-family:var(--ff-editorial);font-size:var(--fs-hero);font-weight:var(--fw-semi);line-height:var(--lh-tight);letter-spacing:-.025em;margin-top:var(--sp-1)}
.hv-fresh{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-label);color:var(--c-text-2)}
.hv-fresh span{display:inline-flex;align-items:center;gap:var(--sp-1)}
.hv-fresh .is-ok .hv-ico{color:var(--c-good)}
.hv-fresh .is-old .hv-ico{color:var(--c-warn)}
.hv-btn{display:inline-flex;align-items:center;gap:var(--sp-2);min-height:var(--h-sm);padding:0 var(--sp-3);border:1px solid var(--c-line-strong);border-radius:var(--r-pill);font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--c-text);white-space:nowrap}
.hv-btn:hover{background:var(--c-surface-2)}

/* Blocos: cada assunto é um cartão (região comum); respiro entre cartões > respiro dentro deles */
.hv-block{min-width:0;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-outer);padding:var(--sp-5) var(--sp-6)}
.hv-bhead{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}
.hv-bhead h2{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--ff-editorial);font-size:var(--fs-section);font-weight:var(--fw-semi);line-height:var(--lh-tight);letter-spacing:-.015em}
.hv-bhead h2 .hv-ico{color:var(--c-brand-primary);width:1.25rem;height:1.25rem}
.hv-bhead p{font-size:var(--fs-label);color:var(--c-text-2)}
.hv-link{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--c-text);min-height:var(--h-sm);white-space:nowrap}
.hv-link:hover{text-decoration:underline;text-underline-offset:3px}
.hv-note{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-3);font-size:var(--fs-label);line-height:var(--lh-body);color:var(--c-text-2)}
.hv-note .hv-ico{color:var(--c-info);margin-top:.0625rem}
/* Notas viram o rodapé do cartão a que pertencem */
.hv-block > :not(.hv-note) + .hv-note{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--c-line)}
.hv-block > .hv-note + .hv-note{margin-top:var(--sp-2)}
.hv-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--sp-6)}
.hv-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-6)}

/* Bloco 1: tabela de dinheiro */
.hv-table{width:100%;border-collapse:collapse;table-layout:fixed}
.hv-table th{font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--c-text-2);text-align:right;padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--c-line-strong);vertical-align:bottom}
.hv-table th:first-child{text-align:left;padding-left:0;width:22%}
.hv-th{display:inline-flex;align-items:center;gap:var(--sp-1);justify-content:flex-end}
.hv-th .hv-ico{color:var(--c-text-3)}
.hv-table td{text-align:right;padding:var(--sp-4) var(--sp-3);border-bottom:1px solid var(--c-line);vertical-align:top}
.hv-table td:first-child{text-align:left;padding-left:0}
.hv-table tbody tr:last-child td{border-bottom:0}
.hv-groups td{border-bottom:0;padding:0}
.hv-groups th{padding-top:0;padding-bottom:var(--sp-1);border-bottom:0;font-size:var(--fs-label);font-weight:var(--fw-semi);text-transform:uppercase;letter-spacing:.06em;color:var(--c-text);text-align:center}
.hv-groups th.hv-col-week{border-radius:var(--r-inner) var(--r-inner) 0 0;padding-top:var(--sp-2)}
.hv-groups th small{font-size:var(--fs-label);font-weight:var(--fw-regular);text-transform:none;letter-spacing:0;color:var(--c-text-2)}
.hv-col-week{background:color-mix(in srgb,var(--c-surface-2) 55%,transparent)}
.hv-prod{display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-title);font-weight:var(--fw-semi);line-height:var(--lh-tight)}
.hv-prod small{display:block;font-size:var(--fs-label);font-weight:var(--fw-regular);color:var(--c-text-2);margin-top:.125rem}
.hv-badge{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--r-inner);flex:none;color:var(--hv-tone);background:color-mix(in srgb,var(--hv-tone) 16%,transparent)}
.hv-badge .hv-ico{width:1.25rem;height:1.25rem}
.p-maqvir{--hv-tone:var(--c-brand-primary)}
.p-consultoria{--hv-tone:var(--c-info)}
.p-black{--hv-tone:var(--c-ch-bot)}
.hv-val{display:block;font-size:var(--fs-kpi);font-weight:var(--fw-medium);line-height:var(--lh-tight)}
.hv-val.is-none{color:var(--c-text-3)}
.hv-unit{display:block;font-size:var(--fs-label);color:var(--c-text-2);margin-top:.125rem}
.hv-cell-label{display:none}
.hv-delta{display:inline-flex;align-items:center;gap:.1875rem;margin-top:var(--sp-1);font-size:var(--fs-label);font-weight:var(--fw-semi);white-space:nowrap}
.hv-delta.is-good{color:var(--c-good)}
.hv-delta.is-bad{color:var(--c-bad)}
.hv-delta.is-flat{color:var(--c-text-2)}
.hv-delta em{font-style:normal;font-weight:var(--fw-regular);color:var(--c-text-2)}
.hv-cell-err{font-size:var(--fs-label);color:var(--c-text-2);line-height:var(--lh-dense)}

/* Bloco 2: ações */
.hv-acts{display:grid;border-top:1px solid var(--c-line-strong)}
.hv-act{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-3) 0;border-bottom:1px solid var(--c-line)}
.hv-act:hover{background:color-mix(in srgb,var(--c-surface-2) 60%,transparent)}
.hv-bubble{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:var(--r-pill);color:var(--hv-tone);background:color-mix(in srgb,var(--hv-tone) 16%,transparent)}
.t-bad{--hv-tone:var(--c-bad)}
.t-warn{--hv-tone:var(--c-warn)}
.t-info{--hv-tone:var(--c-info)}
.t-good{--hv-tone:var(--c-good)}
.hv-act-text{display:grid;min-width:0}
.hv-act-text b{font-size:var(--fs-body);font-weight:var(--fw-semi);line-height:var(--lh-dense)}
.hv-act-text small{font-size:var(--fs-label);color:var(--c-text-2);line-height:var(--lh-dense);margin-top:.125rem;overflow-wrap:anywhere}
.hv-act .hv-count{font-size:var(--fs-kpi);font-weight:var(--fw-medium);line-height:var(--lh-none);color:var(--hv-tone)}
.hv-act .hv-go{color:var(--c-text-3)}
.hv-calm{display:flex;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-body);line-height:var(--lh-body)}
.hv-calm b{display:block}
.hv-calm span{font-size:var(--fs-label);color:var(--c-text-2)}

/* Bloco 4: produção */
.hv-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--c-line-strong)}
.hv-stat{display:grid;gap:var(--sp-2);align-content:start;width:100%;padding:var(--sp-4) var(--sp-3) var(--sp-4) 0;border-bottom:1px solid var(--c-line)}
.hv-stat+.hv-stat{padding-left:var(--sp-3);border-left:1px solid var(--c-line)}
.hv-stat:hover{background:color-mix(in srgb,var(--c-surface-2) 60%,transparent)}
.hv-stat-label{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--c-text-2)}
.hv-stat-label .hv-ico{color:var(--hv-tone)}
.hv-stat strong{font-size:var(--fs-hero);font-weight:var(--fw-medium);line-height:var(--lh-none)}
.hv-stat small{font-size:var(--fs-label);color:var(--c-text-2);line-height:var(--lh-dense)}

/* Bloco 3: ranking */
.hv-rank-head{display:flex;align-items:center;gap:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:1px solid var(--c-line-strong);font-size:var(--fs-body);font-weight:var(--fw-semi)}
.hv-rank-head .hv-ico{color:var(--hv-tone)}
.hv-ad{display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;width:100%;padding:var(--sp-3) 0;border-bottom:1px solid var(--c-line)}
.hv-ad:hover{background:color-mix(in srgb,var(--c-surface-2) 60%,transparent)}
.hv-thumb{width:3rem;height:3.75rem;border-radius:var(--r-inner);object-fit:cover;background:var(--c-surface-3)}
.hv-ad-text{display:grid;min-width:0}
.hv-ad-name{font-family:"Roboto Condensed",var(--ff-sans);font-size:var(--fs-body);font-weight:var(--fw-semi);line-height:var(--lh-dense);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hv-ad-meta{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-1);font-size:var(--fs-label);color:var(--c-text-2)}
.hv-chip{display:inline-flex;align-items:center;gap:.1875rem;padding:.0625rem var(--sp-2);border-radius:var(--r-pill);font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--hv-tone);background:color-mix(in srgb,var(--hv-tone) 14%,transparent)}
.hv-ad-num{text-align:right}
.hv-ad-num strong{display:block;font-size:var(--fs-title);font-weight:var(--fw-semi);line-height:var(--lh-tight)}
.hv-ad-num small{display:block;font-size:var(--fs-label);color:var(--c-text-2)}

/* Estados */
.hv-sk{display:block;border-radius:var(--r-inner);background:var(--c-surface-2);animation:hv-pulse 1.4s ease-in-out infinite}
.hv-sk-line{height:.875rem;margin:var(--sp-3) 0}
.hv-sk-row{height:3.5rem;margin:var(--sp-2) 0}
.hv-sk-kpi{height:1.5rem;width:70%;margin-left:auto}
@keyframes hv-pulse{50%{opacity:.55}}
@media (prefers-reduced-motion:reduce){.hv-sk{animation:none}}
.hv-err{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) 0;border-top:1px solid var(--c-line-strong);border-bottom:1px solid var(--c-line);font-size:var(--fs-body);line-height:var(--lh-body)}
.hv-err .hv-bubble{flex:none}
.hv-err p{flex:1;min-width:12rem}
.hv-err small{display:block;font-size:var(--fs-label);color:var(--c-text-2)}
.hv-empty{padding:var(--sp-4) 0;border-bottom:1px solid var(--c-line);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--c-text-2)}

/* Tablet */
@container (max-width:1100px){
  .hv-grid,.hv-pair{grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}
}

/* Celular: tabela vira pilha com rótulo e ícone por célula */
@container (max-width:720px){
  .hv{gap:var(--sp-5)}
  .hv-block{padding:var(--sp-4)}
  .hv-table tr:last-child{border-bottom:0}
  .hv-title{font-size:var(--fs-kpi)}
  .hv-table,.hv-table tbody,.hv-table tr,.hv-table td{display:block;width:100%}
  .hv-table thead{display:none}
  .hv-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-4);padding:var(--sp-3) 0 var(--sp-2);border-bottom:1px solid var(--c-line-strong)}
  .hv-table td{text-align:left;padding:var(--sp-2) 0;border-bottom:0;background:none}
  .hv-table td:first-child{grid-column:1/-1;padding-bottom:var(--sp-3)}
  .hv-cell-label{display:flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-label);font-weight:var(--fw-semi);color:var(--c-text-2);margin-bottom:var(--sp-1)}
  .hv-cell-label .hv-ico{color:var(--c-text-3)}
  .hv-val{font-size:var(--fs-section)}
  .hv-sk-kpi{margin-left:0}
  .hv-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hv-stat strong{font-size:var(--fs-kpi)}
  .hv-act{grid-template-columns:auto minmax(0,1fr) auto}
  .hv-act .hv-go{display:none}
  .hv-ad{grid-template-columns:3rem minmax(0,1fr);align-items:start}
  .hv-ad-num{grid-column:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 var(--sp-2);text-align:left}
}

@media (pointer:coarse){
  /* Piso de toque: 44px vence a altura compacta dos componentes só em tela de dedo; chips de card usam área invisível (creative-card.css). */
  :is(button,a[href],summary,select,[role="button"],[role="tab"],input:not([type="checkbox"],[type="radio"],[type="hidden"],[type="range"])):not(.cc-box){min-height:var(--h-touch,2.75rem)!important}
  :is(button,[role="button"],[role="tab"]):not(.cc-box){min-width:var(--h-touch,2.75rem)!important}
}
