/* Explicitly loaded component styles; no dependency on the isolated CSS bundle. */
.training-page { --training-ink:#233247; --training-muted:#59687c; --training-line:#dfe6ee; width:100%; min-width:0; padding-bottom:5rem; color:var(--training-ink); }
.training-page .training-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; margin:0 0 1.25rem; }
.training-page .eyebrow { margin:0 0 .35rem; text-align:left; font-size:.72rem; letter-spacing:.1em; color:var(--training-muted); font-weight:650; text-transform:uppercase; }
.training-page h1 { margin:0; font-size:clamp(1.5rem,2.3vw,1.95rem); font-weight:650; letter-spacing:-.025em; line-height:1.25; }
.training-page h2 { font-size:1.2rem; font-weight:650; letter-spacing:-.015em; line-height:1.35; margin:0 0 .65rem; }
.training-page h3 { font-size:1.05rem; margin:1.25rem 0 .6rem; }
.training-badge { display:inline-flex; align-items:center; gap:.45rem; background:#eef4ff; border:1px solid #d6e4ff; color:#2854a0; padding:.45rem .7rem; border-radius:999px; font-size:.78rem; font-weight:600; }
.training-badge .rzi { font-size:1.05rem; }
.training-page .training-banner { display:flex; flex-direction:column; gap:.9rem; padding:1rem 1.25rem; border:1px solid #d8e4f3; border-radius:16px; margin:0 0 1.25rem; background:#f3f7fc; }
.training-session-heading { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; }
.training-session-heading > strong { font-size:1.05rem; overflow-wrap:anywhere; }
.training-state { background:#fff; border:1px solid var(--training-line); border-radius:999px; padding:.2rem .65rem; font-size:.78rem; }
.training-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem 1.25rem; margin:0; }
.training-facts dt { font-size:.73rem; color:var(--training-muted); font-weight:500; margin:0 0 .2rem; }
.training-facts dd { margin:0; font-size:.88rem; font-weight:550; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.training-facts small { font-size:.75rem; font-weight:400; color:var(--training-muted); }
.training-page .training-safety { display:flex; gap:.6rem; align-items:flex-start; font-size:.81rem; line-height:1.5; color:#435772; margin:0; }
.training-safety .rzi { font-size:1.1rem; flex-shrink:0; margin-top:.1rem; }
.training-facts + .training-safety { border-top:1px solid #d8e4f3; padding-top:.8rem; }
.training-page .training-section-heading { margin:1.25rem 0 .8rem; }
.training-section-heading p { margin:0; color:var(--training-muted); font-size:.85rem; line-height:1.5; }
.training-page .training-wizard { width:100%; max-width:64rem; margin:1.25rem auto; border:1px solid var(--training-line); border-radius:18px; background:#fff; box-shadow:0 3px 16px #23324705; overflow:hidden; }
.training-page .training-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; list-style:none; padding:1rem 1.4rem; margin:0; border-bottom:1px solid var(--training-line); background:#fafbfd; }
.training-steps li { display:flex; align-items:center; gap:.55rem; color:var(--training-muted); font-size:.82rem; min-width:0; }
.training-step-number { display:grid; place-items:center; flex:0 0 1.7rem; width:1.7rem; min-width:1.7rem; height:1.7rem; border:1px solid #d6dee9; border-radius:50%; background:#fff; font-size:.76rem; font-weight:600; }
.training-steps li[aria-current="step"] { color:#2158a5; font-weight:650; }
.training-steps li[aria-current="step"] .training-step-number { background:#245fc0; border-color:#245fc0; color:#fff; }
.training-wizard-body { padding:1.5rem; }
.training-page .training-step-caption { color:#50698b; font-size:.75rem; font-weight:600; margin:0 0 .4rem; }
.training-page .training-intro { margin:0 0 1.2rem; font-size:.88rem; color:var(--training-muted); line-height:1.6; overflow-wrap:anywhere; }
.training-field { display:flex; flex-direction:column; gap:.45rem; margin:1.2rem 0; max-width:42rem; }
.training-field label,.training-field-label { font-size:.84rem; font-weight:600; color:var(--training-ink); }
.training-page select { display:block; width:100%; min-height:46px; padding:.65rem .8rem; border:1px solid #cbd5e1; border-radius:9px; background:#fff; color:var(--training-ink); font-size:.9rem; text-overflow:ellipsis; }
.training-page .training-hint { color:var(--training-muted); font-size:.82rem; line-height:1.6; margin:.5rem 0; }
.training-page .training-empty { display:flex; flex-direction:column; align-items:flex-start; gap:.55rem; margin:1rem 0; padding:1.25rem; background:#f8fafc; border:1px dashed #cad5e3; border-radius:12px; }
.training-empty .rzi { font-size:1.5rem; color:#547499; }
.training-empty strong { font-size:.95rem; }
.training-empty p { margin:0; color:var(--training-muted); font-size:.86rem; line-height:1.6; max-width:48rem; }
.training-summary { display:flex; flex-wrap:wrap; gap:.6rem 1.5rem; padding:.85rem 0; margin:.8rem 0 .4rem; border-top:1px solid var(--training-line); color:#43546b; font-size:.84rem; }
.training-page .training-notice { border-left:3px solid #ca9748; background:#fffbf2; padding:.8rem 1rem; border-radius:0 8px 8px 0; font-size:.82rem; color:#735221; line-height:1.6; margin:.85rem 0; }
.training-page .training-explainer { font-size:.82rem; color:var(--training-muted); margin-top:.8rem; }
.training-explainer summary { cursor:pointer; min-height:44px; align-content:center; font-weight:550; }
.training-explainer p { margin:.3rem 0; line-height:1.6; }
.training-selection-count { margin:.8rem 0; color:var(--training-muted); font-size:.82rem; }
.training-wizard-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.5rem; border-top:1px solid var(--training-line); background:#fafbfd; }
.training-wizard-next { display:flex; gap:.65rem; flex-wrap:wrap; }
.training-page .training-wizard-footer .rz-button { min-height:44px; border-radius:8px; }
.training-page .training-detail { margin-top:1rem; padding:1.25rem; background:#fff; border:1px solid var(--training-line); border-radius:16px; min-width:0; }
.training-detail label { display:block; font-size:.85rem; font-weight:550; margin:.9rem 0 .45rem; }
.training-detail > p { font-size:.85rem; line-height:1.6; }
.training-instructions { white-space:pre-wrap; overflow-wrap:anywhere; font-family:inherit; font-size:.9rem; line-height:1.65; background:#f8fafc; padding:1rem; border-radius:10px; }
.training-page .training-error { margin:.75rem 0; padding:.9rem 1rem; border:1px solid #f0c4c4; background:#fff5f5; border-radius:10px; color:#922d2d; font-size:.88rem; }
.training-page .training-feedback { padding:.9rem 1rem; background:#f3f7fc; border-radius:10px; font-size:.88rem; }
.jans-topbar .training-header-link { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; flex-shrink:0; min-height:44px; padding:.5rem .75rem; border:1px solid #dae5f7; border-radius:10px; background:#f2f6fe; color:#2854a0; font-size:.85rem; font-weight:600; text-decoration:none; line-height:1.2; }
.jans-topbar .training-header-link:hover { color:#163e7b; background:#e6effd; border-color:#b4caef; text-decoration:none; }
.training-header-link .rzi { font-size:1.25rem; }
.training-header-link:focus-visible,.training-page select:focus-visible,.training-page summary:focus-visible { outline:3px solid #5a91e5; outline-offset:3px; }
@media(max-width:950px) { .training-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .training-page .training-heading { gap:.7rem; margin-bottom:1rem; }
 .training-page .training-banner { padding:.9rem; border-radius:12px; }
 .training-page .training-steps { padding:.85rem; gap:.5rem; }
 .training-steps li { flex-direction:column; align-items:flex-start; gap:.4rem; font-size:.72rem; }
 .training-wizard-body { padding:1rem; }
 .training-page .training-wizard { border-radius:12px; }
 .training-wizard-footer { padding:1rem; gap:.65rem; }
 .training-wizard-next { width:100%; display:flex; }
 .training-wizard-next .rz-button { flex:1 1 auto; }
 .training-page .training-detail { padding:1rem; }
 .training-page .training-empty { padding:1rem; }
 .jans-topbar .training-header-link { padding:.5rem; font-size:.78rem; gap:.3rem; }
}
@media(max-width:370px) { .training-facts { grid-template-columns:1fr; } .training-header-link span:not(.rzi) { display:none; } .jans-topbar .training-header-link { width:44px; } }
