body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: #f5f7fb;
  color: #111827;
}

.arpp-shell { display:flex; min-height:100vh; }
.arpp-sidebar {
  width: 290px;
  min-height: 100vh;
  padding: 1.4rem;
  background: linear-gradient(180deg, var(--arpp-secundaria), color-mix(in srgb, var(--arpp-secundaria) 78%, #000 22%));
  color: #fff;
  position: sticky;
  top: 0;
}
.arpp-brand { display:flex; gap: .85rem; align-items:center; }
.arpp-brand-mark {
  width: 42px; height: 42px; border-radius: 14px;
  display:flex; align-items:center; justify-content:center;
  background: linear-gradient(135deg, var(--arpp-primaria), var(--arpp-destaque));
  color:#fff; font-weight:700; font-size:1.25rem; box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.arpp-brand-title { font-weight: 700; font-size: 1.05rem; }
.arpp-brand-subtitle { color: rgba(255,255,255,.62); font-size: .88rem; }
.menu-grupo { color: rgba(255,255,255,.46); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; margin-top: 1.35rem; margin-bottom: .55rem; }
.menu-link {
  display:flex; align-items:center; gap:.8rem; color:#fff; text-decoration:none;
  padding:.72rem .85rem; border-radius:.9rem; margin-bottom:.22rem;
  transition: all .18s ease;
}
.menu-link:hover { background: rgba(255,255,255,.08); transform: translateX(2px); }
.menu-link.ativo { background: rgba(255,255,255,.12); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.menu-link svg { width:18px; height:18px; opacity:.92; flex-shrink:0; }
.arpp-main { flex:1; min-width:0; }
.arpp-topbar {
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  background:#fff; border-bottom:1px solid #edf0f4; padding:1.1rem 1.5rem;
  position: sticky; top:0; z-index: 20;
}
.arpp-page-title { font-size: 1.1rem; font-weight: 700; }
.arpp-page-subtitle { color:#6b7280; font-size:.88rem; }
.arpp-userbox { display:flex; align-items:center; gap:.75rem; }
.arpp-useravatar {
  width:36px; height:36px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--arpp-primaria) 18%, #fff 82%);
  color: var(--arpp-primaria); font-weight:700;
}
.arpp-content { padding: 1.5rem; }
.arpp-footer { margin-top: 1.5rem; color:#6b7280; font-size:.85rem; }
.card { border-radius: 1.1rem; }
.arpp-kpi-card {
  display:flex; gap:1rem; align-items:center; padding:1.2rem;
  background:#fff; border-radius:1.1rem; border:1px solid #edf0f4;
  box-shadow:0 14px 40px rgba(15,23,42,.05);
  height:100%;
}
.arpp-kpi-icon {
  width:52px; height:52px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background: color-mix(in srgb, var(--arpp-primaria) 12%, #fff 88%); color:var(--arpp-primaria);
}
.arpp-kpi-icon svg { width:22px; height:22px; }
.arpp-kpi-label { color:#6b7280; font-size:.92rem; }
.arpp-kpi-value { font-size:1.9rem; font-weight:700; line-height:1.1; }
.arpp-checklist-item { display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.8rem; }
.arpp-checklist-item .ok { color: var(--arpp-destaque); font-weight:700; }
.arpp-login-shell {
  min-height:100vh; display:flex; align-items:center; justify-content:center; padding:2rem;
  background: radial-gradient(circle at top left, color-mix(in srgb, var(--arpp-primaria) 24%, #fff 76%), transparent 35%),
              linear-gradient(135deg, #f8f7ff, #eef2ff 45%, #f5f7fb 100%);
}
.arpp-login-grid { width:min(1120px, 100%); display:grid; grid-template-columns: 1.1fr .9fr; gap:2rem; align-items:center; }
.arpp-login-hero h1 { font-size: clamp(2rem, 3.2vw, 3.25rem); font-weight:800; line-height:1.05; margin:0 0 1rem; }
.arpp-login-hero p { font-size:1.05rem; color:#4b5563; max-width: 520px; }
.arpp-login-badge {
  display:inline-flex; align-items:center; gap:.4rem; margin-bottom:1rem; padding:.45rem .8rem;
  background:#fff; border:1px solid #eceff5; border-radius:999px; color:#4b5563; font-size:.88rem;
}
.arpp-hero-card { max-width: 460px; margin-top:1.5rem; background:#fff; border:1px solid #eceff5; border-radius:1rem; padding:1rem 1.1rem; box-shadow:0 16px 40px rgba(15,23,42,.06); }
.arpp-login-form-wrap .card { border-radius:1.4rem; }
.btn-primary { background: var(--arpp-primaria); border-color: var(--arpp-primaria); }
.btn-primary:hover { filter: brightness(.96); background: var(--arpp-primaria); border-color: var(--arpp-primaria); }
.form-control:focus, .form-check-input:focus { border-color: color-mix(in srgb, var(--arpp-primaria) 55%, #fff 45%); box-shadow: 0 0 0 .2rem color-mix(in srgb, var(--arpp-primaria) 16%, transparent 84%); }
@media (max-width: 991.98px) {
  .arpp-shell { flex-direction: column; }
  .arpp-sidebar { width:100%; min-height:auto; position:relative; }
  .arpp-topbar { position:relative; }
  .arpp-login-grid { grid-template-columns:1fr; }
}

/* Ajustes visuais do painel */
.arpp-inline-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.arpp-summary-card .card-header {
  padding: 1.15rem 1.25rem .4rem;
}

.arpp-summary-icon {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--arpp-primaria) 12%, #fff 88%);
  color: var(--arpp-primaria);
  box-shadow: inset 0 0 0 1px rgba(111, 66, 193, .08);
}

.arpp-summary-icon svg {
  width: 18px;
  height: 18px;
}

.arpp-summary-card--clientes .arpp-summary-icon {
  color: var(--arpp-destaque);
  background: color-mix(in srgb, var(--arpp-destaque) 12%, #fff 88%);
}

.arpp-summary-card--cobrancas .arpp-summary-icon {
  color: #f59e0b;
  background: rgba(245, 158, 11, .12);
}

.arpp-summary-card--faturamento .arpp-summary-icon,
.arpp-summary-icon--chart {
  color: var(--arpp-primaria);
  background: color-mix(in srgb, var(--arpp-primaria) 12%, #fff 88%);
}

.arpp-summary-card {
  overflow: hidden;
}

.arpp-mini-stat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem 0;
  border-bottom: 1px solid #edf0f4;
}

.arpp-mini-stat-label {
  color: #6b7280;
  font-size: .96rem;
  font-weight: 600;
}

.arpp-mini-stat-value {
  font-size: 1.55rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -.02em;
}

.arpp-chart-card .card-header {
  padding: 1rem 1.25rem .25rem;
}

.arpp-chart-wrap--modern {
  height: 360px;
}

.arpp-chart-metrics {
  display: flex;
  gap: .75rem;
  flex-wrap: wrap;
}

.arpp-chart-metrics > div {
  min-width: 170px;
  border: 1px solid #edf0f4;
  background: #f8fafc;
  border-radius: 14px;
  padding: .7rem .85rem;
}

.arpp-chart-metrics span {
  display: block;
  color: #6b7280;
  font-size: .78rem;
  margin-bottom: .15rem;
}

.arpp-chart-metrics strong {
  font-size: 1rem;
  color: #111827;
}
