:root {
  --background-body: #fff;
  --background: #f6f3eb;
  --background-alt: #f7f7f7;
  --selection: #9e9e9e;
  --text-main: #363636;
  --text-bright: #000;
  --text-muted: #70777f;
  --links: #3973b9;
  --focus: #0096bfab;
  --border: #dbdbdb;
  --code: #000;
  --animation-duration: 0.1s;
  --button-text: #eef4f4;
  --button-hover: #ddd;
  --button-hover-text: black;
  --button-background: #034a46;
  --scrollbar-thumb: color-mod(var(--button-hover) lightness(-3%));
  --scrollbar-thumb-hover: color-mod(var(--button-hover) lightness(-10%));
  --form-placeholder: #949494;
  --form-text: #000;
  --variable: #39a33c;
  --highlight: #ff0;
  --select-arrow: svg-load("select-arrow.svg", fill: #161f27);
  --header-h: 50px;
  --footer-h: 32px;
  --sidebar-w: 6%;
  --tickables-w: calc(100vw - var(--sidebar-w));
  --navlink-color: #abadae;
  --gapmed-pink: #e8308a;
  --gapmed-petrol: #023146;
  --gapmed-petrol-transparent: color-mod(var(--gapmed-petrol) lightness(-3%));
  --gapmed-lilac: #9460a4;
  --gapmed-light-lilac: #e2d6e6;
  --gapmed-dark-lilac: #dabde3;
  --gapmed-light-blue: #3973b9;
  --gapmed-shift-accepted: #63e8d5;
  --gapmed-shift-pending: #faa423;
  --gapmed-shift-ready: #626efc;
  --gapmed-shift-done: #347d39;
  --gapmed-shift-suppressed: #8256d0;
  --affi-gapmed: #347d39; /* come shift done */
  --affi-gapmed-fg: #ebe5cd;
  --affi-idlabmed: #f6d55c;
  --affi-idlabmed-fg: #2d250a;
  --affi-valle-olona: skyblue; /* azzurro cielo :) */
  --affi-valle-olona-fg: #0a60ff;
  --affi-radiological: #e2d6e6; /* lillino :) */
  --affi-radiological-fg: purple;
  --affi-medishare: #00239c; /* blu scuro */
  --affi-medishare-fg: skyblue;
}
.red {
  color: red;
}
.lilac {
  color: var(--gapmed-lilac);
}
.pink {
  color: var(--gapmed-pink);
}
.light-blue {
  color: var(--gapmed-light-blue);
}

.bg-white {
  background-color: white !important;
}
.bg-alt {
  background-color: var(--background-alt) !important;
}
.bg-cornsilk {
  background-color: cornsilk;
}
.bg-lavender {
  background: lavenderblush;
}

html {
  scrollbar-color: var(--scrollbar-thumb) var(--background-body);
  scrollbar-width: thin;
}

body {
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    "Oxygen",
    "Ubuntu",
    "Cantarell",
    "Fira Sans",
    "Droid Sans",
    "Helvetica Neue",
    "Segoe UI Emoji",
    "Apple Color Emoji",
    "Noto Color Emoji",
    sans-serif;
  line-height: 1.4;
  word-wrap: break-word;
  color: var(--text-main);
  background: var(--background-body);
  text-rendering: optimizeLegibility;
  margin: 0;
  padding: 0;
  height: 100vh;
  overflow: hidden;
}

header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s1);
  height: var(--header-h);
  background: var(--background-body);
}

header > :first-child {
  flex-basis: var(--sidebar-w);
  flex-grow: 1;

  /* LOGO h-v centering */
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-bottom: 1px solid #ddd;
}

header > :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: 50%;
}

main {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s1);
  height: calc(100% - var(--header-h) - var(--footer-h));
}

main > :first-child {
  flex-basis: var(--sidebar-w);
  flex-grow: 1;
}

main > div#content {
  flex-basis: 0;
  flex-grow: 999;
  min-inline-size: 50%;

  overflow-y: auto;
  /*  height:inherit;*/
  height: 100%;
}

main > :last-child {
  background: var(--background);
}

main > div > section {
  margin: 2px;
  margin-left: 10px;
  height: calc(100% - 19px);
}
main > div > section:has(table#shifts) {
  height: 100%;
}

footer {
  position: absolute;
  bottom: 0;
  color: var(--navlink-color);
  height: var(--footer-h);
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 100%;
  border-top: 1px solid lightgray;
  font-size: 12px;
  section {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100vw;
    span {
      text-align: center;
    }
    span:last-child {
      text-align: right;
      margin-right: 5px;
      code {
        font-size: 10px;
      }
    }
  }
}

[role="region"][aria-labelledby][tabindex] {
  width: 100%;
  height: calc(100% - 4px);
  overflow: auto;
}
[role="region"][aria-labelledby][tabindex]:focus {
  outline: 0;
}

/* https://nerdy.dev/6-css-snippets-every-front-end-developer-should-know-in-2025 */

@view-transition {
  navigation: auto;
}

[popover],
dialog,
::backdrop {
  transition:
    display 0.5s allow-discrete,
    overlay 0.5s allow-discrete,
    opacity 0.5s;
  opacity: 0;
}

/* ON STAGE */
:popover-open,
:popover-open::backdrop,
[open],
[open]::backdrop {
  opacity: 1;
}

/* OFF STAGE starting-style for pre-positioning (enter stage from here) */
@starting-style {
  :popover-open,
  :popover-open::backdrop,
  [open],
  [open]::backdrop {
    opacity: 0;
  }
}
