/* Componentes compartilhados — identidade oficial do preview. */
body { font-family: var(--font-body); line-height: 1.6; }
h1, h2, h3, h4, .z-card__title, .z-dialog__title, .z-sheet__title {
  font-family: var(--font-titulo); letter-spacing: -.02em; font-weight: 700;
}
h1 { font-size: clamp(2rem, 3vw, 3.25rem); line-height: 1.15; font-weight: 800; }
h2 { font-size: clamp(1.5rem, 2.5vw, 1.875rem); line-height: 1.2; }
h3, .z-card__title { font-size: 1.25rem; line-height: 1.3; }
.z-card { border-radius: var(--raio-card); box-shadow: var(--sombra-card-claro); }
.dark .z-card { box-shadow: var(--sombra-card-escuro); }
.z-btn { font-family: var(--font-texto); font-size: .875rem; font-weight: 800; border-radius: var(--raio-botao); }
.z-btn--default { background: linear-gradient(135deg,var(--rosa-profundo),var(--rosa-escuro)); color: var(--branco); box-shadow: var(--sombra-cta); }
.z-btn--link { color: var(--brand-detail); }
.z-badge { font-weight: 700; border-radius: var(--raio-pilula); }
.z-progress { height: 8px; border-radius: var(--raio-pilula); }
.z-progress__bar { background: var(--brand-detail); border-radius: inherit; }
.z-input, .z-textarea, .z-select { border-radius: var(--raio-botao); }
.z-sidebar > .z-sidebar__group-label:first-child { font-family: var(--font-titulo); font-weight: 800; }
.z-sidebar__item[data-active="true"] { background: var(--accent); color: var(--accent-foreground); }
.z-overlay { background: rgb(11 11 20 / 70%); }
::selection { background: var(--rosa-claro); color: var(--noite); }
:focus-visible { outline: 3px solid var(--ring); outline-offset: 3px; }
