/* ==========================================================================
   Paleta: BRANCO / PRETO / DOURADO
   ========================================================================== */
:root {
  --gold: #c9a44c;
  --gold-soft: #e6c878;
  --gold-dark: #8c6f23;
  --gold-bg: #fbf6e9;
  --black: #111111;
  --black-soft: #1d1d1d;
  --gray-line: #ececec;
  --white: #ffffff;
}

body {
  background: var(--white);
  color: var(--black);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* --------- Bootstrap overrides --------- */
.bg-primary { background-color: var(--black) !important; }
.text-primary { color: var(--gold-dark) !important; }
.text-success { color: #6b8e23 !important; }
.text-warning { color: var(--gold) !important; }
.text-info    { color: var(--gold-dark) !important; }
.text-danger  { color: #8b1a1a !important; }

.btn-primary {
  background-color: var(--black);
  border-color: var(--black);
  color: var(--gold-soft);
  font-weight: 500;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--gold);
  border-color: var(--gold);
  color: var(--black);
}

.btn-success {
  background-color: var(--gold);
  border-color: var(--gold);
  color: var(--black);
}
.btn-success:hover { background-color: var(--gold-dark); border-color: var(--gold-dark); color: #fff; }

.btn-warning {
  background-color: var(--gold-soft);
  border-color: var(--gold-soft);
  color: var(--black);
}
.btn-warning:hover { background-color: var(--gold); border-color: var(--gold); color: var(--black); }

.btn-info {
  background-color: var(--black-soft);
  border-color: var(--black-soft);
  color: var(--gold-soft);
}
.btn-info:hover { background-color: var(--gold-dark); border-color: var(--gold-dark); color: #fff; }

.btn-danger {
  background-color: #2a2a2a;
  border-color: #2a2a2a;
  color: var(--gold-soft);
}
.btn-danger:hover { background-color: #8b1a1a; border-color: #8b1a1a; color: #fff; }

.btn-outline-light { color: var(--gold-soft); border-color: var(--gold-soft); }
.btn-outline-light:hover { background-color: var(--gold); border-color: var(--gold); color: var(--black); }

.badge.bg-primary { background-color: var(--gold) !important; color: var(--black) !important; }

a, .btn-link { color: var(--gold-dark); }
a:hover { color: var(--black); }

/* --------- Navbar --------- */
.navbar.bg-primary {
  background: var(--black) !important;
  border-bottom: 2px solid var(--gold);
}
.navbar-brand img { box-shadow: 0 0 0 1px var(--gold); }
.navbar-brand span { color: var(--gold-soft); font-weight: 500; letter-spacing: .3px; }
.navbar-dark .navbar-brand,
.navbar-dark .nav-link {
  color: var(--gold-soft) !important;
}
.navbar-dark .nav-link:hover { color: #fff !important; }
.navbar-dark .navbar-text { color: var(--gold-soft) !important; }

/* --------- Cards --------- */
.card {
  border: 1px solid var(--gray-line);
  border-radius: .65rem;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  background: var(--white);
}
.card-header {
  background: var(--white);
  border-bottom: 1px solid var(--gray-line);
  font-weight: 600;
  color: var(--black);
}
.card h5 { color: var(--black); font-weight: 600; }

/* --------- Forms --------- */
.form-control:focus, .form-select:focus, .form-range:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 .15rem rgba(201,164,76,.2);
}
.form-check-input:checked {
  background-color: var(--gold-dark);
  border-color: var(--gold-dark);
}

/* --------- Diário (emojis) --------- */
.emoji-btn {
  font-size: 2rem;
  padding: .5rem 1rem;
  border: 2px solid transparent;
  background: var(--white);
  border-radius: .75rem;
  cursor: pointer;
  transition: all .15s;
}
.emoji-btn:hover { background: var(--gold-bg); }
.emoji-btn.active {
  border-color: var(--gold);
  background: var(--gold-bg);
}

/* --------- Cards de escala --------- */
.scale-card { transition: transform .12s; border-top: 3px solid var(--gold); }
.scale-card:hover { transform: translateY(-3px); box-shadow: 0 6px 14px rgba(201,164,76,.18); }

/* --------- Calendário de adesão --------- */
.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.calendar-day {
  aspect-ratio: 1;
  border-radius: .35rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .85rem;
  color: var(--black);
  border: 1px solid var(--gray-line);
}
.calendar-day.total       { background: var(--gold); color: var(--black); border-color: var(--gold); font-weight: 600; }
.calendar-day.parcial     { background: var(--gold-soft); color: var(--black); border-color: var(--gold-soft); }
.calendar-day.sem_registro{ background: #f5f5f5; color: #999; }
.calendar-day.futuro,
.calendar-day.sem_med     { background: var(--white); color: #ccc; }

/* --------- Alertas --------- */
.alert-icon { color: #8b1a1a; font-size: 1.1rem; }
.alert-warning { background-color: var(--gold-bg); border-color: var(--gold-soft); color: var(--gold-dark); }
.alert-success { background-color: #f3f7e9; border-color: #d6e2b3; color: #5a6e1f; }
.alert-info    { background-color: #f6f6f6; border-color: #ddd; color: var(--black); }
.alert-danger  { background-color: #fbeaea; border-color: #e7b8b8; color: #8b1a1a; }

/* --------- Tabs --------- */
.nav-tabs .nav-link { color: var(--black); border: none; border-bottom: 2px solid transparent; }
.nav-tabs .nav-link.active {
  color: var(--gold-dark);
  border-bottom: 2px solid var(--gold);
  background: transparent;
  font-weight: 600;
}
.tab-content { padding-top: 1.25rem; }

/* --------- Tabela --------- */
.table thead th {
  background: var(--black);
  color: var(--gold-soft);
  font-weight: 500;
  border: none;
}
.table tbody tr:hover { background: var(--gold-bg); }

/* --------- Login --------- */
.login-wrap {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at 20% 20%, rgba(201,164,76,0.15), transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(201,164,76,0.10), transparent 50%),
    var(--black);
}
.login-card {
  width: 100%;
  max-width: 420px;
  border-top: 4px solid var(--gold);
}
.login-card .text-primary { color: var(--gold-dark) !important; }

/* --------- Misc --------- */
hr { border-color: var(--gray-line); }
.list-group-item { border-color: var(--gray-line); }

@media (max-width: 576px) {
  .emoji-btn { font-size: 1.5rem; padding: .35rem .6rem; }
}
