@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@200;300;400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jura:wght@300..700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Major+Mono+Display&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Jura", sans-serif;
}

body {
  margin: 0 auto;
  background-color: #f8f9fa;
  padding-top: 88px;
}

h1 {
  color: #11101d;
}

h2 {
  color: #1a2851;
  text-align: center;
  font-family: "Jura", sans-serif;
}

h3 {
  color: #11101d;
  font-weight: 400;
}

/* Pridėkite šį kodą į savo CSS failą */

.btn-quick-add {
  display: flex;
  align-items: center;
  padding: 8px 16px;
  margin-right: 15px; /* Tarpas nuo kito elemento */
  background-color: #e4e3e3;
  color: #ef4444; /* Raudona spalva, kaip prašėte */
  font-weight: 600;
  text-decoration: none;
  border-radius: 20px; /* Apvalūs kraštai */
  transition: background-color 0.2s ease-in-out;
  border: 1px solid #4b5563;
}

.btn-quick-add:hover {
  background-color: #f5f6fa; /* Šviesesnė spalva užvedus pelę */
}

#bet-form {
  max-width: 700px;
  width: 90%;
  margin: 0 auto 20px;
  transition: all 0.5s ease;
}

@media (max-width: 767px) {
  #bet-form {
    width: 100%;
    padding: 0 5px;
  }

  .btn-quick-add {
    display: none;
  }

  #bet-filters-container {
    width: 100%;
    padding: 0 7px;
  }

  #bet-filters {
    width: 100%;
    padding: 0 5px;
  }
}

#bet-form h2 {
  text-align: center;
}

form {
  display: grid;
  gap: 5px;
  margin-bottom: 5px;
  margin-top: 20px;
}

button {
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}

button {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  background-color: white;
  color: black;
  border: 1px solid black;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

input,
select {
  background-color: #fff;
  border-width: 0.25px;
  border-radius: 4px;
  padding: 8px;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 2px 4px rgba(149, 147, 147, 0.1);
  border-color: #ddd;
  border-style: solid;
}

select {
  max-height: 100px;
  overflow-y: auto;
  text-align: center;
  box-shadow: none;
  border-color: transparent;
  width: 90%;
}

input:hover {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15); /* Slight shadow on hover */
}

input:focus {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Enhanced shadow on focus */
}

table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

th,
td {
  padding: 8px;
  text-align: left;
}

th {
  background-color: #f2f2f2;
  font-weight: bold;
}

#back-to-top {
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  border: none;
  outline: none;
  background-color: #1a2851;
  color: white;
  cursor: pointer;
  padding: 15px;
  border-radius: 50%;
  font-size: 18px;
  transition: opacity 0.3s, visibility 0.3s;
  opacity: 0;
  visibility: hidden;
}

#back-to-top:hover {
  background-color: #2a3b6b;
}

@keyframes pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(26, 40, 81, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(26, 40, 81, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(26, 40, 81, 0);
  }
}

#back-to-top.show {
  opacity: 1;
  visibility: visible;
  animation: pulse 5s infinite;
}

.edit-bet,
.delete-bet {
  padding: 5px 10px;
  margin: 2px;
}

#stats {
  margin-top: 20px;
  padding: 10px;
  background-color: #f2f2f2;
  border-radius: 8px;
}

#stats-filter,
#custom-date-range {
  margin-bottom: 10px;
}

#custom-date-range input {
  width: auto;
  margin-right: 10px;
}

.stat-category {
  margin-bottom: 12px;
  background-color: #fff;
  border-radius: 4px;
  overflow: hidden;
  text-align: center;
}

.stat-category h3 {
  padding: 8px;
  margin: 0;
  background-color: #1a2851;
  color: white;
  cursor: pointer;
  font-size: 1em;
  font-weight: 500;
}

.stat-content {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.stat-content table {
  min-width: 100%;
  width: max-content;
}

.stat-content th,
.stat-content td {
  border: 1px solid #f5f6fa;
  padding: 8px;
  text-align: left;
  border-radius: 5px;
}

.stat-content th {
  background-color: #f5f6fa;
  font-weight: bold;
}

.stat-content tr:nth-child(even) {
  background-color: #f5f6fa;
}

.auth-container {
  max-width: 350px;
  margin: 100px auto;
  padding: 20px;
  border: 1px solid #f0f4ff;
  border-radius: 5px;
}

.auth-container input {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  box-sizing: border-box;
}

.auth-container button {
  width: 100%;
  padding: 10px;
  background-color: #294258;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

.auth-container p {
  text-align: center;
}

.bet-entry {
  display: flex;
  flex-direction: column;
  padding: 10px;
  transition: background-color 0.3s;
  color: #11101d;
  border-bottom: 1px solid #f5f6fa;
}

.bet-entry:hover {
  background-color: #f5f6fa;
}

.bet-header {
  margin-bottom: 5px;
}

.bet-details {
  display: grid;
  grid-template-columns: 2fr 2fr 1fr 1fr 1fr 1fr 0.5fr;
  align-items: center;
  gap: 10px;
}

.bet-odds {
  text-align: right;
}

.bet-time {
  font-size: 0.9em;
  color: #666;
}

.bet-stake,
.bet-profit,
.bet-bookmaker {
  flex: 0 0 80px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 5px;
  text-align: right;
}
/*idedu*/
.bet-list-container {
  overflow-x: hidden;
  padding-bottom: 20px;
  padding-top: 20px;
}

.bet-header,
.bet-entry {
  display: grid;
  grid-template-columns:
    minmax(6%, 80px) minmax(20px, 32px) 28% 24% 9% 7% minmax(11%, 15%)
    8%;
  align-items: center;
  padding: 3px;
  width: 100%;
  text-align: left;
}

.theme-toggle {
  background-color: #e4e3e3;
  color: #1a2851;
  border: none;
  border-radius: 20px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: background-color 0.3s, color 0.3s;
}

.theme-toggle i {
  font-size: 18px;
}

.theme-toggle span {
  font-size: 14px;
  font-weight: bold;
}

.theme-toggle:hover {
  background-color: #f5f6fa;
}

.bet-header {
  font-weight: 600;
  background-color: #f5f6fa;
  padding-top: 6px;
  padding-bottom: 6px;
  border-radius: 5px;
}

.bet-header > div {
  padding: 3px;
  display: flex;
  align-items: center;
  overflow: hidden;
  word-break: normal;
  text-align: left;
}

.bet-header div[onclick] {
  cursor: pointer;
  text-decoration: underline;
}

.bet-entry > div {
  padding: 3px;
  display: flex;
  align-items: center;
  overflow: hidden;
  white-space: normal;
  word-break: break-word;
  position: relative;
  text-align: left;
}

.bet-notes {
  text-align: left;
  font-size: 1.2em;
  display: flex;
}

.bet-notes i {
  cursor: help;
  position: left;
}

.bet-market,
.bet-selection,
.bet-stake,
.bet-odds,
.bet-bookmaker,
.bet-profit {
  font-weight: normal;
  justify-content: left;
  max-width: 100%;
  overflow: visible;
  white-space: normal;
  word-break: break-word;
  cursor: default;
  padding-right: 10px;
}

.bet-datetime {
  font-size: 0.95em;
  color: #11101d;
  white-space: nowrap;
  text-align: left;
  font-weight: 400;
}

.bet-date {
  text-align: left;
  display: block; /* Ensure block display to avoid inline issues */
  line-height: 0.65; /* Adjust for better spacing */
}

.bet-date strong,
.bet-date span {
  display: block; /* Ensure block display for each part of the date */
  margin: 0;
  padding: 0;
}

.bet-sport-icon {
  font-size: 0.8em;
  justify-content: center;
}

.bet-stake,
.bet-odds,
.bet-bookmaker,
.bet-profit {
  justify-content: left;
  text-align: left;
}

.bet-entry.settled {
  background-color: #f2f2f2;
}

.sort-asc::after {
  margin-left: 2px;
  content: " ▲";
  font-size: 8px;
}

.sort-desc::after {
  margin-left: 2px;
  content: " ▼";
  font-size: 8px;
}

.profit {
  color: #26894f;
}
.loss {
  color: #e74c3c;
}
.void {
  color: #11101d;
}
.mobile-only-sort {
  display: none;
}

.mobile-only {
  display: none;
}
@media (max-width: 800px) {
  .mobile-only-sort {
    display: block;
    width: 100px;
    border: none;
  }

  .mobile-only {
    display: block;
    margin-bottom: 12px;
    margin-top: 4px;
  }

  .user-dropdown {
    display: none;
  }

  #bet-filters-container {
    font-size: 13px;
  }
  .bet-list-container {
    font-size: 13px;
  }

  .home-section {
    left: 0;
    width: 100%;
  }

  .bet-entry {
    display: flex;
    align-items: center;
    padding: 0px;
    border: 1px solid #f0f4ff;
    margin-bottom: 10px;
  }

  .bet-entry .bet-selection {
    font-weight: bold;
  }

  .bet-header {
    display: none;
  }

  .bet-entry .bet-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 5px;
    flex-wrap: nowrap;
  }

  .bet-entry .bet-header .bet-datetime,
  .bet-entry .bet-header {
    flex: 0 0 auto;
  }

  .bet-sport-icon {
    flex: 0 0 auto;
  }

  .bet-entry .bet-header .bet-datetime {
    font-weight: 400;
    font-size: 0.9em;
  }

  .bet-entry .bet-header .bet-sport-icon {
    font-size: 1em;
  }

  .bet-entry .bet-header .bet-event {
    font-size: 1em;
  }

  .bet-entry .bet-header .bet-notes {
    flex: 0 0 auto;
    margin-left: 5px;
  }

  .bet-datetime {
    font-weight: 400;
    font-size: 1em;
    margin-right: 10px;
  }

  .bet-event {
    flex-grow: 1;
  }

  .bet-event .live-indicator {
    display: inline-block;
  }

  .bet-notes {
    margin-left: auto;
  }

  .bet-selection {
    margin-top: 5px;
    margin-bottom: 5px;
    font-weight: 500;
  }

  .bet-details {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 5px;
  }

  .bet-list-container-bethistory {
    width: 100%;
  }

  .bet-stake,
  .bet-odds,
  .bet-status,
  .bet-profit {
    display: flex;
    gap: 2px;
    margin-bottom: 5px;
    width: 100%;
  }

  .bet-stake,
  .bet-odds,
  .bet-status,
  .bet-profit {
    font-weight: 500;
  }

  .bet-stake span,
  .bet-odds span,
  .bet-profit span {
    text-align: right;
  }

  .bet-profit strong::after {
    content: " ";
    white-space: pre;
  }
}
/* Additional Styles */

