input[type="date"]:not(:disabled):not([readonly]),
input[type="datetime-local"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}
#cd-calendar {
  color-scheme: dark;
  width: min(420px, calc(100vw - 24px));
  max-height: calc(100dvh - 24px);
  box-sizing: border-box;
  padding: 20px;
  border: 1px solid #56616e;
  border-radius: 16px;
  background: #161b22;
  color: #e6edf3;
  font:
    15px/1.45 "Segoe UI",
    Arial,
    sans-serif;
  overflow: auto;
  box-shadow: 0 20px 90px #0009;
}
#cd-calendar::backdrop {
  background: #0009;
}
#cd-calendar * {
  box-sizing: border-box;
}
#cd-calendar h2 {
  font-size: 20px;
  margin: 0 0 6px;
  color: #f0f6fc;
}
#cd-calendar p {
  margin: 8px 0;
}
#cd-calendar .cd-calendar-hint {
  color: #abb6c3;
  font-size: 13px;
  margin-bottom: 16px;
}
#cd-calendar button,
#cd-calendar select {
  font: inherit;
  min-height: 44px;
  border-radius: 8px;
  border: 1px solid #46515e;
  background: #21262d;
  color: #e6edf3;
  padding: 7px;
  cursor: pointer;
  width: auto;
  margin: 0;
}
#cd-calendar button:hover:not(:disabled) {
  border-color: #d4a017;
  background: #342b16;
}
#cd-calendar button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
#cd-calendar :focus-visible {
  outline: 2px solid #f0c040;
  outline-offset: 2px;
}
#cd-calendar .cd-calendar-nav {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 86px 40px;
  gap: 6px;
  margin-bottom: 12px;
}
#cd-calendar .cd-calendar-nav button {
  font-size: 25px;
  line-height: 1;
  padding: 0;
}
#cd-calendar .cd-calendar-nav select {
  width: 100%;
  min-width: 0;
  font-size: 14px;
}
#cd-calendar .cd-calendar-week,
#cd-calendar .cd-calendar-days {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  text-align: center;
}
#cd-calendar .cd-calendar-week {
  font-size: 12px;
  color: #a7b3c0;
  margin-bottom: 6px;
}
#cd-calendar .cd-calendar-days button {
  width: 100%;
  padding: 4px;
  min-width: 0;
}
#cd-calendar .cd-calendar-days button[aria-current="date"] {
  border-color: #d4a017;
}
#cd-calendar .cd-calendar-days button[aria-pressed="true"] {
  background: #d4a017;
  border-color: #d4a017;
  color: #141007;
  font-weight: 750;
}
#cd-calendar .cd-calendar-time {
  display: flex;
  gap: 14px;
  margin-top: 16px;
}
#cd-calendar .cd-calendar-time label {
  display: grid;
  gap: 4px;
  flex: 1;
  color: #a7b3c0;
  font-size: 13px;
}
#cd-calendar .cd-calendar-time select {
  width: 100%;
}
#cd-calendar .cd-calendar-selected {
  margin-top: 16px;
  color: #f0c040;
  font-weight: 600;
}
#cd-calendar .cd-calendar-error {
  color: #ffb1b1;
  font-size: 13px;
}
#cd-calendar .cd-calendar-error:empty {
  display: none;
}
#cd-calendar .cd-calendar-tools {
  display: flex;
  gap: 8px;
  margin-top: 12px;
}
#cd-calendar .cd-calendar-tools button {
  font-size: 13px;
}
#cd-calendar .cd-calendar-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  border-top: 1px solid #30363d;
  padding-top: 16px;
  margin-top: 16px;
}
#cd-calendar .cd-calendar-actions button {
  min-width: 105px;
}
#cd-calendar [data-calendar-action="close"] {
  background: #d4a017;
  color: #141007;
  border-color: #d4a017;
  font-weight: 750;
}
@media (max-width: 380px) {
  #cd-calendar {
    padding: 14px;
  }
  #cd-calendar .cd-calendar-nav {
    grid-template-columns: 34px minmax(0, 1fr) 77px 34px;
    gap: 4px;
  }
  #cd-calendar .cd-calendar-days {
    gap: 3px;
  }
}
@media print {
  #cd-calendar {
    display: none !important;
  }
}
