.odin-v2-content:has(.odin-student-dashboard){padding:0}.odin-v2-content:has(.odin-student-dashboard)>.odin-v2-page-head{display:none}.odin-student-dashboard{--sd-surface:#0a1826;--sd-surface-2:#102233;--sd-muted:#8ea2b4}.student-carousel{position:relative;width:100%;height:clamp(320px,38vw,500px);overflow:hidden;background:#06111c;cursor:grab;touch-action:pan-y;user-select:none}.student-carousel.is-dragging{cursor:grabbing}.student-carousel__slide{position:absolute;inset:0;width:100%;height:100%;will-change:transform}.student-carousel__slide[hidden]{display:none}.student-carousel__slide>img{width:100%;height:100%;object-fit:cover;object-position:center 40%;pointer-events:none}.student-carousel__slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,8,14,.92),rgba(2,8,14,.25) 65%),linear-gradient(0deg,rgba(2,8,14,.68),transparent 58%)}.student-carousel__content{position:absolute;z-index:2;left:clamp(1.25rem,4vw,4rem);right:clamp(1.25rem,4vw,4rem);bottom:clamp(2rem,5vw,4rem);color:#fff}.student-carousel__content h2{display:flex;align-items:center;gap:.55rem;margin:0;font-size:clamp(2rem,4vw,3.8rem);font-weight:950;line-height:1.05}.student-carousel__mobile-flag{display:none}.student-carousel__messages{display:flex;flex-wrap:wrap;gap:.45rem;margin:.75rem 0}.student-carousel__messages>span{display:inline-flex;align-items:center;gap:.45rem;padding:.38rem .58rem;border:1px solid rgba(255,255,255,.19);border-radius:.45rem;background:rgba(4,16,25,.55);color:rgba(255,255,255,.9);font-size:.83rem;font-weight:750;backdrop-filter:blur(7px)}.student-carousel__messages>span i{color:var(--odin-accent-1,var(--odin-info))}.student-carousel__messages>span.is-action{border-color:rgba(255,193,7,.42)}.student-carousel__messages>span.is-action i{color:#ffc107}.student-carousel__messages>span.is-availability i{color:#65d6a6}.student-carousel__content a{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .58rem;border:1px solid rgba(255,255,255,.25);border-radius:.45rem;background:rgba(3,12,20,.22);color:rgba(255,255,255,.82);font-size:.78rem;font-weight:750;text-decoration:none;backdrop-filter:blur(5px);transition:border-color .18s ease,color .18s ease,background .18s ease}.student-carousel__content a:hover,.student-carousel__content a:focus-visible{border-color:rgba(255,255,255,.55);background:rgba(3,12,20,.48);color:#fff}.student-carousel__date-box{position:absolute;z-index:3;top:clamp(1rem,2.4vw,2rem);left:clamp(1.25rem,4vw,4rem);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.34);border-radius:.7rem;background:rgba(4,16,25,.82);color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.24);backdrop-filter:blur(9px);pointer-events:none}.student-carousel__date-label{padding:.34rem .65rem;border-bottom:1px solid rgba(255,255,255,.18);color:var(--odin-accent-1,var(--odin-info));font-size:.62rem;font-weight:900;letter-spacing:.09em;text-align:center}.student-carousel__date-body{display:flex;align-items:stretch}.student-carousel__date-part{display:grid;grid-template-columns:minmax(44px,auto) minmax(34px,auto);grid-template-rows:1fr 1fr;min-width:82px}.student-carousel__date-part strong{grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;padding:.48rem .58rem;font-size:1.48rem;line-height:1}.student-carousel__date-part em,.student-carousel__date-part b{grid-column:2;display:flex;align-items:center;justify-content:center;min-width:34px;padding:.2rem .42rem;border-left:1px solid rgba(255,255,255,.2);font-size:.64rem;font-style:normal;font-weight:850;letter-spacing:.08em;line-height:1}.student-carousel__date-part em{grid-row:1}.student-carousel__date-part b{grid-row:2;border-top:1px solid rgba(255,255,255,.2)}.student-carousel__date-box.is-range .student-carousel__date-part{grid-template-rows:auto 1fr 1fr;min-width:88px}.student-carousel__date-box.is-range .student-carousel__date-part small{grid-column:1/3;grid-row:1;padding:.22rem .42rem;border-bottom:1px solid rgba(255,255,255,.18);color:var(--odin-accent-1,var(--odin-info));font-size:.58rem;font-style:normal;font-weight:900;letter-spacing:.08em;text-align:center}.student-carousel__date-box.is-range .student-carousel__date-part strong{grid-row:2/4}.student-carousel__date-box.is-range .student-carousel__date-part em{grid-row:2}.student-carousel__date-box.is-range .student-carousel__date-part b{grid-row:3}.student-carousel__date-body>i{align-self:center;padding:0 .38rem;color:var(--odin-accent-1,var(--odin-info));font-size:.68rem}.student-carousel__time{display:flex;align-self:stretch;align-items:center;justify-content:center;gap:.42rem;min-width:76px;padding:.48rem .72rem;border-left:1px solid rgba(255,255,255,.2);font-size:1rem;font-weight:900}.student-carousel__date-box.is-time .student-carousel__time{border-left:0}.student-carousel__dots{position:absolute;z-index:3;left:50%;bottom:1.2rem;display:flex;gap:.35rem;transform:translateX(-50%)}.student-carousel__dots button{width:24px;height:4px;padding:0;border:0;border-radius:9px;background:#ffffff55}.student-carousel__dots button.is-active{background:var(--odin-accent-1,var(--odin-info))}
.student-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:1rem;padding:1rem}.student-dashboard-main,.student-dashboard-side{display:flex;min-width:0;flex-direction:column;gap:1rem}.student-content-module,.student-side-box{padding:1rem;border:1px solid var(--odin-line);border-radius:var(--odin-v2-radius);background:var(--sd-surface)}.student-content-module>header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.student-content-module h2{margin:.15rem 0 0;font-size:1.3rem}.student-module-tools{display:flex;min-width:0;max-width:100%;align-items:stretch;flex-wrap:nowrap;gap:.4rem}.student-module-tools select{min-width:145px;margin-right:.45rem;padding:.48rem 2.25rem .48rem .65rem;border:1px solid var(--odin-line);border-radius:.5rem;background-color:var(--sd-surface-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238ea2b4' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;background-size:.7rem auto;color:inherit;appearance:none}.student-view-toggle{display:inline-flex;flex:0 0 auto}.student-view-toggle button{display:grid;width:36px;place-items:center;border:1px solid var(--odin-line);border-radius:0;background:var(--sd-surface-2,#f2f7fa);color:var(--sd-muted)}.student-view-toggle button:first-child{border-radius:.5rem 0 0 .5rem}.student-view-toggle button:last-child{margin-left:-1px;border-radius:0 .5rem .5rem 0}.student-view-toggle button.is-active{position:relative;z-index:1;color:var(--odin-accent-1,var(--odin-info));border-color:var(--odin-accent-1,var(--odin-info));background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,var(--sd-surface-2))}.student-card-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.student-card-collection.is-list{grid-template-columns:1fr}.student-card-collection.is-list .student-dashboard-card{display:grid;grid-template-columns:220px 1fr}.student-dashboard-card{min-width:0;overflow:hidden;border:1px solid var(--odin-line);border-radius:.65rem;background:var(--sd-surface-2)}.student-dashboard-card[hidden]{display:none}.student-dashboard-card__visual{position:relative;aspect-ratio:16/9;overflow:hidden}.student-dashboard-card__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#02080edd,transparent 65%)}.student-dashboard-card__visual img{width:100%;height:100%;object-fit:cover}.student-dashboard-card__visual>strong{position:absolute;z-index:2;left:.7rem;right:.7rem;bottom:.65rem;color:#fff;font-size:1rem}.student-dashboard-card__body{padding:.7rem}.student-dashboard-card__body>span{color:var(--sd-muted);font-size:.78rem}.student-dashboard-card__body>b{float:right;font-size:.78rem}.student-dashboard-card__body .progress{height:4px;margin-top:.55rem}.student-dashboard-card__body a,.student-side-link{display:flex;justify-content:space-between;margin-top:.65rem;color:var(--odin-accent-1,var(--odin-info));font-size:.8rem;font-weight:800;text-decoration:none}.student-side-box header{display:flex;justify-content:space-between;margin-bottom:.55rem}.student-side-box.is-priority{border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 50%,var(--odin-line))}.student-side-box>a:not(.student-side-link),.student-side-row{display:flex;gap:.65rem;padding:.65rem 0;border-top:1px solid var(--odin-line);color:inherit;text-decoration:none}.student-side-box i,.student-side-row>i{color:var(--odin-accent-1,var(--odin-info))}.student-side-box a span,.student-side-row span{display:flex;flex-direction:column}.student-side-box strong{font-size:.82rem}.student-side-box small{color:var(--sd-muted);font-size:.72rem}.student-side-box>button{width:100%;margin-top:.6rem;padding:.55rem;border:0;border-radius:.5rem;background:var(--odin-accent-1,var(--odin-info));font-weight:850}.student-side-box>.progress{height:6px;margin:.65rem 0}
.student-content-module.student-training-module{padding:0;border:0;border-radius:0;background:transparent}.student-training-module>.student-training-header{align-items:center;margin-bottom:1rem}.student-training-heading{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;text-align:left}.student-training-heading>i{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 45%,var(--odin-line));border-radius:.65rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:1.05rem}.student-training-module .student-training-heading h2{margin:0;font-size:1.05rem;line-height:1.15}.student-training-heading p{margin:.12rem 0 0;color:var(--sd-muted);font-size:.76rem;line-height:1.2}.student-training-module .student-module-tools{justify-content:flex-end}.student-training-module .student-module-tools select{min-width:150px;margin:0}.student-training-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.student-training-collection .student-dashboard-card{--training-accent:var(--odin-accent-1,var(--odin-info));border-color:color-mix(in srgb,var(--training-accent) 42%,var(--odin-line))}.student-training-collection:not(.is-list) .student-dashboard-card{border-left:4px solid var(--training-accent)}.student-training-collection.is-list .student-dashboard-card{border-left:4px solid var(--training-accent)}.student-training-collection.is-list .student-dashboard-card__visual,.student-training-collection.is-list .student-dashboard-card__body{border-left:0}.student-training-collection .student-dashboard-card__body{position:relative}.student-training-collection .progress-bar{background:var(--training-accent)!important}.student-training-completed{display:inline-flex!important;float:right;align-items:center;gap:.35rem;color:#42c98b!important;font-size:.76rem!important;font-weight:850}.student-training-completed i{font-size:.72rem}.student-training-collection .student-dashboard-card.is-active{--training-accent:#28c7d8}.student-training-collection .student-dashboard-card.is-completed{--training-accent:#42c98b}.student-training-collection .student-dashboard-card.is-available{--training-accent:#6d91ff}.student-training-collection .student-dashboard-card.is-proposed{--training-accent:#c67cff}.student-training-collection.is-list{grid-template-columns:1fr}.student-training-load-more{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:.9rem;padding:.65rem;border:1px solid var(--odin-line);border-radius:.6rem;background:var(--sd-surface-2,#f2f7fa);color:var(--odin-accent-1,var(--odin-info));font-size:.82rem;font-weight:850}.student-training-load-more:hover,.student-training-load-more:focus-visible{border-color:var(--odin-accent-1,var(--odin-info))}.student-training-load-more[hidden]{display:none}.student-dashboard-module-divider{width:100%;height:1px;margin:.35rem 0;border:0;background:linear-gradient(90deg,transparent,var(--odin-line) 12%,color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 34%,var(--odin-line)) 50%,var(--odin-line) 88%,transparent);opacity:.8}.student-content-module.student-trip-module{padding:0;border:0;border-radius:0;background:transparent}.student-trip-module>.student-trip-header{align-items:center;margin-bottom:1rem}.student-trip-heading{display:flex;align-items:flex-start;gap:.75rem}.student-trip-heading>i{display:grid;width:42px;height:42px;flex:0 0 42px;place-items:center;border:1px solid color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 45%,var(--odin-line));border-radius:.65rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:1.05rem}.student-trip-module .student-trip-heading h2{margin:0;font-size:1.35rem}.student-trip-heading p{margin:.22rem 0 0;color:var(--sd-muted);font-size:.82rem}.student-trip-module .student-module-tools{justify-content:flex-end}.student-trip-module .student-module-tools select{min-width:150px;margin:0}.student-trip-collection{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.student-trip-collection .student-dashboard-card{--trip-accent:var(--odin-accent-1,var(--odin-info));border-color:color-mix(in srgb,var(--trip-accent) 42%,var(--odin-line))}.student-trip-collection:not(.is-list) .student-dashboard-card__visual,.student-trip-collection:not(.is-list) .student-dashboard-card__body{border-left:4px solid var(--trip-accent)}.student-trip-collection.is-list .student-dashboard-card{border-left:4px solid var(--trip-accent)}.student-trip-collection.is-list .student-dashboard-card__visual,.student-trip-collection.is-list .student-dashboard-card__body{border-left:0}.student-trip-collection .student-dashboard-card.is-domestic{--trip-accent:#28c7d8}.student-trip-collection .student-dashboard-card.is-foreign{--trip-accent:#6d91ff}.student-trip-collection .student-dashboard-card.is-other{--trip-accent:#c67cff}.student-trip-collection.is-list{grid-template-columns:1fr}.student-trip-load-more{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;margin-top:.9rem;padding:.65rem;border:1px solid var(--odin-line);border-radius:.6rem;background:var(--sd-surface-2,#f2f7fa);color:var(--odin-accent-1,var(--odin-info));font-size:.82rem;font-weight:850}.student-trip-load-more:hover,.student-trip-load-more:focus-visible{border-color:var(--odin-accent-1,var(--odin-info))}.student-trip-load-more[hidden]{display:none}[data-bs-theme="light"] .odin-student-dashboard{--sd-surface:#fff;--sd-surface-2:#f2f7fa;--sd-muted:#607587}@media(max-width:1199.98px){.student-dashboard-grid{grid-template-columns:1fr}.student-dashboard-side{display:grid;grid-template-columns:repeat(3,1fr)}}@media(max-width:767.98px){.student-carousel{height:390px}.student-dashboard-grid{padding:.75rem}.student-content-module{padding:.75rem}.student-content-module>header{align-items:stretch;flex-direction:column}.student-module-tools{width:100%;max-width:none;overflow-x:auto;overflow-y:hidden;justify-content:flex-start!important;padding-bottom:.18rem;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.student-module-tools::-webkit-scrollbar{display:none}.student-module-tools select{flex:0 0 auto!important;width:auto!important;min-width:160px!important;margin:0!important}.student-view-toggle{display:none!important}.student-card-collection,.student-training-module .student-training-collection,.student-trip-module .student-trip-collection{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.student-card-collection.is-list,.student-training-collection.is-list,.student-trip-collection.is-list{grid-template-columns:1fr!important}.student-dashboard-card,.student-card-collection.is-list .student-dashboard-card{display:block!important;width:100%;max-width:none;flex:none;scroll-snap-align:none}.student-dashboard-side{display:flex}.student-carousel__content{left:1rem;right:1rem;bottom:2.2rem}.student-carousel__content h2{font-size:clamp(1.65rem,8vw,2.4rem)}.student-carousel__mobile-flag{display:inline;font-size:.72em;line-height:1}.student-carousel__messages{display:grid;gap:.35rem;margin:.55rem 0}.student-carousel__messages>span{width:max-content;max-width:100%;font-size:.76rem}.student-carousel__content a{padding:.38rem .5rem;font-size:.74rem}.student-carousel__date-box{top:1rem;left:1rem}.student-carousel__date-label{padding:.28rem .5rem;font-size:.56rem}.student-carousel__date-part{grid-template-columns:minmax(38px,auto) minmax(30px,auto);min-width:68px}.student-carousel__date-part strong{padding:.38rem .46rem;font-size:1.18rem}.student-carousel__date-part em,.student-carousel__date-part b{min-width:30px;padding:.16rem .3rem;font-size:.56rem}.student-carousel__date-box.is-range .student-carousel__date-part{min-width:74px}.student-carousel__time{min-width:66px;padding:.38rem .52rem;font-size:.82rem}.student-carousel__dots{bottom:.9rem}}

/* Shared empty state for filtered training and trip modules. */
.student-module-empty{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:.85rem;
  margin-top:.85rem;
  padding:1rem 1.05rem;
  border:1px dashed color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 48%,var(--odin-line));
  border-radius:.7rem;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 6%,var(--sd-surface-2));
  color:var(--odin-text,#f4f8fb)
}
.student-module-empty[hidden]{display:none!important}
.student-module-empty>i{
  display:grid;
  place-items:center;
  width:2.15rem;
  height:2.15rem;
  border-radius:50%;
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 15%,transparent);
  color:var(--odin-accent-1,var(--odin-info))
}
.student-module-empty strong,.student-module-empty span{display:block}
.student-module-empty strong{font-size:.84rem}
.student-module-empty span{margin-top:.15rem;color:var(--sd-muted);font-size:.72rem}
.student-module-empty .btn{white-space:nowrap}
@media(max-width:767.98px){
  .student-module-empty{grid-template-columns:auto minmax(0,1fr)}
  .student-module-empty .btn{grid-column:1/-1;width:100%}
}