#bookies-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

#add-bookmaker {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#add-bookmaker-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
}

#initial-balance {
  width: 120px;
}

#add-bookmaker-form input {
  flex: 1;
}

.bookmaker-item {
  background-color: #f9f9f9;
  border: 1px solid #f0f4ff;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 10px;
}

@media (max-width: 767px) {
  .modal-content {
    width: 95%;
  }

  #form-buttons {
    position: relative;
  }

  .header-container {
    flex-wrap: wrap;
  }

  .header-left {
    flex: 1;
    order: 1;
  }

  #user-info {
    flex: 1;
    order: 2;
    text-align: right;
  }

  .main-nav {
    flex-basis: 100%;
    order: 3;
    margin-top: 10px;
  }

  .main-nav ul {
    justify-content: center;
  }
}

.bookmaker-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px; /* This adds space between the name, stats, and icons */
}

.bookmaker-name {
  flex: 0 0 15%; /* Reduced from 20% */
  font-weight: bold;
  font-size: 1.2em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.bookmaker-stats {
  flex: 1;
  display: flex;
  flex-direction: column;
  margin: 0 10px;
}

.bookmaker-stats > div > span {
  margin: 0 5px;
}

.stat-labels,
.stat-values {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.stat-labels span,
.stat-values span {
  flex: 1;
  text-align: center;
  padding: 0 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stat-labels span {
  font-weight: bold;
  text-transform: none;
}

.source-stats span {
  margin-right: 10px;
}

.bookmaker-stats span {
  margin-right: 10px;
}

.bookmaker-actions {
  flex: 0 0 auto; /* This ensures the icons take only the space they need */
  display: flex;
  gap: 5px;
}

.bookmaker-actions i {
  cursor: pointer;
}

.delete-transaction {
  color: #1a2851;
  cursor: pointer;
  font-size: 1.2em;
  background: none;
  border: none;
  padding: 0;
}

.delete-transaction:hover {
  color: #bd2130;
}

.positive-profit {
  color: #26894f;
  font-weight: bold;
}
.negative-profit {
  color: #e74c3c;
  font-weight: bold;
}

.positive {
  color: #26894f;
  font-weight: bold;
}

.negative {
  color: #e74c3c;
  font-weight: bold;
}

.deposit-icon {
  color: #111;
  font-size: 1.2em;
}

.withdraw-icon {
  color: #111;
  font-size: 1.2em;
}
.edit-icon {
  color: #111;
  font-size: 1.3em;
  padding-right: 8px;
}

.odds-icon {
  width: 12px;
  height: 12px;
  vertical-align: text-top;
  margin-left: 2px;
}

.bookmaker-actions button {
  padding: 5px 10px;
  font-size: 14px;
}

.btn-success {
  background-color: #3b586d;
  color: white;
}

.btn-danger {
  background-color: #e74c3c;
  color: white;
}

.btn-secondary {
  background-color: #6c757d;
  color: white;
}

#loading-indicator {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 24px;
  z-index: 9999;
}

.bookmaker-item h3 {
  margin-top: 0;
}

button,
#add-bookmaker-form button,
.bookmaker-details button {
  padding: 5px 10px;
  font-size: 14px;
  width: auto;
  white-space: nowrap;
}

#add-bookmaker-form button {
  width: auto; /* Ensures button wraps around text */
  padding: 5px 10px; /* Consistent padding */
  font-size: 14px; /* Consistent font size */
}

.bookmaker-details button {
  margin-right: 10px;
}

.bookmaker-details {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
}

.bookmaker-actions button {
  margin-right: 10px;
}

#transaction-history {
  margin-top: 20px;
  margin-bottom: 40px;
}

#bet-history,
#pending-bets {
  max-width: 1400px;
  width: 96%;
  margin: 0 auto 20px;
}

.transaction-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #f0f4ff;
}

.transaction-item:last-child {
  border-bottom: none;
}

.positive-balance {
  color: #2ecc71;
}

.negative-balance {
  color: red;
}

.bookmaker-input-container {
  position: relative;
}

.transaction-header,
.transaction-item {
  display: grid;
  grid-template-columns: 2fr 2fr 1fr 1fr 1fr 0.5fr;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid #f0f4ff;
}

.transaction-header span,
.transaction-item span,
.transaction-item i {
  padding: 0 5px;
}

.transaction-header {
  font-weight: bold;
  background-color: #f2f2f2;
}

.transaction-item:last-child {
  border-bottom: none;
}

.sport-icon {
  margin-right: 5px;
  vertical-align: text-bottom;
  font-size: 1.2em;
}

.bet-event {
  flex: 2;
}

.profit {
  color: #2ecc71;
}

.loss {
  color: #e74c3c;
}

.void {
  color: #11101d;
}

input[list] {
  position: relative;
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
}

input::placeholder {
  color: #888;
  text-align: center;
}

datalist {
  position: absolute;
  max-height: 300px;
  overflow-y: auto;
  width: 100%;
  background-color: white;
  border: 1px solid #ccc;
  border-top: none;
  z-index: 1000;
}

option {
  padding: 5px;
  cursor: pointer;
}

option:hover {
  background-color: #f0f0f0;
}

.sport-input-container {
  position: relative;
}

#form-buttons {
  display: flex;
  justify-content: space-between;
}

#form-buttons button {
  flex: 1;
  margin: 0 2px;
}

#cancel-btn {
  background-color: #666666;
  display: block;
  margin: 20px;
  padding: 10px 20px;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  width: 30%;
}

#delete-btn {
  background-color: #e64646;
  display: block;
  margin: 20px;
  padding: 10px 20px;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s;
  width: 30%;
}

.toggle-container {
  display: flex;
  align-items: center;
}

.toggle-container span {
  margin: 0 5px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
  margin: 0 10px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  transition: 0.4s;
}

input:checked + .slider {
  background-color: #2196f3;
}

