/* ==========================================================================
   views.css — Shared styles for all view templates
   Design language: flat sections inside main-container, no nested boxes
   ========================================================================== */

/* Page header */
.view-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1.5rem;
}

.view-header h2 {
    font-size: 1.4rem;
    font-weight: 700;
    color: #15287c;
    margin: 0;
}

/* Filter section — flat, separated by border */
.view-filtros {
    padding-bottom: 1.25rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #f3f4f6;
}

.view-filtros .form-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #6b7280;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-bottom: 0.25rem;
}

.view-filtros .form-control,
.view-filtros .form-select {
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}

/* Generic section — flat, separated by border */
.view-section {
    padding-bottom: 1.25rem;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid #f3f4f6;
}

.view-section:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

/* Section title — uppercase label with icon */
.view-section-title {
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.view-section-title i,
.view-section-title .fas,
.view-section-title .far,
.view-section-title .fab {
    color: #15287c;
}

/* Table styling — subtle header, compact */
.view-table {
    white-space: nowrap;
    font-size: 0.875rem;
}

.view-table thead th {
    background: none;
    border-bottom: 2px solid #15287c;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    color: #15287c;
    padding: 0.6rem 0.75rem;
}

.view-table tbody td {
    padding: 0.6rem 0.75rem;
    vertical-align: middle;
}

/* Empty state */
.view-empty {
    color: #6b7280;
    font-size: 0.9rem;
    padding: 1rem 0;
}

/* Form sections in dedicated pages — flat inside main-container */
.view-form {
    padding: 0;
}

.view-form .form-label {
    font-weight: 500;
    color: #374151;
}

.view-form .form-control,
.view-form .form-select {
    border-radius: 8px;
    border: 1px solid #e5e7eb;
}
