/* AZPET · pages/relatorios — espelho do módulo (funciona sem Vite) */
/* AZPET · Health Memory / Relatórios Premium — DS v3.0 (paleta antiga verde/dourada removida) */
.hm-hero { background: linear-gradient(150deg,#07233c,#0b3c58 62%,#082f49); border-radius:22px; color:#fff; margin-bottom:18px; overflow:hidden; padding:24px; position:relative; }
.hm-hero:after { background:rgba(255,255,255,.08); border-radius:999px; content:""; height:230px; position:absolute; right:-80px; top:-90px; width:230px; }
.hm-kicker { color:#7FB4F8; font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hm-title { font-family:'Plus Jakarta Sans',sans-serif; font-size:1.85rem; font-weight:800; line-height:1.12; margin:8px 0; max-width:780px; color:#fff; }
.hm-copy { max-width:820px; opacity:.85; }
.hm-dashboard { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; margin-bottom:18px; }
.hm-metric { background:#fff; border:1px solid var(--border-color,#E6EDF2); border-radius:14px; box-shadow:var(--shadow-sm,0 1px 3px rgba(7,24,39,.05)); padding:14px; }
.hm-metric strong { color:#071827; font-family:'Plus Jakarta Sans',sans-serif; display:block; font-size:1.55rem; font-weight:800; line-height:1; }
.hm-shell { display:grid; grid-template-columns:minmax(0,1fr) 390px; gap:16px; align-items:start; }
.hm-pet-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:10px; }
.hm-pet-card { border:1px solid var(--border-color,#E6EDF2); border-radius:14px; color:inherit; display:block; padding:12px; text-decoration:none; transition:.16s ease; background:#fff; }
.hm-pet-card.active, .hm-pet-card:hover { border-color:#CFE0FA; background:var(--ui-blue-50,#F4F8FF); box-shadow:var(--shadow-sm,0 1px 3px rgba(7,24,39,.05)); transform:translateY(-1px); }
.hm-pet-card.active { border-color:var(--ui-blue,#2563EB); }
.hm-pet-head { align-items:center; display:flex; gap:10px; }
.hm-pet-photo { background:var(--ui-blue-tint,#EAF2FF); border-radius:14px; height:48px; object-fit:cover; width:48px; }
.hm-pet-initials { display:flex; align-items:center; justify-content:center; font-weight:800; color:var(--ui-blue,#2563EB); }
.hm-pet-badges { margin-top:10px; display:flex; gap:6px; flex-wrap:wrap; }
.hm-status-ready { background:var(--ui-blue-100,#E8F0FE); color:var(--ui-blue-700,#1E40AF); }
.hm-status-wait { background:#EEF2F5; color:#42586A; }
.pill.warn { background:#FEF3C7; color:#92400E; }
.status-warning { background:#FFF7E6; color:#8F5104; border:1px solid #F3DDBE; }
.hm-panel-sticky { position:sticky; top:18px; }
.hm-flow { display:grid; gap:8px; margin-top:10px; }
.hm-flow-item { background:var(--ui-blue-50,#F4F8FF); border:1px solid #DCEAFE; border-radius:10px; padding:9px; }
.hm-processing { display:none; margin-bottom:14px; padding:16px; border:1px solid #DCEAFE; border-radius:16px; background:linear-gradient(180deg,#F8FBFF,#EEF5FF); }
.hm-processing.is-visible { display:block; }
.hm-processing-illustration { position:relative; width:72px; height:72px; margin:0 auto 12px; }
.hm-processing-orb { position:absolute; inset:0; border-radius:50%; background:radial-gradient(circle at 30% 30%,#7DD3FC 0,#2563EB 48%,#0F172A 100%); opacity:.22; animation:hmPulse 1.8s ease-in-out infinite; }
.hm-processing-core { position:absolute; inset:10px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:linear-gradient(160deg,#0B3C58,#071827); color:#fff; font-family:'Plus Jakarta Sans',sans-serif; font-size:1.2rem; font-weight:800; letter-spacing:.08em; box-shadow:0 10px 24px rgba(7,24,39,.16); }
.hm-processing-copy { text-align:center; }
.hm-progress { width:100%; height:12px; margin-top:14px; background:#DBEAFE; border-radius:999px; overflow:hidden; }
.hm-progress span { display:block; height:100%; width:0; border-radius:inherit; background:linear-gradient(90deg,#22B8D4,#2563EB); transition:width .35s ease; }
.hm-processing-meta { display:flex; justify-content:space-between; gap:12px; margin-top:8px; font-size:.82rem; color:#475569; }
.hm-processing-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:12px; }
.hm-processing .status-banner { margin-top:12px; }

@keyframes hmPulse {
  0%, 100% { transform:scale(.92); opacity:.18; }
  50% { transform:scale(1.06); opacity:.32; }
}

body.app .vit{border-color:var(--azpet-teal)}
