.boulders-container {
  margin-top: 160px;
}

.boulders-heading {
  color: black;
  font-size: 36px;
  font-family: "Revive80";
  text-align: center;
  margin: 0;
}

.boulders-data-container {
  width: 80%;
  margin: 0 auto;
  margin-top: 40px;
}

.boulders-data-filter-container {
  display: flex;
  justify-content: flex-end;
  padding: 0 20px;
}

.boulders-filter-icon {
  margin-right: 10px;
}

.boulders-data-box {
  width: 100%;
  margin-top: 10px;
  padding: 0 20px;
  box-shadow: 0px 4px 3px 0px #0000000f;
  border-radius: 20px;
}

.boulders-data-box-row {
  display: flex;
  align-items: center;
  padding: 10px 0px;
}

.boulder-img {
  width: 10%;
}

.boulder-title {
  width: 25%;
}

.boulder-points {
  width: 10%;
}

.boulder-att-limit {
  width: 20%;
}

.boulder-complate {
  width: 15%;
}

.boulder-icons-container {
  width: 20%;
  display: flex;
  justify-content: end;
}

.boulder-img img {
  border-radius: 50px;
  width: 60%;
}

.boulder-title a {
  text-decoration: none;
}

.boulder-title h3 {
  color: #333333;
  font-size: 20px;
  font-family: "DINBold";
  margin: 0;
}

.boulder-points p {
  color: #333333;
  font-size: 14px;
  font-family: "DINLight";
  margin: 0;
}

.boulder-att-limit p {
  color: #333333;
  font-size: 14px;
  font-family: "DINLight";
  margin: 0;
}

.boulder-complate p {
  color: #333333;
  font-size: 14px;
  font-family: "DINLight";
  margin: 0;
}

.boulders-data-box-setting-icon {
  cursor: pointer;
}

.boulders-data-box-close-icon {
  margin-left: 10px;
}

/* Popup */
.blounder-popup .modal-header {
  border-bottom: 0;
}

.popup-select-for {
  color: #191a23;
  font-size: 20px;
  font-family: "DINRegular";
}

.popup-details-container {
  display: flex;
}

.popup-clientname-img-col {
  width: 25%;
  display: flex;
  align-items: center;
}

.popup-clientname-detals-col {
  width: 75%;
  display: flex;
}

.popup-client-img-col {
  width: 22%;
}

.popup-client-img-col img {
  width: 100%;
  border-radius: 50px;
}

.popup-client-name-col {
  width: 78%;
}

.popup-client-name-col p {
  color: #191a23;
  font-size: 20px;
  font-family: "DINRegular";
  margin: 0;
  margin-left: 15px;
}

.completion-btn-col {
  width: 35%;
  display: flex;
  align-items: end;
}

.attempts-col {
  width: 25%;
}

.scrore-col {
  width: 25%;
}

.save-btn-col {
  width: 15%;
  display: flex;
  align-items: end;
}

.not-complate-btn-col {
  width: 50%;
}

.complate-btn-col {
  width: 50%;
}

.not-complate-btn-col p {
  color: #191a23;
  font-size: 20px;
  font-family: "DINRegular";
  margin: 0;
}

.not-complate-btn-col button {
  color: #707070;
  font-size: 13px;
  font-family: "DINLight";
  border: 2px solid #707070;
  background-color: #e7e7e7;
  padding: 10px 20px 8px 20px;
  border-radius: 50px;
}

.complate-btn-col button {
  color: #707070;
  font-size: 13px;
  font-family: "DINLight";
  background-color: #b3ffc8;
  border: 2px solid #88e619;
  padding: 10px 20px 8px 20px;
  border-radius: 50px;
}

.complate-btn-col img {
  margin-left: 8px;
}

.attempts-col p {
  color: #272735;
  font-size: 20px;
  font-family: "DINRegular";
  margin: 0;
}

.attempts-col input {
  width: 50%;
}

.attempts-col input {
  width: 50%;
  height: 55%;
  border-radius: 4px;
  border: 1px solid rgba(107, 107, 148, 1);
}

.attempts-col input:focus-visible {
  outline: 0;
}

.scrore-col p {
  color: #272735;
  font-size: 20px;
  font-family: "DINRegular";
  margin: 0;
}

.scrore-col input {
  width: 50%;
}

.scrore-col input {
  width: 65%;
  height: 55%;
  border-radius: 4px;
  border: 1px solid rgba(107, 107, 148, 1);
}

.scrore-col input:focus-visible {
  outline: 0;
}

.save-btn-col button {
  width: 85%;
  color: #191a23;
  font-size: 19px;
  font-family: "DINBold";
  background-color: #b9ff66;
  border: 1px solid #8fd938;
  padding: 8px 10px 4px 10px;
  border-radius: 5px;
}

.save-btn-col img {
  margin-left: 8px;
}

.adddata-registration-dash-data-container {
  width: 100%;
  margin: 0 auto;
}

.ongoing-acoordion-main-container {
  margin-top: 60px;
}

.reg-dash-data-box {
  width: 100%;
  margin-top: 10px;
  padding: 0 20px;
  box-shadow: 0px 0px 6px 1px #0000001c;
  border-radius: 10px;
}

.reg-dash-data-box-row {
  display: flex;
  align-items: center;
  padding: 10px 0px;
  /* border-bottom: 1px solid #C4C4C4; */
}

.reg-dash-data-box-close-icon {
  margin-left: 10px;
}

.dark-mode-active .reg-dash-box-row {
  border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode-active .rumble-setting-second-part .reg-dash-data-box-row,
.dark-mode-active .reg-dash-input-icons-container .input-group-text,
.dark-mode-active #rumblePaymentList .card {
  background-color: rgba(255,255,255,0.05);
  border-color: #202020;
}

.dark-mode-active #rumblePaymentList .modal-header {
  background-color: rgba(255,255,255,0.05);
}

.dark-mode-active #rumblePaymentList .modal-body {
  background-color: rgb(33,37,41);
}

.dark-mode-active #rumblePaymentList .card {
  color: #fff;
}

.dark-mode-active .reg-dash-data-box {
  background-color: rgba(255,255,255,0.05);
  border-bottom: 2px solid rgba(255, 255, 255, 0.1);
}

.dark-mode-active .input-group-text svg {
  color: rgb(159, 159, 159);
}

.dark-mode-active .search-icon.input-group-text svg {
  color: #fff;
}

.reg-dash-input-icons-container {
  width: 40%;
  display: flex;
  justify-content: end;
}

.reg-dash-input-icons-container
  .custom-input-group.custom-input-group.input-group {
  border: none;
  border-radius: 10px;
}

.reg-dash-input-icons-container .search-icon.input-group-text {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  background-color: #f5484d;
  color: #fff;
  padding: 0px 25px;
}

.reg-dash-input-icons-container .input-group-text {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}

.reg-dash-data-box-row .adddata-participants-title {
  width: 60%;
}

.regdash-data-container {
  background-color: rgb(243, 243, 243);
  padding: 0;
  border-radius: 10px;
  align-items: center;
}

.regdash-data-container .form-label {
  color: #272735;
  font-size: 24px;
  font-family: "DINRegular";
}

.regdash-data-container .form-control:focus {
  box-shadow: none;
  border-color: #6b6b9429;
}

.dark-mode-active .regdash-data-container {
  background-color: rgba(255,255,255,0.05);
}

.regdash-data-container .row {
  background-color: #fff;
  padding: 15px;
  border-radius: 5px;
}

.regdash-data-container:not(.league-ongoining) .row p {
  font-family: "DINBold";
  font-size: 22px;
}
.regdash-data-container .league-ongoining p {
  font-family: "DINBold";
  font-size: 22px;
}

.regdash-data-container .small-txt {
  font-family: "DINRegular";
  font-size: 14px;
}

.dark-mode-active
  .reg-dash-input-icons-container
  .custom-input-group.custom-input-group.input-group,
.dark-mode-active
  .reg-dash-input-icons-container
  .search-icon.input-group-text {
  border: none;
}

.dark-mode-active .regdash-data-container .row {
  background-color: rgb(61, 61, 61);
}

.dark-mode-active .regdash-data-container .row {
  border-color: #202020;
}

#rumblePaymentList .card {
  font-size: 15px;
  font-family: "DINLight";
}

#rumblePaymentList span.text-main {
  font-family: "DINBold";
}

.fee_charges.ongoining {
  background-color: rgb(245, 245, 245);
}

.fee_charges.ongoining p {
  font-family: "DINRegular";
  font-size: 12px;
}

.fee_charges.ongoining span {
  font-family: "DINBold";
}

.dark-mode-active .fee_charges.ongoining {
  background-color: rgba(255,255,255,0.05) !important;
}

.adddata-boulder-icons-container.ongoinin-bd {
  width: 30%;
}

/* Add right margin to child elements in boulder icons container */
.adddata-boulder-icons-container.ongoinin-bd.align-items-center > div {
  margin-right: 0.5rem;
}

button.log-score-btn {
  background-color: #b9ff66;
  border-radius: 5px;
  border-color: #00000014;
  /* font-family: "Revive80"; */
  font-family: "DIN Next LT Pro";
  font-size: 18px;
  text-transform: uppercase;
  /* padding: 10px; */
  padding: 5px 20px 2px 20px;
  color: #000 !important;
}

button.log-score-btn.go-rumble-log {
  background-color: rgba(245, 72, 77, 1);
  color: #fff !important;
}

.video-logs .video-placeholder {
  background-color: #e1cfff !important;
  border-radius: 10px;
  /* border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px; */
}

.video_url_card p,
.video_url_card span {
  font-family: "DINLight";
  font-size: 15px;
}

.video-logs .video-placeholder {
  height: 127px;
  display: flex;
  align-items: center;
  justify-content: center;
}

span.video-status-0 {
  background-color: #9747ff;
  color: #fff;
  font-family: "DINBold";
  border-radius: 40px;
  padding: 5px;
}

span.video-status-1 {
  background-color: #b9ff66;
  color: #000;
  font-family: "DINBold";
  border-radius: 40px;
  padding: 5px;
}

span.video-status-2 {
  background-color: #f5484d;
  color: #fff;
  font-family: "DINBold";
  border-radius: 40px;
  padding: 9px;
  white-space: nowrap;
  font-size: 10px;
}

.video_url_card.card {
  padding: 5px;
  border-radius: 7px;
  background-color: rgb(33,37,41);
}
.video-val-section {
  background-color: rgba(243, 243, 243, 1);
  border-radius: 10px !important;
}
.dark-mode-active .v-filter-icon {
  /* color: #9f9f9f; */
  color: #fff;
}
.v-v-text {
  font-size: 24px;
  font-family: "DINBold";
  padding-top: 3px;
}

.dark-mode-active .video_url_card.card {
  /* background-color: rgba(255,255,255,0.05); */
  background-color: rgb(61, 61, 61);
}

.video_url_card p {
  color: #fff !important;
}
.filter-dropdown a.dropdown-item {
  font-family: "DINRegular";
}

.dark-mode-active .payemtn-wd.shadow-sm,
.dark-mode-active .payemtn-wd.shadow-sm .form-control {
  background-color: rgba(255,255,255,0.05) !important;
  color: #fff;
}

.dark-mode-active .payemtn-wd.shadow-sm .text-muted,
.dark-mode-active .payemtn-wd.shadow-sm .form-control::placeholder {
  color: #ffffff73 !important;
}

.video-not-apporve-btn {
  border-radius: 5px;
  background-color: #f5484d;
  padding: 10px;
  font-size: 18px;
  font-family: "DINBold";
  color: #fff;
}

.video-apporve-btn {
  border-radius: 5px;
  background-color: #b9ff66;
  padding: 10px;
  font-size: 18px;
  font-family: "DINBold";
}

button.log-score-btn.edit-score-btn {
  background-color: #9f9f9f;
  color: #000 !important;
}