/* Carousel-style date box on trip card visuals. */
.student-trip-collection .student-dashboard-card__date-box{
  top:.65rem;
  left:.65rem;
  z-index:3
}
.student-trip-collection.is-list .student-dashboard-card__date-box{
  top:15%
}
.student-trip-collection.is-list .student-dashboard-card--standard{
  grid-template-columns:300px minmax(0,1fr)
}
@media(max-width:767.98px){
  .student-trip-collection.is-list .student-dashboard-card--standard{
    display:block;
    grid-template-columns:1fr
  }
}

/* Stable placeholder shown before dashboard cards are enhanced. */
.student-dashboard-card__loading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:8rem;
  padding:1rem;
  color:var(--sd-muted);
  font-size:.76rem;
  text-align:center
}
.student-dashboard-card__loading i{color:var(--odin-accent-1,var(--odin-info))}
.odin-student-dashboard[data-dashboard-state="degraded"] .student-dashboard-card__loading i{animation:none}



/* Occurrence-aware carousel badges based on card short info. */
.student-carousel__status-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.42rem;
  margin-bottom:.58rem
}
.student-carousel__type-badge,
.student-carousel__action-badge{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  min-height:1.72rem;
  padding:.32rem .58rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  background:rgba(4,16,25,.58);
  color:rgba(255,255,255,.9);
  font-size:.68rem;
  font-weight:800;
  backdrop-filter:blur(7px)
}
.student-carousel__type-badge{
  border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 58%,rgba(255,255,255,.2));
  color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 78%,#fff)
}
.student-carousel__action-badge{
  border-color:rgba(255,193,7,.5);
  background:rgba(73,49,3,.58);
  color:#ffe18a
}
.student-carousel__action-badge i{font-size:.64rem}
.student-carousel__short-info{
  display:flex;
  flex-wrap:wrap;
  gap:.45rem;
  margin:.78rem 0
}
.student-carousel__short-info>span{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:.48rem;
  min-width:145px;
  padding:.42rem .58rem;
  border:1px solid rgba(255,255,255,.19);
  border-radius:.45rem;
  background:rgba(4,16,25,.55);
  color:#fff;
  backdrop-filter:blur(7px)
}
.student-carousel__short-info>span>i{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.78rem
}
.student-carousel__short-info small,
.student-carousel__short-info strong{display:block}
.student-carousel__short-info small{
  color:rgba(255,255,255,.62);
  font-size:.56rem;
  font-weight:750;
  letter-spacing:.035em;
  line-height:1.15;
  text-transform:uppercase
}
.student-carousel__short-info strong{
  margin-top:.1rem;
  color:#fff;
  font-size:.7rem;
  font-weight:800;
  line-height:1.2
}
@media(max-width:767.98px){
  .student-carousel__status-row{margin-bottom:.46rem}
  .student-carousel__type-badge,
  .student-carousel__action-badge{
    min-height:1.55rem;
    padding:.26rem .46rem;
    font-size:.6rem
  }
  .student-carousel__short-info{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.32rem;
    margin:.58rem 0
  }
  .student-carousel__short-info>span{
    display:block;
    min-width:0;
    padding:.38rem .42rem
  }
  .student-carousel__short-info>span>i{
    display:block;
    margin-bottom:.28rem;
    font-size:.68rem
  }
  .student-carousel__short-info small{font-size:.5rem}
  .student-carousel__short-info strong{
    overflow:hidden;
    font-size:.62rem;
    text-overflow:ellipsis
  }
}

