.training-reminder-v14{position:sticky;top:78px;z-index:26;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:-4px 0 22px;padding:12px 14px;border:1px solid #f6bd78;border-radius:16px;background:linear-gradient(95deg,#fff1df,#fff9ef);box-shadow:0 12px 30px rgba(194,93,12,.15);color:#7a3510;overflow:hidden}
.training-reminder-v14.overdue{border-color:#f0a095;background:linear-gradient(95deg,#fff0ed,#fff7ec);color:#8f2619}
.training-reminder-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:12px;background:#ef6c13;color:#fff}.training-reminder-icon svg{width:20px;height:20px}
.training-reminder-viewport{min-width:0;overflow:hidden}.training-reminder-viewport p{width:max-content;margin:0;font-size:14px;font-weight:800;white-space:nowrap;animation:trainingReminderMarqueeV14 18s linear infinite}
.training-reminder-v14 button{border:0;border-radius:11px;background:#152b25;color:#fff;padding:10px 14px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap}
@keyframes trainingReminderMarqueeV14{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.registration-rule-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.registration-rule-strip span{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid #f2d3b6;border-radius:13px;background:#fff8ef;color:#6f3d1d}.registration-rule-strip b{font-size:13px}.registration-rule-strip small{color:#8a715f;line-height:1.4}

.training-layout-v14{grid-template-columns:minmax(250px,290px) minmax(430px,1fr) minmax(340px,390px);align-items:start}.training-session-v14{overflow:hidden}.training-video-gate-v14{position:relative;isolation:isolate;display:flex;min-height:330px;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:28px;border-radius:17px;overflow:hidden;background:#11241f;color:#fff}.training-video-gate-v14::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(180deg,rgba(7,22,18,.15),rgba(7,22,18,.94)),var(--video-thumb);background-size:cover;background-position:center}.training-video-gate-v14::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(135deg,rgba(12,137,98,.15),transparent)}.training-video-gate-v14>span{margin-bottom:8px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px;font-weight:800;letter-spacing:.08em}.training-video-gate-v14 h2{max-width:650px;margin:0 0 8px;font-size:clamp(24px,2.2vw,34px);line-height:1.12}.training-video-gate-v14 p{max-width:650px;margin:0 0 18px;color:rgba(255,255,255,.82);line-height:1.55}.training-video-gate-v14 button:disabled{cursor:not-allowed;opacity:.55}.training-session-v14 .session-info{padding-top:20px}
.completed-record-v14{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;padding:18px;border-radius:15px;background:#edf8f3;border:1px solid #cae8da}.completed-record-v14>b,.completed-record-v14 p{grid-column:1/-1}.completed-record-v14 span{padding:10px;border-radius:10px;background:#fff;font-size:13px;font-weight:700}.completed-record-v14 p{margin:0;color:#587069}

.attendance-v14{max-height:calc(100vh - 120px);overflow:auto}.attendance-v14>.panel-heading{align-items:flex-start}.attendance-stats-v14{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:12px 0}.attendance-stats-v14 span{display:flex;flex-direction:column;align-items:center;padding:10px 5px;border:1px solid #dce8e3;border-radius:12px;background:#f7faf9;font-size:11px;color:#64756f}.attendance-stats-v14 b{font-size:20px;color:#11835e}.attendance-list-v14{display:grid;gap:6px}.attendance-person-v14{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;gap:10px;align-items:center;padding:10px!important;border:1px solid #e2ebe7!important;border-radius:12px;background:#fff}.attendance-person-v14:has(input:checked){border-color:#58ae8f!important;background:#edf9f4}.attendance-person-v14 input{width:20px;height:20px;accent-color:#11835e}.extra-attendance-v14{margin:14px 0;border:1px dashed #b8d4c9;border-radius:13px}.extra-attendance-v14 summary{padding:13px;cursor:pointer;font-weight:800;color:#126f52}.extra-attendance-v14 summary small{font-weight:500;color:#6f837b}.extra-attendance-v14>div{display:grid;gap:6px;padding:0 9px 9px}.attendance-warning-v14{margin:10px 0;padding:11px 12px;border-radius:10px;background:#eff8f4;color:#276953;font-size:12px;font-weight:700}.attendance-warning-v14.danger{background:#fff0ed;color:#b03627}

@media (max-width:1350px){.training-layout-v14{grid-template-columns:260px minmax(0,1fr)}.training-layout-v14>.attendance-v14{grid-column:2}}
@media (max-width:900px){.training-reminder-v14{top:64px;grid-template-columns:auto 1fr}.training-reminder-v14 button{grid-column:1/-1}.training-layout-v14{grid-template-columns:1fr}.training-layout-v14>.attendance-v14{grid-column:auto;max-height:none}.registration-rule-strip{grid-template-columns:1fr}.completed-record-v14{grid-template-columns:1fr}.completed-record-v14>b,.completed-record-v14 p{grid-column:auto}}
@media (prefers-reduced-motion:reduce){.training-reminder-viewport p{animation:none;white-space:normal}}
