/* ===================================================================
   HUB INTERNO LPS — folha de estilo compartilhada.
   Fica na RAIZ do interno.lpsnegocios.com.br e é carregada por todas as
   ferramentas com <link rel="stylesheet" href="../hub.css">.

   Pra mudar a cara do hub inteiro, mexe só aqui embaixo, no :root.
   =================================================================== */

:root{
  /* ---- Marca LPS ---- */
  --accent:#6d1f2a;          /* vinho/marsala do logo */
  --accent-2:#8f2b39;        /* vinho mais claro, pra hover e degradê */
  --accent-soft:#f6e9eb;     /* fundo suave de selo/aba ativa */

  --gold:#b08d57;            /* dourado de apoio (linha da aba ativa) */
  --gold-soft:#f7efe0;

  /* ---- Superfícies e texto ---- */
  --bg:#f7f5f4;
  --surface:#ffffff;
  --surface-2:#faf8f8;
  --border:#e3dcdc;
  --border-soft:#efe9e9;
  --text:#241d1e;
  --text-dim:#5d5254;
  --text-faint:#948a8c;

  /* ---- Estados ---- */
  --ok:#1f7a44;        --ok-soft:#e6f4ec;
  --danger:#b3261e;    --danger-soft:#fbeae9;
  --warn:#8a6d00;      --warn-soft:#fdf3d6;

  /* ---- Raios ---- */
  --r:14px;
  --r-sm:8px;
}

*{box-sizing:border-box;}

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

.wrap{max-width:1280px;margin:0 auto;padding:34px 22px 80px;}

/* ---------------- Tipografia ---------------- */
h1{
  font-family:'Lora','Spectral',Georgia,serif;
  font-size:30px;font-weight:600;letter-spacing:-.01em;
  margin:4px 0 6px;color:var(--text);
}
h2{font-family:'Lora','Spectral',Georgia,serif;font-size:20px;font-weight:600;margin:0 0 10px;}
h3{font-size:15px;font-weight:600;margin:0 0 8px;}

.eyebrow{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
  color:var(--accent);
}
.subtitle{color:var(--text-dim);font-size:13.5px;max-width:820px;margin-bottom:22px;}

.section-title{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--accent);margin:0 0 12px;
  padding-bottom:7px;border-bottom:1px solid var(--border-soft);
}

.hint{color:var(--text-faint);font-size:12px;}
.small{font-size:12px;}
.link{color:var(--accent);text-decoration:none;font-weight:600;cursor:pointer;}
.link:hover{text-decoration:underline;}

.danger-link{
  background:none;border:none;padding:0;font:inherit;font-size:12px;
  color:var(--danger);cursor:pointer;text-decoration:underline;
}
.danger-link:hover{opacity:.75;}

.empty{
  padding:26px;text-align:center;color:var(--text-faint);font-size:13px;
  background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--r-sm);
}

/* ---------------- Cartões ---------------- */
.card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:20px;
  margin-bottom:16px;
  box-shadow:0 1px 2px rgba(36,29,30,.04);
}

.row-inline{display:flex;gap:12px;align-items:center;flex-wrap:wrap;}

/* ---------------- Formulários ---------------- */
.field{margin-bottom:14px;}
label{font-size:12px;color:var(--text-dim);}

input[type=text],input[type=password],input[type=number],input[type=date],
input[type=month],input[type=email],input[type=time],select,textarea{
  font-family:inherit;font-size:13.5px;color:var(--text);
  background:var(--surface);
  border:1.5px solid var(--border);
  border-radius:var(--r-sm);
  padding:8px 10px;
  transition:border-color .12s,box-shadow .12s;
  max-width:100%;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--accent);
  box-shadow:0 0 0 3px var(--accent-soft);
}
input:disabled,select:disabled{background:var(--surface-2);color:var(--text-faint);}
textarea{width:100%;min-height:80px;resize:vertical;}

/* ---------------- Botões ---------------- */
button{
  font-family:inherit;font-weight:600;font-size:13px;
  padding:9px 16px;border-radius:var(--r-sm);cursor:pointer;
  border:1.5px solid var(--border);background:var(--surface);color:var(--text-dim);
  transition:background .12s,border-color .12s,color .12s,opacity .12s;
}
button:hover{border-color:var(--accent);color:var(--accent);}
button:disabled{opacity:.5;cursor:not-allowed;}

button.primary{background:var(--accent);border-color:var(--accent);color:#fff;}
button.primary:hover{background:var(--accent-2);border-color:var(--accent-2);color:#fff;}

button.ghost{background:transparent;}
button.ghost:hover{background:var(--accent-soft);}

button.small{padding:6px 11px;font-size:12px;}
button.danger{background:var(--danger-soft);border-color:var(--danger);color:var(--danger);}

/* ---------------- Tabelas ---------------- */
table{width:100%;border-collapse:collapse;font-size:13px;}
th{
  position:sticky;top:0;z-index:2;
  background:var(--surface-2);
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-dim);text-align:left;
  padding:10px;border-bottom:1px solid var(--border);white-space:nowrap;
}
td{padding:10px;border-bottom:1px solid var(--border-soft);vertical-align:middle;color:var(--text-dim);}
tbody tr:hover td{background:var(--surface-2);}
tbody tr:last-child td{border-bottom:none;}

/* ---------------- Selos genéricos ---------------- */
.badge{
  display:inline-block;padding:3px 9px;border-radius:20px;white-space:nowrap;
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:var(--accent-soft);color:var(--accent);
}

/* ---------------- Responsivo ---------------- */
@media (max-width:720px){
  .wrap{padding:22px 14px 60px;}
  h1{font-size:24px;}
  table{font-size:12.5px;}
  th,td{padding:8px 7px;}
}
