/* =====================================
   BUSCADOR HISTÓRICO RBD - VERSIÓN FINAL
====================================== */

:root {
    --primary:#0057A8;
    --primary-hover:#003E79;
    --text:#1D2939;
    --muted:#667085;
    --border:#D0D5DD;
    --background:#FFFFFF;
    --soft:#F8FAFC;
}


* {
    box-sizing:border-box;
    font-family:'Roboto', sans-serif;
}


/* CONTENEDOR */

.rbd-container {
    max-width:1200px;
    margin:40px auto;
    padding:0 20px;
}


.rbd-card {
    background:white;
    padding:40px;
    border-radius:18px;
    box-shadow:0 8px 30px rgba(0,0,0,.08);
}


/* CABECERA */

.rbd-header {
    text-align:center;
    margin-bottom:35px;
}


.rbd-icon,
.rbd-help,
.empty-icon {
    display:none;
}


.rbd-header h2 {
    margin:0;
    font-size:2rem;
    color:var(--text);
    font-weight:700;
}


.rbd-header p {
    margin-top:10px;
    color:var(--muted);
    font-size:1rem;
}


/* ===============================
   FILTROS
=============================== */

.rbd-search-row {

    display:grid;

    grid-template-columns:
        1fr 
        220px 
        160px;

    gap:16px;

    align-items:end;

}


.rbd-form-group {
    position:relative;
}


.rbd-form-group label {

    display:block;

    margin-bottom:8px;

    font-size:.9rem;

    font-weight:600;

    color:var(--text);

}


/* INPUT Y SELECT */

.rbd-input,
.rbd-select {

    width:100%;

    height:56px;

    border:1px solid var(--border);

    border-radius:12px;

    padding:0 18px;

    font-size:1rem;

    background:white;

    transition:.2s;

}


.rbd-input:focus,
.rbd-select:focus {

    outline:none;

    border-color:var(--primary);

    box-shadow:
    0 0 0 4px rgba(0,87,168,.15);

}


/* SUGERENCIAS */

.rbd-suggestions-list {

    position:absolute;

    top:100%;

    left:0;

    width:100%;

    margin:6px 0 0;

    padding:0;

    list-style:none;

    background:white;

    border:1px solid #E4E7EC;

    border-radius:12px;

    overflow:hidden;

    z-index:100;

    box-shadow:
    0 15px 30px rgba(0,0,0,.12);

}


.rbd-suggestions-list li {

    padding:14px 18px;

    cursor:pointer;

}


.rbd-suggestions-list li:hover {

    background:#F2F6FC;

}


/* BOTÓN BUSCAR */

.rbd-btn {

    border:none;

    cursor:pointer;

    font-size:1rem;

    transition:.2s;

}


.rbd-btn.buscar {

    height:56px;

    width:100%;

    background:var(--primary);

    color:white;

    border-radius:12px;

    font-weight:600;

}


.rbd-btn.buscar:hover {

    background:var(--primary-hover);

}


/* LIMPIAR */

.rbd-actions {

    display:flex;

    justify-content:flex-end;

    margin-top:14px;

}


.rbd-btn.limpiar {

    background:#EEF4FF;

    color:var(--primary);

    padding:10px 18px;

    border-radius:10px;

    font-size:.9rem;

    font-weight:600;

}


.rbd-btn.limpiar:hover {

    background:var(--primary);

    color:white;

}


/* RESULTADOS */

.rbd-result-container {

    margin-top:35px;

}


/* ESTADO VACÍO */

.rbd-empty-state {

    text-align:center;

    color:var(--muted);

    padding:40px 0;

}


/* ESTABLECIMIENTO */

.rbd-establishment {

    border-bottom:1px solid #E5E7EB;

    padding-bottom:18px;

    margin-bottom:10px;

}


.rbd-establishment h3 {

    margin:0;

    color:var(--text);

    font-size:1.6rem;

    font-weight:700;

}


.rbd-rbd-number,
.rbd-count {

    display:inline;

    color:var(--muted);

    font-size:.95rem;

}


.rbd-rbd-number::after {

    content:" • ";

    margin:0 6px;

}


/* INFORMES */

.rbd-report-card {

    display:grid;

    grid-template-columns:
        90px 
        1fr 
        150px;

    align-items:center;

    gap:20px;

    padding:20px 0;

    border-bottom:1px solid #F0F2F5;

}


.rbd-report-year {

    color:var(--primary);

    font-size:1.1rem;

    font-weight:700;

}


.rbd-report-type {

    color:#344054;

    line-height:1.5;

}


/* ABRIR INFORME */

.rbd-open-button {

    text-align:center;

    text-decoration:none;

    background:#EEF4FF;

    color:var(--primary);

    padding:12px 16px;

    border-radius:10px;

    font-weight:600;

    transition:.2s;

}


.rbd-open-button:hover {

    background:var(--primary);

    color:white;

}


/* MENSAJES */

.rbd-loading,
.result-error {

    text-align:center;

    color:var(--muted);

    padding:35px;

}


/* ===============================
   MÓVIL
=============================== */

@media (max-width:768px) {


    .rbd-card {

        padding:25px 20px;

    }


    .rbd-header h2 {

        font-size:1.5rem;

    }


    .rbd-search-row {

        grid-template-columns:1fr;

    }


    .rbd-actions {

        justify-content:center;

    }


    .rbd-report-card {

        grid-template-columns:1fr;

        gap:10px;

    }


    .rbd-open-button {

        width:100%;

    }

}