/* Shared controls */
button,
.btn,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    font-family: inherit !important;
    font-size: 10px !important;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.25;
}

.btn {
    border-radius: 6px;
    box-shadow: none;
}

.btn-sm,
.btn-group-sm > .btn {
    font-size: 9px !important;
}

.btn-lg,
.btn-group-lg > .btn {
    font-size: 11px !important;
}

button:focus-visible,
.btn:focus-visible {
    box-shadow: 0 0 0 3px rgba(23, 107, 72, .14) !important;
    outline: 0;
}

/* Inline Bootstrap alerts */
.alert {
    background: #f5f7f8;
    border: 1px solid #dfe5e8;
    border-left-width: 3px;
    border-radius: 7px;
    color: #52616b;
    font-size: 10px !important;
    line-height: 1.55;
    padding: 9px 11px;
}

.alert-heading {
    color: inherit;
    font-size: 11px;
    font-weight: 700;
}

.alert-primary,
.alert-secondary {
    background: #f3f5f7;
    border-color: #dce2e6;
    border-left-color: #647681;
    color: #52616b;
}

.alert-success {
    background: #edf7f2;
    border-color: #d4e9de;
    border-left-color: #23845b;
    color: #226b4d;
}

.alert-info {
    background: #eef6f8;
    border-color: #d4e6ea;
    border-left-color: #3f8290;
    color: #356d78;
}

.alert-warning {
    background: #fff8e9;
    border-color: #f1e1bc;
    border-left-color: #d19a31;
    color: #85641e;
}

.alert-danger,
.alert-error {
    background: #fff1f0;
    border-color: #efd7d3;
    border-left-color: #b95347;
    color: #93443b;
}

.alert-light {
    background: #fff;
    border-color: #e4e9ec;
    border-left-color: #a9b3b9;
    color: #62717b;
}

.alert-dark {
    background: #eef0f1;
    border-color: #d9dee1;
    border-left-color: #3d4951;
    color: #34414a;
}

.alert a,
.alert .alert-link {
    color: inherit;
    font-weight: 700;
    text-decoration: underline;
}

.alert-dismissible .close {
    color: currentColor;
    font-size: 15px;
    opacity: .55;
    padding: 8px 10px;
}

/* Toastr service notifications */
#toast-container {
    font-family: inherit;
    z-index: 999999;
}

#toast-container.toast-bottom-right {
    bottom: 17px;
    right: 17px;
}

#toast-container > div {
    background-color: #fff !important;
    background-image: none !important;
    border: 1px solid #dfe5e8;
    border-left: 3px solid #647681;
    border-radius: 9px;
    box-shadow: 0 12px 32px rgba(34, 47, 56, .15);
    color: #53616b;
    font-size: 9px;
    line-height: 1.5;
    margin: 0 0 9px;
    min-height: 66px;
    opacity: 1;
    overflow: hidden;
    padding: 12px 38px 12px 48px;
    position: relative;
    width: 350px;
}

#toast-container > div:hover {
    box-shadow: 0 15px 38px rgba(34, 47, 56, .2);
    cursor: default;
    opacity: 1;
}

#toast-container > div::before {
    align-items: center;
    background: #edf1f3;
    border-radius: 50%;
    color: #647681;
    content: "i";
    display: flex;
    font-size: 10px;
    font-weight: 800;
    height: 25px;
    justify-content: center;
    left: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
}

#toast-container > .toast-success {
    border-left-color: #23845b;
}

#toast-container > .toast-success::before {
    background: #e5f4ec;
    color: #23845b;
    content: "✓";
}

#toast-container > .toast-error {
    border-left-color: #b95347;
}

#toast-container > .toast-error::before {
    background: #fde9e7;
    color: #b95347;
    content: "!";
}

#toast-container > .toast-warning {
    border-left-color: #d19a31;
}

#toast-container > .toast-warning::before {
    background: #fff2d7;
    color: #a87518;
    content: "!";
}

#toast-container > .toast-info {
    border-left-color: #3f8290;
}

#toast-container > .toast-info::before {
    background: #e6f2f5;
    color: #3f8290;
    content: "i";
}

#toast-container .toast-title {
    color: #2f3b43;
    font-size: 10px;
    font-weight: 700;
    margin: 0 18px 3px 0;
}

