body{
            background:#f5f7fb;
            font-family:system-ui,Arial,sans-serif;
            font-size:14px;
        }

.card{

border-radius:18px;

transition:.3s;

}

.card:hover{

transform:translateY(-6px);

box-shadow:0 20px 40px rgba(0,0,0,.08);

}

.progress{

height:8px;

border-radius:20px;

}

.card-header{

background:white;

font-weight:600;

border:none;

}
.chart-container{
    position: relative;
    height: 100%;
    min-height: 320px;
}
.chart-container{
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    max-height: 320px;
}
.dashboard-card{
    border:none;
    border-radius:18px;
    overflow:hidden;
    transition:.3s;
}

.dashboard-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.kpi-icon{
    width:55px;
    height:55px;
    border-radius:14px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
}

.timeline-item{
    border-left:3px solid #6c63ff;
    padding-left:15px;
    margin-left:10px;
}

.card-header{
    background:#fff;
    font-weight:600;
}

.badge-status{
      color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    /* min-width: 169px; */
    padding: 3px 6px;
    border-radius: 3px;
    font-size: 11px;
    font-weight: 500;

    white-space:nowrap;
}
.status-recruiting{
    background:#10B981;
}

.status-not-yet-recruiting{
    background:#F59E0B;
}

.status-active-not-recruiting{
    background:#3B82F6;
}

.status-completed{
    background:#6B7280;
}

.status-terminated{
    background:#EF4444;
}

.status-withdrawn{
    background:#991B1B;
}

.status-suspended{
    background:#7C3AED;
}

.status-enrolling-by-invitation{
    background:#06B6D4;
}

.status-available{
    background:#22C55E;
}

.status-approved-for-marketing{
    background:#0EA5E9;
}

.status-unknown{
    background:#9CA3AF;
}

.search-container{

    position:relative;

    width:500px;

}

.search-box{

    position:relative;

}

.search-box input{

    height:52px;

    padding-left:45px;

    border-radius:30px;

    border:1px solid #ddd;

    font-size:15px;

    box-shadow:none;

}

.search-box input:focus{

    border-color:#6C63FF;

    box-shadow:0 0 0 .2rem rgba(108,99,255,.15);

}

.search-icon{

    position:absolute;

    left:18px;

    top:17px;

    color:#888;

    z-index:10;

}

#searchLoader{

    position:absolute;

    right:18px;

    top:14px;

}

.search-results{

    display:none;

    position:absolute;

    top:58px;

    left:0;

    width:100%;

    background:#fff;

    border-radius:16px;

    box-shadow:0 10px 30px rgba(0,0,0,.12);

    overflow:hidden;

    max-height:450px;

    overflow-y:auto;

    z-index:9999;

}
.search-item{

    padding:6px 18px;

    border-bottom:1px solid #eee;

    transition:.25s;

    cursor:pointer;

}

.search-item:hover{

    background:#F6F8FF;

}

.search-company{

    font-weight:600;

    color:#222;

}

.search-meta{

    font-size:13px;

    color:#777;

}

.search-score{

    background:#10B981;

    color:#fff;

    padding:5px 10px;

    border-radius:30px;

    font-size:12px;

}

.search-section{

    border-bottom:1px solid #eee;

}

.search-section-title{

    padding:10px 18px;

    font-size:13px;

    font-weight:700;

    color:#6C63FF;

    background:#F8F9FF;

    position:sticky;

    top:0;

    z-index:2;

}



 .company-header {
            background: #fff;
            border-radius: 18px;
            padding: 28px;
            margin-bottom: 24px;
            box-shadow: 0 8px 30px rgba(0,0,0,.06);
        }

        .company-logo {
            width: 70px;
            height: 70px;
            border-radius: 16px;
            background: #6f42c1;
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 30px;
            font-weight: 700;
        }

        .company-name {
            font-size: 30px;
            font-weight: 700;
        }

        .company-meta {
            color: #777;
        }

        .stat-card {
            background: #fff;
            border-radius: 16px;
            padding: 22px;
            box-shadow: 0 8px 25px rgba(0,0,0,.05);
            height: 100%;
        }

        .stat-icon {
            width: 45px;
            height: 45px;
            border-radius: 12px;
            background: #f1ecff;
            color: #6f42c1;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 20px;
        }

        .stat-value {
            font-size: 28px;
            font-weight: 700;
            margin-top: 12px;
        }

        .section-card {
            background: #fff;
            border-radius: 18px;
            padding: 24px;
            margin-bottom: 24px;
            box-shadow: 0 8px 30px rgba(0,0,0,.05);
        }

        .section-title {
            font-size: 19px;
            font-weight: 700;
            margin-bottom: 20px;
        }

        .job-item,
        .trial-item,
        .publication-item,
        .fda-item {
            padding: 16px 0;
            border-bottom: 1px solid #eee;
        }

        .job-item:last-child,
        .trial-item:last-child,
        .publication-item:last-child,
        .fda-item:last-child {
            border-bottom: 0;
        }

        .badge-soft {
            background: #f1ecff;
            color: #6f42c1;
            padding: 5px 10px;
            border-radius: 20px;
            font-size: 12px;
        }

        .muted {
            color: #777;
        }

        .tag {
            display: inline-block;
            padding: 5px 9px;
            border-radius: 20px;
            background: #f4f4f7;
            margin: 3px;
            font-size: 12px;
        }

        .score {
            font-size: 24px;
            font-weight: 700;
            color: #6f42c1;
        }