/* --- Persistent Sidebar Layout --- */
html, body {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}

.admin-container {
  background-color: #0e1117;
  color: #ddd;
  height: 100vh;
  overflow: hidden;
  font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

.sidebar {
  height: 100vh;
  background-color: #1c2128;
  border-right: 1px solid #2c323b;
  padding: 25px 0;
  position: fixed;
  width: 16%;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.sidebar-title {
  color: #00bfff;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 10px;
}

.sidebar-divider {
  border-color: #2c323b;
  margin: 10px 20px;
}

.sidebar-link {
  color: #bbb !important;
  font-weight: 500;
  padding: 12px 20px;
  border-radius: 6px;
  transition: all 0.25s ease-in-out;
  text-decoration: none !important;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 5px 15px;
}

.sidebar-link:hover {
  background-color: #242a32 !important;
  color: #00bfff !important;
}

.sidebar-link.active {
  background-color: #00bfff !important;
  color: #fff !important;
  font-weight: 600;
}

.logout-link {
  color: #ff6b6b !important;
  margin-top: auto;
}

.main-content {
  margin-left: 16%;
  padding: 40px 40px 220px 40px;
  min-height: 100vh;
  overflow: visible;
  background-color: #0e1117;
}

/* --- Page Elements --- */
.page-title {
  color: #00bfff;
  font-weight: 700;
  margin-bottom: 20px;
}

.page-output {
  margin-top: 20px;
  background-color: #1c2128;
  padding: 15px;
  border-radius: 8px;
  border: 1px solid #2c323b;
  white-space: pre-wrap;
}

/* --- Dash selectors: readable and compact without stretching the layout --- */
.Select,
.DateRangePicker,
.SingleDatePicker {
  width: 220px !important;
  max-width: 220px !important;
}

.Select-control,
.Select-menu-outer,
.Select-value-label,
.Select-placeholder,
.Select-input input,
.DateInput_input,
.DateRangePickerInput,
.SingleDatePickerInput,
.DateRangePickerInput input,
.SingleDatePickerInput input {
  color: #111111 !important;
}

.Select-control,
.Select-menu-outer,
.DateRangePickerInput,
.SingleDatePickerInput,
.DateInput_input {
  background-color: #ffffff !important;
  border: 1px solid #9da3ae !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

.Select-control {
  min-height: 38px !important;
  width: 100% !important;
}

.Select-menu-outer {
  border-color: #9da3ae !important;
  z-index: 2000 !important;
  max-height: 260px !important;
  overflow-y: auto !important;
}

.Select-option {
  color: #111111 !important;
  background-color: #ffffff !important;
}

.Select-option.is-focused {
  background-color: #e8f3ff !important;
}

.Select-option.is-selected {
  background-color: #00b4d8 !important;
  color: #ffffff !important;
}

.DateRangePickerInput,
.SingleDatePickerInput {
  width: 100% !important;
  padding: 0 8px !important;
}

.DateInput_input {
  border: none !important;
  background: transparent !important;
  padding: 0 6px !important;
}

.DateRangePickerInput_arrow {
  color: #111111 !important;
}

.CalendarDay__default,
.CalendarDay__selected,
.CalendarDay__selected:hover {
  color: #111111 !important;
}

.CalendarDay__selected,
.CalendarDay__selected:hover {
  background-color: #00b4d8 !important;
  border-color: #00b4d8 !important;
}
