/*
|--------------------------------------------------------------------------
| Gebruikers
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-page,
.snooc-gebruikers-page *,
.snooc-gebruikers-page *::before,
.snooc-gebruikers-page *::after {
    box-sizing: border-box;
}

.snooc-gebruikers-page {
    display: grid;
    gap: 22px;

    width: 100%;
    min-width: 0;
    max-width: 100%;
}

/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;

    width: 100%;
    min-width: 0;
    padding: 26px 28px;

    border: 1px solid var(--sn-border);
    border-radius: 22px;

    background:
        radial-gradient(
            circle at top right,
            rgba(159, 29, 53, 0.11),
            transparent 270px
        ),
        #ffffff;

    box-shadow:
        0 16px 40px rgba(79, 13, 27, 0.08);
}

.snooc-gebruikers-heading {
    display: flex;
    align-items: center;
    gap: 17px;

    min-width: 0;
}

.snooc-gebruikers-heading > div {
    min-width: 0;
}

.snooc-gebruikers-heading-icon {
    display: flex;
    flex: 0 0 62px;
    align-items: center;
    justify-content: center;

    width: 62px;
    height: 62px;

    border-radius: 18px;

    background:
        linear-gradient(
            135deg,
            var(--sn-red),
            var(--sn-red-dark)
        );

    color: #ffffff;

    box-shadow:
        0 12px 28px rgba(159, 29, 53, 0.24);

    font-size: 24px;
}

.snooc-gebruikers-eyebrow,
.snooc-gebruikers-card-eyebrow {
    display: block;

    margin: 0 0 5px;

    color: var(--sn-red);

    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.snooc-gebruikers-heading h1 {
    margin: 0;

    color: var(--sn-text);

    font-size: clamp(25px, 4vw, 34px);
    font-weight: 850;
    line-height: 1.1;
}

.snooc-gebruikers-heading p {
    margin: 7px 0 0;

    color: var(--sn-muted);

    font-size: 14px;
    line-height: 1.5;
}

.snooc-gebruikers-import-result {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 38px;
    padding: 8px 13px;

    border-radius: 999px;

    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.snooc-gebruikers-import-result.is-valid {
    border: 1px solid #a7f3d0;

    background: #ecfdf5;
    color: #047857;
}

.snooc-gebruikers-import-result.is-invalid {
    border: 1px solid #fecdd3;

    background: #fff1f2;
    color: #be123c;
}

/*
|--------------------------------------------------------------------------
| Layout en kaarten
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1.35fr)
        minmax(300px, 0.65fr);
    align-items: start;
    gap: 18px;

    width: 100%;
    min-width: 0;
}

.snooc-gebruikers-card {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    padding: 24px;

    border: 1px solid var(--sn-border);
    border-radius: 21px;

    background: #ffffff;

    box-shadow:
        0 14px 36px rgba(79, 13, 27, 0.075);
}

.snooc-gebruikers-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;

    margin-bottom: 21px;
    padding-bottom: 17px;

    border-bottom: 1px solid var(--sn-border);
}

.snooc-gebruikers-card-header > div {
    min-width: 0;
}

.snooc-gebruikers-card-header h2 {
    margin: 0;

    color: var(--sn-text);

    font-size: 20px;
    font-weight: 830;
    line-height: 1.25;
}

.snooc-gebruikers-card-header p {
    margin: 7px 0 0;

    color: var(--sn-muted);

    font-size: 13px;
    line-height: 1.55;

    overflow-wrap: anywhere;
}

.snooc-gebruikers-card-icon {
    display: flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;

    width: 44px;
    height: 44px;

    border-radius: 13px;

    background: var(--sn-red-soft);
    color: var(--sn-red);

    font-size: 16px;
}

.snooc-gebruikers-card-icon.is-success {
    background: #ecfdf5;
    color: #047857;
}

.snooc-gebruikers-card-icon.is-error {
    background: #fff1f2;
    color: #be123c;
}

/*
|--------------------------------------------------------------------------
| Foutmelding
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-error {
    display: flex;
    align-items: flex-start;
    gap: 13px;

    width: 100%;
    min-width: 0;
    max-width: 100%;

    padding: 16px 18px;

    border: 1px solid #fecdd3;
    border-radius: 15px;

    background: #fff1f2;
    color: #be123c;

    overflow: hidden;
}

.snooc-gebruikers-error-icon {
    display: flex;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;

    width: 34px;
    height: 34px;

    border-radius: 10px;

    background: rgba(255, 255, 255, 0.65);

    font-size: 17px;
}

.snooc-gebruikers-error > div {
    flex: 1 1 auto;

    min-width: 0;
    max-width: 100%;
}

.snooc-gebruikers-error strong {
    display: block;

    margin-bottom: 6px;

    font-size: 14px;
}

.snooc-gebruikers-error ul {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    margin: 0;
    padding-left: 19px;

    font-size: 12px;
    line-height: 1.55;
}

.snooc-gebruikers-error li {
    min-width: 0;
    max-width: 100%;

    overflow-wrap: anywhere;
    word-break: break-word;
}

/*
|--------------------------------------------------------------------------
| Formulieren
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-filter-form,
.snooc-gebruikers-form {
    display: grid;
    gap: 17px;

    width: 100%;
    min-width: 0;
}

.snooc-gebruikers-filter-form {
    margin-bottom: 17px;
    padding-bottom: 17px;

    border-bottom: 1px solid var(--sn-border);
}

.snooc-gebruikers-field {
    display: grid;
    gap: 7px;

    width: 100%;
    min-width: 0;
}

.snooc-gebruikers-field label {
    display: block;

    margin: 0;

    color: #453439;

    font-size: 11px;
    font-weight: 800;
    line-height: 1.35;
}

.snooc-gebruikers-input-wrap {
    position: relative;

    display: block;

    width: 100%;
    min-width: 0;
    height: 46px;
}

.snooc-gebruikers-input-icon {
    position: absolute !important;
    top: 1px !important;
    bottom: 1px !important;
    left: 1px !important;
    z-index: 4 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 45px !important;

    margin: 0 !important;
    padding: 0 !important;

    border-right: 1px solid #ead1d7 !important;
    border-radius: 11px 0 0 11px !important;

    background: #fbf1f3 !important;
    color: #9f1d35 !important;

    font-size: 13px !important;

    pointer-events: none !important;
}

.snooc-gebruikers-input-icon i {
    position: static !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;

    color: inherit !important;
    line-height: 1 !important;
}

.snooc-gebruikers-input-wrap select {
    position: relative;
    z-index: 1;

    display: block;

    width: 100% !important;
    min-width: 0 !important;
    height: 46px !important;

    margin: 0 !important;
    padding:
        9px
        42px
        9px
        57px !important;

    border: 1px solid #e2bdc6 !important;
    border-radius: 12px !important;

    outline: 0 !important;

    background-color: #ffffff !important;
    color: #34292c !important;

    font-family: inherit !important;
    font-size: 12px !important;
    font-weight: 650 !important;

    cursor: pointer;

    transition:
        border-color 0.18s ease,
        box-shadow 0.18s ease;
}

.snooc-gebruikers-input-wrap select:hover {
    border-color: #d3a5b0 !important;
}

.snooc-gebruikers-input-wrap select:focus {
    border-color: #9f1d35 !important;

    box-shadow:
        0 0 0 3px rgba(159, 29, 53, 0.10) !important;
}

.snooc-gebruikers-input-wrap select:disabled {
    border-color: #e4d9dc !important;

    background-color: #f7f3f4 !important;
    color: #a69297 !important;

    cursor: not-allowed;
}

.snooc-gebruikers-readonly-field {
    display: flex;
    align-items: center;

    width: 100%;
    min-height: 46px;

    border: 1px solid #e4d9dc;
    border-radius: 12px;

    background: #f7f3f4;
    color: #6d5960;
}

.snooc-gebruikers-readonly-field > span {
    display: flex;
    flex: 0 0 45px;
    align-items: center;
    justify-content: center;

    width: 45px;
    align-self: stretch;

    border-right: 1px solid #e4d9dc;
    border-radius: 11px 0 0 11px;

    background: #f1edef;
    color: #9f1d35;
}

.snooc-gebruikers-readonly-field strong {
    padding: 10px 12px;

    font-size: 12px;
    font-weight: 750;
}

/*
|--------------------------------------------------------------------------
| Knoppen
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-primary-button,
.snooc-gebruikers-secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    min-height: 46px;
    padding: 10px 16px;

    border-radius: 12px;

    font-family: inherit;
    font-size: 12px;
    font-weight: 800;

    cursor: pointer;
}

.snooc-gebruikers-primary-button {
    width: 100%;

    border: 0;

    background:
        linear-gradient(
            135deg,
            var(--sn-red),
            var(--sn-red-dark)
        );

    color: #ffffff;

    box-shadow:
        0 9px 22px rgba(159, 29, 53, 0.22);
}

.snooc-gebruikers-primary-button:hover,
.snooc-gebruikers-primary-button:focus-visible {
    outline: 0;

    transform: translateY(-1px);

    box-shadow:
        0 13px 28px rgba(159, 29, 53, 0.28);
}

.snooc-gebruikers-primary-button:disabled {
    opacity: 0.55;

    cursor: not-allowed;
    transform: none;
}

.snooc-gebruikers-secondary-button {
    border: 1px solid var(--sn-border-strong);

    background: #ffffff;
    color: var(--sn-red);

    text-decoration: none;
}

.snooc-gebruikers-secondary-button:hover,
.snooc-gebruikers-secondary-button:focus-visible {
    border-color: #d2a5b0;
    outline: 0;

    background: var(--sn-red-soft);
}

/*
|--------------------------------------------------------------------------
| Dropzone
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-dropzone {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;

    min-height: 210px;
    padding: 25px;

    border: 2px dashed #dfbdc5;
    border-radius: 15px;

    outline: 0;

    background: #fffafb;
    color: var(--sn-text);

    text-align: center;

    cursor: pointer;

    transition:
        border-color 0.18s ease,
        background-color 0.18s ease,
        box-shadow 0.18s ease,
        transform 0.18s ease;
}

.snooc-gebruikers-import-dropzone:hover,
.snooc-gebruikers-import-dropzone:focus-visible,
.snooc-gebruikers-import-dropzone.is-dragging {
    border-color: var(--sn-red);

    background: #fff5f7;

    box-shadow:
        0 0 0 4px rgba(159, 29, 53, 0.07);
}

.snooc-gebruikers-import-dropzone.is-dragging {
    transform: scale(1.005);
}

.snooc-gebruikers-import-dropzone.is-error {
    border-color: #e11d48;

    background: #fff1f2;
}

.snooc-gebruikers-import-dropzone.has-file {
    border-color: #5fbd97;

    background: #f2fff8;
}

.snooc-gebruikers-import-dropzone input[type="file"] {
    position: absolute;

    width: 1px;
    height: 1px;

    overflow: hidden;

    opacity: 0;
    pointer-events: none;
}

.snooc-gebruikers-import-dropzone-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 52px;
    height: 52px;

    margin-bottom: 4px;

    border-radius: 15px;

    background: var(--sn-red-soft);
    color: var(--sn-red);

    font-size: 23px;
}

.snooc-gebruikers-import-dropzone strong {
    font-size: 15px;
    font-weight: 850;
}

.snooc-gebruikers-import-dropzone >
span:not(.snooc-gebruikers-import-dropzone-icon) {
    color: var(--sn-muted);

    font-size: 13px;
}

.snooc-gebruikers-import-dropzone small {
    color: #9a7d85;

    font-size: 11px;
    font-weight: 650;
}

/*
|--------------------------------------------------------------------------
| Geselecteerd bestand
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-selected-file {
    display: flex;
    align-items: center;
    gap: 12px;

    width: 100%;
    min-width: 0;
    padding: 12px 13px;

    border: 1px solid #ccebdc;
    border-radius: 12px;

    background: #f3fff9;
}

.snooc-gebruikers-import-selected-file[hidden] {
    display: none !important;
}

.snooc-gebruikers-import-selected-icon {
    display: flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    border-radius: 10px;

    background: #dcfce7;
    color: #087f5b;
}

.snooc-gebruikers-import-selected-file > div {
    flex: 1 1 auto;

    min-width: 0;
}

.snooc-gebruikers-import-selected-file strong,
.snooc-gebruikers-import-selected-file span {
    display: block;
}

.snooc-gebruikers-import-selected-file strong {
    overflow: hidden;

    color: var(--sn-text);

    font-size: 12px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.snooc-gebruikers-import-selected-file div span {
    margin-top: 2px;

    color: var(--sn-muted);

    font-size: 10px;
}

.snooc-gebruikers-import-selected-file button {
    display: flex;
    flex: 0 0 32px;
    align-items: center;
    justify-content: center;

    width: 32px;
    height: 32px;

    padding: 0;

    border: 0;
    border-radius: 9px;

    background: transparent;
    color: #9f1239;

    cursor: pointer;
}

.snooc-gebruikers-import-selected-file button:hover {
    background: #ffe4e6;
}

.snooc-gebruikers-import-client-error {
    width: 100%;
    min-width: 0;
    padding: 11px 13px;

    border: 1px solid #fecdd3;
    border-radius: 10px;

    background: #fff1f2;
    color: #be123c;

    font-size: 12px;
    font-weight: 700;

    overflow-wrap: anywhere;
}

.snooc-gebruikers-import-client-error[hidden] {
    display: none !important;
}

/*
|--------------------------------------------------------------------------
| Kolommenlijst
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-column-list {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: 8px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.snooc-gebruikers-import-column-list li {
    display: flex;
    align-items: center;
    gap: 9px;

    min-width: 0;
    padding: 9px;

    border: 1px solid var(--sn-border);
    border-radius: 10px;

    background: #ffffff;
}

.snooc-gebruikers-import-column-list li > span {
    display: flex;
    flex: 0 0 27px;
    align-items: center;
    justify-content: center;

    width: 27px;
    height: 27px;

    border-radius: 8px;

    background: var(--sn-red-soft);
    color: var(--sn-red);

    font-size: 10px;
    font-weight: 850;
}

.snooc-gebruikers-import-column-list li > div {
    min-width: 0;
}

.snooc-gebruikers-import-column-list strong,
.snooc-gebruikers-import-column-list small {
    display: block;
}

.snooc-gebruikers-import-column-list strong {
    color: var(--sn-text);

    font-size: 10.5px;
    font-weight: 800;
}

.snooc-gebruikers-import-column-list small {
    margin-top: 2px;

    color: var(--sn-muted);

    font-size: 9px;
    line-height: 1.3;
}

.snooc-gebruikers-import-help-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;

    margin-top: 14px;
    padding: 11px 12px;

    border-radius: 10px;

    background: #f8f4f5;
    color: var(--sn-muted);
}

.snooc-gebruikers-import-help-note i {
    margin-top: 2px;

    color: var(--sn-red);
}

.snooc-gebruikers-import-help-note p {
    margin: 0;

    font-size: 11px;
    line-height: 1.5;
}

.snooc-gebruikers-import-template-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    width: 100%;
    min-height: 40px;

    margin-top: 14px;
    padding: 9px 13px;

    border: 1px solid var(--sn-border-strong);
    border-radius: 10px;

    background: #ffffff;
    color: var(--sn-red);

    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

/*
|--------------------------------------------------------------------------
| Samenvatting
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-summary {
    display: grid;
    grid-template-columns:
        repeat(5, minmax(0, 1fr));
    gap: 10px;

    margin-bottom: 16px;
}

.snooc-gebruikers-import-summary-item {
    min-width: 0;
    padding: 12px 13px;

    border: 1px solid var(--sn-border);
    border-radius: 11px;

    background: #ffffff;
}

.snooc-gebruikers-import-summary-item span,
.snooc-gebruikers-import-summary-item strong {
    display: block;
}

.snooc-gebruikers-import-summary-item span {
    color: var(--sn-muted);

    font-size: 9px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.snooc-gebruikers-import-summary-item strong {
    margin-top: 5px;

    color: var(--sn-text);

    font-size: 17px;
    font-weight: 850;
}

.snooc-gebruikers-import-summary-item.is-valid {
    border-color: #b9ead4;

    background: #f3fff9;
}

.snooc-gebruikers-import-summary-item.is-valid strong {
    color: #087f5b;
}

.snooc-gebruikers-import-summary-item.is-invalid {
    border-color: #fecdd3;

    background: #fff1f2;
}

.snooc-gebruikers-import-summary-item.is-invalid strong {
    color: #be123c;
}

/*
|--------------------------------------------------------------------------
| Previewtabel
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    overflow-x: auto;

    border: 1px solid var(--sn-border);
    border-radius: 15px;

    background: #ffffff;
}

.snooc-gebruikers-import-table {
    width: 100%;
    min-width: 1150px;

    margin: 0;

    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

.snooc-gebruikers-import-table thead th {
    height: 42px;

    padding: 11px 12px;

    border-bottom: 1px solid var(--sn-border);

    background: #f8ecef;
    color: #632b39;

    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: 0.045em;
    text-align: left;
    text-transform: uppercase;
}

.snooc-gebruikers-import-table thead th:nth-child(1) {
    width: 70px;
}

.snooc-gebruikers-import-table thead th:nth-child(2) {
    width: 140px;
}

.snooc-gebruikers-import-table thead th:nth-child(3) {
    width: 220px;
}

.snooc-gebruikers-import-table thead th:nth-child(4) {
    width: 210px;
}

.snooc-gebruikers-import-table thead th:nth-child(5) {
    width: 120px;
}

.snooc-gebruikers-import-table thead th:nth-child(6) {
    width: 180px;
}

.snooc-gebruikers-import-table thead th:nth-child(7) {
    width: 115px;
}

.snooc-gebruikers-import-table thead th:nth-child(8) {
    width: 260px;
}

.snooc-gebruikers-import-table tbody td {
    min-height: 60px;

    padding: 11px 12px;

    border-bottom: 1px solid #f0e7e9;

    background: #ffffff;
    color: #4a373d;

    font-size: 11px;
    line-height: 1.4;
    vertical-align: middle;

    overflow-wrap: anywhere;
}

.snooc-gebruikers-import-table tbody tr.is-invalid td {
    background: #fffafb;
}

.snooc-gebruikers-import-table td strong,
.snooc-gebruikers-import-table td small {
    display: block;
}

.snooc-gebruikers-import-table td small {
    margin-top: 3px;

    color: var(--sn-muted);

    font-size: 9px;
}

.snooc-gebruikers-row-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 29px;
    height: 29px;

    padding: 0 8px;

    border-radius: 9px;

    background: #f8eff1;
    color: #89616b;

    font-size: 10px;
    font-weight: 800;
}

.snooc-gebruikers-import-action,
.snooc-gebruikers-import-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;

    min-height: 28px;
    padding: 5px 9px;

    border-radius: 999px;

    font-size: 10px;
    font-weight: 800;
}

.snooc-gebruikers-import-action.is-create {
    border: 1px solid #bfdbfe;

    background: #eff6ff;
    color: #1d4ed8;
}

.snooc-gebruikers-import-action.is-link {
    border: 1px solid #ddd6fe;

    background: #f5f3ff;
    color: #6d28d9;
}

.snooc-gebruikers-import-status.is-valid {
    border: 1px solid #a7e9cc;

    background: #ecfdf5;
    color: #087f5b;
}

.snooc-gebruikers-import-status.is-invalid {
    border: 1px solid #fecdd3;

    background: #fff1f2;
    color: #be123c;
}

.snooc-gebruikers-import-row-errors {
    width: 100%;
    min-width: 0;
    max-width: 100%;

    margin: 7px 0 0;
    padding-left: 17px;

    color: #be123c;

    font-size: 9px;
    font-weight: 650;
    line-height: 1.45;

    overflow-wrap: anywhere;
    word-break: break-word;
}

/*
|--------------------------------------------------------------------------
| Previewacties
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-preview-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    margin-top: 17px;
    padding-top: 15px;

    border-top: 1px solid var(--sn-border);
}

.snooc-gebruikers-import-preview-actions form {
    margin: 0;
}

.snooc-gebruikers-import-preview-actions
.snooc-gebruikers-primary-button {
    width: auto;
    min-width: 220px;
}

.snooc-gebruikers-import-blocked {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    min-height: 42px;
    padding: 9px 13px;

    border: 1px solid #fecdd3;
    border-radius: 10px;

    background: #fff1f2;
    color: #be123c;

    font-size: 11px;
    font-weight: 800;
}

/*
|--------------------------------------------------------------------------
| Laden
|--------------------------------------------------------------------------
*/