.payemtn-wd.shadow-sm.card {
  font-size: 20px !important;
}

.text-danger.already {
  font-family: "DINRegular";
}

.boulder-setup.timer-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  /* padding: 10px; */
  border-radius: 8px;
  font-family: Arial, sans-serif;
}

.boulder-setup.play-pause-button {
  background-color: #b8ff7b;
  color: #000;
  border: none;
  border-radius: 8px;
  width: 50px;
  height: 70px;
  font-size: 18px;
  cursor: pointer;
  text-align: center;
}

.boulder-setup.timer-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  border-radius: 8px;
  padding: 10px;
  width: 70px;
  height: 70px;
  border-color: rgba(159, 159, 159, 1);
  /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); */
}

.boulder-setup.time-value {
  font-size: 24px;
  font-weight: bold;
  font-family: "DINBold";
}

.boulder-setup.label {
  font-size: 12px;
  color: #555;
  margin-bottom: 5px;
  font-family: "DINRegular";
}

.dark-mode-active .boulder-setup.label {
  color: #fff;
}

.setup-boulder-btn-ong {
  color: #f3f3f3;
  font-size: 12px;
  font-family: "DINBold";
  background-color: #f5484d;
  border: 0;
  padding: 5px 5px;
  border-radius: 5px;
}

.log-score-btn.boulder-battle-log-add.repeaters:disabled {
  background-color: rgba(159, 159, 159, 1);
  color: rgba(196, 196, 196, 1) !important;
}

.log-score-btn.boulder-battle-log-add.setter:disabled {
  background-color: rgba(159, 159, 159, 1);
  color: rgba(196, 196, 196, 1) !important;
}
.dark-mode-active .boulder-points.bbm p {
  color: #fff;
}

.log-score-btn:disabled,
.log-score-btn.edit-score-btn:disabled {
  background-color: rgba(159, 159, 159, 1);
  color: rgba(196, 196, 196, 1) !important;
}

.dark-mode-active .infog-icon {
  fill: #fff;
}
.yt-play-icon {
  color: rgba(159, 159, 159, 1);
}
/* Modern Toggle Switch for Boulder Filter */
.boulder-filter-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px;
  background: rgba(255,255,255,0.05);
  border-radius: 10px;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
  height: 40px;
  box-sizing: border-box;
}

.boulder-filter-toggle:hover {
  background: rgba(255,255,255,0.08);
}

.boulder-filter-toggle-option {
  position: relative;
  padding: 6px 12px;
  font-family: "DINRegular";
  font-size: 12px;
  line-height: 1;
  border-radius: 8px;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  color: rgba(255,255,255,0.6);
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 2;
  white-space: nowrap;
  flex: 1;
  min-width: 0;
  width: 50%;
}

.boulder-filter-toggle-option.active {
  color: #fff;
}

.boulder-filter-toggle-slider {
  position: absolute;
  height: calc(100% - 8px);
  background: #f5484d;
  border-radius: 8px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  top: 4px;
  z-index: 1;
  left: 4px;
  width: calc(50% - 6px);
}

/* Dynamic positioning based on active option */
.boulder-filter-toggle-slider[data-active="first"] {
  left: 4px;
}

.boulder-filter-toggle-slider[data-active="second"] {
  left: calc(50% + 2px);
}

/* Ensure SVG icons use current color - DESKTOP FIX */
.boulder-filter-toggle-option svg {
  width: 22px !important;
  height: 22px !important;
  fill: currentColor !important;
  opacity: 1 !important;
  display: block !important;
  stroke: currentColor !important;
  stroke-width: 0 !important;
  min-width: 22px !important;
  min-height: 22px !important;
}

.boulder-filter-toggle-option.active svg {
  opacity: 1 !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* Light mode overrides */
body:not(.dark-mode-active) .boulder-filter-toggle {
  background: rgba(0,0,0,0.08);
}

body:not(.dark-mode-active) .boulder-filter-toggle:hover {
  background: rgba(0,0,0,0.12);
}

body:not(.dark-mode-active) .boulder-filter-toggle-option {
  color: rgba(0,0,0,0.6);
}

body:not(.dark-mode-active) .boulder-filter-toggle-option.active {
  color: #fff;
}

body:not(.dark-mode-active) .boulder-filter-toggle-option svg {
  opacity: 1 !important;
  fill: rgba(0,0,0,0.9) !important;
  stroke: rgba(0,0,0,0.9) !important;
}

body:not(.dark-mode-active) .boulder-filter-toggle-option.active svg {
  opacity: 1 !important;
  fill: #fff !important;
}

/* Dark mode styles */
.dark-mode-active .boulder-filter-toggle {
  background: rgba(255,255,255,0.08);
}

.dark-mode-active .boulder-filter-toggle:hover {
  background: rgba(255,255,255,0.12);
}

.dark-mode-active .boulder-filter-toggle-option {
  color: rgba(255,255,255,0.6);
}

.dark-mode-active .boulder-filter-toggle-option.active {
  color: #fff;
}

.dark-mode-active .boulder-filter-toggle-option svg {
  opacity: 1 !important;
  fill: rgba(255,255,255,0.9) !important;
  stroke: rgba(255,255,255,0.9) !important;
}

.dark-mode-active .boulder-filter-toggle-option.active svg {
  opacity: 1 !important;
  fill: #fff !important;
  stroke: #fff !important;
}

/* Mobile optimizations */
@media (max-width: 767px) {
  .boulder-filter-toggle {
    padding: 2px;
    gap: 2px;
    width: 80px;
  }

  /* Carousel panel margin rules */
  .carousel-panel .mt-3,
  .carousel-panel .mb-3,
  .carousel-panel .mt-0,
  .carousel-panel .mb-0 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;
  }
  
  .boulder-filter-toggle-option {
    padding: 4px 8px;
    font-size: 11px;
    flex: 1;
    min-width: 0;
    width: 50%;
  }
  
  .boulder-filter-toggle-option svg {
    width: 20px !important;
    height: 20px !important;
    fill: currentColor;
  }
  
  .boulder-filter-toggle-option span {
    display: none;
  }
  
  .boulder-filter-toggle-slider {
    height: calc(100% - 4px);
    top: 2px;
    left: 2px;
    width: calc(50% - 3px);
  }
  
  .boulder-filter-toggle-slider[data-active="first"] {
    left: 2px;
  }
  
  .boulder-filter-toggle-slider[data-active="second"] {
    left: calc(50% + 1px);
  }
}

/* Keep old styles for participant filter button */
.participant-filter-button button {
  font-family: "DINRegular";
  font-size: 12px;
  padding: 10px;
  border-radius: 5px;
  border: none;
}
.dark-mode-active .participant-filter-button button {
  background-color: #202020;
  color: #fff;
}
.participant-filter-button button:disabled {
  background-color: #f5484d;
}
.adddata-boulder-title.wbrake {
  flex: 1;
  min-width: 0;
}

