.relatorios-page { background: #171e19; color: #f0f5ef; }
.relatorios-page *, .relatorios-page *::before, .relatorios-page *::after { box-sizing: border-box; }
.relatorios-main.container {
    display: flex;
    align-items: stretch;
    flex-direction: column;
    width: 100%;
    max-width: 1520px;
    gap: 18px;
    margin: 0 auto;
    padding: 26px clamp(18px, 2.5vw, 38px) 48px;
}
.relatorios-heading span {
    color: #91d78d;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.relatorios-heading h1 {
    margin: 8px 0;
    font-size: clamp(1.9rem, 3vw, 2.75rem);
    line-height: 1.15;
    letter-spacing: -.035em;
}
.relatorios-heading p { margin: 0; color: #aab9ac; line-height: 1.55; }
.relatorios-page .filter-bar {
    width: 100%;
    margin: 0;
    padding: clamp(20px, 2vw, 28px);
    border: 1px solid #3b4b3f;
    border-radius: 16px;
    background: #222b25;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .15);
}
.relatorios-form-heading { margin-bottom: 18px; }
.relatorios-form-heading h2 {
    width: auto;
    margin: 0 0 6px;
    padding: 0;
    border: 0;
    color: #f0f5ef;
    font-size: 1.35rem;
    text-align: left;
}
.relatorios-form-heading p { margin: 0; color: #aab9ac; font-size: .86rem; }
.relatorios-page .filter-form {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 16px;
    font-size: .88rem;
}
.relatorios-page .filter-section {
    width: 100%;
    min-width: 0;
    padding: 18px;
    border: 1px solid #405145;
    border-radius: 12px;
    background: #1d2821;
}
.relatorios-page .filter-section-title {
    margin: 0 0 13px;
    padding: 0;
    border: 0;
    color: #cde2cb;
    font-size: .94rem;
    font-weight: 700;
}
.relatorios-page .filter-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.relatorios-page .filter-group,
.relatorios-page .filter-group.wide { width: 100%; min-width: 0; }
.relatorios-page .filter-group label,
.relatorios-page .dropdown-group label { color: #e1ebe0; font-weight: 600; }
.relatorios-page .filter-form input[type="date"],
.relatorios-page .filter-form select {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid #526357;
    border-radius: 9px;
    background: #17211a;
    color: #f0f5ef;
    color-scheme: dark;
    font-size: .91rem;
    outline: none;
}
.relatorios-page .filter-form input:focus-visible,
.relatorios-page .filter-form select:focus-visible {
    border-color: #91d78d;
    box-shadow: 0 0 0 4px rgba(145, 215, 141, .18);
}
.relatorios-page .filter-form .dropdown-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 12px;
}
.relatorios-page .status-options {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}
.relatorios-page .checkbox-item {
    min-height: 38px;
    gap: 6px;
    padding: 6px 7px;
    border: 1px solid #475a4b;
    border-radius: 9px;
    background: #253228;
    color: #e1ebe0;
    cursor: pointer;
    font-size: .82rem;
}
.relatorios-page .checkbox-item:has(input:checked) { border-color: #76b875; background: #2d4931; }
.relatorios-page .checkbox-item input[type="checkbox"] {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin: 0;
    accent-color: #55af64;
}
.relatorios-page .checkbox-item label { margin: 0; cursor: pointer; white-space: nowrap; }
.relatorios-page .checkbox-item:hover label { color: #fff; }
.relatorios-page .filter-button-container {
    grid-column: 1 / -1;
    justify-content: flex-end;
    gap: 10px;
    margin: 0;
    padding: 16px 0 0;
    border-top: 1px solid #405145;
}
.relatorios-page .filter-form button {
    min-width: 0;
    min-height: 44px;
    padding: 0 18px;
    border: 0;
    border-radius: 9px;
    background: #2e7843;
    color: #fff;
    font-size: .9rem;
    font-weight: 700;
    box-shadow: none;
}
.relatorios-page .filter-form .clear-filters { background: #3a493d; }
.relatorios-page .filter-form button:hover,
.relatorios-page .filter-form .clear-filters:hover { filter: brightness(1.13); box-shadow: none; }
.relatorios-page .filter-form button:disabled { opacity: .65; cursor: wait; }
.relatorios-page .filter-form button:focus-visible { outline: 3px solid #9de297; outline-offset: 2px; }
@media (max-width: 1050px) {
    .relatorios-page .filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .relatorios-page .report-local { grid-column: 1 / -1; }
    .relatorios-page .report-local .dropdown-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .relatorios-main.container { padding: 22px 16px 40px; }
    .relatorios-page .filter-bar { padding: 20px 16px; }
    .relatorios-page .filter-form { grid-template-columns: 1fr; }
    .relatorios-page .filter-section { padding: 16px 14px; }
    .relatorios-page .status-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .relatorios-page .filter-button-container { flex-direction: column; }
    .relatorios-page .filter-button-container button { width: 100%; }
}
@media (max-width: 520px) {
    .relatorios-page .filter-row,
    .relatorios-page .report-local .dropdown-container { grid-template-columns: 1fr; }
}
