/* FLATPICKR DATE PICKER (PostCSS-safe, no nesting) */

.flatpickr-wrapper {
	width: 100%;
  }
  
  /* Hide input + calendar spacing */
  .flatpickr-wrapper .flatpickr-hide-input.flatpickr-input {
	display: none;
  }
  
  .flatpickr-wrapper .flatpickr-hide-input.flatpickr-input + .flatpickr-calendar {
	margin-top: 0;
  }
  
  /* Calendar */
  .flatpickr-wrapper .flatpickr-calendar.inline {
	box-shadow: none;
  }
  
  /* Days */
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-day.today {
	border: 1px solid rgba(231, 234, 243, 0.7);
	font-weight: 700;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-day.today:not(.selected) {
	color: #1e2022;
	background-color: transparent;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-day.nextMonthDay,
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-day.prevMonthDay {
	color: #b2b6c1;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-day.flatpickr-disabled {
	cursor: default;
	color: #e7eaf3 !important;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-day.flatpickr-disabled:hover {
	background-color: transparent;
  }
  
  /* Month input */
  .flatpickr-wrapper .flatpickr-calendar .numInputWrapper {
	margin-top: -3px;
	margin-left: 20px;
  }
  
  /* Month navigation arrows */
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
	fill: #828282;
  }
  
  /* Month header */
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-month {
	margin-top: 3px;
	display: flex;
	justify-content: center;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-month .flatpickr-current-month {
	left: initial;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-month .flatpickr-current-month .flatpickr-monthDropdown-months:hover {
	color: #000;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-month .flatpickr-current-month .cur-year:hover {
	color: #000;
  }
  
  /* Time arrows */
  .flatpickr-wrapper .flatpickr-calendar .arrowUp,
  .flatpickr-wrapper .flatpickr-calendar .arrowDown {
	border-color: transparent;
	display: block !important;
	opacity: 1 !important;
	border-radius: 5px;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .arrowUp:hover,
  .flatpickr-wrapper .flatpickr-calendar .arrowDown:hover {
	background-color: #e4e8ee;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .arrowUp::after,
  .flatpickr-wrapper .flatpickr-calendar .arrowDown::after {
	border-bottom-color: #677788 !important;
	border-top-color: #677788 !important;
  }
  
  /* Disabled prev/next month */
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-disabled.flatpickr-prev-month,
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-disabled.flatpickr-next-month {
	display: block;
	pointer-events: none;
  }
  
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-disabled.flatpickr-prev-month svg,
  .flatpickr-wrapper .flatpickr-calendar .flatpickr-disabled.flatpickr-next-month svg {
	opacity: 0.3;
  }
  
  /* Shortcut buttons container */
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons {
	border-radius: 0.3125rem;
	position: relative;
	display: inline-flex;
	vertical-align: middle;
	width: 100%;
	margin-top: 0.5rem;
  }
  
  /* Shortcut button - Bootstrap 4 compatible */
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons .shortcut-buttons-flatpickr-button {
	position: relative;
	flex: 1 1 auto;
	background-color: #fff;
	border: 1px solid rgba(231, 234, 243, 0.7);
	display: inline-block;
	padding: 0.6125rem 1rem;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: #677788;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	user-select: none;
	border-radius: 0.3125rem;
	transition: color 0.15s ease-in-out,
	  background-color 0.15s ease-in-out,
	  border-color 0.15s ease-in-out,
	  box-shadow 0.15s ease-in-out;
  }
  
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons .shortcut-buttons-flatpickr-button:hover {
	color: #495057;
	background-color: #f8f9fa;
	border-color: #dee2e6;
  }
  
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons .shortcut-buttons-flatpickr-button:focus {
	outline: 0;
	box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
  }
  
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons .shortcut-buttons-flatpickr-button:disabled {
	opacity: 0.65;
	cursor: not-allowed;
  }
  
  /* Button group edges (explicit element selector) */
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons button:not(:first-child) {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
  }
  
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons button:not(:last-child) {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
  }
  
  /*
	Replaces `.shortcut-buttons-flatpickr-buttons :not(:first-child)`
	with a safer, explicit form that only targets direct children.
	If the buttons are not direct children, change `>` to a space.
  */
  .flatpickr-wrapper .shortcut-buttons-flatpickr-buttons > * + * {
	margin-left: -0.0625rem;
  }
  
  /* Event dot */
  .flatpickr-wrapper .event {
	position: absolute;
	width: 3px;
	height: 3px;
	border-radius: 150px;
	bottom: 3px;
	left: calc(50% - 1.5px);
	content: " ";
	display: block;
	background: #3d8eb9;
  }
  