input:checked + .slider:before {
  transform: translateX(26px);
}

.slider.round {
  border-radius: 32px;
}

.slider.round:before {
  border-radius: 50%;
}

.form-section {
  margin-bottom: 12px;
  padding: 15px;
  border: 1px solid #e1e8f9;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background-color: #f5f6fa;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
}

.section-header h3 {
  margin: 0;
}

.optional-text {
  color: #666;
  font-style: italic;
  display: block;
  text-align: right;
  margin-top: 5px;
}

.form-section h3 {
  margin-top: 0;
  margin-bottom: 15px;
}

#notes {
  width: 100%;
  height: 100px;
  resize: vertical;
  background-color: #fff;
  border-width: 0.25px;
  border-radius: 4px;
  text-align: center;
  border-color: #ddd;
}

.bet-notes i {
  cursor: help;
}

.event-details {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  gap: 1%;
}

.event-details input,
.event-details .sport-input-container,
.event-details .country-input-container {
  width: 33%;
  height: 36px;
  box-sizing: border-box;
}

.event-details .sport-input-container input,
.event-details .country-input-container input,
.bet-details-bottom .bookmaker-input-container input {
  width: 100%;
  height: 100%;
}

.market-suggestions {
  position: absolute;

  max-height: 200px;
  overflow-y: auto;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-top: none;
  z-index: 1000;
  display: none;
}

.market-suggestions div {
  padding: 5px;
  cursor: pointer;
}

.market-suggestions div:hover {
  background-color: #e0e0e0;
}

@media (min-width: 800px) {
  .event-details input[type="datetime-local"] {
    width: 35%;
  }
  .event-details .sport-input-container {
    width: 30%;
  }
  .event-details .country-input-container {
    width: 35%;
  }
}

.additional-details {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  gap: 1%;
}

.additional-details input,
.additional-details .in-play-container {
  height: 36px;
  box-sizing: border-box;
  box-shadow: none;
  margin-left: 5px;
}

.additional-details #source {
  width: 100%;
  margin-left: 0px;
}

.additional-details #closing-odds {
  width: 30%;
  margin-left: 0px;
}

.additional-details .in-play-container {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 10px;
  background-color: #fff;
  margin-left: 0px;
}

.additional-details .in-play-label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.additional-details .in-play-label span {
  font-size: 14px;
}

/* Ensure all inputs have consistent styling */
.additional-details input[type="text"],
.additional-details input[type="number"] {
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 4px;
}

.source-input-container {
  position: relative;
  width: 100%;
}

.source-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-top: none;
  z-index: 1000;
  display: none;
}

.source-suggestions div {
  padding: 5px;
  cursor: pointer;
}

.source-suggestions div:hover {
  background-color: #e0e0e0;
}

.sport-input-container,
.country-input-container,
.bookmaker-input-container,
.market-input-container {
  position: relative;
}

.market-input-container {
  width: 40%;
}

.sport-suggestions,
.country-suggestions,
.bookmaker-suggestions,
.market-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-top: none;
  z-index: 1000;
  display: none;
}

.sport-suggestions div,
.country-suggestions div,
.bookmaker-suggestions div {
  padding: 5px;
  cursor: pointer;
}

.sport-suggestions div:hover,
.country-suggestions div:hover,
.bookmaker-suggestions div:hover {
  background-color: #f0f0f0;
}

#submit-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 20px);
  margin: 20px auto;
  padding: 15px;
  background-color: #1a2851;
  color: white;
  border-radius: 8px;
  box-shadow: 0 2px 4px #1a285189;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

#submit-btn:hover {
  background-color: #2a3b6b;
}
#submit-btn i {
  font-size: 24px;
  margin-right: 10px;
}

@media (min-width: 800px) {
  #submit-btn {
    width: 25%;
  }
}

.user-dropdown {
  position: relative;
}

.user-dropdown i {
  font-size: 16px;
  vertical-align: middle;
  margin-bottom: 3px;
}

.user-dropdown span {
  margin-left: 5px;
  vertical-align: middle;
}

.user-dropdown .dropdown-content {
  display: none;
  position: absolute;
  right: -72px;
  top: calc(100% + 16px); /* Adjust this value to include the padding */
  background-color: #f5f6fa;
  width: 220px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1;
}

.dropdown-content a {
  color: #11101d;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.user-dropdown:hover .dropdown-content {
  display: block;
}

@media (max-width: 767px) {
  .header-container {
    flex-wrap: wrap;
  }

  .header-left {
    flex: 1;
    order: 1;
  }

  #user-info {
    flex: 1;
    order: 2;
    text-align: right;
  }

  .main-nav {
    flex-basis: 100%;
    order: 3;
    margin-top: 10px;
  }

  .main-nav ul {
    justify-content: center;
  }
}

input[type="datetime-local"] {
  position: relative;
  text-align: center;
}

input[type="datetime-local"]::-webkit-datetime-edit-text,
input[type="datetime-local"]::-webkit-datetime-edit-month-field,
input[type="datetime-local"]::-webkit-datetime-edit-day-field,
input[type="datetime-local"]::-webkit-datetime-edit-year-field {
  color: initial;
}

input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  width: 20px;
  height: 20px;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
}

input[type="datetime-local"]::before {
  content: attr(placeholder);
  position: absolute;
  top: 50%;
  left: 8px;
  transform: translateY(-50%);
  color: #e4e3e3;
}

input[type="datetime-local"]:valid::before {
  display: none;
}

/* Hover effect */
input[type="datetime-local"]::-webkit-calendar-picker-indicator:hover {
  background-color: #e4e3e3;
}

#main-stats {
  max-width: 700px;
  width: 90%;
  margin: 0 auto 20px;
  padding: 20px;
  box-sizing: border-box;
  transition: all 0.5s ease;
  text-align: center;
}

#stats-timeframe {
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#stats-timeframe-select {
  width: auto;
  padding: 5px;
  text-align: center;
  border: none;
  justify-content: center;
  box-shadow: none;
  margin-top: 10px;
  background-color: transparent;
  font-size: 1em;
}

#custom-start-date,
#custom-end-date {
  width: 180px;
  height: 36px;
  padding: 8px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#custom-date-range input[type="date"] {
  padding: 5px;
}

#stats-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.stat-item {
  background-color: #f5f6fa;
  padding: 15px;
  border-radius: 8px;
  text-align: center;
}

.stat-label {
  display: block;
  font-weight: bold;
  margin-bottom: 5px;
}

#detailed-stats {
  margin-top: 20px;
}

@media (max-width: 767px) {
  #main-stats {
    width: 100%;
    padding: 15px;
  }

  #settled-bets-container {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  #win-rate-container {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  #total-profit-container {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  #yield-container {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  #stats-timeframe,
  #custom-date-range {
    flex-direction: column;
    align-items: stretch;
  }

  #custom-date-range input[type="date"],
  #custom-date-range button {
    width: 100%;
    margin-top: 5px;
  }
}

#settings-container {
  max-width: 600px;
  margin: 0 auto;
}

#settings-container h2 {
  text-align: center;
  margin-bottom: 20px;
}

#settings-container h3 {
  margin-top: 20px;
}

#settings-container input[disabled] {
  background-color: #f0f0f0;
  color: #666;
  cursor: not-allowed;
}

#settings-container input[type="password"],
#settings-container input[type="email"],
#settings-container select {
  width: 100%;
  padding: 10px;
  margin-bottom: 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-sizing: border-box;
}

#settings-container button {
  display: block;
  width: 100%;
  padding: 10px;
  background-color: #294258;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-top: 20px;
}

#settings-container button:hover {
  background-color: #3b586d;
}

/* LC Switch styles */
.lcs_wrap {
  display: inline-block;
  direction: ltr;
  height: 28px;
  vertical-align: middle;
  margin-bottom: 10px;
}
.lcs_wrap input {
  display: none;
}
.lcs_switch {
  display: inline-block;
  position: relative;
  width: 73px;
  height: 28px;
  border-radius: 4px;
  background: #d3d3d3;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
}
.lcs_cursor {
  display: inline-block;
  position: absolute;
  top: 3px;
  width: 22px;
  height: 22px;
  border-radius: 8%;
  background: #e4e3e3;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.1);
  z-index: 10;
  transition: all 0.2s linear;
}
.lcs_label {
  font-family: "Jura", sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  line-height: 18px;
  color: #e4e3e3;
  font-weight: bold;
  position: absolute;
  width: 33px;
  top: 5px;
  overflow: hidden;
  text-align: center;
  opacity: 0;
  transition: all 0.2s ease-in-out 0.1s;
}
.lcs_label.lcs_label_on {
  left: 10px;
  z-index: 6;
}
.lcs_label.lcs_label_off {
  right: 10px;
  z-index: 5;
}

