.training-occurrence-prototype{padding:1rem}
.training-occurrence-prototype .student-training-header{margin-bottom:1rem}
.training-occurrence-prototype__collection{grid-template-columns:minmax(0,1fr)}
.training-occurrence-prototype__collection .student-dashboard-card{width:100%;max-width:none}
.training-occurrence-prototype__collection .student-dashboard-card__body{min-width:0;min-height:100%}
@media(max-width:767.98px){
  .training-occurrence-prototype{padding:.75rem}
  .training-occurrence-prototype__collection{grid-template-columns:1fr}
  .training-occurrence-prototype__collection .student-dashboard-card{display:block}
  .training-occurrence-prototype__collection .student-dashboard-card__body{min-height:12rem}
}

.training-occurrence-prototype__name-badge{display:inline-flex!important;width:max-content;margin:.18rem 0 0!important;padding:.2rem .45rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 55%,var(--odin-line));border-radius:999px;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info))!important;font-size:.61rem!important;font-weight:850!important;letter-spacing:.07em;text-transform:uppercase}.training-occurrence-prototype__breadcrumbs{margin-left:auto}.training-occurrence-prototype__breadcrumbs ol{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.38rem;margin:0;padding:0;list-style:none}.training-occurrence-prototype__breadcrumbs li{display:flex;align-items:center;color:var(--sd-muted);font-size:.72rem;font-weight:650;white-space:nowrap}.training-occurrence-prototype__breadcrumbs li+li:before{content:"–";margin-right:.38rem;color:var(--odin-line)}.training-occurrence-prototype__breadcrumbs a{color:inherit;text-decoration:none}.training-occurrence-prototype__breadcrumbs a:hover,.training-occurrence-prototype__breadcrumbs a:focus-visible{color:var(--odin-accent-1,var(--odin-info))}.training-occurrence-prototype__breadcrumbs li[aria-current="page"]{color:var(--odin-text,#eefaff);font-weight:800}
@media(max-width:767.98px){.training-occurrence-prototype__breadcrumbs{width:100%;margin-left:0}.training-occurrence-prototype__breadcrumbs ol{justify-content:flex-start}.training-occurrence-prototype__breadcrumbs li{font-size:.66rem}}
.training-occurrence-prototype__breadcrumbs a{display:inline-flex;align-items:center;gap:.3rem}.training-occurrence-prototype__breadcrumbs a>i{color:var(--odin-accent-1,var(--odin-info));font-size:.7rem}
.training-occurrence-prototype__card-stack{display:grid;min-width:0}.training-occurrence-prototype__card-stack>.student-dashboard-card{position:relative;z-index:1}.training-occurrence-prototype__card-stack.is-details-open>.student-dashboard-card{border-bottom-right-radius:0;border-bottom-left-radius:0}.training-occurrence-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:-1px;padding:1rem;border:1px solid var(--odin-line);border-top-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 48%,var(--odin-line));border-radius:0 0 var(--odin-v2-radius,8px) var(--odin-v2-radius,8px);background:var(--sd-surface)}.training-occurrence-details[hidden]{display:none}.training-occurrence-details__box{padding:1rem;border:1px solid var(--odin-line);border-radius:.65rem;background:var(--sd-surface-2)}.training-occurrence-details__box>header{display:flex;align-items:center;gap:.65rem;margin-bottom:.8rem}.training-occurrence-details__box>header>i{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:.55rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info))}.training-occurrence-details__box header span,.training-occurrence-details__box header h3{display:block}.training-occurrence-details__box header span{color:var(--odin-accent-1,var(--odin-info));font-size:.58rem;font-weight:850;letter-spacing:.08em}.training-occurrence-details__box header h3{margin:.12rem 0 0;font-size:.9rem}.training-occurrence-details__box dl{margin:0}.training-occurrence-details__box dl>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.48rem 0;border-top:1px solid var(--odin-line)}.training-occurrence-details__box dt{color:var(--sd-muted);font-size:.7rem;font-weight:500}.training-occurrence-details__box dd{margin:0;font-size:.73rem;font-weight:800;text-align:right}.training-occurrence-details__box ul{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.training-occurrence-details__box li{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:.55rem;padding:.55rem;border:1px solid var(--odin-line);border-radius:.5rem;background:var(--sd-surface)}.training-occurrence-details__box li>i{padding-top:.12rem;color:var(--odin-accent-1,var(--odin-info));text-align:center}.training-occurrence-details__box li strong,.training-occurrence-details__box li small{display:block}.training-occurrence-details__box li strong{font-size:.75rem}.training-occurrence-details__box li small{margin-top:.14rem;color:var(--sd-muted);font-size:.66rem;line-height:1.4}@media(max-width:767.98px){.training-occurrence-details{grid-template-columns:1fr;padding:.75rem}.training-occurrence-details__box{padding:.75rem}}
.training-occurrence-prototype__card-stack .student-dashboard-card__body>.student-card-actionbar{margin-top:auto;padding-top:.68rem;padding-bottom:.68rem}

.training-occurrence-details__box--structure{min-width:0}.training-occurrence-course-structure{display:grid;gap:.42rem}.training-occurrence-course-phase{display:grid;grid-template-columns:minmax(118px,.9fr) minmax(0,1.1fr);align-items:center;gap:.5rem;min-width:0;padding:.46rem;border:1px solid var(--odin-line);border-radius:.5rem;background:var(--sd-surface)}.training-occurrence-course-phase__heading{display:flex;min-width:0;align-items:center;gap:.42rem}.training-occurrence-course-phase__heading>i{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:.4rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.68rem}.training-occurrence-course-phase__heading span{display:block;color:var(--odin-accent-1,var(--odin-info));font-size:.48rem;font-weight:850;letter-spacing:.07em}.training-occurrence-course-phase__heading h4{margin:.04rem 0 0;font-size:.66rem;line-height:1.18}.training-occurrence-course-phase dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem}.training-occurrence-course-phase dl>div{display:flex;min-width:0;min-height:38px;flex-direction:column;align-items:center!important;justify-content:center!important;gap:.06rem!important;padding:.22rem!important;border:1px solid var(--odin-line)!important;border-radius:.36rem;background:var(--sd-surface-2)}.training-occurrence-course-phase dt{font-size:.46rem!important;line-height:1.05;text-align:center}.training-occurrence-course-phase dd{font-size:.78rem!important;line-height:1;text-align:center!important}@media(max-width:991.98px){.training-occurrence-course-phase{grid-template-columns:1fr}.training-occurrence-course-phase dl{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:420px){.training-occurrence-course-phase dl{grid-template-columns:1fr}.training-occurrence-course-phase dl>div{min-height:auto}}
.training-occurrence-workspace{grid-column:1/-1;width:100%;margin-top:1rem;padding:1rem}.training-occurrence-workspace__main,.training-occurrence-workspace__side{min-width:0}.training-occurrence-content-module,.training-occurrence-manual-module{min-height:190px}.training-occurrence-content-module{display:flex;min-width:0;flex-direction:column}.training-occurrence-content-tabs{display:flex;max-width:100%;align-items:center;gap:.35rem;overflow-x:auto;padding-bottom:.65rem;border-bottom:1px solid var(--odin-line);scrollbar-width:thin}.training-occurrence-content-tabs button{flex:0 0 auto;padding:.42rem .68rem;border:1px solid var(--odin-line);border-radius:.45rem;background:var(--sd-surface-2);color:var(--sd-muted);font-size:.67rem;font-weight:750;white-space:nowrap}.training-occurrence-content-tabs button:hover,.training-occurrence-content-tabs button:focus-visible{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 55%,var(--odin-line));color:var(--odin-text,#eefaff)}.training-occurrence-content-tabs button.is-active{border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 13%,var(--sd-surface-2));color:var(--odin-accent-1,var(--odin-info))}.training-occurrence-content-panels{min-height:110px;flex:1;padding-top:.75rem}.training-occurrence-content-panels>[hidden]{display:none}@media(max-width:767.98px){.training-occurrence-workspace{grid-template-columns:1fr}.training-occurrence-content-module,.training-occurrence-manual-module{min-height:150px}}
.training-session-prototype{display:grid;gap:.85rem}.training-session-prototype__notice{display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 38%,var(--odin-line));border-radius:.5rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 8%,transparent);color:var(--odin-accent-1,var(--odin-info))}.training-session-prototype__notice>i{flex:0 0 auto}.training-session-prototype__notice strong,.training-session-prototype__notice small{display:block}.training-session-prototype__notice strong{font-size:.7rem}.training-session-prototype__notice small{margin-top:.08rem;color:var(--sd-muted);font-size:.6rem}.training-session-group{display:grid;gap:.45rem}.training-session-group__header{display:flex;align-items:center;gap:.5rem;padding-bottom:.38rem;border-bottom:1px solid var(--odin-line)}.training-session-group__header>i{display:grid;width:30px;height:30px;place-items:center;border-radius:.42rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.72rem}.training-session-group__header h3,.training-session-group__header span{display:block}.training-session-group__header h3{margin:0;font-size:.78rem}.training-session-group__header span{margin-top:.06rem;color:var(--sd-muted);font-size:.58rem}.training-session-group__list{display:grid;gap:.38rem}.training-session-record{overflow:hidden;border:1px solid var(--odin-line);border-radius:.5rem;background:var(--sd-surface-2)}.training-session-record.is-completed{border-color:color-mix(in srgb,var(--odin-success,#36c98f) 36%,var(--odin-line))}.training-session-record__completed-line{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:.5rem;min-height:42px;padding:.45rem .6rem}.training-session-record__completed-line>i{color:var(--odin-success,#36c98f)}.training-session-record__completed-line strong{font-size:.68rem}.training-session-record__completed-line>span{display:inline-flex;align-items:center;gap:.28rem;color:var(--sd-muted);font-size:.58rem}.training-session-record__completed-line button,.training-session-record__exercise-toggle{border:0;background:transparent;color:var(--odin-accent-1,var(--odin-info));font-size:.58rem;font-weight:750}.training-session-record__completed-line button{display:inline-flex;align-items:center;gap:.3rem}.training-session-record__topline{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.58rem .65rem .42rem}.training-session-record__topline>div:first-child{display:flex;min-width:0;align-items:center;gap:.42rem}.training-session-record__sequence{display:inline-grid;min-width:30px;height:24px;place-items:center;border-radius:.35rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.53rem;font-weight:850}.training-session-record__topline h4{overflow:hidden;margin:0;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.training-session-record__counts{display:flex;flex:0 0 auto;gap:.28rem}.training-session-record__counts span{padding:.25rem .38rem;border:1px solid var(--odin-line);border-radius:.35rem;color:var(--sd-muted);font-size:.5rem}.training-session-record__counts strong{color:var(--odin-text,#eefaff);font-size:.62rem}.training-session-record__action{display:flex;justify-content:flex-end;padding:0 .65rem .52rem}.training-session-record__action .btn{display:inline-flex;align-items:center;gap:.35rem;font-size:.58rem}.training-session-booking{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;margin:0 .65rem .5rem;padding:.48rem .55rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 32%,var(--odin-line));border-radius:.42rem;background:var(--sd-surface)}.training-session-booking>span{display:inline-flex;min-width:0;align-items:center;gap:.3rem;color:var(--sd-muted);font-size:.56rem}.training-session-booking>span i{color:var(--odin-accent-1,var(--odin-info))}.training-session-booking>span strong{color:var(--odin-text,#eefaff)}.training-session-contact{display:flex;gap:.25rem}.training-session-contact a{display:grid;width:28px;height:28px;place-items:center;border:1px solid var(--odin-line);border-radius:50%;color:var(--odin-accent-1,var(--odin-info));text-decoration:none}.training-session-contact a:hover,.training-session-contact a:focus-visible{border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent)}.training-session-record__exercise-toggle{display:flex;width:100%;align-items:center;justify-content:flex-end;gap:.3rem;padding:.12rem .65rem .48rem}.training-session-record [data-session-exercises-toggle][aria-expanded="true"] i{transform:rotate(180deg)}.training-session-exercises{display:grid;border-top:1px solid var(--odin-line);background:var(--sd-surface)}.training-session-exercises[hidden]{display:none}.training-session-exercise{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;align-items:start;gap:.45rem;padding:.48rem .6rem;border-top:1px solid color-mix(in srgb,var(--odin-line) 72%,transparent)}.training-session-exercise:first-child{border-top:0}.training-session-exercise>i{padding-top:.12rem;color:var(--sd-muted);font-size:.5rem}.training-session-record.is-completed .training-session-exercise>i{color:var(--odin-success,#36c98f)}.training-session-exercise strong,.training-session-exercise small{display:block}.training-session-exercise strong{font-size:.6rem}.training-session-exercise small{margin-top:.18rem;color:var(--sd-muted);font-size:.54rem;line-height:1.35}.training-session-exercise small b{color:var(--odin-accent-1,var(--odin-info))}.training-session-exercise>em{padding:.16rem .3rem;border-radius:999px;font-size:.47rem;font-style:normal;font-weight:800}.training-session-exercise>em.is-required{background:color-mix(in srgb,var(--odin-warning,#f3b94f) 13%,transparent);color:var(--odin-warning,#f3b94f)}.training-session-exercise>em.is-optional{background:color-mix(in srgb,var(--odin-info,#4bc4e8) 12%,transparent);color:var(--odin-info,#4bc4e8)}.training-session-exercise__grade{font-size:.53rem;white-space:nowrap}@media(max-width:767.98px){.training-session-record__completed-line{grid-template-columns:18px minmax(0,1fr);}.training-session-record__completed-line>span,.training-session-record__completed-line>button{grid-column:2}.training-session-record__topline{align-items:flex-start;flex-direction:column}.training-session-record__counts{width:100%}.training-session-record__counts span{flex:1}.training-session-booking{grid-template-columns:1fr}.training-session-contact{justify-content:flex-start}.training-session-exercise{grid-template-columns:14px minmax(0,1fr) auto}.training-session-exercise__grade{grid-column:2}}
.training-theory-code{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;padding:.15rem .32rem;border:1px solid var(--odin-line);border-radius:.32rem;color:var(--sd-muted);font-size:.49rem;font-weight:850;letter-spacing:.04em}.training-theory-completed-line{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto;align-items:center;gap:.5rem;min-height:42px;padding:.45rem .6rem}.training-theory-completed-line>i{color:var(--odin-success,#36c98f)}.training-theory-completed-line>strong{font-size:.68rem}.training-theory-completed-line .training-theory-code{border-color:color-mix(in srgb,var(--odin-success,#36c98f) 35%,var(--odin-line));color:var(--odin-success,#36c98f)}.training-theory-completed-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .42rem;border:1px solid color-mix(in srgb,var(--odin-success,#36c98f) 48%,var(--odin-line));border-radius:999px;background:color-mix(in srgb,var(--odin-success,#36c98f) 11%,transparent);color:var(--odin-success,#36c98f);font-size:.51rem;font-weight:800;white-space:nowrap}.training-session-record__topline.is-theory{min-height:42px}.training-theory-title{display:flex!important;min-width:0;align-items:center!important;gap:.42rem!important}.training-theory-title>i{flex:0 0 auto;color:var(--sd-muted);font-size:.72rem}.training-session-record.is-in_progress .training-theory-title>i{color:var(--odin-warning,#f3b94f)}.training-theory-title h4{min-width:0}.training-theory-status{flex:0 0 auto;padding:.23rem .44rem;border:1px solid var(--odin-line);border-radius:999px;font-size:.51rem;font-weight:800;white-space:nowrap}.training-theory-status.is-in_progress{border-color:color-mix(in srgb,var(--odin-warning,#f3b94f) 48%,var(--odin-line));background:color-mix(in srgb,var(--odin-warning,#f3b94f) 11%,transparent);color:var(--odin-warning,#f3b94f)}.training-theory-status.is-not_started{color:var(--sd-muted)}.training-theory-status.is-awaiting{border-color:color-mix(in srgb,var(--odin-info,#4bc4e8) 48%,var(--odin-line));background:color-mix(in srgb,var(--odin-info,#4bc4e8) 11%,transparent);color:var(--odin-info,#4bc4e8)}.training-theory-methods{display:flex;align-items:center;flex-wrap:wrap;gap:.42rem;padding:0 .65rem .55rem;color:var(--sd-muted);font-size:.56rem}.training-theory-methods>span{display:inline-flex;align-items:center;gap:.28rem}.training-theory-methods>span>i{color:var(--sd-muted)}.training-theory-methods>span.is-done>i{color:var(--odin-success,#36c98f)}.training-theory-methods>span.is-progress>i,.training-theory-methods>span.is-declared>i{color:var(--odin-warning,#f3b94f)}.training-theory-methods>span.is-optional{opacity:.58}.training-theory-methods__separator{width:1px;height:14px;background:var(--odin-line)}.training-theory-methods>button{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;padding:0;border:0;background:transparent;color:var(--odin-accent-1,var(--odin-info));font-size:.56rem;font-weight:800}.training-theory-methods>button:hover,.training-theory-methods>button:focus-visible{text-decoration:underline}.training-theory-methods__awaiting{display:inline-flex;align-items:center;gap:.3rem;margin-left:auto;color:var(--odin-info,#4bc4e8);font-size:.56rem;font-weight:800}.theory-verification-form{text-align:left}.theory-verification-form fieldset{margin:0 0 .85rem;padding:0;border:0}.theory-verification-form legend{margin-bottom:.38rem;font-size:.72rem;font-weight:800}.theory-verification-form label{display:flex;align-items:flex-start;gap:.42rem;margin:.3rem 0;color:var(--odin-text,#eefaff);font-size:.67rem}.theory-verification-form input{margin-top:.13rem}.theory-verification-form textarea{width:100%;min-height:72px;margin-top:.35rem;padding:.5rem;border:1px solid var(--odin-line);border-radius:.45rem;background:var(--sd-surface-2);color:var(--odin-text,#eefaff);font-size:.65rem;resize:vertical}.theory-verification-form small{display:block;color:var(--sd-muted);font-size:.58rem;line-height:1.4}@media(max-width:767.98px){.training-theory-completed-line{grid-template-columns:18px minmax(0,1fr) auto}.training-theory-completed-badge{grid-column:2/4;justify-self:start}.training-session-record__topline.is-theory{align-items:stretch}.training-theory-title{width:100%}.training-theory-status{align-self:flex-start}.training-theory-methods{align-items:flex-start;flex-direction:column}.training-theory-methods__separator{display:none}.training-theory-methods>button,.training-theory-methods__awaiting{margin-left:0}}
.training-session-record.is-in_progress{border-color:color-mix(in srgb,var(--odin-warning,#f3b94f) 48%,var(--odin-line))}.training-theory-code{padding:.18rem .38rem;font-size:.57rem}.training-theory-completed-line{min-height:48px;padding:.52rem .68rem}.training-theory-completed-line>i{font-size:.84rem}.training-theory-completed-line>strong{color:var(--odin-text,#eefaff);font-size:.75rem}.training-theory-completed-badge{padding:.3rem .5rem;font-size:.59rem}.training-session-record__topline.is-theory{min-height:48px;padding:.6rem .68rem .48rem}.training-theory-title>i{font-size:.8rem}.training-theory-title h4{color:var(--odin-text,#eefaff);font-size:.74rem}.training-theory-status{padding:.27rem .48rem;font-size:.59rem}.training-theory-methods{gap:.5rem;padding:0 .68rem .65rem;color:var(--odin-text,#eefaff);font-size:.64rem;line-height:1.35}.training-theory-methods>span{gap:.34rem;font-weight:650}.training-theory-methods>span>i{font-size:.72rem}.training-theory-methods>span.is-pending{color:var(--sd-muted)}.training-theory-methods>span.is-pending>i{color:var(--sd-muted)}.training-theory-methods>span.is-done{color:var(--odin-text,#eefaff)}.training-theory-methods>span.is-progress,.training-theory-methods>span.is-declared{color:var(--odin-text,#eefaff)}.training-theory-methods>button{font-size:.64rem}.training-theory-methods__awaiting{font-size:.64rem}
.swal2-container .odin-swal{border:1px solid var(--odin-line);border-radius:var(--odin-v2-radius,8px);background:var(--sd-surface,#fff);color:var(--odin-text,#172737);box-shadow:0 22px 70px rgba(4,18,28,.28)}.swal2-container .odin-swal__title{padding:1rem 1rem 0;color:var(--odin-text,#172737);font-size:1rem;font-weight:850}.swal2-container .odin-swal__content{color:var(--odin-text,#172737)}.swal2-container .odin-swal__actions{gap:.45rem;margin-top:.8rem}.swal2-container .odin-swal__confirm,.swal2-container .odin-swal__cancel{display:inline-flex;min-height:36px;align-items:center;justify-content:center;padding:.48rem .8rem;border-radius:.48rem;font-size:.7rem;font-weight:800}.swal2-container .odin-swal__confirm{border:1px solid var(--odin-accent-1,var(--odin-info));background:var(--odin-accent-1,var(--odin-info));color:#fff}.swal2-container .odin-swal__cancel{border:1px solid var(--odin-line);background:var(--sd-surface-2);color:var(--odin-text,#172737)}.swal2-container .odin-swal__confirm:hover,.swal2-container .odin-swal__confirm:focus-visible{filter:brightness(1.08)}.swal2-container .odin-swal__cancel:hover,.swal2-container .odin-swal__cancel:focus-visible{border-color:var(--odin-accent-1,var(--odin-info));color:var(--odin-accent-1,var(--odin-info))}.swal2-container .odin-swal__validation{border:1px solid color-mix(in srgb,var(--odin-danger,#ef5a6f) 38%,var(--odin-line));border-radius:.45rem;background:color-mix(in srgb,var(--odin-danger,#ef5a6f) 10%,var(--sd-surface-2));color:var(--odin-text,#172737);font-size:.65rem}.swal2-container .odin-swal .swal2-success-ring{border-color:color-mix(in srgb,var(--odin-success,#36c98f) 38%,transparent)}.swal2-container .odin-swal .swal2-success-line-tip,.swal2-container .odin-swal .swal2-success-line-long{background-color:var(--odin-success,#36c98f)}.swal2-container .odin-swal .theory-verification-form label{color:var(--odin-text,#172737)}.swal2-container .odin-swal .theory-verification-form input{accent-color:var(--odin-accent-1,var(--odin-info))}.swal2-container .odin-swal .theory-verification-form textarea{border-color:var(--odin-line);background:var(--sd-surface-2);color:var(--odin-text,#172737)}.swal2-container .odin-swal .theory-verification-form textarea::placeholder{color:var(--sd-muted)}.swal2-container.swal2-backdrop-show{background:color-mix(in srgb,#07141d 58%,transparent)!important}
.training-theory-record-layout{display:grid;grid-template-columns:32px minmax(0,1fr) auto 92px;grid-template-rows:minmax(38px,auto) minmax(38px,auto);align-items:stretch;min-width:0}.training-theory-record-layout__icon{grid-column:1;grid-row:1/3;align-self:center;justify-self:center;color:var(--sd-muted);font-size:.82rem}.training-session-record.is-in_progress .training-theory-record-layout__icon{color:var(--odin-warning,#f3b94f)}.training-session-record.is-awaiting .training-theory-record-layout__icon{color:var(--odin-info,#4bc4e8)}.training-theory-record-layout__title{display:flex;grid-column:2;grid-row:1;min-width:0;align-items:center;padding:.48rem .55rem}.training-theory-record-layout__title h4{overflow:hidden;margin:0;color:var(--odin-text,#eefaff);font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.training-theory-record-layout__badges{display:flex;grid-column:3;grid-row:1/3;align-self:center;align-items:center;gap:.3rem;padding:0 .55rem}.training-theory-record-layout .training-theory-methods{display:flex;grid-column:2;grid-row:2;align-items:center;align-self:stretch;gap:.5rem;margin:0;padding:.48rem .55rem;border-top:1px solid var(--odin-line)}.training-theory-record-layout__action{display:flex;grid-column:4;grid-row:1/3;align-items:stretch;border-left:1px solid var(--odin-line)}.training-theory-record-layout__action:empty{display:none}.training-theory-record-layout__action>button{display:flex;width:100%;min-height:100%;align-items:center;justify-content:center;flex-direction:column;gap:.3rem;padding:.42rem;border:0;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 9%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.57rem;font-weight:800;line-height:1.2;text-align:center}.training-theory-record-layout__action>button>i{font-size:.72rem}.training-theory-record-layout__action>button:hover,.training-theory-record-layout__action>button:focus-visible{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 16%,transparent)}.training-theory-record-layout__action .training-theory-methods__awaiting{width:100%;align-items:center;justify-content:center;flex-direction:column;margin:0;padding:.4rem;color:var(--odin-info,#4bc4e8);line-height:1.2;text-align:center}.training-theory-completed-badge{gap:.35rem}.training-theory-completed-badge[title]{cursor:help}@media(max-width:767.98px){.training-theory-record-layout{grid-template-columns:28px minmax(0,1fr) auto;grid-template-rows:auto auto auto}.training-theory-record-layout__icon{grid-column:1;grid-row:1/3}.training-theory-record-layout__title{grid-column:2;grid-row:1;padding:.5rem .45rem}.training-theory-record-layout__badges{grid-column:3;grid-row:1;align-self:center;padding:0 .45rem}.training-theory-record-layout .training-theory-methods{grid-column:2/4;grid-row:2;align-items:flex-start;padding:.48rem .45rem}.training-theory-record-layout__action{grid-column:2/4;grid-row:3;border-top:1px solid var(--odin-line);border-left:0}.training-theory-record-layout__action>button{min-height:42px;flex-direction:row}.training-theory-record-layout__action>button br{display:none}}@media(max-width:480px){.training-theory-record-layout__badges{align-items:flex-end;flex-direction:column}.training-theory-record-layout .training-theory-methods{align-items:flex-start;flex-direction:column}.training-theory-record-layout .training-theory-methods__separator{display:none}}
.training-theory-record-layout{grid-template-columns:32px minmax(0,1fr) auto 134px;grid-template-rows:minmax(34px,auto) minmax(34px,auto)}.training-theory-record-layout__title{padding:.34rem .5rem}.training-theory-record-layout__title h4{font-size:.72rem;font-weight:650}.training-theory-record-layout .training-theory-methods{gap:.45rem;padding:.32rem .5rem;font-size:.66rem}.training-theory-record-layout .training-theory-methods>span{font-weight:500}.training-theory-record-layout__badges{padding:0 .5rem}.training-theory-record-layout__action>button{min-height:100%;flex-direction:row;gap:.38rem;padding:.38rem .55rem;background:transparent;color:var(--odin-warning,#f3b94f);font-size:.61rem;font-weight:650;white-space:nowrap}.training-theory-record-layout__action>button:hover,.training-theory-record-layout__action>button:focus-visible{background:color-mix(in srgb,var(--odin-warning,#f3b94f) 14%,transparent);color:var(--odin-warning,#f3b94f)}.training-theory-record-layout__action>button>i{font-size:.68rem}@media(max-width:767.98px){.training-theory-record-layout{grid-template-columns:28px minmax(0,1fr) auto;grid-template-rows:auto auto auto}.training-theory-record-layout__title{padding:.38rem .45rem}.training-theory-record-layout .training-theory-methods{padding:.34rem .45rem}.training-theory-record-layout__action>button{min-height:40px;white-space:normal}}
.swal2-container .odin-swal--declaration{width:min(620px,calc(100vw - 1.5rem));padding:0 0 1rem;overflow:hidden}.swal2-container .odin-swal__signature-icon{width:58px;height:58px;margin:1.15rem auto .2rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 40%,var(--odin-line));border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 20%,var(--sd-surface-2)),var(--sd-surface-2));color:var(--odin-accent-1,var(--odin-info));font-size:1.35rem;transform:rotate(-3deg)}.swal2-container .odin-swal__signature-icon .swal2-icon-content{font-size:inherit}.swal2-container .odin-swal--declaration .odin-swal__title{padding-top:.45rem;font-size:1.08rem}.swal2-container .odin-swal--declaration .odin-swal__content{margin:.65rem 1rem 0;padding:0}.theory-verification-form{display:grid;gap:.7rem;text-align:left}.theory-verification-form__session{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .7rem;border:1px solid var(--odin-line);border-radius:.55rem;background:var(--sd-surface-2)}.theory-verification-form__session>span{display:flex;min-width:0;align-items:center;gap:.45rem;color:var(--odin-text,#172737);font-size:.72rem;font-weight:700}.theory-verification-form__session>span>strong{display:inline-flex;align-items:center;justify-content:center;padding:.18rem .35rem;border-radius:.32rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 13%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.58rem}.theory-verification-form__session time{display:grid;grid-template-columns:15px auto;align-items:center;column-gap:.28rem;color:var(--sd-muted);font-style:normal}.theory-verification-form__session time>i{grid-row:1/3;color:var(--odin-accent-1,var(--odin-info));font-size:.7rem}.theory-verification-form__session time small,.theory-verification-form__session time b{display:block}.theory-verification-form__session time small{font-size:.48rem}.theory-verification-form__session time b{color:var(--odin-text,#172737);font-size:.58rem}.theory-verification-form__section{display:grid!important;gap:.38rem;margin:0!important;padding:.65rem!important;border:1px solid var(--odin-line)!important;border-radius:.58rem;background:var(--sd-surface)}.theory-verification-form__section legend{width:auto;margin:0;padding:0 .22rem;color:var(--odin-text,#172737);font-size:.72rem;font-weight:750}.theory-verification-form__section>p{margin:0 0 .12rem;color:var(--sd-muted);font-size:.6rem}.theory-verification-choice,.theory-verification-support{display:grid!important;grid-template-columns:18px minmax(0,1fr);align-items:start!important;gap:.42rem!important;margin:0!important;padding:.48rem .52rem;border:1px solid var(--odin-line);border-radius:.48rem;background:var(--sd-surface-2);cursor:pointer}.theory-verification-choice:has(input:checked),.theory-verification-support:has(input:checked){border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 58%,var(--odin-line));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,var(--sd-surface-2))}.theory-verification-choice input,.theory-verification-support input{margin:.14rem 0 0!important}.theory-verification-choice>span,.theory-verification-support>span{display:grid;grid-template-columns:18px minmax(0,1fr);column-gap:.3rem}.theory-verification-choice>span>i{grid-row:1/3;color:var(--odin-accent-1,var(--odin-info));padding-top:.08rem;text-align:center}.theory-verification-choice b,.theory-verification-choice small,.theory-verification-support b,.theory-verification-support small{display:block}.theory-verification-choice b,.theory-verification-support b{color:var(--odin-text,#172737);font-size:.65rem;font-weight:700}.theory-verification-choice small,.theory-verification-support small{margin-top:.08rem;color:var(--sd-muted);font-size:.56rem;line-height:1.35}.theory-verification-form__section textarea{box-sizing:border-box;width:100%;min-height:66px;margin:.12rem 0 0!important;padding:.52rem .58rem!important;border:1px solid var(--odin-line)!important;border-radius:.48rem!important;background:var(--sd-surface-2)!important;color:var(--odin-text,#172737)!important;font-size:.62rem!important}.theory-verification-form__footnote{display:flex;align-items:flex-start;gap:.4rem;padding:.42rem .48rem;border-radius:.42rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 7%,transparent);color:var(--sd-muted);font-size:.55rem;line-height:1.4}.theory-verification-form__footnote>i{padding-top:.1rem;color:var(--odin-accent-1,var(--odin-info))}.theory-verification-result{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid var(--odin-line);border-radius:.55rem;background:var(--sd-surface-2);text-align:left}.theory-verification-result>i{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:.45rem;background:color-mix(in srgb,var(--odin-success,#36c98f) 13%,transparent);color:var(--odin-success,#36c98f)}.theory-verification-result small,.theory-verification-result strong{display:block}.theory-verification-result small{color:var(--odin-accent-1,var(--odin-info));font-size:.56rem}.theory-verification-result strong{margin-top:.18rem;color:var(--odin-text,#172737);font-size:.64rem;font-weight:650;line-height:1.45}.training-theory-methods>span.is-declared>i{color:var(--odin-accent-1,var(--odin-info))}.training-theory-methods>span.is-consultation-requested>i{color:var(--odin-warning,#f3b94f)}@media(max-width:520px){.theory-verification-form__session{align-items:flex-start;flex-direction:column}.swal2-container .odin-swal--declaration .odin-swal__content{margin-inline:.7rem}}
.swal2-container .odin-swal .theory-verification-support>span{display:block;min-width:0}.swal2-container .odin-swal .theory-verification-support>span>b,.swal2-container .odin-swal .theory-verification-support>span>small{width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word}.swal2-container .odin-swal .theory-verification-support>span>small{margin-top:.12rem}
.swal2-container .odin-swal{border:0;box-shadow:0 28px 90px rgba(4,18,28,.32)}.swal2-container .odin-swal__signature-icon{border:0;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);box-shadow:none;transform:none}.swal2-container .odin-swal--declaration .odin-swal__title{font-size:1.12rem;font-weight:750}.swal2-container .odin-swal--declaration .odin-swal__content{margin-top:.45rem}.theory-verification-form{gap:.2rem}.theory-verification-form__session{padding:.55rem .15rem .7rem;border:0;border-bottom:1px solid var(--odin-line);border-radius:0;background:transparent}.theory-verification-form__section{gap:.22rem;margin:0!important;padding:.8rem 0!important;border:0!important;border-radius:0;background:transparent}.theory-verification-form__section+.theory-verification-form__section{border-top:1px solid var(--odin-line)!important}.theory-verification-form__section legend{padding:0;font-size:.76rem}.theory-verification-form__section>p{margin-bottom:.28rem}.theory-verification-choice,.theory-verification-support{gap:.5rem!important;padding:.55rem .5rem;border:0;border-radius:.48rem;background:transparent}.theory-verification-choice:hover,.theory-verification-support:hover{background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 5%,transparent)}.theory-verification-choice:has(input:checked),.theory-verification-support:has(input:checked){border:0;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,transparent);box-shadow:inset 3px 0 0 var(--odin-accent-1,var(--odin-info))}.theory-verification-choice b,.theory-verification-support b{font-size:.68rem;font-weight:650}.theory-verification-choice small,.theory-verification-support small{font-size:.59rem}.theory-verification-form__section textarea{min-height:68px;margin-top:.35rem!important;border:0!important;border-radius:.45rem!important;background:var(--sd-surface-2)!important;box-shadow:inset 0 -1px 0 var(--odin-line)}.theory-verification-form__section textarea:focus{outline:0;box-shadow:inset 0 -2px 0 var(--odin-accent-1,var(--odin-info))}.theory-verification-form__footnote{margin-top:.3rem;padding:.45rem .05rem;background:transparent}.swal2-container .odin-swal__actions{margin-top:.55rem}.swal2-container .odin-swal__confirm,.swal2-container .odin-swal__cancel{border-radius:999px}.swal2-container .odin-swal__cancel{border:0;background:transparent}.swal2-container .odin-swal__cancel:hover,.swal2-container .odin-swal__cancel:focus-visible{background:var(--sd-surface-2)}
html[data-bs-theme="dark"] .swal2-container .odin-swal{--odin-text:#edf7ff;--odin-line:#203449;--sd-surface:#0d1b2b;--sd-surface-2:#12263b;--sd-muted:#8ca3b7;--odin-swal-separator:rgba(225,242,255,.1);background:#0d1b2b;color:#edf7ff}html[data-bs-theme="light"] .swal2-container .odin-swal{--odin-text:#172433;--odin-line:#d9e3eb;--sd-surface:#fff;--sd-surface-2:#f3f7fa;--sd-muted:#687d8e;--odin-swal-separator:rgba(23,36,51,.11);background:#fff;color:#172433}.swal2-container .odin-swal .theory-verification-form__session{border-bottom-color:var(--odin-swal-separator)}.swal2-container .odin-swal .theory-verification-form__section+.theory-verification-form__section{border-top-color:var(--odin-swal-separator)!important}.swal2-container .odin-swal .theory-verification-choice,.swal2-container .odin-swal .theory-verification-support{grid-template-columns:24px minmax(0,1fr);align-items:center!important}.swal2-container .odin-swal .theory-verification-choice input,.swal2-container .odin-swal .theory-verification-support input{width:18px;height:18px;align-self:center;margin:0!important}.swal2-container .odin-swal .theory-verification-choice>span{grid-template-columns:24px minmax(0,1fr);align-items:center}.swal2-container .odin-swal .theory-verification-choice>span>i{align-self:center;padding:0;font-size:.98rem}.swal2-container .odin-swal .theory-verification-support>span{align-self:center}.swal2-container .odin-swal .theory-verification-form__section textarea{border:1px solid color-mix(in srgb,var(--odin-line) 82%,transparent)!important;background:var(--sd-surface-2)!important;box-shadow:none}.swal2-container .odin-swal .theory-verification-form__section textarea:hover{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 42%,var(--odin-line))!important}.swal2-container .odin-swal .theory-verification-form__section textarea:focus{border-color:var(--odin-accent-1,var(--odin-info))!important;outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent)}


/* Theory verification modal follows the shared session reservation SweetAlert. */
.swal2-popup.odin-theory-session-swal {
  width: min(620px, calc(100vw - 1.5rem));
}

.odin-theory-session-swal .theory-session-swal-details {
  gap: .6rem;
}

.odin-theory-session-swal .theory-session-swal-row {
  align-items: center;
}

.odin-theory-session-swal .theory-session-swal-row > i {
  margin-top: 0;
  align-self: center;
  font-size: 1rem;
}

.odin-theory-session-swal .theory-session-swal-row > div {
  min-width: 0;
}

.odin-theory-session-swal .theory-session-swal-row label {
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr);
  align-items: center;
  gap: .55rem;
  width: 100%;
  margin-top: .45rem;
  padding: .5rem .55rem;
  border: 1px solid #24445a;
  border-radius: .45rem;
  background: #0d2233;
  color: #ddecf4;
  cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

.odin-theory-session-swal .theory-session-swal-row label:hover,
.odin-theory-session-swal .theory-session-swal-row label:has(input:checked) {
  border-color: #2bbbd1;
  background: #123149;
  color: #f0fbff;
}

.odin-theory-session-swal .theory-session-swal-row input[type="radio"],
.odin-theory-session-swal .theory-session-swal-row input[type="checkbox"] {
  width: 1.05rem;
  height: 1.05rem;
  margin: 0;
  accent-color: #2bbbd1;
}

.odin-theory-session-swal .theory-session-swal-row label span,
.odin-theory-session-swal .theory-session-swal-row label b,
.odin-theory-session-swal .theory-session-swal-row label small {
  min-width: 0;
}

.odin-theory-session-swal .theory-session-swal-row label b,
.odin-theory-session-swal .theory-session-swal-row label small {
  display: block;
}

.odin-theory-session-swal .theory-session-swal-row label small {
  margin-top: .08rem;
  color: #9fb8c8;
  font-weight: 400;
}

.odin-theory-session-swal .theory-session-swal-question {
  width: 100%;
  min-height: 5.25rem;
  margin-top: .45rem;
  padding: .65rem .7rem;
  border: 1px solid #31536a;
  border-radius: .45rem;
  outline: none;
  background: #0d2233;
  color: #eaf8ff;
  resize: vertical;
}

.odin-theory-session-swal .theory-session-swal-question:focus {
  border-color: #2bbbd1;
  box-shadow: 0 0 0 .16rem rgba(43, 187, 209, .15);
}

.odin-theory-session-swal .theory-session-swal-note {
  display: block;
  margin-top: .35rem;
  color: #9fb8c8;
  line-height: 1.35;
}

[data-bs-theme="light"] .swal2-popup.odin-theory-session-swal {
  border-color: #cbdde6;
  background: #fff;
  color: #17364a;
}

[data-bs-theme="light"] .odin-theory-session-swal .swal2-title,
[data-bs-theme="light"] .odin-theory-session-swal .swal2-html-container {
  color: #17364a;
}

[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-row {
  border-color: #d7e6ed;
  background: #f5fbfd;
  color: #17364a;
}

[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-row label {
  border-color: #d7e6ed;
  background: #fff;
  color: #17364a;
}

[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-row label:hover,
[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-row label:has(input:checked) {
  border-color: #178ea5;
  background: #eaf8fb;
  color: #123247;
}

[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-row label small,
[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-note {
  color: #647f90;
}

[data-bs-theme="light"] .odin-theory-session-swal .theory-session-swal-question {
  border-color: #cbdde6;
  background: #fff;
  color: #17364a;
}

/* Full-size instructor question field; guarded against SweetAlert textarea defaults. */
.swal2-popup.odin-theory-session-swal textarea.theory-session-swal-question {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  min-width: 100%;
  max-width: 100%;
  min-height: 108px !important;
  margin: .5rem 0 0 !important;
  padding: .72rem .78rem !important;
  border: 1px solid #31536a !important;
  border-radius: .5rem !important;
  background: #0d2233 !important;
  color: #eaf8ff !important;
  font-family: inherit;
  font-size: .72rem !important;
  line-height: 1.5;
  box-shadow: none !important;
  resize: vertical;
}

.swal2-popup.odin-theory-session-swal textarea.theory-session-swal-question::placeholder {
  color: #7995a7;
  opacity: 1;
}

.swal2-popup.odin-theory-session-swal textarea.theory-session-swal-question:hover {
  border-color: #41677e !important;
}

.swal2-popup.odin-theory-session-swal textarea.theory-session-swal-question:focus {
  border-color: var(--odin-accent-1, #2bbbd1) !important;
  outline: 0;
  box-shadow: 0 0 0 .18rem color-mix(in srgb, var(--odin-accent-1, #2bbbd1) 18%, transparent) !important;
}

[data-bs-theme="light"] .swal2-popup.odin-theory-session-swal textarea.theory-session-swal-question {
  border-color: #c4d7e1 !important;
  background: #fff !important;
  color: #17364a !important;
}

[data-bs-theme="light"] .swal2-popup.odin-theory-session-swal textarea.theory-session-swal-question::placeholder {
  color: #7790a0;
}

/* Stable ID fallback for the instructor question rendered by SweetAlert. */
.swal2-popup.odin-theory-session-swal #theory-student-question {
  display: block;
  box-sizing: border-box;
  width: 100% !important;
  min-height: 108px !important;
}


/* Sessions section shares the visual heading hierarchy used by Documents. */
.training-sessions-section .training-session-prototype {
  padding: 0 1.35rem 1.35rem;
}

@media (max-width: 767.98px) {
  .training-occurrence-prototype .student-training-header {
    align-items: flex-start;
  }

  .training-occurrence-prototype .student-training-heading {
    width: 100%;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .training-occurrence-prototype .student-training-heading > div {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .training-occurrence-prototype .student-training-heading h2,
  .training-occurrence-prototype .student-training-heading p {
    text-align: left !important;
  }

  .training-sessions-section .training-session-prototype {
    padding: 0 1rem 1rem;
  }
}


/* Normalize confined/open-water records to the established theory-session type scale. */
.training-session-record__topline {
  min-height: 42px;
  padding: .48rem .6rem;
}

.training-session-record__topline h4,
.training-session-record__completed-line strong {
  color: var(--odin-text, #eefaff);
  font-size: .72rem;
  font-weight: 650;
  line-height: 1.3;
}

.training-session-record__sequence {
  min-width: 32px;
  height: 26px;
  font-size: .58rem;
}

.training-session-record__counts {
  gap: .35rem;
}

.training-session-record__counts span {
  padding: .28rem .42rem;
  font-size: .58rem;
  font-weight: 500;
}

.training-session-record__counts strong {
  font-size: .68rem;
  font-weight: 700;
}

.training-session-record__action {
  padding: .15rem .6rem .55rem;
}

.training-session-record__action .btn,
.training-session-record__exercise-toggle,
.training-session-record__completed-line button {
  font-size: .61rem;
  font-weight: 650;
  line-height: 1.25;
}

.training-session-record__action .btn {
  min-height: 32px;
  padding: .38rem .58rem;
}

.training-session-booking {
  gap: .65rem;
  margin: 0 .6rem .55rem;
  padding: .52rem .58rem;
}

.training-session-booking > span {
  font-size: .64rem;
  line-height: 1.35;
}

.training-session-contact a {
  width: 30px;
  height: 30px;
  font-size: .7rem;
}

.training-session-record__exercise-toggle {
  min-height: 32px;
  padding: .28rem .6rem .5rem;
}

.training-session-exercise {
  gap: .5rem;
  padding: .55rem .62rem;
}

.training-session-exercise strong {
  font-size: .66rem;
  font-weight: 650;
  line-height: 1.35;
}

.training-session-exercise small {
  font-size: .6rem;
}

.training-session-exercise > em,
.training-session-exercise__grade {
  font-size: .54rem;
}

@media (max-width: 767.98px) {
  .training-session-record__topline h4 {
    white-space: normal;
  }

  .training-session-record__counts span {
    text-align: center;
  }
}


/* Completed practical sessions mirror completed theory records with a full-height action. */
.training-completed-record-layout {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto 134px;
  min-height: 68px;
  align-items: stretch;
}

.training-completed-record-layout__icon {
  align-self: center;
  justify-self: center;
  color: var(--odin-success, #36c98f);
  font-size: .82rem;
}

.training-completed-record-layout__title {
  align-self: center;
  min-width: 0;
  padding: .48rem .55rem;
  color: var(--odin-text, #eefaff);
  font-size: .72rem;
  font-weight: 650;
  line-height: 1.3;
}

.training-completed-record-layout__badges {
  display: flex;
  align-self: center;
  align-items: center;
  gap: .3rem;
  padding: 0 .55rem;
}

.training-completed-record-layout__badges .training-theory-code {
  border-color: color-mix(in srgb, var(--odin-success, #36c98f) 35%, var(--odin-line));
  color: var(--odin-success, #36c98f);
}

.training-completed-record-layout__action {
  display: flex;
  align-items: stretch;
  border-left: 1px solid var(--odin-line);
}

.training-completed-record-layout__action > button {
  display: flex;
  width: 100%;
  min-height: 100%;
  align-items: center;
  justify-content: center;
  gap: .38rem;
  padding: .45rem .6rem;
  border: 0;
  background: transparent;
  color: var(--odin-success, #36c98f);
  font-size: .61rem;
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;
  transition: background-color .15s ease, color .15s ease;
}

.training-completed-record-layout__action > button:hover,
.training-completed-record-layout__action > button:focus-visible {
  background: color-mix(in srgb, var(--odin-success, #36c98f) 14%, transparent);
  color: var(--odin-success, #36c98f);
  outline: 0;
}

.training-completed-record-layout__action > button i {
  transition: transform .15s ease;
}

@media (max-width: 767.98px) {
  .training-completed-record-layout {
    grid-template-columns: 32px minmax(0, 1fr) auto;
    min-height: 0;
  }

  .training-completed-record-layout__title {
    white-space: normal;
  }

  .training-completed-record-layout__badges {
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: .45rem;
  }

  .training-completed-record-layout__action {
    grid-column: 2 / 4;
    min-height: 40px;
    border-top: 1px solid var(--odin-line);
    border-left: 0;
  }
}

@media (max-width: 480px) {
  .training-completed-record-layout__badges {
    align-items: flex-end;
    flex-direction: column;
  }
}


/* Enrolled practical session: two-row status layout aligned with theory in progress. */
.training-scheduled-record-layout {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 134px;
  grid-template-rows: minmax(34px, auto) minmax(34px, auto);
  min-width: 0;
  align-items: stretch;
}

.training-scheduled-record-layout__icon {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
  justify-self: center;
  color: var(--odin-info, #4bc4e8);
  font-size: .82rem;
}

.training-scheduled-record-layout__topline {
  display: flex;
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: .7rem;
  padding: .34rem .5rem;
}

.training-scheduled-record-layout__title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .42rem;
}

.training-scheduled-record-layout__title > span {
  flex: 0 0 auto;
  color: var(--odin-info, #4bc4e8);
  font-size: .58rem;
  font-weight: 800;
}

.training-scheduled-record-layout__title h4 {
  overflow: hidden;
  margin: 0;
  color: var(--odin-text, #eefaff);
  font-size: .72rem;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-scheduled-record-layout__counts {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .4rem;
  color: var(--sd-muted);
  font-size: .61rem;
}

.training-scheduled-record-layout__counts span {
  padding: 0;
  border: 0;
  background: transparent;
}

.training-scheduled-record-layout__counts strong {
  color: var(--odin-text, #eefaff);
  font-size: .68rem;
  font-weight: 700;
}

.training-scheduled-record-layout__counts > i {
  width: 1px;
  height: 13px;
  background: var(--odin-line);
}

.training-scheduled-record-layout__details {
  display: flex;
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  align-items: center;
  flex-wrap: wrap;
  gap: .42rem .7rem;
  padding: .32rem .5rem;
  border-top: 1px solid var(--odin-line);
  color: var(--sd-muted);
  font-size: .64rem;
}

.training-scheduled-record-layout__details > span,
.training-scheduled-record-layout__details > a {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: .3rem;
}

.training-scheduled-record-layout__details > span > i,
.training-scheduled-record-layout__details > a > i {
  color: var(--odin-info, #4bc4e8);
}

.training-scheduled-record-layout__details > a {
  color: var(--sd-muted);
  text-decoration: none;
}

.training-scheduled-record-layout__details > a:hover,
.training-scheduled-record-layout__details > a:focus-visible {
  color: var(--odin-info, #4bc4e8);
}

.training-scheduled-record-layout__details b {
  padding: .12rem .32rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--odin-info, #4bc4e8) 13%, transparent);
  color: var(--odin-info, #4bc4e8);
  font-size: .6rem;
  font-weight: 750;
}

.training-scheduled-record-layout__details .training-session-contact {
  margin-left: auto;
}

.training-scheduled-record-layout__action {
  grid-column: 3;
  grid-row: 1 / 3;
}

.training-scheduled-record-layout__action > button {
  color: var(--odin-info, #4bc4e8);
}

.training-scheduled-record-layout__action > button:hover,
.training-scheduled-record-layout__action > button:focus-visible {
  background: color-mix(in srgb, var(--odin-info, #4bc4e8) 14%, transparent);
  color: var(--odin-info, #4bc4e8);
}

@media (max-width: 991.98px) {
  .training-scheduled-record-layout {
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
  }

  .training-scheduled-record-layout__topline {
    grid-column: 2;
  }

  .training-scheduled-record-layout__details {
    grid-column: 2;
  }

  .training-scheduled-record-layout__action {
    grid-column: 2;
    grid-row: 3;
    min-height: 40px;
    border-top: 1px solid var(--odin-line);
    border-left: 0;
  }
}

@media (max-width: 600px) {
  .training-scheduled-record-layout__topline {
    align-items: flex-start;
    flex-direction: column;
    gap: .25rem;
  }

  .training-scheduled-record-layout__title h4 {
    white-space: normal;
  }

  .training-scheduled-record-layout__details {
    align-items: flex-start;
    flex-direction: column;
  }

  .training-scheduled-record-layout__details .training-session-contact {
    margin-left: 0;
  }
}


/* Scheduled-session metadata corrections: framed code and explicit instructor contact. */
.training-scheduled-record-layout__counts .training-theory-code {
  margin-left: .12rem;
  border-color: color-mix(in srgb, var(--odin-info, #4bc4e8) 42%, var(--odin-line));
  color: var(--odin-info, #4bc4e8);
}

.training-scheduled-contact {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .45rem;
  margin-left: auto;
}

.training-scheduled-contact__person {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: .32rem;
}

.training-scheduled-contact__person > i {
  color: var(--odin-info, #4bc4e8);
}

.training-scheduled-contact__person small,
.training-scheduled-contact__person strong {
  display: block;
  line-height: 1.2;
  white-space: nowrap;
}

.training-scheduled-contact__person small {
  color: var(--sd-muted);
  font-size: .5rem;
  font-weight: 500;
}

.training-scheduled-contact__person strong {
  margin-top: .06rem;
  color: var(--odin-text, #eefaff);
  font-size: .61rem;
  font-weight: 650;
}

.training-session-contact .is-mobile-contact {
  display: none;
}

@media (max-width: 767.98px) {
  .training-session-contact .is-mobile-contact {
    display: grid;
  }

  .training-scheduled-contact {
    width: 100%;
    justify-content: space-between;
    margin-left: 0;
    padding-top: .25rem;
  }
}

@media (max-width: 480px) {
  .training-scheduled-record-layout__counts {
    flex-wrap: wrap;
  }
}


/* Stronger scheduled-session code and contact controls. */
.training-scheduled-record-layout__counts .training-theory-code {
  min-width: 34px;
  padding: .2rem .38rem;
  border: 1px solid color-mix(in srgb, var(--odin-info, #4bc4e8) 52%, var(--odin-line));
  border-radius: .35rem;
  background: color-mix(in srgb, var(--odin-info, #4bc4e8) 10%, transparent);
  color: var(--odin-info, #4bc4e8);
  font-size: .56rem;
  font-weight: 850;
  text-align: center;
}

.training-scheduled-contact {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  margin-left: auto;
}

.training-scheduled-contact__person {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.training-scheduled-contact__person > span {
  display: flex;
  flex-direction: column;
  line-height: 1.15;
}

.training-scheduled-contact__person small {
  color: var(--sd-muted);
  font-size: .48rem;
}

.training-scheduled-contact__person strong {
  color: var(--odin-text, #eefaff);
  font-size: .61rem;
  font-weight: 650;
}

.training-scheduled-contact .training-session-contact a {
  width: 32px;
  height: 32px;
  border-color: color-mix(in srgb, var(--odin-info, #4bc4e8) 50%, var(--odin-line));
  background: color-mix(in srgb, var(--odin-info, #4bc4e8) 10%, transparent);
  color: var(--odin-info, #4bc4e8);
  font-size: .78rem;
}

.training-scheduled-contact .training-session-contact a:hover,
.training-scheduled-contact .training-session-contact a:focus-visible {
  background: var(--odin-info, #4bc4e8);
  color: var(--odin-bg, #07111f);
}

.training-scheduled-contact .training-session-contact .is-mobile-contact {
  display: none;
}

.training-scheduled-record-layout.is-available .training-scheduled-record-layout__icon {
  color: var(--odin-accent-1, var(--odin-info, #4bc4e8));
}

.training-scheduled-record-layout__action > button.is-pending {
  opacity: .72;
  cursor: default;
}

@media (max-width: 767.98px) {
  .training-scheduled-contact {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
  }

  .training-scheduled-contact .training-session-contact .is-mobile-contact {
    display: grid;
  }
}


/* Available session keeps exercise preview and booking as two parallel actions. */
.training-scheduled-record-layout.is-available {
  grid-template-columns: 32px minmax(0, 1fr) 268px;
}

.training-scheduled-record-layout__action.is-booking-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.training-scheduled-record-layout__action.is-booking-actions > button {
  min-width: 0;
  white-space: normal;
}

.training-scheduled-record-layout__action.is-booking-actions > button + button {
  border-left: 1px solid var(--odin-line);
}

.training-session-booking-label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.15;
  text-align: left;
}

.training-session-booking-label strong,
.training-session-booking-label small {
  display: block;
}

.training-session-booking-label strong {
  font-size: .61rem;
  font-weight: 700;
  white-space: nowrap;
}

.training-session-booking-label small {
  margin-top: .12rem;
  color: var(--sd-muted);
  font-size: .5rem;
  font-weight: 500;
  white-space: nowrap;
}

.training-scheduled-record-layout__action.is-booking-actions > button:hover .training-session-booking-label small,
.training-scheduled-record-layout__action.is-booking-actions > button:focus-visible .training-session-booking-label small {
  color: currentColor;
}

@media (max-width: 991.98px) {
  .training-scheduled-record-layout.is-available {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .training-scheduled-record-layout__action.is-booking-actions {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .training-scheduled-record-layout__action.is-booking-actions {
    grid-template-columns: 1fr;
  }

  .training-scheduled-record-layout__action.is-booking-actions > button {
    min-height: 44px;
  }

  .training-scheduled-record-layout__action.is-booking-actions > button + button {
    border-top: 1px solid var(--odin-line);
    border-left: 0;
  }
}


/* Unscheduled records use short-box facts instead of unavailable date/place data. */
.training-scheduled-record-layout.is-request {
  grid-template-columns: 32px minmax(0, 1fr) 268px;
}

.training-scheduled-record-layout.is-request .training-scheduled-record-layout__icon {
  color: var(--odin-warning, #f3b94f);
}

.training-unscheduled-shortboxes {
  display: grid;
  width: 100%;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
}

.training-unscheduled-shortboxes > span {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: .38rem;
  padding: .3rem .42rem;
  border: 1px solid var(--odin-line);
  border-radius: .4rem;
  background: var(--sd-surface);
}

.training-unscheduled-shortboxes > span > i {
  color: var(--odin-warning, #f3b94f);
  text-align: center;
}

.training-unscheduled-shortboxes small,
.training-unscheduled-shortboxes strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-unscheduled-shortboxes small {
  color: var(--sd-muted);
  font-size: .48rem;
  font-weight: 500;
}

.training-unscheduled-shortboxes strong {
  margin-top: .06rem;
  color: var(--odin-text, #eefaff);
  font-size: .58rem;
  font-weight: 650;
}

@media (max-width: 991.98px) {
  .training-scheduled-record-layout.is-request {
    grid-template-columns: 32px minmax(0, 1fr);
  }
}

@media (max-width: 600px) {
  .training-unscheduled-shortboxes {
    grid-template-columns: 1fr;
  }

  .training-unscheduled-shortboxes small,
  .training-unscheduled-shortboxes strong {
    white-space: normal;
  }
}


/* Lighter, borderless short facts for sessions awaiting a date. */
.training-unscheduled-shortboxes {
  gap: 0;
}

.training-unscheduled-shortboxes > span {
  position: relative;
  padding: .25rem .55rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.training-unscheduled-shortboxes > span + span::before {
  position: absolute;
  top: .25rem;
  bottom: .25rem;
  left: 0;
  width: 1px;
  background: var(--odin-line);
  content: "";
}

.training-scheduled-record-layout.is-request .training-session-booking-label {
  align-items: center;
  text-align: center;
}

@media (max-width: 600px) {
  .training-unscheduled-shortboxes > span {
    padding: .38rem .25rem;
  }

  .training-unscheduled-shortboxes > span + span::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }
}


/* Keep unscheduled metadata on one readable line at the established session scale. */
.training-unscheduled-shortboxes {
  display: flex;
  align-items: center;
  gap: 0;
}

.training-unscheduled-shortboxes > span {
  display: inline-flex;
  min-width: 0;
  flex: 0 1 auto;
  align-items: center;
  gap: .35rem;
  padding: .25rem .6rem;
  color: var(--sd-muted);
  font-size: .64rem;
  line-height: 1.35;
  white-space: nowrap;
}

.training-unscheduled-shortboxes > span:first-child {
  padding-left: 0;
}

.training-unscheduled-shortboxes > span > i {
  flex: 0 0 auto;
  font-size: .68rem;
}

.training-unscheduled-shortboxes > span > span {
  overflow: hidden;
  text-overflow: ellipsis;
}

.training-unscheduled-shortboxes b {
  color: var(--odin-text, #eefaff);
  font-size: inherit;
  font-weight: 650;
}

.training-scheduled-record-layout.is-request .training-session-booking-label strong,
.training-scheduled-record-layout.is-request .training-session-booking-label small {
  font-size: .61rem;
  line-height: 1.25;
}

.training-scheduled-record-layout.is-request .training-session-booking-label small {
  margin-top: .1rem;
  color: var(--sd-muted);
  font-weight: 550;
}

@media (max-width: 767.98px) {
  .training-unscheduled-shortboxes {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .training-unscheduled-shortboxes > span {
    padding: .28rem .55rem;
    white-space: normal;
  }

  .training-unscheduled-shortboxes > span + span::before {
    top: .28rem;
    right: auto;
    bottom: .28rem;
    left: 0;
    width: 1px;
    height: auto;
  }
}


/* The info accent belongs only to the lane badge, not metadata labels. */
.training-unscheduled-shortboxes b {
  padding: 0;
  border-radius: 0;
  background: transparent;
}


/* Unassigned sessions use their neutral status color, not the warning accent. */
.training-scheduled-record-layout.is-request .training-scheduled-record-layout__icon,
.training-scheduled-record-layout.is-request .training-unscheduled-shortboxes > span > i {
  color: var(--sd-muted, var(--odin-muted, #7892a5));
}


/* Give the complete session-request label enough room without shrinking type. */
.training-scheduled-record-layout.is-request {
  grid-template-columns: 32px minmax(0, 1fr) 340px;
}

.training-scheduled-record-layout.is-request .training-scheduled-record-layout__action.is-booking-actions {
  grid-template-columns: minmax(195px, 1.45fr) minmax(130px, 1fr);
}

.training-scheduled-record-layout.is-request .training-session-booking-label strong {
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .training-scheduled-record-layout.is-request {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .training-scheduled-record-layout.is-request .training-scheduled-record-layout__action {
    grid-column: 2;
    grid-row: 3;
    min-height: 44px;
    border-top: 1px solid var(--odin-line);
    border-left: 0;
  }
}

@media (max-width: 480px) {
  .training-scheduled-record-layout.is-request .training-scheduled-record-layout__action.is-booking-actions {
    grid-template-columns: 1fr;
  }

  .training-scheduled-record-layout.is-request .training-session-booking-label strong {
    white-space: normal;
  }
}


/* Booking and date-request actions share the same wider two-line geometry. */
.training-scheduled-record-layout.is-available {
  grid-template-columns: 32px minmax(0, 1fr) 340px;
}

.training-scheduled-record-layout.is-available .training-scheduled-record-layout__action.is-booking-actions {
  grid-template-columns: minmax(195px, 1.45fr) minmax(130px, 1fr);
}

.training-scheduled-record-layout__action > button[data-session-booking-request],
.training-scheduled-record-layout__action > button[data-session-date-request] {
  align-items: flex-start;
  justify-content: center;
}

.training-scheduled-record-layout__action > button[data-session-booking-request] > i,
.training-scheduled-record-layout__action > button[data-session-date-request] > i {
  flex: 0 0 auto;
  width: 1rem;
  margin-top: .02rem;
  line-height: 1.25;
  text-align: center;
}

.training-scheduled-record-layout__action > button[data-session-booking-request] .training-session-booking-label,
.training-scheduled-record-layout__action > button[data-session-date-request] .training-session-booking-label {
  align-items: flex-start;
  text-align: left;
}

.training-scheduled-record-layout__action > button[data-session-booking-request] .training-session-booking-label small,
.training-scheduled-record-layout__action > button[data-session-date-request] .training-session-booking-label small {
  width: 100%;
  text-align: left;
}

@media (max-width: 1100px) {
  .training-scheduled-record-layout.is-available {
    grid-template-columns: 32px minmax(0, 1fr);
  }

  .training-scheduled-record-layout.is-available .training-scheduled-record-layout__action {
    grid-column: 2;
    grid-row: 3;
    min-height: 44px;
    border-top: 1px solid var(--odin-line);
    border-left: 0;
  }
}

@media (max-width: 480px) {
  .training-scheduled-record-layout.is-available .training-scheduled-record-layout__action.is-booking-actions {
    grid-template-columns: 1fr;
  }
}


/* Center each two-line action as one icon-and-copy group. */
.training-scheduled-record-layout__action > button[data-session-booking-request],
.training-scheduled-record-layout__action > button[data-session-date-request] {
  align-items: center;
  justify-content: center;
  align-content: center;
}

.training-scheduled-record-layout__action > button[data-session-booking-request] > i,
.training-scheduled-record-layout__action > button[data-session-date-request] > i {
  margin-top: 0;
  align-self: center;
}


/* Match the dashboard grid spacing at each breakpoint. */
@media (max-width: 767.98px) {
  .training-occurrence-workspace {
    padding: .75rem;
  }
}


/* Standardized occurrence workspace: page background outside, framed modules inside. */
.training-occurrence-workspace {
  padding: 0;
  background: transparent;
}

.training-occurrence-workspace__main > .training-occurrence-content-module {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.training-occurrence-content-tabs {
  padding: 0 0 .65rem;
}

.training-occurrence-content-panels {
  padding-top: .75rem;
}

.training-occurrence-content-panels > .odin-v2-documents {
  width: 100%;
}

@media (max-width: 767.98px) {
  .training-occurrence-workspace {
    padding: 0;
  }

  .training-occurrence-content-tabs {
    padding: 0 0 .6rem;
  }
}


/* Match the dashboard grid axis inside the already padded occurrence page. */
.training-occurrence-workspace {
  width: calc(100% + 2rem);
  margin-right: -1rem;
  margin-left: -1rem;
  padding: 1rem;
}

@media (max-width: 767.98px) {
  .training-occurrence-workspace {
    width: calc(100% + 1.5rem);
    margin-right: -.75rem;
    margin-left: -.75rem;
    padding: .75rem;
  }
}


/* Specificity guard: dashboard CSS is injected after page styles. */
.student-dashboard-grid.training-occurrence-workspace {
  width: calc(100% + 2rem);
  margin-right: -1rem;
  margin-left: -1rem;
  padding: 1rem;
}

@media (max-width: 767.98px) {
  .student-dashboard-grid.training-occurrence-workspace {
    width: calc(100% + 1.5rem);
    margin-right: -.75rem;
    margin-left: -.75rem;
    padding: .75rem;
  }
}


/* Icon-led horizontal occurrence navigation without the redundant separator. */
.training-occurrence-content-tabs {
  border-bottom: 0;
}

.training-occurrence-content-tabs button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  gap: .42rem;
  padding: .46rem .72rem;
  transition: border-color .15s ease, background-color .15s ease, color .15s ease, transform .15s ease;
}

.training-occurrence-content-tabs button > i {
  width: .9rem;
  color: var(--sd-muted);
  font-size: .7rem;
  text-align: center;
  transition: color .15s ease, transform .15s ease;
}

.training-occurrence-content-tabs button:hover,
.training-occurrence-content-tabs button:focus-visible {
  transform: translateY(-1px);
}

.training-occurrence-content-tabs button:hover > i,
.training-occurrence-content-tabs button:focus-visible > i,
.training-occurrence-content-tabs button.is-active > i {
  color: var(--odin-accent-1, var(--odin-info));
}

.training-occurrence-content-tabs button.is-active > i {
  transform: scale(1.08);
}


/* Full-width horizontal occurrence navigation. */
.training-occurrence-content-tabs {
  width: 100%;
}

.training-occurrence-content-tabs button {
  min-width: 0;
  flex: 1 1 0;
  justify-content: center;
}

/* CUE search in the sessions heading. */
.training-sessions-toolbar {
  align-items: center;
}

.training-cue-search {
  display: flex;
  width: min(310px, 42%);
  min-height: 40px;
  align-items: center;
  gap: .5rem;
  padding: 0 .7rem;
  border: 1px solid var(--odin-line);
  border-radius: .5rem;
  background: var(--sd-surface-2);
  color: var(--sd-muted);
}

.training-cue-search:focus-within {
  border-color: var(--odin-accent-1, var(--odin-info));
  box-shadow: 0 0 0 .16rem color-mix(in srgb, var(--odin-accent-1, var(--odin-info)) 14%, transparent);
}

.training-cue-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--odin-text, #eefaff);
  font: inherit;
  font-size: .68rem;
}

.training-cue-search input::placeholder {
  color: var(--sd-muted);
}

/* Compact exercise rows: ID and grade stay visible; requirement moves to the drawer. */
.training-session-exercise {
  grid-template-columns: 14px minmax(0, 1fr) auto 18px;
  align-items: center;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}

.training-session-exercise:hover,
.training-session-exercise:focus-visible {
  background: color-mix(in srgb, var(--odin-accent-1, var(--odin-info)) 7%, var(--sd-surface));
  outline: 0;
}

.training-session-exercise__id {
  margin-top: .12rem !important;
  color: var(--odin-accent-1, var(--odin-info)) !important;
  font-size: .54rem !important;
  font-weight: 700;
  letter-spacing: .035em;
}

.training-session-exercise__grade {
  display: inline-flex;
  align-items: center;
  padding: .2rem .4rem;
  border-radius: 999px;
  font-weight: 650;
}

.training-session-exercise__grade.is-graded {
  background: color-mix(in srgb, var(--odin-success, #36c98f) 10%, transparent);
  color: var(--odin-success, #36c98f);
}

.training-session-exercise__grade.is-ungraded {
  background: color-mix(in srgb, var(--sd-muted) 9%, transparent);
  color: var(--sd-muted);
}

.training-session-exercise__open {
  color: var(--sd-muted) !important;
  font-size: .55rem !important;
  transition: color .15s ease, transform .15s ease;
}

.training-session-exercise:hover .training-session-exercise__open,
.training-session-exercise:focus-visible .training-session-exercise__open {
  color: var(--odin-accent-1, var(--odin-info)) !important;
  transform: translateX(2px);
}

/* Right-side CUE detail column. */
.training-cue-drawer-backdrop {
  position: fixed;
  z-index: 1085;
  inset: 0;
  background: rgba(2, 9, 15, .56);
  opacity: 0;
  transition: opacity .2s ease;
}

.training-cue-drawer-backdrop.is-open {
  opacity: 1;
}

.training-cue-drawer {
  position: fixed;
  z-index: 1090;
  top: 0;
  right: 0;
  width: min(440px, 100vw);
  height: 100dvh;
  overflow-y: auto;
  border-left: 1px solid var(--odin-line);
  background: var(--sd-surface, #102235);
  color: var(--odin-text, #eefaff);
  box-shadow: -20px 0 55px rgba(0, 0, 0, .28);
  transform: translateX(102%);
  transition: transform .24s ease;
}

.training-cue-drawer.is-open {
  transform: translateX(0);
}

.training-cue-drawer > header {
  display: flex;
  position: sticky;
  z-index: 1;
  top: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem;
  border-bottom: 1px solid var(--odin-line);
  background: color-mix(in srgb, var(--sd-surface, #102235) 94%, transparent);
  backdrop-filter: blur(12px);
}

.training-cue-drawer > header span,
.training-cue-drawer > header h2,
.training-cue-drawer > header small {
  display: block;
}

.training-cue-drawer > header span,
.training-cue-drawer__body section > span {
  color: var(--odin-accent-1, var(--odin-info));
  font-size: .58rem;
  font-weight: 850;
  letter-spacing: .1em;
}

.training-cue-drawer > header h2 {
  margin: .22rem 0 .18rem;
  font-size: 1rem;
  line-height: 1.35;
}

.training-cue-drawer > header small {
  color: var(--sd-muted);
  font-size: .64rem;
  font-weight: 700;
}

.training-cue-drawer > header button {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border: 1px solid var(--odin-line);
  border-radius: 50%;
  background: transparent;
  color: var(--sd-muted);
}

.training-cue-drawer > header button:hover,
.training-cue-drawer > header button:focus-visible {
  border-color: var(--odin-accent-1, var(--odin-info));
  color: var(--odin-accent-1, var(--odin-info));
}

.training-cue-drawer__body {
  display: grid;
  gap: 1rem;
  padding: 1.15rem;
}

.training-cue-drawer__status {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.training-cue-drawer__status span {
  padding: .28rem .48rem;
  border: 1px solid var(--odin-line);
  border-radius: 999px;
  color: var(--sd-muted);
  font-size: .58rem;
  font-weight: 700;
}

.training-cue-drawer__status span:first-child {
  border-color: color-mix(in srgb, var(--odin-warning, #f3b94f) 42%, var(--odin-line));
  color: var(--odin-warning, #f3b94f);
}

.training-cue-drawer__body section {
  padding: .9rem;
  border: 1px solid var(--odin-line);
  border-radius: .6rem;
  background: var(--sd-surface-2);
}

.training-cue-drawer__body section p {
  margin: .55rem 0 0;
  color: var(--odin-text, #eefaff);
  font-size: .72rem;
  line-height: 1.65;
}

.training-cue-drawer__video {
  display: grid;
  min-height: 170px;
  margin-top: .55rem;
  place-items: center;
  align-content: center;
  gap: .35rem;
  border: 1px dashed var(--odin-line);
  border-radius: .55rem;
  color: var(--sd-muted);
  text-align: center;
}

.training-cue-drawer__video > i {
  color: var(--odin-accent-1, var(--odin-info));
  font-size: 1.45rem;
}

.training-cue-drawer__video strong,
.training-cue-drawer__video small {
  display: block;
}

.training-cue-drawer__video strong {
  font-size: .7rem;
}

.training-cue-drawer__video small {
  max-width: 280px;
  font-size: .58rem;
  line-height: 1.4;
}

.training-cue-drawer__video video {
  display: block;
  width: 100%;
  border-radius: .45rem;
}

body.is-cue-drawer-open {
  overflow: hidden;
}

@media (max-width: 767.98px) {
  .training-occurrence-content-tabs button {
    flex: 0 0 auto;
  }

  .training-sessions-toolbar {
    align-items: stretch;
  }

  .training-cue-search {
    width: 100%;
  }

  .training-session-exercise {
    grid-template-columns: 14px minmax(0, 1fr) auto;
  }

  .training-session-exercise__open {
    display: none;
  }
}


/* Consistent separators for every two-row session record. */
.training-scheduled-record-layout__details {
  gap: 0;
}

.training-scheduled-record-layout__details > span,
.training-scheduled-record-layout__details > a,
.training-scheduled-record-layout__details > .training-scheduled-contact {
  position: relative;
  padding: .25rem .65rem;
}

.training-scheduled-record-layout__details > span:first-child,
.training-scheduled-record-layout__details > a:first-child,
.training-scheduled-record-layout__details > .training-scheduled-contact:first-child {
  padding-left: 0;
}

.training-scheduled-record-layout__details > span + span::before,
.training-scheduled-record-layout__details > span + a::before,
.training-scheduled-record-layout__details > a + span::before,
.training-scheduled-record-layout__details > a + a::before,
.training-scheduled-record-layout__details > span + .training-scheduled-contact::before,
.training-scheduled-record-layout__details > a + .training-scheduled-contact::before {
  position: absolute;
  top: .25rem;
  bottom: .25rem;
  left: 0;
  width: 1px;
  background: var(--odin-line);
  content: "";
}

.training-scheduled-record-layout__details > .training-scheduled-contact {
  margin-left: auto;
}

@media (max-width: 767.98px) {
  .training-scheduled-record-layout__details {
    display: flex;
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }

  .training-scheduled-record-layout__details > span,
  .training-scheduled-record-layout__details > a,
  .training-scheduled-record-layout__details > .training-scheduled-contact {
    width: 100%;
    min-height: 38px;
    padding: .45rem 0;
  }

  .training-scheduled-record-layout__details > span + span::before,
  .training-scheduled-record-layout__details > span + a::before,
  .training-scheduled-record-layout__details > a + span::before,
  .training-scheduled-record-layout__details > a + a::before,
  .training-scheduled-record-layout__details > span + .training-scheduled-contact::before,
  .training-scheduled-record-layout__details > a + .training-scheduled-contact::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }

  .training-scheduled-record-layout__details > .training-scheduled-contact {
    margin-left: 0;
  }

  .training-unscheduled-shortboxes {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    flex-wrap: nowrap;
  }

  .training-unscheduled-shortboxes > span {
    width: 100%;
    min-height: 38px;
    padding: .45rem 0;
  }

  .training-unscheduled-shortboxes > span + span::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    width: auto;
    height: 1px;
  }
}


/* Complete light-theme palette for the CUE details drawer. */
[data-bs-theme="light"] .training-cue-drawer {
  border-left-color: #cbdce5;
  background: #f7fbfd;
  color: #17364a;
  box-shadow: -20px 0 50px rgba(30, 65, 85, .16);
}

[data-bs-theme="light"] .training-cue-drawer > header {
  border-bottom-color: #d7e5ec;
  background: rgba(255, 255, 255, .94);
}

[data-bs-theme="light"] .training-cue-drawer > header h2 {
  color: #17364a;
}

[data-bs-theme="light"] .training-cue-drawer > header small {
  color: #647f90;
}

[data-bs-theme="light"] .training-cue-drawer > header button {
  border-color: #cbdce5;
  background: #fff;
  color: #647f90;
}

[data-bs-theme="light"] .training-cue-drawer > header button:hover,
[data-bs-theme="light"] .training-cue-drawer > header button:focus-visible {
  border-color: var(--odin-accent-1, #178ea5);
  background: #eaf7fa;
  color: var(--odin-accent-1, #178ea5);
}

[data-bs-theme="light"] .training-cue-drawer__status span {
  border-color: #cbdce5;
  background: #fff;
  color: #647f90;
}

[data-bs-theme="light"] .training-cue-drawer__body section {
  border-color: #d7e5ec;
  background: #fff;
}

[data-bs-theme="light"] .training-cue-drawer__body section p {
  color: #28495d;
}

[data-bs-theme="light"] .training-cue-drawer__video {
  border-color: #c3d7e1;
  background: #f6fafc;
  color: #647f90;
}

[data-bs-theme="light"] .training-cue-drawer-backdrop {
  background: rgba(32, 54, 68, .3);
}


/* Horizontal navigation remains stationary on hover, focus and click. */
.training-occurrence-content-tabs button,
.training-occurrence-content-tabs button:hover,
.training-occurrence-content-tabs button:focus-visible,
.training-occurrence-content-tabs button:active {
  transform: none;
}


/* One continuous, three-part course progress line. */
.training-course-progress {
  display: grid;
  gap: .45rem;
  padding: .15rem 0 .35rem;
}

.training-course-progress__labels,
.training-course-progress__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.training-course-progress__labels > span {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: .38rem;
  padding: 0 .55rem;
  color: var(--sd-muted);
  font-size: .64rem;
}

.training-course-progress__labels > span:first-child {
  padding-left: 0;
}

.training-course-progress__labels > span + span {
  border-left: 1px solid var(--odin-line);
}

.training-course-progress__labels i {
  color: var(--odin-accent-1, var(--odin-info));
}

.training-course-progress__labels b {
  overflow: hidden;
  color: var(--odin-text, #eefaff);
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.training-course-progress__labels strong {
  margin-left: auto;
  color: var(--odin-accent-1, var(--odin-info));
  font-size: .68rem;
}

.training-course-progress__track {
  height: 7px;
  overflow: hidden;
  border: 1px solid var(--odin-line);
  border-radius: 999px;
  background: var(--sd-surface-2);
}

.training-course-progress__track > span {
  position: relative;
  overflow: hidden;
}

.training-course-progress__track > span + span {
  border-left: 1px solid var(--odin-line);
}

.training-course-progress__track > span > i {
  display: block;
  width: var(--course-part-progress, 0%);
  height: 100%;
  background: var(--odin-accent-1, var(--odin-info));
}

@media (max-width: 600px) {
  .training-course-progress {
    gap: .55rem;
  }

  .training-course-progress__labels {
    grid-template-columns: 1fr;
    gap: .38rem;
  }

  .training-course-progress__labels > span {
    padding: 0;
  }

  .training-course-progress__labels > span + span {
    border-left: 0;
  }

  .training-course-progress__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


/* Keep the visual three-part progress line clearly visible on phones. */
@media (max-width: 600px) {
  .training-course-progress {
    gap: .45rem;
    padding-bottom: .45rem;
  }

  .training-course-progress__labels {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
  }

  .training-course-progress__labels > span {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: .12rem .3rem;
    min-width: 0;
    padding: 0 .45rem;
  }

  .training-course-progress__labels > span:first-child {
    padding-left: 0;
  }

  .training-course-progress__labels > span + span {
    border-left: 1px solid var(--odin-line);
  }

  .training-course-progress__labels > span > i {
    grid-column: 1;
    grid-row: 1 / 3;
    justify-self: center;
  }

  .training-course-progress__labels > span > b {
    grid-column: 2;
    grid-row: 1;
    font-size: .6rem;
  }

  .training-course-progress__labels > span > strong {
    grid-column: 2;
    grid-row: 2;
    margin-left: 0;
    font-size: .66rem;
  }

  .training-course-progress__track {
    height: 11px;
    border-color: color-mix(in srgb, var(--odin-accent-1, var(--odin-info)) 35%, var(--odin-line));
    background: color-mix(in srgb, var(--odin-line) 72%, var(--sd-surface-2));
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, .2);
  }

  .training-course-progress__track > span > i {
    min-width: 0;
    background: linear-gradient(90deg, var(--odin-accent-1, var(--odin-info)), color-mix(in srgb, var(--odin-accent-1, var(--odin-info)) 72%, white));
  }

  .training-course-progress__track > span[style*="33%"] > i,
  .training-course-progress__track > span[style*="17%"] > i {
    min-width: 4px;
  }
}


/* Training materials supplied from OneDrive / SharePoint. */
.training-materials-module {
  overflow: hidden;
  border: 1px solid var(--odin-line);
  border-radius: var(--odin-v2-radius, 8px);
  background: var(--sd-surface);
}

.training-materials-module__header {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--odin-line);
}

.training-materials-module__header h2 {
  margin: .22rem 0 0;
  font-size: 1rem;
}

.training-materials-module__header p {
  margin: .3rem 0 0;
  color: var(--sd-muted);
  font-size: .68rem;
}

.training-material-card {
  padding: 1rem 1.1rem;
}

.training-material-card__heading {
  display: flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .75rem;
}

.training-material-card__heading > i {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border-radius: .55rem;
  background: color-mix(in srgb, var(--odin-accent-1, var(--odin-info)) 12%, transparent);
  color: var(--odin-accent-1, var(--odin-info));
}

.training-material-card__heading span,
.training-material-card__heading h3 {
  display: block;
}

.training-material-card__heading span {
  color: var(--odin-accent-1, var(--odin-info));
  font-size: .55rem;
  font-weight: 850;
  letter-spacing: .08em;
}

.training-material-card__heading h3 {
  margin: .12rem 0 0;
  color: var(--odin-text, #eefaff);
  font-size: .78rem;
}

.training-material-card__player {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid var(--odin-line);
  border-radius: .65rem;
  background: #050a0e;
}

.training-material-card__player iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.training-material-card footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding-top: .7rem;
  color: var(--sd-muted);
  font-size: .6rem;
}

.training-material-card footer span,
.training-material-card footer a {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
}

.training-material-card footer a {
  color: var(--odin-accent-1, var(--odin-info));
  text-decoration: none;
}

.training-material-card footer a:hover,
.training-material-card footer a:focus-visible {
  text-decoration: underline;
}

[data-bs-theme="light"] .training-materials-module {
  background: #fff;
}

@media (max-width: 600px) {
  .training-materials-module__header,
  .training-material-card {
    padding: .8rem;
  }

  .training-material-card footer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Lazy-loaded training materials list */
.training-material-list{display:grid;gap:.75rem}
.training-material-item{overflow:hidden;border:1px solid var(--odin-border,rgba(127,141,164,.22));border-radius:14px;background:var(--odin-surface,#fff);transition:border-color .2s ease,box-shadow .2s ease}
.training-material-item:hover,.training-material-item.is-open{border-color:color-mix(in srgb,var(--odin-accent-1,#4bc4e8) 48%,var(--odin-border,transparent));box-shadow:0 10px 28px rgba(13,24,42,.08)}
.training-material-item__button{width:100%;min-height:88px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.1rem;border:0;background:transparent;color:inherit;text-align:left}
.training-material-item__icon{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--odin-accent-1,#4bc4e8) 14%,transparent);color:var(--odin-accent-1,#4bc4e8);font-size:1.25rem}
.training-material-item__content{min-width:0;display:grid;gap:.3rem}
.training-material-item__content strong{font-size:1rem;line-height:1.3}
.training-material-item__type{color:var(--odin-accent-1,#4bc4e8);font-size:.7rem;font-weight:700;letter-spacing:.08em}
.training-material-item__meta{display:flex;flex-wrap:wrap;gap:.35rem .85rem;color:var(--odin-text-muted,#738096);font-size:.78rem}
.training-material-item__meta>span{display:inline-flex;align-items:center;gap:.35rem}
.training-material-item__meta>span+span{position:relative}
.training-material-item__meta>span+span:before{content:"";width:1px;height:.8em;margin-right:.5rem;background:var(--odin-border,rgba(127,141,164,.3))}
.training-material-item__action{display:inline-flex;align-items:center;gap:.55rem;color:var(--odin-accent-1,#4bc4e8);font-size:.82rem;font-weight:700;white-space:nowrap}
.training-material-item__action i{transition:transform .2s ease}
.training-material-item.is-open .training-material-item__action i{transform:rotate(180deg)}
.training-material-item__player{padding:0 1.1rem 1rem}
.training-material-item__player-frame{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:12px;background:#08111f}
.training-material-item__player-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.training-material-item__player footer{display:flex;justify-content:space-between;gap:1rem;padding:.75rem .15rem 0;color:var(--odin-text-muted,#738096);font-size:.78rem}
.training-material-item__player footer span,.training-material-item__player footer a{display:inline-flex;align-items:center;gap:.4rem}
@media(max-width:640px){
  .training-material-item__button{grid-template-columns:42px minmax(0,1fr);gap:.75rem;padding:.9rem}
  .training-material-item__icon{width:40px;height:40px}
  .training-material-item__action{grid-column:2;justify-self:start}
  .training-material-item__meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .6rem}
  .training-material-item__meta>span+span:before{display:none}
  .training-material-item__player{padding:0 .9rem .9rem}
  .training-material-item__player footer{align-items:flex-start;flex-direction:column}
}


/* Training pathway */
.training-pathway-module{min-width:0}
.training-pathway-module__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;margin-bottom:1rem}
.training-pathway-module__header h2{margin:.15rem 0 .2rem}
.training-pathway-module__header p{margin:0;color:var(--odin-text-muted,#738096)}
.training-pathway-module__legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem 1rem;color:var(--odin-text-muted,#738096);font-size:.75rem;white-space:nowrap}
.training-pathway-module__legend span{display:inline-flex;align-items:center;gap:.4rem}
.training-pathway-module__legend i{width:.55rem;height:.55rem;border-radius:50%;background:var(--odin-border,rgba(127,141,164,.45))}
.training-pathway-module__legend .is-completed i{background:var(--odin-success,#2fb877)}
.training-pathway-module__legend .is-current i{background:var(--odin-accent-1,#4bc4e8)}
.training-pathway-module__legend .is-available i{background:var(--odin-info,#4bc4e8)}
.training-pathway-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:1.15rem;overflow:hidden;border:1px solid var(--odin-border,rgba(127,141,164,.22));border-radius:12px;background:var(--odin-border,rgba(127,141,164,.22))}
.training-pathway-summary>span{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;background:var(--odin-surface,var(--bs-body-bg,#fff))}
.training-pathway-summary>span>i{color:var(--odin-accent-1,#4bc4e8);font-size:1rem}
.training-pathway-summary>span>span{display:grid;min-width:0}
.training-pathway-summary small{color:var(--odin-text-muted,#738096);font-size:.68rem}
.training-pathway-summary strong{overflow:hidden;text-overflow:ellipsis;font-size:.8rem;white-space:nowrap}
.training-pathway-scroller{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding:.5rem .15rem 1rem}
.training-pathway{position:relative;display:flex;align-items:stretch;gap:1rem;width:max-content;min-width:100%;margin:0;padding:1.55rem 0 0;list-style:none}
.training-pathway:before{content:"";position:absolute;top:.45rem;right:8.5rem;left:8.5rem;height:2px;background:var(--odin-border,rgba(127,141,164,.28))}
.training-pathway-step{--pathway-color:var(--odin-text-muted,#738096);position:relative;width:248px;flex:0 0 248px;scroll-snap-align:center}
.training-pathway-step__marker{position:absolute;z-index:2;top:-1.55rem;left:50%;width:1.8rem;height:1.8rem;display:grid;place-items:center;transform:translateX(-50%);border:4px solid var(--bs-body-bg,var(--odin-page-bg,#fff));border-radius:50%;background:var(--pathway-color);color:#fff;font-size:.62rem;box-sizing:border-box}
.training-pathway-step article{height:100%;min-height:205px;display:flex;flex-direction:column;padding:1rem;border:1px solid var(--odin-border,rgba(127,141,164,.22));border-top:3px solid var(--pathway-color);border-radius:12px;background:var(--odin-surface,var(--bs-body-bg,#fff));transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.training-pathway-step.is-completed{--pathway-color:var(--odin-success,#2fb877)}
.training-pathway-step.is-current{--pathway-color:var(--odin-accent-1,#4bc4e8);width:276px;flex-basis:276px}
.training-pathway-step.is-scheduled{--pathway-color:var(--odin-info,#4bc4e8)}
.training-pathway-step.is-available{--pathway-color:var(--odin-info,#4bc4e8)}
.training-pathway-step.is-request{--pathway-color:var(--odin-warning,#e7a43b)}
.training-pathway-step.is-locked{--pathway-color:var(--odin-text-muted,#738096);opacity:.72}
.training-pathway-step.is-current article{border-color:color-mix(in srgb,var(--pathway-color) 50%,var(--odin-border,transparent));box-shadow:0 12px 30px color-mix(in srgb,var(--pathway-color) 12%,transparent)}
.training-pathway-step__eyebrow{margin-bottom:.35rem;color:var(--pathway-color);font-size:.65rem;font-weight:800;letter-spacing:.08em}
.training-pathway-step__code{align-self:flex-start;margin-bottom:.4rem;padding:.16rem .42rem;border:1px solid color-mix(in srgb,var(--pathway-color) 40%,transparent);border-radius:5px;color:var(--pathway-color);font-size:.66rem;font-weight:800}
.training-pathway-step h3{margin:0 0 .5rem;font-size:.94rem;line-height:1.25}
.training-pathway-step p{margin:0 0 .8rem;color:var(--odin-text-muted,#738096);font-size:.77rem;line-height:1.5}
.training-pathway-step p i{width:1rem;margin-right:.25rem;color:var(--pathway-color);text-align:center}
.training-pathway-step footer{display:flex;align-items:center;gap:.4rem;margin-top:auto;color:var(--pathway-color);font-size:.73rem;font-weight:700}
.training-pathway-step button{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.3rem .45rem;width:100%;min-height:38px;margin-top:auto;padding:.5rem .7rem;border:1px solid var(--pathway-color);border-radius:8px;background:transparent;color:var(--pathway-color);font-size:.76rem;font-weight:700;transition:background .2s ease,color .2s ease}
.training-pathway-step button small{flex-basis:100%;font-size:.65rem;font-weight:500;text-align:center}
.training-pathway-step button:hover{background:var(--pathway-color);color:#fff}
.training-pathway-module__hint{display:flex;align-items:center;justify-content:center;gap:.45rem;margin:.15rem 0 0;color:var(--odin-text-muted,#738096);font-size:.72rem}
@media(max-width:767px){
 .training-pathway-module__header{align-items:flex-start;flex-direction:column}
 .training-pathway-module__legend{justify-content:flex-start;white-space:normal}
 .training-pathway-summary{grid-template-columns:1fr}
 .training-pathway-summary strong{white-space:normal}
 .training-pathway-scroller{margin-inline:-.85rem;padding-inline:.85rem;scroll-padding-inline:.85rem}
 .training-pathway-step{width:82vw;max-width:280px;flex-basis:82vw}
 .training-pathway-step.is-current{width:85vw;max-width:292px;flex-basis:85vw}
 .training-pathway:before{right:42vw;left:42vw}
}

.training-pathway-step__dependency{display:inline-flex;align-items:center;align-self:flex-start;gap:.35rem;margin:-.15rem 0 .55rem;padding:.24rem .45rem;border-radius:6px;color:var(--odin-text-muted,#738096);background:color-mix(in srgb,var(--odin-text-muted,#738096) 9%,transparent);font-size:.65rem;font-weight:700;line-height:1.25}
.training-pathway-step__dependency.is-met{color:var(--odin-success,#2fb877);background:color-mix(in srgb,var(--odin-success,#2fb877) 11%,transparent)}
.training-pathway-step__dependency.is-required{color:var(--odin-warning,#e7a43b);background:color-mix(in srgb,var(--odin-warning,#e7a43b) 11%,transparent)}
.training-pathway-step.is-available .training-pathway-step__dependency.is-required{color:var(--odin-warning,#e7a43b)}
.training-pathway-step.is-locked .training-pathway-step__dependency{opacity:1}


/* Sticky occurrence section navigation */
.training-occurrence-content-tabs{
  position:sticky;
  top:0;
  z-index:40;
  isolation:isolate;
  margin:0 -.35rem;
  padding:.55rem .35rem;
  border-radius:0 0 .7rem .7rem;
  background:color-mix(in srgb,var(--bs-body-bg,var(--odin-page-bg,#fff)) 96%,transparent);
  box-shadow:0 10px 24px rgba(7,18,34,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
[data-bs-theme="dark"] .training-occurrence-content-tabs{
  background:color-mix(in srgb,var(--bs-body-bg,var(--odin-page-bg,#071321)) 94%,transparent);
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
@media(max-width:767.98px){
  .training-occurrence-content-tabs{
    top:0;
    margin-inline:-.75rem;
    padding:.5rem .75rem;
    border-radius:0;
  }
}


/* Reliable sticky shell: scrolling belongs to the inner nav, sticky to its wrapper. */
.training-occurrence-content-tabs-sticky{
  position:sticky;
  top:0;
  z-index:45;
  isolation:isolate;
  margin:0 -.35rem;
  padding:.55rem .35rem;
  border-radius:0 0 .7rem .7rem;
  background:color-mix(in srgb,var(--bs-body-bg,var(--odin-page-bg,#fff)) 96%,transparent);
  box-shadow:0 10px 24px rgba(7,18,34,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.training-occurrence-content-tabs-sticky .training-occurrence-content-tabs{
  position:static;
  top:auto;
  z-index:auto;
  margin:0;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
[data-bs-theme="dark"] .training-occurrence-content-tabs-sticky{
  background:color-mix(in srgb,var(--bs-body-bg,var(--odin-page-bg,#071321)) 94%,transparent);
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
@media(max-width:767.98px){
  .training-occurrence-content-tabs-sticky{
    top:0;
    margin-inline:-.75rem;
    padding:.5rem .75rem;
    border-radius:0;
  }
  .training-occurrence-content-tabs-sticky .training-occurrence-content-tabs{
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
}


/* Course overview analytics */
.training-overview-module{display:grid;gap:1rem}
.training-overview-module__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.training-overview-module__header h2{margin:.15rem 0 .2rem}
.training-overview-module__header p{margin:0;color:var(--sd-muted)}
.training-overview-updated{display:inline-flex;align-items:center;gap:.4rem;color:var(--sd-muted);font-size:.67rem;white-space:nowrap}
.training-overview-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}
.training-overview-kpis article{display:flex;align-items:center;gap:.65rem;padding:.75rem .85rem;border:1px solid var(--odin-line);border-radius:.6rem;background:var(--sd-surface-2)}
.training-overview-kpis article>i{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info))}
.training-overview-kpis article>span{display:grid;min-width:0}
.training-overview-kpis small{color:var(--sd-muted);font-size:.61rem}
.training-overview-kpis strong{font-size:.77rem;white-space:nowrap}
.training-overview-charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.training-overview-chart-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid var(--odin-line);border-radius:.7rem;background:var(--sd-surface-2)}
.training-overview-chart-card>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.8rem 1rem;border-bottom:1px solid var(--odin-line)}
.training-overview-chart-card>header span{color:var(--odin-accent-1,var(--odin-info));font-size:.6rem;font-weight:800;letter-spacing:.08em}
.training-overview-chart-card>header h3{margin:.1rem 0 0;font-size:.88rem}
.training-overview-chart-card>header>i{color:var(--odin-accent-1,var(--odin-info))}
.training-overview-chart-card>footer{display:flex;align-items:center;gap:.45rem;margin-top:auto;padding:.7rem 1rem;border-top:1px solid var(--odin-line);color:var(--sd-muted);font-size:.67rem}
.training-overview-chart-card>footer i{color:var(--odin-accent-1,var(--odin-info))}
.training-overview-progress-chart,.training-overview-payment-chart{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:1rem;padding:1rem}
.training-overview-donut{--chart-color:var(--odin-accent-1,var(--odin-info));position:relative;width:118px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--chart-color) calc(var(--chart-value)*1%),color-mix(in srgb,var(--sd-muted) 15%,transparent) 0)}
.training-overview-donut:after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--sd-surface-2)}
.training-overview-donut>span{position:absolute;z-index:1;inset:0;display:grid;place-content:center;text-align:center}
.training-overview-donut strong{font-size:1.3rem}
.training-overview-donut small{color:var(--sd-muted);font-size:.61rem}
.training-overview-donut.is-payment{--chart-color:var(--odin-success,#35bd83)}
.training-overview-progress-list{display:grid}
.training-overview-progress-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.55rem;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--odin-line);font-size:.7rem}
.training-overview-progress-list>div:last-child{border-bottom:0}
.training-overview-progress-list span{display:flex;align-items:center;gap:.4rem}
.training-overview-progress-list span i{width:.5rem;height:.5rem;border-radius:50%;background:var(--odin-accent-1,var(--odin-info))}
.training-overview-progress-list span i.is-confined{opacity:.7}
.training-overview-progress-list span i.is-open-water{opacity:.4}
.training-overview-progress-list em{min-width:2.3rem;color:var(--sd-muted);font-size:.65rem;font-style:normal;text-align:right}
.training-overview-activity-card{grid-column:span 2}
.training-overview-activity-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem .2rem}
.training-overview-activity-summary>strong{font-size:1.15rem}
.training-overview-activity-summary>span{display:flex;align-items:center;gap:.35rem;color:var(--odin-success,#35bd83);font-size:.66rem}
.training-overview-line-chart{padding:.2rem 1rem .8rem}
.training-overview-line-chart svg{display:block;width:100%;height:170px;overflow:visible}
.training-overview-line-chart .grid line{stroke:var(--odin-line);stroke-width:1;vector-effect:non-scaling-stroke}
.training-overview-line-chart .area{fill:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent)}
.training-overview-line-chart .line{fill:none;stroke:var(--odin-accent-1,var(--odin-info));stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.training-overview-line-chart .points circle{fill:var(--sd-surface-2);stroke:var(--odin-accent-1,var(--odin-info));stroke-width:3;vector-effect:non-scaling-stroke}
.training-overview-line-chart__labels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;color:var(--sd-muted);font-size:.57rem;text-align:center}
.training-overview-payment-copy{display:grid;gap:.35rem}
.training-overview-payment-copy>strong{font-size:.78rem}
.training-overview-payment-copy p{margin:0;color:var(--sd-muted);font-size:.67rem;line-height:1.45}
.training-overview-payment-copy span{display:flex;align-items:center;gap:.35rem;color:var(--odin-success,#35bd83);font-size:.65rem;font-weight:700}
.training-overview-payment-value{display:grid;gap:.4rem;padding:0 1rem 1rem}
.training-overview-payment-value>div{display:flex;justify-content:space-between;font-size:.68rem}
.training-overview-payment-value>span{height:6px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--sd-muted) 15%,transparent)}
.training-overview-payment-value>span i{display:block;height:100%;border-radius:inherit;background:var(--odin-success,#35bd83)}
.training-overview-payment-value>small{color:var(--sd-muted);font-size:.63rem}
.training-overview-disclaimer{display:flex;gap:.45rem;margin:0;padding:.65rem .8rem;border-radius:.5rem;background:color-mix(in srgb,var(--odin-info) 8%,transparent);color:var(--sd-muted);font-size:.63rem}
.training-overview-disclaimer i{margin-top:.12rem;color:var(--odin-info)}
@media(max-width:900px){.training-overview-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){
 .training-overview-module__header{align-items:flex-start;flex-direction:column}
 .training-overview-charts{grid-template-columns:1fr}
 .training-overview-activity-card{grid-column:auto}
 .training-overview-progress-chart,.training-overview-payment-chart{grid-template-columns:105px minmax(0,1fr)}
 .training-overview-donut{width:96px}
 .training-overview-line-chart svg{height:135px}
 .training-overview-line-chart__labels{grid-template-columns:repeat(3,1fr);row-gap:.35rem}
}
@media(max-width:420px){
 .training-overview-kpis{grid-template-columns:1fr}
 .training-overview-progress-chart,.training-overview-payment-chart{grid-template-columns:1fr;justify-items:center}
 .training-overview-progress-list,.training-overview-payment-copy{width:100%}
}


/* Keep the occurrence navigation below the sticky ODIN topbar. */
body.odin-v2-body .training-occurrence-content-tabs-sticky{
  top:var(--odin-v2-topbar,72px);
}
@media(max-width:991.98px){
  body.odin-v2-body .training-occurrence-content-tabs-sticky{
    top:64px;
  }
}



/* Native sticky navigation directly below the ODIN topbar. */
body.odin-v2-body .training-occurrence-content-tabs-sticky{
  position:sticky;
  top:var(--odin-v2-topbar,72px);
  z-index:1029;
  min-height:0;
}
body.odin-v2-body .training-occurrence-content-tabs-sticky .training-occurrence-content-tabs{
  position:static;
}
@media(max-width:991.98px){
  body.odin-v2-body .training-occurrence-content-tabs-sticky{
    top:64px;
    z-index:1029;
  }
}


/* Mobile body overflow must not become the sticky scroll container. */
@media(max-width:991.98px){
  html:has(body.odin-v2-body .training-occurrence-prototype),
  body.odin-v2-body:has(.training-occurrence-prototype){
    overflow-x:clip!important;
    overflow-y:visible!important;
  }
}


/* Separate CUE exercise library */
.training-cue-library{display:grid;gap:.9rem}
.training-cue-library__toolbar{align-items:center}
.training-cue-library__search-slot{width:min(320px,42%)}
.training-cue-library__search-slot .training-cue-search{width:100%}
.training-cue-library__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.training-cue-library__summary article{display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;border:1px solid var(--odin-line);border-radius:.58rem;background:var(--sd-surface-2)}
.training-cue-library__summary article>i{width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info))}
.training-cue-library__summary article>span{display:grid}
.training-cue-library__summary small{color:var(--sd-muted);font-size:.61rem}
.training-cue-library__summary strong{font-size:.85rem}
.training-cue-library__summary .is-complete>i{background:color-mix(in srgb,var(--odin-success,#35bd83) 12%,transparent);color:var(--odin-success,#35bd83)}
.training-cue-library__summary .is-pending>i{background:color-mix(in srgb,#e7a43b 12%,transparent);color:#e7a43b}
.training-cue-library__filters{display:flex;flex-wrap:wrap;gap:.4rem}
.training-cue-library__filters button{padding:.38rem .62rem;border:1px solid var(--odin-line);border-radius:.45rem;background:transparent;color:var(--sd-muted);font-size:.66rem;font-weight:700}
.training-cue-library__filters button:hover,.training-cue-library__filters button.is-active{border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 11%,transparent);color:var(--odin-accent-1,var(--odin-info))}
.training-cue-library__sessions{display:grid;gap:.7rem}
.training-cue-session-block{overflow:hidden;border:1px solid var(--odin-line);border-radius:.62rem;background:var(--sd-surface-2)}
.training-cue-session-block>header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.72rem .85rem;border-bottom:1px solid var(--odin-line)}
.training-cue-session-block>header>div{display:flex;align-items:center;gap:.55rem;min-width:0}
.training-cue-session-block__code{padding:.17rem .4rem;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 45%,var(--odin-line));border-radius:.35rem;color:var(--odin-accent-1,var(--odin-info));font-size:.62rem;font-weight:800}
.training-cue-session-block h3{margin:0;font-size:.78rem}
.training-cue-session-block>header>span{color:var(--sd-muted);font-size:.63rem;white-space:nowrap}
.training-cue-session-block .training-session-exercises{display:grid;padding:0}
.training-cue-session-block .training-session-exercise{border-radius:0;border-width:0 0 1px}
.training-cue-session-block .training-session-exercise:last-child{border-bottom:0}
.training-cue-library__empty{align-items:center;justify-content:center;gap:.5rem;margin:0;padding:1.2rem;color:var(--sd-muted);font-size:.72rem;text-align:center}
.training-cue-library__empty:not([hidden]){display:flex}
.training-cue-session-jump-highlight{animation:cue-session-highlight 1.4s ease}
@keyframes cue-session-highlight{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 32%,transparent)}}
@media(max-width:767.98px){
 .training-cue-library__toolbar{align-items:stretch}
 .training-cue-library__search-slot{width:100%}
 .training-cue-library__summary{grid-template-columns:1fr}
 .training-cue-library__filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .training-cue-library__filters button{width:100%}
 .training-cue-session-block>header{align-items:flex-start}
}


/* Session records no longer expose a CUE action; exercises live in their own tab. */
.training-scheduled-record-layout__action.is-booking-actions.is-single-action{
  grid-template-columns:1fr;
}
.training-completed-record-layout.is-cue-action-removed{
  grid-template-columns:32px minmax(0,1fr) auto;
}
.training-scheduled-record-layout.is-cue-action-removed{
  grid-template-columns:32px minmax(0,1fr);
}
.training-scheduled-record-layout.is-cue-action-removed .training-scheduled-record-layout__topline,
.training-scheduled-record-layout.is-cue-action-removed .training-scheduled-record-layout__details{
  grid-column:2;
}
@media(max-width:767.98px){
  .training-completed-record-layout.is-cue-action-removed{
    grid-template-columns:32px minmax(0,1fr) auto;
  }
}


/* A remaining booking/request action fills the column after removing CUE. */
.training-scheduled-record-layout.is-available .training-scheduled-record-layout__action.is-booking-actions.is-single-action,
.training-scheduled-record-layout.is-request .training-scheduled-record-layout__action.is-booking-actions.is-single-action{
  grid-template-columns:minmax(0,1fr);
}
.training-scheduled-record-layout__action.is-single-action>button{
  width:100%;
  min-width:0;
  border-left:0!important;
}
@media(max-width:480px){
  .training-scheduled-record-layout__action.is-single-action>button{
    border-top:0;
  }
}


/* A single session action sizes to its content instead of filling a wide two-button slot. */
.training-scheduled-record-layout.is-available:has(.training-scheduled-record-layout__action.is-single-action),
.training-scheduled-record-layout.is-request:has(.training-scheduled-record-layout__action.is-single-action){
  grid-template-columns:32px minmax(0,1fr) max-content;
}
.training-scheduled-record-layout__action.is-single-action{
  display:flex;
  width:auto;
  justify-content:center;
}
.training-scheduled-record-layout__action.is-single-action>button{
  width:max-content;
  min-width:190px;
  max-width:230px;
  padding-inline:.85rem;
}
@media(max-width:1100px){
  .training-scheduled-record-layout.is-available:has(.training-scheduled-record-layout__action.is-single-action),
  .training-scheduled-record-layout.is-request:has(.training-scheduled-record-layout__action.is-single-action){
    grid-template-columns:32px minmax(0,1fr);
  }
  .training-scheduled-record-layout__action.is-single-action{
    justify-content:center;
  }
}


/* Merged training plan: compact navigator above full session records. */
.training-plan-navigator{display:grid;gap:.65rem;margin-bottom:1rem;padding:.85rem;border:1px solid var(--odin-line);border-radius:.68rem;background:var(--sd-surface-2)}
.training-plan-navigator>header{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.training-plan-navigator>header>div>span{color:var(--odin-accent-1,var(--odin-info));font-size:.6rem;font-weight:800;letter-spacing:.08em}
.training-plan-navigator>header h3{margin:.12rem 0 .15rem;font-size:.88rem}
.training-plan-navigator>header p{margin:0;color:var(--sd-muted);font-size:.67rem}
.training-plan-navigator>header>button{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;padding:.45rem .65rem;border:1px solid var(--odin-accent-1,var(--odin-info));border-radius:.45rem;background:transparent;color:var(--odin-accent-1,var(--odin-info));font-size:.65rem;font-weight:700;white-space:nowrap}
.training-plan-navigator>header>button:hover{background:var(--odin-accent-1,var(--odin-info));color:#fff}
.training-plan-navigator__scroll{overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scroll-snap-type:x proximity;padding:.45rem .1rem .65rem}
.training-plan-navigator__scroll ol{position:relative;display:flex;width:max-content;min-width:100%;gap:.45rem;margin:0;padding:0;list-style:none}
.training-plan-navigator__scroll ol:before{content:"";position:absolute;top:18px;right:24px;left:24px;height:2px;background:var(--odin-line)}
.training-plan-navigator__scroll li{--plan-status:var(--sd-muted);position:relative;z-index:1;width:88px;flex:0 0 88px;scroll-snap-align:center}
.training-plan-navigator__scroll li.is-completed{--plan-status:var(--odin-success,#35bd83)}
.training-plan-navigator__scroll li.is-current,.training-plan-navigator__scroll li.is-scheduled{--plan-status:var(--odin-accent-1,var(--odin-info))}
.training-plan-navigator__scroll li.is-available{--plan-status:var(--odin-info)}
.training-plan-navigator__scroll li.is-request{--plan-status:#e7a43b}.training-plan-navigator__scroll li.is-locked{opacity:.58}
.training-plan-navigator__scroll button{width:100%;display:grid;justify-items:center;gap:.3rem;padding:0;border:0;background:transparent;color:inherit}
.training-plan-navigator__scroll button>i{width:36px;height:36px;display:grid;place-items:center;border:4px solid var(--sd-surface-2);border-radius:50%;background:var(--plan-status);color:#fff;font-size:.62rem}
.training-plan-navigator__scroll button>span{display:grid;text-align:center}.training-plan-navigator__scroll button b{font-size:.68rem}.training-plan-navigator__scroll button small{color:var(--sd-muted);font-size:.56rem;white-space:nowrap}
.training-plan-navigator__scroll li.is-current button>i{box-shadow:0 0 0 3px color-mix(in srgb,var(--plan-status) 24%,transparent)}
.training-plan-navigator__scroll button>span{gap:.22rem}
.training-plan-navigator__scroll button b{
  min-width:2.65rem;
  padding:.18rem .42rem;
  border:1px solid color-mix(in srgb,var(--plan-status) 55%,var(--odin-line));
  border-radius:.38rem;
  background:var(--sd-surface-1);
  color:var(--plan-status);
  font-size:.76rem;
  font-weight:850;
  line-height:1.15;
  letter-spacing:.045em;
  text-align:center;
}
.training-plan-navigator__scroll li.is-current button b{
  background:var(--plan-status);
  border-color:var(--plan-status);
  color:#fff;
  box-shadow:0 2px 8px color-mix(in srgb,var(--plan-status) 25%,transparent);
}

.training-plan-navigator__scroll button:hover b,.training-plan-navigator__scroll button:focus-visible b{color:var(--plan-status)}
.training-plan-navigator__hint{display:flex;align-items:center;justify-content:center;gap:.4rem;margin:0;color:var(--sd-muted);font-size:.6rem}
.training-session-record.is-plan-highlight{animation:training-plan-record-highlight 1.5s ease}
@keyframes training-plan-record-highlight{0%,100%{box-shadow:none}35%{box-shadow:0 0 0 3px color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 30%,transparent)}}
@media(max-width:767.98px){.training-plan-navigator{padding:.75rem}.training-plan-navigator>header{align-items:flex-start;flex-direction:column}.training-plan-navigator>header>button{align-self:stretch;justify-content:center}.training-plan-navigator__scroll{margin-inline:-.75rem;padding-inline:.75rem;scroll-padding-inline:.75rem}}


/* Focused course timeline: full stage names, current step centered, past and future scrollable. */
.training-plan-navigator__scroll{
  width:100%;
  max-width:680px;
  margin-inline:auto;
  padding-block:.35rem .55rem;
  scroll-snap-type:x mandatory;
  mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);
}
.training-plan-navigator__scroll ol{gap:.25rem;padding-inline:calc(50% - 76px)}
.training-plan-navigator__scroll ol:before{right:calc(50% - 76px);left:calc(50% - 76px)}
.training-plan-navigator__scroll li{width:126px;flex-basis:126px;scroll-snap-align:center}
.training-plan-navigator__scroll li.is-current{width:152px;flex-basis:152px}
.training-plan-navigator__scroll button>span{width:100%;gap:.12rem}
.training-plan-navigator__scroll button b{
  min-width:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--bs-body-color,var(--sd-text));
  font-size:.7rem;
  font-weight:750;
  line-height:1.2;
  letter-spacing:0;
  white-space:nowrap;
}
.training-plan-navigator__scroll li.is-current button b{
  padding:.24rem .5rem;
  border-radius:999px;
  background:color-mix(in srgb,var(--plan-status) 14%,var(--sd-surface-2));
  color:var(--plan-status);
  box-shadow:none;
  font-size:.76rem;
}
.training-plan-navigator__scroll button:hover b,
.training-plan-navigator__scroll button:focus-visible b{color:var(--plan-status)}
@media(max-width:767.98px){
  .training-plan-navigator__scroll{max-width:none;margin-inline:-.75rem;width:calc(100% + 1.5rem);padding-inline:0}
  .training-plan-navigator__scroll ol{padding-inline:calc(50vw - 76px)}
}


/* Three-step timeline window and persistent selected session. */
.training-plan-navigator__scroll{max-width:408px}
.training-plan-navigator__scroll li.is-plan-selected button>i{
  box-shadow:0 0 0 4px color-mix(in srgb,var(--plan-status) 28%,transparent);
}
.training-plan-navigator__scroll li.is-plan-selected button b{
  padding:.24rem .5rem;
  border-radius:999px;
  background:var(--plan-status);
  color:#fff;
}
.training-session-record.is-plan-selected{
  position:relative;
  z-index:1;
  border-color:var(--odin-accent-1,var(--odin-info))!important;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 9%,var(--sd-surface-2))!important;
  box-shadow:inset 4px 0 0 var(--odin-accent-1,var(--odin-info)),0 8px 22px color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
}
.training-session-record.is-plan-selected .training-theory-record-layout,
.training-session-record.is-plan-selected .training-completed-record-layout,
.training-session-record.is-plan-selected .training-scheduled-record-layout{
  background:transparent!important;
}
@media(max-width:480px){
  .training-plan-navigator__scroll{max-width:none}
  .training-session-record.is-plan-selected{box-shadow:inset 3px 0 0 var(--odin-accent-1,var(--odin-info)),0 6px 18px color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent)}
}


/* Full-width timeline; the active or selected stage carries the visual focus. */
.training-plan-navigator__scroll{max-width:none}
.training-plan-navigator__scroll li.is-current,
.training-plan-navigator__scroll li.is-plan-selected{
  width:176px;
  flex-basis:176px;
}
.training-plan-navigator__scroll li.is-current button>i,
.training-plan-navigator__scroll li.is-plan-selected button>i{
  width:44px;
  height:44px;
  font-size:.72rem;
}
.training-plan-navigator__scroll li.is-current button b,
.training-plan-navigator__scroll li.is-plan-selected button b{
  font-size:.8rem;
  padding:.28rem .62rem;
}


/* Timeline density and consistent horizontal module spacing. */
.training-plan-navigator{
  width:auto;
  margin-inline:.85rem;
}
.training-plan-navigator__scroll li{
  width:88px;
  flex-basis:88px;
}
.training-plan-navigator__scroll li.is-current,
.training-plan-navigator__scroll li.is-plan-selected{
  width:132px;
  flex-basis:132px;
}
.training-plan-navigator__scroll ol{
  padding-inline:0;
}
.training-plan-navigator__scroll ol:before{
  right:44px;
  left:44px;
}
.training-plan-navigator__scroll button b{
  font-size:.66rem;
}
.training-plan-navigator__scroll li.is-current button b,
.training-plan-navigator__scroll li.is-plan-selected button b{
  font-size:.76rem;
}
@media(max-width:767.98px){
  .training-plan-navigator{
    margin-inline:.75rem;
  }
  .training-plan-navigator__scroll{
    width:100%;
    margin-inline:0;
  }
  .training-plan-navigator__scroll ol{
    padding-inline:calc(50% - 66px);
  }
}


/* Course progress now sits directly below the sessions heading. */
.training-sessions-section>.training-course-progress{
  width:auto;
  margin:.15rem .85rem 1rem;
}
@media(max-width:767.98px){
  .training-sessions-section>.training-course-progress{
    margin-inline:.75rem;
  }
}


.training-sessions-section>.training-course-progress{
  padding:.75rem .85rem;
}
@media(max-width:767.98px){
  .training-sessions-section>.training-course-progress{
    padding:.7rem .75rem;
  }
}


/* CUE library follows the visual language of the training plan. */
.training-cue-library__toolbar,
.training-cue-library__summary,
.training-cue-library__filters,
.training-cue-library__sessions,
.training-cue-library__empty{
  margin-inline:.85rem;
}
.training-cue-library__summary{
  padding:.75rem .85rem;
  border:1px solid var(--odin-line);
  border-radius:.6rem;
  background:var(--sd-surface-2);
}
.training-cue-library__summary article{
  padding:.15rem .45rem;
  border:0;
  border-right:1px solid var(--odin-line);
  border-radius:0;
  background:transparent;
}
.training-cue-library__summary article:last-child{border-right:0}
.training-cue-library__sessions{gap:1rem}
.training-cue-session-block{
  display:grid;
  gap:.45rem;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
}
.training-cue-session-block>header{
  min-height:38px;
  padding:0 0 .38rem;
  border-bottom:1px solid var(--odin-line);
}
.training-cue-session-block__code{
  display:inline-grid;
  min-width:34px;
  height:28px;
  place-items:center;
  padding:0 .4rem;
  border:0;
  border-radius:.42rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
}
.training-cue-session-block .training-session-exercises{
  display:grid;
  gap:.38rem;
  border:0;
  background:transparent;
}
.training-cue-session-block .training-session-exercise{
  min-height:48px;
  padding:.55rem .65rem;
  border:1px solid var(--odin-line);
  border-radius:.5rem;
  background:var(--sd-surface-2);
}
.training-cue-session-block .training-session-exercise:last-child{border-bottom:1px solid var(--odin-line)}
.training-cue-session-block .training-session-exercise:hover,
.training-cue-session-block .training-session-exercise:focus-visible{
  border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 55%,var(--odin-line));
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 7%,var(--sd-surface-2));
}
.training-cue-session-block .training-session-exercise__grade{
  align-self:center;
}
@media(max-width:767.98px){
  .training-cue-library__toolbar,
  .training-cue-library__summary,
  .training-cue-library__filters,
  .training-cue-library__sessions,
  .training-cue-library__empty{
    margin-inline:.75rem;
  }
  .training-cue-library__summary{grid-template-columns:1fr;padding:.35rem .75rem}
  .training-cue-library__summary article{
    padding:.45rem 0;
    border-right:0;
    border-bottom:1px solid var(--odin-line);
  }
  .training-cue-library__summary article:last-child{border-bottom:0}
}


/* Session exercise count opens the matching group in the CUE library. */
.training-scheduled-record-layout__counts .training-session-cue-link{
  display:inline-flex;
  align-items:center;
  gap:.24rem;
  padding:0;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  cursor:pointer;
}
.training-scheduled-record-layout__counts .training-session-cue-link>i{
  width:auto;
  height:auto;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.52rem;
  transition:transform .18s ease;
}
.training-scheduled-record-layout__counts .training-session-cue-link:hover,
.training-scheduled-record-layout__counts .training-session-cue-link:focus-visible{
  color:var(--odin-accent-1,var(--odin-info));
  outline:0;
}
.training-scheduled-record-layout__counts .training-session-cue-link:hover>i,
.training-scheduled-record-layout__counts .training-session-cue-link:focus-visible>i{
  transform:translateX(2px);
}


/* Expandable CUE session headings use full names followed by the session code. */
.training-cue-session-block>header{
  padding:0;
}
.training-cue-session-block>header>button{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  align-items:center;
  gap:.65rem;
  width:100%;
  min-height:42px;
  padding:0 0 .38rem;
  border:0;
  border-bottom:1px solid var(--odin-line);
  background:transparent;
  color:inherit;
  text-align:left;
}
.training-cue-session-block>header>button>span{
  display:flex;
  min-width:0;
  align-items:center;
  gap:.5rem;
}
.training-cue-session-block>header h3{
  overflow:hidden;
  min-width:0;
  font-size:.78rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.training-cue-session-block>header .training-theory-code{
  flex:0 0 auto;
}
.training-cue-session-block>header em{
  color:var(--sd-muted);
  font-size:.63rem;
  font-style:normal;
  white-space:nowrap;
}
.training-cue-session-block>header>button>i{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.62rem;
  transition:transform .18s ease;
}
.training-cue-session-block>header>button[aria-expanded="true"]>i{
  transform:rotate(180deg);
}
.training-cue-session-block>header>button:hover h3,
.training-cue-session-block>header>button:focus-visible h3{
  color:var(--odin-accent-1,var(--odin-info));
}
@media(max-width:767.98px){
  .training-cue-session-block>header>button{
    grid-template-columns:minmax(0,1fr) 18px;
  }
  .training-cue-session-block>header em{
    grid-column:1;
    color:var(--sd-muted);
  }
  .training-cue-session-block>header>button>i{
    grid-column:2;
    grid-row:1 / span 2;
  }
}


/* Skills library derived from unique assessable CUE items. */
.training-skills-library{display:grid;gap:.9rem}
.training-skills-library__toolbar,
.training-skills-library__summary,
.training-skills-library__filters,
.training-skills-library__groups,
.training-skills-library__empty{margin-inline:.85rem}
.training-skills-library__toolbar{align-items:center}
.training-skills-library__summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:.75rem .85rem;border:1px solid var(--odin-line);border-radius:.6rem;background:var(--sd-surface-2)}
.training-skills-library__summary article{display:flex;align-items:center;gap:.65rem;padding:.15rem .55rem;border-right:1px solid var(--odin-line)}
.training-skills-library__summary article:last-child{border-right:0}
.training-skills-library__summary article>i{width:2rem;height:2rem;display:grid;flex:0 0 auto;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info))}
.training-skills-library__summary article>span{display:grid}.training-skills-library__summary small{color:var(--sd-muted);font-size:.61rem}.training-skills-library__summary strong{font-size:.85rem}
.training-skills-library__summary .is-complete>i{background:color-mix(in srgb,var(--odin-success,#35bd83) 12%,transparent);color:var(--odin-success,#35bd83)}
.training-skills-library__summary .is-progress>i{background:color-mix(in srgb,var(--odin-info) 12%,transparent);color:var(--odin-info)}
.training-skills-library__summary .is-pending>i{background:color-mix(in srgb,#e7a43b 12%,transparent);color:#e7a43b}
.training-skills-library__filters{display:flex;flex-wrap:wrap;gap:.4rem}
.training-skills-library__filters button{padding:.38rem .62rem;border:1px solid var(--odin-line);border-radius:.45rem;background:transparent;color:var(--sd-muted);font-size:.66rem;font-weight:700}
.training-skills-library__filters button:hover,.training-skills-library__filters button.is-active{border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 11%,transparent);color:var(--odin-accent-1,var(--odin-info))}
.training-skills-library__groups{display:grid;gap:1rem}
.training-skills-group{display:grid;gap:.45rem}
.training-skills-group>header{display:flex;align-items:center;gap:.5rem;padding-bottom:.38rem;border-bottom:1px solid var(--odin-line)}
.training-skills-group>header>i{display:grid;width:30px;height:30px;place-items:center;border-radius:.42rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.72rem}
.training-skills-group>header h3{margin:0;font-size:.78rem}.training-skills-group>header span{display:block;margin-top:.06rem;color:var(--sd-muted);font-size:.58rem}
.training-skills-group__list{display:grid;gap:.38rem}
.training-skill-record{display:grid;grid-template-columns:18px minmax(0,1fr) auto auto 14px;align-items:center;gap:.55rem;width:100%;min-height:52px;padding:.55rem .65rem;border:1px solid var(--odin-line);border-radius:.5rem;background:var(--sd-surface-2);color:inherit;text-align:left}
.training-skill-record>i:first-child{color:var(--sd-muted)}.training-skill-record.is-acquired>i:first-child{color:var(--odin-success,#35bd83)}.training-skill-record.is-progress>i:first-child{color:var(--odin-info)}
.training-skill-record>span{display:grid;min-width:0}.training-skill-record>span strong{overflow:hidden;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.training-skill-record>span small{display:flex;align-items:center;gap:.35rem;margin-top:.14rem;color:var(--sd-muted);font-size:.56rem}.training-skill-record>span small i{width:1px;height:.7rem;background:var(--odin-line)}
.training-skill-record>em{padding:.2rem .42rem;border-radius:999px;font-size:.54rem;font-style:normal;font-weight:800;white-space:nowrap}.training-skill-record>em.is-acquired{background:color-mix(in srgb,var(--odin-success,#35bd83) 12%,transparent);color:var(--odin-success,#35bd83)}.training-skill-record>em.is-progress{background:color-mix(in srgb,var(--odin-info) 12%,transparent);color:var(--odin-info)}.training-skill-record>em.is-pending{background:color-mix(in srgb,#e7a43b 12%,transparent);color:#e7a43b}
.training-skill-record>b{font-size:.58rem;white-space:nowrap}.training-skill-record>i:last-child{color:var(--sd-muted);font-size:.58rem}
.training-skill-record:hover,.training-skill-record:focus-visible{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 55%,var(--odin-line));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 7%,var(--sd-surface-2));outline:0}.training-skill-record:hover>i:last-child{color:var(--odin-accent-1,var(--odin-info));transform:translateX(2px)}
.training-skills-library__empty{align-items:center;justify-content:center;gap:.5rem;margin-top:0;padding:1.2rem;color:var(--sd-muted);font-size:.72rem;text-align:center}.training-skills-library__empty:not([hidden]){display:flex}
@media(max-width:767.98px){
 .training-skills-library__toolbar,.training-skills-library__summary,.training-skills-library__filters,.training-skills-library__groups,.training-skills-library__empty{margin-inline:.75rem}
 .training-skills-library__toolbar{align-items:stretch}
 .training-skills-library__summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:.35rem .75rem}
 .training-skills-library__summary article{padding:.45rem 0;border-right:0;border-bottom:1px solid var(--odin-line)}
 .training-skills-library__summary article:nth-last-child(-n+2){border-bottom:0}
 .training-skills-library__filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 .training-skills-library__filters button{width:100%}
 .training-skill-record{grid-template-columns:18px minmax(0,1fr) auto 12px}
 .training-skill-record>b{grid-column:2}.training-skill-record>em{grid-column:3;grid-row:1 / span 2}.training-skill-record>i:last-child{grid-column:4;grid-row:1 / span 2}
}


/* Each course phase shows completed, active and not-started portions. */
.training-course-progress__track>span{
  display:flex;
  background:color-mix(in srgb,var(--sd-muted) 18%,var(--sd-surface-2));
}
.training-course-progress__track>span>i{
  display:block;
  flex:0 0 auto;
  height:100%;
  min-width:0;
}
.training-course-progress__track>span>i.is-completed{
  width:var(--course-completed,0%);
  background:var(--odin-success,#35bd83);
}
.training-course-progress__track>span>i.is-active{
  width:var(--course-active,0%);
  background:var(--odin-info,#4bc4e8);
}
@media(max-width:600px){
  .training-course-progress__track>span>i.is-completed{
    width:var(--course-completed,0%);
    background:var(--odin-success,#35bd83);
  }
  .training-course-progress__track>span>i.is-active{
    width:var(--course-active,0%);
    background:var(--odin-info,#4bc4e8);
  }
}


/* Course progress uses the exact same status palette as the plan navigator. */
.training-course-progress__track>span{
  background:var(--sd-muted);
}
.training-course-progress__track>span>i.is-completed{
  background:var(--odin-success,#35bd83);
}
.training-course-progress__track>span>i.is-active{
  background:var(--odin-accent-1,var(--odin-info));
}
@media(max-width:600px){
  .training-course-progress__track>span{
    background:var(--sd-muted);
  }
  .training-course-progress__track>span>i.is-completed{
    background:var(--odin-success,#35bd83);
  }
  .training-course-progress__track>span>i.is-active{
    background:var(--odin-accent-1,var(--odin-info));
  }
}


/* Assessment metadata and role-aware notes in evaluated CUE records. */
.training-session-exercise__assessment-meta{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:.3rem;
}
.training-session-exercise__assessment-meta>i:first-child,
.training-session-exercise__instructor>i{
  color:var(--odin-accent-1,var(--odin-info));
}
.training-session-exercise__assessment-meta>span{
  display:inline-flex;
  align-items:center;
  gap:.25rem;
}
.training-session-exercise__meta-separator{
  width:1px;
  height:.72rem;
  margin-inline:.12rem;
  background:var(--odin-line);
}
.training-session-exercise__instructor{
  padding:.1rem .3rem;
  border-radius:.3rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
}
.training-session-exercise__note{
  display:flex!important;
  align-items:flex-start;
  gap:.38rem;
  margin-top:.3rem!important;
  padding:.35rem .45rem;
  border-radius:.38rem;
  line-height:1.4!important;
}
.training-session-exercise__note>i{
  flex:0 0 auto;
  margin-top:.1rem;
}
.training-session-exercise__note.is-student{
  background:color-mix(in srgb,var(--odin-info) 8%,transparent);
}
.training-session-exercise__note.is-student>i,
.training-session-exercise__note.is-student b{
  color:var(--odin-info);
}
.training-session-exercise__note.is-internal{
  background:color-mix(in srgb,var(--odin-warning,#e7a43b) 9%,transparent);
}
.training-session-exercise__note.is-internal>i,
.training-session-exercise__note.is-internal b{
  color:var(--odin-warning,#e7a43b);
}
.training-cue-session-block .training-session-exercise__grade{
  align-self:start;
  margin-top:.1rem;
}
@media(max-width:767.98px){
  .training-session-exercise__assessment-meta{
    row-gap:.22rem;
  }
  .training-session-exercise__note{
    padding:.32rem .4rem;
  }
}


/* Match CUE record status icons to the Skills view. */
.training-cue-session-block .training-session-exercise{
  grid-template-columns:18px minmax(0,1fr) auto auto;
}
.training-cue-session-block .training-session-exercise>i:first-child{
  padding-top:0;
  font-size:1rem;
  line-height:1;
  align-self:start;
  justify-self:center;
}
@media(max-width:767.98px){
  .training-cue-session-block .training-session-exercise{
    grid-template-columns:18px minmax(0,1fr) auto;
  }
}


/* English names and identifiers share the secondary line. */
.training-session-exercise__identity,
.training-skill-record__identity{
  display:flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem;
  margin-top:.1rem;
  color:var(--sd-muted);
  font-size:.6rem;
  font-weight:500;
  line-height:1.3;
}
.training-session-exercise__name-en{display:inline}
.training-session-exercise__identity-separator,
.training-skill-record__separator{
  width:1px!important;
  height:.72rem!important;
  flex:0 0 1px;
  background:var(--odin-line);
}
.training-session-exercise__id,
.training-skill-record__id{
  display:inline-flex;
  align-items:center;
  gap:.22rem;
  color:var(--sd-muted);
}
.training-session-exercise__id>i,
.training-skill-record__id>i{
  width:auto!important;
  height:auto!important;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.52rem;
  background:transparent!important;
}
.training-skill-record__identity{font-size:.56rem!important}


/* CUE record: compact bilingual identity, right-aligned assessment and full-width notes. */
.training-cue-session-block .training-session-exercise{
  grid-template-columns:18px minmax(0,1fr) auto 12px;
  align-items:start;
}
.training-session-exercise__content{min-width:0}
.training-session-exercise__identity{
  flex-wrap:nowrap;
  min-width:0;
}
.training-session-exercise__identity .training-session-exercise__id{
  flex:0 0 auto;
}
.training-session-exercise__identity .training-session-exercise__name-en{
  overflow:hidden;
  min-width:0;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.training-session-exercise__evaluation{
  display:grid;
  justify-items:end;
  align-content:start;
  gap:.24rem;
  min-width:max-content;
}
.training-cue-session-block .training-session-exercise__evaluation .training-session-exercise__grade{
  margin:0;
}
.training-session-exercise__evaluation .training-session-exercise__assessment-meta{
  display:flex!important;
  flex-wrap:nowrap;
  justify-content:flex-end;
  gap:.38rem;
  margin:0;
  font-size:.5rem;
  white-space:nowrap;
}
.training-session-exercise__evaluation .training-session-exercise__assessment-meta>span{
  display:inline-flex;
  align-items:center;
  gap:.2rem;
}
.training-session-exercise__evaluation .training-session-exercise__assessment-meta>span:first-child{
  color:var(--sd-muted);
}
.training-session-exercise__evaluation .training-session-exercise__instructor{
  padding:.08rem .26rem;
}
.training-cue-session-block .training-session-exercise>.training-session-exercise__note{
  grid-column:2/-1;
  width:100%;
  box-sizing:border-box;
  margin-top:.12rem!important;
}
@media(max-width:767.98px){
  .training-cue-session-block .training-session-exercise{
    grid-template-columns:18px minmax(0,1fr) 12px;
  }
  .training-session-exercise__evaluation{
    grid-column:2;
    grid-row:auto;
    justify-items:start;
    min-width:0;
    width:100%;
  }
  .training-session-exercise__evaluation .training-session-exercise__assessment-meta{
    justify-content:flex-start;
    max-width:100%;
  }
  .training-session-exercise__open{grid-column:3;grid-row:1}
  .training-cue-session-block .training-session-exercise>.training-session-exercise__note{
    grid-column:2/-1;
  }
}


/* Shared CUE and skill record icon geometry; CUE-style secondary identity line. */
.training-cue-session-block .training-session-exercise>i:first-child,
.training-skill-record>i:first-child{
  display:grid;
  width:18px;
  height:18px;
  padding:0;
  place-items:center;
  align-self:start;
  justify-self:center;
  font-size:1rem;
  line-height:1;
}
.training-skill-record__identity{
  flex-wrap:nowrap!important;
  min-width:0;
}
.training-skill-record__identity .training-skill-record__id,
.training-skill-record__identity .training-skill-record__session{
  flex:0 0 auto;
}
.training-skill-record__identity .training-skill-record__name-en{
  overflow:hidden;
  min-width:0;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:767.98px){
  .training-skill-record__identity{
    overflow:hidden;
  }
}


/* Status icons in CUE filters and vertically centered record header. */
.training-cue-library__filters button{--cue-filter-color:var(--odin-accent-1,var(--odin-info));display:inline-flex;align-items:center;justify-content:center;gap:.38rem}
.training-cue-library__filters button>i{color:var(--cue-filter-color);font-size:.82rem}
.training-cue-library__filters button.is-all{--cue-filter-color:var(--odin-accent-1,var(--odin-info))}
.training-cue-library__filters button.is-graded{--cue-filter-color:var(--odin-success,#35bd83)}
.training-cue-library__filters button.is-ungraded{--cue-filter-color:var(--odin-info,#4bc4e8)}
.training-cue-library__filters button.is-pending{--cue-filter-color:var(--sd-muted)}
.training-cue-library__filters button:hover,.training-cue-library__filters button.is-active{border-color:color-mix(in srgb,var(--cue-filter-color) 62%,var(--odin-line));background:color-mix(in srgb,var(--cue-filter-color) 11%,transparent);color:var(--cue-filter-color)}
.training-cue-session-block .training-session-exercise{align-items:center}
.training-cue-session-block .training-session-exercise>i:first-child{align-self:center}
.training-cue-session-block .training-session-exercise__content{align-self:center}
.training-cue-session-block .training-session-exercise__evaluation{align-self:center;align-content:center}
.training-cue-session-block .training-session-exercise__open{align-self:center}
.training-cue-session-block .training-session-exercise>.training-session-exercise__note{align-self:start}
@media(max-width:767.98px){.training-cue-session-block .training-session-exercise__evaluation{align-self:start}}


/* Distinct exercise lifecycle states: graded, performed without grade, and pending. */
.training-cue-session-block .training-session-exercise.is-cue-graded>i:first-child{color:var(--odin-success,#35bd83)}
.training-cue-session-block .training-session-exercise.is-cue-ungraded>i:first-child{color:var(--odin-info,#4bc4e8)}
.training-cue-session-block .training-session-exercise.is-cue-pending>i:first-child{color:var(--sd-muted)}
.training-session-exercise__grade.is-ungraded{color:var(--odin-info,#4bc4e8)}
.training-session-exercise__grade.is-pending{color:var(--sd-muted)}


/* Session-type icons in CUE accordion headings match the Skills groups. */
.training-cue-session-block>header>button{
  grid-template-columns:30px minmax(0,1fr) auto 18px;
}
.training-cue-session-block__type-icon{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:.42rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.72rem;
}
.training-cue-session-block>header>button[aria-expanded="true"]>.training-cue-session-block__type-icon{
  transform:none;
}
.training-cue-session-block__chevron{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.62rem;
  transition:transform .18s ease;
}
.training-cue-session-block>header>button[aria-expanded="true"]>.training-cue-session-block__chevron{
  transform:rotate(180deg);
}
@media(max-width:767.98px){
  .training-cue-session-block>header>button{
    grid-template-columns:30px minmax(0,1fr) 18px;
  }
  .training-cue-session-block__type-icon{
    grid-column:1;
    grid-row:1 / span 2;
  }
  .training-cue-session-block>header>button>span{
    grid-column:2;
  }
  .training-cue-session-block>header em{
    grid-column:2;
  }
  .training-cue-session-block>header>button>.training-cue-session-block__chevron{
    grid-column:3;
    grid-row:1 / span 2;
  }
}


/* CUE session count follows the two-line Skills group heading pattern. */
.training-cue-session-block>header>button{
  grid-template-columns:30px minmax(0,1fr) 18px;
}
.training-cue-session-block>header>button>.training-cue-session-block__heading-copy{
  display:grid;
  gap:.1rem;
  min-width:0;
  align-content:center;
}
.training-cue-session-block__title-line{
  display:flex;
  align-items:center;
  gap:.5rem;
  min-width:0;
}
.training-cue-session-block__heading-copy>small{
  display:block;
  color:var(--sd-muted);
  font-size:.62rem;
  font-weight:600;
  line-height:1.25;
}
.training-cue-session-block>header>button>.training-cue-session-block__chevron{
  grid-column:3;
}
@media(max-width:767.98px){
  .training-cue-session-block>header>button{
    grid-template-columns:30px minmax(0,1fr) 18px;
  }
  .training-cue-session-block__type-icon{
    grid-column:1;
    grid-row:1;
  }
  .training-cue-session-block>header>button>.training-cue-session-block__heading-copy{
    grid-column:2;
    grid-row:1;
  }
  .training-cue-session-block>header>button>.training-cue-session-block__chevron{
    grid-column:3;
    grid-row:1;
  }
}


/* Keep the dynamic exercise count inline, directly beside the session code. */
.training-cue-session-block__title-line>[data-cue-session-count]{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  margin-left:-.18rem;
  color:var(--sd-muted);
  font-size:.6rem;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
}


/* Extended CUE drawer: English name, assessment history and role-aware notes. */
.training-cue-drawer__name-en{
  margin:.2rem 0 0;
  color:var(--sd-muted);
  font-size:.76rem;
  font-weight:500;
  line-height:1.3;
}
.training-cue-drawer__history{
  display:grid;
  gap:.65rem;
  margin-top:.55rem;
}
.training-cue-drawer__history-item{
  display:grid;
  gap:.48rem;
  padding:.72rem;
  border:1px solid color-mix(in srgb,var(--sd-border) 78%,transparent);
  border-radius:.72rem;
  background:color-mix(in srgb,var(--sd-panel) 94%,var(--odin-accent-1,var(--odin-info)) 6%);
}
.training-cue-drawer__history-top,
.training-cue-drawer__history-session,
.training-cue-drawer__history-meta,
.training-cue-drawer__history-note{
  display:flex;
  align-items:center;
}
.training-cue-drawer__history-top{
  justify-content:space-between;
  gap:.65rem;
}
.training-cue-drawer__history-session{
  gap:.55rem;
  min-width:0;
}
.training-cue-drawer__history-session>i{
  display:grid;
  width:30px;
  height:30px;
  flex:0 0 30px;
  place-items:center;
  border-radius:.42rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.72rem;
}
.training-cue-drawer__history-session>span{
  display:grid;
  min-width:0;
}
.training-cue-drawer__history-session strong{
  font-size:.76rem;
  line-height:1.25;
}
.training-cue-drawer__history-session small,
.training-cue-drawer__history-meta{
  color:var(--sd-muted);
  font-size:.62rem;
}
.training-cue-drawer__history-grade{
  flex:0 0 auto;
  padding:.3rem .48rem;
  border-radius:999px;
  font-size:.64rem;
  line-height:1;
}
.training-cue-drawer__history-grade.is-graded{
  background:color-mix(in srgb,var(--odin-success,#35c98b) 14%,transparent);
  color:var(--odin-success,#35c98b);
}
.training-cue-drawer__history-grade.is-ungraded{
  background:color-mix(in srgb,var(--odin-warning,#f4a340) 14%,transparent);
  color:var(--odin-warning,#f4a340);
}
.training-cue-drawer__history-meta{
  gap:.8rem;
  padding-left:2.65rem;
}
.training-cue-drawer__history-meta span{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
}
.training-cue-drawer__history-note{
  align-items:flex-start;
  gap:.48rem;
  padding-top:.48rem;
  border-top:1px solid color-mix(in srgb,var(--sd-border) 70%,transparent);
}
.training-cue-drawer__history-note>i{
  margin-top:.12rem;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.7rem;
}
.training-cue-drawer__history-note>span{
  display:grid;
  gap:.12rem;
}
.training-cue-drawer__history-note strong{
  font-size:.64rem;
}
.training-cue-drawer__history-note small{
  color:var(--sd-muted);
  font-size:.68rem;
  line-height:1.45;
}
.training-cue-drawer__history-note.is-internal>i,
.training-cue-drawer__history-note.is-internal strong{
  color:var(--odin-warning,#f4a340);
}
.training-cue-drawer__history-empty{
  display:flex;
  align-items:center;
  gap:.6rem;
  padding:.75rem 0;
  color:var(--sd-muted);
}
.training-cue-drawer__history-empty>i{
  font-size:1rem;
}
.training-cue-drawer__history-empty>span{
  display:grid;
}
.training-cue-drawer__history-empty strong{
  color:var(--sd-text);
  font-size:.72rem;
}
.training-cue-drawer__history-empty small{
  font-size:.65rem;
}
@media(max-width:575.98px){
  .training-cue-drawer__history-top{
    align-items:flex-start;
  }
  .training-cue-drawer__history-meta{
    padding-left:0;
    flex-wrap:wrap;
  }
}


.training-cue-drawer__history-details{
  display:flex;
  align-items:center;
  gap:.22rem;
  flex-wrap:wrap;
}
.training-cue-drawer__history-details>i{
  margin-left:.05rem;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.58rem;
}


/* Skills filters and collapsible groups follow the CUE library interaction pattern. */
.training-skills-library__filters button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.36rem;
}
.training-skills-library__filters button>i{
  font-size:.62rem;
}
.training-skills-library__filters button.is-all>i{
  color:var(--odin-accent-1,var(--odin-info));
}
.training-skills-library__filters button.is-acquired>i{
  color:var(--odin-success,#35bd83);
}
.training-skills-library__filters button.is-progress>i{
  color:var(--odin-info);
}
.training-skills-library__filters button.is-pending>i{
  color:var(--sd-muted);
}
.training-skills-library__filters button.is-acquired:hover,
.training-skills-library__filters button.is-acquired.is-active{
  border-color:var(--odin-success,#35bd83);
  background:color-mix(in srgb,var(--odin-success,#35bd83) 11%,transparent);
  color:var(--odin-success,#35bd83);
}
.training-skills-library__filters button.is-progress:hover,
.training-skills-library__filters button.is-progress.is-active{
  border-color:var(--odin-info);
  background:color-mix(in srgb,var(--odin-info) 11%,transparent);
  color:var(--odin-info);
}
.training-skills-library__filters button.is-pending:hover,
.training-skills-library__filters button.is-pending.is-active{
  border-color:var(--sd-muted);
  background:color-mix(in srgb,var(--sd-muted) 10%,transparent);
  color:var(--sd-text);
}
.training-skills-group{
  gap:.45rem;
}
.training-skills-group>header{
  display:block;
  padding-bottom:0;
  border-bottom:0;
}
.training-skills-group>header>button{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 18px;
  align-items:center;
  gap:.55rem;
  width:100%;
  padding:.55rem .65rem;
  border:1px solid var(--odin-line);
  border-radius:.55rem;
  background:var(--sd-surface-2);
  color:inherit;
  text-align:left;
}
.training-skills-group>header>button:hover,
.training-skills-group>header>button:focus-visible{
  border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 55%,var(--odin-line));
  outline:0;
}
.training-skills-group__type-icon{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:.42rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.72rem;
}
.training-skills-group>header>button>span{
  display:grid;
  min-width:0;
  align-content:center;
}
.training-skills-group>header h3{
  margin:0;
  font-size:.78rem;
}
.training-skills-group>header small{
  display:block;
  margin-top:.06rem;
  color:var(--sd-muted);
  font-size:.58rem;
}
.training-skills-group__chevron{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.62rem;
  transition:transform .18s ease;
}
.training-skills-group>header>button[aria-expanded="true"]>.training-skills-group__chevron{
  transform:rotate(180deg);
}


/* Compact, reusable WhatsApp group action inside the card button group. */
.student-card-actionbar__whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.42rem;
  padding:.38rem .72rem;
  white-space:nowrap;
}
.student-card-actionbar__whatsapp>i{
  flex:0 0 auto;
  margin:0;
  font-size:.82rem;
  line-height:1;
}
.student-card-actionbar__whatsapp>span{
  line-height:1.2;
}


/* Mobile action bar: status on the first row, centered actions on the second. */
@media(max-width:767.98px){
  .student-dashboard-card--standard .student-card-actionbar{
    display:flex;
    min-height:0;
    height:auto;
    align-items:stretch;
    flex-direction:column;
    gap:.62rem;
  }
  .student-dashboard-card--standard .student-card-actionbar__status{
    width:100%;
    min-width:0;
    flex:0 0 auto;
  }
  .student-dashboard-card--standard .student-card-actionbar .btn-group{
    width:max-content;
    max-width:100%;
    margin:0 auto;
    align-self:center;
    justify-content:center;
    flex:0 1 auto;
  }
  .student-dashboard-card--standard .student-card-actionbar .btn{
    min-width:0;
    flex:0 0 auto;
    padding-right:.68rem;
    padding-left:.68rem;
    white-space:nowrap;
  }
}


/* Mobile grouped actions fill the complete footer width. */
@media(max-width:767.98px){
  .student-dashboard-card--standard .student-card-actionbar .btn-group{
    width:100%;
    max-width:none;
    margin:0;
    align-self:stretch;
  }
  .student-dashboard-card--standard .student-card-actionbar .btn-group>.btn{
    min-width:0;
    flex:1 1 0;
  }
}


/* Stable CUE session heading columns and complete panel bottom spacing. */
.training-cue-library{
  box-sizing:border-box;
  padding-bottom:.85rem;
}
.training-cue-session-block>header>button{
  grid-template-columns:30px minmax(0,1fr) 18px;
}
.training-cue-session-block>header>button>.training-cue-session-block__type-icon{
  position:relative;
  z-index:1;
  grid-column:1;
  grid-row:1;
  align-self:center;
}
.training-cue-session-block>header>button>.training-cue-session-block__heading-copy{
  grid-column:2;
  grid-row:1;
  width:100%;
  min-width:0;
  overflow:hidden;
}
.training-cue-session-block__title-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:.5rem;
  width:100%;
  min-width:0;
}
.training-cue-session-block__title-line>h3{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.training-cue-session-block>header>button>.training-cue-session-block__chevron{
  grid-column:3;
  grid-row:1;
  align-self:center;
}
@media(max-width:767.98px){
  .training-cue-library{
    padding-bottom:.75rem;
  }
  .training-cue-session-block>header>button{
    grid-template-columns:30px minmax(0,1fr) 18px;
  }
}


/* Materials records follow the same inner module spacing as CUE and Skills. */
.training-materials-module .training-material-list{
  margin-right:.85rem;
  margin-bottom:.85rem;
  margin-left:.85rem;
}
@media(max-width:767.98px){
  .training-materials-module .training-material-list{
    margin-right:.75rem;
    margin-bottom:.75rem;
    margin-left:.75rem;
  }
}


/* Standard section headings follow the Plan szkolenia toolbar rhythm. */
.training-cue-library .training-cue-library__toolbar,
.training-skills-library .training-skills-library__toolbar{
  margin-inline:0;
}
.training-materials-module__header{
  align-items:center;
}
#occurrence-content-documents>.odin-v2-documents>.odin-v2-documents-toolbar{
  margin-inline:0;
}
@media(max-width:767.98px){
  .training-cue-library .training-cue-library__toolbar,
  .training-skills-library .training-skills-library__toolbar{
    margin-inline:0;
    align-items:stretch;
  }
  .training-materials-module__header{
    align-items:stretch;
  }
}

/* Categorized training material catalog. */
.training-material-filters,
.training-material-catalog,
.training-material-empty{
  margin-inline:.85rem;
}
.training-material-filters{
  display:flex;
  flex-wrap:wrap;
  gap:.4rem;
}
.training-material-filters button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.36rem;
  padding:.38rem .62rem;
  border:1px solid var(--odin-line);
  border-radius:.45rem;
  background:transparent;
  color:var(--sd-muted);
  font-size:.66rem;
  font-weight:700;
}
.training-material-filters button:hover,
.training-material-filters button.is-active{
  border-color:var(--odin-accent-1,var(--odin-info));
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 11%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
}
.training-material-catalog{
  display:grid;
  gap:1rem;
  padding-bottom:.85rem;
}
.training-material-group{
  display:grid;
  gap:.45rem;
}
.training-material-group>header>button{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 18px;
  align-items:center;
  gap:.55rem;
  width:100%;
  padding:0 0 .38rem;
  border:0;
  border-bottom:1px solid var(--odin-line);
  background:transparent;
  color:inherit;
  text-align:left;
}
.training-material-group>header>button>i:first-child{
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:.42rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.72rem;
}
.training-material-group>header>button>span{
  display:grid;
  min-width:0;
}
.training-material-group>header strong{
  font-size:.78rem;
}
.training-material-group>header small{
  color:var(--sd-muted);
  font-size:.58rem;
}
.training-material-group>header>button>i:last-child{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.62rem;
  transition:transform .18s ease;
}
.training-material-group>header>button[aria-expanded="true"]>i:last-child{
  transform:rotate(180deg);
}
.training-material-group .training-material-list{
  margin:0;
}
.training-material-item.is-unavailable{
  box-shadow:none;
  opacity:.82;
}
.training-material-item.is-unavailable .training-material-item__button{
  cursor:default;
}
.training-material-empty{
  align-items:center;
  justify-content:center;
  gap:.5rem;
  padding:1.2rem;
  color:var(--sd-muted);
  font-size:.72rem;
  text-align:center;
}
.training-material-empty:not([hidden]){
  display:flex;
}
@media(max-width:767.98px){
  .training-material-filters,
  .training-material-catalog,
  .training-material-empty{
    margin-inline:.75rem;
  }
  .training-material-filters{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .training-material-filters button{
    width:100%;
  }
}


/* The material catalog starts directly below the standard header, with its own top inset. */
.training-material-catalog{
  padding-top:.85rem;
}
@media(max-width:767.98px){
  .training-material-catalog{
    padding-top:.75rem;
  }
}


/* Simple, actionable course overview. */
.training-overview-summary{
  display:grid;
  gap:.85rem;
}
.training-overview-next-step{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:.8rem;
  padding:.85rem;
  border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 38%,var(--odin-line));
  border-radius:.65rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 7%,var(--sd-surface-2));
}
.training-overview-next-step>i,
.training-overview-summary-grid>article>i{
  display:grid;
  place-items:center;
  border-radius:.52rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
  color:var(--odin-accent-1,var(--odin-info));
}
.training-overview-next-step>i{
  width:42px;
  height:42px;
}
.training-overview-next-step>div{
  min-width:0;
}
.training-overview-next-step span,
.training-overview-summary-grid article>div>span{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.56rem;
  font-weight:850;
  letter-spacing:.075em;
}
.training-overview-next-step h3{
  margin:.12rem 0 .16rem;
  font-size:.84rem;
}
.training-overview-next-step p,
.training-overview-next-step small{
  margin:0;
  color:var(--sd-muted);
  font-size:.66rem;
  line-height:1.4;
}
.training-overview-next-step small{
  display:block;
  margin-top:.22rem;
}
.training-overview-next-step button,
.training-overview-summary-grid button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.38rem;
  padding:.4rem .62rem;
  border:1px solid var(--odin-accent-1,var(--odin-info));
  border-radius:.45rem;
  background:transparent;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.62rem;
  font-weight:800;
  white-space:nowrap;
}
.training-overview-next-step button:hover,
.training-overview-summary-grid button:hover{
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 12%,transparent);
}
.training-overview-summary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.65rem;
}
.training-overview-summary-grid>article{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:start;
  gap:.65rem;
  padding:.75rem;
  border:1px solid var(--odin-line);
  border-radius:.6rem;
  background:var(--sd-surface-2);
}
.training-overview-summary-grid>article>i{
  width:34px;
  height:34px;
  font-size:.72rem;
}
.training-overview-summary-grid article>div{
  min-width:0;
}
.training-overview-summary-grid h3{
  margin:.12rem 0 .18rem;
  font-size:.78rem;
}
.training-overview-summary-grid p{
  margin:0;
  color:var(--sd-muted);
  font-size:.64rem;
  line-height:1.42;
}
.training-overview-summary-grid button{
  grid-column:2;
  justify-self:start;
  margin-top:.08rem;
}
@media(max-width:767.98px){
  .training-overview-next-step{
    grid-template-columns:38px minmax(0,1fr);
  }
  .training-overview-next-step>i{
    width:38px;
    height:38px;
  }
  .training-overview-next-step>button{
    grid-column:1/-1;
    width:100%;
  }
  .training-overview-summary-grid{
    grid-template-columns:1fr;
  }
}


/* Desktop overview cards: icon, copy and action share one centered horizontal axis. */
@media(min-width:768px){
  .training-overview-summary-grid>article{
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
  }
  .training-overview-summary-grid>article>i,
  .training-overview-summary-grid>article>div,
  .training-overview-summary-grid>article>button{
    align-self:center;
  }
  .training-overview-summary-grid>article>button{
    grid-column:3;
    grid-row:1;
    justify-self:end;
    margin-top:0;
  }
}


/* Material records inherit the active ODIN light/dark surface palette. */
.training-material-item{
  border-color:var(--odin-line);
  background:var(--sd-surface-2);
  color:var(--odin-text,var(--sd-text));
}
.training-material-item:hover,
.training-material-item.is-open{
  border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 48%,var(--odin-line));
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 5%,var(--sd-surface-2));
  box-shadow:0 10px 28px color-mix(in srgb,var(--sd-text) 9%,transparent);
}
.training-material-item__button,
.training-material-item__content strong{
  color:inherit;
}
.training-material-item__meta,
.training-material-item__player footer{
  color:var(--sd-muted);
}


.student-settlement-detailed__currencies{display:block!important}
.student-settlement-detailed__currency--combined{width:100%}
.student-settlement-detailed__currency--combined>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}
.student-settlement-detailed__currency--combined>header span{font-weight:800}.student-settlement-detailed__currency--combined>header small{color:var(--bs-secondary-color);font-weight:400;text-align:right}
.student-settlement-detailed__combined-head,.student-settlement-detailed__combined-rows article{display:grid;grid-template-columns:.55fr repeat(3,1fr);gap:1rem;align-items:center}
.student-settlement-detailed__combined-head{padding:.65rem 1rem;color:var(--bs-secondary-color);font-size:.68rem;font-weight:750;text-transform:uppercase}
.student-settlement-detailed__combined-rows article{padding:.9rem 1rem;border-top:1px solid var(--bs-border-color)}
.student-settlement-detailed__combined-rows article>span{text-align:right}.student-settlement-detailed__combined-rows .is-paid{color:var(--bs-success)}.student-settlement-detailed__combined-rows .is-remaining{font-weight:750}
.student-settlement-detailed__progress--combined{margin-top:.35rem}.student-settlement-detailed__progress--combined>small{display:block;margin-top:.45rem;color:var(--bs-secondary-color)}
@media(max-width:575.98px){.student-settlement-detailed__currency--combined>header{display:grid;align-items:start}.student-settlement-detailed__currency--combined>header small{text-align:left}.student-settlement-detailed__combined-head{display:none}.student-settlement-detailed__combined-rows article{grid-template-columns:1fr 1fr;gap:.55rem}.student-settlement-detailed__combined-rows article>b{grid-column:1/-1}.student-settlement-detailed__combined-rows article>span{text-align:left}.student-settlement-detailed__combined-rows article>span:before{content:attr(data-label);display:block;color:var(--bs-secondary-color);font-size:.64rem;font-weight:600;text-transform:uppercase}}
