/* Clean minimal theme with inline validation */
.jrf-form{max-width:680px;margin:2rem auto;padding:2rem;border:1px solid #e0e0e0;border-radius:10px;background:#fafafa;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;box-shadow:0 2px 8px rgba(0,0,0,0.04)}
.jrf-field{margin-bottom:1.25rem}
.jrf-field label{display:block;font-weight:600;margin-bottom:.3rem}
.jrf-field .req{color:#c00}
.jrf-field input[type=text],.jrf-field input[type=email],.jrf-field input[type=date],.jrf-field select,.jrf-field textarea{width:100%;padding:.6rem .7rem;border:1px solid #ccc;border-radius:6px;background:#fff;font-size:1rem;transition:border-color .2s,box-shadow .2s}
.jrf-field input:focus,.jrf-field textarea:focus,.jrf-field select:focus{border-color:#0073aa;box-shadow:0 0 0 2px rgba(0,115,170,.15);outline:none}
.jrf-radio-group label{display:inline-block;margin-right:1rem}
button[type=submit]{background:#0073aa;color:#fff;border:none;padding:.65rem 1.25rem;border-radius:6px;cursor:pointer;font-size:1rem}
button[type=submit]:hover{background:#005d88}
.jrf-error{color:#c00;font-size:.92rem;margin-top:.35rem;animation:jrfFade .2s ease-in}
.has-error input,.has-error select,.has-error textarea{border-color:#c00;background:#fff5f5}
.jrf-notice.success{background:#e6ffed;border:1px solid #b7ebc6;padding:1rem;border-radius:8px;color:#216e39;margin-bottom:1.5rem;font-weight:600;display:flex;gap:.5rem;align-items:center}
.jrf-ok{font-weight:700}
@keyframes jrfFade{from{opacity:0}to{opacity:1}}