*, ::before, ::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x:  ;
  --tw-pan-y:  ;
  --tw-pinch-zoom:  ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position:  ;
  --tw-gradient-via-position:  ;
  --tw-gradient-to-position:  ;
  --tw-ordinal:  ;
  --tw-slashed-zero:  ;
  --tw-numeric-figure:  ;
  --tw-numeric-spacing:  ;
  --tw-numeric-fraction:  ;
  --tw-ring-inset:  ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur:  ;
  --tw-brightness:  ;
  --tw-contrast:  ;
  --tw-grayscale:  ;
  --tw-hue-rotate:  ;
  --tw-invert:  ;
  --tw-saturate:  ;
  --tw-sepia:  ;
  --tw-drop-shadow:  ;
  --tw-backdrop-blur:  ;
  --tw-backdrop-brightness:  ;
  --tw-backdrop-contrast:  ;
  --tw-backdrop-grayscale:  ;
  --tw-backdrop-hue-rotate:  ;
  --tw-backdrop-invert:  ;
  --tw-backdrop-opacity:  ;
  --tw-backdrop-saturate:  ;
  --tw-backdrop-sepia:  ;
  --tw-contain-size:  ;
  --tw-contain-layout:  ;
  --tw-contain-paint:  ;
  --tw-contain-style:  ;
}

/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
     tab-size: 4;
  /* 3 */
  font-family: Inter, sans-serif;
  /* 4 */
  font-feature-settings: normal;
  /* 5 */
  font-variation-settings: normal;
  /* 6 */
  -webkit-tap-highlight-color: transparent;
  /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* 1 */
  font-feature-settings: normal;
  /* 2 */
  font-variation-settings: normal;
  /* 3 */
  font-size: 1em;
  /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-feature-settings: inherit;
  /* 1 */
  font-variation-settings: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  letter-spacing: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button;
  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Reset default styling for dialogs.
*/

dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */
  vertical-align: middle;
  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.app-brand {
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.2rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--grey-1000);
}

.settings-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  white-space: nowrap;
}

.settings-link__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  opacity: 0.8;
}

.user-name {
  color: var(--grey-1000);
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.2rem;
  letter-spacing: 0.01em;
  margin: 0;
  white-space: nowrap;
}

.bar-color-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  position: relative;
}

.bar-color-controls .theme-picker__label {
  font-weight: 600;
  font-size: 0.875rem;
  line-height: 1.15rem;
  color: var(--grey-800);
}

.bar-color-trigger {
  justify-content: flex-start;
  text-align: left;
}

.bar-color-trigger .theme-picker__label {
  flex: 1;
}

.bar-color-swatch {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  border-radius: 9999px;
  border: 2px solid var(--grey-200);
  box-shadow: var(--shadow-xs);
  background: var(--theme-chart-primary);
}

.theme-picker__menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: var(--z-dropdown);
  min-width: 160px;
  padding: 6px;
  border: 1px solid var(--grey-200);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow-md);
}

.theme-picker__item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--grey-900);
  cursor: pointer;
  text-align: left;
}

.theme-picker__item:hover {
  background-color: var(--grey-100);
}

.theme-picker__item[data-active="true"] {
  background-color: var(--grey-100);
}

.theme-picker__item:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.theme-picker__swatch {
  width: 18px;
  height: 18px;
  border-radius: 9999px;
  border: 2px solid var(--grey-200);
  box-shadow: var(--shadow-xs);
  background: var(--theme-chart-primary);
}

.theme-picker__swatch[data-theme="Giove"] {
  background: #f0abfc;
}

.theme-picker__swatch[data-theme="Saturno"] {
  background: #4f46e5;
}

.theme-picker__swatch[data-theme="Moon"] {
  background: #38bdf8;
}

.theme-picker__swatch[data-theme="Morgan"] {
  background: #e63329;
}

.theme-picker__label {
  font-size: 0.875rem;
  line-height: 1.15rem;
  font-weight: 600;
}

.sidebar-stack {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.app-grid {
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
      "topbar actions"
      "sidebar sidebar"
      "col2 col2"
      "col3 col3";
}

.app-grid__brand {
  grid-area: brand;
  display: none;
  align-self: center;
}

.app-grid__topbar {
  grid-area: topbar;
  align-self: center;
}

.topbar-identity {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 2px;
}

.app-brand--inline {
  display: block;
}

.app-grid__actions {
  grid-area: actions;
  display: flex;
  align-self: center;
  justify-self: end;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}

.header-menu-button {
  display: none;
}

.header-actions-inline {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

@media (max-width: 679px) {
  .header-menu-button {
    display: inline-flex;
    align-items: center;
  }

  .header-actions-inline {
    display: none;
  }

  .app-grid__actions--menu-open .header-actions-inline {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: var(--z-dropdown);
    min-width: 220px;
    padding: 8px;
    border: 1px solid var(--grey-200);
    border-radius: 16px;
    background-color: white;
    box-shadow: var(--shadow-md);
  }

  .app-grid__actions--menu-open .header-actions-inline .timeframe-select {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    text-align: left;
  }

  .app-grid__actions--menu-open .header-actions-inline .bar-color-controls {
    width: 100%;
    justify-content: stretch;
  }

  .app-grid__actions--menu-open .header-actions-inline .bar-color-trigger {
    width: 100%;
    justify-content: flex-start;
  }

  body.p-6 {
    padding-left: 0;
    padding-right: 0;
  }
}

.app-grid__sidebar {
  grid-area: sidebar;
  min-width: 0;
}

.app-grid__col2 {
  grid-area: col2;
  min-width: 0;
}

.app-grid__col3 {
  grid-area: col3;
  min-width: 0;
}

@media (min-width: 540px) {
  .app-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
        "topbar actions"
        "sidebar sidebar"
        "col2 col3";
  }
}

@media (max-width: 959px) {
  .app-grid {
    row-gap: 0;
  }

  .timeframe-select.md\:hidden {
    display: inline-flex !important;
    align-items: center;
  }

  [data-role="anagrafica-sidebar"] {
    display: none !important;
  }
}

@media (min-width: 540px) and (max-width: 959px) {
  .app-grid__col2,
    .app-grid__col3 {
    margin-top: 24px;
  }
}

@media (min-width: 768px) {
  .app-grid {
    grid-template-areas:
        "topbar actions"
        "sidebar sidebar"
        "col2 col3";
  }

  .app-grid__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

@media (min-width: 960px) {
  .app-grid {
    grid-template-columns: minmax(240px, 360px) 1fr 1fr;
    grid-template-rows: auto 1fr;
    grid-template-areas:
        "brand topbar actions"
        "sidebar col2 col3";
  }

  .app-brand--inline {
    display: none;
  }

  .timeframe-select[data-role="timeframe"],
    .timeframe-select[data-role="anagrafica-open"] {
    display: none;
  }

  .app-grid__brand {
    display: flex;
    align-items: center;
  }

  .app-grid__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

.anagrafica-panel {
  overflow: hidden;
}

.anagrafica-panel__header {
  padding: 12px 16px 8px;
  border-bottom: 1px solid var(--grey-200);
}

.anagrafica-panel__title {
  margin: 0;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.2rem;
  letter-spacing: 0.01em;
  color: var(--grey-1000);
}

.anagrafica-panel__body {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.anagrafica-accordion {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.anagrafica-accordion__toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--grey-200);
  background: white;
  border-radius: 12px;
  padding: 10px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  box-shadow: var(--shadow-xs);
  color: var(--grey-900);
  font-weight: 700;
  font-size: 0.85rem;
  line-height: 1.1rem;
}

.anagrafica-accordion__chevron {
  width: 18px;
  height: 18px;
  opacity: 0.65;
  flex: 0 0 auto;
  transform: rotate(0deg);
  transition: transform 120ms ease;
}

.anagrafica-accordion__toggle[aria-expanded="true"] .anagrafica-accordion__chevron {
  transform: rotate(90deg);
}

.anagrafica-accordion__toggle:hover {
  background-color: var(--grey-50);
}

.anagrafica-accordion__toggle:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.anagrafica-accordion__meta {
  color: var(--grey-600);
  font-weight: 700;
  font-size: 0.8rem;
  margin-left: auto;
}

.anagrafica-accordion__panel {
  border: 1px solid var(--grey-200);
  border-radius: 12px;
  padding: 10px 12px;
  background: white;
}

.anagrafica-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: var(--grey-700);
  font-size: 0.8rem;
  line-height: 1rem;
}

.anagrafica-list > li {
  display: flex;
  align-items: baseline;
  gap: 8px;
}

.anagrafica-list > li::before {
  content: "-";
  color: var(--grey-500);
  flex: 0 0 auto;
}

.anagrafica-modal__body {
  padding: 12px 12px 14px;
}

.help-drawer[aria-hidden="true"] {
  display: none;
}

.help-drawer {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: block;
}

.help-drawer__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(9, 9, 11, 0.45);
}

.help-drawer__panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(380px, 100%);
  background-color: white;
  border-left: 1px solid var(--grey-200);
  box-shadow: var(--shadow-xl);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.help-drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--grey-200);
  flex: 0 0 auto;
}

