body.eco-app .table-card,
body.eco-guest .table-card {
    overflow: hidden;
}

body.eco-app .table-wrap,
body.eco-guest .table-wrap {
    overflow: auto;
    border-radius: 22px;
    border: 1px solid rgba(183, 215, 184, 0.72);
    background: rgba(255, 255, 255, 0.82);
}

body.eco-app table:not(.display-ranking-table):not(.student-event-item-table),
body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 680px;
}

body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) thead th,
body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    padding: 1rem 1.1rem;
    background: linear-gradient(135deg, rgba(46, 125, 50, 0.96), rgba(67, 160, 71, 0.96));
    color: #fff;
    font-size: 0.9rem;
    font-weight: 900;
    text-align: left;
    white-space: nowrap;
}

body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody td,
body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody td {
    padding: 1rem 1.1rem;
    border-bottom: 1px solid rgba(183, 215, 184, 0.55);
    color: var(--eco-text);
    vertical-align: top;
}

body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody tr:nth-child(even),
body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody tr:nth-child(even) {
    background: rgba(241, 248, 233, 0.76);
}

body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody tr:hover,
body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody tr:hover {
    background: rgba(200, 230, 201, 0.7);
}

body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody tr:last-child td,
body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody tr:last-child td {
    border-bottom: 0;
}

@media (max-width: 760px) {
    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table),
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) {
        min-width: 0;
    }

    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) thead,
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) thead {
        display: none;
    }

    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody,
    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tr,
    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) td,
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody,
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tr,
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) td {
        display: block;
        width: 100%;
    }

    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody tr,
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody tr {
        padding: 0.75rem;
        border-bottom: 1px solid rgba(183, 215, 184, 0.6);
    }

    body.eco-app table:not(.display-ranking-table):not(.student-event-item-table) tbody td,
    body.eco-guest table:not(.display-ranking-table):not(.student-event-item-table) tbody td {
        padding: 0.55rem 0;
        border: 0;
    }

    body.eco-app .student-statement-table,
    body.eco-guest .student-statement-table {
        min-width: 0;
        table-layout: auto;
    }

    body.eco-app .student-statement-panel,
    body.eco-guest .student-statement-panel {
        padding-inline: 0;
    }

    body.eco-app .student-statement-panel .table-wrap,
    body.eco-guest .student-statement-panel .table-wrap {
        border-left: 0;
        border-right: 0;
        border-radius: 0;
    }

    body.eco-app .student-statement-table tbody tr.student-statement-row,
    body.eco-guest .student-statement-table tbody tr.student-statement-row {
        display: grid;
        grid-template-columns: auto auto minmax(0, 1fr) auto;
        align-items: center;
        column-gap: 0.45rem;
        row-gap: 0.1rem;
        padding: 0.12rem 0.75rem;
    }

    body.eco-app .student-statement-table .hide-mobile,
    body.eco-guest .student-statement-table .hide-mobile {
        display: block !important;
    }

    body.eco-app .student-statement-table td,
    body.eco-guest .student-statement-table td {
        width: auto;
        min-width: 0;
        padding: 0;
        font-size: 0.78rem;
        line-height: 1.25;
    }

    body.eco-app .student-statement-table .statement-date-cell,
    body.eco-guest .student-statement-table .statement-date-cell {
        grid-column: 1;
        grid-row: 1;
        white-space: nowrap;
        font-weight: 800;
    }

    body.eco-app .student-statement-table .statement-type-cell,
    body.eco-guest .student-statement-table .statement-type-cell {
        grid-column: 2;
        grid-row: 1;
    }

    body.eco-app .student-statement-table .statement-type-cell .badge,
    body.eco-guest .student-statement-table .statement-type-cell .badge {
        min-height: 24px;
        padding: 0.2rem 0.55rem;
        font-size: 0.65rem;
    }

    body.eco-app .student-statement-table .statement-origin-cell,
    body.eco-guest .student-statement-table .statement-origin-cell {
        grid-column: 3;
        grid-row: 1;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.eco-app .student-statement-table .statement-amount-cell,
    body.eco-guest .student-statement-table .statement-amount-cell {
        grid-column: 4;
        grid-row: 1;
        justify-self: end;
        align-self: start;
        white-space: nowrap;
        text-align: right;
        font-weight: 900;
    }

    body.eco-app .student-statement-table .statement-balance-cell,
    body.eco-guest .student-statement-table .statement-balance-cell {
        display: none;
    }

    body.eco-app .student-statement-table .statement-description-cell,
    body.eco-guest .student-statement-table .statement-description-cell {
        grid-column: 1 / -1;
        grid-row: 2;
        color: var(--eco-text-soft);
        font-size: 0.8rem;
        line-height: 1.35;
        padding-top: 0.1rem;
    }

    body.eco-app .student-statement-table tbody tr.student-statement-empty-row,
    body.eco-guest .student-statement-table tbody tr.student-statement-empty-row {
        display: block;
        padding: 0.75rem;
    }

    body.eco-app .student-statement-table tbody tr.student-statement-empty-row td,
    body.eco-guest .student-statement-table tbody tr.student-statement-empty-row td {
        display: block;
        width: 100%;
        padding: 0;
    }
}
