/* Stabilizacja ribbonu: zawsze klasyczny pasek 45 stopni w prawym gornym rogu. */
.odin-student-dashboard .student-dashboard-card--standard .student-dashboard-card__visual>.student-dashboard-card__ribbon{
  position:absolute!important;
  top:30px!important;
  right:-45px!important;
  width:180px!important;
  min-width:180px!important;
  min-height:30px!important;
  padding:.42rem .7rem!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  clip-path:none!important;
  white-space:nowrap!important;
  text-align:center!important;
  box-shadow:0 3px 10px rgba(0,0,0,.24)!important;
}

/* Jasny motyw dashboardu: lokalne zmienne zamiast ciemnych wartosci odziedziczonych z dark mode. */
[data-bs-theme="light"] .odin-student-dashboard{
  --sd-surface:#ffffff;
  --sd-surface-2:#f7fafc;
  --sd-muted:#66798b;
  --odin-line:#d9e3eb;
  --odin-text:#172433;
}
[data-bs-theme="light"] .odin-student-dashboard .student-dashboard-card,
[data-bs-theme="light"] .odin-student-dashboard .student-side-box{
  background:#ffffff;
  color:#172433;
}
[data-bs-theme="light"] .odin-student-dashboard .student-dashboard-card__body{
  background:#ffffff;
}
[data-bs-theme="light"] .odin-student-dashboard .student-module-tools select,
[data-bs-theme="light"] .odin-student-dashboard .student-view-toggle button,
[data-bs-theme="light"] .odin-student-dashboard .student-training-load-more,
[data-bs-theme="light"] .odin-student-dashboard .student-trip-load-more{
  background-color:#f7fafc;
  border-color:#d9e3eb;
  color:#3e5263;
}
[data-bs-theme="light"] .odin-student-dashboard .student-dashboard-card__heading h3,
[data-bs-theme="light"] .odin-student-dashboard .student-dashboard-card__status-badge,
[data-bs-theme="light"] .odin-student-dashboard .student-card-actionbar__status,
[data-bs-theme="light"] .odin-student-dashboard .student-card-short-info__item strong,
[data-bs-theme="light"] .odin-student-dashboard .student-organizer-info strong{
  color:#172433;
}
[data-bs-theme="light"] .odin-student-dashboard .student-dashboard-card__progress-row .progress{
  background:#e4ebf0;
}
[data-bs-theme="light"] .odin-student-dashboard .student-card-popover{
  background:#ffffff;
  color:#172433;
  border-color:#d9e3eb;
  box-shadow:0 14px 34px rgba(31,56,78,.16);
}
[data-bs-theme="light"] .odin-student-dashboard .student-organizer-info,
[data-bs-theme="light"] .odin-student-dashboard .student-cost-breakdown,
[data-bs-theme="light"] .odin-student-dashboard .student-card-actionbar,
[data-bs-theme="light"] .odin-student-dashboard .student-card-short-info{
  border-color:#d9e3eb;
}
[data-bs-theme="light"] .odin-student-dashboard .student-estimated-total{
  background:linear-gradient(135deg,color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 9%,#fff),#f8fbfd);
  border-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 35%,#d9e3eb);
}

/* Popovers use viewport coordinates, not the browser's centered auto margins. */
.odin-student-dashboard .student-card-popover{
  inset:auto;
  margin:0;
  box-sizing:border-box;
  overflow:auto;
  overflow-wrap:anywhere;
}
.odin-student-dashboard .student-dashboard-card__heading h3{
  overflow-wrap:anywhere;
}
[data-bs-theme="light"] .odin-student-dashboard .student-view-toggle button.is-active{
  color:var(--odin-accent-1,var(--odin-info));
  border-color:var(--odin-accent-1,var(--odin-info));
  background-color:color-mix(in srgb,var(--odin-accent-1,var(--odin-info)) 10%,var(--sd-surface-2));
}

/* Dashboard button typography and connected action groups. */
.odin-student-dashboard .btn,
.odin-student-dashboard button,
.odin-student-dashboard .student-progress-tooltip__trigger{font-weight:400!important}
.odin-student-dashboard .btn-group{gap:0}
.odin-student-dashboard .btn-group>.btn{border-radius:0!important;margin-top:0;margin-bottom:0}
.odin-student-dashboard .btn-group>.btn:first-child{border-top-left-radius:var(--odin-v2-radius)!important;border-bottom-left-radius:var(--odin-v2-radius)!important}
.odin-student-dashboard .btn-group>.btn:last-child{border-top-right-radius:var(--odin-v2-radius)!important;border-bottom-right-radius:var(--odin-v2-radius)!important}
.odin-student-dashboard .btn-group>.btn+.btn{margin-left:calc(-1 * var(--bs-border-width,1px))}

/* Kompaktowy widget Najblizsze kroki na dashboardzie. */
.odin-student-dashboard .student-next-steps-widget{
  --next-red:#ff6470;
  --next-blue:#438df8;
  --next-yellow:#f7bd4b;
  --next-session:#39bde2;
  padding:1rem;
}
.odin-student-dashboard .student-next-steps-widget__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  margin-bottom:.7rem;
}
.odin-student-dashboard .student-next-steps-widget__head>div>span{
  display:block;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.68rem;
  font-weight:850;
  letter-spacing:.1em;
}
.odin-student-dashboard .student-next-steps-widget__head h2{
  margin:.22rem 0 0;
  font-size:.95rem;
  line-height:1.2;
}
.odin-student-dashboard .student-next-steps-widget__head>b{
  flex:0 0 auto;
  padding:.25rem .45rem;
  border:1px solid var(--odin-line);
  border-radius:999px;
  color:var(--sd-muted);
  font-size:.66rem;
  font-weight:700;
  white-space:nowrap;
}
.odin-student-dashboard .student-next-steps-widget__list{
  display:grid;
  gap:.45rem;
}
.odin-student-dashboard .student-next-steps-widget__list>a{
  display:grid;
  grid-template-columns:32px minmax(0,1fr) auto;
  align-items:center;
  gap:.6rem;
  margin:0;
  padding:.62rem;
  border:1px solid var(--odin-line);
  border-radius:.6rem;
  background:color-mix(in srgb,var(--sd-surface-2) 92%,transparent);
  color:inherit;
  text-decoration:none;
  transition:border-color .16s ease,background .16s ease;
}
.odin-student-dashboard .student-next-steps-widget__list>a:hover{
  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));
}
.odin-student-dashboard .student-next-steps-widget__list>a>i{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:.55rem;
  font-size:.8rem;
}
.odin-student-dashboard .student-next-steps-widget__list>a.is-missing>i{
  color:var(--next-red);
  background:color-mix(in srgb,var(--next-red) 11%,transparent);
}
.odin-student-dashboard .student-next-steps-widget__list>a.is-progress>i{
  color:var(--next-blue);
  background:color-mix(in srgb,var(--next-blue) 11%,transparent);
}
.odin-student-dashboard .student-next-steps-widget__list>a.is-expiring>i{
  color:var(--next-yellow);
  background:color-mix(in srgb,var(--next-yellow) 11%,transparent);
}
.odin-student-dashboard .student-next-steps-widget__list>a.is-session>i{
  color:var(--next-session);
  background:color-mix(in srgb,var(--next-session) 12%,transparent);
}
.odin-student-dashboard .student-next-steps-widget__list span{
  min-width:0;
}
.odin-student-dashboard .student-next-steps-widget__list strong,
.odin-student-dashboard .student-next-steps-widget__list small{
  display:block;
}
.odin-student-dashboard .student-next-steps-widget__list strong{
  font-size:.8rem;
  line-height:1.25;
}
.odin-student-dashboard .student-next-steps-widget__list small{
  margin-top:.14rem;
  color:var(--sd-muted);
  font-size:.7rem;
  line-height:1.35;
}
.odin-student-dashboard .student-next-steps-widget__list 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;
  white-space:nowrap;
}
.odin-student-dashboard .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);
}
.odin-student-dashboard .student-next-steps-widget__section>span{
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.67rem;
  font-weight:850;
  letter-spacing:.08em;
}
.odin-student-dashboard .student-next-steps-widget__section>b{
  color:var(--sd-muted);
  font-size:.66rem;
  font-weight:700;
}
.odin-student-dashboard .student-next-steps-widget__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.6rem;
  margin-top:.7rem;
  padding-top:.65rem;
  border-top:1px solid var(--odin-line);
}
.odin-student-dashboard .student-next-steps-widget__footer>a{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  color:var(--odin-accent-1,var(--odin-info));
  font-size:.72rem;
  font-weight:750;
  text-decoration:none;
}
[data-bs-theme="light"] .odin-student-dashboard .student-next-steps-widget__list>a{
  background:#f7fafc;
}
@media(max-width:1199.98px){
  .odin-student-dashboard .student-next-steps-widget__list>a{grid-template-columns:32px minmax(0,1fr)}
  .odin-student-dashboard .student-next-steps-widget__list em{grid-column:2}
}
@media(max-width:767.98px){
  .odin-student-dashboard .student-next-steps-widget__head{align-items:center}
  .odin-student-dashboard .student-next-steps-widget__list>a{grid-template-columns:32px minmax(0,1fr)}
  .odin-student-dashboard .student-next-steps-widget__list em{display:none}
  .odin-student-dashboard .student-next-steps-widget__footer{align-items:flex-start;flex-direction:column}

  /* Floating bottom navigation must never cover the final dashboard module. */
  .odin-v2-content:has(.odin-student-dashboard){
    padding-bottom:calc(var(--odin-v2-mobilebar) + 4.5rem + env(safe-area-inset-bottom))!important;
  }
  .odin-student-dashboard{
    padding-bottom:1rem;
  }
}