.truncate-title {
  overflow: hidden;
  text-overflow: ellipsis;
}
.box-sp-frm {
  width: 18px;
  height: 16px;
  background-color: #f5484d; /* Red */
  color: #f3f3f3;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  border-radius: 1.5px;
  font-family: "DIN Next LT Pro";
}
.box-sp-frm.grey {
  background-color: #949494 !important;
}
.box-sp-frm.white-red {
  border: 2px solid #f5484d;
  background-color: transparent !important;
}
span.flash-score-log {
  /* background-color: #fbc92b;
  border-radius: 50%; */
  background-color: #fbc92b;
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
}
span.flash-score-log svg {
  padding: 2px;
}
button.stage-open-btn {
  background-color: #b9ff66;
  border: 1px solid #b9ff66;
  padding-top: 3px;
  padding-bottom: 3px;
  font-family: "DINBold";
  color: #000;
  border-radius: 5px;
}
.league-stage-status-badge {
  width: 100px;
  text-align: center;
  padding: 0px 0px !important;
}
@media (max-width: 767px) {
  /* Boulder list for mobile structure*/
  /* span.flash-score-log svg {
    height: 20px;
    width: 20px;
  } */
  .scrore-col {
    width: 50%;
  }
  .new.scrore-col.new.scrore-col.bb-frmt {
    width: unset !important;
  }
  .adddata-boulders-data-box {
    padding: 5px 4px !important;
    box-shadow: unset !important;
    margin-top: 0px !important;
  }

  .dark-mode-active .adddata-boulders-data-box {
    background-color: unset;
  }

  .dark-mode-active .boulder-box-mobile {
    background-color: rgba(255,255,255,0.05);
  }

  .dark-mode-active .boulder-box-mobile,
  .dark-mode-active .boulder-stats-mobile,
  .dark-mode-active .boulder-header-mobile {
    border-color: #202020;
  }

  .boulder-box-mobile {
    border: 1px solid #c4c4c4;
    border-radius: 10px;
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
  }
  .dark-mode-active .boulder-box-mobile {
    border: 0 !important;
  }

  .boulder-stats-mobile,
  .boulder-header-mobile {
    border-bottom: 1px solid #c4c4c4;
  }

  .boulder-stats-mobile,
  .boulder-header-mobile,
  .boulder-actions-mobile {
    padding: 10px;
  }

  .boulder-header-mobile {
    display: flex;
    align-items: center;
  }

  .boulder-img-mobile img {
    /* width: 64px;
    height: 64px; */
    width: 70px;
    height: 75px;
    /* border-radius: 50%; */
    object-fit: cover;
  }

  .boulder-name-mobile {
    font-size: 20px;
    font-family: "DINRegular";
  }

  .boulder-name-mobile.wbrake {
    width: 40vw;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .dark-mode-active .boulder-name-mobile {
    color: #fff;
  }

  .boulder-stats-mobile {
    display: flex;
    justify-content: space-between;
  }

  .boulder-actions-mobile {
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    align-items: center;
  }

  .boulder-points {
    width: unset;
  }

  .boulder-points,
  .boulder-attempts {
    font-size: 14px;
    font-family: "DINBold";
  }

  /* end boulder list mobile*/

  .regdash-data-container {
    padding: 20px;
    /* text-align: center; */
  }

  .reg-dash-data-box-row {
    flex-direction: column;
  }

  .reg-dash-data-box-row .reg-dash-input-icons-container,
  .reg-dash-data-box-row .adddata-participants-title {
    width: 100%;
  }

  .reg-dash-data-box-row .adddata-participants-title {
    margin-bottom: 10px;
  }

  .ongoing-acoordion-main-container {
    margin-top: 35px;
    padding: 0;
  }

  .adddata-registration-dash-data-container {
    width: 100%;
  }

  .dark-mode-active .rumble-setting-second-part .reg-dash-data-box {
    background-color: rgb(33,37,41);
  }

  .reg-dash-data-box {
    padding: unset;
    box-shadow: unset;
  }

  .reg-dash-data-box-row {
    padding: 10px 10px;
    border-radius: 10px;
    /* border: 1px solid #C4C4C4; */
    border: 0px;
    margin-bottom: 5px;
  }

  .regdash-data-container .row {
    background-color: #f3f3f3;
    padding: 10px;
  }

  .regdash-data-container .row {
    border: 1px solid #c4c4c4;
    border-radius: 5px;
  }

  .fee_charges.ongoining {
    background-color: #fff !important;
  }

  .regdash-data-container {
    background-color: unset;
  }

  .regdash-data-container .row .col-md-6 {
    margin-bottom: 10px;
  }
}

/* Mobile boulder box margins */
.d-flex.flex-row.align-items-center.p-0.mb-2.boulder-box-mobile.m-0.card {
  margin-left: .25rem !important;
  margin-right: .25rem !important;
}

/* Media query basate su altezza viewport per gestire padding intelligentemente */
.mobile-tab-carousel {
  background: var(--bg-color, #1a1a1a);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  position: fixed;
  bottom: 60px; /* Above mobile menu */
  left: 0;
  right: 0;
  z-index: 1050;
  overflow: hidden;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.tab-carousel-container {
  display: flex;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  touch-action: pan-x;
}

.tab-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 65px;
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}

.tab-slide:active {
  transform: scale(0.98);
}

.tab-carousel-container .badge {
  transition: all 0.3s ease;
  transform: scale(0.95);
}

.tab-slide:hover .badge {
  transform: scale(1.05);
}

/* Progress dots animation */
.mobile-tab-carousel .d-flex.gap-1 div {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Swipe feedback */
.tab-carousel-container.swiping {
  transition: none !important;
}

/* Mobile Panels Carousel */
.mobile-panels-carousel-wrapper {
  overflow: hidden;
  overflow-y: visible; /* Allow content to flow naturally */
  width: 100%;
  position: fixed; /* Make it fixed to viewport */
  top: 0;
  left: 0;
  right: 0;
  bottom: 0; /* Fill to bottom, let inner content handle menu spacing */
  margin: 0;
  touch-action: pan-y; /* Allow vertical scroll */
  z-index: 1000; /* Ensure it's above other content */
}

.mobile-panels-carousel-container {
  display: flex;
  /* width is now set dynamically via inline styles based on tabs.length */
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  height: 100%;
}

.carousel-panel {
  /* width is now set dynamically via inline styles based on tabs.length */
  flex-shrink: 0;
  padding: 0; /* Removed padding for full-width */
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch; /* Smooth scrolling iOS */
  overscroll-behavior-y: contain; /* Prevent pull-to-refresh conflicts */
  height: 100%;
  position: relative;
}

/* Separators between panels - Removed for full-width look */
.carousel-panel:not(:last-child) {
  /* border-right: 1px solid rgba(255, 255, 255, 0.1); */
}

/* Blur effect for non-active panels - REMOVED to fix opacity/desaturation issue on mobile */
.carousel-panel:not(.active) {
  opacity: 1; /* Changed from 0.5 to 1 - full opacity */
  filter: none; /* Removed blur effect */
  transition: opacity 0.3s, filter 0.3s;
}

.carousel-panel.active {
  opacity: 1;
  filter: none;
}

/* During swipe, show all panels clearly */
.mobile-panels-carousel-container.swiping .carousel-panel {
  opacity: 1;
  filter: none;
}

/* Add bottom padding to main content to avoid overlap */
@media (max-width: 767px) {
  .ongoing-acoordion-main-container {
    padding-bottom: 0 !important; /* Removed - panels should fill to bottom */
  }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
  .tab-carousel-container,
  .tab-slide,
  .mobile-tab-carousel .d-flex.gap-1 div {
    transition: none !important;
  }
}

/* Mobile Tab Carousel Minimal - DEPRECATED - Now using dots navigation */
.mobile-tab-carousel-minimal {
  display: none !important;
}

/* Mobile Leaderboard Title with Buttons */
@media (max-width: 767px) {
  .mobile-leaderboard-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    padding: 0 10px;
  }
  
  .mobile-leaderboard-title h6,
  .mobile-leaderboard-title .MuiTypography-root {
    color: #f5484d !important;
    font-size: 22px !important;
    font-family: "DINBold" !important;
    margin: 0 !important;
    flex: 1;
    white-space: nowrap;
  }
  
  .mobile-leaderboard-buttons {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-shrink: 0;
    margin-left: 10px;
  }
  
  .mobile-leaderboard-buttons .btn {
    padding: 8px !important;
    font-size: 12px !important;
    border-radius: 7px !important;
    border: none !important;
    background-color: #f5484d !important;
    color: white !important;
    font-family: "DINRegular" !important;
    min-width: 40px !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    white-space: nowrap !important;
  }
  
  /* Centra perfettamente l'icona SVG isolated view */
  .mobile-leaderboard-buttons .btn:has(svg[viewBox="0 0 17 17"]) {
    padding: 6px !important;
  }
  
  /* Centra perfettamente l'icona SVG isolated view con viewBox 30x30 */
  .mobile-leaderboard-buttons .btn:has(svg[viewBox="0 0 17 17"]) {
    padding: 4px !important;
  }
  
  .mobile-leaderboard-buttons .btn:hover:not(:disabled) {
    background-color: #e03e43 !important;
    transform: scale(1.05);
  }
  
  .mobile-leaderboard-buttons .btn:active:not(:disabled) {
    transform: scale(0.95);
  }
  
  .mobile-leaderboard-buttons .btn:disabled {
    background-color: #ccc !important;
    color: #666 !important;
    cursor: not-allowed !important;
    opacity: 0.6 !important;
    pointer-events: auto !important; /* Ensure hover events work for tooltips */
  }
  
  /* Ensure disabled buttons still show tooltips */
  .mobile-leaderboard-buttons .btn:disabled[title] {
    cursor: help !important;
  }
  
  .dark-mode-active .mobile-leaderboard-title h6,
  .dark-mode-active .mobile-leaderboard-title .MuiTypography-root {
    color: #f5484d !important;
  }
  
  .dark-mode-active .mobile-leaderboard-buttons .btn {
    background-color: rgb(255,255,255,0.05) !important;
    color: #fff !important;
  }
  
  .dark-mode-active .mobile-leaderboard-buttons .btn:hover:not(:disabled) {
    background-color: #404040 !important;
  }
  
  .dark-mode-active .mobile-leaderboard-buttons .btn:disabled {
    background-color: #f5484d !important;
    color: #fff !important;
    opacity: 1 !important;
  }
  
  /* Ensure proper spacing in accordion title */
  .mobile-leaderboard-title .MuiAccordionSummary-content {
    margin: 0 !important;
  }
  
  .mobile-leaderboard-title .MuiAccordionSummary-content > div {
    width: 100% !important;
  }
}

/* Old tab carousel styles - DEPRECATED */
.tab-container,
.tab-item,
/* .tab-label - REMOVED: conflicts with SprayWallManager TabBar */
.position-indicator,
.indicator-bar {
  display: none !important;
}

/* Rimuovi stili vecchi della tab carousel */
.mobile-tab-carousel {
  display: none !important;
}

/* Mobile Dots Navigation - Styles moved to centralized panels.css */
/* Removed custom styling to maintain consistency with other refactored pages */

/* Garantisci spazio sufficiente per evitare sovrapposizioni */
@media (max-width: 767px) {
  .mobile-panels-carousel-wrapper {
    /* Assicura che il contenuto non vada sotto la tab bar */
    padding-bottom: 0;
    overflow: hidden !important; /* Mobile-only overflow */
  }
  
  /* Ottimizza altezza pannelli per dispositivi mobili */
  .carousel-panel {
    /* Garantisce spazio sufficiente anche su schermi piccoli */
    min-height: 750px; /* Fallback */
    min-height: max(750px, 100vh); /* Usa il maggiore tra 750px e viewport */
    min-height: max(750px, 100dvh);
    height: auto; /* Permette espansione naturale */
    padding-bottom: 0; /* Rimuovi padding di default */
    box-sizing: border-box;
  }

  /* Extra scroll space ONLY for panels that need it */
  .carousel-panel.needs-extra-scroll .panel-content::after {
    content: "";
    display: block;
    height: 15vh;  /* Reduced extra scroll space */
    min-height: 100px;  /* Reduced minimum space */
    width: 100%;
    pointer-events: none;
    background: transparent;
  }

  /* Ensure the pseudo-element doesn't affect layout when not needed */
  .carousel-panel:not(.needs-extra-scroll) .panel-content::after {
    display: none;
  }
  
  /* FULLSCREEN PANELS - Remove all margins and padding */
  .mobile-tab-carousel-minimal {
    display: block;
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    bottom: 60px;
    background: var(--secondary-color);
    overflow: hidden;
    z-index: 10;
  }
  
  .carousel-panel {
    padding: 0 !important;
  }
  
  /* Remove all margins and padding from accordion containers */
  .carousel-panel .ongoing-acoordion-main-container {
    margin: 0 !important;
    padding: 0 !important;
    height: 100%;
  }
  
  .carousel-panel .adddata-create-accordion-item {
    margin: 0 !important;
    border-radius: 0 !important;
  }
  
  /* Make map/cover image fullscreen in Main Info panel */
  .carousel-panel .rumble-info-top-container {
    margin-top: 0 !important;
  }
  
  .carousel-panel .rumble-info-image,
  .carousel-panel .rumble-info-map,
  .carousel-panel .rumble-info-top-container img,
  .carousel-panel .rumble-info-top-container .mapboxgl-map {
    border-radius: 0 !important;
    margin-top: 0 !important;
    margin: 0 !important;
  }
  
  /* Remove padding from accordion content */
  .carousel-panel .MuiAccordionSummary-root {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  
  .carousel-panel .MuiAccordionDetails-root {
    padding: 0 !important;
  }
  
  /* Remove margins from all children in panels */
  .carousel-panel > div > * {
    margin-top: 0 !important;
  }
  
  /* Remove padding from Registration Dashboard container */
  .carousel-panel .adddata-registration-dash-data-container {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  
  /* Adjust regdash container for fullscreen */
  .carousel-panel .regdash-data-container {
    margin: 0 !important;
    padding: 15px !important;
    border-radius: 0 !important;
  }
  
  /* Remove top margin from ongoing accordion */
  .ongoing-acoordion-main-container {
    margin-top: 0 !important;
  }
  
  /* Make sponsor marquee part of normal flow */
  .carousel-panel .sponsor-marquee-container {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
    margin-top: auto !important; /* Push to bottom con flexbox */
    padding: 1rem 0 !important;
    background: var(--secondary-color);
    flex-shrink: 0; /* Non si restringe */
  }
  
  /* Main Info Panel specific layout */
  .main-info-panel-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden; /* Previeni overflow */
  }
  
  .main-info-content {
    flex: 1;
    overflow-y: visible; /* Remove internal scroll */
    /* padding-bottom rimosso per permettere padding del parent */
    display: flex;
    flex-direction: column;
    min-height: 0; /* Important per Firefox */
  }
  
  /* Remove all padding from RumbleInfoTop container */
  .main-info-content > div:first-child {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Ensure image/map is full width at top */
  .main-info-content .rumble-map-img,
  .main-info-content .mapboxgl-map,
  .main-info-content img:first-of-type {
    width: 100% !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }
  
  /* Assicura che RumbleInfoTop non abbia margini */
  .carousel-panel .main-info-content > * {
    flex-shrink: 0; /* Non si restringe */
    margin: 0;
  }
  
  /* Regole specifiche per MapBox - necessita altezza esplicita */
  .carousel-panel .main-info-content .mapboxgl-map {
    height: 100% !important; /* MapBox ha bisogno di height esplicita */
  }
  
  /* MapBox canvas interno */
  .carousel-panel .main-info-content .mapboxgl-canvas {
    height: 100% !important;
    width: 100% !important;
  }
  
  /* Container della mappa con altezza responsive su mobile */
  .carousel-panel .main-info-content .position-relative.w-100.h-100 {
    height: 25vh !important; /* 25% dell'altezza del viewport */
    min-height: 150px !important; /* Altezza minima */
  }
  
  /* Assicura che tutti i container della mappa abbiano la stessa altezza responsive */
  .carousel-panel .main-info-content .position-relative.w-100[style*="height: 25vh"] {
    height: 25vh !important;
    min-height: 150px !important;
  }
  
  /* Dropdown menu responsive height in main info panel */
  .main-info-content .position-absolute.shadow-lg.dropdown-menu.show {
    max-height: 25vh !important;
    min-height: 80px !important;
    overflow-y: auto !important;
  }
  
  /* Optimize dropdown menu positioning for responsive height */
  .main-info-content .position-absolute.shadow-lg.dropdown-menu.show[style*="top: 50%"] {
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
  
  /* Mantieni le immagini responsive ma non la mappa */
  .carousel-panel .main-info-content img:not(.mapboxgl-map) {
    height: auto !important;
    max-height: 40vh;
    object-fit: cover;
  }
  
  /* Espandi il body content (px-3 py-3) per riempire lo spazio */
  .carousel-panel .main-info-content .px-3.py-3 {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    /* Removed overflow-y: auto to prevent double scroll */
  }
  
  /* Assicura che il bg-dark contenga correttamente il body content espanso */
  .carousel-panel .main-info-content .bg-dark > div:last-child {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  
  /* Make MUI Accordion fill entire screen on mobile */
  .carousel-panel .MuiPaper-root.MuiAccordion-root,
  .carousel-panel .adddata-create-accordion-item {
    height: 100%;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
  }
  
  /* Remove all top margins from panels */
  .carousel-panel .mt-3,
  .carousel-panel .mb-3,
  .carousel-panel .mt-0,
  .carousel-panel .mb-0 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }
  
  /* Hide scrollbars on mobile but keep scroll functionality */
  .carousel-panel::-webkit-scrollbar {
    display: none;
  }
  
  .carousel-panel {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
  }
  
  /* Ensure accordion content fills available space */
  .carousel-panel .MuiAccordion-root.Mui-expanded {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  
  /* Make accordion details fill remaining space with scroll */
  .carousel-panel .MuiAccordionDetails-root {
    flex: 1;
    overflow-y: auto;
    padding: 0 !important;
    height: 100%;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
  }
  
  /* Hide scrollbar for accordion details webkit browsers */
  .carousel-panel .MuiAccordionDetails-root::-webkit-scrollbar {
    display: none;
  }
  
  /* Hide all scrollbars within carousel panels on mobile */
  .carousel-panel *::-webkit-scrollbar {
    display: none;
  }
  
  .carousel-panel * {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
  }
  
  /* Make accordion summary stick to top when expanded */
  .carousel-panel .MuiAccordion-root.Mui-expanded .MuiAccordionSummary-root {
    position: sticky;
    top: 0;
    z-index: 10;
    background: inherit;
  }
  
  /* Ensure ongoing accordion main container fills height */
  .carousel-panel .ongoing-acoordion-main-container {
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  
  /* Ensure UserLayout children fill height */
  .page-layout-container,
  .page-layout-wraper {
    height: 100% !important;
    display: flex;
    flex-direction: column;
  }
  
  /* Mobile carousel wrapper should fill available space */
  .mobile-panels-carousel-wrapper {
    flex: 1;
    height: 100%;
  }
  
  /* Remove ALL margins from main info panel */
  .carousel-panel .main-info-panel-container,
  .carousel-panel .main-info-content {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Ensure content-private-container fills height */
  .carousel-panel .content-private-container {
    height: 100%;
    display: flex;
    flex-direction: column;
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Fix ongoing accordion container margins */
  .carousel-panel .ongoing-acoordion-main-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
  }
  
  /* Ensure all parent containers use full height - but not the title */
  .carousel-panel > div:not(.mobile-panel-title) {
    height: 100%;
  }
  
  /* Specific fix for RumbleInfoTop margin */
  .carousel-panel .rumble-info-top-container,
  .main-info-content > div:first-child {
    margin-top: 0 !important;
  }
  
  /* Force height 100% even with inline styles for Beta and Players panels */
  .carousel-panel .content-private-container[style] {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Fix for w-100 Bootstrap class - solo per elementi specifici */
  .carousel-panel .ongoing-acoordion-main-container.w-100 {
    height: 100% !important;
  }
  
  /* APPROCCIO CORRETTO - Mantieni altezza originale mappa e riempi spazio */
  
  /* 1. Container principali con flex: 1 per riempire tutto lo spazio */
  .carousel-panel .main-info-content .rum-data-new-style-container {
    margin-top: 0 !important;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1;
  }
  
  /* 2. Il container bg-dark si espande per riempire lo spazio */
  .carousel-panel .main-info-content .bg-dark {
    display: flex;
    flex-direction: column;
    flex: 1;
    width: 100% !important;
  }
  
  /* 3. Main info content come container flex principale */
  .carousel-panel .main-info-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-bottom: 0 !important;
    width: 100% !important;
  }
  
  /* 4. RumbleInfoTop mantiene la sua altezza naturale */
  .carousel-panel .main-info-content > div:first-child {
    width: 100% !important;
  }
  
  /* 5. Assicura width 100% per tutti gli elementi figli */
  .carousel-panel .main-info-content > * {
    width: 100% !important;
  }
  
  /* 6. Forza il pannello carousel specifico a essere height 100% */
  /* Removed redundant height declaration - already set at line 1034 */
  
  /* 7. Forza main-info-panel-container a essere height 100% */
  .carousel-panel .main-info-panel-container {
    height: 100% !important;
  }
  
  /* FIX MARGIN-TOP */
  
  /* Rimuovi tutti i margin-top */
  .carousel-panel .main-info-content .mt-1,
  .carousel-panel .main-info-content .mt-2,
  .carousel-panel .main-info-content .mt-3,
  .carousel-panel .main-info-content .mt-4,
  .carousel-panel .main-info-content .mt-5 {
    margin-top: 0 !important;
  }
  
  /* Rimuovi margin-top da elementi figli diretti */
  .carousel-panel .main-info-content > * {
    margin-top: 0 !important;
  }
  
  /* Marquee si posiziona in alto */
  .carousel-panel .sponsor-marquee-container {
    margin-bottom: 10px !important; /* Space below marquee */
    flex-shrink: 0;
    background: var(--secondary-color);
    padding: 1rem 0;
    width: 100% !important;
  }
  
  /* Ensure content-private fills height */
  .carousel-panel .content-private {
    flex: 1;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  /* Force accordion to fill available space in Beta and Players panels */
  .carousel-panel .content-private-container .MuiAccordion-root {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  
  /* Ensure proper height for blur overlay container */
  .carousel-panel .content-private-container > div:first-child:not(.content-private) {
    height: 100% !important;
  }
  
  /* Extra bottom margin for last element in panels */
  .carousel-panel > *:last-child {
    margin-bottom: 20px !important; /* Extra space at bottom of content */
  }
  
  /* Hide accordion expand icon only for specific static accordions */
  .adddata-create-accordion-item.no-expand-icon .MuiAccordionSummary-expandIconWrapper {
    display: none !important;
  }
}

/* Debug visivo - DECOMMENTARE PER VERIFICARE SOVRAPPOSIZIONI */
/*
.mobile-panels-carousel-wrapper {
  border: 2px solid #00ff00;
  box-sizing: border-box;
}

.mobile-tab-carousel-minimal {
  border: 2px solid #ff0000;
  box-sizing: border-box;
}

.carousel-panel {
  border: 1px solid #0000ff;
  box-sizing: border-box;
}
*/

/* Media query basate su altezza viewport per gestire padding intelligentemente */
@media (max-width: 767px) and (max-height: 700px) {
  .carousel-panel {
    padding-bottom: 120px; /* Solo quando serve davvero */
  }
  
  .carousel-panel > *:last-child {
    margin-bottom: 30px !important;
  }
}

/* Schermi molto piccoli */
@media (max-width: 400px) and (max-height: 600px) {
  .carousel-panel {
    padding-bottom: 150px;
    padding-bottom: calc(150px + env(safe-area-inset-bottom));
  }
}

/* Garantire contenuto minimo visibile */
.carousel-panel .main-info-content {
  min-height: calc(750px - 60px); /* 690px minimo fallback */
  min-height: calc(max(750px, 100vh) - 60px);
  min-height: calc(max(750px, 100dvh) - 60px);
}

/* Rimuovere padding su tablet/schermi più grandi */
@media (min-width: 768px), (min-height: 700px) {
  .carousel-panel {
    padding-bottom: 0 !important;
  }
  
  .carousel-panel > *:last-child {
    margin-bottom: 0 !important;
  }
}

/* Desktop optimizations - prevent unnecessary scroll */
@media (min-width: 768px) {
  .carousel-panel {
    overflow-y: visible !important; /* Add !important to override global */
    padding-bottom: 0; /* No extra padding needed on desktop */
    height: auto !important; /* Allow natural height */
  }
  
  /* Re-enable scroll only when content actually overflows */
  .mobile-panels-carousel-container {
    overflow-y: auto;
  }
  
  /* Remove mobile-specific styles */
  .carousel-panel > *:last-child {
    margin-bottom: 0 !important;
  }
}

/* Prize button height standardization */
.btn.btn-secondary.w-100.d-flex.align-items-center.justify-content-center.py-2.gap-2[style*="rgba(255, 215, 0"] {
  height: 48px !important;
  min-height: 48px !important;
  padding: 10px !important;
  box-sizing: border-box;
}

/* Ensure consistent height for all secondary buttons in the same context */
.btn.btn-secondary.w-100.d-flex.align-items-center.justify-content-center {
  height: 48px;
  min-height: 48px;
  padding: 10px;
  box-sizing: border-box;
}

/* Specific override for prize button to match other buttons */
.btn.btn-secondary.w-100[style*="background: rgba(255, 215, 0"] {
  height: 48px !important;
  min-height: 48px !important;
  padding: 10px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box;
}

/* Ensure prize button icon and text are properly aligned */
.btn.btn-secondary.w-100[style*="background: rgba(255, 215, 0"] svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.btn.btn-secondary.w-100[style*="background: rgba(255, 215, 0"] span {
  font-size: 14px;
  line-height: 1;
}

/* Desktop leaderboard buttons - same style as mobile */
.desktop-leaderboard-buttons {
  display: flex;
  gap: 6px;
  align-items: center;
  flex-shrink: 0;
  margin-left: 10px;
}

.desktop-leaderboard-buttons .btn {
  padding: 8px !important;
  font-size: 12px !important;
  border-radius: 7px !important;
  border: none !important;
  background-color: #f5484d !important;
  color: white !important;
  font-family: "DINRegular" !important;
  min-width: 40px !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}

.desktop-leaderboard-buttons .btn:hover:not(:disabled) {
  background-color: #e03e43 !important;
  transform: scale(1.05);
}

.desktop-leaderboard-buttons .btn:active:not(:disabled) {
  transform: scale(0.95);
}

.desktop-leaderboard-buttons .btn:disabled {
  background-color: #ccc !important;
  color: #666 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}

.dark-mode-active .desktop-leaderboard-buttons .btn {
  background-color: rgb(255,255,255,0.05) !important;
  color: #fff !important;
}

.dark-mode-active .desktop-leaderboard-buttons .btn:hover:not(:disabled) {
  background-color: #404040 !important;
}

.dark-mode-active .desktop-leaderboard-buttons .btn:disabled {
  background-color: #f5484d !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Desktop specific height standardization */
@media (min-width: 768px) {
  .btn.btn-secondary.w-100.d-flex.align-items-center.justify-content-center.py-2.gap-2 {
    height: 48px !important;
    min-height: 48px !important;
    padding: 10px 16px !important;
  }
  
  .btn.btn-secondary.w-100[style*="rgba(255, 215, 0"] {
    height: 48px !important;
    min-height: 48px !important;
    padding: 10px 16px !important;
  }
}

/* Ensure leaderboard accordion title consistency */
@media (max-width: 767px) {
  .adddata-create-accordion-title.mobile-leaderboard-title {
    padding: 10px 16px !important;
  }
  
  .adddata-create-accordion-title .mobile-leaderboard-title {
    margin-bottom: 0 !important;
    padding: 0 !important;
  }
  
  /* Fix for MUI accordion summary padding */
  .MuiAccordionSummary-root.adddata-create-accordion-title {
    min-height: 48px !important;
  }
  
  .MuiAccordionSummary-content.mobile-leaderboard-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin: 0 !important;
  }
  
  /* Ensure buttons don't interfere with accordion functionality */
  .mobile-leaderboard-buttons {
    z-index: 10;
    position: relative;
  }
  
  /* Responsive button sizing for very small screens */
  @media (max-width: 380px) {
    .mobile-leaderboard-buttons .btn {
      min-width: 36px !important;
      width: 36px !important;
      height: 36px !important;
      padding: 6px !important;
      font-size: 11px !important;
    }
    
    /* Centra perfettamente l'icona SVG isolated view su schermi piccoli */
    .mobile-leaderboard-buttons .btn:has(svg[viewBox="0 0 17 17"]) {
      padding: 4px !important;
    }
    
    /* Centra perfettamente l'icona SVG isolated view su schermi piccoli - viewBox 30x30 */
    .mobile-leaderboard-buttons .btn:has(svg[viewBox="0 0 17 17"]) {
      padding: 4px !important;
    }
    
    .mobile-leaderboard-buttons .btn svg {
      width: 14px !important;
      height: 14px !important;
    }
    
    /* Icona isolated view più grande anche su schermi piccoli */
    .mobile-leaderboard-buttons .btn svg[viewBox="0 0 17 17"] {
      width: 28px !important;
      height: 28px !important;
      margin: auto !important;
      display: block !important;
      flex-shrink: 0 !important;
    }
    
    /* Icona isolated view più grande anche su schermi piccoli - viewBox 30x30 */
    .mobile-leaderboard-buttons .btn svg[viewBox="0 0 17 17"] {
      width: 28px !important;
      height: 28px !important;
      margin: auto !important;
      display: block !important;
      flex-shrink: 0 !important;
    }
    
    /* Fallback per FiPrinter se non è SVG personalizzato */
    .mobile-leaderboard-buttons .btn svg[data-icon="printer"] {
      width: 20px !important;
      height: 20px !important;
    }
    
    .mobile-leaderboard-buttons {
      gap: 4px;
    }
  }
}

/* Aggiunta regola per le icone SVG con dimensioni più grandi */
.mobile-leaderboard-buttons .btn svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
  }
  
  /* Icona isolated view più grande - SVG personalizzato - RADDOPPIATA */
  .mobile-leaderboard-buttons .btn svg[viewBox="0 0 17 17"] {
    width: 76px !important;
    height: 76px !important;
    margin: auto !important;
    display: block !important;
    flex-shrink: 0 !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }
  
  /* Icona isolated view più grande - SVG personalizzato con viewBox 30x30 */
  .mobile-leaderboard-buttons .btn svg[viewBox="0 0 17 17"] {
    width: 76px !important;
    height: 76px !important;
    margin: auto !important;
    display: block !important;
    flex-shrink: 0 !important;
    fill: currentColor !important;
    stroke: currentColor !important;
  }
  
  /* Fallback per FiPrinter se non è SVG personalizzato */
  .mobile-leaderboard-buttons .btn svg[data-icon="printer"] {
    width: 28px !important;
    height: 28px !important;
  }
  
  .mobile-leaderboard-buttons .btn:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(245, 72, 77, 0.3) !important;
  }
/* Hide inline title buttons on mobile, show standalone second row on desktop */
/* On mobile: hide inline title buttons, show mobile leaderboard buttons */
@media (max-width: 767px) {
  .adddata-create-accordion-title .d-flex.justify-content-between.align-items-center.w-100 .d-flex.justify-content-end.mb-2.align-items-center {
    display: none !important;
  }
  
  /* Hide standalone second row buttons in leaderboard on mobile */
  .leader-olympic-container .d-flex.justify-content-end.mb-2.align-items-center {
    display: none !important;
  }
  
  /* Disable panel swipe in leaderboard area on mobile */
  /* Disable horizontal swipe in leaderboard container */
  .leader-olympic-container {
    touch-action: pan-y !important; /* Allow only vertical scroll */
  }
  
  /* Disable horizontal swipe in leaderboard table */
  .leader-olympic-container .table-responsive {
    touch-action: pan-x pan-y !important; /* Allow table horizontal scroll and vertical scroll */
  }
  
  /* Disable horizontal swipe in leaderboard table itself */
  .leader-olympic-container .leaderboard-table {
    touch-action: pan-x pan-y !important; /* Allow table horizontal scroll and vertical scroll */
  }
  
  /* Ensure table content allows horizontal scroll */
  .leader-olympic-container .table-responsive table {
    touch-action: pan-x pan-y !important;
  }
  
  /* Prevent panel swipe when touching leaderboard elements */
  .leader-olympic-container * {
    touch-action: pan-y !important; /* Default to vertical only */
  }
  
  /* Allow horizontal scroll only for table elements */
  .leader-olympic-container .table-responsive,
  .leader-olympic-container .table-responsive *,
  .leader-olympic-container .leaderboard-table,
  .leader-olympic-container .leaderboard-table * {
    touch-action: pan-x pan-y !important;
  }
  
  /* Add padding to Players panel content on mobile */
  .adddata-participants-data-container {
    padding: 0.5rem !important;
  }
  
  /* Move Add Participant Modal to the top - more specific approach */
  .adddata-participants-data-container {
    display: flex !important;
    flex-direction: column !important;
  }
  
  /* Target the modal component specifically */
  .adddata-participants-data-container .modal,
  .adddata-participants-data-container > div:has(.modal),
  .adddata-participants-data-container > div:last-child:not(.adddata-participants-data-box) {
    order: -1 !important;
  }
  
  /* Keep participants list in normal order */
  .adddata-participants-data-container .adddata-participants-data-box {
    order: 1 !important;
  }
  
  /* Style add participant form fields */
  .add-participants-data-container {
    gap: 0.5rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 10px !important;
    margin: 0 !important;
  }
  
  /* Remove borders from name, email, level and team fields */
  .add-participants-data-container .form-control,
  .add-participants-data-container input,
  .add-participants-data-container textarea,
  .add-participants-data-container select {
    border: none !important;
    background-color: rgba(255,255,255,0.05) !important;
    color: white !important;
  }
  
  /* Remove margin-top from add button */
  .add-participants-save-btn {
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Ensure button container has no padding or margin */
  .add-participants-btn-col {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  
  /* Reset all column margins to use only gap */
  .add-participants-name-col,
  .add-participants-email-col,
  .add-participants-level-col,
  .add-participants-team-col,
  .add-participants-btn-col {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Optimize participants list items on mobile */
  .adddata-participants-data-box-row.new {
    display: flex !important;
    align-items: center !important;
    padding: 12px 16px !important;
    gap: 8px !important;
    background-color: rgba(255,255,255,0.05) !important;
    border-radius: 8px !important;
    margin-bottom: 8px !important;
    min-height: 60px !important;
  }
  
  /* Name column - takes most space */
  .adddata-participants-data-box-row.new .adddata-participants-name-col {
    flex: 1 1 35% !important;
    min-width: 0 !important;
  }
  
  /* Team column - medium space */
  .adddata-participants-data-box-row.new .adddata-participants-team-col {
    flex: 1 1 25% !important;
    min-width: 0 !important;
  }
  
  /* Level column - small space */
  .adddata-participants-data-box-row.new .adddata-participants-level-col {
    flex: 1 1 20% !important;
    min-width: 0 !important;
  }
  
  /* Icons column - fixed width */
  .adddata-participants-data-box-row.new .adddata-participants-icons-col {
    flex: 0 0 20% !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: 8px !important;
  }
  
  /* Text styling for better readability */
  .adddata-participants-data-box-row.new .adddata-participants-name-col p,
  .adddata-participants-data-box-row.new .adddata-participants-team-col p,
  .adddata-participants-data-box-row.new .adddata-participants-level-col p {
    margin: 0 !important;
    font-size: 14px !important;
    font-family: "DINRegular" !important;
    color: #fff !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  
  /* Dropdown styling - smaller font */
  .adddata-participants-data-box-row.new select,
  .adddata-participants-data-box-row.new .form-control {
    font-size: 12px !important;
    font-family: "DINRegular" !important;
    padding: 4px 8px !important;
    height: auto !important;
    min-height: 32px !important;
  }
  
  /* Make level and team dropdowns adapt to content width */
  .adddata-participants-data-box-row.new .adddata-participants-level-col select,
  .adddata-participants-data-box-row.new .adddata-participants-team-col select {
    width: auto !important;
    min-width: 60px !important;
    max-width: 100% !important;
    flex-shrink: 1 !important;
  }
  
  /* Adjust column flex for auto-sizing dropdowns */
  .adddata-participants-data-box-row.new .adddata-participants-level-col,
  .adddata-participants-data-box-row.new .adddata-participants-team-col {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }
  
  /* Name column takes remaining space */
  .adddata-participants-data-box-row.new .adddata-participants-name-col {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  
  /* Icons sizing - make pencil and trash larger */
  .adddata-participants-data-box-row.new .adddata-participants-icons-col svg,
  .adddata-participants-data-box-row.new .adddata-participants-icons-col img {
    width: 24px !important;
    height: 24px !important;
    cursor: pointer !important;
  }
  
  /* Mobile main panel info - optimize button layout and spacing */
  .main-info-content .row.g-2 {
    margin-top: 8px !important;
    margin-bottom: 8px !important;
    gap: 8px !important;
  }
  
  /* Optimize button column sizing for better space distribution */
  .main-info-content .row.g-2 .col-6 {
    flex: 1 1 calc(50% - 4px) !important;
    max-width: calc(50% - 4px) !important;
  }
  
  /* Mobile main panel info - standardize all button heights based on available space */
  .main-info-content .btn.btn-secondary.w-100[style*="background: rgba(255, 215, 0"],
  .main-info-content .btn.btn-secondary.w-100[style*="background: rgba(255, 255, 255, 0.08"],
  .main-info-content .btn.btn-secondary.w-100[style*="height: 56px"] {
    height: 8vh !important;
    min-height: 50px !important;
    max-height: 60px !important;
    padding: 8px 6px !important;
    box-sizing: border-box !important;
    font-size: 12px !important;
  }
  
  /* Optimize button content spacing */
  .main-info-content .btn.btn-secondary.w-100 .d-flex.flex-column.align-items-center.gap-1 {
    gap: 2px !important;
  }
  
  /* Ensure button icon sizing is consistent */
  .main-info-content .btn.btn-secondary.w-100 svg {
    width: 18px !important;
    height: 18px !important;
  }
  
  /* Ensure button text sizing is consistent */
  .main-info-content .btn.btn-secondary.w-100 span {
    font-size: 10px !important;
    line-height: 1.2 !important;
  }
  
  /* Special handling for QR code button with larger icon */
  .main-info-content .btn.btn-secondary.w-100 svg[viewBox="0 0 32 32"] {
    width: 20px !important;
    height: 20px !important;
  }
  
  /* Specific sizing for pencil and trash icons with their actual classes */
  .adddata-participants-data-box-row.new .adddata-participants-data-box-setting-icon {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
  }
  
  .adddata-participants-data-box-row.new .adddata-participants-data-box-close-icon {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
  }
  
  /* Additional fallback selectors for pencil and trash icons */
  .adddata-participants-data-box-row.new .adddata-participants-icons-col svg[data-icon="pencil"],
  .adddata-participants-data-box-row.new .adddata-participants-icons-col .fa-pencil {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
  }
  
  .adddata-participants-data-box-row.new .adddata-participants-icons-col svg[data-icon="trash"],
  .adddata-participants-data-box-row.new .adddata-participants-icons-col .fa-trash {
    width: 18px !important;
    height: 18px !important;
    font-size: 18px !important;
  }
}

/* Desktop styles - restore leaderboard borders */
@media (min-width: 768px) {
  .leader-olympic-container .table-responsive,
  .leader-flash-die-container .table-responsive {
    border: 1px solid #f5484d;
    border-radius: 10px;
  }
  
  /* Style add participant form fields on desktop - more specific selectors */
  .add-participants-data-container .add-participants-name-col .form-control,
  .add-participants-data-container .add-participants-email-col .form-control,
  .add-participants-data-container .add-participants-level-col .form-control,
  .add-participants-data-container .add-participants-team-col .form-control,
  .add-participants-data-container .add-participants-name-col input,
  .add-participants-data-container .add-participants-email-col input,
  .add-participants-data-container .add-participants-level-col input,
  .add-participants-data-container .add-participants-team-col input,
  .add-participants-data-container .add-participants-name-col textarea,
  .add-participants-data-container .add-participants-email-col textarea,
  .add-participants-data-container .add-participants-level-col textarea,
  .add-participants-data-container .add-participants-team-col textarea,
  .add-participants-data-container .add-participants-name-col select,
  .add-participants-data-container .add-participants-email-col select,
  .add-participants-data-container .add-participants-level-col select,
  .add-participants-data-container .add-participants-team-col select,
  .add-participants-data-container .add-participants-name-col .form-select,
  .add-participants-data-container .add-participants-email-col .form-select,
  .add-participants-data-container .add-participants-level-col .form-select,
  .add-participants-data-container .add-participants-team-col .form-select {
    border: none !important;
    background-color: rgba(255,255,255,0.05) !important;
    color: white !important;
    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    line-height: 1.2 !important;
    padding: 10px 15px !important;
    box-sizing: border-box !important;
  }
  
  /* Desktop width for participants container */
  .adddata-participants-data-container {
    width: 100% !important;
  }
  
  /* Desktop padding and gap for add participants form */
  .add-participants-data-container {
    padding: 15px 15px !important;
    gap: 0.5rem !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: end !important;
    justify-content: center !important;
    margin: 0 !important;
  }
  
  /* Make form elements adapt to single row */
  .add-participants-data-container .add-participants-name-col,
  .add-participants-data-container .add-participants-email-col,
  .add-participants-data-container .add-participants-level-col,
  .add-participants-data-container .add-participants-team-col {
    flex: 1 1 0;
    min-width: 150px;
  }
  
  /* Remove margin-bottom from Form.Group for proper alignment */
  .add-participants-data-container .add-participants-name-col .mb-3,
  .add-participants-data-container .add-participants-email-col .mb-3,
  .add-participants-data-container .add-participants-level-col .mb-3,
  .add-participants-data-container .add-participants-team-col .mb-3 {
    margin-bottom: 0 !important;
  }
  
  .add-participants-data-container .add-participants-btn-col {
    flex: 0 0 30%;
    min-width: 100px;
    width: 30%;
  }
  
  /* Remove margin-top from add button on desktop */
  .add-participants-data-container .add-participants-save-btn {
    margin-top: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    padding: 10px 15px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  /* Ensure form controls fit within their containers */
  .add-participants-data-container .form-control,
  .add-participants-data-container input,
  .add-participants-data-container textarea,
  .add-participants-data-container select {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  
  /* Alternative more general approach for desktop */
  .adddata-participants-data-container input,
  .adddata-participants-data-container textarea,
  .adddata-participants-data-container select,
  .adddata-participants-data-container .form-control {
    border: none !important;
    background-color: rgba(255,255,255,0.05) !important;
    color: white !important;
  }
}

/* Registration Dashboard Panel specific styles */
.registration-dashboard-panel {
  /* Inherits styles from .adddata-create-accordion-item */
  margin-bottom: 60px !important;
  border: 1px solid #f5484d !important;
  border-radius: 10px;
  box-shadow: 0px 0px 3px 0px #00000047 !important;
  background-color: #fff;
}

/* Dark mode support for registration dashboard */
.dark-mode-active .registration-dashboard-panel {
  background-color: rgb(33,37,41);
  border-color: rgba(255, 255, 255, 0.1) !important;
}

.dark-mode-active .registration-dashboard-panel .adddata-boulders-data-box {
  background-color: rgba(255,255,255,0.05);
}

/* Remove background from unified box */
.adddata-boulders-data-box.unified-box {
  background: none !important;
  background-color: transparent !important;
}

/* Registration Dashboard Styles - Applied to both mobile and desktop */
/* Stats grid - flexible layout */
.reg-dash-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

/* Individual stat item */
.reg-stat-item {
  background: rgba(245, 72, 77, 0.05);
  border-radius: 8px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 60px;
}

/* Entry fee takes full width on mobile */
.reg-stat-item.entry-fee-full-width {
  grid-column: span 2;
}

/* Gathered amount and You will get - full width on mobile */
@media (max-width: 767px) {
  .reg-dash-stats-grid > .reg-stat-item:nth-child(2),
  .reg-dash-stats-grid > .reg-stat-item:nth-child(3) {
    grid-column: span 2;
  }
}

.reg-stat-item .stat-label {
  font-size: 12px;
  color: #666;
  margin-bottom: 4px;
  font-family: "DINRegular";
}

.reg-stat-item .stat-value {
  font-size: 18px;
  font-weight: bold;
  font-family: "DINBold";
}

.reg-stat-item .stat-value.green,
.reg-stat-item .stat-value .green {
  color: #b9ff66;
}

.reg-stat-item .stat-value.white {
  color: #fff !important;
}

.reg-stat-item .stat-value.notPaidbg {
  color: #fff !important;
}

/* Unified participants styling */
.reg-stat-item.participants-unified {
  grid-column: span 2;
}

.participants-unified .participants-content {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 5px;
}

.participants-unified .total-registered {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  flex: 1;
  width: 33.33%;
}

.participants-unified .total-registered .stat-value {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 0;
}

.participants-unified .total-registered .total-label {
  font-size: 12px;
  color: #666;
  text-transform: lowercase;
}

/* Participants breakdown styling */
.participants-breakdown {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex: 2;
  width: 66.67%;
  margin-top: 5px;
}

.participant-type {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  width: 50%;
}

.participant-type .type-label {
  font-size: 0.7rem;
  color: #666;
  margin-top: 2px;
  text-transform: lowercase;
  font-family: "DINRegular";
}

/* White color for paying number */
.participant-type .stat-value.paying-number {
  color: #ffffff !important;
}

/* Fee charges section */
.fee-charges-section {
  background: rgba(245, 72, 77, 0.05);
  border-radius: 8px;
  padding: 12px;
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  grid-column: span 2;
  height: auto;
  min-height: 60px;
}

.fee-charges-title {
  font-size: 12px;
  color: #666;
  margin-bottom: 5px;
  font-family: "DINRegular";
  font-weight: normal;
  text-align: center;
}

.fee-charges-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.fee-charge-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0;
  text-align: center;
}

.fee-charge-item .fee-label {
  font-size: 11px;
  margin-bottom: 2px;
  color: #666;
  font-family: "DINRegular";
}

.fee-charge-item .fee-value {
  font-size: 18px;
  font-weight: 600;
  font-family: "DINBold";
  color: #333;
}

/* Dark mode styles */
.dark-mode-active .reg-stat-item {
  background: rgba(255, 255, 255, 0.05);
}

.dark-mode-active .reg-stat-item .stat-label {
  color: #999;
}

.dark-mode-active .participant-type .type-label {
  color: #999;
}

.dark-mode-active .participants-unified .total-registered .total-label {
  color: #999;
}

.dark-mode-active .fee-charges-section {
  background: rgba(255, 255, 255, 0.05);
}

.dark-mode-active .fee-charges-title {
  color: #999;
}

.dark-mode-active .fee-charge-item .fee-label {
  color: #999;
}

.dark-mode-active .fee-charge-item .fee-value {
  color: #fff;
}

/* Withdrawal info text */
.withdraw-info-text {
  font-size: 12px;
  color: #666;
  text-align: center;
  margin: 12px 0 0 0;
  font-style: italic;
}

.dark-mode-active .withdraw-info-text {
  color: #999;
}

/* Mobile terms text */
.mobile-terms-text {
  margin-top: 0;
  text-align: center;
  font-size: 12px;
  color: #666;
  font-style: italic;
}

.mobile-terms-text a {
  color: #f5484d;
  text-decoration: none;
}

.mobile-terms-text a:hover {
  text-decoration: underline;
}

.dark-mode-active .mobile-terms-text {
  color: #999;
}

/* Action buttons styling */
.reg-dash-action-buttons {
  display: flex;
  gap: 10px;
  margin-top: 20px;
  justify-content: center;
  flex-wrap: wrap;
}

.reg-dash-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 5px;
  font-family: "DINBold";
  font-size: 14px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}

.reg-dash-btn.print-btn {
  background-color: #e0e0e0;
  color: #333;
}

.reg-dash-btn.print-btn:hover {
  background-color: #d0d0d0;
}

.reg-dash-btn.withdraw-btn {
  background-color: #f5484d;
  color: white;
}

.reg-dash-btn.withdraw-btn:hover {
  background-color: #e03e43;
}

.reg-dash-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Dark mode button styles */
.dark-mode-active .reg-dash-btn.print-btn {
  background-color: rgb(33,37,41);
  color: #fff;
}

.dark-mode-active .reg-dash-btn.print-btn:hover {
  background-color: #555;
}

/* Registration closes info */
.reg-dash-registration-closes {
  text-align: center;
  margin-top: 15px;
  padding: 10px;
  background-color: rgba(245, 72, 77, 0.05);
  border-radius: 5px;
}

.dark-mode-active .reg-dash-registration-closes {
  background-color: rgba(255, 255, 255, 0.05);
}

/* Withdrawal section styling */
.withdrawal-status-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 10px;
}

.withdrawal-label {
  font-size: 12px;
  color: #666;
  margin: 0;
  font-weight: 500;
}

.withdrawal-status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
}

.withdrawal-status.pending {
  background-color: rgba(255, 193, 7, 0.1);
  color: #F57C00;
}

.withdrawal-status.completed {
  background-color: rgba(76, 175, 80, 0.1);
  color: #388E3C;
}

.dark-mode-active .withdrawal-label {
  color: #999;
}

.dark-mode-active .registration-dashboard-panel .adddata-boulders-data-box-row {
  border-color: rgba(255, 255, 255, 0.1);
}

.dark-mode-active .adddata-boulders-data-box-row {
  /* margin-bottom: 0.5rem; - Using gap on parent container instead */
}

/* Use flex for boulder rows layout */
.adddata-boulders-data-box.new {
  display: flex;
  flex-direction: column;
}

/* Remove margin and border in mobile carousel view */
@media (max-width: 767px) {
  .carousel-panel .registration-dashboard-panel {
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    height: 100% !important;
  }
  
  /* Ensure registration dashboard containers fill available height */
  .carousel-panel .registration-dashboard-panel-container,
  .carousel-panel .registration-dashboard-content {
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  
  /* Make accordion fill available height when expanded */
  .carousel-panel .registration-dashboard-panel.Mui-expanded {
    display: flex;
    flex-direction: column;
  }
  
  /* Ensure proper spacing for accordion content */
  .carousel-panel .registration-dashboard-panel .MuiAccordionDetails-root {
    padding: 16px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    overflow-y: auto;
  }
  
  /* Make the content container fill available space */
  .carousel-panel .registration-dashboard-panel .adddata-registration-dash-data-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  
  /* Make data boxes expand to fill available space */
  .carousel-panel .registration-dashboard-panel .adddata-boulders-data-box {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  
  /* Make the second box (with stats) expand more */
  .carousel-panel .registration-dashboard-panel .adddata-boulders-data-box:last-child {
    flex: 2;
  }
}

/* Mobile optimized registration dashboard styles */
@media (max-width: 767px) {
  /* Hide old elements in mobile optimized layout */
  .mobile-optimized .adddata-boulders-data-box-row,
  .mobile-optimized .reg-info-block {
    display: none;
  }
  
  .mobile-optimized .unified-box {
    display: flex;
    flex-direction: column;
    gap: 12px;
    height: 100%;
    padding: 0 !important;
    background: none !important;
    background-color: transparent !important;
  }
  
  /* Compact search bar */
  .reg-dash-search-compact {
    width: 100%;
  }
  
  .reg-dash-search-compact .custom-input-group {
    height: 40px;
    border: none !important;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: none !important;
  }
  
  .reg-dash-search-compact .form-control {
    font-size: 14px;
    padding: 0.5rem !important;
    border: none !important;
    background-color: #fff;
  }
  
  .reg-dash-search-compact .input-group-text {
    border: none !important;
    background-color: #fff;
    padding: 0.5rem !important;
  }
  
  .reg-dash-search-compact .input-group-text#input-left-icon {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
  }
  
  .reg-dash-search-compact .input-group-text svg {
    color: #9f9f9f;
  }
  
  .reg-dash-search-compact .input-group-text.search-icon,
  .reg-dash-search-compact #input-right-icon {
    background-color: #f5484d !important;
    color: #fff !important;
    cursor: pointer !important;
    padding: 0 25px !important;
    border-top-right-radius: 5px !important;
    border-bottom-right-radius: 5px !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  .reg-dash-search-compact .search-icon svg,
  .reg-dash-search-compact #input-right-icon svg,
  .reg-dash-search-compact .search-icon > *,
  .reg-dash-search-compact #input-right-icon > * {
    color: #fff !important;
    display: block !important;
    visibility: visible !important;
    width: 18px;
    height: 18px;
    min-width: 18px;
    min-height: 18px;
  }
  
  /* Dark mode search bar */
  .dark-mode-active .reg-dash-search-compact .custom-input-group {
    border: none !important;
    box-shadow: none !important;
  }
  
  .dark-mode-active .reg-dash-search-compact .input-group-text,
  .dark-mode-active .reg-dash-search-compact .form-control {
    background-color: rgba(255,255,255,0.05) !important;
    color: #fff !important;
  }
  
  .dark-mode-active .reg-dash-search-compact .input-group-text svg {
    color: rgb(159, 159, 159);
  }
  
  .dark-mode-active .reg-dash-search-compact .search-icon svg {
    color: #fff !important;
  }
  
  /* Remove margin-top from fee charges section in mobile */
  .fee-charges-section {
    margin-top: 0 !important;
    padding: 12px !important;
    background: rgba(245, 72, 77, 0.05) !important;
    border-radius: 8px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    grid-column: span 2 !important;
    height: auto !important;
    min-height: 60px !important;
  }
  
  /* Single row layout for fee charges in mobile */
  .fee-charges-title {
    font-size: 12px !important;
    color: #666 !important;
    margin-bottom: 5px !important;
    font-family: "DINRegular" !important;
    font-weight: normal !important;
    text-align: center !important;
  }
  
  .fee-charges-grid {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
  }
  
  .fee-charge-item {
    flex: 1;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    text-align: center !important;
  }
  
  .fee-charge-item .fee-label {
    font-size: 11px !important;
    margin-bottom: 2px !important;
  }
  
  .fee-charge-item .fee-value {
    font-size: 18px !important;
    font-weight: 600 !important;
    font-family: "DINBold" !important;
  }
  
  /* Dark mode for fee charges in mobile */
  .dark-mode-active .fee-charges-section {
    background: rgba(255, 255, 255, 0.05) !important;
  }
  
  .dark-mode-active .fee-charges-title {
    color: #999 !important;
  }
  
  /* Search section */
  .reg-dash-search-section {
    width: 100%;
  }
  
  /* Mobile search input container */
  .reg-dash-search-section .reg-dash-input-icons-container {
    width: 100% !important;
    margin-bottom: 12px;
  }
  
  .reg-dash-search-section .reg-dash-input-icons-container .custom-input-group {
    width: 100%;
    border: none !important;
  }
  
  /* Remove borders from search inputs */
  .reg-dash-input-icons-container .custom-input-group,
  .reg-dash-input-icons-container .custom-input-group.input-group {
    border: none !important;
  }
  
  .reg-dash-input-icons-container .input-group-text {
    border: none !important;
  }
  
  .reg-dash-input-icons-container .form-control {
    border: none !important;
  }
  
  .search-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
    font-family: "DINBold";
  }
  
  /* Stats grid - flexible layout */
  .reg-dash-stats-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-top: 12px;
  }
  
  /* Withdrawal info text */
  .withdraw-info-text {
    font-size: 12px;
    color: #666;
    text-align: center;
    margin: 12px 0 0 0;
    font-style: italic;
  }
  
  /* Individual stat item */
  .reg-stat-item {
    background: rgba(245, 72, 77, 0.05);
    border-radius: 8px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 60px;
  }
  
  /* Entry fee takes full width on mobile */
  .reg-stat-item.entry-fee-full-width {
    grid-column: span 2;
  }
  
  .reg-stat-item .stat-label {
    font-size: 12px;
    color: #666;
    margin-bottom: 4px;
    font-family: "DINRegular";
  }
  
  .reg-stat-item .stat-value {
    font-size: 18px;
    font-weight: bold;
    font-family: "DINBold";
  }
  
  .reg-stat-item .stat-value.green,
  .reg-stat-item .stat-value .green {
    color: #b9ff66;
  }
  
  .reg-stat-item .stat-value.white {
    color: #fff !important;
  }
  
  .reg-stat-item .stat-value.notPaidbg {
    color: #fff !important;
  }
  
  /* Unified participants styling */
  .reg-stat-item.participants-unified {
    grid-column: span 2;
  }
  
  .participants-unified .participants-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: 5px;
  }
  
  .participants-unified .total-registered {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    flex: 1;
    width: 33.33%;
  }
  
  .participants-unified .total-registered .stat-value {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 0;
  }
  
  .participants-unified .total-registered .total-label {
    font-size: 12px;
    color: #666;
    text-transform: lowercase;
  }
  
  .reg-stat-item .stat-value .separator {
    color: #999;
    font-weight: normal;
  }
  
  .reg-stat-item .stat-sublabel {
    font-size: 10px;
    color: #999;
    margin-top: 2px;
    font-style: italic;
  }
  
  /* Participants breakdown styling */
  .participants-breakdown {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex: 2;
    width: 66.67%;
    margin-top: 5px;
  }
  
  .participant-type {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    width: 50%;
  }
  
  .participant-type .type-label {
    font-size: 0.7rem;
    color: #666;
    margin-top: 2px;
    text-transform: lowercase;
    font-family: "DINRegular";
  }
  
  /* White color for paying number */
  .participant-type .stat-value.paying-number {
    color: #ffffff !important;
  }
  
  /* Fee charges section */
  .fee-charges-section {
    background: rgba(0,0,0,0.03);
    border-radius: 8px;
    padding: 12px;
    margin-top: 12px;
    min-height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  .fee-charges-title {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 8px;
    color: #333;
    font-family: "DINBold";
  }
  
  .fee-charges-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
  }
  
  .fee-charge-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 4px 0;
  }
  
  .fee-label {
    font-size: 12px;
    color: #666;
    font-family: "DINRegular";
  }
  
  .fee-value {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    font-family: "DINBold";
  }
  
  
  .withdrawal-status-container {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: center;
    margin: 15px 0;
  }
  
  /* Direct withdrawal button styling for mobile */
  .mobile-optimized .withdrawal-button {
    width: 100%;
    max-width: 300px;
    margin: 15px auto;
    display: block;
  }
  
  /* Withdraw info text for mobile */
  .mobile-optimized .withdraw-info-text {
    text-align: center;
    margin-top: 10px;
  }
  
  .withdrawal-label {
    font-size: 12px;
    color: #666;
    margin: 0;
    font-weight: 500;
  }
  
  .withdrawal-status {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 14px;
  }
  
  .withdrawal-status.pending {
    background-color: rgba(255, 193, 7, 0.1);
    color: #F57C00;
  }
  
  .withdrawal-status.completed {
    background-color: rgba(76, 175, 80, 0.1);
    color: #388E3C;
  }
  
  /* Dark mode adjustments */
  .dark-mode-active .search-title {
    color: #fff;
  }
  
  .dark-mode-active .withdraw-info-text {
    color: #999;
  }
  
  .dark-mode-active .withdrawal-label {
    color: #999;
  }
  
  .dark-mode-active .reg-stat-item {
    background: rgba(255, 255, 255, 0.05);
  }
  
  .dark-mode-active .reg-stat-item .stat-label {
    color: #999;
  }
  
  .dark-mode-active .reg-stat-item .stat-sublabel {
    color: #666;
  }
  
  .dark-mode-active .participant-type .type-label {
    color: #999;
  }
  
  /* Keep paying number white in dark mode too */
  .dark-mode-active .participant-type .stat-value.paying-number {
    color: #ffffff !important;
  }
  
  .dark-mode-active .participants-unified .total-registered .total-label {
    color: #999;
  }
  
  .dark-mode-active .fee-charges-section {
    background: rgba(255, 255, 255, 0.05);
  }
  
  .dark-mode-active .fee-charges-title {
    color: #fff;
  }
  
  .dark-mode-active .fee-label {
    color: #999;
  }
  
  .dark-mode-active .fee-value {
    color: #fff;
  }
  
  
  /* Remove margins from unified box in mobile */
  .carousel-panel .mobile-optimized .adddata-boulders-data-box.unified-box {
    margin: 0 !important;
  }
  
  /* Mobile terms text */
  .mobile-terms-text {
    margin-top: 0;
    text-align: center;
    font-size: 12px;
    color: #666;
    font-style: italic;
  }
  
  .mobile-terms-text a {
    color: #f5484d;
    text-decoration: none;
  }
  
  .mobile-terms-text a:hover {
    text-decoration: underline;
  }
  
  .dark-mode-active .mobile-terms-text {
    color: #999;
  }
  
  /* Very small screens optimization */
  @media (max-width: 380px) {
    .search-title {
      font-size: 13px;
    }
    
    .reg-dash-stats-grid {
      gap: 8px;
    }
    
    .reg-stat-item {
      padding: 8px;
      min-height: 50px;
    }
    
    .reg-stat-item .stat-label {
      font-size: 11px;
    }
    
    .reg-stat-item .stat-value {
      font-size: 14px;
    }
    
    .reg-stat-item .stat-sublabel {
      font-size: 9px;
    }
    
    .fee-charges-section {
      padding: 8px !important;
      min-height: 50px;
    }
    
    .fee-charges-title {
      font-size: 12px;
    }
    
    .fee-label,
    .fee-value {
      font-size: 11px;
    }
    
    .withdraw-info-text {
      font-size: 11px;
    }
    
    .mobile-terms-text {
      font-size: 11px;
    }
  }
}

/* Desktop styles - keep original layout */
@media (min-width: 768px) {
  /* Hide only carousel panel specific mobile elements on desktop */
  .carousel-panel .reg-dash-search-section {
    display: none !important;
  }


  /* Show original elements on desktop */
  .mobile-optimized .adddata-boulders-data-box-row,
  .mobile-optimized .reg-info-block,
  .mobile-optimized .adddata-participants-title {
    display: flex !important;
  }
  
  /* Show original search input container on desktop */
  .mobile-optimized .reg-dash-input-icons-container {
    display: flex !important;
  }
  
  /* Ensure unified box is visible on desktop */
  .mobile-optimized .unified-box {
    display: flex !important;
    flex-direction: column;
    gap: 12px;
  }
}

/* New responsive layout for add participants form */
/* Desktop layout - all fields on one row for large screens */
@media (min-width: 1200px) {
  .add-participants-data-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 15px !important;
  }
  
  .add-participants-fields-row {
    display: flex !important;
    gap: 0.5rem !important;
    align-items: flex-end !important;
    flex-wrap: nowrap !important;
    width: 100% !important;
  }
  
  .add-participants-fields-row .add-participants-name-col,
  .add-participants-fields-row .add-participants-email-col {
    flex: 1 1 25% !important;
    min-width: 180px !important;
  }
  
  .add-participants-fields-row .add-participants-btn-col {
    flex: 0 1 15% !important;
    min-width: 120px !important;
  }
  
  /* Remove margin-bottom from dropdown Form.Groups */
  .add-participants-fields-row .add-participants-btn-col .mb-3 {
    margin-bottom: 0 !important;
  }
  
  /* Uniform height for all input fields and dropdowns */
  .add-participants-fields-row input,
  .add-participants-fields-row select,
  .add-participants-fields-row .form-control,
  .add-participants-fields-row .form-select {
    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    padding: 10px 15px !important;
    box-sizing: border-box !important;
  }
  
  .add-participants-button-row {
    display: flex !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
  }
  
  .add-participants-button-row .add-participants-save-btn,
  .add-participants-button-row .select-pt-from-stage-btn {
    height: 43px !important;
    padding: 10px 20px !important;
    margin: 0 !important;
  }
}

/* Small desktop - two-row layout for fields */
@media (min-width: 768px) and (max-width: 1199px) {
  .add-participants-data-container {
    display: flex !important;
    flex-direction: column !important;
    gap: 1rem !important;
    padding: 15px !important;
  }
  
  .add-participants-fields-row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.5rem !important;
    align-items: flex-end !important;
    width: 100% !important;
  }
  
  /* Base styles for name and email fields */
  .add-participants-fields-row .add-participants-name-col,
  .add-participants-fields-row .add-participants-email-col {
    flex: 1 1 calc(50% - 0.25rem) !important;
    min-width: 200px !important;
  }
  
  /* Base styles for dropdown fields */
  .add-participants-fields-row .add-participants-btn-col {
    flex: 0 1 auto !important;
    min-width: 120px !important;
  }
  
  /* When there's only 1 dropdown - all three elements share the row equally */
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(3):last-child) > * {
    flex: 1 1 calc(33.33% - 0.33rem) !important;
    min-width: 150px !important;
  }
  
  /* When there are 2+ dropdowns - create a line break after email using pseudo-element */
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(4))::before {
    content: "";
    width: 100%;
    order: 1;
  }
  
  /* Reorder elements when there are 2+ dropdowns */
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(4)) .add-participants-name-col {
    order: 0;
  }
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(4)) .add-participants-email-col {
    order: 0;
  }
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(4)) .add-participants-btn-col {
    order: 2;
  }
  
  /* When there are exactly 2 dropdowns - they take 50% each on second row */
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(4):last-child) .add-participants-btn-col {
    flex: 1 1 0 !important;
    width: 50% !important;
    max-width: calc(50% - 0.25rem) !important;
  }
  
  /* When there are 3 dropdowns - they take 33.33% each on second row */
  .add-participants-fields-row:has(.add-participants-btn-col:nth-child(5)) .add-participants-btn-col {
    flex: 1 1 0 !important;
    width: 33.33% !important;
    max-width: calc(33.33% - 0.33rem) !important;
  }
  
  /* Ensure the row container has no padding that reduces available space */
  .add-participants-fields-row {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Remove margin-bottom from dropdown Form.Groups */
  .add-participants-fields-row .add-participants-btn-col .mb-3 {
    margin-bottom: 0 !important;
  }
  
  /* Uniform height for all input fields and dropdowns */
  .add-participants-fields-row input,
  .add-participants-fields-row select,
  .add-participants-fields-row .form-control,
  .add-participants-fields-row .form-select {
    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    padding: 10px 15px !important;
    box-sizing: border-box !important;
  }
  
  .add-participants-button-row {
    display: flex !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: 100% !important;
  }
  
  .add-participants-button-row .add-participants-save-btn,
  .add-participants-button-row .select-pt-from-stage-btn {
    height: 43px !important;
    padding: 10px 20px !important;
    margin: 0 !important;
  }
}

/* Mobile layout - preserve existing behavior */
@media (max-width: 767px) {
  .add-participants-fields-row {
    display: contents !important; /* This makes the wrapper disappear and children behave as direct children */
  }
  
  .add-participants-button-row {
    display: contents !important; /* This makes the wrapper disappear and children behave as direct children */
  }
  
  /* Restore the original mobile layout with mt-4 on buttons */
  .add-participants-button-row .add-participants-save-btn,
  .add-participants-button-row .select-pt-from-stage-btn {
    margin-top: 1.5rem !important; /* Restore mt-4 */
  }
}

/* Search Bar Styles - Both Desktop and Mobile */
.custom-input-group {
  border-radius: 5px !important;
  overflow: hidden;
  border: none !important;
  box-shadow: none !important;
}

.custom-input-group .form-control {
  border: none !important;
  box-shadow: none !important;
  background: transparent;
}

.custom-input-group .input-group-text {
  background: white;
  border: none !important;
}

/* Search button red styling for all versions */
.search-icon.input-group-text,
#input-right-icon.input-group-text {
  background-color: #f5484d !important;
  color: #fff !important;
  cursor: pointer;
}