.help-drawer__title {
  margin: 0;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.2rem;
  letter-spacing: 0.01em;
  color: var(--grey-1000);
}

.help-drawer__body {
  padding: 12px 14px 16px;
  overflow-y: auto;
  flex: 1 1 auto;
}

.help-drawer__body .anagrafica-accordion__panel {
  color: var(--grey-700);
  font-size: 0.8rem;
  line-height: 1.2rem;
}

.help-drawer__body .anagrafica-accordion__panel iframe {
  display: block;
  width: 100%;
  aspect-ratio: 640 / 360;
  height: auto;
  border-radius: 8px;
}

.markers-panel {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  border-color: var(--grey-200);
  box-shadow: var(--shadow-sm);
  width: 100%;
  align-self: start;
}

.markers-panel__header {
  border-bottom-width: 1px;
  padding: 12px 16px;
  border-color: var(--grey-200);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 12px;
}

.markers-panel__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.markers-panel__title {
  width: 100%;
  text-align: right;
  color: var(--grey-1000);
  font-size: 18px;
  font-weight: 800;
  margin: 0;
}

.markers-panel__heading .markers-panel__title {
  width: auto;
  min-width: 0;
}

.markers-panel__subtitle {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  width: 100%;
  margin: -10px 0 0;
  text-align: left;
  color: var(--grey-500);
  font-size: 0.85rem;
  line-height: 1.1rem;
  text-wrap: balance;
}

.markers-panel__insight {
  width: 100%;
  margin: 0;
  color: var(--grey-700);
  font-size: 13px;
  line-height: 1.4;
}

.markers-panel__insight-caption {
  width: 100%;
  margin: 0;
  color: var(--grey-500);
  font-size: 11px;
  font-style: italic;
}

.markers-panel__section-title {
  width: 100%;
  text-align: left;
  color: var(--grey-1000);
  font-size: 16px;
  font-weight: 800;
  margin: 0;
}

.markers-panel.panel--accent {
  border-left: none;
}

.panel--accent .markers-panel__scope-badge {
  background: rgba(37, 99, 235, 0.1);
  border-color: rgba(37, 99, 235, 0.25);
  color: var(--blue-800);
}

.markers-panel__body {
  display: flex;
  flex-direction: column;
  padding: 16px;
  container-type: inline-size;
}

@media (min-width: 480px) {
  .markers-panel__body {
    padding: 16px;
  }
}

.markers-panel__section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  justify-items: stretch;
  align-items: start;
}

.markers-panel__section > * {
  min-width: 0;
}

.metric-tabs {
  width: min(240px, 100%);
  grid-column: 1 / -1;
  justify-self: center;
  justify-content: center;
}

.markers-panel__section--efficiency {
  justify-items: stretch;
}

@media (min-width: 1080px) {
  .markers-panel__section {
    grid-template-columns: minmax(0, 1fr) clamp(150px, 16vw, 180px);
    -moz-column-gap: 12px;
         column-gap: 12px;
    row-gap: 12px;
    justify-items: stretch;
    align-items: start;
  }

  .metric-tabs {
    grid-column: 1 / -1;
    justify-self: start;
  }

  .markers-panel__section--efficiency {
    grid-template-areas:
        "title title"
        "chart kpi"
        "details details"
        "steps steps";
  }

  .markers-panel__section--efficiency .markers-panel__section-title {
    grid-area: title;
  }

  .markers-panel__section--efficiency .markers-panel__chart-block {
    grid-area: chart;
  }

  .markers-panel__section--efficiency .markers-panel__kpis.eff-kpi {
    grid-area: kpi;
  }

  .markers-panel__section--efficiency .eff-loss-details {
    grid-area: details;
    width: 100%;
    max-width: none;
    align-self: start;
  }

  .markers-panel__section--efficiency .eff-steps--column {
    grid-area: steps;
    width: 100%;
    max-width: none;
    align-self: start;
  }

  .markers-panel__kpis {
    width: 100%;
    max-width: 180px;
    justify-self: stretch;
  }

  .markers-panel__kpis .kpi-card {
    width: 100%;
  }
}

@supports (container-type: inline-size) {
  @container (max-width: 440px) {
    .markers-panel__section {
      grid-template-columns: 1fr;
    }

    .markers-panel__section--efficiency {
      grid-template-areas: none;
      display: flex;
      flex-direction: column;
      align-items: stretch;
    }

    .markers-panel__section--efficiency .markers-panel__chart-block {
      display: contents;
    }

    .markers-panel__section--efficiency .markers-panel__chart {
      order: 1;
    }

    .markers-panel__section--efficiency .markers-panel__kpis.eff-kpi {
      order: 2;
    }

    .markers-panel__section--efficiency .eff-loss-details {
      order: 3;
    }

    .markers-panel__section--efficiency .eff-steps-toggle {
      order: 4;
    }

    .markers-panel__section--efficiency .eff-steps--column {
      order: 5;
    }

    .markers-panel__section--efficiency .markers-panel__chart,
      .markers-panel__section--efficiency .markers-panel__kpis.eff-kpi,
      .markers-panel__section--efficiency .eff-loss-details,
      .markers-panel__section--efficiency .eff-steps--column {
      grid-area: auto;
      max-width: none;
    }

    .markers-panel__kpis {
      max-width: none;
    }
  }
}

.markers-panel__divider {
  height: 1px;
  background-color: var(--grey-200);
  margin: 12px 0;
}

