/* ==========================================================================
   Nestor — app.css
   Tokens globais (cores, tipografia, raios, sombras) + reset básico
   ========================================================================== */

:root {
  /* Cores de marca */
  --color-primary: #232158;
  --color-primary-hover: #1a1844;
  --color-primary-dark: #1a1844;
  --color-primary-light: #ecebf3;

  /* Fundo e superfícies */
  --color-bg: #FBF7EF;
  --color-surface: #ffffff;

  /* Texto */
  --color-text: #232158;
  --color-text-muted: #6b7280;
  --color-text-muted-2: #8a8aa3;

  /* Estados */
  --color-success: #2e7d32;
  --color-success-bg: #e8f5e9;
  --color-warning: #b8860b;
  --color-warning-bg: #fff7e0;
  --color-danger: #c0392b;
  --color-danger-bg: #fdecea;
  --color-info: #2563eb;
  --color-info-bg: #e8f0fe;
  --color-neutral: #9ca3af;
  --color-neutral-bg: #f1f2f4;
  --color-purple: #7c3aed;
  --color-purple-bg: #f1e9fd;

  /* Bordas */
  --color-border: #e7e3d8;
  --color-border-strong: #d8d3c4;

  /* Raios */
  --radius-card: 16px;
  --radius-input: 10px;
  --radius-pill: 999px;
  --radius-sm: 8px;

  /* Sombras */
  --shadow-card: 0 2px 10px rgba(35, 33, 88, 0.06);
  --shadow-card-hover: 0 6px 20px rgba(35, 33, 88, 0.1);
  --shadow-popover: 0 10px 30px rgba(35, 33, 88, 0.15);

  /* Tipografia */
  --font-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* Layout */
  --header-height: 64px;
  --sidebar-width: 260px;
  --bottom-nav-height: 64px;
}

* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: var(--font-base);
  background-color: var(--color-bg);
  color: var(--color-text);
  font-size: 15px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--color-primary);
  text-decoration: none;
}

a:hover {
  color: var(--color-primary-hover);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--color-text);
  font-weight: 600;
  margin: 0;
}

p {
  margin: 0;
}

.text-muted-nestor {
  color: var(--color-text-muted);
}

/* Logo da marca (header e login) */
.brand-logo {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  display: block;
}

.ns-login-brand-icon .brand-logo {
  width: 55px;
  height: 55px;
}

/* Botões — sobrescreve Bootstrap para usar a identidade Nestor */
.btn-primary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
}

.btn-primary:disabled {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  opacity: 0.65;
}

.btn-link-nestor {
  color: var(--color-primary);
  font-weight: 500;
}

.btn-link-nestor:hover {
  color: var(--color-primary-hover);
}

/* Inputs */
.form-control,
.form-select {
  border-radius: var(--radius-input);
  border-color: var(--color-border-strong);
  padding: 0.65rem 0.9rem;
  font-size: 15px;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-light);
}

.form-label {
  color: var(--color-text);
  font-weight: 500;
  font-size: 14px;
  margin-bottom: 0.35rem;
}

/* Scrollbar discreta */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  background-color: var(--color-border-strong);
  border-radius: var(--radius-pill);
}
