/**
 * Style sheet for CalendarPickerControl
 * Modernized to align with oden-ds (2026-jul-27).
 */

div.calendarbutton {
  position: absolute;
  width: 22px;
  height: 22px;
}

img.calendarbutton {
  box-sizing: border-box;
  width: 22px !important;
  height: 22px !important;
  margin: 0 0 0 4px;
  padding: 0;
  border: none;
  border-radius: 4px;
  vertical-align: middle !important;
  cursor: pointer;
  opacity: 0.92;
}

img.calendarbutton:hover {
  opacity: 1;
  box-shadow: 0 0 0 3px rgba(43, 108, 176, 0.28);
}

#CalendarPickerControl {
  box-sizing: border-box;
  width: 280px;
  height: auto;
  padding: 0;
  background: transparent;
  font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#CalendarPickerControl table.calframe {
  box-sizing: border-box;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #c5cad1;
  border-radius: 8px;
  overflow: hidden;
  background-color: #ffffff;
  text-align: center;
  box-shadow: 0 8px 24px rgba(26, 29, 33, 0.16);
}

#CalendarPickerControl td.monthname,
#CalendarPickerControl td.monthnameLNX {
  width: 100%;
  padding: 10px 12px;
  border: none;
  background-color: #1e4d7b;
  color: #ffffff;
  font: 650 14px/1.3 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#CalendarPickerControl table.navigation {
  width: 100%;
  border-collapse: separate;
  border-spacing: 4px;
  margin: 0;
  padding: 6px 6px 2px;
  text-align: center;
  background: #ffffff;
}

#CalendarPickerControl td.navbutton {
  padding: 6px 8px;
  border: 1px solid #c5cad1;
  border-radius: 4px;
  background-color: #ffffff;
  color: #1a1d21;
  font: 650 12px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
}

#CalendarPickerControl td.navbutton:hover {
  background-color: #f3f5f7;
  border-color: #1e4d7b;
  color: #1e4d7b;
  text-decoration: none;
}

#CalendarPickerControl span.yearbutton {
  cursor: pointer;
  padding: 0 4px;
  border-radius: 3px;
}

#CalendarPickerControl span.yearbutton:hover {
  background: rgba(255, 255, 255, 0.18);
  text-decoration: none;
}

#CalendarPickerControl td.dayname,
#CalendarPickerControl td.daynameLNX {
  padding: 6px 0 4px;
  border: none;
  background-color: #ffffff;
  color: #5c6570;
  font: 650 11px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#CalendarPickerControl td.today {
  padding: 6px 0;
  border: 1px solid #2b6cb0;
  border-radius: 4px;
  background-color: #e8f0fa;
  color: #1e4d7b;
  font: 700 12px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  text-decoration: none;
}

#CalendarPickerControl td.today:hover {
  background-color: #dce8f5;
  text-decoration: none;
}

/* Currently selected date */
#CalendarPickerControl td.current {
  padding: 6px 0;
  border: 1px solid #1e4d7b;
  border-radius: 4px;
  background-color: #1e4d7b;
  color: #ffffff;
  font: 700 12px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  text-decoration: none;
}

#CalendarPickerControl td.current:hover {
  background-color: #163a5c;
  text-decoration: none;
}

#CalendarPickerControl td.day {
  padding: 6px 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #ffffff;
  color: #1a1d21;
  font: 500 12px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  text-decoration: none;
}

#CalendarPickerControl td.day:hover {
  background-color: #f3f5f7;
  border-color: #c5cad1;
  text-decoration: none;
}

#CalendarPickerControl td.weekend {
  padding: 6px 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #f7f8fa;
  color: #5c6570;
  font: 500 12px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  cursor: pointer;
  text-decoration: none;
}

#CalendarPickerControl td.weekend:hover {
  background-color: #eef1f4;
  border-color: #c5cad1;
  color: #1a1d21;
  text-decoration: none;
}

#CalendarPickerControl td.dayothermonth {
  padding: 6px 0;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #ffffff;
  color: #a8b0ba;
  font: 500 12px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

#CalendarPickerControl td.weeknumber {
  padding: 4px 0;
  border: none;
  background-color: #ffffff;
  color: #5c6570;
  font: 500 10px/1.2 "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Soft gap between day cells — table uses nested structure */
#CalendarPickerControl table.calframe td.day,
#CalendarPickerControl table.calframe td.weekend,
#CalendarPickerControl table.calframe td.today,
#CalendarPickerControl table.calframe td.current,
#CalendarPickerControl table.calframe td.dayothermonth {
  width: 14.28%;
}

#CalendarPickerControl table.calframe > tbody > tr:nth-child(2) > td {
  padding: 4px 6px 0;
  background: #ffffff;
}

#CalendarPickerControl table.calframe > tbody > tr:last-child > td.day,
#CalendarPickerControl table.calframe > tbody > tr:last-child > td.weekend,
#CalendarPickerControl table.calframe > tbody > tr:last-child > td.today,
#CalendarPickerControl table.calframe > tbody > tr:last-child > td.current,
#CalendarPickerControl table.calframe > tbody > tr:last-child > td.dayothermonth {
  padding-bottom: 10px;
}