.lcs_switch.lcs_on .lcs_cursor {
  left: 48px;
}
.lcs_switch.lcs_on .lcs_label_on {
  opacity: 1;
}
.lcs_switch.lcs_off {
  background: #b2b2b2;
  box-shadow: 0px 0px 2px #a4a4a4 inset;
}
.lcs_switch.lcs_off .lcs_cursor {
  left: 3px;
}
.lcs_switch.lcs_off .lcs_label_off {
  opacity: 1;
}

.logo-image {
  display: none;
  max-height: 120px;
  width: auto;
  margin-left: 40px;
  margin-top: 20px;
}

.sidebar i {
  color: #e4e3e3;
  height: 60px;
  min-width: 50px;
  font-size: 28px;
  text-align: center;
  line-height: 60px;
}

.sidebar li {
  position: relative;
  list-style: none;
}
.sidebar li .tooltip {
  position: absolute;
  top: -20px;
  left: calc(100% + 15px);
  z-index: 3;
  background: #f0f0f0;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 400;
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
  transition: 0s;
}
.sidebar li:hover .tooltip {
  opacity: 1;
  pointer-events: auto;
  transition: all 0.4s ease;
  top: 50%;
  transform: translateY(-50%);
}
.sidebar.open li .tooltip {
  display: none;
}
.sidebar input {
  font-size: 15px;
  color: #e4e3e3;
  font-weight: 400;
  outline: none;
  height: 50px;
  width: 100%;
  width: 50px;
  border: none;
  border-radius: 12px;
  transition: all 0.5s ease;
  background: #1d1b31;
}
.sidebar.open input {
  padding: 0 20px 0 50px;
  width: 100%;
}

.sidebar li a:hover {
  background: #e4e3e3;
}
.sidebar .nav-list li a .links_name {
  font-size: 15px;
  font-weight: 400;
  white-space: nowrap;
  pointer-events: none;
  transition: 0.4s;
  font-family: "Jura", sans-serif;
}
.sidebar.open li a .links_name {
  opacity: 1;
  pointer-events: auto;
}

.sidebar li i {
  height: 50px;
  line-height: 50px;
  font-size: 18px;
  border-radius: 12px;
}
.sidebar li.profile {
  position: fixed;
  height: 60px;
  width: 78px;
  left: 0;
  bottom: -8px;
  padding: 10px 14px;
  background: #1d1b31;
  transition: all 0.5s ease;
  overflow: hidden;
}
.sidebar.open li.profile {
  width: 250px;
}
.sidebar li .profile-details {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}
.sidebar li.profile .name,
.sidebar li.profile .job {
  font-size: 15px;
  font-weight: 400;
  color: #e4e3e3;
  white-space: nowrap;
}
.sidebar li.profile .job {
  font-size: 12px;
}
.sidebar .profile #log_out {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #1d1b31;
  width: 100%;
  height: 60px;
  line-height: 60px;
  border-radius: 0px;
  transition: all 0.5s ease;
}
.sidebar.open .profile #log_out {
  width: 50px;
  background: none;
}
.home-section {
  position: relative;
  min-height: 100vh;
  transition: none;
  z-index: 2;
  padding: 20px;
  margin-top: 16px;
}
.sidebar.open ~ .home-section {
  left: 50px;
  width: calc(100% - 50px);
}
.home-section .text {
  display: inline-block;
  color: #11101d;
  font-size: 25px;
  font-weight: 500;
  margin: 18px;
}
@media (max-width: 420px) {
  .sidebar li .tooltip {
    display: none;
  }
}

.home-section {
  transition: all 0.5s ease;
  padding: 20px;
}

/* Adjust main content areas */
#historical-bets {
  max-width: 100%;
  transition: all 0.5s ease;
}

/* Center live/pre toggle */
.toggle-center-container {
  display: flex;
  justify-content: center;
  width: 100%; /* Ensures it takes the full width of the container */
}

#bet-filters-container {
  max-width: 640px;
  width: 100%;
  margin: 20px auto;
}

#toggle-filters {
  width: 100%;
  padding: 10px;
  background-color: #1a2851;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin-bottom: 10px;
}

#toggle-filters:hover {
  background-color: #2a3b6b;
}

#bet-filters {
  padding: 10px;
  border: 1px solid #f5f6fa;
  border-radius: 4px;
  background-color: #f5f6fa;
}

#bet-filters h2 {
  text-align: center;
  margin-bottom: 10px;
}

#bet-filters form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

#bet-filters .form-section {
  flex: 1 1 calc(33.33% - 20px);
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 200px;
}

#bet-filters select,
#bet-filters input {
  padding: 5px;
  box-sizing: border-box;
}

#bet-filters button {
  padding: 8px;
  background-color: #1a2851;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
  margin-top: 10px;
  width: 100%;
}

#bet-filters button:hover {
  background-color: #4074ce;
}

@media (max-width: 767px) {
  /* Ensure the toggle remains centered on mobile */
  .toggle-center-container {
    justify-content: center;
  }

  #bet-filters {
    width: 100%;
    padding: 10px;
  }

  #bet-filters form {
    gap: 10px;
  }

  #bet-filters .form-section {
    flex: 1 1 100%;
  }
}