.search-icon svg,
#input-right-icon svg {
  color: #fff !important;
}

/* Dark mode custom input group */
.dark-mode-active .custom-input-group {
  background: rgba(255, 255, 255, 0.1);
  box-shadow: none !important;
}

.dark-mode-active .custom-input-group .input-group-text:not(.search-icon):not(#input-right-icon) {
  background: transparent;
  color: #fff;
}

.dark-mode-active .custom-input-group .form-control {
  background: transparent;
  color: #fff;
}

/* Modal Blur/Glass Effect - Desktop Only */
@media (min-width: 768px) {
  /* When modal is open, blur the background */
  body.modal-open .modal-backdrop {
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-color: rgba(0, 0, 0, 0.85);
  }
  
  /* Glass effect for the modal content */
  .modal-dialog .modal-content {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
  }
  
  /* Dark mode glass effect */
  .dark-mode-active .modal-dialog .modal-content {
    background: rgba(33, 37, 41, 0.85);
    border: 1px solid rgba(255, 255, 255, 0.1);
  }
  
  /* Specific styling for payment search modal */
  #rumblePaymentList .modal-content {
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
  }
  
  .dark-mode-active #rumblePaymentList .modal-content {
    background: rgba(30, 30, 30, 0.98);
  }
}

/* Desktop accordion content padding */
@media (min-width: 768px) {
  .adddata-create-accordion-content {
    padding: 1.5rem;
  }
}

