﻿.di-field {
    margin-bottom: 1rem;
}

    .di-field label {
        font-weight: 500;
        margin-bottom: 0.35rem;
        display: inline-block;
    }

        .di-field label.di-required::after {
            content: " *";
            color: var(--m-danger, #ef4444);
        }

.di-help {
    display: block;
    margin-top: 0.35rem;
    font-size: 12.5px;
    color: var(--m-text-muted, #6c757d);
}

.di-error {
    display: block;
    margin-top: 0.35rem;
    font-size: 12.5px;
    color: var(--m-danger, #dc3545);
}

.di-field.has-error .form-control,
.di-field.has-error .form-select {
    border-color: var(--m-danger, #dc3545);
}

.di-checkbox-group,
.di-radio-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

    .di-checkbox-group.di-inline,
    .di-radio-group.di-inline {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
    }

.di-actions {
    display: flex;
    gap: 10px;
    margin-top: 20px;
}

.di-file-name {
    font-size: 12.5px;
    color: var(--m-text-muted, #6c757d);
    margin-top: 6px;
    display: block;
}
.di-widget form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 0 24px;
    align-items: start;
}
.di-widget form > .text-danger,
.di-widget .di-actions {
    grid-column: 1 / -1;
}
.di-field:has(> input[type="checkbox"]) {
    display: flex;
    align-items: center;
    gap: 8px;
}
.di-field:has(> input[type="checkbox"]) label {
    margin-bottom: 0;
    order: 2;
}
.di-field:has(> input[type="checkbox"]) input[type="checkbox"] {
    order: 1;
    width: 16px;
    height: 16px;
    margin: 0;
}
.di-field label i.fa-lock {
    margin-left: 4px;
    color: var(--m-text-muted);
    font-size: 0.85em;
}
