/* ============================================================
   Sistema Librería — Estilo formal con colores suaves y balance
   Complementa las variables CSS definidas en config/adminlte.php
   ============================================================ */

/* ---------- Base y tipografía ---------- */
body {
    color: #33415c;
    font-size: 0.925rem;
}

/* ---------- Barra superior ---------- */
.app-header.navbar {
    background-color: #ffffff !important;
    border-bottom: 1px solid #e5e9f2;
    box-shadow: 0 1px 4px rgba(34, 48, 66, 0.05);
}

.app-header .nav-link {
    color: #33415c;
    border-radius: 0.5rem;
}

.app-header .nav-link:hover,
.app-header .nav-link:focus {
    color: #0f766e;
    background-color: rgba(15, 118, 110, 0.08);
}

/* ---------- Marca de la barra lateral ---------- */
.sidebar-brand {
    border-bottom: 1px solid rgba(201, 212, 228, 0.12);
}

.sidebar-brand .brand-text {
    color: #ffffff;
    letter-spacing: 0.04em;
}

/* ---------- Encabezado de contenido ---------- */
.app-content-header {
    padding-bottom: 0.5rem;
}

.app-content-header h1 {
    color: #223042;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* ---------- Tarjetas ---------- */
.card {
    border: 1px solid #e5e9f2;
    border-radius: 0.8rem;
    box-shadow: 0 2px 8px rgba(34, 48, 66, 0.04);
}

.card-header {
    background-color: #fafbfe;
    border-bottom: 1px solid #e5e9f2;
}

.card-header .card-title {
    color: #223042;
    font-weight: 600;
}

.card-footer {
    border-top: 1px solid #e5e9f2;
    background-color: #fafbfe;
}

/* ---------- Métricas del panel (small-box) ---------- */
.small-box {
    border-radius: 0.8rem;
    box-shadow: 0 2px 8px rgba(34, 48, 66, 0.06);
}

.small-box .inner h3 {
    font-weight: 700;
}

.small-box .inner p {
    font-size: 0.85rem;
}

.small-box .small-box-footer {
    background-color: rgba(0, 0, 0, 0.08);
    border-radius: 0 0 0.8rem 0.8rem;
}

.small-box .small-box-footer:hover {
    background-color: rgba(0, 0, 0, 0.16);
}

/* ---------- Tablas ---------- */
.table {
    color: #33415c;
}

.table thead th {
    background-color: #eef1f7;
    color: #33415c;
    font-weight: 600;
    border-bottom: 1px solid #e5e9f2 !important;
    white-space: nowrap;
}

.table tbody tr:hover {
    background-color: rgba(15, 118, 110, 0.04);
}

.table td {
    vertical-align: middle;
}

/* ---------- Botones ---------- */
.btn {
    border-radius: 0.5rem;
    font-weight: 500;
}

.btn-primary {
    --bs-btn-bg: #0f766e;
    --bs-btn-border-color: #0f766e;
    --bs-btn-hover-bg: #0c5f58;
    --bs-btn-hover-border-color: #0c5f58;
    --bs-btn-active-bg: #0c5f58;
    --bs-btn-active-border-color: #0c5f58;
    --bs-btn-disabled-bg: #0f766e;
    --bs-btn-disabled-border-color: #0f766e;
}

.btn-outline-primary {
    --bs-btn-color: #0f766e;
    --bs-btn-border-color: #0f766e;
    --bs-btn-hover-bg: #0f766e;
    --bs-btn-hover-border-color: #0f766e;
    --bs-btn-active-bg: #0f766e;
    --bs-btn-active-border-color: #0f766e;
    --bs-btn-disabled-color: #0f766e;
    --bs-btn-disabled-border-color: #0f766e;
}

/* ---------- Formularios ---------- */
.form-control,
.form-select {
    border-radius: 0.45rem;
    border-color: #d6dce8;
    font-size: 0.9rem;
}

.form-control:focus,
.form-select:focus {
    border-color: #0f766e;
    box-shadow: 0 0 0 0.2rem rgba(15, 118, 110, 0.15);
}

.form-label {
    color: #33415c;
    font-weight: 500;
}

/* ---------- Paginación ---------- */
.pagination .page-link {
    color: #0d665f;
    border-color: #e5e9f2;
}

.pagination .page-item.active .page-link {
    background-color: #0f766e;
    border-color: #0f766e;
}

/* ---------- Info boxes ---------- */
.info-box {
    border-radius: 0.6rem;
    box-shadow: 0 1px 4px rgba(34, 48, 66, 0.05);
}

.info-box .info-box-icon {
    border-radius: 0.6rem;
}

/* ---------- Alertas ---------- */
.alert {
    border-radius: 0.6rem;
}

/* ---------- Pie de página ---------- */
.app-footer {
    border-top: 1px solid #e5e9f2;
    background-color: #ffffff;
    color: #64748b;
}