/* =====================================================================
   LINMARA FOLHEADOS PREMIUM — ERP
   Identidade visual: branco, dourado, marrom, preto
   ===================================================================== */

:root {
  --lm-branco: #FFFFFF;
  --lm-creme: #FAF7F2;
  --lm-dourado: #C9A227;
  --lm-dourado-claro: #E9D9A8;
  --lm-marrom: #4A3223;
  --lm-marrom-escuro: #2E1F16;
  --lm-preto: #1A1512;
  --lm-texto: #2B2420;
  --lm-cinza: #8B8378;
  --lm-borda: #E8E1D4;
  --lm-sucesso: #3C8B5C;
  --lm-perigo: #B23A3A;
  --lm-alerta: #C98A1F;

  --fonte-titulo: 'Cormorant Garamond', Georgia, serif;
  --fonte-corpo: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  --sidebar-largura: 260px;
  --sidebar-largura-recolhida: 76px;
}

* { box-sizing: border-box; }

body {
  font-family: var(--fonte-corpo);
  background: var(--lm-creme);
  color: var(--lm-texto);
}

h1, h2, h3, h4, .lm-titulo {
  font-family: var(--fonte-titulo);
  color: var(--lm-marrom-escuro);
  font-weight: 600;
  letter-spacing: 0.3px;
}

a { text-decoration: none; }

/* ---------- LOGIN ---------- */
.lm-login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at top left, var(--lm-marrom) 0%, var(--lm-preto) 65%);
  padding: 20px;
}

.lm-login-card {
  background: var(--lm-branco);
  border-radius: 18px;
  box-shadow: 0 25px 60px rgba(0,0,0,0.35);
  padding: 48px 44px;
  width: 100%;
  max-width: 420px;
  border-top: 4px solid var(--lm-dourado);
}

.lm-login-marca {
  text-align: center;
  margin-bottom: 28px;
}

.lm-login-marca .brasao {
  width: 56px; height: 56px;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--lm-dourado), #9c7b16);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  color: var(--lm-branco);
  font-family: var(--fonte-titulo);
  font-size: 26px;
  font-weight: 700;
  box-shadow: 0 6px 16px rgba(201,162,39,0.4);
}

.lm-login-marca h1 {
  font-size: 26px;
  margin-bottom: 2px;
}

