/* ============================================================
   Paleta sobria para Radio Taxi (Bootstrap 5 + compatibilidad BS3)
   Azul acero en lugar del azul brillante y bordes suaves.
   ============================================================ */

:root {
    --rt-primary: #3f6f9c;
    --rt-primary-dark: #345d84;
    --rt-primary-darker: #2f5578;
    --rt-primary-light: #6f96bb;
    --rt-primary-soft: #eaf1f7;
    --rt-success: #3f7f63;
    --rt-success-dark: #356b54;
    --rt-info: #5b8fb3;
    --rt-info-dark: #4c7d9d;
    --rt-warning: #b98a2e;
    --rt-warning-dark: #9d7426;
    --rt-danger: #b45353;
    --rt-danger-dark: #984646;
    --rt-border: #d9e1e8;
    --rt-border-soft: #e6ebf0;
    --rt-text: #2c3e50;
    --rt-muted: #6b7a88;
    --rt-surface: #f6f8fa;

    --bs-primary: #3f6f9c;
    --bs-primary-rgb: 63, 111, 156;
    --bs-link-color: #3f6f9c;
    --bs-link-hover-color: #345d84;
    --bs-body-color: #2c3e50;
    --bs-border-color: #d9e1e8;
    --bs-border-color-translucent: rgba(44, 62, 80, .08);
    --bs-secondary-color: #6b7a88;
    --bs-tertiary-bg: #f4f7fa;
}

body {
    color: var(--rt-text);
}

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

a:hover,
a:focus {
    color: var(--rt-primary-dark);
}

/* Botones */
.btn-primary {
    --bs-btn-bg: var(--rt-primary);
    --bs-btn-border-color: var(--rt-primary);
    --bs-btn-hover-bg: var(--rt-primary-dark);
    --bs-btn-hover-border-color: var(--rt-primary-dark);
    --bs-btn-active-bg: var(--rt-primary-darker);
    --bs-btn-active-border-color: var(--rt-primary-darker);
    --bs-btn-disabled-bg: #8ba9c4;
    --bs-btn-disabled-border-color: #8ba9c4;
}

.btn-success {
    --bs-btn-bg: var(--rt-success);
    --bs-btn-border-color: var(--rt-success);
    --bs-btn-hover-bg: var(--rt-success-dark);
    --bs-btn-hover-border-color: var(--rt-success-dark);
    --bs-btn-active-bg: #2d5c48;
    --bs-btn-active-border-color: #2d5c48;
}

.btn-info {
    --bs-btn-bg: var(--rt-info);
    --bs-btn-border-color: var(--rt-info);
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: var(--rt-info-dark);
    --bs-btn-hover-border-color: var(--rt-info-dark);
    --bs-btn-hover-color: #fff;
    --bs-btn-active-bg: #426e8a;
    --bs-btn-active-border-color: #426e8a;
}

.btn-warning {
    --bs-btn-bg: var(--rt-warning);
    --bs-btn-border-color: var(--rt-warning);
    --bs-btn-color: #fff;
    --bs-btn-hover-bg: var(--rt-warning-dark);
    --bs-btn-hover-border-color: var(--rt-warning-dark);
    --bs-btn-hover-color: #fff;
}

.btn-danger {
    --bs-btn-bg: var(--rt-danger);
    --bs-btn-border-color: var(--rt-danger);
    --bs-btn-hover-bg: var(--rt-danger-dark);
    --bs-btn-hover-border-color: var(--rt-danger-dark);
}

.btn-outline-primary {
    --bs-btn-color: var(--rt-primary);
    --bs-btn-border-color: var(--rt-primary);
    --bs-btn-hover-bg: var(--rt-primary);
    --bs-btn-hover-border-color: var(--rt-primary);
    --bs-btn-active-bg: var(--rt-primary-dark);
    --bs-btn-active-border-color: var(--rt-primary-dark);
}

/* Formularios */
.form-control,
.form-select {
    border-color: var(--rt-border);
}

.form-control:focus,
.form-select:focus {
    border-color: #8fb0cc;
    box-shadow: 0 0 0 .2rem rgba(63, 111, 156, .14);
}

/* Tablas */
.table {
    --bs-table-border-color: var(--rt-border-soft);
    --bs-table-striped-bg: #f7f9fb;
    --bs-table-hover-bg: #f1f5f9;
}

.table > :not(caption) > * > * {
    border-bottom-color: var(--rt-border-soft);
}

.table thead th {
    background-color: #f2f5f8;
    color: #43525f;
    border-bottom-color: var(--rt-border);
}

/* Paneles (compatibilidad BS3) */
.panel {
    border-color: var(--rt-border);
    box-shadow: 0 1px 2px rgba(44, 62, 80, .04);
}

.panel-heading {
    border-bottom-color: var(--rt-border-soft);
    background-color: #f5f7f9;
}

.panel-footer {
    border-top-color: var(--rt-border-soft);
    background-color: #f7f9fb;
}

.panel-primary {
    border-color: #c9d7e4;
}

.panel-primary > .panel-heading {
    background-color: var(--rt-primary);
    border-color: var(--rt-primary);
    color: #fff;
}

.panel-info {
    border-color: #d7e3ec;
}

