/*
|--------------------------------------------------------------------------
| Credittrainer / credittraining
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-page {
    display: grid;
    gap: 20px;
}

/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-header-summary {
    display: grid;
    justify-items: end;
    gap: 2px;

    min-width: 145px;
    padding: 11px 15px;

    border: 1px solid var(--sn-border);
    border-radius: 14px;

    background: #fffafb;
}

.snooc-credittrainer-header-summary span,
.snooc-credittrainer-header-summary small {
    color: var(--sn-muted);

    font-size: 10px;
    font-weight: 750;
}

.snooc-credittrainer-header-summary strong {
    color: var(--sn-red);

    font-size: 23px;
    font-weight: 850;
    line-height: 1;
}

/*
|--------------------------------------------------------------------------
| Informatieblokken
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-info-grid {
    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.snooc-credittrainer-info-grid.is-four-columns {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}

.snooc-credittrainer-info {
    display: flex;
    align-items: center;
    gap: 12px;

    min-width: 0;
    padding: 14px;

    border: 1px solid var(--sn-border);
    border-radius: 14px;

    background: #fcf9fa;
}

.snooc-credittrainer-info.is-warning {
    border-color: #f0d49a;

    background: #fffbeb;
}

.snooc-credittrainer-info > span {
    display: flex;
    flex: 0 0 38px;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 11px;

    background: var(--sn-red-soft);
    color: var(--sn-red);
}

.snooc-credittrainer-info.is-warning > span {
    background: #fef3c7;
    color: #b45309;
}

.snooc-credittrainer-info div {
    min-width: 0;
}

.snooc-credittrainer-info small,
.snooc-credittrainer-info strong {
    display: block;
}

.snooc-credittrainer-info small {
    color: var(--sn-muted);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.snooc-credittrainer-info strong {
    margin-top: 3px;

    color: var(--sn-text);

    font-size: 13px;
    font-weight: 850;
}

/*
|--------------------------------------------------------------------------
| Waarschuwing
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-warning {
    display: flex;
    align-items: flex-start;
    gap: 11px;

    margin-top: 15px;
    padding: 13px 14px;

    border: 1px solid #f0d49a;
    border-radius: 13px;

    background: #fffbeb;
    color: #92400e;
}

.snooc-credittrainer-warning > i {
    margin-top: 2px;
}

.snooc-credittrainer-warning strong {
    display: block;

    font-size: 12px;
    font-weight: 850;
}

.snooc-credittrainer-warning p {
    margin: 4px 0 0;

    font-size: 10px;
    line-height: 1.5;
}

/*
|--------------------------------------------------------------------------
| Tabel
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-table-wrap {
    width: 100%;
    max-width: 100%;

    overflow-x: auto;

    border: 1px solid var(--sn-border);
    border-radius: 15px;

    background: #ffffff;
}

.snooc-credittrainer-table {
    width: 100%;
    min-width: 1120px;

    margin: 0;

    border: 0 !important;
    border-collapse: collapse !important;
    table-layout: fixed;
}

.snooc-credittrainer-table thead th {
    position: relative;

    height: 44px;
    padding: 11px 12px !important;

    border: 0 !important;
    border-bottom: 1px solid var(--sn-border) !important;

    background: #f8ecef !important;
    color: #632b39 !important;

    font-size: 9px !important;
    font-weight: 850;
    letter-spacing: 0.045em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.snooc-credittrainer-table thead th:nth-child(1) {
    width: 55px;
}

.snooc-credittrainer-table thead th:nth-child(2) {
    width: 185px;
}

.snooc-credittrainer-table thead th:nth-child(3) {
    width: 125px;
}

.snooc-credittrainer-table thead th:nth-child(4) {
    width: 170px;
}

.snooc-credittrainer-table thead th:nth-child(5) {
    width: 135px;
}

.snooc-credittrainer-table thead th:nth-child(6) {
    width: 145px;
}

.snooc-credittrainer-table thead th:nth-child(7) {
    width: 245px;
}

.snooc-credittrainer-table thead th:nth-child(8) {
    width: 150px;
}

.snooc-credittrainer-table tbody td {
    padding: 11px 12px !important;

    border: 0 !important;
    border-bottom: 1px solid #f0e7e9 !important;

    background: transparent !important;
    color: #4a373d;

    font-size: 10.5px;
    line-height: 1.4;
    vertical-align: middle;
}

.snooc-credittrainer-table tbody tr:last-child td {
    border-bottom: 0 !important;
}

.snooc-credittrainer-table tbody tr.is-saving {
    background: #fffdf5;
}

.snooc-credittrainer-table tbody tr.is-removing {
    opacity: 0;

    transform: translateX(14px);

    transition:
        opacity 0.18s ease,
        transform 0.18s ease;
}

/*
|--------------------------------------------------------------------------
| Scheidingsregel niet-geregistreerden
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-divider-row td {
    padding: 0 !important;

    border-top: 3px solid #f0d49a !important;
    border-bottom: 1px solid #f0d49a !important;

    background: #fffbeb !important;
}

.snooc-credittrainer-divider {
    display: flex;
    align-items: center;
    gap: 11px;

    padding: 13px 15px;

    color: #92400e;
}

.snooc-credittrainer-divider > span {
    display: flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 10px;

    background: #fef3c7;
    color: #b45309;
}

.snooc-credittrainer-divider strong,
.snooc-credittrainer-divider small {
    display: block;
}

.snooc-credittrainer-divider strong {
    font-size: 11px;
    font-weight: 850;
}

.snooc-credittrainer-divider small {
    margin-top: 2px;

    font-size: 9px;
    font-weight: 700;
}

.snooc-credittrainer-unregistered-row {
    background: #fffdf5;
}

.snooc-credittrainer-no-registration {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: #b45309;

    font-size: 9px;
    font-weight: 800;
}

/*
|--------------------------------------------------------------------------
| Deelnemer
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-person {
    display: flex;
    align-items: center;
    gap: 9px;

    min-width: 0;
}

.snooc-credittrainer-person > span {
    display: flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 10px;

    background:
        linear-gradient(
            135deg,
            #f4d9df,
            #fbeff2
        );

    color: var(--sn-red-dark);

    font-size: 10px;
    font-weight: 850;
}

.snooc-credittrainer-person.is-warning > span {
    background:
        linear-gradient(
            135deg,
            #fde9ad,
            #fff7d6
        );

    color: #92400e;
}

.snooc-credittrainer-person strong {
    min-width: 0;

    color: var(--sn-text);

    font-size: 11px;
    font-weight: 800;

    overflow-wrap: anywhere;
}

.snooc-training-row-number.is-warning {
    background: #fef3c7;
    color: #92400e;
}

/*
|--------------------------------------------------------------------------
| Creditpointtoggle
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    min-width: 0;

    cursor: pointer;
}

.snooc-credittrainer-toggle input {
    position: absolute;

    width: 1px;
    height: 1px;

    opacity: 0;
    pointer-events: none;
}

.snooc-credittrainer-toggle-control {
    display: flex;
    flex: 0 0 30px;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    border: 1px solid #d9bcc3;
    border-radius: 9px;

    background: #ffffff;
    color: transparent;

    transition:
        border-color 0.15s ease,
        background-color 0.15s ease,
        color 0.15s ease,
        box-shadow 0.15s ease;
}

.snooc-credittrainer-toggle input:focus-visible +
.snooc-credittrainer-toggle-control {
    border-color: var(--sn-red);

    box-shadow:
        0 0 0 3px rgba(159, 29, 53, 0.12);
}

.snooc-credittrainer-toggle.is-checked
.snooc-credittrainer-toggle-control {
    border-color: #087f5b;

    background: #087f5b;
    color: #ffffff;
}

.snooc-credittrainer-toggle.is-danger.is-checked
.snooc-credittrainer-toggle-control {
    border-color: #b45309;

    background: #b45309;
}

.snooc-credittrainer-toggle-text {
    display: grid;
    gap: 1px;
}

.snooc-credittrainer-toggle-text strong {
    color: var(--sn-text);

    font-size: 10px;
    font-weight: 850;
}

.snooc-credittrainer-toggle-text small {
    color: var(--sn-muted);

    font-size: 9px;
    font-weight: 700;
}

/*
|--------------------------------------------------------------------------
| Opmerking
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-comment-wrap {
    position: relative;

    width: 100%;
}

.snooc-credittrainer-comment-wrap input {
    width: 100% !important;
    min-height: 38px !important;

    padding:
        8px
        45px
        8px
        10px !important;

    border: 1px solid #e2bdc6 !important;
    border-radius: 10px !important;

    font-size: 10px !important;
}

.snooc-credittrainer-comment-wrap > span {
    position: absolute;
    top: 50%;
    right: 9px;

    color: #9a7d84;

    font-size: 8px;
    font-weight: 750;

    transform: translateY(-50%);

    pointer-events: none;
}

/*
|--------------------------------------------------------------------------
| Rijstatus
|--------------------------------------------------------------------------
*/

