.trainer-attendance-table{width:100%;border-collapse:collapse;font-size:13px;margin:14px 0}
.trainer-attendance-table th,.trainer-attendance-table td{padding:10px 12px;border-bottom:1px solid #d9e5ed;text-align:center;vertical-align:middle;min-width:100px;line-height:1.4}
.trainer-attendance-table thead th{background:#eef6f7;color:#17364c}
.trainer-attendance-table th:first-child{text-align:left}
.trainer-attendance-table tbody th{min-width:200px;font-weight:600}
.trainer-course-roster .trainer-attendance-table{width:100%;table-layout:auto}
.trainer-attendance-table th:first-child{width:auto}
.trainer-attendance-table th:not(:first-child),.trainer-attendance-table td{width:132px;min-width:132px}
.trainer-attendance-table thead small{white-space:nowrap}
.trainer-attendance-table small{font-size:11px;color:#61758b;font-weight:400}
.trainer-attendance-table tbody tr:nth-child(even){background:#f7fafc}
.trainer-attendance-table tbody tr:hover{background:#eef7f8}
.attendance-status{display:inline-block;white-space:nowrap;font-size:12px;font-weight:600;color:#17364c}
.attendance-status.is-pending{color:#7a6749;font-weight:400}
.attendance-legend{font-size:12px;color:#61758b;margin:10px 0}
.attendance-legend summary{cursor:pointer}
.trainer-course-roster{box-shadow:none}
.trainer-course-roster > div{width:100%;align-self:stretch;min-width:0}
.trainer-course-registration > details{width:100%;align-self:stretch}
.trainer-course-registration .trainer-form{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:16px;width:100%;max-width:none;margin-top:16px}
.trainer-course-registration .trainer-form label{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:8px;margin:0}
.trainer-course-registration .trainer-form label:has(input[type=email]){flex:1.5 1 240px}
.trainer-course-registration .trainer-form .form-control{width:100%;max-width:none}
.trainer-course-registration .trainer-form button{flex:0 0 auto;margin:0;white-space:nowrap}
.trainer-course-registration input[type=file]{max-width:100%;padding:10px 0}
.trainer-course-registration input[type=file]{font:inherit;font-size:14px;color:#61758b}
.trainer-course-registration input[type=file]::file-selector-button{font:inherit;font-weight:650;color:#17364c;background:#eef6f7;border:1px solid #cbdde6;border-radius:999px;padding:12px 20px;margin-right:14px;cursor:pointer;transition:background .15s,border-color .15s}
.trainer-course-registration input[type=file]::file-selector-button:hover{background:#dff1f3;border-color:#008695}
.trainer-course-registration input[type=file]:focus-visible{outline:2px solid #008695;outline-offset:4px;border-radius:8px}
.csv-file-picker{position:relative;display:flex;align-items:center;gap:14px;min-height:46px;max-width:100%;cursor:pointer}
.csv-file-button{flex:none;padding:12px 20px;border:1px solid #cbdde6;border-radius:999px;background:#eef6f7;color:#17364c;font-size:14px;font-weight:650;pointer-events:none}
.csv-file-picker [data-csv-filename]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#61758b;pointer-events:none}
.trainer-course-registration .csv-file-picker input[type=file]{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer;z-index:1}
.csv-file-picker:hover .csv-file-button{background:#dff1f3;border-color:#008695}
.csv-file-picker:focus-within .csv-file-button{outline:2px solid #008695;outline-offset:3px}
@media(max-width:600px){.trainer-course-registration .trainer-form label{flex:1 1 100%}.trainer-course-registration .trainer-form button{width:100%}}
