/* Paleta compartida con Intranet Costos y Presupuestos. */
:root {
  --bg: #f6f6f2; --panel: #fff; --ink: #151515; --muted: #66665f;
  --line: #deded2; --accent: #ffe600; --accent-strong: #111111;
  --accent-soft: #fff8b8; --danger: #b42318; --warning: #9a6700; --success: #1b7f45;
  --shadow: 0 14px 35px rgba(25,42,70,.08);
  --bs-primary: #111111; --bs-primary-rgb: 17,17,17;
  --bs-body-color: #151515; --bs-body-bg: #f6f6f2;
  --bs-link-color: #151515; --bs-link-hover-color: #66665f;
}
body { background: var(--bg) !important; color: var(--ink); font-family: 'Segoe UI', Arial, sans-serif !important; }
body::before { background: transparent !important; }
.card, .card-form, .login-card { background: var(--panel) !important; border: 1px solid var(--line); box-shadow: var(--shadow) !important; }
.card-header, .modal-header { border-color: var(--line); }
h1, h2, h3, h4, .form-label, .titulo-logo h2, .login-header h4, h2 i, .toggle-btn { color: var(--ink) !important; }
a { color: var(--ink); }
.btn-primary { --bs-btn-color: #111; --bs-btn-bg: #ffe600; --bs-btn-border-color: #ffe600; --bs-btn-hover-color: #111; --bs-btn-hover-bg: #fff8b8; --bs-btn-hover-border-color: #e5ce00; --bs-btn-active-color: #111; --bs-btn-active-bg: #e5ce00; --bs-btn-active-border-color: #e5ce00; background: var(--accent) !important; border: 1px solid var(--accent) !important; color: var(--accent-strong) !important; font-weight: 600; }
.btn-primary:hover, .btn-primary:focus-visible { background: var(--accent-soft) !important; border-color: #e5ce00 !important; }
.btn-secondary { background: var(--accent-strong); border-color: var(--accent-strong); color: #fff; }
.btn-success { background: var(--success) !important; border-color: var(--success) !important; color: #fff !important; }
.btn-success:hover { background: #146536 !important; }
.btn-outline-primary { --bs-btn-color: #111; --bs-btn-border-color: #111; --bs-btn-hover-color: #111; --bs-btn-hover-bg: #ffe600; --bs-btn-hover-border-color: #ffe600; --bs-btn-active-bg: #ffe600; --bs-btn-active-color: #111; }
.sidebar { background: var(--accent-strong) !important; color: #fff; }
.sidebar a { color: #eee !important; }
.sidebar a:hover, .sidebar a.active { background: #292929 !important; border-left-color: var(--accent) !important; color: var(--accent) !important; }
.metric-box { background: #292929 !important; }
.metric-box span { color: var(--accent); }
.table-dark { --bs-table-bg: #111; --bs-table-color: #fff; --bs-table-border-color: #333; }
.table-primary { --bs-table-bg: #fff8b8; --bs-table-border-color: #deded2; --bs-table-color: #151515; }
.table { --bs-table-border-color: #deded2; }
.pagination .page-link { color: var(--ink) !important; }
.pagination .page-item.active .page-link { background: var(--accent) !important; border-color: var(--accent) !important; color: #111 !important; }
.form-control:focus, .form-select:focus { border-color: #b8a600 !important; box-shadow: 0 0 0 .2rem rgba(255,230,0,.25) !important; }
.form-check-input:checked { background-color: #111 !important; border-color: #111 !important; }
.alert-info { background: var(--accent-soft) !important; border-color: #e6d96c !important; color: var(--ink) !important; }
.text-primary, #loaderOverlay p, #loaderOverlay .spinner-border { color: var(--ink) !important; }
.bg-primary { background-color: var(--accent-strong) !important; color: #fff; }
#aceptoPoliticas { border-color: var(--accent); background: var(--accent-soft); }
.politicas-box label { color: var(--ink); }

/* El formulario público conserva la imagen original con un panel translúcido. */
body.pagina-formulario { background: url('img/logo1.jpg') center / cover no-repeat fixed !important; }
.pagina-formulario .card-form { background: rgba(255,255,255,.44) !important; border-color: rgba(255,255,255,.65); }
.pagina-formulario .form-control, .pagina-formulario .form-select {
  background-color: rgba(255,255,255,.95);
  color: #151515;
  border: 1px solid #929289;
  box-shadow: 0 3px 10px rgba(0,0,0,.16);
}
.pagina-formulario .form-control:focus, .pagina-formulario .form-select:focus {
  border-color: #111 !important;
  box-shadow: 0 0 0 .25rem rgba(255,230,0,.65), 0 3px 10px rgba(0,0,0,.16) !important;
}
.pagina-formulario .form-control[readonly] { background-color: #f0f0e8; }
.pagina-formulario .form-label, .pagina-formulario .form-check-label {
  font-weight: 700;
  text-shadow: 0 1px 3px #fff, 0 0 6px rgba(255,255,255,.9);
}
.pagina-formulario .btn-primary {
  border: 2px solid #111 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.28);
  font-weight: 700;
}
.pagina-formulario .btn-primary:hover { background: #fff063 !important; }
.pagina-formulario .btn-primary:focus-visible { outline: 3px solid #111; outline-offset: 3px; }
.pagina-formulario .form-check-input { background-color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.2); }
