/* =========================================================
   ZIVA ERP 5.0 - FASE 5: Design System estável
   Base aprovada: Claro, Escuro e Roxo Premium.
   Objetivo: padronizar componentes sem alterar regras/funções.
   ========================================================= */
:root{
  --z5-ease:cubic-bezier(.2,.8,.2,1);
  --z5-radius-sm:12px;
  --z5-radius-md:16px;
  --z5-radius-lg:22px;
  --z5-ring:0 0 0 4px color-mix(in srgb,var(--z5-primary) 18%,transparent);
}

/* Bloco de página */
.ziva-page-head,.page-head,.module-head,.section-head{
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:16px!important;
  margin:0 0 18px!important;padding:18px!important;border:1px solid var(--z5-border)!important;border-radius:var(--z5-radius-lg)!important;
  background:linear-gradient(135deg,var(--z5-card),var(--z5-surface-2))!important;box-shadow:var(--z5-shadow)!important;color:var(--z5-text)!important;
}
.ziva-page-head h1,.ziva-page-head h2,.page-head h1,.page-head h2,.module-head h1,.module-head h2,.section-head h1,.section-head h2{
  margin:0!important;color:var(--z5-title)!important;font-size:clamp(22px,2vw,30px)!important;line-height:1.12!important;font-weight:950!important;
}
.ziva-page-head p,.page-head p,.module-head p,.section-head p{margin:7px 0 0!important;color:var(--z5-muted)!important;line-height:1.45!important;}

/* Grid padrão */
.ziva-grid,.cards-grid,.modules-grid,.dashboard-grid{
  display:grid!important;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))!important;gap:16px!important;
}
.ziva-grid.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;gap:12px!important;}

/* Cards e indicadores */
.ziva-kpi,.kpi-card,.metric-card,.stat-card,.dashboard-card,.module-card,.card{
  position:relative!important;overflow:hidden!important;transition:transform .18s var(--z5-ease),box-shadow .18s var(--z5-ease),border-color .18s var(--z5-ease)!important;
}
.ziva-kpi:hover,.kpi-card:hover,.metric-card:hover,.dashboard-card:hover,.module-card:hover,.card[href]:hover,a.card:hover{
  transform:translateY(-2px)!important;border-color:color-mix(in srgb,var(--z5-primary) 45%,var(--z5-border))!important;box-shadow:0 22px 56px color-mix(in srgb,var(--z5-primary) 16%,transparent)!important;
}
.ziva-kpi::after,.kpi-card::after,.metric-card::after,.dashboard-card::after,.module-card::after{
  content:"";position:absolute;right:-38px;top:-42px;width:110px;height:110px;border-radius:999px;background:color-mix(in srgb,var(--z5-primary) 14%,transparent)!important;pointer-events:none;
}
.ziva-kpi-icon,.kpi-ico,.metric-icon,.module-icon,.card-icon{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;border-radius:16px!important;
  background:linear-gradient(135deg,var(--z5-primary),var(--z5-primary-2))!important;color:#fff!important;box-shadow:0 12px 30px color-mix(in srgb,var(--z5-primary) 25%,transparent)!important;
}
.ziva-kpi-value,.kpi-card b,.metric-value,.stat-card b{color:var(--z5-title)!important;font-weight:950!important;letter-spacing:-.03em!important;}
.ziva-kpi-label,.kpi-card small,.metric-label,.stat-card span{color:var(--z5-muted)!important;font-weight:800!important;}

/* Tabelas */
.table-wrap,.ziva-table-wrap{overflow:auto!important;border-radius:var(--z5-radius-lg)!important;border:1px solid var(--z5-border)!important;background:var(--z5-card)!important;box-shadow:var(--z5-shadow)!important;}
.table-wrap table,.ziva-table-wrap table{margin:0!important;border-collapse:separate!important;border-spacing:0!important;width:100%!important;background:transparent!important;}
table th:first-child{border-top-left-radius:14px!important} table th:last-child{border-top-right-radius:14px!important}
table th{font-size:12px!important;text-transform:uppercase!important;letter-spacing:.045em!important;color:var(--z5-title)!important;}
table td{font-size:14px!important;vertical-align:middle!important;}
table tr:last-child td{border-bottom:0!important;}

/* Formulários */
.form-card,.ziva-form,.form-box{padding:18px!important;border-radius:var(--z5-radius-lg)!important;background:var(--z5-card)!important;border:1px solid var(--z5-border)!important;box-shadow:var(--z5-shadow)!important;}
.form-row,.ziva-form-row{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;gap:14px!important;}
input,select,textarea{transition:border-color .16s var(--z5-ease),box-shadow .16s var(--z5-ease),background .16s var(--z5-ease)!important;}
input:focus,select:focus,textarea:focus{box-shadow:var(--z5-ring)!important;}

/* Botões */
.btn,button.btn,a.btn,button[type="submit"],input[type="submit"]{min-height:40px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;padding:10px 15px!important;line-height:1!important;transition:transform .16s var(--z5-ease),filter .16s var(--z5-ease),box-shadow .16s var(--z5-ease)!important;}
.btn-sm,.btn.small{min-height:34px!important;padding:8px 11px!important;border-radius:12px!important;font-size:12px!important;}
.btn-outline,.btn.secondary-outline{background:transparent!important;color:var(--z5-primary)!important;border:1px solid color-mix(in srgb,var(--z5-primary) 45%,var(--z5-border))!important;box-shadow:none!important;}
.btn-outline:hover,.btn.secondary-outline:hover{background:color-mix(in srgb,var(--z5-primary) 12%,transparent)!important;}

/* Alertas e badges */
.alert,.ziva-alert{border-radius:var(--z5-radius-md)!important;padding:13px 15px!important;font-weight:750!important;}
.badge,.pill,.status,.tag{display:inline-flex!important;align-items:center!important;gap:6px!important;border-radius:999px!important;padding:6px 10px!important;font-size:12px!important;font-weight:850!important;}

/* Dashboard/home */
.ziva-dashboard .dash-card,.ziva-dashboard .kpi-card{border-radius:22px!important;}
.ziva-dashboard .line-item{border-radius:15px!important;}
.ziva-dashboard .icon-tile{border-radius:17px!important;}

/* Modais */
.modal,.ziva-modal,.modal-card{color:var(--z5-text)!important;}
.modal-content,.modal-card,.ziva-modal-card{background:var(--z5-card)!important;border:1px solid var(--z5-border)!important;border-radius:24px!important;box-shadow:0 28px 90px rgba(0,0,0,.36)!important;color:var(--z5-text)!important;}

/* Mobile */
@media(max-width:760px){
  .content{padding:16px!important;}
  .ziva-page-head,.page-head,.module-head,.section-head{flex-direction:column!important;padding:15px!important;border-radius:18px!important;}
  .ziva-grid,.cards-grid,.modules-grid,.dashboard-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .form-row,.ziva-form-row{grid-template-columns:1fr!important;}
  table th,table td{font-size:12px!important;white-space:nowrap!important;}
}
