.srp-nfe{max-width:1000px;margin:20px auto;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#17221d}.nfe-header{background:#0A7A5A;color:#fff;padding:20px;border-radius:12px}.nfe-header h2{margin:0}.nfe-header p{margin:5px 0}.nfe-header span{font-size:12px}.srp-nfe section{background:#fff;border:1px solid #dfe7e2;border-radius:12px;padding:18px;margin:14px 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}.srp-nfe h3{margin-top:0;color:#0A7A5A}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.srp-nfe label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px}.srp-nfe input,.srp-nfe select,.srp-nfe textarea{padding:10px;border:1px solid #bccac3;border-radius:7px;font:inherit;font-weight:400}.srp-nfe textarea{min-height:75px}.actions{display:flex;gap:10px;position:sticky;bottom:10px;background:#fff;padding:12px;border-radius:12px;box-shadow:0 3px 15px rgba(0,0,0,.12)}button{background:#0A7A5A;color:#fff;border:0;border-radius:7px;padding:11px 16px;font-weight:700;cursor:pointer}button.secondary{background:#eef4f1;color:#0A7A5A}.learner-card{border:1px solid #cbd9d2;padding:14px;border-radius:10px;margin-top:12px;background:#f8fbf9}.learner-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.learner-head .remove{background:#a33}.gps-row{display:flex;align-items:center;gap:12px}.score{padding:15px;background:#f4f8f5;border-radius:8px}#message{margin:15px 0;padding:12px;font-weight:600}@media(max-width:600px){.srp-nfe{margin:8px}.srp-nfe section{padding:12px}.actions{flex-direction:column}.actions button{width:100%}}
/* v4.1 additions: required-field marker, duplicate-learner warning, login notice */
.required-mark{color:#c0392b;font-weight:700}
.required-note{font-size:13px;color:#4a564f;margin:10px 0 0}
.duplicate-warning{background:#fff4e5;border:1px solid #f0b95c;color:#7a4a00;padding:8px 10px;border-radius:7px;font-size:13px;font-weight:600;margin-bottom:10px}
.srp-nfe-login-notice{max-width:600px;margin:40px auto;padding:18px;background:#fff4e5;border:1px solid #f0b95c;border-radius:10px;font-weight:600;color:#7a4a00}

/* v4.2 additions: access-code gate */
#access-gate{max-width:420px;margin:40px auto;padding:24px;background:#fff;border:1px solid #dcdcde;border-radius:10px;text-align:center}
#access-gate h2{margin-top:0}
#access-code-input{text-transform:uppercase;text-align:center;font-size:16px;letter-spacing:1px}
#access-code-submit{margin-top:10px}
#access-gate-message{margin-top:10px;font-weight:600;color:#a33;min-height:20px}
