#abd-trail-sidebar-widget-shell,
.abd-trail-sidebar-widget-shell {
  display: block;
  width: calc(100% - 24px);
  margin: 14px 12px 0;
  box-sizing: border-box;
  position: relative;
  z-index: 5;
}

.abd-trail-sidebar-widget {
  --trail-color: #2563eb;
  width: 100%;
  box-sizing: border-box;
}

.abd-trail-sidebar-widget * {
  box-sizing: border-box;
}

/* DOMYŚLNE STANY */
.abd-trail-sidebar-expanded {
  display: block;
}

.abd-trail-sidebar-collapsed {
  display: none !important;
}

/* =========================
   EXPANDED
   ========================= */
.abd-trail-sidebar-expanded {
  position: relative;
  width: 100%;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  padding: 16px 14px 18px 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
  box-sizing: border-box;
  overflow: visible;
  min-height: 400px;
  display: flex;
  flex-direction: column;
}

.abd-trail-sidebar-expanded::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  bottom: 10px;
  width: 4px;
  border-radius: 999px;
  background: var(--trail-color);
}

.abd-trail-sidebar-top,
.abd-trail-sidebar-progress-wrap,
.abd-trail-sidebar-section {
  padding-left: 8px;
}

/* =========================
   TOP BLOK: TYTUŁ + PASEK
   ========================= */

.abd-trail-sidebar-expanded .abd-trail-sidebar-top {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin-bottom: 0 !important;
}

.abd-trail-sidebar-expanded .abd-trail-sidebar-title {
  display: block !important;
  color: #0f172a;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  word-break: break-word;
  position: static !important;
  z-index: auto !important;
  background: transparent !important;
  margin: 0 0 0px 0 !important;
}

.abd-trail-sidebar-expanded .abd-trail-sidebar-progress-wrap {
  display: block !important;
  position: static !important;
  z-index: auto !important;
  margin: 0 0 14px 0 !important;
  padding-left: 8px !important;
  padding-top: 0 !important;
  clear: both !important;
}

.abd-trail-sidebar-expanded .abd-trail-sidebar-title:hover {
  color: #0f172a;
  text-decoration: underline;
  text-decoration-color: var(--trail-color);
}

.abd-trail-sidebar-expanded .abd-trail-sidebar-progress {
  display: block !important;
  position: static !important;
  width: 100%;
  height: 6px;
  background: #e5e7eb;
  border-radius: 999px;
  overflow: hidden;
  margin: 0 0 8px 0 !important;
}

.abd-trail-sidebar-expanded .abd-trail-sidebar-progress div {
  display: block;
  height: 100%;
  background: var(--trail-color);
  border-radius: 999px;
  transition: width 0.35s ease;
}

.abd-trail-sidebar-progress-text {
  margin: 0;
  font-size: 11px;
  line-height: 1.35;
  color: #64748b;
}

.abd-trail-sidebar-section {
  margin-top: 14px;
}

.abd-trail-sidebar-label {
  display: block;
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #94a3b8;
}

.abd-trail-sidebar-segment {
  margin: 0;
  color: #334155;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 500;
}

.abd-trail-sidebar-step-title {
  margin: 0 0 10px;
  color: #0f172a;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  word-break: break-word;
}

.abd-trail-sidebar-step-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 0;
}

.abd-trail-sidebar-step-type,
.abd-trail-sidebar-step-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  font-size: 11px;
  line-height: 1;
  font-weight: 700;
  box-sizing: border-box;
}

.abd-trail-sidebar-step-type {
  background: color-mix(in srgb, var(--trail-color) 12%, white);
  color: var(--trail-color);
  border: 1px solid color-mix(in srgb, var(--trail-color) 32%, white);
}

.abd-trail-sidebar-step-count {
  background: #f8fafc;
  color: #64748b;
  border: 1px solid #e2e8f0;
}

.abd-trail-sidebar-actions {
  margin-top: auto;
  padding-top: 16px;
  padding-left: 8px;
  padding-right: 8px;
  width: 80%;
}

.abd-trail-sidebar-btn {
  display: block !important;
  width: 80% !important;
  margin: 0 8px 0 0 !important;

  min-height: 44px;
  padding: 11px 12px;

  border-radius: 10px;
  background: var(--trail-color) !important;
  color: #ffffff !important;
  text-decoration: none !important;

  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;

  box-sizing: border-box;
  border: none;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.abd-trail-sidebar-actions {
  width: 100%;
  padding-left: 8px;
  padding-right: 8px;
  box-sizing: border-box;
}

.abd-trail-sidebar-btn:hover {
  color: #ffffff !important;
  filter: brightness(1.04);
  transform: translateY(-1px);
}

/* =========================
   COLLAPSED - tylko gdy panel jest zwinięty
   ========================= */
body.bb-buddypanel:not(.buddypanel-open) #abd-trail-sidebar-widget-shell,
body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-widget-shell {
  width: calc(100% - 12px);
  margin: 10px 6px 0;
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-expanded {
  display: none !important;
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 88px;
  padding: 10px 6px;
  background: #ffffff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 18px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);
  text-decoration: none !important;
  box-sizing: border-box;
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed-bar {
  display: block;
  width: 6px;
  height: 38px;
  border-radius: 999px;
  background: var(--trail-color);
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed-text {
  display: block;
  font-size: 11px;
  line-height: 1.1;
  font-weight: 800;
  color: #334155;
  text-align: center;
}

/* Gdy panel jest otwarty - collapsed nie może być widoczny */
body.bb-buddypanel.buddypanel-open .abd-trail-sidebar-collapsed {
  display: none !important;
}

body.bb-buddypanel.buddypanel-open .abd-trail-sidebar-expanded {
  display: block !important;
}

/* ukrycie priorytetu i onboardingu przy aktywnym szlaku */
body.abd-has-active-trail #abd-buddypanel-priority-widget,
body.abd-has-active-trail #bd-buddypanel-onboarding-widget {
  display: none !important;
}

.abd-trail-sidebar-expanded .abd-trail-sidebar-actions {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

/* ===================================
   FINAL OVERRIDE - COLLAPSED TRAIL
   =================================== */

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;

  width: 100%;
  min-height: 96px;
  padding: 12px 6px;

  background: #ffffff;
  border-radius: 22px;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 8px 20px rgba(15,23,42,.08);

  text-decoration: none !important;
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--trail-color);
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed-main {
  font-size: 14px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1;
}

body.bb-buddypanel:not(.buddypanel-open) .abd-trail-sidebar-collapsed-sub {
  font-size: 11px;
  font-weight: 700;
  color: #94a3b8;
  line-height: 1;
}