/* Desktop isolate view button styles */
.desktop-leaderboard-buttons .btn svg {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

/* Desktop isolate view icon - TRIPLICATA */
.desktop-leaderboard-buttons .btn svg[viewBox="0 0 17 17"] {
  width: 60px !important;
  height: 60px !important;
  margin: auto !important;
  display: block !important;
  flex-shrink: 0 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.desktop-leaderboard-buttons .btn svg[viewBox="0 0 17 17"] {
  width: 60px !important;
  height: 60px !important;
  margin: auto !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* Desktop isolate view button padding */
.desktop-leaderboard-buttons .btn:has(svg[viewBox="0 0 17 17"]) {
  padding: 2px !important;
}

.desktop-leaderboard-buttons .btn:has(svg[viewBox="0 0 17 17"]) {
  padding: 1px !important;
}

/* FiPrinter icon for desktop */
.desktop-leaderboard-buttons .btn svg[data-icon="printer"] {
  width: 20px !important;
  height: 20px !important;
}

/* EXTRA FIXES FOR VISIBILITY */
/* Force all toggle icons to be really visible */
.boulder-filter-toggle-option svg path {
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

/* Additional visibility for all paths and elements inside SVG */
.boulder-filter-toggle-option svg * {
  fill: currentColor !important;
  opacity: 1 !important;
}

/* Make sure icons fill their space */
.boulder-filter-toggle-option {
  overflow: visible !important;
}

/* Desktop specific overrides for better visibility */
@media (min-width: 768px) {
  .boulder-filter-toggle-option svg {
    min-width: 22px !important;
    min-height: 22px !important;
  }
}

/* Specific styles for isolated view icon in toggle */
.boulder-filter-toggle-option svg[viewBox="0 0 17 17"] {
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  transform: scale(1.3);
  transform-origin: center;
}

/* Mobile specific for isolated view icon */
@media (max-width: 767px) {
  .boulder-filter-toggle-option svg[viewBox="0 0 17 17"] {
    width: 15px !important;
    height: 15px !important;
    min-width: 15px !important;
    min-height: 15px !important;
    transform: scale(1.2);
  }
}

/* Ensure paths in isolated view icon are visible */
.boulder-filter-toggle-option svg[viewBox="0 0 17 17"] path {
  fill: currentColor !important;
  stroke: currentColor !important;
  opacity: 1 !important;
}

/* Preserve stroke widths for isolated view icon */
.boulder-filter-toggle-option svg[viewBox="0 0 17 17"] path[stroke-width] {
  stroke-width: inherit !important;
}

/* Active state for isolated view icon */
.boulder-filter-toggle-option.active svg[viewBox="0 0 17 17"] path {
  fill: #fff !important;
  stroke: #fff !important;
}

/* Light mode specific for isolated view icon */
body:not(.dark-mode-active) .boulder-filter-toggle-option svg[viewBox="0 0 17 17"] path {
  fill: rgba(0,0,0,0.9) !important;
  stroke: rgba(0,0,0,0.9) !important;
}

/* Dark mode specific for isolated view icon */
.dark-mode-active .boulder-filter-toggle-option svg[viewBox="0 0 17 17"] path {
  fill: rgba(255,255,255,0.9) !important;
  stroke: rgba(255,255,255,0.9) !important;
}


/* Mobile Add Stage Button - Styled like nav buttons but with desktop banner appearance */
@media (max-width: 768px) {
  .add-stage-button-mobile {
    /* Override profile-nav-button defaults for special styling */
    background: linear-gradient(135deg,
      rgba(185, 255, 102, 0.1),
      rgba(185, 255, 102, 0.05)
    ) !important;
    border: none !important; /* Remove inherited border from profile-nav-button */
    position: relative;
    overflow: hidden;
    min-height: 80px; /* Slightly taller for the two-line text */
  }

  /* Pulse animation border - ENHANCED */
  .add-stage-button-mobile::before {
    content: "";
    position: absolute;
    inset: 0;
    border: 1px solid rgba(185, 255, 102, 0.8);  /* 1px thickness, green color */
    border-radius: 12px;
    animation: pulse 1.5s cubic-bezier(0.4, 0, 0.6, 1) infinite;  /* Faster pulse */
    pointer-events: none;
  }

  .add-stage-button-mobile:hover {
    background: linear-gradient(135deg,
      rgba(185, 255, 102, 0.2),
      rgba(185, 255, 102, 0.1)
    ) !important;
    transform: translateY(-2px);
  }

  .add-stage-mobile-content {
    display: flex;
    flex-direction: row;  /* Horizontal layout */
    align-items: center;
    gap: 12px;
    z-index: 1;
    position: relative;
    width: 100%;
    justify-content: center;  /* Center the content */
    padding: 0 8px;
  }

  .add-stage-icon-mobile {
    color: rgb(185, 255, 102);
    flex-shrink: 0;
  }

  .add-stage-text-mobile {
    text-align: left;  /* Left align for horizontal layout */
    /* Removed flex: 1 to prevent expansion */
  }

  .add-stage-text-mobile strong {
    display: block;
    font-size: 13px;
    color: #fff;
    margin-bottom: 2px;
  }

  .add-stage-text-mobile span {
    display: block;
    font-size: 13px;  /* Same size as text above */
    color: rgba(255, 255, 255, 0.9);
    font-weight: 500;
  }

  /* Mobile-specific padding for nav wrapper */
  .profile-nav-wrapper {
    padding: 0.4rem 0 !important;  /* Reduced padding */
  }
}

/* Enhanced pulse animation */
@keyframes pulse {
  0%, 100% {
    opacity: 0.1;  /* More transparent at start/end */
    transform: scale(0.95);  /* More scale change */
  }
  50% {
    opacity: 1;  /* Fully visible at peak */
    transform: scale(1.02);  /* Slight expansion */
    box-shadow: 0 0 20px rgba(185, 255, 102, 0.5);  /* Green glow effect */
  }
}
