*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Heebo,sans-serif;
}

body{

    background:#0f172a;

    background-image:
    radial-gradient(circle at top left,#6d28d9 0%,transparent 35%),
    radial-gradient(circle at bottom right,#2563eb 0%,transparent 35%);

    min-height:100vh;

    color:white;

    padding:40px;

}

.app{

    max-width:1200px;

    margin:auto;

}

.hero{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;

}

.hero h1{

    font-size:42px;

    margin-bottom:8px;

}

.hero p{

    opacity:.8;

}

.badge{

    display:inline-block;

    padding:8px 14px;

    background:#7c3aed;

    border-radius:999px;

    margin-bottom:15px;

}

.logo{

    width:90px;

    height:90px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:50px;

    background:rgba(255,255,255,.08);

    border-radius:25px;

    backdrop-filter:blur(20px);

}

.card{

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(25px);

    border:1px solid rgba(255,255,255,.1);

    border-radius:24px;

    padding:25px;

    margin-bottom:25px;

}

.card h2{

    margin-bottom:18px;

}

.upload-box{

    border:2px dashed rgba(255,255,255,.3);

    border-radius:20px;

    padding:50px;

    text-align:center;

    cursor:pointer;

    transition:.25s;

}

.upload-box:hover{

    background:rgba(255,255,255,.05);

}

.upload-icon{

    font-size:50px;

    margin-bottom:20px;

}

.upload-box input{

    margin-top:25px;

}

select{

    width:100%;

    padding:18px;

    border-radius:14px;

    border:none;

    font-size:16px;

}

.table-wrap{

    overflow:auto;

}

table{

    width:100%;

    border-collapse:collapse;

}

th{

    text-align:right;

    padding:15px;

    background:#1e293b;

}

td{

    padding:15px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.empty{

    text-align:center;

    opacity:.6;

}

.section-title{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:20px;

}

.actions{

    text-align:center;

}

button{

    width:100%;

    padding:20px;

    font-size:18px;

    font-weight:bold;

    background:#7c3aed;

    color:white;

    border:none;

    border-radius:18px;

    cursor:pointer;

    transition:.25s;

}

button:hover{

    background:#6d28d9;

}

.progress-box{

    margin-top:25px;

}

.progress-line{

    height:14px;

    background:#1e293b;

    border-radius:999px;

    overflow:hidden;

}

#progressBar{

    width:0%;

    height:100%;

    background:#22c55e;

    transition:.3s;

}

#statusText{

    margin-top:12px;

    opacity:.8;

}