.lm-login-marca p {
  color: var(--lm-cinza);
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.lm-input-group label {
  font-size: 13px;
  font-weight: 600;
  color: var(--lm-marrom);
  margin-bottom: 6px;
}

.lm-input-group .form-control {
  border: 1.5px solid var(--lm-borda);
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 14.5px;
}

.lm-input-group .form-control:focus {
  border-color: var(--lm-dourado);
  box-shadow: 0 0 0 0.2rem rgba(201,162,39,0.18);
}

.btn-lm-dourado {
  background: linear-gradient(135deg, var(--lm-dourado), #a9860f);
  border: none;
  color: var(--lm-branco);
  font-weight: 600;
  border-radius: 10px;
  padding: 11px;
  letter-spacing: 0.5px;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.btn-lm-dourado:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(201,162,39,0.35);
  color: var(--lm-branco);
}

.lm-login-links {
  text-align: center;
  margin-top: 18px;
  font-size: 13.5px;
}

.lm-login-links a { color: var(--lm-marrom); font-weight: 600; }
.lm-login-links a:hover { color: var(--lm-dourado); }

/* ---------- APP SHELL (sidebar + conteúdo) ---------- */
.lm-app {
  display: flex;
  min-height: 100vh;
}

.lm-sidebar {
  width: var(--sidebar-largura);
  background: linear-gradient(180deg, var(--lm-preto), var(--lm-marrom-escuro));
  color: var(--lm-branco);
  flex-shrink: 0;
  transition: width 0.2s ease;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  z-index: 20;
}

.lm-sidebar.recolhida { width: var(--sidebar-largura-recolhida); }

.lm-sidebar-topo {
  padding: 22px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.lm-sidebar-topo .brasao {
  width: 38px; height: 38px; flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, var(--lm-dourado), #9c7b16);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--fonte-titulo);
  font-weight: 700;
  color: var(--lm-preto);
}

.lm-sidebar-topo .nome-empresa {
  font-family: var(--fonte-titulo);
  font-size: 17px;
  line-height: 1.15;
  white-space: nowrap;
}

.lm-sidebar.recolhida .nome-empresa,
.lm-sidebar.recolhida .texto-menu,
.lm-sidebar.recolhida .secao-titulo { display: none; }

.lm-menu { list-style: none; padding: 16px 12px; margin: 0; }

.lm-menu .secao-titulo {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--lm-dourado-claro);
  opacity: 0.7;
  padding: 14px 12px 6px;
}

.lm-menu a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  color: rgba(255,255,255,0.82);
  font-size: 14.5px;
  margin-bottom: 2px;
  white-space: nowrap;
}

.lm-menu a i { width: 18px; text-align: center; color: var(--lm-dourado); }

.lm-menu a:hover, .lm-menu a.ativo {
  background: rgba(201,162,39,0.14);
  color: var(--lm-branco);
}

.lm-menu a.ativo { border-left: 3px solid var(--lm-dourado); }

.lm-conteudo { flex: 1; min-width: 0; }

.lm-topbar {
  background: var(--lm-branco);
  border-bottom: 1px solid var(--lm-borda);
  padding: 14px 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: sticky;
  top: 0;
  z-index: 10;
}

.lm-topbar .btn-toggle {
  background: none; border: none; font-size: 20px; color: var(--lm-marrom);
}

.lm-usuario-chip {
  display: flex; align-items: center; gap: 10px;
}

.lm-usuario-chip .avatar {
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--lm-dourado-claro);
  color: var(--lm-marrom-escuro);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
}

.lm-pagina { padding: 26px; }

/* ---------- CARDS KPI ---------- */
.lm-kpi-card {
  background: var(--lm-branco);
  border-radius: 14px;
  border: 1px solid var(--lm-borda);
  padding: 20px 22px;
  height: 100%;
  transition: transform .15s ease, box-shadow .15s ease;
}

.lm-kpi-card:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0,0,0,0.06); }

.lm-kpi-card .icone {
  width: 42px; height: 42px;
  border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  background: var(--lm-dourado-claro);
  color: var(--lm-marrom-escuro);
  font-size: 18px;
  margin-bottom: 12px;
}

.lm-kpi-card .rotulo {
  font-size: 12.5px;
  color: var(--lm-cinza);
  text-transform: uppercase;
  letter-spacing: 0.6px;
}

.lm-kpi-card .valor {
  font-family: var(--fonte-titulo);
  font-size: 26px;
  font-weight: 700;
  color: var(--lm-marrom-escuro);
}

.lm-card {
  background: var(--lm-branco);
  border-radius: 14px;
  border: 1px solid var(--lm-borda);
  padding: 22px;
}

.lm-card-titulo {
  font-family: var(--fonte-titulo);
  font-size: 19px;
  color: var(--lm-marrom-escuro);
  margin-bottom: 16px;
  font-weight: 700;
}

.table-lm thead th {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--lm-cinza);
  border-bottom: 2px solid var(--lm-borda);
  font-weight: 700;
}

.table-lm td { font-size: 14px; vertical-align: middle; }

.badge-lm-baixo { background: var(--lm-alerta); }
.badge-lm-zerado { background: var(--lm-perigo); }
.badge-lm-ok { background: var(--lm-sucesso); }

@media (max-width: 768px) {
  .lm-sidebar {
    position: fixed;
    left: -100%;
    height: 100vh;
    box-shadow: 0 0 30px rgba(0,0,0,0.4);
  }
  .lm-sidebar.aberta-mobile { left: 0; width: var(--sidebar-largura); }
  .lm-pagina { padding: 16px; }
}
