/* simple, responsive aesthetics */
*{box-sizing:border-box;}

body{
    margin:0;
    font-family:system-ui,Segoe UI,Helvetica,Arial,sans-serif;
    background:#f5f7fa;
    color:#222;
}

.wrapper{
    max-width:920px;
    margin:60px auto;
    padding:35px 40px;
    background:#fff;
    border-radius:12px;
    box-shadow:0 6px 25px rgba(0,0,0,.08);
}

h1{margin:0 0 6px;font-size:2.3rem;color:#4375ff;}
.tagline{margin:0 0 25px;color:#666;line-height:1.45;}

input[type=file]{margin-bottom:15px;}

button{
    cursor:pointer;
    padding:10px 22px;
    border:none;
    border-radius:6px;
    background:#4375ff;
    color:#fff;
    font-size:1rem;
}
button:disabled{background:#9ab3ff;cursor:not-allowed;}

a#downloadLink{
    display:inline-block;
    margin-left:18px;
    padding:10px 22px;
    background:#12b886;
    color:#fff;
    border-radius:6px;
    text-decoration:none;
}
a.hidden{display:none;}

table{
    width:100%;
    border-collapse:collapse;
    margin-top:35px;
    font-size:.95rem;
}
th,td{border:1px solid #dfe4ea;padding:6px 8px;text-align:left;}
th{background:#fafafa;}

.controls{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-bottom:15px;
}
#pdfPassword{
    padding:8px 10px;
    font-size:1rem;
    border:1px solid #ccc;
    border-radius:6px;
}