/* MVPro 3.3.17 — consistência visual dos cards e painéis administrativos. */

/* Estruturas-base que vários módulos utilizam. */
.grid-2,.grid-3,.grid-4,.card-grid,.metric-grid,.stats{display:grid;gap:16px;min-width:0}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:20px}
.metric-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0 0 22px}
.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:0 0 22px}

/* Cards genéricos. */
.panel,.metric-card,.metric,.stat{min-width:0;background:var(--panel,#fff);border:1px solid var(--border,#e5e7eb);border-radius:17px;box-shadow:0 8px 24px rgba(15,23,42,.045)}
.panel{padding:20px}
.metric-card,.metric,.stat{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;min-height:112px;padding:18px 19px;overflow:hidden}
.metric-card:before,.metric:before,.stat:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(180deg,var(--primary,#6d5dfc),#8b7fff);opacity:.88}
.metric-card small,.metric>span,.stat>span,.metric .label{display:block;color:var(--muted,#6b7280);font-size:.78rem;font-weight:750;line-height:1.35}
.metric-card strong,.metric>strong,.stat>strong,.metric .value{display:block;margin:0;color:var(--text,#172033);font-size:1.72rem;line-height:1.12;font-weight:850;letter-spacing:-.025em;overflow-wrap:anywhere}
.metric-card>span,.metric>small,.stat>small,.metric .hint{display:block;color:var(--muted,#6b7280);font-size:.74rem;line-height:1.4}
.metric-card:hover,.metric:hover,.stat:hover{border-color:#d4d0ff;box-shadow:0 12px 28px rgba(38,32,94,.08)}

/* Alertas da vitrine: sempre cards, nunca texto corrido. */
.shopping-alert-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:14px!important;margin:0 0 22px!important}
.shopping-alert-grid .metric-card{min-height:126px}
.shopping-alert-grid .metric-card strong{font-size:1.9rem}

/* Listagens de quiz e pequenos indicadores internos. */
.quiz-list-grid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))!important;gap:18px!important}
.quiz-list-card{padding:20px!important;background:#fff!important;border:1px solid var(--border,#e5e7eb)!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important}
.mini-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mini-metrics>div{display:flex;align-items:baseline;gap:7px;padding:12px 13px;border:1px solid #e7eaf0;border-radius:12px;background:#f8fafc}
.mini-metrics strong{font-size:1.25rem;color:var(--text,#172033)}
.mini-metrics span{font-size:.78rem;color:var(--muted,#6b7280);font-weight:700}
.empty-state{display:grid;place-items:center;gap:10px;min-height:240px;padding:38px;text-align:center;background:#fff;border:1px dashed #cfd6df;border-radius:18px;color:var(--muted,#6b7280)}
.empty-state strong{font-size:1.1rem;color:var(--text,#172033)}
.empty-state p{margin:0;max-width:560px}

/* Métricas de alertas, recuperação e analytics. */
.alert-stats{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;gap:14px!important;margin-bottom:20px!important}
.alert-stats .stat{min-height:118px}
.filter-row{display:flex;justify-content:flex-end;align-items:end;gap:12px;margin:0 0 18px}
.filter-row label{display:grid;gap:6px;min-width:210px;color:var(--muted,#6b7280);font-size:.78rem;font-weight:750}
.filter-row select{background-color:#fff}

/* Navegação interna do módulo Sites e Calculadoras. */
.sites-subnav{display:flex!important;align-items:center!important;gap:7px!important;overflow-x:auto!important;padding:6px!important;margin:0 0 22px!important;border:1px solid var(--border,#e5e7eb)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 14px rgba(15,23,42,.035)!important;scrollbar-width:thin}
.sites-subnav a{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-height:38px!important;padding:8px 12px!important;border-radius:10px!important;color:var(--muted,#5f6f7e)!important;font-size:.82rem!important;font-weight:750!important;white-space:nowrap!important}
.sites-subnav a:hover,.sites-subnav a.active{background:#ece9ff!important;color:#5043c7!important}
.sites-metrics{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:14px!important;margin-bottom:20px!important}

/* Cabeçalhos com muitos botões. */
.page-head{align-items:flex-start}
.page-head>.actions{justify-content:flex-end;max-width:min(850px,62%)}
.page-head>.actions .btn{white-space:nowrap}
.section-title .sub{margin:5px 0 0;color:var(--muted,#6b7280);font-size:.82rem;line-height:1.5}

/* Cards e estados vazios com proporções consistentes. */
.card.empty,.form-card .empty,.panel .empty{min-height:170px;display:grid;place-content:center}
.form-card,.card,.panel{min-width:0}
.form-card>h3,.card>h3,.panel>h3{line-height:1.25}

/* Campos checkbox/radio em grupos: evita rótulos grudados. */
.planner-check-grid{display:grid!important;gap:8px!important}
.planner-check-grid label{display:flex!important;align-items:center!important;gap:8px!important;min-height:40px!important;padding:8px 10px!important;border:1px solid var(--border,#e5e7eb)!important;border-radius:11px!important;background:#fff!important}
.planner-check-grid input[type=checkbox],.planner-check-grid input[type=radio]{width:17px!important;height:17px!important;flex:0 0 auto!important;margin:0!important}
.planner-check-grid label:has(input:checked){border-color:var(--primary,#6d5dfc)!important;background:#f4f2ff!important;box-shadow:0 0 0 2px rgba(109,93,252,.08)!important}

/* Tabelas e cards com texto secundário. */
td small{display:block;margin-top:3px;color:var(--muted,#6b7280)}
.table-wrap{box-shadow:0 2px 8px rgba(15,23,42,.025)}

@media(max-width:1180px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-head{flex-direction:column}
  .page-head>.actions{max-width:none;justify-content:flex-start}
}
@media(max-width:760px){
  .grid-2,.grid-3,.grid-4,.card-grid,.metric-grid,.stats,.quiz-list-grid,.alert-stats{grid-template-columns:1fr!important}
  .metric-card,.metric,.stat{min-height:98px}
  .page-head>.actions{width:100%}
  .page-head>.actions .btn{flex:1 1 auto}
  .filter-row{justify-content:stretch}
  .filter-row label{width:100%;min-width:0}
  .sites-subnav{margin-inline:-6px!important;border-radius:12px!important}
  .mini-metrics{grid-template-columns:1fr 1fr}
}
