/* Estados compartilhados: sem alterar os dados ou fluxos das telas. */
.main-area .page :is(.empty,.empty-state){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:128px;padding:30px 22px;text-align:center;color:var(--muted);font-size:13px;line-height:1.6;box-sizing:border-box}
.main-area .page :is(.empty,.empty-state)>svg{flex-shrink:0;box-sizing:content-box;width:26px;height:26px;padding:13px;border-radius:16px;color:var(--brand);background:color-mix(in srgb,var(--brand) 9%,var(--panel));stroke-width:1.6}
.main-area .page :is(.empty,.empty-state)>:is(p,h3){margin:0;max-width:48ch}
.main-area .page .empty-state h3{font-size:16px;color:var(--text);font-weight:650;letter-spacing:-.015em}
.main-area .page .empty-state p{font-size:13px;line-height:1.7}
.main-area .page .connection-grid>.empty-state{grid-column:1/-1;min-height:240px;border:1px dashed color-mix(in srgb,var(--brand) 24%,var(--line));box-shadow:none}
.main-area .page .empty[data-zv-empty-hint]::after{content:attr(data-zv-empty-hint);display:block;max-width:48ch;font-size:12px;color:var(--muted);opacity:.85;line-height:1.7}
.main-area .page .list-loading{display:grid;gap:12px;padding:20px;min-height:180px;align-content:start}
.main-area .page .list-loading .skeleton.row{display:block;height:45px;border:1px solid var(--line);border-radius:9px;background:var(--surface);animation:zv-state-pulse 1.6s ease-in-out infinite}
.main-area .page .list-loading .skeleton.row:nth-child(2n){width:92%;animation-delay:.15s}
.main-area .page .list-loading .skeleton.row:nth-child(3n){width:96%;animation-delay:.3s}
@keyframes zv-state-pulse{0%,100%{opacity:.45}50%{opacity:1}}
@media(max-width:700px){.main-area .page :is(.empty,.empty-state){padding:24px 16px}.main-area .page .connection-grid>.empty-state{min-height:210px}.main-area .page .list-loading{padding:16px}}
@media(prefers-reduced-motion:reduce){.main-area .page .list-loading .skeleton.row{animation:none;opacity:.7}}