.markers-panel__chart {
  position: relative;
  width: 100%;
  height: 180px;
}

.markers-panel__chart-block {
  width: 100%;
  justify-self: stretch;
}

.markers-panel__chart-compare {
  grid-column: 1 / -1;
  width: 100%;
}

.markers-panel__chart-compare[hidden] {
  display: none;
}

.markers-panel__chart-compare-scroll {
  width: 100%;
  overflow-x: auto;
}

.markers-panel__chart-compare-inner {
  position: relative;
  height: 220px;
  min-width: 100%;
}

@media (min-width: 1080px) {
  .markers-panel__section--efficiency[data-compare-operators="true"]
      .markers-panel__chart-block {
    grid-column: 1 / -1;
  }
}

.eff-steps-toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  background: transparent;
  border-radius: 9999px;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  padding: 6px 10px 6px 0;
  margin-top: 8px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--grey-500);
  font-size: 0.875rem;
  line-height: 1.15rem;
}

@media (hover: hover) and (pointer: fine) {
  .eff-steps-toggle:hover {
    background-color: var(--grey-100);
    color: var(--grey-800);
  }
}

.eff-steps-toggle:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 3px;
  border-radius: 8px;
}

.eff-steps-toggle__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  transition: transform 160ms ease;
}

.eff-steps-toggle--expanded .eff-steps-toggle__icon {
  transform: rotate(180deg);
}

.markers-panel__kpis {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  width: 100%;
}

.markers-panel__kpis .kpi-card {
  width: 100%;
  min-width: 0;
}

.eff-loss-details {
  min-height: 64px;
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--grey-200);
  border-radius: 12px;
  background: white;
  color: var(--grey-700);
  font-size: 0.8rem;
  line-height: 1rem;
}

.eff-loss-details__list,
  .eff-loss-details__list ul {
  margin: 0;
  padding-left: 0;
}

.eff-loss-details__list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  list-style: none;
}

.eff-loss-details__list > li {
  position: relative;
  padding-left: 14px;
}

.eff-loss-details__list > li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--grey-700);
}

.eff-loss-details__value {
  font-weight: 600;
  margin-left: 6px;
}

.eff-loss-details__list ul {
  margin-top: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  list-style: none;
  padding-left: 14px;
}

.eff-loss-details__list ul > li {
  position: relative;
  padding-left: 14px;
}

.eff-loss-details__list ul > li::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--grey-700);
}

.avgline-tooltip {
  position: absolute;
  z-index: 2;
  display: none;
  padding: 4px 8px;
  border: 1px solid var(--grey-200);
  border-radius: 9999px;
  background-color: rgba(255, 255, 255, 0.96);
  box-shadow: var(--shadow-xs);
  color: var(--grey-500);
  font-size: 0.75rem;
  line-height: 1rem;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  white-space: nowrap;
}

.operator-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0px;
}

.operator-tabs[aria-label="Operatore"] {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  gap: 6px;
  max-width: 100%;
  -webkit-mask-image: linear-gradient(
      90deg,
      transparent,
      #000 16px,
      #000 calc(100% - 16px),
      transparent
    );
  mask-image: linear-gradient(
      90deg,
      transparent,
      #000 16px,
      #000 calc(100% - 16px),
      transparent
    );
}

.operator-tabs[aria-label="Operatore"]::-webkit-scrollbar {
  display: none;
}

.operator-tabs[aria-label="Operatore"] .operator-tabs__tab {
  flex: 0 0 auto;
}

.markers-panel__operator-controls {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.operator-compare-toggle {
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  gap: 6px;
  color: var(--grey-500);
  font-size: 0.8rem;
  font-weight: 500;
  cursor: pointer;
}

.operator-compare-toggle:hover {
  color: var(--grey-800);
}

.operator-compare-toggle__input {
  width: 14px;
  height: 14px;
  accent-color: var(--grey-1000);
  cursor: pointer;
}

.timeframe-select {
  border-radius: 9999px;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  font-size: 0.875rem;
  line-height: 1.15rem;
  border-color: var(--grey-200);
  color: var(--grey-800);
  white-space: nowrap;
}

.timeframe-select.header-menu-button {
  display: none;
}

@media (max-width: 679px) {
  .timeframe-select.header-menu-button {
    display: inline-flex;
  }
}

.timeframe-select:hover {
  background-color: var(--grey-100);
}

.timeframe-modal[aria-hidden="true"] {
  display: none;
}

.timeframe-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: grid;
  place-items: center;
  padding: 20px;
}

@media (min-width: 960px) {
  .timeframe-modal[data-mode="sidebar"] {
    position: static;
    inset: auto;
    z-index: auto;
    padding: 0;
    place-items: start;
    width: 100%;
  }

  .timeframe-modal[data-mode="sidebar"] .timeframe-modal__close {
    display: none;
  }

  .timeframe-modal[data-mode="sidebar"] .timeframe-modal__header {
    justify-content: flex-start;
  }
}

.timeframe-modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(9, 9, 11, 0.45);
}

@media (min-width: 960px) {
  .timeframe-modal[data-mode="sidebar"] .timeframe-modal__backdrop {
    display: none;
  }
}

.timeframe-modal__panel {
  position: relative;
  width: min(420px, 100%);
  border-radius: var(--border-radius-xl);
  border: 1px solid var(--grey-200);
  background-color: white;
  box-shadow: var(--shadow-xl);
  overflow: hidden;
}

@media (min-width: 960px) {
  .timeframe-modal[data-mode="sidebar"] .timeframe-modal__panel {
    width: 100%;
    box-shadow: var(--shadow-sm);
  }
}

.timeframe-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-bottom: 1px solid var(--grey-200);
}

.timeframe-modal__title {
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.2rem;
  color: var(--grey-1000);
}

.timeframe-modal__close {
  width: 32px;
  height: 32px;
  border-radius: 9999px;
  border: 1px solid var(--grey-200);
  background-color: white;
  color: var(--grey-700);
  font-size: 18px;
  line-height: 1;
}

.timeframe-modal__close:hover {
  background-color: var(--grey-100);
}

.timeframe-modal__footer {
  padding: 12px 14px;
  border-top: 1px solid var(--grey-200);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.timeframe-modal__range {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--grey-700);
  font-weight: 600;
  font-size: 0.85rem;
}

.timeframe-modal__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.timeframe-modal__button {
  height: var(--button-height);
  padding: 0 12px;
  border-radius: 9999px;
  border: 1px solid var(--grey-200);
  background-color: white;
  color: var(--grey-800);
  font-weight: 700;
  font-size: 0.85rem;
}

.timeframe-modal__button:hover {
  background-color: var(--grey-100);
}

.timeframe-modal__button:disabled {
  opacity: 0.55;
}

.timeframe-modal__button--primary {
  background-color: #e9ecef;
  color: var(--grey-800);
  border-color: var(--grey-200);
}

.timeframe-modal__button--primary:hover {
  background-color: var(--grey-100);
}

.timeframe-modal .calendar-component {
  display: block;
}

@media (max-width: 767px) {
  .timeframe-modal .calendar-component {
    padding: 0 14px 14px;
  }

  .timeframe-modal .calendar-header {
    padding: 12px 0;
  }

  .timeframe-modal .calendar-grid {
    border-left: 1px solid var(--grey-200);
    border-right: 1px solid var(--grey-200);
  }
}

