.legitt-hero-root{
    max-width: 900px;
    margin: 20px auto;
    background: #fff;
    padding: 20px;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(0,0,0,0.05);
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
    color: #0f172a;
}

.avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

.hero-box {
    padding: 12px;
    display: flex;
    gap: 10px;
    background: #fff;
}

.tabs{
    display:flex;
    gap:20px;
    border-bottom:1px solid #eef2f6;
    padding-bottom:12px;
    margin-bottom:16px;
}

.tab{
    border:none;
    background:none;
    padding:8px 0;
    font-size:14px;
    color:#64748b;
    cursor:pointer;
    position:relative;
}

.tab.active{
    color:#0f172a;
    font-weight:600;
}

.tab.active::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-13px;
    width:100%;
    height:2px;
    background:#06526D;
    border-radius:999px;
}

.hero-body{
    margin-top:10px;
}

.hero-content{
    display:none;
}

.hero-content.active{
    display:block;
}

.hero-heading{
    font-size:18px;
    font-weight:600;
    margin-bottom:6px;
}

.hero-subtext{
    font-size:14px;
    color:#6b7280;
    margin-bottom:16px;
}

.features-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    gap:20px;
    align-items:flex-start;
}

.features-list{
    display:flex;
    flex-direction:column;
    gap:8px;
    font-size:14px;
}

.feature-item{
    display:flex;
    gap:8px;
    align-items:flex-start;
}

.feature-bullet{
    width:6px;
    height:6px;
    border-radius:999px;
    background:#06526D;
    margin-top:6px;
}

.hero-cta{
    margin-top:18px;
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap;
}

.hero-cta button{
    background:#06526D;
    color:#fff;
    border:none;
    padding:10px 16px;
    border-radius:10px;
    cursor:pointer;
    font-size:14px;
    display:inline-flex;
    align-items:center;
    gap:6px;
}

.hero-cta button.secondary{
    background:#0f172a;
}

.hero-cta span{
    font-size:13px;
    color:#64748b;
}

/* upload box */
.upload-area{
    border:1px dashed #cbd5e1;
    border-radius:12px;
    padding:20px;
    text-align:center;
    background:#f8fafc;
    transition:background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    cursor:pointer;
    display:flex;
    flex-direction:column;
    align-items:center;
}

.upload-area:hover{
    background:#f1f5f9;
    transform:translateY(-1px);
}

.upload-area.dragover{
    background:#eef7fb;
    border-color:#93c5fd;
}

.upload-area input[type="file"]{display: none;}
.upload-instructions{display:flex;flex-direction:column;align-items:center;gap:6px}
.upload-svg{width:40px;height:40px}
.small{color:#94a3b8;font-size:13px}
.upload-preview{margin-top:12px;width:100%;display:flex;justify-content:center}
.upload-actions{margin-top:12px}
.upload-actions button{background:#06526D;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer}
.upload-progress{margin-top:12px;width:100%}
.progress-bar{width:100%;height:8px;background:#e6eef6;border-radius:8px;overflow:hidden}
.progress-fill{height:100%;width:0%;background:#06526D;border-radius:8px}
.preview-file{display:flex;align-items:center;gap:10px}
.preview-file .meta{font-size:14px;color:#0f172a}
.small-muted{font-size:13px;color:#6b7280}
.error-text{color:#b91c1c;margin-top:8px;font-size:13px}

/* Two-column upload layout for Review & Analysis / eSign tabs */
.upload-layout{
    display:flex;
    gap:20px;
    justify-content:center;
    align-items:stretch;
}

/* Left upload card width */
.upload-layout .upload-area{
    max-width:380px;
    width:100%;
}

/* Right preview card (hidden until a file is selected) */
.upload-preview-card{
    max-width:380px;
    width:100%;
    border-radius:12px;
    border:1px solid #e5e7eb;
    background:#f9fafb;
    padding:18px;
    display:none;
    flex-direction:column;
}

/* Shift cards when a file is present */
.upload-layout.has-file{
    justify-content:space-between;
}

.upload-layout.has-file .upload-preview-card{
    display:flex;
}

/* Heading above preview */
.preview-heading{
    font-size:12px;
    font-weight:600;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color:#94a3b8;
    margin-bottom:8px;
}

/* Preview area inside right card */
.upload-preview-card .upload-preview{
    margin-top:4px;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

/* File name + meta stack */
.upload-preview-card .preview-file{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    margin-bottom:8px;
}

/* Thumbnail */
