
/* Visual cues for schedule */
html[nextTimedChange="false"] #timed-change-message,
html[schedule='true'][nextTimedChange="false"] #disabled_message,
html[schedule='true'][nextTimedChange="false"] #turn_back_on,
html[schedule='false'] #disabled_message_schedule,
html[schedule='false'] #disabled_message_open_schedule,
html:not([nextTimedChange="false"]) #disabled_message_schedule,
html:not([nextTimedChange="false"]) #disabled_message_open_schedule,
html[foo="bar"] {
  display: none;
}

#disabled_message_container {
  text-align: center;
  height: var(--body-height);
  padding: 1px;

  font-size: 1rem;

  display: flex;
  justify-content: center;
  align-content: center;
  flex-direction: column;
  gap: 30px;
}

#turn_back_on, #disabled_message_open_schedule {
  width: fit-content;
  height: fit-content;
  margin: 0 auto;
  padding: 10px 25px;
  user-select: none;
  border: 2px solid var(--label-color);
  border-radius: 999px;
}
#turn_back_on:hover, #disabled_message_open_schedule:hover {
  background-color: var(--label-color);
  color: var(--body-background-color);
}


/* Status Overlay */
#status_overlay_container[hidden] {
  display: none;
}
#status_overlay_container {
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;

  width: fit-content;
  min-height: fit-content;

  margin-left: auto;
  margin-right: auto;
  padding: 5px 20px;

  z-index: 11;

  color: var(--body-background-color);
  background-color: var(--body-color);
  box-shadow: 0px 0px .5px .5px var(--box-shadow-color);

  border: 1px solid rgba(0, 0, 0, 0.45);;
  border-radius: 99px;
}

#status_overlay {

  display: flex;
  flex-direction: column;
  gap: 3px;
  justify-content: space-evenly;
  align-items: center;
}

#status_message {
  color: var(--body-background-color);
}

/* Import modal */
#import_container_background {
  position: fixed;
  top: 0;
  left: 0;
  width: 105vw;
  height: 105vh;
  z-index: 100;

  background-color: rgba(0, 0, 0, 0.6);

  display: flex;
}

#import_container, #import_container * {
  color: var(--body-color);
}

#import_container {
  height: fit-content;
  width: min(50vw, 350px);
  margin-top: calc(3 * var(--header-height));
  margin-right: auto;
  margin-left: auto;
  padding-top: 20px;
  padding-bottom: 20px;

  text-align: center;

  background-color: var(--body-background-color);
  box-shadow: 0px 0px .5px .5px var(--box-shadow-color);

  border: 1px solid var(--box-shadow-color);
  border-radius: 2px;

  display: flex;
  gap: 15px;
  flex-direction: column;
  align-items: center;
}

#import_container input {
  width: min(75%, 200px);
  padding: 2px 7px;
  color: var(--body-color);
}
#import_container button {
  width: fit-content;
  padding: 2px 7px;
  color: black;
}


/* Scheduling Modal */
#schedule_container_background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 100;

  background-color: rgba(0, 0, 0, 0.6);

  display: flex;
}

#schedule_container, #schedule_container * {
  color: var(--body-color);
}

#schedule_container {
  height: fit-content;
  width: min(90vw, 800px);
  margin-top: calc(1.2 * var(--header-height));
  margin-right: auto;
  margin-left: auto;
  padding: 20px;

  text-align: center;

  background-color: var(--body-background-color);
  box-shadow: 0px 0px .5px .5px var(--box-shadow-color);
  box-sizing: border-box;

  border: 1px solid var(--box-shadow-color);
  border-radius: 2px;

  display: flex;
  gap: 60px;
  flex-direction: column;
  align-items: center;
}

#schedule_modal_header {
  display: flex;
  gap: 15px;
  flex-direction: column;
  align-items: center;
}

#schedule_modal_header div:first-child {
  font-size: 1.1rem;
  font-weight: bold;
}

/* Gray out options when disabled */
html[schedule="false"] #schedule_container > *:not(#schedule_modal_header) {
  opacity: 0.2;
  pointer-events: none;
  user-select: none;
}

#enable-schedule {
  cursor: default;
  user-select: none;

  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 15px;
}
#enable-schedule p {
  margin: 0;
  font-size: 0.9rem;
}

#times-container, #days-container {
  width: 100%;

  display: flex;
  flex-direction: row;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-end;
}

.label-container {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
}

.label-container > div:first-child {
  font-weight: bold;
}

.predefined-options {
  display: flex;
  gap: 10px;
  user-select: none;
  font-size: 0.8rem;
}

#schedule-times {
  width: 100%;
  max-width: 215px;
  padding: 2px 5px;
  font-size: 0.8rem;
  box-sizing: border-box;
}
#schedule-times[invalid] {
  box-shadow: 0px 0px 1px 0.5px var(--red-color);
}
#schedule-times[invalid]:focus {
  box-shadow: 0px 0px 2px 0.5px var(--red-color);
}

#schedule-days {
  display: flex;
  gap: 3px;
  justify-content: right;
  user-select: none;
  box-sizing: border-box;
}
#schedule-days > div {
  width: 30px;
  padding: 1px 2px;
  border-radius: 2px;
  box-sizing: border-box;
  border: 2px solid var(--body-background-color);
  cursor: pointer;
}
#schedule-days > div[active] {
  color: white !important;
  background-color: var(--light-blue);
  border: 2px solid var(--blue-color);
}

.predefined-options a {
  cursor: pointer;
}

/* Menu Timer */
#timer_container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: calc(var(--footer-height) + 3px);
  width: 100vw;
  z-index: 100;
  font-size: 1rem;

  background-color: rgba(255, 255, 255, 0.97);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15vh;
}

/* Code Entry */
#lock_code_container {
  position: fixed;
  top: 0;
  left: 0;
  bottom: calc(var(--footer-height) + 3px);
  width: 100vw;
  z-index: 100;
  font-size: 1rem;

  background-color: var(--body-background-color);

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 25px;
}


#main_container {
  display: flex;
  flex-direction: row;
}

#sidebar {
  height: calc(6px + var(--body-height));
  width: 150px;
  padding: 10px 3px;
  overflow: hidden;

  box-sizing: border-box;
  user-select: none;

  border-radius: 1px;
  border-right: 1.5px solid var(--box-shadow-color);
/*  box-shadow: 0px 0px 1px 0.5px var(--box-shadow-color);*/

  display: flex;
  flex-direction: column;
  gap: 0px;
}
#sidebar .sidebar_section {
  padding: 7px;
  border-radius: var(--border-radius);
  box-sizing: border-box;

  font-size: 16px;
}
#sidebar .sidebar_section:hover {
}
#sidebar .sidebar_section[selected] {
  background-color: var(--label-color);
  color: var(--body-background-color);
}

#primary_options {
  height: var(--body-height);
  width: 100%;
  overflow: scroll;
  overflow-x: hidden;

  padding: 1px;

  display: flex;
  flex-direction: column;
  gap: 3px;
}