.timeframe-modal .calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 12px 14px;
}

.timeframe-modal .month-move {
  border: 1px solid var(--grey-200);
  background-color: white;
  width: 32px;
  height: 32px;
  border-radius: 9999px;
}

.timeframe-modal .month-move:hover {
  background-color: var(--grey-100);
}

.timeframe-modal .month-display {
  font-weight: 800;
  font-size: 0.9rem;
  color: var(--grey-1000);
}

.timeframe-modal .calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0;
  border-top: 1px solid var(--grey-200);
}

.timeframe-modal .calendar-grid > div {
  min-height: 40px;
  display: grid;
  place-items: center;
  border-bottom: 1px solid var(--grey-200);
  border-right: 1px solid var(--grey-200);
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--grey-800);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.timeframe-modal .calendar-grid > div:nth-child(7n) {
  border-right: none;
}

.timeframe-modal .calendar-grid .day-of-week {
  font-weight: 800;
  font-size: 0.75rem;
  color: var(--grey-500);
  background-color: var(--grey-50);
}

.timeframe-modal .calendar-grid .calendar-day {
  cursor: pointer;
}

.timeframe-modal .calendar-grid .calendar-day:hover {
  background-color: var(--grey-100);
}

.timeframe-modal .calendar-grid .calendar-day.start:hover,
  .timeframe-modal .calendar-grid .calendar-day.end:hover {
  background-color: var(--blue-700);
  color: white;
}

.timeframe-modal .calendar-grid .selected {
  background-color: rgba(29, 78, 216, 0.12);
}

.timeframe-modal .calendar-grid .start,
  .timeframe-modal .calendar-grid .end {
  background-color: var(--blue-700);
  color: white;
}

.timeframe-modal .calendar-grid .in-range {
  background-color: rgba(29, 78, 216, 0.08);
}

@media (max-width: 767px) {
  .timeframe-modal .calendar-component {
    padding: 0 14px 14px;
  }

  .timeframe-modal .calendar-header {
    padding: 12px 0;
  }

  .timeframe-modal .calendar-grid {
    border-left: 1px solid var(--grey-200);
    border-right: 1px solid var(--grey-200);
  }
}

.operator-tabs__tab {
  border-radius: 9999px;
  font-weight: 600;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  padding: 6px 10px;
  font-size: 0.875rem;
  line-height: 1.15rem;
  color: var(--grey-500);
}

.operator-tabs__tab:hover {
  background-color: var(--grey-100);
  color: var(--grey-800);
}

.operator-tabs__tab--active {
  background-color: transparent;
  color: var(--grey-1000);
}

.operator-tabs__tab--active:hover {
  background-color: transparent;
  color: var(--grey-1000);
}

.kpi-card {
  border-radius: 0.75rem;
  border-width: 1px;
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
  padding: 8px;
  border-color: var(--grey-200);
  box-shadow: var(--shadow-xs);
  text-align: center;
}

.kpi-card__label {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  color: var(--grey-500);
  font-size: 0.85rem;
  line-height: 1.1rem;
  text-wrap: balance;
}

.kpi-card__label-text {
  position: relative;
  display: inline-block;
  cursor: help;
  -webkit-text-decoration: underline dashed;
          text-decoration: underline dashed;
  text-decoration-color: var(--grey-400);
  text-underline-offset: 3px;
}

.kpi-card__label-text::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  z-index: 20;
  width: -moz-max-content;
  width: max-content;
  max-width: 200px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid var(--grey-200);
  background-color: var(--grey-50);
  color: var(--grey-700);
  font-size: 0.7rem;
  font-weight: 500;
  text-transform: none;
  letter-spacing: normal;
  line-height: 1.35;
  box-shadow: var(--shadow-sm);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, 4px);
  transition:
      opacity 0.15s ease,
      transform 0.15s ease;
}

.kpi-card__label-text:hover::after,
  .kpi-card__label-text:focus-visible::after {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

.kpi-card__value {
  font-weight: 600;
  line-height: 1;
  margin-top: 0.55rem;
  font-size: 1.6rem;
  color: var(--grey-1000);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.kpi-card__prefix + .kpi-card__value {
  margin-top: 0.2rem;
}

.eff-steps {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--grey-200);
}

.eff-steps--column {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.eff-steps__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 10px;
}

.eff-steps__csv-link {
  color: var(--grey-500);
  font-size: 0.8rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.eff-steps__csv-link:hover {
  color: var(--grey-800);
}

.eff-steps__unit-toggle {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid var(--grey-300);
  padding: 4px 10px;
  background: white;
  cursor: pointer;
  color: var(--grey-700);
  font-weight: 700;
  font-size: 0.8rem;
  line-height: 1rem;
  letter-spacing: 0.02em;
  border-radius: 10px;
  box-shadow: 0 2px 0 rgba(0, 0, 0, 0.14);
}

.eff-steps__unit-toggle[aria-pressed="true"] {
  color: var(--grey-1000);
  background-color: var(--grey-100);
  box-shadow: none;
}

.eff-steps__unit-toggle:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 3px;
  border-radius: 6px;
}

.eff-steps__rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.eff-steps__row {
  display: flex;
  flex-direction: column;
  gap: 0px;
}

.eff-steps__row--interactive {
  position: relative;
  cursor: pointer;
  padding: 6px 28px 6px 8px;
  margin: 0 -8px;
  border-radius: 8px;
  transition: background-color 0.15s ease;
}

.eff-steps__row--interactive:hover {
  background-color: var(--grey-100);
}

.eff-steps__row-chevron {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 16px;
  height: 16px;
  color: var(--grey-400);
  transform: translateY(-50%);
  transition: transform 0.15s ease;
  pointer-events: none;
}

.eff-steps__row-chevron--expanded {
  transform: translateY(-50%) rotate(180deg);
}

.eff-steps__row-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 8px;
  padding: 6px 8px;
  border-radius: 8px;
  background-color: var(--grey-50);
  border: 1px solid var(--grey-200);
}

.eff-steps__row-details[hidden] {
  display: none;
}

.eff-steps__row-details-col {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 6px;
}

.eff-steps__row-details-col:first-child {
  background-color: hsl(131, 50%, 86%);
}

.eff-steps__row-details-col:last-child {
  background-color: hsl(3, 79%, 90%);
}

.eff-steps__row-details--accesa .eff-steps__row-details-col:last-child {
  visibility: hidden;
}

.eff-steps__row-details-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}

.eff-steps__row-details-item--clickable {
  cursor: pointer;
  padding: 2px 4px;
  padding-right: 0;
  margin: -2px -4px;
  border-radius: 6px;
  transition: background-color 0.15s ease;
}

.eff-steps__row-details-item--clickable:hover {
  background-color: rgb(0 0 0 / 0.06);
}

