*{box-sizing:border-box}body{margin:0;background:#f3f8f7;color:#173b51;font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#087f76;text-decoration:none}a:hover{text-decoration:underline}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 4vw;background:white;border-bottom:1px solid #dce9e6}.brand{font-size:24px;font-weight:750}.brand span{font-size:14px;color:#168b80;margin-left:8px}nav,.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}nav form{margin:0}main{max-width:1800px;margin:32px auto;padding:0 3vw}h1{font-size:32px;line-height:1.2;margin:8px 0 12px;letter-spacing:-.7px}h2{font-size:21px;margin:0 0 16px}p{margin:12px 0;color:#446477}.eyebrow{font-size:12px;font-weight:750;letter-spacing:2px;color:#118d80}.card{background:white;border:1px solid #d9e7e3;border-radius:16px;padding:24px;margin-bottom:20px}.narrow{max-width:500px;margin:50px auto}.registration{max-width:920px;margin:auto}.mobile-preview{max-width:420px}.form-grid{display:grid;gap:22px;margin-top:24px}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-preview .two{grid-template-columns:1fr}.full{grid-column:1/-1}label,legend{font-weight:650;font-size:14px}input,select,textarea{display:block;width:100%;border:1px solid #afc9c2;border-radius:8px;padding:13px;margin-top:8px;color:#173b51;background:white;font:inherit;min-height:46px}input:focus,select:focus,textarea:focus{outline:3px solid #bce3dd;outline-offset:1px}input[type=checkbox],input[type=radio]{width:18px;min-height:18px;margin:0;accent-color:#148e81;display:inline-block;flex:none}fieldset{margin:0;padding:10px 0;border:0;min-width:0}.choice{display:inline-flex;align-items:center;gap:9px;margin:8px 20px 0 0;font-weight:400}small{display:block;font-size:12px;color:#607a8b;font-weight:400;margin-top:6px}button,.button{border:0;border-radius:8px;background:#148e81;color:white;padding:12px 18px;font:600 14px/1.4 system-ui;cursor:pointer;display:inline-block;text-align:center;min-height:44px}button:hover,.button:hover{background:#087b70;text-decoration:none}button:disabled{background:#9bc5bf;cursor:default}.secondary{background:#edf7f4;color:#087f76;border:1px solid #c9e4dd}.secondary:hover{background:#dcefe9}.text-button{background:transparent;color:#087f76;padding:0}.text-button:hover{background:transparent}.notice,.info{background:#e9f5f1;border:1px solid #cae5db;border-radius:10px;padding:16px;margin-bottom:16px}.info strong{display:block;font-size:26px;margin:6px 0}.copy-field{display:flex;align-items:center;margin-top:8px;border:1px solid #afc9c2;border-radius:8px;overflow:hidden}.copy-field input{border:0;margin:0;border-radius:0;min-width:0}.copy-button{border-radius:0;background:white;color:#148e81;font-size:24px;padding:8px 16px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats strong{display:block;font-size:34px;margin-top:5px}.stats small{font-size:13px}.toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filters label{font-size:12px}.filters input{padding:10px;margin-top:4px}.table-scroll{overflow-x:auto;border:1px solid #e1ebe8;border-radius:10px}table{border-collapse:collapse;width:100%;font-size:13px}th,td{padding:15px 13px;border-bottom:1px solid #e1ebe8;text-align:left;vertical-align:middle;min-width:105px}th{background:#edf5f2;color:#476a76;font-size:12px;font-weight:650}th:first-child,td:first-child{min-width:42px}tbody tr:nth-child(even){background:#f8fbfa}td:nth-child(4),td:last-child{min-width:180px}td:nth-child(5){min-width:210px}progress{display:block;width:125px;height:7px;accent-color:#148e81;margin-top:7px}.badge{display:inline-block;background:#fff1d9;color:#986415;border-radius:20px;padding:4px 10px;white-space:nowrap;font-size:12px}.badge.success{background:#dff2e9;color:#10745a}.empty{text-align:center;padding:50px}.profile-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}dl{margin:0}dl>div{display:grid;grid-template-columns:1fr 1.4fr;gap:15px;border-bottom:1px solid #e4eeea;padding:12px 0}dt{color:#607a8b}dd{margin:0;overflow-wrap:anywhere}footer{text-align:center;color:#749085;padding:30px;font-size:12px}@media(max-width:800px){.stats{grid-template-columns:repeat(2,1fr)}.page-heading,.toolbar{align-items:start;flex-direction:column}.profile-grid{grid-template-columns:1fr}.two{grid-template-columns:1fr}h1{font-size:27px}.card{padding:20px}.topbar{padding:16px 20px;align-items:start}nav{gap:10px;font-size:12px}main{padding:0 16px;margin:24px auto}.filters{width:100%}.filters label{flex:1;min-width:145px}.registration{max-width:520px}.registration button{width:100%}.narrow{margin:24px auto}}@media(max-width:400px){.topbar{flex-direction:column;gap:10px}.actions{gap:8px}.stats{gap:10px}.stats .card{padding:16px}.stats strong{font-size:28px}}
.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:20px}.course-grid .card{margin:0}progress{width:100%;height:20px}textarea{width:100%;box-sizing:border-box;font:inherit;padding:12px;border:1px solid #abcac5;border-radius:8px}fieldset{border:1px solid #abcac5;margin:16px 0;padding:16px}fieldset input[type=radio]{width:auto}fieldset label{display:block;margin:12px 0}.certificate{text-align:center;max-width:850px;margin:auto}.certificate h2{font-size:2rem}@media print{header,footer,.print-help{display:none}.certificate{box-shadow:none;border:2px solid #138d81}body{background:white}}

/* Participant profile formatting */
.participant-details > div {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 16px;
    padding: 9px 0;
}
.participant-details dt { font-weight: 600; }
.participant-details dd { color: #173b51; }
@media (max-width: 480px) {
    .participant-details > div {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

/* Space below the sign-in button */
#signin-links {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 40px !important;
}
