/* ===================================================================
   Reportes – Filter Dialog  (matches Figma node 40000412:159200)
   Non-scoped CSS for the Syncfusion SfDialog portal (renders at body).
   Scoped via .reportes-filter-dlg CssClass on the dialog.
   Loads AFTER design-system.css and Syncfusion to override globals.
   =================================================================== */

/* ── Dialog shell ─────────────────────────────────────────────────── */
.e-dialog.reportes-filter-dlg {
    border-radius: 8px !important;
    max-height: 90vh;
    overflow: hidden;
}

.e-dialog.reportes-filter-dlg .e-dlg-header-content {
    padding: 0 !important;
    display: none !important;
}

.e-dialog.reportes-filter-dlg .e-dlg-content {
    padding: 24px !important;
    padding-bottom: 0 !important;
    overflow-y: auto;
    max-height: calc(90vh - 72px);
    position: relative;
}

/* ── Undo global flex-wrap that breaks layout ─────────────────────── */
.e-dialog.reportes-filter-dlg .e-dlg-content .d-flex,
.e-dialog.reportes-filter-dlg .e-dlg-content .filter-dialog-content,
.e-dialog.reportes-filter-dlg .e-footer-content,
.e-dialog.reportes-filter-dlg .e-footer-content .d-flex {
    flex-wrap: nowrap !important;
}

/* ── Close button (X) — absolute top-right per Figma ──────────────── */
.e-dialog.reportes-filter-dlg .custom-dialog-wrapper {
    position: static !important;
    margin-top: -24px !important;
}

.e-dialog.reportes-filter-dlg .custom-dialog-wrapper > header:first-child {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 2 !important;
    display: flex !important;
    padding: 8px !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

.e-dialog.reportes-filter-dlg .custom-dialog-wrapper > header:first-child .btn-icon {
    width: 24px !important;
    height: 24px !important;
}

.e-dialog.reportes-filter-dlg .custom-dialog-wrapper > header:first-child img {
    width: 24px !important;
    height: 24px !important;
}

/* ── Content container — Figma: gap 16px ──────────────────────────── */
.e-dialog.reportes-filter-dlg .filter-dialog-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
}

/* ── Filter sections ──────────────────────────────────────────────── */
.e-dialog.reportes-filter-dlg .filter-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* ── Section titles — Figma: Nunito Sans SemiBold 16/20 ───────────── */
.e-dialog.reportes-filter-dlg .filter-section-title {
    color: #000 !important;
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 20px !important;
    margin: 0 !important;
    padding: 0 0 8px 0 !important;
}

/* ── Checkbox / Radio option list ─────────────────────────────────── */
.e-dialog.reportes-filter-dlg .filter-options {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

/* ── Checkbox wrappers — Figma: p-8, gap-8, rounded-4 ─────────────── */
.e-dialog.reportes-filter-dlg .filter-options .e-checkbox-wrapper {
    display: flex !important;
    padding: 8px !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 0 !important;
    border-radius: 4px !important;
}

/* ── Checkbox frame (square) — Figma: 24×24 ───────────────────────── */
.e-dialog.reportes-filter-dlg .filter-options .e-checkbox-wrapper .e-frame {
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    border: 1.5px solid #000 !important;
    border-radius: 2px !important;
    font-size: 14px !important;
}

/* Checked state — keep white bg with black check per design-system */
.e-dialog.reportes-filter-dlg .filter-options .e-checkbox-wrapper .e-frame.e-check {
    background-color: #fff !important;
    border-color: #000 !important;
    color: #000 !important;
}

.e-dialog.reportes-filter-dlg .filter-options .e-checkbox-wrapper .e-label {
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #000 !important;
    line-height: 1.3 !important;
    padding-left: 0 !important;
}

/* ── Radio wrappers — Figma: p-8, gap-8, rounded-4 ────────────────── */
.e-dialog.reportes-filter-dlg .filter-options .e-radio-wrapper {
    display: flex !important;
    padding: 8px !important;
    gap: 8px !important;
    align-items: center !important;
    margin: 0 !important;
    border-radius: 4px !important;
}

/* Radio circle — Figma: 24×24 */
.e-dialog.reportes-filter-dlg .filter-options .e-radio + label::before {
    width: 24px !important;
    height: 24px !important;
    border-color: #000 !important;
}

.e-dialog.reportes-filter-dlg .filter-options .e-radio + label::after {
    width: 14px !important;
    height: 14px !important;
    top: 5px !important;
    left: 5px !important;
}

.e-dialog.reportes-filter-dlg .filter-options .e-radio + label .e-label {
    font-family: "Nunito Sans", sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #000 !important;
    line-height: 1.3 !important;
    padding-left: 30px !important;
}

/* ── Date pickers row — Figma: pl-40, gap-16 ──────────────────────── */
.e-dialog.reportes-filter-dlg .filter-date-pickers {
    display: flex !important;
    flex-direction: row !important;
    gap: 16px !important;
    padding-left: 40px !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    flex-wrap: wrap !important;
}

/* Date picker inputs — Figma: border #7B7B7B, min-h 40, rounded-4 */
.e-dialog.reportes-filter-dlg .filter-date-pickers .e-input-group {
    border: 1px solid #7B7B7B !important;
    border-radius: 4px !important;
    min-height: 40px !important;
    padding: 8px 12px !important;
}

/* ── Footer — Figma: no border-top, same padding as content ───────── */
.e-dialog.reportes-filter-dlg .e-footer-content {
    padding: 16px 24px 24px !important;
    border-top: none !important;
}

.e-dialog.reportes-filter-dlg .filter-dialog-footer {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    flex-wrap: nowrap !important;
}

/* ── Footer buttons — Figma: Poppins Medium 14/20, p-8, r-4, min-w-120 */
.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn {
    border-radius: 4px !important;
    padding: 8px !important;
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
    gap: 8px !important;
    min-width: 120px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    height: auto !important;
}

/* Button text span — force Poppins Medium */
.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn span {
    font-family: "Poppins", sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 20px !important;
}

/* Button icons — Figma: 16×16 */
.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn .button-icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
}

.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-outline-primary {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #000 !important;
}

.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-outline-primary:hover {
    background: #F5F5F5 !important;
}

.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-outline-primary:focus,
.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-outline-primary:focus-visible {
    outline: none !important;
    box-shadow: none !important;
    border-color: #000 !important;
}

/* Figma: primary bg #32E696 */
.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-primary {
    background: #32E696 !important;
    color: #000 !important;
    border: none !important;
}

.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-primary:hover {
    background: #28cc84 !important;
}

.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-primary:focus,
.e-dialog.reportes-filter-dlg .filter-dialog-footer .btn-primary:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

/* ── Responsive ───────────────────────────────────────────────────── */
@media (max-width: 500px) {
    .e-dialog.reportes-filter-dlg .e-dlg-content {
        padding: 16px !important;
    }

    .e-dialog.reportes-filter-dlg .filter-dialog-footer {
        flex-direction: column !important;
        gap: 8px !important;
    }

    .e-dialog.reportes-filter-dlg .filter-dialog-footer .btn {
        width: 100% !important;
    }

    .e-dialog.reportes-filter-dlg .filter-date-pickers {
        padding-left: 0 !important;
    }
}