.eff-steps__row-details-value-group {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.eff-steps__row-details-value-group .eff-steps__row-chevron {
  position: static;
  flex-shrink: 0;
  transform: none;
}

.eff-steps__row-details-value-group
    .eff-steps__row-chevron--expanded {
  transform: rotate(180deg);
}

.eff-steps__row-bar-chart-icon {
  width: 16px;
  height: 16px;
  color: var(--grey-400);
  flex-shrink: 0;
}

.eff-steps__pausa-chart {
  position: relative;
  width: 100%;
  height: 140px;
  margin-top: 8px;
  cursor: pointer;
}

.eff-steps__pausa-chart[hidden] {
  display: none;
}

.pausa-chart-modal {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: grid;
  place-items: center;
  padding: 20px;
}

.pausa-chart-modal[hidden] {
  display: none;
}

.pausa-chart-modal__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(9, 9, 11, 0.45);
}

.pausa-chart-modal__panel {
  position: relative;
  width: min(640px, 100%);
  border-radius: var(--border-radius-xl);
  border: 1px solid var(--grey-200);
  background-color: white;
  box-shadow: var(--shadow-xl);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.pausa-chart-modal__title {
  font-weight: 800;
  font-size: 1.1rem;
  line-height: 1.2;
  color: var(--grey-1000);
  margin: 0;
}

.pausa-chart-modal__chart {
  position: relative;
  width: 100%;
  height: min(420px, 60vh);
}

.pausa-chart-modal__close {
  position: absolute;
  top: 12px;
  right: 12px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--grey-500);
  font-size: 1.5rem;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 8px;
}

.pausa-chart-modal__close:hover {
  background-color: var(--grey-100);
  color: var(--grey-800);
}

.eff-steps__row-details-label {
  color: var(--grey-700);
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.02em;
}

.eff-steps__row-details-value {
  color: var(--grey-1000);
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1rem;
  white-space: nowrap;
}

.eff-steps__row-details-sublist {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-left: 6px;
}

.eff-steps__pct {
  color: var(--grey-1000);
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1rem;
  white-space: nowrap;
}

.eff-steps__values,
  .eff-steps__names {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: nowrap;
}

.eff-steps__values {
  margin-bottom: 2px;
}

.eff-steps__names {
  margin-top: 2px;
}

.eff-steps__value-left,
  .eff-steps__value-right,
  .eff-steps__name-left,
  .eff-steps__name-right {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  font-weight: 500;
  font-size: 0.8rem;
  line-height: 1rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.eff-steps__name-left {
  color: var(--grey-700);
}

.eff-steps__name-right {
  color: var(--grey-700);
  justify-content: flex-end;
  text-align: right;
}

.eff-steps__value-left,
  .eff-steps__value-right {
  color: var(--grey-700);
}

.eff-steps[data-unit-mode="pct"] .eff-steps__value-left,
  .eff-steps[data-unit-mode="pct"] .eff-steps__value-right {
  color: var(--grey-1000);
}

.eff-steps[data-unit-mode="pct"] .eff-steps__name-left,
  .eff-steps[data-unit-mode="pct"] .eff-steps__name-right {
  color: var(--grey-1000);
}

.eff-steps__value-right,
  .eff-steps__name-right {
  margin-left: auto;
}

.eff-steps__label {
  color: var(--grey-500);
  font-size: 12px;
  font-weight: 600;
}

.eff-steps__rows
    .eff-steps__row:last-child
    .eff-steps__name-right
    .eff-steps__label {
  cursor: pointer;
}

.eff-steps__bar {
  height: 6px;
  display: flex;
  align-items: stretch;
  overflow: visible;
  width: var(--total, 100%);
  max-width: 100%;
  gap: 0;
}

.eff-steps__seg {
  height: 100%;
  display: block;
  flex: 0 0 auto;
}

.eff-steps__seg--good {
  background-color: hsl(131, 50%, 50%);
  border-radius: 9999px 0 0 9999px;
  flex: var(--goodFlex, 90) 1 0;
}

.eff-steps__seg--gap {
  background-color: transparent;
  flex: 0 0 2px;
}

.eff-steps__seg--loss {
  background-color: hsl(3, 79%, 53%);
  border-radius: 0 9999px 9999px 0;
  flex: var(--lossFlex, 10) 1 0;
}

.kpi-trend {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: translateY(1px);
}

.kpi-trend--up {
  color: #22c55e;
}

.kpi-trend--equal {
  color: #71717a;
}

/* ========================================
     SETTINGS VIEW
     ======================================== */

[hidden] {
  display: none !important;
}

.app-footer {
  grid-column: 1 / -1;
  justify-self: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-3);
  padding-bottom: var(--space-4);
}

.app-footer__sep {
  width: 100%;
  max-width: 440px;
  border: none;
  border-top: 1px solid var(--grey-200);
  margin: 0;
  margin-top: var(--space-24);
}

.app-footer__content {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.app-footer__logo {
  width: 32px;
  height: auto;
}

.app-footer__text {
  font-size: var(--font-size-sm);
  color: var(--grey-400);
}

.app-grid__settings-nav {
  grid-row: 2;
  grid-column: 1 / -1;
  min-width: 0;
}

.app-grid__settings-content {
  grid-row: 3;
  grid-column: 1 / -1;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  min-width: 0;
  padding-top: var(--space-6);
}

@media (min-width: 960px) {
  .app-grid__settings-nav {
    grid-row: 2;
    grid-column: 1;
    position: sticky;
    top: var(--space-6);
    align-self: start;
  }

  .app-grid__settings-content {
    grid-row: 2;
    grid-column: 2 / 4;
    padding-top: 0;
  }
}

.settings-nav__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.settings-nav__link {
  display: block;
  padding: 8px 12px 8px 15px;
  border-left: 3px solid transparent;
  color: var(--grey-500);
  font-weight: 500;
  font-size: var(--font-size-sm);
  line-height: 1.2;
  text-decoration: none;
  transition: color var(--transition-fast), border-color var(--transition-fast),
      background-color var(--transition-fast);
}

.settings-nav__link:hover {
  color: var(--grey-900);
  border-left-color: var(--grey-300);
  background-color: var(--grey-100);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}

.settings-nav__link--active {
  color: var(--grey-1000);
  font-weight: 700;
  border-left-color: var(--grey-1000);
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  background-color: var(--grey-100);
}

.settings-link[data-active="true"] {
  background-color: var(--grey-200);
  border-color: var(--grey-300);
  color: var(--grey-1000);
}

.settings-section {
  width: 100%;
  border-radius: var(--border-radius-xl);
  border: 1px solid var(--border-color);
  background-color: white;
  box-shadow: var(--shadow-sm);
}

.settings-section__header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-color);
}

.settings-section__title {
  font-weight: 800;
  font-size: 1.25rem;
  line-height: 1.4;
  color: var(--grey-1000);
  margin: 0;
}

.settings-subsection-header {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.settings-subsection__title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--grey-900);
}

.settings-section__body {
  padding: var(--space-6) var(--space-4);
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
}

.settings-turno-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-4);
  background-color: white;
  border: 1px solid var(--grey-200);
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-sm);
  width: -moz-fit-content;
  width: fit-content;
}

.settings-turno-card__title {
  font-size: var(--font-size-base);
  font-weight: 700;
  color: var(--grey-900);
}

.settings-turno-card__text {
  font-size: var(--font-size-sm);
  color: var(--grey-600);
}

.settings-turno-card__date-row,
  .settings-turno-card__time-row {
  display: flex;
  align-items: center;
  gap: var(--space-2);
}

.settings-turno-card__edit {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}

