/* Portal Soprano — estilo base
   (paleta e tokens espelham o design do relatório em public/relatorio.php,
   pra tela de login/admin não destoar visualmente do resto do portal) */

:root {
  --sp-primary:      #5742dd;
  --sp-primary-dark: #4433b0;
  --sp-primary-soft: #efecfd;
  --sp-ink:      #1b1f2e;
  --sp-ink-soft: #4d5568;
  --sp-ink-mute: #8891a5;
  --sp-paper:    #ffffff;
  --sp-canvas:   #f4f5fa;
  --sp-border:   #e3e6f0;
  --sp-r:    10px;
  --sp-r-lg: 14px;
  --sp-shadow: 0 1px 2px rgba(27,31,46,0.04), 0 10px 30px rgba(27,31,46,0.07);

  /* aliases usados no restante do arquivo (dash-*, etc.) */
  --sp-bg:      var(--sp-canvas);
  --sp-card:    var(--sp-paper);
  --sp-text:    var(--sp-ink);
  --sp-muted:   var(--sp-ink-mute);
  --sp-accent:  #f59e0b;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--sp-bg);
  color: var(--sp-text);
}

/* ---------- LOGIN ---------- */
.login-body {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--sp-canvas);
}

.login-wrap { width: 100%; max-width: 360px; padding: 1rem; }

.login-card {
  background: var(--sp-paper);
  border: 1px solid var(--sp-border);
  border-radius: var(--sp-r-lg);
  padding: 2rem 1.75rem;
  box-shadow: var(--sp-shadow);
}

.login-brand { text-align: center; margin-bottom: 1.75rem; }

.login-logo {
  height: 18px;
  width: auto;
  margin-bottom: 1.25rem;
}

.login-title {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.2px;
  margin: 0;
  color: var(--sp-ink);
}

.login-sub {
  color: var(--sp-ink-mute);
  font-size: 0.8rem;
  margin: 0.2rem 0 0;
}

.login-form .form-label {
  color: var(--sp-ink-mute);
  font-size: 0.68rem;
  letter-spacing: 0.4px;
}

.login-form .form-control {
  border-radius: var(--sp-r);
  border: 1px solid var(--sp-border);
  padding: 0.65rem 0.85rem;
  font-size: 0.9rem;
  background: var(--sp-canvas);
}

.login-form .form-control:focus {
  border-color: var(--sp-primary);
  box-shadow: 0 0 0 3px var(--sp-primary-soft);
  background: var(--sp-paper);
}

.login-form .btn-primary {
  background: var(--sp-primary);
  border: none;
  border-radius: var(--sp-r);
  padding: 0.65rem;
  font-size: 0.85rem;
  font-weight: 600;
  transition: background 0.15s ease;
}

.login-form .btn-primary:hover,
.login-form .btn-primary:focus {
  background: var(--sp-primary-dark);
}

.login-foot {
  text-align: center;
  color: var(--sp-ink-mute);
  font-size: 0.72rem;
  margin: 1.5rem 0 0;
}

/* ---------- DASHBOARD (placeholder p/ próxima sprint) ---------- */
.dash-shell { display: flex; min-height: 100vh; }
.dash-sidebar {
  width: 240px;
  background: #1a1d2b;
  color: #c5c8d4;
  padding: 1.5rem 1rem;
}
.dash-sidebar h1 { color: #fff; font-size: 1.1rem; font-weight: 700; }
.dash-main { flex: 1; padding: 1.5rem 2rem; }
.dash-card {
  background: var(--sp-card);
  border-radius: 12px;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  border: 1px solid var(--sp-border);
}
.dash-kpi { font-size: 2rem; font-weight: 700; color: var(--sp-text); }
.dash-kpi-label { color: var(--sp-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 0.5px; }
.dash-delta-up   { color: #16a34a; font-weight: 600; }
.dash-delta-down { color: #dc2626; font-weight: 600; }

.dash-nav-active { color: #fff; font-weight: 600; border-left: 3px solid var(--sp-accent); padding-left: 8px; }
.dash-kpi-delta  { margin-top: 6px; }
.dash-filters    { background: var(--sp-card); border: 1px solid var(--sp-border); border-radius: 12px; padding: 1rem 1.25rem; }
.dash-last-refresh { font-size: 0.8rem; }
