/**
 * Bestand : dialog.css
 * Doel    : Universele dialogen voor DI-Core.
 */

.di-dialog-overlay
{
    position: fixed;

    inset: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    background: rgba(0,0,0,.35);

    opacity: 0;

    transition: opacity .15s;

    z-index: 99999;
}

.di-dialog-overlay-visible
{
    opacity: 1;
}

.di-dialog
{
    width: 420px;

    background: #ffffff;

    border: 1px solid #d3d8db;
    border-radius: 4px;

    box-shadow: 0 8px 24px rgba(0,0,0,.20);

    font-family: "Century Gothic", Arial, sans-serif;
}

.di-dialog-header
{
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 14px;

    border-bottom: 1px solid #d3d8db;

    background: #f8f9fa;
}

.di-dialog-header-default
{
    background: #f8f9fa;
}

.di-dialog-header-info
{
    background: rgba(37,185,215,.15);
    color: #0c5460;
}

.di-dialog-header-success
{
    background: rgba(114,170,0,.15);
    color: #3f5f00;
}

.di-dialog-header-warning
{
    background: rgba(255,165,0,.15);
    color: #9a5b00;
}

.di-dialog-header-error
{
    background: rgba(227,63,63,.15);
    color: #8b1d1d;
}

.di-dialog-header-critical
{
    background: #e33f3f;
    color: #ffffff;
}

.di-dialog-header-none
{
    display: none;
}

.di-dialog-title
{
    font-size: 15px;
    font-weight: bold;
}

.di-dialog-close
{
    width: 28px;
    height: 28px;

    border: 0;

    background: transparent;

    font-size: 18px;

    cursor: pointer;
}

.di-dialog-close:hover
{
    background: #e9ecef;
}

.di-dialog-content
{
    padding: 20px 14px;

    line-height: 1.5;
}

.di-dialog-description
{
    margin-top: -8px;
    margin-bottom: 28px;

    font-size: 13px;
    color: #6c868e;
}

.di-dialog-content > div
{
    margin-top: 22px;
}

.di-dialog-content > div:first-child
{
    margin-top: 0;
}

.di-dialog-content label
{
    display: block;

    margin-bottom: 5px;

    font-size: 13px;
    font-weight: 600;

    color: #363a41;
}

.di-dialog-content input[type="text"],
.di-dialog-content input[type="password"],
.di-dialog-content input[type="number"],
.di-dialog-content input[type="date"],
.di-dialog-content input[type="time"],
.di-dialog-content textarea,
.di-dialog-content select
{
    box-sizing: border-box;

    width: 100%;
    min-height: 36px;

    padding: 7px 10px;

    border: 1px solid #b9c3c9;
    border-radius: 3px;

    background: #ffffff;
    color: #363a41;

    font-family: inherit;
    font-size: 14px;
}

.di-dialog-content input:focus,
.di-dialog-content textarea:focus,
.di-dialog-content select:focus
{
    outline: none;

    border-color: #25b9d7;

    box-shadow: 0 0 0 2px rgba(37,185,215,.15);
}

.di-login-error
{
    margin-top: 12px;
    padding: 8px 10px;

    border: 1px solid #e33f3f;
    border-radius: 3px;

    background: rgba(227,63,63,.08);
    color: #8b1d1d;

    font-size: 13px;
}

.di-dialog-field-status
{
    display: none;

    margin: 0 14px 12px;
    padding: 8px 10px;

    border: 1px solid #25b9d7;
    border-radius: 3px;

    background: #eaf8fb;
    color: #17758a;

    font-size: 12px;
    line-height: 1.4;
}

.di-dialog-status
{
    display: none;
    margin: 0 14px 12px;
    padding: 8px 10px;

    border: 1px solid #b9c3c9;
    border-radius: 3px;

    background: #f8f9fa;
    color: #363a41;

    font-size: 12px;
    line-height: 1.4;
}