.settings-turno-card__days-dropdown {
  position: relative;
}

.settings-turno-card__days-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  min-width: 240px;
  height: var(--input-height);
  padding: 0 10px;
  border: 1px solid var(--grey-300);
  border-radius: var(--border-radius-md);
  background-color: white;
  font-size: var(--font-size-sm);
  color: var(--grey-900);
  cursor: pointer;
  text-align: left;
}

.settings-turno-card__days-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  z-index: var(--z-dropdown);
  background: white;
  border: 1px solid var(--grey-200);
  border-radius: var(--border-radius-md);
  box-shadow: var(--shadow-md);
  padding: 6px 0;
  min-width: 160px;
}

.settings-turno-card__days-option {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  padding: 6px 12px;
  font-size: var(--font-size-sm);
  color: var(--grey-800);
  cursor: pointer;
}

.settings-turno-card__days-option:hover {
  background-color: var(--grey-50);
}

.settings-turno-card__edit-group {
  display: flex;
  align-items: flex-end;
  gap: var(--space-4);
}

.settings-turno-card__actions {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-1);
}

.turno-wizard {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: flex;
  align-items: center;
  justify-content: center;
}

.turno-wizard__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}

.turno-wizard__panel {
  position: relative;
  background: white;
  border-radius: var(--border-radius-lg);
  padding: var(--space-8);
  width: min(480px, 90vw);
  height: 420px;
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  box-shadow: var(--shadow-xl);
}

.turno-wizard__header {
  display: flex;
  justify-content: flex-end;
}

.turno-wizard__step-label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  color: var(--grey-500);
}

.turno-wizard__progress {
  display: flex;
  gap: var(--space-2);
}

.turno-wizard__progress-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.turno-wizard__progress-bar {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background-color: var(--grey-200);
  transition: background-color 200ms ease;
}

.turno-wizard__progress-bar--active {
  background-color: var(--grey-500);
}

.turno-wizard__progress-bar--completed {
  background-color: var(--grey-900);
}

.turno-wizard__progress-label {
  font-size: 11px;
  color: var(--grey-500);
  white-space: nowrap;
}

.wizard-days-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-2);
}

.wizard-day-btn {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--grey-300);
  background-color: var(--grey-100);
  color: var(--grey-600);
  font-size: var(--font-size-sm);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 120ms ease, color 120ms ease, border-color 120ms ease;
}

.wizard-day-btn--selected {
  background-color: var(--grey-900);
  color: white;
  border-color: var(--grey-900);
}

.turno-wizard__question {
  font-size: var(--font-size-xl);
  font-weight: 700;
  color: var(--grey-900);
  line-height: var(--line-height-snug);
  margin: 0;
}

.turno-wizard__step {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.turno-wizard__time-input {
  width: 100%;
  height: var(--input-height);
  border: 1px solid var(--grey-300);
  border-radius: var(--border-radius-md);
  padding: 0 10px;
  font-size: var(--font-size-sm);
  color: var(--grey-900);
  background-color: white;
}

.turno-wizard__time-input:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.turno-wizard__checkbox-label {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--font-size-sm);
  color: var(--grey-700);
  cursor: pointer;
}

.turno-wizard__nav {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-6);
  padding-top: var(--space-2);
}

.turno-wizard__nav-btn {
  background: none;
  border: none;
  color: var(--blue-700);
  font-size: var(--font-size-sm);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}

.turno-wizard__nav-btn:hover {
  text-decoration: underline;
}

.turno-wizard__nav-btn--hidden {
  visibility: hidden;
}

.settings-machine-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.settings-machine-row {
  display: flex;
  align-items: center;
  gap: var(--space-4);
}

.settings-machine-name {
  font-size: var(--font-size-sm);
  color: var(--grey-700);
}

.settings-machine-id {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background-color: var(--grey-50);
  color: var(--grey-700);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.settings-machine-row__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  flex: 0 0 auto;
}

.settings-machine-row__chevron {
  width: 24px;
  height: 24px;
  opacity: 1;
  flex: 0 0 auto;
  transform: rotate(0deg);
  transition: transform 120ms ease;
}

.settings-machine-row__toggle[aria-expanded="true"] .settings-machine-row__chevron {
  transform: rotate(90deg);
}

.settings-machine-pause-row {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  padding-left: var(--space-16);
}

.settings-machine-pause-name {
  font-size: var(--font-size-sm);
  color: var(--grey-700);
}