#toast-container .toast-message {
    color: #74818a;
}

#toast-container .toast-message a,
#toast-container .toast-message label {
    color: #176b48;
}

#toast-container .toast-close-button {
    color: #8d989f;
    font-family: Arial, sans-serif !important;
    font-size: 17px;
    font-weight: 400;
    line-height: 1;
    opacity: .7;
    position: absolute;
    right: 9px;
    text-shadow: none;
    top: 8px;
}

#toast-container .toast-close-button:hover,
#toast-container .toast-close-button:focus {
    color: #34414a;
    opacity: 1;
}

#toast-container .toast-progress {
    background: currentColor;
    bottom: 0;
    height: 2px;
    left: 0;
    opacity: .25;
}

/* SweetAlert confirmations and status dialogs */
body .swal2-container {
    font-family: inherit;
}

body .swal2-popup {
    background: #fff;
    border: 1px solid #e0e6e9;
    border-radius: 12px;
    box-shadow: 0 20px 58px rgba(28, 39, 47, .22);
    color: #34414a;
    padding: 21px;
    width: min(390px, calc(100vw - 28px));
}

body .swal2-icon {
    height: 52px;
    margin: 2px auto 13px;
    width: 52px;
}

body .swal2-icon .swal2-icon-content {
    font-size: 29px;
}

body .swal2-icon.swal2-success {
    border-color: #8dc7aa;
    color: #23845b;
}

body .swal2-icon.swal2-error {
    border-color: #d9857b;
    color: #b95347;
}

body .swal2-icon.swal2-warning {
    border-color: #dfb65f;
    color: #c18b25;
}

body .swal2-icon.swal2-info,
body .swal2-icon.swal2-question {
    border-color: #79aeba;
    color: #3f8290;
}

body .swal2-title {
    color: #202a32;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.35;
    padding: 0;
}

body .swal2-html-container,
body .swal2-content {
    color: #71808a;
    font-size: 10px;
    line-height: 1.6;
    margin: 8px 0 0;
}

body .swal2-actions {
    gap: 7px;
    margin-top: 17px;
}

body .swal2-styled {
    border-radius: 6px !important;
    box-shadow: none !important;
    font-family: inherit !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    margin: 0 !important;
    min-height: 31px;
    padding: 7px 13px !important;
}

body .swal2-confirm {
    background: #176b48 !important;
    border: 1px solid #176b48 !important;
}

body .swal2-confirm:hover,
body .swal2-confirm:focus {
    background: #10583a !important;
    border-color: #10583a !important;
}

body .swal2-deny,
body .swal2-cancel {
    background: #fff !important;
    border: 1px solid #d8b8b3 !important;
    color: #9a443a !important;
}

body .swal2-deny:hover,
body .swal2-cancel:hover {
    background: #fff1f0 !important;
}

body .swal2-loader {
    border-color: #176b48 transparent #176b48 transparent !important;
}

/* Legacy in-page notifications */
.notification {
    background: #fff;
    border: 1px solid #dfe5e8;
    border-left: 3px solid #647681;
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(34, 47, 56, .14);
    color: #53616b;
    font-family: inherit;
    font-size: 9px;
    line-height: 1.5;
    margin-bottom: 9px;
    opacity: 1;
    padding: 11px 13px;
    right: 17px;
    top: 17px;
    transition: opacity .2s ease, transform .2s ease;
    z-index: 1000;
}

.notification-title {
    color: #2f3b43;
    font-size: 10px;
    font-weight: 700;
    text-transform: none;
}

.notification-message {
    color: #74818a;
    margin: 3px 0 0;
}

.notification.success {
    background: #fff;
    border-left-color: #23845b;
}

.notification.error {
    background: #fff;
    border-left-color: #b95347;
}

.notification.warning {
    background: #fff;
    border-left-color: #d19a31;
}

.notification.information,
.notification.info {
    background: #fff;
    border-left-color: #3f8290;
}

@media (max-width: 575px) {
    #toast-container.toast-bottom-right,
    #toast-container.toast-bottom-left {
        bottom: 9px;
        left: 9px;
        right: 9px;
    }

    #toast-container > div {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    body .swal2-popup {
        padding: 17px;
    }
}
