
/* mdl.css - ????????? ?????? */

/* ?? ??????? ??? ?????? */
.modal.fade {
    perspective: 1000px;
}

    .modal.fade .modal-dialog {
        transition: transform 0.3s ease-out, opacity 0.3s ease;
        transform: translateY(20px) scale(0.95);
        opacity: 0;
    }

    .modal.fade.show .modal-dialog {
        transform: translateY(0) scale(1);
        opacity: 1;
    }

    /* ????????????? (????) ????? - ??? ??????? */
    .modal.fade.edit .modal-content {
        border-radius: 12px;
        box-shadow: 0 10px 25px rgba(33, 150, 243, 0.15);
        border: none;
        overflow: hidden;
        background: linear-gradient(to bottom, #ffffff, #f5f9ff);
    }

    .modal.fade.edit .modal-header {
        background: linear-gradient(to right, #f2f7ff, #e6f0ff);
        border-bottom: 1px solid rgba(33, 150, 243, 0.1);
        border-radius: 12px 12px 0 0;
        padding: 20px 25px;
        position: relative;
    }

        .modal.fade.edit .modal-header::after {
            content: '';
            position: absolute;
            left: 0;
            bottom: 0;
            height: 3px;
            width: 100%;
            background: linear-gradient(to right, #2196f3, #42a5f5);
            opacity: 0.5;
        }

    .modal.fade.edit .modal-title {
        font-weight: 600;
        color: #1565c0;
        display: flex;
        align-items: center;
    }

        .modal.fade.edit .modal-title::before {
            content: '\f044'; /* FontAwesome edit icon */
            font-family: 'FontAwesome';
            margin-right: 8px;
            color: #2196f3;
        }

    .modal.fade.edit .modal-body {
        padding: 25px;
    }

    .modal.fade.edit .modal-footer {
        background: linear-gradient(to right, #f2f7ff, #e6f0ff);
        border-top: 1px solid rgba(33, 150, 243, 0.1);
        border-radius: 0 0 12px 12px;
        padding: 15px 25px;
    }

    .modal.fade.edit .form-control:focus {
        border-color: #42a5f5;
        box-shadow: 0 0 0 0.2rem rgba(33, 150, 243, 0.25);
    }

    /* ?????? (?????) ????? - ??? ????????? */
    .modal.fade.delete .modal-dialog {
        transform-style: preserve-3d;
        transform: scale(0.95) rotateX(5deg);
    }

    .modal.fade.delete.show .modal-dialog {
        transform: scale(1) rotateX(0);
    }

    .modal.fade.delete .modal-content {
        border: none;
        border-radius: 15px;
        box-shadow: 0 15px 35px rgba(220, 53, 69, 0.25), 0 5px 15px rgba(0, 0, 0, 0.1);
        background: linear-gradient(to bottom, #ffffff, #fff6f6);
        overflow: hidden;
    }

    .modal.fade.delete .modal-header {
        background: linear-gradient(to right, #ffecec, #fff0f0);
        color: #dc3545;
        border-bottom: none;
        border-radius: 15px 15px 0 0;
        padding: 25px;
        position: relative;
    }

        .modal.fade.delete .modal-header::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23ff8888' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
            opacity: 0.1;
        }

    .modal.fade.delete .modal-title {
        font-weight: 600;
        color: #c82333;
        display: flex;
        align-items: center;
    }

        .modal.fade.delete .modal-title::before {
            content: '\f1f8'; /* FontAwesome trash icon */
            font-family: 'FontAwesome';
            margin-right: 10px;
        }

    .modal.fade.delete .modal-body {
        padding: 25px 30px;
        text-align: center;
    }

        .modal.fade.delete .modal-body::before {
            content: '\f057'; /* FontAwesome warning icon */
            font-family: 'FontAwesome';
            font-size: 48px;
            color: #dc3545;
            opacity: 0.8;
            display: block;
            margin-bottom: 20px;
        }

    .modal.fade.delete .modal-footer {
        border-top: none;
        border-radius: 0 0 15px 15px;
        padding: 15px 25px;
        justify-content: center;
    }

    /* ????????? (?????) ????? - ??????? ????????? */
    .modal.fade.add .modal-dialog {
        transform: translateY(-30px) scale(0.95);
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }

    .modal.fade.add.show .modal-dialog {
        transform: translateY(0) scale(1);
    }

    .modal.fade.add .modal-content {
        border: none;
        border-radius: 20px;
        box-shadow: 0 25px 50px rgba(10, 175, 156, 0.2), 0 8px 20px rgba(0, 0, 0, 0.1);
        overflow: hidden;
        background: #ffffff;
    }

    .modal.fade.add .modal-header {
        background: linear-gradient(120deg, #0acffe 0%, #4ade80 100%);
        color: #fff;
        border-bottom: none;
        border-radius: 20px 20px 0 0;
        padding: 25px 30px;
        position: relative;
    }

        .modal.fade.add .modal-header::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: rgba(255, 255, 255, 0.15);
        }

    .modal.fade.add .modal-title {
        font-weight: 600;
        letter-spacing: 0.5px;
        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
        display: flex;
        align-items: center;
    }

        .modal.fade.add .modal-title::before {
            content: '\f067'; /* FontAwesome plus icon */
            font-family: 'FontAwesome';
            margin-right: 10px;
        }

    .modal.fade.add .modal-body {
        padding: 30px;
    }

    .modal.fade.add .modal-footer {
        border-top: none;
        border-radius: 0 0 20px 20px;
        padding: 20px 30px;
        background: linear-gradient(to bottom, #ffffff, #f9fffd);
    }

    .modal.fade.add .form-control {
        border-radius: 8px;
        border: 1px solid #e0f2f1;
        transition: all 0.3s ease;
    }

        .modal.fade.add .form-control:focus {
            border-color: #4ade80;
            box-shadow: 0 0 0 0.2rem rgba(74, 222, 128, 0.25);
        }

/* ????? ?????????? ?????? ?????? */
.modal-backdrop {
    background-color: #0c1636;
    backdrop-filter: blur(5px);
    transition: opacity 0.3s ease;
}

    .modal-backdrop.show {
        opacity: 0.7;
    }

/* ???? ?????? */
.btn {
    border-radius: 8px;
    font-weight: 500;
    padding: 8px 16px;
    transition: all 0.3s ease;
}

/* ???? ?????????? ????? */
.btn-pulse {
    animation: pulse 1.5s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0.4);
    }

    70% {
        box-shadow: 0 0 0 10px rgba(74, 222, 128, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(74, 222, 128, 0);
    }
}

/* ??? ?????????? ????? */
.shake {
    animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
    10%, 90% {
        transform: translate3d(-1px, 0, 0);
    }

    20%, 80% {
        transform: translate3d(2px, 0, 0);
    }

    30%, 50%, 70% {
        transform: translate3d(-4px, 0, 0);
    }

    40%, 60% {
        transform: translate3d(4px, 0, 0);
    }
}


/* old CSS */
/* ????????????? (????) ????? */
/*.modal.fade.edit .modal-content {
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.modal.fade.edit .modal-header {
    background-color: #f7f9fc;
    border-bottom: 1px solid #e5e9f2;
    border-radius: 8px 8px 0 0;
}

.modal.fade.edit .modal-footer {
    background-color: #f7f9fc;
    border-top: 1px solid #e5e9f2;
    border-radius: 0 0 8px 8px;
}*/

/* ?????? (?????) ????? */
/*.modal.fade.delete .modal-content {
    border: none;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.18);
}

.modal.fade.delete .modal-header {
    background-color: #ffecec;
    color: #dc3545;
    border-bottom: none;
    border-radius: 12px 12px 0 0;
}

.modal.fade.delete .modal-body {
    padding-top: 25px;
    padding-bottom: 25px;
}

.modal.fade.delete .modal-footer {
    border-top: none;
    border-radius: 0 0 12px 12px;
}*/

/* ????????? (?????) ????? */
/*.modal.fade.add .modal-content {
    border: none;
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
    transform: scale(0.95);
    transition: transform 0.3s ease-in-out;
}

.modal.fade.add.show .modal-content {
    transform: scale(1);
}

.modal.fade.add .modal-header {
    background: linear-gradient(120deg, #84fab0 0%, #8fd3f4 100%);
    color: #fff;
    border-bottom: none;
    border-radius: 15px 15px 0 0;
}

.modal.fade.add .modal-footer {
    border-top: none;
    border-radius: 0 0 15px 15px;
}*/