.panel-info > .panel-heading {
    background-color: var(--rt-primary-soft);
    border-color: #d7e3ec;
    color: var(--rt-primary-dark);
}

.panel-default {
    border-color: var(--rt-border);
}

.panel-default > .panel-heading {
    background-color: #f5f7f9;
    border-color: var(--rt-border-soft);
    color: #3a4a58;
}

.panel-success {
    border-color: #cfe3d8;
}

.panel-success > .panel-heading {
    background-color: #eaf4ee;
    border-color: #cfe3d8;
    color: #2f5f4a;
}

.panel-warning {
    border-color: #e8ddc4;
}

.panel-warning > .panel-heading {
    background-color: #faf4e6;
    border-color: #e8ddc4;
    color: #7a5f1f;
}

.panel-danger {
    border-color: #e5cccc;
}

.panel-danger > .panel-heading {
    background-color: #f8eded;
    border-color: #e5cccc;
    color: #7d3a3a;
}

/* Navbar */
.navbar-inverse {
    background-color: #2f3b48;
    border-color: #2f3b48;
}

/* Sidebar y cajas heredadas de content.css */
#sidebar-wrapper,
#sidebar_menu li a,
.sidebar-nav li a {
    background: #35566f;
}

.sidebar-nav li a {
    color: #d6e4ef;
}

.sidebar-nav li a:hover {
    background: var(--rt-primary);
    color: #fff;
}

.box .header {
    background: var(--rt-primary);
    background: linear-gradient(to bottom, #4a7aa6, var(--rt-primary-dark));
    border-color: var(--rt-primary-dark);
    box-shadow: none;
}

.box .header ul li.current a {
    background: var(--rt-primary-dark);
    background: linear-gradient(to bottom, var(--rt-primary-dark), var(--rt-primary-darker));
    box-shadow: none;
}

/* Paginación */
.pagination {
    --bs-pagination-color: var(--rt-primary);
    --bs-pagination-hover-color: var(--rt-primary-dark);
    --bs-pagination-hover-bg: var(--rt-primary-soft);
    --bs-pagination-hover-border-color: var(--rt-border);
    --bs-pagination-active-bg: var(--rt-primary);
    --bs-pagination-active-border-color: var(--rt-primary);
}

.pagination > li > a,
.pagination > li > span {
    color: var(--rt-primary);
    border-color: var(--rt-border-soft);
}

.pagination > li > a:hover,
.pagination > li > span:hover {
    background-color: var(--rt-primary-soft);
    border-color: var(--rt-border);
}

/* Etiquetas / badges */
.label-primary {
    background-color: var(--rt-primary);
}

.badge.bg-primary,
.bg-primary {
    background-color: rgba(63, 111, 156, 1) !important;
}

.text-primary {
    color: var(--rt-primary) !important;
}

/* jQuery UI */
.ui-widget-header {
    background: var(--rt-primary-soft);
    border-color: var(--rt-border);
    color: var(--rt-primary-dark);
}

.ui-state-default,
.ui-widget-content .ui-state-default {
    background: #f7f9fb;
    border-color: var(--rt-border);
    color: var(--rt-text);
}

.ui-state-hover,
.ui-widget-content .ui-state-hover {
    background: var(--rt-primary-soft);
    border-color: #c9d7e4;
}

.ui-state-active,
.ui-widget-content .ui-state-active {
    background: var(--rt-primary);
    border-color: var(--rt-primary);
    color: #fff;
}

/* Ajustes de contraste suaves */
.form-group label,
.col-form-label {
    color: #3a4a58;
}

.help-block,
.form-text {
    color: var(--rt-muted);
}

/* Contraste de titulos en encabezados de panel */
.panel-primary > .panel-heading,
.panel-primary > .panel-heading a,
.panel-primary > .panel-heading h1,
.panel-primary > .panel-heading h2,
.panel-primary > .panel-heading h3,
.panel-primary > .panel-heading h4,
.panel-primary > .panel-heading .panel-title,
.panel-primary > .panel-heading .glyphicon {
    color: #fff !important;
}
.panel-info > .panel-heading,
.panel-info > .panel-heading a,
.panel-info > .panel-heading h1,
.panel-info > .panel-heading h2,
.panel-info > .panel-heading h3,
.panel-info > .panel-heading h4,
.panel-info > .panel-heading .panel-title,
.panel-info > .panel-heading .glyphicon {
    color: var(--rt-primary-dark) !important;
}
.panel-default > .panel-heading,
.panel-default > .panel-heading a,
.panel-default > .panel-heading h1,
.panel-default > .panel-heading h2,
.panel-default > .panel-heading h3,
.panel-default > .panel-heading h4,
.panel-default > .panel-heading .panel-title,
.panel-default > .panel-heading .glyphicon {
    color: #3a4a58 !important;
}

/* Fondo del login */
.special_page > .top {
    background: var(--rt-primary);
    background: linear-gradient(to bottom, #4a7aa6, var(--rt-primary-dark));
    border-bottom-color: var(--rt-primary-dark);
    box-shadow: 0 2px 5px rgba(44, 62, 80, .28);
}

/* Centrar el paginado de las tablas */
.pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
}