.empty-icon-container {
  margin: 1em auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: "Jura", sans-serif;
}
.animation-container {
  position: relative;
  display: block;
  text-align: center;
  height: 100px;
  width: 100px;
  border-bottom: solid 2px #11101d;
  overflow: hidden;
}
.bounce {
  display: inline-block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 40px;
  height: 40px;
  margin-left: -20px;
  background-size: contain;
  animation: bounceAnim 1s cubic-bezier(0.63, 0.09, 0.75, 0.46) infinite
      alternate,
    spinAnim 3s linear infinite;
}
@keyframes bounceAnim {
  0%,
  10% {
    bottom: 50%;
  }
  100% {
    bottom: 0%;
  }
}
@keyframes spinAnim {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.pebble1 {
  position: absolute;
  top: 95%;
  background-color: #11101d;
  width: 10px;
  height: 10px;
  border-radius: 20px 20px 0px 0px;
  animation: pebblesAnim 1s linear infinite;
}
.pebble2 {
  position: absolute;
  top: 97%;
  background-color: #11101d;
  width: 5px;
  height: 5px;
  border-radius: 10px 10px 0px 0px;
  animation: pebblesAnim 2s linear infinite;
}
.pebble3 {
  position: absolute;
  top: 98%;
  background-color: #11101d;
  width: 3px;
  height: 3px;
  border-radius: 20px 20px 0px 0px;
  animation: pebblesAnim 3s linear infinite;
}
@keyframes pebblesAnim {
  0% {
    right: -20%;
  }
  100% {
    right: 110%;
  }
}

.bookies-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

/* Update Bet Modal - Minimal Styles */
.modal {
  display: none;
  position: fixed;
  z-index: 10000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}

.modal-content {
  background-color: var(--bg-color, #ffffff);
  margin: 30px auto;
  border-radius: 12px;
  box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3);
  animation: modalSlideIn 0.3s ease-out;
  max-height: 90vh;
  overflow-y: auto;
}

.update-bet-modal-content {
  width: 90%;
  max-width: 900px;
}

@keyframes modalSlideIn {
  from {
    transform: translateY(-50px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.modal-header {
  padding: 20px 25px;
  border-bottom: 1px solid var(--border-color, #e0e0e0);
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--header-bg, #f8f9fa);
  border-radius: 12px 12px 0 0;
  position: sticky;
  top: 0;
  z-index: 10;
}

.modal-header h2 {
  margin: 0;
  color: var(--text-color, #333);
  font-size: 1.4rem;
  font-weight: 600;
}

.close-modal {
  color: var(--text-color, #999);
  font-size: 32px;
  font-weight: bold;
  cursor: pointer;
  line-height: 20px;
  transition: color 0.3s;
  padding: 0;
  background: none;
  border: none;
}

.close-modal:hover {
  color: var(--primary-color, #000);
}

.modal-body {
  padding: 25px;
}

/* Keep existing form styles when moved to modal */
#modal-form-container .bet-form {
  box-shadow: none;
  margin: 0;
  border-radius: 0;
}

#modal-form-container .form-title {
  display: none; /* Hide the original title since we have modal title */
}

/* Dark mode support */
body.dark-mode .modal-content {
  background-color: var(--dark-bg-secondary, #1a1a1a);
}

body.dark-mode .modal-header {
  background-color: var(--dark-bg-primary, #2a2a2a);
  border-bottom-color: var(--dark-border, #404040);
}

body.dark-mode .close-modal {
  color: #999;
}

body.dark-mode .close-modal:hover {
  color: #fff;
}

/* Responsive */
@media (max-width: 850px) {
  .update-bet-modal-content {
    width: 95%;
    margin: 15px auto;
  }

  .modal-header {
    padding: 15px 20px;
  }

  .modal-body {
    padding: 20px;
  }
}

/* Ensure modal is above everything */
.modal {
  z-index: 10000;
}

.modal-content {
  position: relative;
  z-index: 10001;
}

/* Scrollbar styling for modal */
.modal-content::-webkit-scrollbar {
  width: 8px;
}

.modal-content::-webkit-scrollbar-track {
  background: var(--bg-color, #f1f1f1);
  border-radius: 10px;
}

.modal-content::-webkit-scrollbar-thumb {
  background: var(--primary-color, #888);
  border-radius: 10px;
}

.modal-content::-webkit-scrollbar-thumb:hover {
  background: var(--primary-hover, #555);
}

.modal-form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}

.modal-form-group label {
  margin-bottom: 5px;
}

.modal-input {
  width: 100%;
  height: 36px;
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid #f0f4ff;
  border-radius: 8px;
  font-size: 14px;
}

#bookmaker-name,
#initial-balance {
  width: 100%;
  height: 36px;
}

#modal-title {
  margin-top: 0;
  margin-bottom: 15px;
}

.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}

.close:hover,
.close:focus {
  color: #11101d;
  text-decoration: none;
  cursor: pointer;
}
.form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 15px;
}

.form-group label {
  margin-bottom: 5px;
}

.form-group input {
  width: 100%;
  padding: 8px;
  box-sizing: border-box;
  border: 1px solid #f0f4ff;
  border-radius: 8px;
}

#submit-bookmaker {
  width: 100%;
  padding: 10px;
  background-color: #294258;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

#submit-bookmaker:hover {
  background-color: #3b586d;
}

#delete-bookmaker {
  width: 100%;
  padding: 10px;
  background-color: #e74c3c;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  margin-top: 10px;
}

#delete-bookmaker:hover {
  background-color: #c0392b;
}

.filter-grid {
  display: grid;
  gap: 15px;
}

.filter-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
}

.filter-cell {
  display: flex;
  flex-direction: column;
  text-align: center;
}

.filter-cell.full-width {
  grid-column: 1 / -1;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.filter-cell input,
.filter-cell select {
  width: 100%;
  padding: 5px;
  margin-top: 5px;
}

.filter-cell input[type="number"] {
  width: 100%;
  display: block;
  margin-bottom: 5px;
}

#apply-filters {
  margin-top: 15px;
  width: 100%;
}

#clear-filters {
  margin-top: 10px;
  width: 100%;
  padding: 8px;
  background-color: #7f8c8d; /* Gray color */
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s;
}

#clear-filters:hover {
  background-color: #95a5a6; /* Lighter gray on hover */
}

#bet-filters #clear-filters {
  background-color: #7f8c8d;
}

#bet-filters #clear-filters:hover {
  background-color: #95a5a6;
}

#custom-date-range {
  margin-top: 10px;
}

#custom-date-range input[type="date"] {
  width: auto;
  margin-bottom: 5px;
}

#event-suggestions {
  position: absolute;
  background-color: #f5f5f5;
  border: 1px solid #f0f4ff;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
}

#event-suggestions div {
  padding: 5px;
  cursor: pointer;
}

#event-suggestions div:hover {
  background-color: #f0f0f0;
}

#stake {
  padding-right: 15px; /* Make room for the currency symbol */
  background-image: none; /* Remove any existing background image */
}

#stake::-webkit-outer-spin-button,
#stake::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

#stake::placeholder {
  text-align: center;
}

.selection-input-container {
  position: relative;
  width: 100%;
}

.selection-input-container #selection {
  width: 100%;
}

.selection-suggestions {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  max-height: 200px;
  overflow-y: auto;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border-top: none;
  z-index: 1000;
  display: none;
}

.selection-suggestions div {
  padding: 5px;
  cursor: pointer;
}

.selection-suggestions div:hover {
  background-color: #e0e0e0;
}

.page {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 3rem;
  margin: 3rem auto;
}

.page__numbers,
.page__btn,
.page__dots {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0.8rem;
  font-size: 1rem;
  cursor: pointer;
}

.page__dots {
  width: 2rem;
  height: 2rem;
  color: #11101d;
  cursor: default;
}

.page__numbers {
  width: 2rem;
  height: 2rem;
  border-radius: 0.4rem;
}

.page__numbers:hover {
  color: #3b586d;
}

.page__numbers.active {
  color: #e4e3e3;
  background: #1a2851;
  font-weight: 600;
}

.page__btn {
  color: #11101d;
  pointer-events: none;
}

.page__btn.active {
  color: #1a2851;
  pointer-events: auto;
}

.page__btn.active:hover {
  color: #53778b;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

#sources-content {
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

.bookies-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}

.delete-icon {
  color: #111;
  cursor: pointer;
  font-size: 1.2em;
}

.delete-icon:hover {
  color: #c0392b;
}

.edit-icon:hover {
  color: #3b586d;
}

.deposit-icon:hover {
  color: #26894f;
}

.withdraw-icon:hover {
  color: #e74c3c;
}

.bet-actions {
  display: flex;
  gap: 10px;
}

.note-icon,
.duplicate-icon {
  cursor: pointer;
  font-size: 1.2em;
}

.duplicate-icon {
  margin-left: 6px;
  margin-right: 6px;
}

.note-icon:hover,
.duplicate-icon:hover {
  color: #3b586d;
}

.web-icon:hover {
  color: #3b586d;
}

.web-icon {
  color: #2a61be;
  font-size: 1.2em;
}

.timeframe-filter {
  padding: 5px;
  border-radius: 4px;
  border: 1px solid #f0f4ff;
}

#source-modal .modal-content {
  max-width: 400px;
}

#source-form .modal-input {
  width: 100%;
  padding: 8px;
  margin-bottom: 10px;
  border: 1px solid #f0f4ff;
  border-radius: 4px;
}

#source-form textarea.modal-input {
  height: 100px;
  resize: vertical;
  background-color: inherit;
}

#submit-source {
  width: 100%;
  padding: 10px;
  background-color: #294258;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}

#submit-source:hover {
  background-color: #1e90ff;
}
.source-details .loss {
  color: #e74c3c;
}

.source-details .void {
  color: #11101d;
}

.bookmaker-list-container {
  overflow-x: hidden;
  padding-bottom: 20px;
  padding-top: 20px;
}

.bookmaker-header,
.bookmaker-list-container .bet-entry {
  display: grid;
  grid-template-columns: 18% 7% 14% 14% 10% 11% 14% 10%;
  align-items: center;
  padding: 8px;
  width: 100%;
  text-align: left;
  border-bottom: 1px solid #f5f6fa;
}

.bookmaker-header {
  font-weight: 600;
  background-color: #f5f6fa;
  border-radius: 8px;
}

#add-bookmaker-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  margin: 20px auto;
  padding: 15px;
  background-color: white;
  color: black;
  border: 1px solid black;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

#add-bookmaker-btn:hover {
  background-color: #f4f5f9;
}

#add-bookmaker-btn i {
  font-size: 24px;
  margin-right: 10px;
}

.transaction-list-container {
  overflow-x: hidden;
  padding-bottom: 20px;
  padding-top: 20px;
}

