/* ============================================================
   PREMIUM DOCUMENT UPLOAD UI
============================================================ */

.document-upload-section{
    margin-top:22px;
}

/* ============================================================
   UPLOAD BOX
============================================================ */

.document-upload-box{
    position:relative;

    width:100%;

    min-height:220px;

    border:2px dashed #dbe2ea;
    border-radius:24px;

    background:#f8fafc;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    text-align:center;

    padding:28px;

    cursor:pointer;

    transition:.30s ease;
}

.document-upload-box:hover{
    border-color:#ff6a00;
    background:#fff7f2;
}

.document-upload-box.drag-active{
    border-color:#ff0066;
    background:#fff1f7;

    transform:scale(1.01);
}

/* ============================================================
   ICON
============================================================ */

.upload-main-icon{
    width:78px;
    height:78px;

    border-radius:24px;

    background:
    linear-gradient(
        135deg,
        #ff6a00,
        #ff0066
    );

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:18px;

    color:#fff;

    font-size:34px;
}

/* ============================================================
   TEXT
============================================================ */

.document-upload-box h3{
    margin:0 0 10px;

    font-size:26px;
    font-weight:900;

    color:#111827;
}

.document-upload-box p{
    margin:0 0 14px;

    max-width:480px;

    line-height:1.7;

    color:#64748b;

    font-size:14px;
}

.upload-note{
    font-size:12px;
    color:#94a3b8;
}

/* ============================================================
   INPUT
============================================================ */

.document-upload-box input[type="file"]{
    display:none;
}

/* ============================================================
   PREVIEW WRAP
============================================================ */

.document-preview-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;

    margin-top:22px;
}

/* ============================================================
   CARD
============================================================ */

.upload-card{
    background:#fff;

    border-radius:22px;

    border:1px solid #e5e7eb;

    padding:18px;

    box-shadow:
    0 10px 28px rgba(0,0,0,.04);

    transition:.30s ease;
}

.upload-card.upload-success{
    border-color:#22c55e;
}

.upload-card.upload-error{
    border-color:#ef4444;
}

/* ============================================================
   TOP
============================================================ */

.upload-top{
    display:flex;
    align-items:center;
    gap:14px;

    margin-bottom:16px;
}

/* ============================================================
   FILE ICON
============================================================ */

.upload-icon{
    width:54px;
    min-width:54px;
    height:54px;

    border-radius:16px;

    background:
    linear-gradient(
        135deg,
        #ff6a00,
        #ff0066
    );

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:14px;
    font-weight:800;
}

/* ============================================================
   META
============================================================ */

.upload-meta{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.upload-meta strong{
    font-size:14px;
    line-height:1.5;

    word-break:break-word;
}

.upload-meta small{
    color:#64748b;
    font-size:12px;
}

/* ============================================================
   PROGRESS
============================================================ */

.upload-progress{
    width:100%;
    height:10px;

    border-radius:999px;

    background:#edf2f7;

    overflow:hidden;

    margin-bottom:12px;
}

.upload-progress-bar{
    width:0;
    height:100%;

    border-radius:999px;

    background:
    linear-gradient(
        135deg,
        #ff6a00,
        #ff0066
    );

    transition:.30s ease;
}

/* ============================================================
   STATUS
============================================================ */

.upload-status{
    font-size:13px;
    font-weight:700;

    color:#64748b;
}

/* ============================================================
   SUCCESS
============================================================ */

.upload-success .upload-status{
    color:#22c55e;
}

/* ============================================================
   ERROR
============================================================ */

.upload-error .upload-status{
    color:#ef4444;
}

/* ============================================================
   MOBILE
============================================================ */

@media(max-width:768px){

    .document-upload-box{
        min-height:190px;
        padding:20px;
        border-radius:22px;
    }

    .upload-main-icon{
        width:64px;
        height:64px;
        border-radius:20px;
        font-size:28px;
    }

    .document-upload-box h3{
        font-size:22px;
    }

    .document-upload-box p{
        font-size:13px;
    }

    .document-preview-wrap{
        grid-template-columns:1fr;
        gap:14px;
    }

    .upload-card{
        border-radius:20px;
    }

}

/* ============================================================
   SMALL MOBILE
============================================================ */

@media(max-width:480px){

    .document-upload-box{
        min-height:170px;
        border-radius:20px;
    }

    .upload-main-icon{
        width:58px;
        height:58px;
        border-radius:18px;
    }

    .document-upload-box h3{
        font-size:20px;
    }

}