.snooc-credittrainer-row-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    color: var(--sn-muted);

    font-size: 9px;
    font-weight: 750;
    line-height: 1.35;
}

.snooc-credittrainer-row-status i {
    flex: 0 0 auto;
}

.snooc-credittrainer-row-status.is-saving {
    color: #b45309;
}

.snooc-credittrainer-row-status.is-saved {
    color: #087f5b;
}

.snooc-credittrainer-row-status.is-error {
    color: #be123c;
}

.snooc-credittrainer-row-status.is-warning {
    color: #b45309;
}

/*
|--------------------------------------------------------------------------
| Credittraining filters
|--------------------------------------------------------------------------
*/

.snooc-credittraining-filter-grid {
    grid-template-columns:
        minmax(220px, 1fr)
        minmax(190px, 0.8fr)
        minmax(320px, 1.4fr)
        auto;
}

.snooc-credittraining-filter-grid
.snooc-training-filter-actions {
    justify-content: flex-end;
}

.snooc-credittraining-filter-grid
.snooc-training-reset-button {
    text-decoration: none;
}

/*
|--------------------------------------------------------------------------
| Responsive
|--------------------------------------------------------------------------
*/

@media (max-width: 1200px) {
    .snooc-credittrainer-info-grid.is-four-columns {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) {
    .snooc-credittraining-filter-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .snooc-credittraining-filter-grid
    .snooc-training-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 850px) {
    .snooc-credittrainer-info-grid,
    .snooc-credittrainer-info-grid.is-four-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .snooc-credittrainer-header-summary {
        justify-items: start;
    }

    .snooc-credittrainer-table-wrap {
        overflow: visible;

        border: 0;
        background: transparent;
    }

    .snooc-credittrainer-table {
        display: block;

        min-width: 0;

        background: transparent !important;
    }

    .snooc-credittrainer-table thead {
        display: none;
    }

    .snooc-credittrainer-table tbody {
        display: grid;
        gap: 13px;
    }

    .snooc-credittrainer-table tbody tr {
        display: grid;

        padding: 14px;

        border: 1px solid var(--sn-border);
        border-radius: 15px;

        background: #ffffff;

        box-shadow:
            0 8px 22px rgba(79, 13, 27, 0.06);
    }

    .snooc-credittrainer-table tbody
    tr.snooc-credittrainer-divider-row {
        padding: 0;

        border-color: #f0d49a;

        background: #fffbeb;
    }

    .snooc-credittrainer-table tbody
    tr.snooc-credittrainer-divider-row td {
        display: block;

        padding: 0 !important;

        border: 0 !important;
    }

    .snooc-credittrainer-table tbody
    tr.snooc-credittrainer-divider-row td::before {
        display: none;
    }

    .snooc-credittrainer-table tbody td {
        display: grid;
        grid-template-columns:
            105px
            minmax(0, 1fr);
        align-items: center;
        gap: 10px;

        width: 100%;
        min-height: 39px;

        padding: 8px 0 !important;

        border: 0 !important;
        border-bottom:
            1px solid #f2e9eb !important;
    }

    .snooc-credittrainer-table tbody td:last-child {
        border-bottom: 0 !important;
    }

    .snooc-credittrainer-table tbody td::before {
        content: attr(data-label);

        color: #81636b;

        font-size: 8px;
        font-weight: 850;
        letter-spacing: 0.055em;
        text-transform: uppercase;
    }
}

@media (max-width: 700px) {
    .snooc-credittraining-filter-grid {
        grid-template-columns: 1fr;
    }

    .snooc-credittraining-filter-grid
    .snooc-training-filter-actions {
        grid-column: auto;
    }
}

/*
|--------------------------------------------------------------------------
| Creditttraining definitief verwerken
|--------------------------------------------------------------------------
*/

.snooc-creditttraining-approve-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;

    margin-top: 18px;
    padding: 16px;

    border: 1px solid var(--sn-border);
    border-radius: 14px;

    background: #fcf9fa;
}

.snooc-creditttraining-approve-bar > div {
    min-width: 0;
}

.snooc-creditttraining-approve-bar strong {
    display: block;

    color: var(--sn-text);

    font-size: 12px;
    font-weight: 850;
}

.snooc-creditttraining-approve-bar p {
    margin: 3px 0 0;

    color: var(--sn-muted);

    font-size: 10px;
    line-height: 1.45;
}

.snooc-creditttraining-approve-bar form {
    flex: 0 0 auto;
    margin: 0;
}

@media (max-width: 760px) {
    .snooc-creditttraining-approve-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .snooc-creditttraining-approve-bar form,
    .snooc-creditttraining-approve-bar button {
        width: 100%;
    }
}

.snooc-credittrainer-row-status.is-temporary {
    color: #b45309;
}

.snooc-credittrainer-row-status.is-approved {
    color: #087f5b;
}

.snooc-credittrainer-row-status.is-rejected {
    color: #be123c;
}