.transaction-header,
.transaction-list-container .transaction-item {
  display: grid;
  grid-template-columns: 20% 20% 15% 16% 20% 9%;
  align-items: center;
  padding: 8px;
  width: 100%;
  text-align: left;
  border-radius: 8px;
}

.transaction-header {
  font-weight: 600;
  background-color: #f5f6fa;
}

.transaction-header > div,
.transaction-item > div {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.transaction-item .delete-transaction {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.transaction-item:hover {
  background-color: #f5f6fa;
}

/* Source list styles */

.source-list-container {
  overflow-x: hidden;
  padding-bottom: 20px;
  padding-top: 20px;
}

.source-header,
.source-list-container .source-item {
  display: grid;
  align-items: center;
  grid-template-columns: 25% 10% 15% 12.5% 12.5% 15% 15%;
  width: 100%;
  text-align: left;
  border-bottom: 1px solid #f0f4ff;
  border-radius: 8px;
}

.source-header {
  font-weight: 600;
  background-color: #f5f6fa;
  border-radius: 8px;
}

.source-header > div,
.source-item > div {
  padding: 4px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.source-item:hover {
  background-color: #f5f6fa;
}

.source-actions {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.source-actions i {
  cursor: pointer;
  font-size: 1.2em;
}

.source-name {
  display: flex;
  align-items: center;
}

.source-link {
  margin-left: 5px;
  color: #2a61be;
  font-size: 0.8em;
}

.source-link:hover {
  color: #4074ce;
}

#add-source-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  margin: 20px auto;
  padding: 15px;
  background-color: white;
  color: black;
  border: 1px solid black;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

#add-source-btn:hover {
  background-color: #f4f5f9;
}

#add-source-btn i {
  font-size: 24px;
  margin-right: 10px;
}

.bet-details-row {
  display: flex;
  gap: 1%;
  margin-bottom: 10px;
}

.bet-details-row.top-row .in-play-container {
  width: 20%;
}

.bet-details-row.top-row .selection-input-container {
  width: 60%;
}

.bet-details-row.middle-row #stake {
  width: 25%;
}

.bet-details-row.middle-row #odds {
  width: 20%;
}

.bet-details-row.middle-row .bookmaker-input-container {
  width: 55%;
}

.bet-details-row.bottom-row {
  margin-bottom: 0px;
}

.bet-details-row.bottom-row #status {
  width: 160px;
  border-color: #ddd;
}

.in-play-container {
  display: flex;
  align-items: center;
  height: 36px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 10px;
  background-color: #fff;
}

.in-play-label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.in-play-label input[type="checkbox"] {
  margin-left: 6px;
  width: auto;
  height: auto;
}

.in-play-label span {
  font-size: 14px;
}

/* Ensure all inputs and selects have consistent height */
.bet-details-row input,
.bet-details-row select,
.bet-details-row .selection-input-container input,
.bet-details-row .bookmaker-input-container input {
  height: 36px;
  box-sizing: border-box;
  width: 100%;
}

/* Responsive design for sources mobile page */
@media (max-width: 800px) {
  .source-header,
  .source-list-container .source-item {
    gap: 5px;
  }

  .source-header {
    display: none;
  }

  .source-list-container {
    width: 100%;
    padding: 0 10px;
  }

  .source-list-container .source-item {
    display: flex;
    flex-direction: column;
    grid-template-columns: none;
    background-color: #f5f6fa;
    margin-bottom: 15px;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  .source-name-mobile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
    width: 90%;
  }

  .source-name-mobile span {
    font-size: 1.1em;
    font-weight: 500;
    text-align: left;
    display: flex;
    align-items: center;
    margin-left: 4px;
  }

  .source-name-mobile .source-link {
    margin-left: 5px;
  }

  .source-actions-mobile {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
  }

  .source-actions-mobile i {
    font-size: 1.2em;
  }

  .source-stats-names-mobile,
  .source-stats-values-mobile {
    display: flex;
    justify-content: space-between;
    width: 100%;
  }

  .source-stats-names-mobile {
    font-weight: bold;
    color: #000;
    font-size: 0.9em;
  }

  .source-stats-values-mobile {
    font-size: 0.95em;
  }

  .source-stats-names-mobile span,
  .source-stats-values-mobile span {
    flex: 1;
    text-align: center;
  }
}

#bookies-timeframe {
  display: flex;
  justify-content: center;
  align-items: center;
}

#bets-timeframe {
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#bets-timeframe-select {
  width: auto;
  padding: 5px;
  text-align: center;
  border: none;
  justify-content: center;
  box-shadow: none;
  margin-top: 10px;
  background-color: transparent;
  font-size: 1em;
}

/* Style for the date input fields */
#custom-start-date,
#custom-end-date {
  width: 180px;
  height: 36px;
  padding: 8px;
  box-sizing: border-box;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
}

#apply-custom-range {
  width: 120px;
  height: 36px;
  padding: 8px;
  box-sizing: border-box;
  background-color: #3b586d;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.3s;
}

#apply-custom-range:hover {
  background-color: #53778b;
}

#sources-timeframe {
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
}

#sources-timeframe,
#bookies-timeframe,
#custom-date-range {
  display: block;
}

#sources-timeframe-select,
#bookies-timeframe-select,
#stats-timeframe-select {
  width: auto;
  padding: 5px;
  text-align: center;
  border: none;
  justify-content: center;
  box-shadow: none;
  margin-top: 10px;
  font-size: medium;
}

#profit-chart-container {
  width: 100%;
  height: 300px;
  margin-bottom: 20px;
}

.top-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 52px;
  background-color: #1a2851;
  color: #e4e3e3;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  transition: background-color 0.3s ease, padding 0.3s ease;
  font-weight: 600;
}

.top-nav.scrolled {
  background-color: #1a2851e5; /* Slightly transparent */
  padding: 12px 52px;
}

.nav-logo img {
  height: 24px;
  margin-left: 8px;
}

.nav-links {
  display: flex;
  list-style-type: none;
  justify-content: center;
  flex-grow: 1;
}

.nav-controls {
  display: flex;
  align-items: center;
  gap: 20px; /* Adjust space between theme toggle and user icon */
}

.nav-links li {
  margin: 0 20px;
}

.nav-links a {
  color: #e4e3e3;
  text-decoration: none;
  padding: 5px 0;
  position: relative;
}

.nav-links a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e4e3e3;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.sidebar .nav-list li a:hover::after,
.sidebar .nav-list li a.active::after {
  transform: scaleX(1);
}

.nav-links a:hover::after {
  transform: scaleX(1.2);
  opacity: 0.5;
}

.nav-links a.active::after {
  transform: scaleX(1.2);
  opacity: 1;
}

.menu-icon {
  position: fixed;
  top: 40px;
  left: 20px;
  z-index: 1001;
  color: #e4e3e3;
  display: none;
  font-size: 28px;
}

.logo-details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0;
}

.user-dropdown {
  position: relative;
  cursor: pointer;
}

.user-avatar {
  width: 40px;
  height: 40px;
  background-color: #e4e3e3;
  color: #2a3b6b;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 18px;
}

.dropdown-content {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  background-color: #ffffff;
  min-width: 200px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  border: 0.5px solid #e4e3e3;
  border-top: none;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}

.user-dropdown:hover .dropdown-content {
  display: block;
}

.dropdown-content::before {
  content: "";
  position: absolute;
  top: -20px;
  right: 10px;
  width: 20px;
  height: 20px;
  background-color: transparent;
}

.dropdown-content .user-info {
  padding: 12px 16px;
  text-align: left;
}

.dropdown-content .user-info strong {
  display: block;
  color: #1a2851;
  margin-left: 2px;
  font-size: 1.1em;
}

.dropdown-content .user-info span {
  display: block;
  color: #666;
  font-size: 0.72em;
}

.dropdown-content hr {
  margin: 0;
  border: none;
  border-top: 1px solid #e4e3e3;
}

.dropdown-content a {
  color: #1a2851;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.dropdown-content a:hover {
  background-color: #f1f1f1;
}

.dropdown-content i {
  margin-right: 10px;
}

#close-sidebar {
  color: #e4e3e3;
  font-size: 24px;
  cursor: pointer;
}

.sidebar .nav-list .bottom-items {
  margin: 0;
}

.sidebar .nav-list li a:hover,
.sidebar .nav-list li a.active {
  background: transparent;
}

