/* RD-APP -- tema oscuro, línea visual consistente con KPI/CRM/OTD */
:root {
  --rd-bg: #0f1420;
  --rd-surface: #171d2d;
  --rd-surface-2: #1e2638;
  --rd-border: #2a3348;
  --rd-ink: #e8edf4;
  --rd-ink-soft: #97a2b8;
  --rd-accent: #4d9bff;
  --rd-accent-deep: #2f6fd1;
  --rd-good: #2fd27f;
  --rd-warn: #e0a23b;
  --rd-bad: #ff6b6b;
}

body {
  background-color: var(--rd-bg);
  background-image: radial-gradient(1100px 650px at 50% -10%, #19233a 0%, var(--rd-bg) 60%);
  background-attachment: fixed;
  color: var(--rd-ink);
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.rd-navbar {
  background: rgba(15, 20, 32, 0.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--rd-border);
}
.rd-navbar .navbar-brand { color: var(--rd-ink); font-weight: 800; }
.rd-navbar .nav-link { color: var(--rd-ink-soft); font-weight: 600; }
.rd-navbar .nav-link.active, .rd-navbar .nav-link:hover { color: var(--rd-ink); }
.rd-dropdown { background: var(--rd-surface); border: 1px solid var(--rd-border); }
.rd-dropdown .dropdown-item { color: var(--rd-ink-soft); }
.rd-dropdown .dropdown-item:hover { background: var(--rd-surface-2); color: var(--rd-ink); }

.btn-rd-accent { background: var(--rd-accent); border-color: var(--rd-accent); color: #fff; font-weight: 700; }
.btn-rd-accent:hover { background: var(--rd-accent-deep); border-color: var(--rd-accent-deep); color: #fff; }

.card {
  background: var(--rd-surface);
  border: 1px solid var(--rd-border);
  border-radius: 14px;
  color: var(--rd-ink);
}
.card-header { background: var(--rd-surface-2); border-bottom: 1px solid var(--rd-border); font-weight: 700; }

.form-control, .form-select {
  background: var(--rd-surface-2); color: var(--rd-ink); border: 1px solid var(--rd-border);
}
.form-control:focus, .form-select:focus {
  background: var(--rd-surface-2); color: var(--rd-ink); border-color: var(--rd-accent);
  box-shadow: 0 0 0 3px rgba(77, 155, 255, .2);
}
.form-control::placeholder { color: var(--rd-ink-soft); }
.form-label { color: var(--rd-ink-soft); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }
.form-select option { color: #16213a; background-color: #fff; } /* legible en el popup nativo */

.table { color: var(--rd-ink); }
.table > :not(caption) > * > * { background: transparent; border-bottom-color: var(--rd-border); }
.table-hover > tbody > tr:hover > * { background: var(--rd-surface-2); }

.text-muted { color: var(--rd-ink-soft) !important; }

.kpi-tile { background: var(--rd-surface); border: 1px solid var(--rd-border); border-radius: 14px; padding: 1.1rem 1.3rem; }
.kpi-tile .kpi-label { font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--rd-ink-soft); }
.kpi-tile .kpi-value { font-size: 1.8rem; font-weight: 800; margin-top: .2rem; }

.progress-rd { height: 8px; border-radius: 999px; background: var(--rd-surface-2); overflow: hidden; }
.progress-rd span { display: block; height: 100%; background: linear-gradient(90deg, var(--rd-accent-deep), var(--rd-accent)); border-radius: 999px; }

/* Kanban */
.kanban-wrap { display: flex; gap: 14px; overflow-x: auto; padding-bottom: 10px; }
.kanban-col { flex: 0 0 280px; background: var(--rd-surface); border: 1px solid var(--rd-border); border-radius: 14px; padding: .8rem; }
.kanban-col-title { font-weight: 800; font-size: .82rem; text-transform: uppercase; letter-spacing: .03em; color: var(--rd-ink-soft); margin-bottom: .6rem; display: flex; justify-content: space-between; align-items: center; }
.kanban-card { background: var(--rd-surface-2); border: 1px solid var(--rd-border); border-radius: 10px; padding: .7rem .8rem; margin-bottom: .6rem; display: block; color: var(--rd-ink); text-decoration: none; }
.kanban-card:hover { border-color: var(--rd-accent); color: var(--rd-ink); }
.kanban-card .folio { font-size: .72rem; color: var(--rd-ink-soft); font-weight: 700; }
.kanban-card .titulo { font-weight: 700; margin: .2rem 0; }

.badge-clasif-alta { background: rgba(255,107,107,.18); color: var(--rd-bad); }
.badge-clasif-media { background: rgba(224,162,59,.18); color: var(--rd-warn); }
.badge-clasif-baja { background: rgba(151,162,184,.18); color: var(--rd-ink-soft); }

.login-wrap { max-width: 400px; margin: 8vh auto; }
.login-card { background: var(--rd-surface); border: 1px solid var(--rd-border); border-radius: 18px; padding: 2.2rem; }