.settings-machine-pause-type {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background-color: var(--grey-50);
  color: var(--grey-700);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.settings-machine-row__edit {
  display: flex;
  align-items: flex-end;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.settings-machine-row__edit-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.settings-user {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  width: -moz-fit-content;
  width: fit-content;
  border: 1px solid #e5e7eb;
  padding: 12px;
  border-radius: 8px;
}

.settings-user__top {
  background-color: var(--grey-50);
  margin: -12px -12px 0 -12px;
  padding: 12px 12px 24px 12px;
  border-radius: 7px 7px 0 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  border-bottom: 1px solid var(--border-color);
}

.settings-user__data {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.settings-user__email {
  font-size: var(--font-size-sm);
  font-weight: 500;
  color: var(--grey-900);
}

.settings-user__password {
  font-size: 0.7rem;
  color: var(--grey-500);
  letter-spacing: 0.15em;
}

.settings-report {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.settings-report__freq {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background-color: var(--grey-50);
  color: var(--grey-700);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.settings-report__edit {
  display: flex;
  align-items: flex-end;
  gap: var(--space-4);
  flex-wrap: wrap;
  width: 100%;
}

.settings-report__timeframe {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background-color: var(--grey-50);
  color: var(--grey-700);
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
}

.settings-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: var(--font-size-sm);
  color: var(--grey-700);
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.settings-checkbox input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  accent-color: var(--grey-1000);
  cursor: pointer;
}

.settings-btn {
  height: var(--button-height);
  padding: 0 12px;
  border-radius: 9999px;
  border: 1px solid var(--grey-200);
  background-color: white;
  color: var(--grey-800);
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.settings-btn:hover {
  background-color: var(--grey-100);
}

.settings-btn:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.settings-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

.settings-btn--primary {
  background-color: #e9ecef;
  border-color: var(--grey-200);
  color: var(--grey-800);
}

.settings-btn--primary:hover {
  background-color: var(--grey-200);
}

.settings-user__edit {
  display: flex;
  align-items: flex-end;
  gap: var(--space-4);
  flex-wrap: wrap;
}

.settings-user__edit-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.settings-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.settings-field__label {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--grey-500);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.settings-field__input {
  height: var(--input-height);
  border: 1px solid var(--grey-300);
  border-radius: var(--border-radius-md);
  padding: 0 10px;
  font-size: var(--font-size-sm);
  color: var(--grey-900);
  background-color: white;
}

.settings-field__input:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.settings-field__select {
  height: var(--input-height);
  border: 1px solid var(--grey-300);
  border-radius: var(--border-radius-md);
  padding: 0 10px;
  font-size: var(--font-size-sm);
  color: var(--grey-900);
  background-color: white;
  cursor: pointer;
}

.settings-field__select:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.settings-btn--danger {
  background-color: #fee2e2;
  border-color: #fca5a5;
  color: #b91c1c;
}

.settings-btn--danger:hover {
  background-color: #fecaca;
  border-color: #f87171;
}

.remove-dialog {
  position: fixed;
  inset: 0;
  z-index: var(--z-modal);
  display: grid;
  place-items: center;
  padding: 20px;
}

.remove-dialog__backdrop {
  position: absolute;
  inset: 0;
  background-color: rgba(9, 9, 11, 0.45);
}

.remove-dialog__panel {
  position: relative;
  width: min(400px, 100%);
  border-radius: var(--border-radius-xl);
  border: 1px solid var(--grey-200);
  background-color: white;
  box-shadow: var(--shadow-xl);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.remove-dialog__title {
  font-weight: 800;
  font-size: 1.1rem;
  line-height: 1.2;
  color: var(--grey-1000);
  margin: 0;
}

.remove-dialog__body {
  font-size: 0.9rem;
  color: var(--grey-700);
  line-height: 1.55;
}

.remove-dialog__note {
  display: block;
  margin-top: 4px;
  font-size: 0.8rem;
  color: var(--grey-500);
}

.remove-dialog__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin-top: var(--space-2);
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.\!grid {
  display: grid !important;
}

.grid {
  display: grid;
}

.hidden {
  display: none;
}

.min-h-screen {
  min-height: 100vh;
}

.w-full {
  width: 100%;
}

.min-w-0 {
  min-width: 0px;
}

.flex-col {
  flex-direction: column;
}

.items-start {
  align-items: flex-start;
}

.justify-start {
  justify-content: flex-start;
}

.gap-3 {
  gap: 0.75rem;
}

.gap-36 {
  gap: 9rem;
}

.gap-6 {
  gap: 1.5rem;
}

.bg-\[var\(--grey-50\)\] {
  background-color: var(--grey-50);
}

.p-6 {
  padding: 1.5rem;
}

.font-sans {
  font-family: Inter, sans-serif;
}

.text-\[var\(--grey-1000\)\] {
  color: var(--grey-1000);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

:root {
  /* ========================================
     COLORS - Grey Scale
     ======================================== */
  --grey-50: #fafafa;
  --grey-100: #f5f5f5;
  --grey-200: #e4e4e7;
  --grey-300: #d4d4d8;
  --grey-400: #a1a1aa;
  --grey-500: #71717a;
  --grey-600: #52525b;
  --grey-700: #3f3f46;
  --grey-800: #27272a;
  --grey-900: #18181b;
  --grey-1000: #09090b;
  /* ========================================
     COLORS - Blue (Interactive)
     ======================================== */
  --blue-700: #1d4ed8;
  --blue-800: #1e40af;
  /* ========================================
     COLORS - Pink (Accent)
     ======================================== */
  --pink-300: #f9a8d4;
  /* ========================================
     THEME
     ======================================== */
  --theme-chart-primary: #f0abfc;
  --theme-chart-primary-hover: #d946ef;
  --theme-chart-efficiency: #fde68a;
  --theme-chart-efficiency-hover: #f59e0b;
  --theme-eff-good: #b4f8c8;
  --theme-eff-loss: #ffb3ba;
  /* ========================================
     SPACING SYSTEM
     ======================================== */
  --space-0: 0px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-24: 96px;
  --space-32: 128px;
  /* ========================================
     TYPOGRAPHY
     ======================================== */
  --font-family-sans: "Inter", sans-serif;
  /* Font sizes */
  --font-size-xs: 0.75rem;
  --font-size-sm: 0.875rem;
  --font-size-base: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.875rem;
  --font-size-4xl: 2.25rem;
  --font-size-5xl: 3rem;
  --font-size-6xl: 3.75rem;
  /* Font weights */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  /* Line heights */
  --line-height-tight: 1.2;
  --line-height-snug: 1.35;
  --line-height-normal: 1.5;
  --line-height-relaxed: 1.65;
  /* ========================================
     CONTROLS HEIGHTS
     ======================================== */
  --control-height-sm: 32px;
  --control-height-md: 40px;
  --control-height-lg: 48px;
  --input-height: var(--control-height-md);
  --button-height: var(--control-height-md);
  --badge-height: 28px;
  /* ========================================
     BORDERS
     ======================================== */
  --border-width-thin: 1px;
  --border-width-medium: 2px;
  --border-width-thick: 3px;
  --border-radius-none: 0;
  --border-radius-sm: 4px;
  --border-radius-md: 8px;
  --border-radius-lg: 12px;
  --border-radius-xl: 16px;
  --border-radius-full: 9999px;
  --border-color-subtle: var(--grey-100);
  --border-color: var(--grey-200);
  --border-color-strong: var(--grey-300);
  /* ========================================
     Z-INDEX SCALE
     ======================================== */
  --z-dropdown: 1000;
  --z-sticky: 1100;
  --z-modal: 2000;
  --z-toast: 3000;
  --z-tooltip: 4000;
  /* ========================================
     SHADOWS
     ======================================== */
  --shadow-none: none;
  --shadow-xs: 0 1px 1px rgba(0, 0, 0, 0.04);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.1);
  --shadow-xl: 0 20px 25px rgba(0, 0, 0, 0.15);
  --shadow-2xl: 0 25px 50px rgba(0, 0, 0, 0.25);
  --shadow-inner: inset 0 1px 2px rgba(0, 0, 0, 0.06);
  /* ========================================
     TRANSITIONS
     ======================================== */
  --transition-duration-fast: 150ms;
  --transition-duration-base: 200ms;
  --transition-duration-slow: 300ms;
  --transition-ease-standard: ease;
  --transition-ease-emphasized: cubic-bezier(0.2, 0, 0, 1);
  --transition-property-common:
    background-color, border-color, color, box-shadow, opacity, transform;
  --transition-fast: var(--transition-duration-fast)
    var(--transition-ease-standard);
  --transition-base: var(--transition-duration-base)
    var(--transition-ease-standard);
  --transition-slow: var(--transition-duration-slow)
    var(--transition-ease-standard);
}

.login-page {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  display: grid;
  gap: 44px;
}

.login-header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.login-brand {
  font-weight: 900;
  font-size: clamp(1.5rem, 4vw, 2.75rem);
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.login-language {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--grey-900);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1;
  white-space: nowrap;
  padding: 4px 0;
  border-bottom: 2px solid var(--grey-900);
}

.login-language__icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  opacity: 0.85;
}

.login-card {
  width: 100%;
  max-width: 760px;
  justify-self: center;
}

.login-title {
  font-weight: 900;
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  line-height: 1.08;
  margin: 0 0 18px;
}

.login-form {
  display: grid;
  gap: 16px;
}

.login-field {
  display: grid;
  gap: 8px;
}

.login-field__label {
  font-weight: 800;
  font-size: 1rem;
  line-height: 1.25;
  color: var(--grey-900);
}

.login-input {
  width: min(100%, 680px);
  height: 40px;
  border-radius: 12px;
  border: 2px solid var(--grey-300);
  background-color: white;
  padding: 0 14px;
  font-size: 0.95rem;
  line-height: 1.2;
  color: var(--grey-1000);
}

.login-input:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.login-actions {
  margin-top: 6px;
}

.login-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  height: 48px;
  padding: 0 22px;
  border-radius: 12px;
  background-color: var(--grey-200);
  color: var(--grey-900);
  font-weight: 900;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-decoration: none;
}

.login-submit:hover {
  background-color: var(--grey-300);
}

.login-submit:focus-visible {
  outline: 2px solid var(--grey-400);
  outline-offset: 2px;
}

.login-shell {
  width: 100%;
  display: flex;
  justify-content: center;
  padding-top: 160px;
}

.login-shell__inner {
  width: min(380px, 100%);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.login-topbar {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.login-language-picker {
  position: relative;
}

.login-language-button {
  text-decoration: none;
}

.login-language-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: var(--z-dropdown);
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--grey-200);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: var(--shadow-md);
}

.login-language-menu[hidden] {
  display: none;
}

.login-panel {
  width: 100%;
  overflow: hidden;
}

.login-panel__header {
  padding: 12px 16px 8px;
  border-bottom: 1px solid var(--grey-200);
}

.login-panel__title {
  margin: 0;
  font-weight: 800;
  font-size: 0.95rem;
  line-height: 1.2rem;
  letter-spacing: 0.01em;
  color: var(--grey-1000);
}

.login-panel__body {
  padding: 12px 16px 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.login-mock-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.login-mock-field__label {
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1rem;
  color: var(--grey-600);
}

.login-flag {
  font-size: 1.05em;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}

.login-mock-control {
  cursor: default;
  height: 40px;
  padding: 0 12px;
}

.login-panel__actions {
  padding-top: 4px;
}

.login-panel__submit {
  background-color: var(--grey-200);
  color: var(--grey-900);
  border-color: var(--grey-200);
  padding: 8px 14px;
}

.login-panel__submit:hover {
  background-color: var(--grey-300);
}

:root[data-ui-theme="Moon"] {
  --grey-50: #0b0f19;
  --grey-100: #0f172a;
  --grey-200: #1f2937;
  --grey-300: #334155;
  --grey-400: #475569;
  --grey-500: #94a3b8;
  --grey-600: #cbd5e1;
  --grey-700: #e2e8f0;
  --grey-800: #f1f5f9;
  --grey-900: #f8fafc;
  --grey-1000: #ffffff;
  --blue-700: #60a5fa;
  --blue-800: #3b82f6;
}

:root[data-ui-theme="Moon"] .markers-panel,
:root[data-ui-theme="Moon"] .timeframe-modal__panel,
:root[data-ui-theme="Moon"] .anagrafica-summary__item,
:root[data-ui-theme="Moon"] .anagrafica-accordion__toggle,
:root[data-ui-theme="Moon"] .anagrafica-accordion__panel,
:root[data-ui-theme="Moon"] .timeframe-modal__button,
:root[data-ui-theme="Moon"] .timeframe-modal__close,
:root[data-ui-theme="Moon"] .timeframe-modal .month-move,
:root[data-ui-theme="Moon"] .eff-loss-details__chip,
:root[data-ui-theme="Moon"] .theme-picker__menu {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
  color: var(--grey-900);
}

:root[data-ui-theme="Moon"] .theme-picker__menu {
  box-shadow: var(--shadow-xl);
}

:root[data-ui-theme="Moon"] .timeframe-modal__button--primary {
  background-color: var(--grey-200);
  color: var(--grey-900);
  border-color: var(--grey-300);
}

:root[data-ui-theme="Moon"] .timeframe-modal__button--primary:hover {
  background-color: var(--grey-300);
}

:root[data-ui-theme="Moon"] .timeframe-select {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
  color: var(--grey-900);
}

:root[data-ui-theme="Moon"] .timeframe-select:hover {
  background-color: var(--grey-200);
}

:root[data-ui-theme="Moon"] .settings-link__icon {
  filter: invert(1);
  opacity: 0.9;
}

:root[data-ui-theme="Moon"] .kpi-card {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
}

:root[data-ui-theme="Moon"] .kpi-card__prefix,
:root[data-ui-theme="Moon"] .kpi-trend--equal {
  color: var(--grey-500);
}

:root[data-ui-theme="Moon"] .anagrafica-accordion__chevron,
:root[data-ui-theme="Moon"] .eff-steps-toggle__icon {
  filter: invert(1);
  opacity: 0.85;
}

:root[data-ui-theme="Moon"] .eff-steps__unit-toggle {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
  color: var(--grey-900);
  box-shadow: none;
}

:root[data-ui-theme="Moon"] .eff-steps__unit-toggle:hover {
  background-color: var(--grey-200);
}

:root[data-ui-theme="Moon"] .eff-steps__unit-toggle[aria-pressed="true"] {
  background-color: var(--grey-200);
  border-color: var(--grey-300);
  color: var(--grey-900);
}

:root[data-ui-theme="Moon"] .settings-section {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
}

:root[data-ui-theme="Moon"] .settings-report__timeframe,
:root[data-ui-theme="Moon"] .settings-report__freq,
:root[data-ui-theme="Moon"] .settings-machine-id,
:root[data-ui-theme="Moon"] .settings-machine-pause-type {
  background-color: var(--grey-100);
}

:root[data-ui-theme="Moon"] .settings-field__select {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
  color: var(--grey-900);
}

:root[data-ui-theme="Moon"] .settings-btn {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
  color: var(--grey-900);
}

:root[data-ui-theme="Moon"] .settings-btn:hover {
  background-color: var(--grey-200);
}

:root[data-ui-theme="Moon"] .settings-btn--primary {
  background-color: var(--grey-200);
  border-color: var(--grey-300);
}

:root[data-ui-theme="Moon"] .settings-btn--primary:hover {
  background-color: var(--grey-300);
}

:root[data-ui-theme="Moon"] .settings-nav__link:hover,
:root[data-ui-theme="Morgan"] .settings-nav__link--active {
  color: #2f6f7a;
  font-weight: 700;
  border-left-color: #2f6f7a;
  background-color: #d2e2e5;
}

:root[data-ui-theme="Moon"] .settings-nav__link--active {
  background-color: var(--grey-100);
}

:root[data-ui-theme="Moon"] .remove-dialog__panel {
  background-color: var(--grey-100);
  border-color: var(--grey-200);
}

:root[data-ui-theme="Morgan"] .timeframe-modal .calendar-grid .calendar-day.start:hover,
:root[data-ui-theme="Morgan"] .timeframe-modal .calendar-grid .calendar-day.end:hover,
:root[data-ui-theme="Morgan"] .timeframe-modal .calendar-grid .start,
:root[data-ui-theme="Morgan"] .timeframe-modal .calendar-grid .end {
  background-color: #2f6f7a;
  color: white;
}

:root[data-ui-theme="Morgan"] .timeframe-modal .calendar-grid .in-range {
  background-color: #d2e2e5;
}

:root[data-ui-theme="Morgan"] .panel--accent .markers-panel__scope-badge {
  background: #d2e2e5;
  border-color: #2f6f7a;
  color: #2f6f7a;
}

:root[data-ui-theme="Morgan"] .settings-report__freq,
:root[data-ui-theme="Morgan"] .settings-report__timeframe,
:root[data-ui-theme="Morgan"] .settings-machine-id,
:root[data-ui-theme="Morgan"] .settings-machine-pause-type {
  background: #d2e2e5;
  color: #2f6f7a;
}

/* RESET **/

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .md\:block {
    display: block;
  }
}
