* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

#box-list {
    --transp-main: #3b9197;
    --transp-border: #d6e9eb;
    --transp-surface: linear-gradient(145deg, #f7fbfc 0%, #edf6f7 100%);

    display: flex;
    width: 100%;
    padding: 20px;
    flex-direction: column;
    row-gap: 12px;
    align-items: flex-start;
    border: 1px solid var(--transp-border);
    /* border-top: 5px solid var(--transp-main); */
    border-radius: 16px;
    background: var(--transp-surface);
    box-shadow: 0 20px 38px -28px rgba(27, 66, 71, 0.75);
    position: relative;
    min-height: 200px;
}

#box-list span.ano {
    background: linear-gradient(120deg, #28be61 0%, #14964a 100%);
    color: #fff;
    padding-inline: 10px;
    border-radius: 20px;
    line-height: 25px;
    font-weight: 700;
}

#box-list h2 {
    font-size: clamp(1rem, 0.93rem + 0.32vw, 1.4rem);
    text-shadow: none;
    color: #4f696d;
    margin: 0;
}

details {
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid #dcecee;
    height: max-content;
    display: flex;
    overflow: hidden;
}

details[open] {
    position: absolute;
    margin-left: calc(100vw / 7);
    margin-top: calc(100vh / -4);
    box-shadow: 0 28px 40px -24px rgba(18, 56, 61, 0.55);
    overflow-y: auto;
    min-height: 300px;
    max-height: 400px;
    border-radius: 12px;
    padding: 0;
    width: fit-content;
    max-width: 1030px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 4;
}

details::-webkit-scrollbar {
    width: 10px;
    background-color: #f1f1f1;
    border-radius: 10px;
}

details::-webkit-scrollbar-thumb {
    background-color: #a8a8a8;
    width: 10px;
    border-radius: 10px;
}

details::-webkit-scrollbar-thumb:hover {
    background-color: #808080;
}

details[open] summary {
    position: sticky;
    top: 0;
    text-align: left;
    line-height: 2rem;
    width: 100%;
    padding-left: 12px;
    border-radius: 0;
}

details[open] summary::after {
    content: 'X';
    color: #2d7f84;
    font-weight: 700;
    position: absolute;
    right: 3px;
    padding-inline: 10px;
    background-color: #ffffff;
}

summary {
    text-align: center;
    background: linear-gradient(120deg, #3b9197 0%, #2c767c 100%);
    font-size: clamp(0.78rem, 0.74rem + 0.2vw, 0.92rem);
    border-radius: 8px;
    color: #ffffff;
    padding-left: 10px;
    padding-inline: 10px;
    padding-top: 7px;
    padding-bottom: 7px;
    cursor: pointer;
    font-weight: 600;
}

details table#lista {
    width: 95%;
    max-width: 1030px;
    color: #5e7478;
    border-collapse: collapse;
    font-size: clamp(0.78rem, 0.74rem + 0.2vw, 0.92rem);
}

#lista th,
#lista td {
    text-align: center;
    min-width: 30px;
    max-width: 300px;
    padding: 8px 6px;
    border-bottom: 1px solid #e8eff0;
}

#lista th {
    text-align: left;
    background-color: #557679;
    color: #ffffff;
    position: sticky;
    top: 2.5rem;
}

#lista tr:nth-child(even) {
    background-color: #f6fafb;
}

#lista td:first-child,
th:first-child {
    border-radius: 0;
    text-align: left;
}

#lista td:last-child,
th:last-child {
    border-radius: 0;
}

table#lista a {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #179d4f;
    gap: 5px;
    font-weight: 600;
}

table#lista img {
    width: 26px;
}

table#lista a:hover img {
    transform: scale(1.3);
}

table#lista a:hover img.img-recibo {
    transform: scale(1.3);
}

span.recibo {
    display: flex;
    justify-content: center;
    gap: 5px;
}

@media (max-width:600px) {
    details[open] {
        width: 90vw;
        position: absolute;
        left: 20px;
        padding: 0;
        margin-left: 0;
        display: flex;
        flex-direction: column;
    }

    #box-list {
        padding: 14px;
        border-radius: 12px;
    }

    #lista th,
    #lista td {
        text-align: center;
        flex-wrap: wrap;
        min-width: 0;
    }
}