.sidebar .nav-list li a::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #e4e3e3;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}

.live-indicator {
  display: inline-block;
  background-color: #1a2851;
  color: white;
  padding: 1px 4px;
  border-radius: 2px;
  font-size: 0.6em;
  vertical-align: middle;
  flex: none;
}

.copy-icon {
  margin-left: 2px;
  font-size: 8px;
  cursor: pointer;
  transition: transform 0.2s;
}

.bx-burst {
  animation: bx-burst-animation 1s forwards;
}

@keyframes bx-burst-animation {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}

.copy-icon:hover {
  color: #0056b3; /* Change color on hover */
}

@media (min-width: 801px) {
  .sidebar-logo {
    display: none;
  }

  #historical-bets .bet-header,
  #historical-bets .bet-entry {
    grid-template-columns: minmax(6%, 80px) 2% 28% 24% 8% 6% 10% 9% 7%;
  }

  #pending-bets .bet-header > div:nth-child(8),
  #pending-bets .bet-entry > div:nth-child(8) {
    display: none;
  }

  .transaction-date .mobile-date {
    display: none;
  }

  .transaction-date .desktop-date {
    display: inline;
  }
}

@media (max-width: 850px) {
  body {
    padding-top: 0;
  }

  #add-bookmaker-btn {
    width: 90%;
  }

  #add-source-btn {
    width: 90%;
  }

  .bookmaker-header {
    display: none;
  }

  #bookmaker-list {
    width: 90%;
  }

  .bookmaker-list-container {
    width: 100%;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .bookmaker-list-container .bet-entry {
    width: 100%; /* Change from 90% to 100% */
    display: flex;
    flex-direction: column;
    background-color: #f5f6fa;
    margin-bottom: 20px;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  .bookmaker-name {
    font-size: 1.2em;
    font-weight: bold;
    margin-bottom: 10px;
  }

  .bet-entry-stats {
    display: flex;
    justify-content: space-between;
    margin-bottom: 8px;
    width: 100%;
  }

  .bet-entry-stats > div {
    flex: 1;
    text-align: center;
  }

  .stat-name {
    font-weight: bold;
    margin-bottom: 5px;
    color: #1a2851;
  }

  .bookmaker-actions {
    display: flex;
    justify-content: space-around;
  }

  .bookmaker-actions i {
    font-size: 1.3em; /* Increase icon size */
    padding-left: 16px;
    padding-right: 16px;
  }

  .bookmaker-name-bookies {
    font-size: 1.1em;
    font-weight: bold;
    margin-bottom: 15px;
    color: #111;
  }

  .transaction-list-container {
    font-size: 14px;
  }

  .transaction-header,
  .transaction-list-container .transaction-item {
    grid-template-columns: 1fr 2fr 1.5fr 0.5fr;
  }

  .transaction-date .desktop-date {
    display: none;
  }

  .transaction-date .mobile-date {
    display: inline;
  }

  .action-column,
  .balance-after,
  .delete-header {
    display: none;
  }

  .transaction-item > div {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .delete-transaction {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .delete-transaction i {
    font-size: 1.2em;
  }

  .transaction-amount.positive-amount {
    color: #26894f;
  }

  .transaction-amount.negative-amount {
    color: #e74c3c;
  }

  .delete-header {
    display: none;
  }

  .balance-after {
    display: none;
  }

  .actionas {
    display: none;
  }

  .transaction-type {
    display: none;
  }

  .nav-logo,
  .nav-links,
  .nav-icons {
    display: none;
  }

  .top-nav {
    background-color: transparent;
  }

  .top-nav.scrolled {
    background-color: transparent;
  }

  .menu-icon {
    display: block;
    position: fixed;
    top: 32px;
    left: 20px;
    z-index: 1001;
    color: #1a2851;
    cursor: pointer;
  }

  .sidebar.active + .home-section .menu-icon {
    display: none;
  }

  #close-sidebar {
    position: absolute;
    top: 20px;
    left: 20px;
    color: #e4e3e3;
    font-size: 24px;
    cursor: pointer;
  }

  .sidebar {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .sidebar.active {
    left: 0;
  }

  .sidebar .logo-details {
    flex-direction: column;
    align-items: center;
    padding-top: 60px;
  }

  .sidebar-logo {
    height: 32px;
    margin-top: 20px;
    margin-bottom: 32px;
  }

  .sidebar-theme-toggle .theme-toggle {
    width: 100%;
    justify-content: center;
    height: 50px;
  }

  .theme-switch-wrapper {
    display: none;
  }
  .sidebar-theme-toggle {
    display: block;
  }

  .sidebar-theme-toggle .theme-toggle {
    background-color: #2a3b6b;
    color: #e4e3e3;
    border: none;
    padding: 10px;
    border-radius: 8px;
    cursor: pointer;
    transition: background-color 0.3s;
    font-size: 14px;
  }

  .sidebar-theme-toggle .theme-toggle:hover {
    background-color: #3a4b7b;
  }

  .sidebar-theme-toggle .theme-toggle i {
    font-size: 18px;
  }

  .sidebar .nav-list {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 0;
    margin: 0;
  }

  .sidebar .bottom-container {
    margin-top: auto;
    padding-bottom: 20px; /* Adjust as needed */
  }

  .sidebar .nav-list li a::after {
    width: calc(100% - 80px);
    left: 30px;
  }

  .sidebar .nav-list li a:hover::after,
  .sidebar .nav-list li a.active::after {
    transform: scaleX(1);
  }

  .home-section {
    left: 0;
    width: 100%;
    margin-top: 40px;
  }

  .sidebar.active ~ .home-section {
    left: 0;
    width: 100%;
    overflow: visible;
  }

  #bet-filters-container {
    font-size: 13px;
  }

  .bet-list-container {
    font-size: 13px;
  }

  #bet-filters {
    width: 100%;
    padding: 10px;
  }

  #bet-filters form {
    gap: 10px;
  }

  #bet-filters .form-section {
    flex: 1 1 100%;
  }

  .toggle-center-container {
    justify-content: center;
  }

  #main-stats {
    width: 100%;
    padding: 15px;
  }

  #settled-bets-container {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  #win-rate-container {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  #total-profit-container {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }

  #yield-container {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }

  #stats-timeframe,
  #custom-date-range {
    flex-direction: column;
    align-items: center;
  }

  #custom-date-range input[type="date"],
  #custom-date-range button {
    width: 100%;
    margin-top: 5px;
  }

  .bet-details-bottom #stake,
  .bet-details-bottom #odds {
    width: 25%;
  }

  .bet-details-bottom .bookmaker-input-container {
    width: 50%;
  }

  .header-container {
    flex-wrap: wrap;
  }

  .header-left {
    flex: 1;
    order: 1;
  }

  #user-info {
    flex: 1;
    order: 2;
    text-align: right;
  }

  .main-nav {
    flex-basis: 100%;
    order: 3;
    margin-top: 10px;
  }

  .main-nav ul {
    justify-content: center;
  }

  #form-buttons {
    position: relative;
  }

  .stat-value {
    font-size: 0.9em;
  }
}

#clear-form-btn {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  background-color: white;
  color: black;
  border: 1px solid black;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-size: 14px;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s;
}

#form-header {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-bottom: 20px;
}

#form-title {
  margin: 0;
  text-align: center;
}

#status-title {
  font-size: 14px;
  margin-bottom: 8px;
  font-weight: 400;
}

#clear-form-btn:hover {
  background-color: #f0f0f0;
}

#clear-form-btn i {
  font-size: 18px;
  margin-right: 5px;
}

@media (max-width: 800px) {
  #form-header {
    flex-direction: row;
    align-items: center;
  }

  #form-title {
    font-size: 1.5em;
  }

  #clear-form-btn {
    font-size: 12px;
    padding: 6px 10px;
  }

  #clear-form-btn i {
    font-size: 16px;
  }
}

.in-play-container {
  display: flex;
  align-items: center;
  height: 36px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 10px;
  background-color: #fff;
}

.in-play-label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.in-play-label span {
  font-size: 14px;
}

.clv-container {
  display: flex;
  align-items: center;
  height: 36px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 10px;
  background-color: #fff;
}