/* Student dashboard: next steps side module */
.student-next-steps-module{display:flex;min-width:0;flex-direction:column;gap:.75rem;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.student-next-steps-widget__heading{display:flex!important;align-items:center!important;gap:.75rem!important;margin:0 0 .4rem!important}
.student-next-steps-widget__heading>div{min-width:0}
.student-next-steps-widget__heading h2{margin:0!important;color:var(--odin-text);font-size:1.05rem!important;font-weight:850;line-height:1.2}
.student-next-steps-widget__heading p{margin:.14rem 0 0;color:var(--sd-muted);font-size:.74rem;line-height:1.35}
.student-next-steps-widget__count{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:.58rem;background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 14%,transparent);color:var(--odin-accent-1,var(--odin-info));font-size:.95rem;font-weight:900}
.student-next-steps-widget{display:flex;min-width:0;flex-direction:column;gap:.7rem;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.student-next-steps-widget__list{display:flex;min-width:0;flex-direction:column;gap:.5rem}
.student-next-steps-widget__list>a{display:grid;grid-template-columns:1.65rem minmax(0,1fr) auto;align-items:center;gap:.55rem;min-width:0;padding:.65rem .68rem;border:1px solid var(--odin-line);border-radius:.58rem;background:var(--sd-surface-2,#f2f7fa);color:var(--odin-text);text-decoration:none;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}
.student-next-steps-widget__list>a:hover,.student-next-steps-widget__list>a: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:none;transform:translateY(-1px)}
.student-next-steps-widget__list>a>i:first-child{display:grid;width:1.65rem;height:1.65rem;place-items:center;border-radius:50%;background:rgba(244,92,109,.12);color:#ef5b6c;font-size:.72rem}
.student-next-steps-widget__list>a>span{display:flex;min-width:0;flex-direction:column;gap:.12rem}
.student-next-steps-widget__list>a strong{display:block;overflow:hidden;color:var(--odin-text);font-size:.82rem;font-weight:800;line-height:1.35;text-overflow:ellipsis}
.student-next-steps-widget__list>a small{color:var(--sd-muted);font-size:.72rem;line-height:1.35}
.student-next-steps-widget__list>a em{display:inline-flex;align-items:center;gap:.3rem;color:var(--odin-accent-1,var(--odin-info));font-size:.72rem;font-style:normal;font-weight:800;line-height:1.35;white-space:nowrap}
.student-next-steps-widget__list>a em i{font-size:.58rem}
.student-next-steps-widget__footer{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;padding-top:.15rem}
.student-next-steps-widget__footer>a{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.4rem;padding:.55rem .6rem;border:1px solid var(--odin-line);border-radius:.52rem;color:var(--sd-muted);font-size:.68rem;font-weight:750;line-height:1.2;text-decoration:none}
.student-next-steps-widget__footer>a:hover,.student-next-steps-widget__footer>a:focus-visible{border-color:var(--odin-accent-1,var(--odin-info));color:var(--odin-accent-1,var(--odin-info));outline:none}
.student-next-steps-widget__footer>a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.student-next-steps-widget__footer>a i{flex:0 0 auto;font-size:.58rem}
@media(max-width:1199.98px){.student-next-steps-module{height:100%}}
@media(max-width:767.98px){.student-next-steps-module{padding:.8rem}.student-next-steps-widget__list>a{grid-template-columns:1.65rem minmax(0,1fr);padding:.62rem}.student-next-steps-widget__list>a em{grid-column:2}.student-next-steps-widget__footer{grid-template-columns:1fr}}

/* Keep training and trip section headings aligned to the top-left. */
.student-training-module>.student-training-header,
.student-trip-module>.student-trip-header{align-items:center!important}
.student-training-module .student-training-heading,
.student-trip-module .student-trip-heading{align-items:center!important;justify-content:flex-start!important;text-align:left!important}
.student-training-module .student-training-heading>div,
.student-trip-module .student-trip-heading>div{min-width:0;text-align:left!important}

html[data-bs-theme="dark"] .student-next-steps-widget__list>a,
html[data-bs-theme="dark"] .student-next-steps-widget__footer>a,
body[data-theme="dark"] .student-next-steps-widget__list>a,
body[data-theme="dark"] .student-next-steps-widget__footer>a{
  background:#102233;
  border-color:#263b4d;
  color:#e8f0f5;
}
html[data-bs-theme="dark"] .student-next-steps-widget__list>a:hover,
html[data-bs-theme="dark"] .student-next-steps-widget__footer>a:hover,
body[data-theme="dark"] .student-next-steps-widget__list>a:hover,
body[data-theme="dark"] .student-next-steps-widget__footer>a:hover{
  background:#142b40;
  border-color:var(--odin-accent-1,var(--odin-info));
}
html[data-bs-theme="dark"] .student-next-steps-widget__heading h2,
html[data-bs-theme="dark"] .student-next-steps-widget__list>a strong,
body[data-theme="dark"] .student-next-steps-widget__heading h2,
body[data-theme="dark"] .student-next-steps-widget__list>a strong{
  color:#e8f0f5;
}
html[data-bs-theme="dark"] .student-next-steps-widget__heading p,
html[data-bs-theme="dark"] .student-next-steps-widget__list>a small,
body[data-theme="dark"] .student-next-steps-widget__heading p,
body[data-theme="dark"] .student-next-steps-widget__list>a small{
  color:#8ea2b4;
}


/* Dev-parity next steps widget in the student dashboard side column. */
.student-dashboard-side .student-next-steps-widget{
  --next-red:#ff6470;
  --next-blue:#438df8;
  --next-yellow:#f7bd4b;
  --next-session:#39bde2;
  display:block;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.student-dashboard-side .student-next-steps-widget__list{
  display:grid;
  gap:.45rem;
}
.student-dashboard-side .student-next-steps-widget__list>a,
.student-dashboard-side .student-next-step-session>button{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:.6rem;
  width:100%;
  margin:0;
  padding:.62rem;
  border:1px solid var(--odin-line);
  border-radius:.6rem;
  background:color-mix(in srgb,var(--sd-surface-2,#f2f7fa) 92%,transparent);
  color:inherit;
  font:inherit;
  text-align:left;
  text-decoration:none;
  transition:border-color .16s,background .16s;
}
.student-dashboard-side .student-next-step-session>button{cursor:pointer}
.student-dashboard-side .student-next-steps-widget__list>a:hover,
.student-dashboard-side .student-next-steps-widget__list>a:focus-visible,
.student-dashboard-side .student-next-step-session>button:hover,
.student-dashboard-side .student-next-step-session>button:focus-visible{
  border-color:var(--odin-accent-1,var(--odin-info));
  background:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 5%,var(--sd-surface-2,#f2f7fa));
  outline:0;
  transform:none;
}
.student-dashboard-side .student-next-steps-widget__list>a>i:first-child,
.student-dashboard-side .student-next-step-session>button>i{
  display:grid;
  width:32px;
  height:32px;
  place-items:center;
  border-radius:.55rem;
  font-size:.8rem;
}
.student-dashboard-side .student-next-steps-widget__list>a.is-missing>i:first-child{
  color:var(--next-red);
  background:color-mix(in srgb,var(--next-red) 11%,transparent);
}
.student-dashboard-side .student-next-steps-widget__list>a.is-progress>i:first-child{
  color:var(--next-blue);
  background:color-mix(in srgb,var(--next-blue) 11%,transparent);
}
.student-dashboard-side .student-next-steps-widget__list>a.is-expiring>i:first-child{
  color:var(--next-yellow);
  background:color-mix(in srgb,var(--next-yellow) 11%,transparent);
}
.student-dashboard-side .student-next-step-session>button>i{
  color:var(--next-session);
  background:color-mix(in srgb,var(--next-session) 12%,transparent);
}
.student-dashboard-side .student-next-steps-widget__list span,
.student-dashboard-side .student-next-step-session>button span{min-width:0}
.student-dashboard-side .student-next-steps-widget__list strong,
.student-dashboard-side .student-next-steps-widget__list small,
.student-dashboard-side .student-next-step-session>button strong,
.student-dashboard-side .student-next-step-session>button small{display:block}
.student-dashboard-side .student-next-steps-widget__list strong,
.student-dashboard-side .student-next-step-session>button strong{
  overflow:visible;
  color:var(--odin-text);
  font-size:.8rem;
  font-weight:700;
  line-height:1.25;
  text-overflow:clip;
}
.student-dashboard-side .student-next-steps-widget__list small,
.student-dashboard-side .student-next-step-session>button small{
  margin-top:.14rem;
  color:var(--sd-muted);
  font-size:.7rem;
  line-height:1.35;
}
.student-dashboard-side .student-next-steps-widget__list em,
.student-dashboard-side .student-next-step-session>button em{
  display:inline-flex;
  align-items:center;
  gap:.3rem;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.7rem;
  font-style:normal;
  font-weight:700;
  line-height:1.5;
  white-space:nowrap;
}
.student-dashboard-side .student-next-steps-widget__list em i,
.student-dashboard-side .student-next-step-session>button em i{font-size:.58rem}
.student-dashboard-side .student-next-steps-widget__section{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  margin:.85rem 0 .45rem;
  padding-top:.75rem;
  border-top:1px solid var(--odin-line);
}
.student-dashboard-side .student-next-steps-widget__section>span{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.08em;
}
.student-dashboard-side .student-next-steps-widget__section>b{
  color:var(--sd-muted);
  font-size:.66rem;
  font-weight:700;
}
.student-dashboard-side .student-next-steps-widget__footer{
  display:flex;
  grid-template-columns:none;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  margin-top:.7rem;
  padding-top:.65rem;
  border-top:1px solid var(--odin-line);
}
.student-dashboard-side .student-next-steps-widget__footer>a{
  display:inline-flex;
  min-width:0;
  align-items:center;
  justify-content:flex-start;
  gap:.35rem;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.72rem;
  font-weight:750;
  text-decoration:none;
}
.student-dashboard-side .student-next-steps-widget__footer>a:hover,
.student-dashboard-side .student-next-steps-widget__footer>a:focus-visible{
  border:0;
  color:var(--odin-accent-1,var(--odin-info));
  outline:0;
}
@media(max-width:767.98px){
  .student-dashboard-side .student-next-steps-widget__list>a,
  .student-dashboard-side .student-next-step-session>button{
    grid-template-columns:32px minmax(0,1fr);
  }
  .student-dashboard-side .student-next-steps-widget__list em,
  .student-dashboard-side .student-next-step-session>button em{display:none}
  .student-dashboard-side .student-next-steps-widget__footer{
    align-items:flex-start;
    flex-direction:column;
  }
}


html[data-bs-theme="dark"] .student-dashboard-side .student-next-step-session>button,
body[data-theme="dark"] .student-dashboard-side .student-next-step-session>button{
  background:#102233;
  border-color:#263b4d;
  color:#e8f0f5;
}
html[data-bs-theme="dark"] .student-dashboard-side .student-next-step-session>button strong,
body[data-theme="dark"] .student-dashboard-side .student-next-step-session>button strong{
  color:#e8f0f5;
}
html[data-bs-theme="dark"] .student-dashboard-side .student-next-step-session>button small,
body[data-theme="dark"] .student-dashboard-side .student-next-step-session>button small{
  color:#8ea2b4;
}
html[data-bs-theme="dark"] .student-dashboard-side .student-next-step-session>button:hover,
html[data-bs-theme="dark"] .student-dashboard-side .student-next-step-session>button:focus-visible,
body[data-theme="dark"] .student-dashboard-side .student-next-step-session>button:hover,
body[data-theme="dark"] .student-dashboard-side .student-next-step-session>button:focus-visible{
  background:#142b40;
  border-color:var(--odin-accent-1,var(--odin-info));
}

/* Move the whole occurrence sidebar with the page; keep cards in normal flow. */
@media (min-width: 1200px) {
  .training-occurrence-workspace__side {
    position: sticky;
    top: calc(var(--odin-v2-topbar, 72px) + 1rem);
    align-self: start;
    height: max-content;
    overflow: visible;
  }
}

.student-home[data-training-component="disabled"] .student-training-collection .student-organizer-info.is-session,.student-home[data-training-component="disabled"] .student-training-collection .student-cost-breakdown.is-estimate,.student-home[data-training-component="disabled"] .student-training-collection .student-settlement-summary.is-estimate{display:none!important}

.student-home[data-training-component="disabled"] .student-training-collection .student-dashboard-card__progress-head,.student-home[data-training-component="disabled"] .student-training-collection .student-dashboard-card__progress-row,.student-home[data-training-component="disabled"] .student-training-collection .student-cost-breakdown.is-settlement,.student-home[data-training-component="disabled"] .student-training-collection .student-settlement-summary.is-settlement{display:none!important}


.student-home[data-training-component="disabled"] .student-training-collection .student-dashboard-card__ribbon,.student-home[data-training-component="disabled"] .student-training-collection .student-dashboard-card__visual-location,.student-home[data-training-component="disabled"] .student-training-collection .student-dashboard-card__visual-meta small,.student-home[data-training-component="disabled"] .student-training-collection .student-dashboard-card__caption{display:none!important}

.student-home-components-workspace__main .student-home-documents{min-width:0;max-width:100%;margin-top:.25rem}.student-home-components-workspace__main .student-home-documents .odin-v2-documents-toolbar{flex-wrap:wrap}.student-home-components-workspace__main .student-home-documents .odin-v2-document-row{grid-template-columns:40px minmax(0,1fr) auto;padding:.85rem 1rem}.student-home-components-workspace__main .student-home-documents .odin-v2-document-row>div{min-width:0}.student-home-components-workspace__main .student-home-documents .odin-v2-document-row-title{flex-wrap:wrap}.student-home-components-workspace__main .student-home-documents .odin-v2-document-action{text-decoration:none}@media(max-width:680px){.student-home-components-workspace__main .student-home-documents .odin-v2-document-row{grid-template-columns:40px minmax(0,1fr)}.student-home-components-workspace__main .student-home-documents .odin-v2-document-action{grid-column:2;justify-self:start}}

.student-home-components-workspace__main .student-home-documents__footer{display:flex;flex-direction:column;align-items:stretch;gap:.65rem;padding:.9rem 1.35rem}.student-home-documents__footer p{margin:.35rem 0 0;color:var(--odin-muted);font-size:calc(.78rem + var(--odin-v2-content-font-boost));text-align:left}.student-home-documents__footer .student-training-load-more{width:100%;margin:0}.student-home-documents__footer .student-training-load-more[hidden]{display:none}

.student-home-components-workspace__main .student-home-documents>.odin-v2-document-record-count{display:none!important}.student-home-components-workspace__main .student-home-documents__footer .student-training-load-more{display:flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.65rem;border:1px solid var(--odin-line);border-radius:.6rem;background:var(--sd-surface-2,#102233);color:var(--odin-accent-1,var(--odin-info));font-size:.82rem;font-weight:400}[data-bs-theme="light"] .student-home-components-workspace__main .student-home-documents__footer .student-training-load-more{background:#f7fafc;color:#3e5263;border-color:#d9e3eb}.student-home-components-workspace__main .student-home-documents__footer .student-training-load-more:hover,.student-home-components-workspace__main .student-home-documents__footer .student-training-load-more:focus-visible{border-color:var(--odin-accent-1,var(--odin-info))}.student-home-components-workspace__main .student-home-documents__footer .student-training-load-more[hidden]{display:none!important}

/* Status cards fill available columns; three cards become a swipeable mobile carousel. */
.student-home-status-grid:has(> .student-status-card:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.student-home-status-grid:has(> .student-status-card:first-child:last-child){grid-template-columns:minmax(0,1fr)}
@media(max-width:767.98px){
  .student-home-status-grid:has(> .student-status-card:first-child:last-child){grid-template-columns:minmax(0,1fr)}
  .student-home-status-grid:has(> .student-status-card:nth-child(2)){
    display:flex;
    align-items:stretch;
    gap:0;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    touch-action:pan-x pan-y;
  }
  .student-home-status-grid:has(> .student-status-card:nth-child(2))::-webkit-scrollbar{display:none}
  .student-home-status-grid:has(> .student-status-card:nth-child(2))>.student-status-card{
    flex:0 0 100%;
    min-width:100%;
    max-width:100%;
    scroll-snap-align:start;
    scroll-snap-stop:always;
    grid-column:auto;
  }
}
.student-home-status-carousel-dots{display:none}
@media(max-width:767.98px){
  .student-home-status-carousel-dots{display:flex;justify-content:center;align-items:center;gap:.55rem;margin:.7rem 0 .3rem}
  .student-home-status-carousel-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--odin-muted,#7892a5);opacity:.5}
  .student-home-status-carousel-dots button[aria-current="true"]{width:20px;border-radius:9px;background:var(--odin-accent-1,var(--odin-info,#37c6e6));opacity:1}
}

.student-home-components-workspace__main .student-home-documents__heading{margin-bottom:0}.student-home-components-workspace__main .student-home-documents{margin-top:0}
.student-home-components-workspace__main .student-home-documents__heading h2{font-size:1.05rem}
.student-home-components-workspace__main .student-home-documents__heading p{color:var(--odin-muted)}

.student-home-components-workspace__main .student-home-documents{box-shadow:none!important}

/* Use one rhythm between dashboard modules, their dividers, and content. */
.student-home-components-workspace__main{
  --student-home-module-spacing:1rem;
  gap:var(--student-home-module-spacing);
}
.student-home-components-workspace__main .student-dashboard-module-divider{
  margin:0;
}
.student-home-components-workspace__main .odin-student-dashboard--trip-embed>.student-dashboard-module-divider{
  margin-bottom:var(--student-home-module-spacing);
}
.student-home-components-workspace__main .student-training-module>.student-training-header,
.student-home-components-workspace__main .student-trip-module>.student-trip-header{
  margin-bottom:var(--student-home-module-spacing);
}

/* Flat document filters on the student dashboard. */
.student-home-components-workspace__main .student-home-documents .odin-v2-document-filters{
  gap:.25rem;
  align-items:flex-end;
  padding:.35rem 1.35rem 0;
  border-bottom:1px solid var(--odin-line);
  scrollbar-width:none;
}
.student-home-components-workspace__main .student-home-documents .odin-v2-document-filters::-webkit-scrollbar{display:none}
.student-home-components-workspace__main .student-home-documents .odin-v2-document-filters button{
  flex:0 0 auto;
  margin-bottom:-1px;
  padding:.65rem .75rem;
  border:0!important;
  border-bottom:3px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--odin-muted)!important;
}
.student-home-components-workspace__main .student-home-documents .odin-v2-document-filters button.active{
  border-bottom-color:var(--odin-accent-1,var(--odin-info))!important;
  background:transparent!important;
  color:var(--odin-accent-1,var(--odin-info))!important;
}
.student-home-components-workspace__main .student-home-documents .odin-v2-document-filters button:not(.active):hover,
.student-home-components-workspace__main .student-home-documents .odin-v2-document-filters button:not(.active):focus-visible{
  color:var(--odin-text)!important;
  background:transparent!important;
}
.student-home-components-workspace__main .student-home-documents .odin-v2-document-list{border-top:0}

/* Let the document load control span the entire bottom edge of the list. */
.student-home-components-workspace__main .student-home-documents__footer{
  gap:0;
  padding:0;
}
.student-home-components-workspace__main .student-home-documents__footer .student-training-load-more,
[data-bs-theme="light"] .student-home-components-workspace__main .student-home-documents__footer .student-training-load-more{
  width:100%;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.student-home-components-workspace__main .student-home-documents__footer p{
  margin:0;
  padding:.9rem 1.35rem;
  border-top:1px solid var(--odin-line);
}
