/*=========================================================
    SENTRIX CYBER 2.0
    MODAL SYSTEM
    File : css/modal.css
=========================================================*/

/*=========================================================
                MODAL OVERLAY
=========================================================*/

.modal{

    position:fixed;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(3,8,20,.75);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    opacity:0;

    visibility:hidden;

    transition:.35s ease;

    z-index:5000;

}

.modal.active{

    opacity:1;

    visibility:visible;

}

/*=========================================================
                MODAL BOX
=========================================================*/

.modal-box{

    position:relative;

    width:min(900px,92vw);

    max-height:90vh;

    overflow-y:auto;

    border-radius:28px;

    background:rgba(10,18,35,.96);

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(30px);

    box-shadow:

    0 40px 100px rgba(0,0,0,.45);

    animation:modalOpen .35s ease;

}

.modal-box::-webkit-scrollbar{

    width:8px;

}

.modal-box::-webkit-scrollbar-thumb{

    background:#4F7CFF;

    border-radius:50px;

}

/*=========================================================
                MODAL HEADER
=========================================================*/

.modal-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:30px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.modal-header h2{

    color:#ffffff;

    font-size:1.8rem;

}

.modal-header p{

    margin-top:8px;

    color:#8FA3C6;

}

/*=========================================================
                CLOSE BUTTON
=========================================================*/

.modal-close{

    width:50px;

    height:50px;

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(255,255,255,.05);

    color:#ffffff;

    cursor:pointer;

    transition:.3s;

}

.modal-close:hover{

    background:#FF4D67;

    transform:rotate(90deg);

}

/*=========================================================
                MODAL BODY
=========================================================*/

.modal-body{

    padding:35px;

}

/*=========================================================
                MODAL FOOTER
=========================================================*/

.modal-footer{

    display:flex;

    justify-content:flex-end;

    gap:15px;

    padding:30px;

    border-top:1px solid rgba(255,255,255,.08);

}

/*=========================================================
                UPLOAD AREA
=========================================================*/

.modal-upload{

    border:2px dashed rgba(255,255,255,.10);

    border-radius:22px;

    padding:60px 30px;

    text-align:center;

    transition:.35s;

}

.modal-upload:hover{

    border-color:#4F7CFF;

    background:rgba(79,124,255,.05);

}

.modal-upload i{

    font-size:60px;

    color:#4F7CFF;

    margin-bottom:20px;

}

.modal-upload h3{

    margin-bottom:10px;

    color:#ffffff;

}

.modal-upload p{

    color:#9AA9C4;

}

/*=========================================================
                FILE CARD
=========================================================*/

.upload-file{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-top:25px;

    padding:18px;

    border-radius:16px;

    background:rgba(255,255,255,.04);

    border:1px solid rgba(255,255,255,.08);

}

.upload-file-name{

    display:flex;

    align-items:center;

    gap:15px;

}

.upload-file-name i{

    font-size:30px;

    color:#4F7CFF;

}

.upload-progress{

    margin-top:18px;

    height:8px;

    border-radius:50px;

    background:#16233D;

    overflow:hidden;

}

.upload-progress div{

    width:0%;

    height:100%;

    background:linear-gradient(

        90deg,

        #4F7CFF,

        #8B5CF6

    );

    animation:uploadProgress 3s forwards;

}

/*=========================================================
                MODAL ANIMATION
=========================================================*/

@keyframes modalOpen{

    from{

        opacity:0;

        transform:translateY(40px) scale(.95);

    }

    to{

        opacity:1;

        transform:translateY(0) scale(1);

    }

}

@keyframes uploadProgress{

    to{

        width:100%;

    }

}
/*=========================================================
                SCAN REPORT
=========================================================*/

.scan-report{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:30px;

    margin-top:20px;

}

.report-card{

    padding:25px;

    border-radius:22px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

}

.report-card:hover{

    transform:translateY(-6px);

    border-color:rgba(79,124,255,.35);

}

.report-score{

    font-size:4rem;

    font-weight:800;

    color:#4F7CFF;

    margin:20px 0;

}

.report-status{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:50px;

    font-size:13px;

    font-weight:700;

}

.report-status.safe{

    background:rgba(45,212,191,.15);

    color:#2DD4BF;

}

.report-status.warning{

    background:rgba(251,191,36,.15);

    color:#FBBF24;

}

.report-status.danger{

    background:rgba(255,77,103,.15);

    color:#FF4D67;

}

/*=========================================================
                REPORT LIST
=========================================================*/

.report-list{

    margin-top:25px;

}

.report-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.report-item:last-child{

    border-bottom:none;

}

.report-item strong{

    color:#ffffff;

}

.report-item span{

    color:#9AA9C4;

}

/*=========================================================
                SETTINGS PANEL
=========================================================*/

.settings-group{

    margin-bottom:35px;

}

.settings-group h3{

    margin-bottom:20px;

    color:#ffffff;

}

.setting-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:18px 0;

    border-bottom:1px solid rgba(255,255,255,.06);

}

.setting-row:last-child{

    border-bottom:none;

}

/*=========================================================
                TOGGLE SWITCH
=========================================================*/

.switch{

    position:relative;

    width:58px;

    height:32px;

    border-radius:50px;

    background:#1A2845;

    cursor:pointer;

    transition:.3s;

}

.switch::before{

    content:"";

    position:absolute;

    top:4px;

    left:4px;

    width:24px;

    height:24px;

    border-radius:50%;

    background:#ffffff;

    transition:.3s;

}

.switch.active{

    background:#4F7CFF;

}

.switch.active::before{

    transform:translateX(26px);

}

/*=========================================================
                NOTIFICATIONS
=========================================================*/

.notification-item{

    display:flex;

    gap:18px;

    padding:18px;

    margin-bottom:16px;

    border-radius:18px;

    background:rgba(255,255,255,.04);

    transition:.35s;

}

.notification-item:hover{

    background:rgba(255,255,255,.07);

}

.notification-icon{

    width:50px;

    height:50px;

    border-radius:14px;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(79,124,255,.15);

    color:#4F7CFF;

    flex-shrink:0;

}

/*=========================================================
                PROFILE CARD
=========================================================*/

.profile-panel{

    display:flex;

    align-items:center;

    gap:25px;

    padding:25px;

    border-radius:22px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

}

.profile-avatar{

    width:90px;

    height:90px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:32px;

    font-weight:700;

    color:#fff;

    background:linear-gradient(135deg,#4F7CFF,#8B5CF6);

}

.profile-info h3{

    margin-bottom:8px;

    color:#ffffff;

}

.profile-info p{

    color:#8FA3C6;

}

/*=========================================================
                RESPONSIVE
=========================================================*/

@media(max-width:992px){

.scan-report{

grid-template-columns:1fr;

}

.modal-box{

width:96vw;

}

}

@media(max-width:768px){

.modal-header,
.modal-body,
.modal-footer{

padding:20px;

}

.modal-footer{

flex-direction:column;

}

.modal-footer button{

width:100%;

}

.profile-panel{

flex-direction:column;

text-align:center;

}

.setting-row{

flex-direction:column;

align-items:flex-start;

gap:15px;

}

}

@media(max-width:480px){

.modal-upload{

padding:40px 20px;

}

.report-score{

font-size:3rem;

}

.profile-avatar{

width:70px;

height:70px;

font-size:24px;

}

}

/*=========================================================
                4K DISPLAY
=========================================================*/

@media(min-width:1800px){

.modal-box{

max-width:1200px;

}

.modal-body{

padding:45px;

}

.report-card{

padding:35px;

}

}

/*=========================================================
                END OF FILE
=========================================================*/