/* ==========================================================================
   PRIOMAX SALES ENGINE — BASE
   Reset + tipografia global + layout do shell (sidebar/topbar/content)
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
html, body { height: 100%; }
body{
  margin:0;
  font-family: var(--pm-fonte);
  background: var(--pm-fundo);
  color: var(--pm-texto);
  -webkit-font-smoothing: antialiased;
}
a{ color: inherit; text-decoration: none; }
button{ font-family: inherit; cursor: pointer; }
input, select, textarea{ font-family: inherit; }
h1,h2,h3,h4,p,ul{ margin:0; }
img{ max-width:100%; display:block; }

/* ---- App shell ---- */
.pm-app{ display:flex; min-height:100vh; }

.pm-sidebar{
  width: var(--pm-sidebar-w); flex-shrink:0; background: var(--pm-azul-fundo);
  position: fixed; top:0; left:0; bottom:0; overflow-y:auto; z-index:30;
  padding: 20px 14px 30px; transition: transform .2s ease;
}
.pm-sidebar, .pm-sidebar *{ color:#fff !important; }

.pm-main{ flex:1; min-width:0; margin-left: var(--pm-sidebar-w); display:flex; flex-direction:column; min-height:100vh; }

.pm-topbar{
  position: sticky; top:0; z-index: var(--pm-z-topbar); background:#fff;
  border-bottom:1px solid var(--pm-linha); padding: 14px 30px;
  display:flex; align-items:center; gap:16px; justify-content:space-between;
}

.pm-content{ padding: 28px 32px 90px; max-width: 1180px; width:100%; }

.pm-hamburger{ display:none; }

@media (max-width: 992px){
  .pm-sidebar{ transform: translateX(-100%); }
  .pm-sidebar.pm-open{ transform: translateX(0); box-shadow: var(--pm-sombra-lg); }
  .pm-main{ margin-left:0; }
  .pm-hamburger{ display:inline-flex; }
  .pm-content{ padding: 20px 16px 70px; }
}

/* ---- Utility ---- */
.pm-kicker{ font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--pm-azul); margin-bottom:8px; }
.pm-h1{ font-size:1.6rem; font-weight:800; margin:0 0 8px; }
.pm-lead{ color:var(--pm-texto-suave); font-size:.92rem; line-height:1.6; max-width:720px; margin:0 0 22px; }
.pm-grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pm-grid-3{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:16px; }
.pm-grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width: 900px){ .pm-grid-2,.pm-grid-3,.pm-grid-4{ grid-template-columns:1fr; } }
.pm-row{ display:flex; gap:12px; flex-wrap:wrap; }
.pm-muted{ color: var(--pm-texto-suave); }
.pm-skeleton{
  background: linear-gradient(90deg, #ECEEF7 25%, #F6F7FC 37%, #ECEEF7 63%);
  background-size: 400% 100%; animation: pm-shimmer 1.4s ease infinite; border-radius: 8px;
}
@keyframes pm-shimmer{ 0%{background-position:100% 0} 100%{background-position:0 0} }

::-webkit-scrollbar{ width:8px; height:8px; }
::-webkit-scrollbar-thumb{ background:#C7CCE6; border-radius:8px; }
