/* Reporter Job Application — front-end styles */
.rja-wrap{
    width:80vw;
    max-width:1200px;
    box-sizing:border-box;
    margin:32px auto;
    padding:20px;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    color:#1d2327;
}
.rja-form-card{
    background:#fff;
    border:1px solid #e2e4e7;
    border-radius:12px;
    padding:20px;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
}
.rja-payment-section,
.rja-application-section{
    width:100%;
    padding:20px;
    box-sizing:border-box;
}
.rja-payment-section{
    text-align:center;
    margin-bottom:20px;
    border-bottom:1px solid #eee;
    padding-bottom:30px;
}
.rja-payment-heading,
.rja-application-heading{
    margin:0 0 14px;
    text-align:center;
    font-size:22px;
    line-height:1.3;
    font-weight:700;
    color:#1d2327;
}
.rja-muted{
    color:#6b7280;
    font-size:14px;
    margin:0 auto 16px;
    max-width:760px;
    line-height:1.5;
    text-align:center;
}
.rja-qr{
    margin:16px auto 0;
    text-align:center;
}
.rja-qr img{
    display:block;
    width:200px;
    height:200px;
    max-width:100%;
    object-fit:contain;
    margin:0 auto;
    border:1px solid #e2e4e7;
    border-radius:8px;
    padding:10px;
    background:#fafafa;
}
.rja-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}
.rja-span-2{grid-column:span 2}
.rja-field{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.rja-field label{
    font-size:13px;
    font-weight:600;
    color:#3c434a;
}
.rja-field input[type="text"],
.rja-field input[type="email"],
.rja-field input[type="tel"],
.rja-field input[type="file"],
.rja-field input[type="date"],
.rja-field select,
.rja-field textarea{
    padding:11px 12px;
    border:1px solid #d0d5dd;
    border-radius:7px;
    font-size:14px;
    width:100%;
    box-sizing:border-box;
    background:#fff;
}
.rja-field textarea{resize:vertical;min-height:90px}
.rja-field input:focus,
.rja-field select:focus,
.rja-field textarea:focus{
    outline:none;
    border-color:#2271b1;
    box-shadow:0 0 0 3px rgba(34,113,177,.12);
}
.rja-field input[type="file"]{padding:8px;font-size:13px}
.rja-field-full{grid-column:1/-1}
.rja-subhead{
    margin:28px 0 16px;
    font-size:16px;
    font-weight:700;
    color:#3c434a;
    border-top:1px solid #eee;
    padding-top:20px;
}
.rja-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    padding:12px 22px;
    border-radius:8px;
    font-size:15px;
    font-weight:600;
    border:none;
    cursor:pointer;
    text-decoration:none;
}
.rja-btn-primary{
    background:#2271b1;
    color:#fff;
    width:100%;
    margin-top:24px;
    min-height:48px;
}
.rja-btn-primary:hover{background:#195a8c;color:#fff}
.rja-btn-primary:disabled{opacity:.6;cursor:not-allowed}
.rja-spinner{
    width:15px;
    height:15px;
    border:2px solid rgba(255,255,255,.4);
    border-top-color:#fff;
    border-radius:50%;
    animation:rja-spin .7s linear infinite;
}
@keyframes rja-spin{to{transform:rotate(360deg)}}
.rja-response{margin-top:16px;font-size:14px}
.rja-response p{margin:0;padding:12px 14px;border-radius:8px}
.rja-response.rja-success p{background:#edfaef;color:#0a7a2f;border:1px solid #bfe8c7}
.rja-response.rja-error p{background:#fdecea;color:#a10000;border:1px solid #f3c6c2}
.rja-verify-card{text-align:left}
.rja-verify-input-row{display:flex;gap:10px;margin-top:6px}
.rja-verify-input-row input{flex:1;padding:10px 14px;border:1px solid #d0d5dd;border-radius:7px;font-size:14px}
.rja-verify-input-row input:focus{outline:none;border-color:#2271b1;box-shadow:0 0 0 3px rgba(34,113,177,.12)}
.rja-verify-input-row .rja-btn{margin-top:0;width:auto;white-space:nowrap}
.rja-download-area{margin-top:18px;padding:18px;background:#f0f9f1;border:1px solid #bfe8c7;border-radius:10px}
.rja-status-approved{margin:0 0 12px;font-weight:600;color:#0a7a2f}
.rja-download-buttons{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:768px){
    .rja-wrap{width:calc(100vw - 16px);padding:20px 0}
    .rja-form-card{padding:10px}
    .rja-payment-section,.rja-application-section{padding:20px 10px}
    .rja-grid{grid-template-columns:1fr}
    .rja-field-full{grid-column:1}
    .rja-span-2{grid-column:span 1}
    .rja-verify-input-row{flex-direction:column}
}