.di-dialog-status-info
{
    border-color: #25b9d7;
    background: #eaf8fb;
    color: #17758a;
}

.di-dialog-status-success
{
    border-color: #72c279;
    background: #edf8ee;
    color: #39743e;
}

.di-dialog-status-error
{
    border-color: #d9534f;
    background: #fbeeee;
    color: #a12622;
}

.di-dialog-field-error
{
    border-color: #d9534f !important;
}

.di-dialog-footer
{
    padding: 12px 14px;

    display: flex;
    justify-content: flex-end;
    gap: 8px;

    border-top: 1px solid #d3d8db;
}

.di-dialog-button
{
    min-width: 90px;
    height: 32px;

    padding: 0 16px;

    border: 1px solid #b9c3c9;
    border-radius: 3px;

    background: #ffffff;
    color: #363a41;

    cursor: pointer;

    font-family: inherit;
    font-size: 13px;
}

.di-dialog-button:hover
{
    background: #f3f5f6;
}

.di-dialog-button-primary
{
    border-color: #25b9d7;

    background: #25b9d7;
    color: #ffffff;
}

.di-dialog-button:disabled
{
    opacity: 0.45;
    cursor: not-allowed;
}

.di-dialog-button-primary:hover
{
    background: #1fa5bf;

    border-color: #1fa5bf;
}

.di-dialog-button:focus
{
    outline: none;
}

.di-dialog-button:focus-visible
{
    outline: 2px solid #005fcc;
    outline-offset: 2px;

    box-shadow: 0 0 0 4px rgba(0,95,204,.20);
}

.di-dialog-timer-circle
{
    width: 52px;
    height: 52px;

    margin: 16px auto 0;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    background: conic-gradient(
        #25b9d7 360deg,
        #e3e6e8 360deg
    );

    position: relative;

    font-weight: bold;
    font-size: 14px;
}

.di-dialog-timer-circle::before
{
    content: "";

    position: absolute;

    width: 40px;
    height: 40px;

    border-radius: 50%;

    background: #ffffff;
}

.di-dialog-timer-value
{
    position: relative;

    z-index: 1;

    color: #333333;

    font-weight: bold;

    font-size: 14px;
}

.di-dialog-dropzone
{
    margin-top: 8px;
    margin-bottom: 8px;
    padding: 16px;

    border: 2px dashed #bfc7cf;
    border-radius: 6px;

    background: #fafbfc;
    color: #666;

    text-align: center;

    transition:
        border-color .2s,
        background .2s;
}

.di-dialog-dropzone-hover
{
    border-color: #25b9d7;
    background: #eefbfe;
}

.di-password-error
{
    margin-top: 12px;
    padding: 8px 10px;

    border: 1px solid #e33f3f;
    border-radius: 3px;

    background: rgba(227, 63, 63, 0.08);
    color: #8b1d1d;

    font-size: 13px;
}

.di-dialog-input
{
    position: relative;
    margin-top: 8px;
}

.di-dialog-input input,
.di-dialog-input textarea,
.di-dialog-input select
{
    width: 100%;
}

.di-dialog-input label
{
    position: absolute;
    left: 10px;
    top: 50%;

    margin: 0;
    padding: 0 4px;

    background: #ffffff;

    color: #6c868e;
    font-size: 14px;
    font-weight: 400;

    transform: translateY(-50%);
    pointer-events: none;

    transition:
        top 0.15s ease,
        font-size 0.15s ease;
}

.di-dialog-input:focus-within label,
.di-dialog-input input:not(:placeholder-shown) + label,
.di-dialog-input textarea:not(:placeholder-shown) + label,
.di-dialog-input select + label
{
    top: 0;

    font-size: 11px;
}

.di-dialog-field-action
{
    margin-top: 10px;

    color: #25b9d7;
    font-size: 13px;

    cursor: pointer;
    text-decoration: none;
}

.di-dialog-field-action:hover
{
    text-decoration: underline;
}