.documents-sidebar {
    padding: 1rem;
    border-radius: 1rem;
    background-color: #F6FAFD;
}

.documents-sidebar__type,
.documents-sidebar__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0.625rem 1rem;
    font-size: 0.875rem;
    line-height: 1.3;
    color: #172A3A;
    text-decoration: none;
    border: 0;
    border-radius: 0.5rem;
    background: none;
}

.documents-sidebar__type {
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}

.documents-sidebar__item > span:not(.documents-sidebar__count) {
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
}

.documents-sidebar__type:hover,
.documents-sidebar__type:focus,
.documents-sidebar__item:hover,
.documents-sidebar__item:focus {
    color: #172A3A;
    text-decoration: none;
    background-color: #F0F5FA;
}

.documents-sidebar__type.is-active,
.documents-sidebar__item.is-active {
    background-color: #DEE7F3;
}

.documents-sidebar__type--toggle::after {
    content: '';
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.5rem;
    margin: -0.35rem 0 0 0.75rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(-135deg);
    transform-origin: 75% 75%;
    transition: transform 0.2s ease;
}

.documents-sidebar__type--toggle.collapsed::after {
    transform: rotate(45deg);
}

.documents-sidebar__count {
    margin-left: 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    color: #7C9CAC;
}

.is-active > .documents-sidebar__count {
    color: #172A3A;
}

.documents-filter {
    padding: 1rem;
    border-radius: 1rem;
    background-color: #F6F9FD;
}

.documents-filter .select2-container.select2-container--default .select2-selection__rendered {
    font-size: 1rem;
    font-weight: 500;
}

.documents-filter .select2-container.select2-container--default .select2-results__option {
    padding: 0.875rem 1rem;
    font-size: 0.875rem;
    line-height: 1.429;
}

.documents-filter .select2-container.select2-container--default .select2-search--dropdown .select2-search__field {
    font-size: 1rem;
}

.documents-filter .documents-filter__label {
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
    color: #172A3A;
    text-transform: uppercase;
}

.documents-content {
    padding-bottom: 1.5rem;
}

.document-cards {
    margin-bottom: 1.5rem;
}

.document-card {
    padding: 1rem 0;
    border-bottom: 3px solid #DEE7F3;
}

.document-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
}

.document-card__badges {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.document-card__badge {
    display: inline-block;
    padding: 0.25rem 0.375rem;
    font-size: 0.875rem;
    line-height: 1.715;
    font-weight: 700;
    color: #3B566E;
    text-transform: uppercase;
    border-radius: 0.5rem;
}

.document-card__badge--category {
    background-color: #F0F5FA;
}

.document-card__status {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.715;
    font-weight: 700;
    color: #0C6858;
    border-radius: 0.5rem;
    background-color: #E9FCF3;
}

.document-card__status::before {
    content: '';
    flex-shrink: 0;
    width: 0.625rem;
    height: 0.625rem;
    border-radius: 50%;
    background-color: #09BC8A;
}

.document-card .document-card__title {
    font-size: 1.125rem;
}

.document-card .document-card__pdf-btn {
    display: inline-block;
    font-size: 0.875rem;
    line-height: 1.715;
    font-weight: 700;
    color: #fff;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    text-decoration: none;
    background-color: #172A3A;
}

.document-card__pdf-btn:hover {
    background: #101D28;
    color: #fff;
}

.document-card__archive-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
    line-height: 1.715;
    color: #172A3A;
    text-transform: uppercase;
    cursor: pointer;
    padding: 0;
    border: 0;
    background: none;
}

.document-card__archive-toggle:hover,
.document-card__archive-toggle:focus {
    color: #172A3A;
    text-decoration: none;
}

.document-card__archive-toggle::after {
    content: '';
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.5rem;
    margin-top: -0.35rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(-135deg);
    transform-origin: 75% 75%;
    transition: transform 0.2s ease;
}

.document-card__archive-toggle.collapsed::after {
    transform: rotate(45deg);
}

.document-card__archive li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
}

.document-card__archive li + li {
    border-top: 1px solid #DEE7F3;
}

.document-card__archive li:last-child {
    padding-bottom: 0;
}

.document-card .document-card__archive-year {
    flex-shrink: 0;
    line-height: 1.5;
    color: #7C9CAC;
}

.document-card .document-card__archive-period {
    flex-grow: 1;
    padding-left: 1.5rem;
    line-height: 1.5;
    color: #172A3A;
}

.document-card .document-card__archive-btn {
    display: flex;
    align-items: center;
    gap: 0.625rem;
    font-size: 0.875rem;
    line-height: 1.715;
    font-weight: 700;
    color: #172A3A;
    border-radius: 0.5rem;
    text-decoration: none;
}

.documents-content .btn.btn-more::after {
    margin-top: -13px;
}

.documents-content .pagination .page-item,
.documents-content .pagination .page-link {
    line-height: 1.25;
}

.documents-content .pagination .prev.disabled > span,
.documents-content .pagination .next.disabled > span {
    display: block;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0.8125rem 1rem;
    font-weight: 500;
    line-height: 1.25;
    text-align: center;
    color: #6c757d;
    border-radius: 0.5rem;    
    background-color: #fff;
    opacity: 0.75;
}

.documents-skeleton {
    display: block;
    border-radius: 0.5rem;
    background: linear-gradient(90deg, #F0F5FA 25%, #E3EBF4 50%, #F0F5FA 75%);
    background-size: 200% 100%;
    animation: documents-skeleton 1.2s ease-in-out infinite;
}

.documents-skeleton--badge { width: 7rem; height: 1.75rem; }
.documents-skeleton--status { width: 10rem; height: 1.75rem; }
.documents-skeleton--title { width: 100%; height: 1.25rem; margin-bottom: 0.5rem; }
.documents-skeleton--short { width: 60%; }
.documents-skeleton--btn { width: 8rem; height: 2.5rem; }

@keyframes documents-skeleton {
    from { background-position: 100% 0; }
    to { background-position: -100% 0; }
}

.documents-error .btn {
    padding: 0.5rem 1rem;
    font-size: 1rem;
    line-height: 1.5;
}

.documents-error .documents-error__text {
    font-weight: 500;
}

.documents-error .documents-error__retry {
    color: #fff;
    border-color: #7C9CAC;
    background-color: #7C9CAC;
}

.documents-error .documents-error__next {
    color: #fff;
    border-color: #172A3A;
    background-color: #172A3A;
}

@media (max-width: 767px) {
    .document-card__header,
    .document-card__archive li {
        flex-direction: column;
        align-items: flex-start;
    }

    .document-card__status {
        margin-top: 0.5rem;
    }

    .document-card .document-card__title {
        font-size: 1rem;
    }
    
    .document-card__archive li {
        gap: 0.25rem;
    }

    .document-card .document-card__archive-period {
        padding-left: 0;
    }

    .documents-skeleton--status { margin-top: 0.5rem; }
}

@media (max-width: 575px) {
    .document-card__badges {
        flex-direction: column;
        align-items: flex-start;
    }
}