.clv-label {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.clv-label span {
  font-size: 14px;
}

#clv-inputs-row {
  margin-top: 10px;
}

.payout-percentage-container {
  position: relative;
  width: 33%;
}

#payout-percentage {
  padding-right: 20px;
  margin-left: 0px;
}

.payout-percentage-container::after {
  content: "%";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}

#no-vig-odds {
  background-color: #f0f0f0;
  cursor: not-allowed;
  width: 33%;
}

#calculated-profit-container {
  display: flex;
  align-items: center;
  height: 36px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 0 10px;
  background-color: #fff;
  font-weight: bold;
}

#calculated-profit {
  flex: 1;
  text-align: right;
}

#calculated-profit.positive {
  color: #26894f;
}

#calculated-profit.negative {
  color: #e74c3c;
}

.bet-event .event-name.copyable {
  cursor: pointer;
}

/* CLV Styles for Quick Add */
.clv-checkbox-wrapper {
  display: flex;
  align-items: center;
}

.clv-checkbox {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  cursor: pointer;
}

.clv-checkbox-label {
  cursor: pointer;
  user-select: none;
}

.clv-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  font-family: inherit;
  background-color: #fff;
  color: #333;
  transition: border-color 0.3s;
}

.clv-input:focus {
  outline: none;
  border-color: #4caf50;
}

.clv-input[readonly] {
  background-color: #f5f5f5;
  cursor: not-allowed;
}

#clv-fields-container {
  background-color: #f9f9f9;
  padding: 10px;
  border-radius: 8px;
  margin: 10px 0;
}

/* Dark mode support for CLV */
@media (prefers-color-scheme: dark) {
  .clv-input {
    background-color: #2a2a2a;
    border-color: #444;
    color: #fff;
  }

  .clv-input[readonly] {
    background-color: #1a1a1a;
  }

  #clv-fields-container {
    background-color: #1e1e1e;
  }
}

/* Calendar Styles */
.date-range-wrapper {
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
}

.calendar-icon-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  color: #666;
}

.calendar-icon-btn:hover {
  border-color: #1a2851;
  color: #1a2851;
}

.calendar-popup {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 10005;
  display: none;
  padding: 16px;
  width: 280px;
}

.filter-section:has(.calendar-popup.active) {
  overflow: visible !important;
}

.filter-section:has(.calendar-popup.active) .filter-section-content {
  overflow: visible !important;
}

.date-range-wrapper {
  overflow: visible !important;
}

.calendar-popup.active {
  display: block;
}

.month-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

.month-nav button {
  background: none;
  border: none;
  color: #666;
  cursor: pointer;
  padding: 4px;
  font-size: 18px;
  box-shadow: none;
}

.month-nav button:hover {
  color: #1a2851;
}

.month-year {
  font-size: 14px;
  font-weight: 600;
  color: #1a2851;
}

.weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
  margin-bottom: 8px;
}

.weekday {
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  color: #999;
  padding: 4px;
}

.days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.day {
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  border-radius: 4px;
  cursor: pointer;
  color: #333;
}

.day:hover:not(.disabled) {
  background: #f0f0f0;
}

.day.disabled {
  color: #ccc;
  cursor: default;
}

.day.start-date,
.day.end-date {
  background: #1a2851;
  color: white;
}

.day.in-range {
  background: rgba(26, 40, 81, 0.1);
}

.calendar-footer {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eee;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.date-display {
  font-size: 12px;
  color: #666;
}

.calendar-apply {
  padding: 6px 16px;
  background: #1a2851;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 12px;
  cursor: pointer;
}

.calendar-apply:hover {
  background: #2a3861;
}

.calendar-apply:disabled {
  background: #ccc;
  cursor: not-allowed;
}

* Staged Images Container */ .staged-images-container {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  background: white;
  border-radius: 12px;
  padding: 24px;
  box-sizing: border-box;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* When inside the info-content-wrapper grid, span full width */
.info-content-wrapper .staged-images-container {
  grid-column: 1 / -1;
}

.staged-images-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #eee;
}

.staged-images-header span {
  font-weight: 600;
  font-size: 16px;
  color: #1a2851;
}

.btn-clear-staged {
  background: none;
  border: none;
  color: #dc3545;
  cursor: pointer;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border-radius: 6px;
  transition: background 0.2s;
}

.btn-clear-staged:hover {
  background: #fff0f0;
}

.staged-images-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.staged-image-item {
  position: relative;
  aspect-ratio: 1;
  border-radius: 10px;
  overflow: hidden;
  border: 2px solid #e5e7eb;
  background: #f9fafb;
  transition: border-color 0.2s, transform 0.2s;
}

.staged-image-item:hover {
  border-color: #3b82f6;
  transform: scale(1.02);
}

.staged-image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.staged-image-item .remove-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 22px;
  height: 22px;
  background: rgba(220, 53, 69, 0.95);
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  opacity: 0;
  transition: opacity 0.2s;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.staged-image-item:hover .remove-btn {
  opacity: 1;
}

.staged-image-item .image-number {
  position: absolute;
  bottom: 4px;
  left: 4px;
  background: rgba(26, 40, 81, 0.85);
  color: white;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

.staged-images-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.btn-add-more {
  padding: 12px 24px;
  background: white;
  border: 2px solid #1a2851;
  color: #1a2851;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s;
}

.btn-add-more:hover {
  background: #f8f9fa;
}

.btn-process-all {
  padding: 12px 28px;
  background: linear-gradient(135deg, #1a2851 0%, #2c3e50 100%);
  border: none;
  color: white;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s;
  box-shadow: 0 4px 15px rgba(26, 40, 81, 0.2);
}

.btn-process-all:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(26, 40, 81, 0.3);
}

.btn-process-all:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Empty slot placeholder */
.staged-image-placeholder {
  aspect-ratio: 1;
  border: 2px dashed #d1d5db;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.2s;
  background: #fafafa;
}

.staged-image-placeholder:hover {
  border-color: #3b82f6;
  color: #3b82f6;
  background: #f0f7ff;
}

/* ============================================================================
   MOBILE RESPONSIVE - Staging Area
   ============================================================================ */
@media (max-width: 900px) {
  .staged-images-container {
    padding: 12px;
  }

  .staged-images-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin-bottom: 12px;
  }

  /* Make the boxes smaller on mobile */
  .staged-image-item,
  .staged-image-placeholder {
    aspect-ratio: 1;
    max-height: 60px; /* Limit the height */
  }

  .staged-image-item .remove-btn {
    width: 16px;
    height: 16px;
    font-size: 10px;
    top: 2px;
    right: 2px;
    opacity: 1;
  }

  .staged-image-item .image-number {
    font-size: 7px;
    padding: 1px 3px;
    bottom: 2px;
    left: 2px;
  }

  .staged-image-placeholder {
    font-size: 12px;
  }

  .staged-images-actions {
    gap: 8px;
  }

  .default-bookmaker-input {
    flex-direction: column;
    gap: 6px;
    align-items: stretch;
  }

  .default-bookmaker-input input {
    width: 100%;
    max-width: none;
  }

  .btn-process-all {
    width: 100%;
    justify-content: center;
    padding: 10px 16px;
  }
}

@media (max-width: 400px) {
  .staged-image-item,
  .staged-image-placeholder {
    max-height: 60px; /* Even smaller on tiny screens */
  }

  .staged-image-item .image-number {
    display: none; /* Hide numbers to save space */
  }
}

/* Default Bookmaker Input */
.default-bookmaker-input {
  display: flex;
  align-items: center;
  gap: 10px;
}

.default-bookmaker-input label {
  font-size: 14px;
  font-weight: 500;
  color: #1a2851;
  white-space: nowrap;
}

.default-bookmaker-input input {
  padding: 10px 14px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  width: 150px;
  transition: border-color 0.2s;
}

.default-bookmaker-input input:focus {
  outline: none;
  border-color: #1a2851;
}

.default-bookmaker-input input::placeholder {
  color: #9ca3af;
}

/* Mobile */
@media (max-width: 768px) {
  .staged-images-actions {
    flex-direction: column;
    gap: 12px;
  }

  .default-bookmaker-input {
    width: 100%;
    justify-content: center;
  }

  .default-bookmaker-input input {
    flex: 1;
    max-width: 200px;
  }

  .btn-process-all {
    width: 100%;
  }
}