.snooc-gebruikers-import-page .is-loading i {
    animation:
        snooc-gebruikers-import-spin
        0.8s
        linear
        infinite;
}

@keyframes snooc-gebruikers-import-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

/*
|--------------------------------------------------------------------------
| Tablet
|--------------------------------------------------------------------------
*/

@media (max-width: 1050px) {
    .snooc-gebruikers-import-layout {
        grid-template-columns: 1fr;
    }

    .snooc-gebruikers-import-summary {
        grid-template-columns:
            repeat(3, minmax(0, 1fr));
    }
}

/*
|--------------------------------------------------------------------------
| Mobiel
|--------------------------------------------------------------------------
*/

@media (max-width: 760px) {
    .snooc-gebruikers-page {
        gap: 15px;
    }

    .snooc-gebruikers-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 16px;

        padding: 19px;
    }

    .snooc-gebruikers-heading {
        align-items: flex-start;
    }

    .snooc-gebruikers-heading-icon {
        flex-basis: 52px;

        width: 52px;
        height: 52px;

        border-radius: 15px;

        font-size: 20px;
    }

    .snooc-gebruikers-import-result {
        align-self: flex-start;
    }

    .snooc-gebruikers-card {
        padding: 17px;
    }

    .snooc-gebruikers-import-column-list {
        grid-template-columns: 1fr;
    }

    .snooc-gebruikers-import-summary {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .snooc-gebruikers-import-dropzone {
        min-height: 180px;

        padding: 20px 15px;
    }

    .snooc-gebruikers-table-wrap {
        overflow: visible;

        border: 0;
        border-radius: 0;

        background: transparent;
    }

    .snooc-gebruikers-import-table {
        display: block;

        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;

        table-layout: auto;
    }

    .snooc-gebruikers-import-table thead {
        display: none;
    }

    .snooc-gebruikers-import-table tbody {
        display: grid;
        gap: 13px;

        width: 100%;
        min-width: 0;
    }

    .snooc-gebruikers-import-table tbody tr {
        display: grid;

        width: 100%;
        min-width: 0;
        max-width: 100%;
        padding: 15px;

        border: 1px solid var(--sn-border);
        border-radius: 16px;

        background: #ffffff;

        box-shadow:
            0 8px 22px rgba(79, 13, 27, 0.06);
    }

    .snooc-gebruikers-import-table tbody tr.is-invalid {
        border-color: #fecdd3;
    }

    .snooc-gebruikers-import-table tbody td {
        display: grid;
        grid-template-columns:
            minmax(98px, 34%)
            minmax(0, 1fr);
        align-items: start;
        gap: 10px;

        width: 100%;
        min-width: 0;
        max-width: 100%;
        min-height: 43px;

        padding: 8px 0;

        border: 0;
        border-bottom: 1px solid #f2e9eb;

        background: transparent !important;
    }

    .snooc-gebruikers-import-table tbody td:last-child {
        border-bottom: 0;
    }

    .snooc-gebruikers-import-table tbody td::before {
        content: attr(data-label);

        color: #81636b;

        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.055em;
        text-transform: uppercase;
    }

    .snooc-gebruikers-import-table
    tbody td:last-child >
    * {
        min-width: 0;
        max-width: 100%;
    }

    .snooc-gebruikers-import-row-errors {
        grid-column: 2;

        width: 100%;
        min-width: 0;
        max-width: 100%;

        margin-top: 7px;
        padding-left: 15px;
    }

    .snooc-gebruikers-import-preview-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .snooc-gebruikers-import-preview-actions form,
    .snooc-gebruikers-import-preview-actions
    .snooc-gebruikers-primary-button,
    .snooc-gebruikers-secondary-button,
    .snooc-gebruikers-import-blocked {
        width: 100%;
    }

    .snooc-gebruikers-error {
        gap: 10px;

        padding: 13px 14px;
    }

    .snooc-gebruikers-error-icon {
        flex-basis: 31px;

        width: 31px;
        height: 31px;
    }
}

@media (max-width: 480px) {
    .snooc-gebruikers-card {
        padding: 14px;
    }

    .snooc-gebruikers-import-summary {
        grid-template-columns: 1fr;
    }

    .snooc-gebruikers-import-table tbody td {
        grid-template-columns:
            90px
            minmax(0, 1fr);
    }
}