.md-alert {
  display: flex;
  gap: var(--md-space-3);
  align-items: flex-start;
  padding: var(--md-space-4);
  border: 1px solid var(--md-outline-variant);
  border-radius: var(--md-radius-md);
  background: var(--md-surface-lowest);
  color: var(--md-on-surface-variant);
  font: var(--md-body);
  box-shadow: var(--md-elev-1);
}

.md-alert__icon {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--md-radius-sm);
  background: var(--md-info-container);
  color: var(--md-info);
}

.md-alert__body { flex: 1; min-width: 0; }
.md-alert__title {
  font: var(--md-title-sm);
  color: var(--md-on-surface);
  margin-bottom: var(--md-space-1);
}
.md-alert a { color: var(--md-secondary); }

.md-alert__link {
  display: flex;
  width: fit-content;
  align-items: center;
  gap: var(--md-space-1);
  margin-top: var(--md-space-2);
  font: var(--md-title-sm);
  text-decoration: none;
}

.md-alert__link:hover { text-decoration: underline; }

.md-alert--success .md-alert__icon {
  background: var(--md-success-container);
  color: var(--md-success);
}
.md-alert--warning .md-alert__icon {
  background: var(--md-warning-container);
  color: var(--md-warning);
}
.md-alert--error .md-alert__icon {
  background: var(--md-error-container);
  color: var(--md-error);
}

.md-toast-region {
  position: fixed;
  right: var(--md-space-5);
  bottom: var(--md-space-5);
  left: auto;
  z-index: var(--md-z-toast);
  display: flex;
  flex-direction: column;
  gap: var(--md-space-2);
  width: min(400px, calc(100vw - 48px));
  pointer-events: none;
}

.md-alert--toast {
  pointer-events: auto;
  align-items: center;
  box-shadow: var(--md-elev-3);
  animation: md-toast-in var(--md-duration) var(--md-ease);
}

.md-alert--toast.md-alert--success .md-alert__icon {
  background: var(--md-success);
  color: var(--md-on-success);
}
.md-alert--toast.md-alert--warning .md-alert__icon {
  background: var(--md-warning);
  color: var(--md-on-warning);
}
.md-alert--toast.md-alert--error .md-alert__icon {
  background: var(--md-error);
  color: var(--md-on-error);
}

@media (max-width: 767px) {
  .md-toast-region {
    right: var(--md-space-4);
    left: var(--md-space-4);
    width: auto;
  }
}

.md-alert__close {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: var(--md-radius-sm);
  background: transparent;
  color: var(--md-on-surface-variant);
  cursor: pointer;
  display: grid;
  place-items: center;
}

.md-alert__close:hover { background: var(--md-state-on-light); }

.md-alert__close:focus-visible {
  outline: 2px solid var(--md-primary);
  outline-offset: 0;
}

.md-alert__close .md-icon {
  color: inherit;
}

@keyframes md-toast-in {
  from { opacity: 0; transform: translateY(var(--md-space-2)); }
  to { opacity: 1; transform: translateY(0); }
}

.md-modal {
  border: 0;
  padding: 0;
  margin: 0;
  inset: 0;
  width: auto;
  height: auto;
  max-width: none;
  max-height: none;
  background: transparent;
  z-index: var(--md-z-modal);
}

.md-modal[open] {
  display: grid;
  place-items: center;
  padding: var(--md-space-5);
}

.md-modal::backdrop {
  background: var(--md-scrim);
}

.md-modal[open]::backdrop {
  animation: md-modal-scrim-in var(--md-duration) var(--md-ease);
}

.md-modal__surface {
  width: min(560px, 100%);
  height: fit-content;
  max-height: 100%;
  align-self: center;
  justify-self: center;
  background: var(--md-surface-lowest);
  border-radius: var(--md-radius-lg);
  box-shadow: var(--md-elev-3);
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  animation: md-modal-in var(--md-duration) var(--md-ease);
}

.md-modal--wide .md-modal__surface { width: min(720px, 100%); }

.md-modal__header {
  display: flex;
  align-items: center;
  gap: var(--md-space-3);
  padding: var(--md-space-5) var(--md-space-4) var(--md-space-4) var(--md-space-5);
  background: var(--md-surface-lowest);
  border-bottom: 1px solid var(--md-outline-variant);
  flex: 0 0 auto;
}

.md-modal__title {
  flex: 1;
  min-width: 0;
  margin: 0;
  font: var(--md-title-lg);
  color: var(--md-on-surface);
}

.md-modal__close {
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: var(--md-radius-sm);
  background: transparent;
  color: var(--md-on-surface-variant);
  cursor: pointer;
  display: grid;
  place-items: center;
}

.md-modal__close:hover { background: var(--md-state-on-light); }

.md-modal__close:focus-visible {
  outline: 2px solid var(--md-primary);
  outline-offset: 0;
}

.md-modal__close .md-icon {
  color: inherit;
}

.md-modal__body {
  padding: var(--md-space-5) var(--md-space-5) 0;
  overflow: auto;
  min-height: 0;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--md-space-4);
  font: var(--md-body);
  color: var(--md-on-surface);
}

.md-modal__body::after {
  content: "";
  flex: 0 0 var(--md-space-5);
  margin-top: calc(var(--md-space-4) * -1);
}

[data-modal-body] {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--md-space-4);
  flex: 0 0 auto;
  min-height: 0;
}

.md-modal__body:has(> .md-record),
.md-modal__body:has(> .md-wa),
.md-modal__body:has(> .md-mail) {
  padding: 0;
  gap: 0;
}

.md-modal__body:has(> .md-record)::after,
.md-modal__body:has(> .md-wa)::after,
.md-modal__body:has(> .md-mail)::after {
  display: none;
  flex-basis: 0;
}

.md-modal__body > .md-record {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.md-modal__actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--md-space-2);
  flex: 0 0 auto;
  padding: var(--md-space-4) var(--md-space-5);
  border-top: 1px solid var(--md-outline-variant);
  background: var(--md-surface-lowest);
}

.md-modal__actions .md-form {
  display: flex;
  flex-direction: row;
  gap: 0;
  margin: 0;
}

@media (max-width: 767px) {
  .md-modal[open] { padding: var(--md-space-4); }
  .md-modal__surface,
  .md-modal--wide .md-modal__surface { width: 100%; }
  .md-modal__actions {
    flex-direction: column;
    align-items: stretch;
  }
  .md-modal__actions .md-form { flex-direction: column; }
  .md-modal__actions .md-btn { width: 100%; }
}

@keyframes md-modal-in {
  from { opacity: 0; transform: translateY(var(--md-space-2)); }
  to { opacity: 1; transform: none; }
}

@keyframes md-modal-scrim-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.md-dropdown { position: relative; display: inline-flex; }

.md-dropdown__menu {
  display: none;
  min-width: 200px;
  padding: var(--md-space-2) 0;
  background: var(--md-surface-lowest);
  border: 1px solid var(--md-outline-variant);
  border-radius: var(--md-radius-sm);
  box-shadow: var(--md-elev-2);
  z-index: var(--md-z-dropdown);
}

.md-dropdown__menu.is-open { display: block; }

.md-dropdown__menu.md-search__preview {
  display: block;
  position: relative;
  width: 100%;
  max-width: 400px;
}

.md-dropdown__item.md-search__hit {
  align-items: flex-start;
  gap: var(--md-space-3);
  min-height: 0;
  padding: var(--md-space-3) var(--md-space-4);
}

.md-dropdown__item {
  display: flex;
  align-items: center;
  gap: var(--md-space-3);
  min-height: 40px;
  padding: 0 var(--md-space-4);
  color: var(--md-on-surface);
  font: var(--md-title-sm);
  text-decoration: none;
  background: none;
  border: 0;
  width: 100%;
  cursor: pointer;
  text-align: left;
}

.md-dropdown__item:hover { background: var(--md-surface-high); text-decoration: none; }
.md-dropdown__item.is-selected {
  background: var(--md-primary-container);
  color: var(--md-on-primary-container);
}
.md-dropdown__item .md-icon { color: var(--md-on-surface-variant); }
.md-dropdown__item.is-selected .md-icon { color: var(--md-primary); }
.md-dropdown__item--danger { color: var(--md-error); }
.md-dropdown__item--danger .md-icon { color: var(--md-error); }

.md-dropdown__sep {
  height: 1px;
  margin: var(--md-space-2) 0;
  background: var(--md-outline-variant);
}

.md-dropdown__form { margin: 0; width: 100%; }

.md-user-menu__trigger {
  display: flex;
  align-items: center;
  gap: var(--md-space-3);
  min-height: var(--md-control-h);
  padding: 4px 8px 4px 4px;
  border: 0;
  border-radius: var(--md-radius-sm);
  background: transparent;
  cursor: pointer;
  color: var(--md-on-surface);
}

.md-user-menu__trigger:hover { background: var(--md-surface-high); }

.md-user-menu__avatar {
  width: 32px;
  height: 32px;
  border-radius: var(--md-radius-full);
  background: var(--md-primary);
  color: var(--md-on-primary);
  font: var(--md-label-sm);
  display: grid;
  place-items: center;
}

.md-user-menu__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.md-user-menu__name {
  font: var(--md-title-sm);
  color: var(--md-on-surface);
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.md-user-menu__role {
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-user-menu__chevron {
  font-size: 20px;
  color: var(--md-on-surface-variant);
  transition: transform var(--md-duration) var(--md-ease);
}

.md-user-menu.is-open .md-user-menu__chevron { transform: rotate(180deg); }

.md-user-menu__panel { min-width: 260px; }

.md-user-menu__meta {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: var(--md-space-3) var(--md-space-4) var(--md-space-2);
}

.md-user-menu__meta-name { font: var(--md-title-sm); }
.md-user-menu__meta-email { font: var(--md-body-sm); color: var(--md-on-surface-variant); }

@media (max-width: 1023px) {
  .md-user-menu__copy,
  .md-user-menu__chevron { display: none; }
  .app-shell .md-user-menu {
    padding-left: 0;
    border-left: 0;
  }
  .md-user-menu__trigger { padding: 4px; }
}

.md-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--md-space-1);
  min-height: 24px;
  padding: 0 var(--md-space-2);
  border-radius: var(--md-radius-xs);
  background: var(--md-primary-container);
  color: var(--md-on-primary-container);
  font: var(--md-label-sm);
}
.md-chip--success {
  background: var(--md-success-container);
  color: var(--md-on-success-container);
}
.md-chip--warning {
  background: var(--md-warning-container);
  color: var(--md-on-warning-container);
}
.md-chip--error {
  background: var(--md-error-container);
  color: var(--md-on-error-container);
}

.card.md-record {
  padding: 0;
  gap: 0;
  overflow: hidden;
}

.md-record {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.md-record__lead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--md-space-4);
  padding: var(--md-space-5);
  border-bottom: 1px solid var(--md-outline-variant);
}

.md-record__lead-main {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-1);
  min-width: 0;
}

.md-record__lead-time { font: var(--md-headline); }
.md-record__lead-date { font: var(--md-body); color: var(--md-on-surface-variant); }
.md-record__lead-meta { font: var(--md-body-sm); color: var(--md-on-surface-variant); }
.md-record__lead-status { flex: 0 0 auto; }

.md-record__lead:last-child {
  border-bottom: 0;
}

.md-record__group {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.md-record__group + .md-record__group {
  border-top: 1px solid var(--md-outline-variant);
}

.md-record__title {
  margin: 0;
  display: flex;
  align-items: center;
  padding: var(--md-space-4) var(--md-space-5) 0;
  font: var(--md-label-sm);
  color: var(--md-on-surface-variant);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.md-record__body {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-4);
  padding: var(--md-space-5);
  min-width: 0;
}

.md-record__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--md-space-4);
  margin: 0;
}

.md-record:not(:has(.md-record__group + .md-record__group)) .md-record__list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--md-space-4) var(--md-space-6);
}

.md-record__item {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-1);
  min-width: 0;
}

.md-record__label {
  font: var(--md-label-sm);
  color: var(--md-on-surface-variant);
  letter-spacing: 0.1px;
}

.md-record__value {
  margin: 0;
  font: var(--md-title-md);
  color: var(--md-on-surface);
  overflow-wrap: anywhere;
}

@media (min-width: 768px) {
  .md-record:has(.md-record__group + .md-record__group) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .md-record:has(.md-record__group + .md-record__group + .md-record__group) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .md-record__lead { grid-column: 1 / -1; }
  .md-record__group + .md-record__group {
    border-top: 0;
    border-left: 1px solid var(--md-outline-variant);
  }
}

@media (max-width: 767px) {
  .md-record:not(:has(.md-record__group + .md-record__group)) .md-record__list {
    grid-template-columns: 1fr;
  }
}

.md-kpi {
  margin: 0;
  font: var(--md-headline);
  color: var(--md-on-surface);
}

.md-kpi__hint {
  margin: 0;
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-kpi-card {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: var(--md-space-4);
  overflow: hidden;
}

.md-kpi-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--md-primary);
}

.md-kpi-card__icon {
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: var(--md-radius-sm);
  background: var(--md-primary-container);
  color: var(--md-primary);
}

.md-kpi-card--secondary::before { background: var(--md-secondary); }
.md-kpi-card--secondary .md-kpi-card__icon {
  background: var(--md-secondary-container);
  color: var(--md-secondary);
}

.md-kpi-card--success::before { background: var(--md-success); }
.md-kpi-card--success .md-kpi-card__icon {
  background: var(--md-success-container);
  color: var(--md-success);
}

.md-kpi-card--warning::before { background: var(--md-warning); }
.md-kpi-card--warning .md-kpi-card__icon {
  background: var(--md-warning-container);
  color: var(--md-warning);
}

.md-kpi-card--error::before { background: var(--md-error); }
.md-kpi-card--error .md-kpi-card__icon {
  background: var(--md-error-container);
  color: var(--md-error);
}

.md-kpi-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-1);
  min-width: 0;
}

.md-kpi-card__label {
  margin: 0;
  font: var(--md-body);
  color: var(--md-on-surface-variant);
}

.md-kpi-card__value {
  margin: 0;
  font: var(--md-headline);
  color: var(--md-on-surface);
}

.md-kpi-card__hint {
  margin: 0;
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--md-space-4);
}

.md-card-head__title {
  margin: 0;
  font: var(--md-title-lg);
  color: var(--md-on-surface);
}

.md-card-head__actions {
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: var(--md-space-2);
  justify-content: flex-end;
}

.md-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--md-space-3);
  padding: var(--md-space-6) var(--md-space-5);
  text-align: center;
}

.md-empty__icon {
  width: var(--md-control-h);
  height: var(--md-control-h);
  display: grid;
  place-items: center;
  border-radius: var(--md-radius-full);
  background: var(--md-surface-container);
  color: var(--md-on-surface-variant);
}

.md-empty__title {
  margin: 0;
  font: var(--md-title-md);
  color: var(--md-on-surface);
}

.md-empty__hint {
  margin: 0;
  max-width: 42ch;
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-empty__action { margin-top: var(--md-space-3); }

@media (max-width: 767px) {
  .md-card-head {
    flex-direction: column;
  }

  .md-card-head__actions {
    width: 100%;
    justify-content: stretch;
  }

  .md-card-head__actions .md-btn {
    flex: 1 1 auto;
  }
}

.md-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
}

.md-timeline__item {
  display: grid;
  grid-template-columns: var(--md-space-2) minmax(0, 1fr);
  column-gap: var(--md-space-4);
  position: relative;
}

.md-timeline__item + .md-timeline__item {
  margin-top: var(--md-space-5);
}

.md-timeline__rail {
  position: relative;
  display: flex;
  justify-content: center;
}

.md-timeline__item:not(:last-child) .md-timeline__rail::after {
  content: "";
  position: absolute;
  top: var(--md-space-3);
  bottom: calc(-1 * var(--md-space-5));
  width: 1px;
  background: var(--md-outline-variant);
}

.md-timeline__dot {
  width: var(--md-space-2);
  height: var(--md-space-2);
  margin-top: var(--md-space-1);
  border-radius: var(--md-radius-full);
  background: var(--md-outline);
  z-index: 1;
  flex: 0 0 auto;
}

.md-timeline__item.is-success .md-timeline__dot { background: var(--md-success); }
.md-timeline__item.is-warning .md-timeline__dot { background: var(--md-warning); }
.md-timeline__item.is-error .md-timeline__dot { background: var(--md-error); }

.md-timeline__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--md-space-2);
  min-width: 0;
}

.md-timeline__time {
  font: var(--md-label-sm);
  color: var(--md-on-surface-variant);
  letter-spacing: 0.1px;
}

.md-timeline__title {
  margin: 0;
  font: var(--md-title-md);
  color: var(--md-on-surface);
}

.md-timeline__meta {
  margin: 0;
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-wa {
  display: flex;
  flex-direction: column;
  background: var(--md-surface-container);
}

.md-wa__bar {
  display: flex;
  align-items: center;
  gap: var(--md-space-3);
  min-height: var(--md-control-h);
  padding: var(--md-space-3) var(--md-space-4);
  background: var(--md-inverse);
  color: var(--md-on-inverse);
}

.md-wa__avatar {
  flex: 0 0 auto;
  width: var(--md-space-6);
  height: var(--md-space-6);
  border-radius: var(--md-radius-full);
  background: var(--md-success);
  color: var(--md-on-success);
  display: grid;
  place-items: center;
  font: var(--md-label-sm);
}

.md-wa__name,
.md-wa__to {
  margin: 0;
}

.md-wa__name {
  font: var(--md-title-sm);
  color: var(--md-on-inverse);
}

.md-wa__to {
  font: var(--md-body-sm);
  color: var(--md-on-dark-muted);
}

.md-wa__thread {
  padding: var(--md-space-4);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.md-wa__bubble {
  max-width: 100%;
  padding: var(--md-space-3) var(--md-space-4);
  background: var(--md-success-container);
  color: var(--md-on-success-container);
  border-radius: var(--md-radius-sm) var(--md-radius-sm) var(--md-radius-xs) var(--md-radius-sm);
  font: var(--md-body);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.md-wa__bubble a {
  color: var(--md-secondary);
}

.md-wa__time {
  display: block;
  margin-top: var(--md-space-2);
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
  text-align: right;
}

.md-mail {
  background: var(--md-surface-lowest);
}

.md-mail__headers {
  margin: 0;
  padding: var(--md-space-4) var(--md-space-5);
  background: var(--md-surface-container);
  border-bottom: 1px solid var(--md-outline-variant);
  display: flex;
  flex-direction: column;
  gap: var(--md-space-3);
}

.md-mail__row {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-1);
  min-width: 0;
}

.md-mail__row dt {
  margin: 0;
  font: var(--md-label-sm);
  color: var(--md-on-surface-variant);
  letter-spacing: 0.1px;
}

.md-mail__row dd {
  margin: 0;
  font: var(--md-title-md);
  color: var(--md-on-surface);
  overflow-wrap: anywhere;
}

.md-mail__body {
  padding: var(--md-space-5);
  font: var(--md-body);
  color: var(--md-on-surface);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.md-mail__body a {
  color: var(--md-secondary);
}

.md-progress {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-3);
}

.md-progress__top {
  display: flex;
  justify-content: space-between;
  gap: var(--md-space-4);
  align-items: baseline;
}

.md-progress__label {
  font: var(--md-title-sm);
  color: var(--md-on-surface);
}

.md-progress__name {
  font: var(--md-body);
  color: var(--md-on-surface-variant);
}

.md-progress__track {
  height: var(--md-space-2);
  border-radius: var(--md-radius-full);
  background: var(--md-surface-container);
  overflow: hidden;
}

.md-progress__fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--md-primary);
}

.md-progress[data-total="5"][data-now="1"] .md-progress__fill { width: 20%; }
.md-progress[data-total="5"][data-now="2"] .md-progress__fill { width: 40%; }
.md-progress[data-total="5"][data-now="3"] .md-progress__fill { width: 60%; }
.md-progress[data-total="5"][data-now="4"] .md-progress__fill { width: 80%; }
.md-progress[data-total="5"][data-now="5"] .md-progress__fill { width: 100%; }
.md-progress[data-total="6"][data-now="1"] .md-progress__fill { width: 16.666%; }
.md-progress[data-total="6"][data-now="2"] .md-progress__fill { width: 33.333%; }
.md-progress[data-total="6"][data-now="3"] .md-progress__fill { width: 50%; }
.md-progress[data-total="6"][data-now="4"] .md-progress__fill { width: 66.666%; }
.md-progress[data-total="6"][data-now="5"] .md-progress__fill { width: 83.333%; }
.md-progress[data-total="6"][data-now="6"] .md-progress__fill { width: 100%; }
.md-progress[data-total="3"][data-now="1"] .md-progress__fill { width: 33.333%; }
.md-progress[data-total="3"][data-now="2"] .md-progress__fill { width: 66.666%; }
.md-progress[data-total="3"][data-now="3"] .md-progress__fill { width: 100%; }

.md-process {
  display: flex;
  align-items: flex-start;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.md-process__step {
  position: relative;
  flex: 1;
  min-width: 0;
}

.md-process__step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(var(--md-space-6) / 2);
  left: calc(50% + var(--md-space-5));
  right: calc(-50% + var(--md-space-5));
  height: 2px;
  background: var(--md-outline-variant);
}

.md-process__step.is-done:not(:last-child)::after,
.md-process__step.is-failed:not(:last-child)::after,
.md-process__step.is-skipped:not(:last-child)::after {
  background: var(--md-primary);
}

.md-process__node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--md-space-2);
  text-align: center;
  text-decoration: none;
  color: inherit;
}

a.md-process__node:hover .md-process__dot {
  box-shadow: inset 0 0 0 2px var(--md-primary);
}

.md-process__dot {
  box-sizing: border-box;
  width: var(--md-space-6);
  height: var(--md-space-6);
  display: grid;
  place-items: center;
  border: 2px solid var(--md-outline);
  border-radius: var(--md-radius-full);
  background: var(--md-surface-container);
  color: var(--md-on-surface-variant);
  font: var(--md-title-sm);
}

.md-process__step.is-current .md-process__dot {
  border-color: var(--md-primary);
  background: var(--md-primary);
  color: var(--md-on-primary);
}

.md-process__step.is-done .md-process__dot {
  border-color: var(--md-success);
  background: var(--md-success);
  color: var(--md-on-success);
}

.md-process__step.is-failed .md-process__dot {
  border-color: var(--md-error);
  background: var(--md-error);
  color: var(--md-on-error);
}

.md-process__step.is-retry .md-process__dot {
  border-color: var(--md-warning);
  background: var(--md-warning);
  color: var(--md-on-warning);
}

.md-process__step.is-skipped .md-process__dot {
  border-color: var(--md-outline);
  background: var(--md-surface-container);
  color: var(--md-on-surface-variant);
}

.md-process__copy {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-1);
  min-width: 0;
  width: 100%;
}

.md-process__name {
  font: var(--md-title-sm);
  color: var(--md-on-surface);
}

.md-process__state {
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-process__step.is-current .md-process__name {
  color: var(--md-primary);
}

@media (max-width: 767px) {
  .md-process {
    flex-direction: column;
    gap: var(--md-space-4);
  }

  .md-process__step:not(:last-child)::after {
    top: var(--md-space-6);
    left: calc(var(--md-space-6) / 2);
    right: auto;
    width: 2px;
    height: calc(100% + var(--md-space-4));
  }

  .md-process__node {
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: var(--md-space-3);
  }

  .md-process__copy { width: auto; }
}

.md-pager {
  display: flex;
  align-items: flex-start;
  gap: var(--md-space-2);
}

.md-pager__label {
  flex: 1;
  margin: 0;
  min-height: var(--md-control-h);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font: var(--md-title-md);
  color: var(--md-on-surface);
  overflow-wrap: anywhere;
}

.md-pager .md-field {
  flex: 1;
  min-width: 0;
}

.md-pager .md-btn {
  flex: 0 0 auto;
}

.md-pager:has(.md-field) .md-btn {
  margin-top: var(--md-label-offset);
}

.md-modal > [data-dropdown-menu] {
  justify-self: start;
  align-self: start;
  margin: 0;
}

.md-lead {
  font: var(--md-body);
  color: var(--md-on-surface-variant);
  max-width: 42ch;
}

.md-slot-banner {
  margin: 0;
  padding: var(--md-space-4);
  border: 1px solid var(--md-primary);
  border-radius: var(--md-radius-sm);
  background: var(--md-surface-lowest);
  box-shadow: inset 0 0 0 1px var(--md-primary);
  color: var(--md-on-surface);
  font: var(--md-body);
}

.md-doc-list {
  margin: 0;
  padding-left: var(--md-space-5);
  font: var(--md-body);
  color: var(--md-on-surface);
}

.md-doc-list li + li {
  margin-top: var(--md-space-3);
}

.md-agenda-days {
  display: flex;
  flex-wrap: wrap;
  gap: var(--md-space-2);
}

.md-agenda-days__item {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-width: var(--md-control-h);
  height: var(--md-control-h);
  padding: 0 var(--md-space-3);
  border-radius: var(--md-radius-sm);
  background: var(--md-surface-lowest);
  box-shadow: inset 0 0 0 1px var(--md-outline);
  color: var(--md-on-surface);
  text-decoration: none;
}

.md-agenda-days__item:hover {
  background: var(--md-state-on-light);
}

.md-agenda-days__item.is-today {
  box-shadow: inset 0 0 0 1px var(--md-primary);
}

.md-agenda-days__item.is-holiday {
  background: var(--md-warning-container);
  color: var(--md-on-warning-container);
  box-shadow: inset 0 0 0 1px var(--md-warning);
}

.md-agenda-days__item.is-holiday .md-agenda-days__dow {
  color: inherit;
}

.md-agenda-days__item.is-holiday.is-active {
  box-shadow: inset 0 0 0 1px var(--md-primary);
}

.md-agenda-days__dow {
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
  line-height: 1.2;
}

.md-agenda-days__item.is-active .md-agenda-days__dow {
  color: inherit;
}

.md-agenda-days__num {
  font: var(--md-title-sm);
  line-height: 1.2;
}

.md-agenda-week {
  overflow-x: auto;
}

.md-agenda-week .md-table tbody tr:hover {
  background: transparent;
}

.md-agenda-week .md-table th {
  height: var(--md-control-h);
  padding: 0 var(--md-space-3);
  text-transform: none;
  letter-spacing: 0;
  font: var(--md-title-sm);
  color: var(--md-on-surface);
}

.md-agenda-week .md-table th:first-child,
.md-agenda-week .md-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--md-surface-lowest);
  color: var(--md-on-surface-variant);
  min-width: calc(var(--md-space-6) * 2 + var(--md-space-2));
}

.md-agenda-week .md-table th:first-child {
  background: var(--md-surface);
  font: var(--md-label-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.md-agenda-week .md-table th a {
  color: inherit;
  text-decoration: none;
}

.md-agenda-week .md-table th.is-holiday {
  background: var(--md-warning-container);
  color: var(--md-on-warning-container);
}

.md-agenda-week__holiday {
  display: block;
  margin-top: var(--md-space-1);
  font: var(--md-body-sm);
  font-weight: 400;
}

.md-agenda-week .md-table th a:hover {
  color: var(--md-secondary);
}

.md-agenda-week .md-table th.is-today a,
.md-agenda-week .md-table th.is-current a {
  color: var(--md-primary);
}

.md-agenda-week .md-table th.is-holiday a,
.md-agenda-week .md-table th.is-holiday a:hover {
  color: inherit;
}

.md-agenda-week .md-table td {
  height: auto;
  padding: var(--md-space-1) var(--md-space-2);
  vertical-align: middle;
}

.md-agenda-cell {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: var(--md-space-6);
  margin: 0;
  padding: var(--md-space-1) var(--md-space-3);
  border: 0;
  border-radius: var(--md-radius-xs);
  background: transparent;
  box-shadow: inset var(--md-space-1) 0 0 var(--md-outline-variant);
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.md-agenda-cell:hover {
  background: var(--md-state-on-light);
}

.md-agenda-cell--open {
  box-shadow: inset var(--md-space-1) 0 0 var(--md-success);
}

.md-agenda-cell--busy {
  box-shadow: inset var(--md-space-1) 0 0 var(--md-primary);
}

.md-agenda-cell--offered,
.md-agenda-cell--blocked {
  box-shadow: inset var(--md-space-1) 0 0 var(--md-warning);
}

.md-agenda-cell__status,
.md-agenda-cell__name {
  font: var(--md-body-sm);
  color: var(--md-on-surface);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.md-agenda-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(calc(var(--md-control-h) * 2 - var(--md-space-2)), 1fr));
  overflow-x: auto;
  background: var(--md-surface-lowest);
  border: 1px solid var(--md-outline-variant);
  border-radius: var(--md-radius-md);
  box-shadow: var(--md-elev-1);
}

.md-agenda-month__dow {
  margin: 0;
  padding: var(--md-space-3);
  font: var(--md-label-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--md-on-surface-variant);
  text-align: center;
  background: var(--md-surface);
  border-bottom: 1px solid var(--md-outline-variant);
}

.md-agenda-day {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--md-space-2);
  width: 100%;
  min-width: 0;
  min-height: calc(var(--md-control-h) * 2);
  padding: var(--md-space-3);
  border: 0;
  border-right: 1px solid var(--md-outline-variant);
  border-bottom: 1px solid var(--md-outline-variant);
  background: var(--md-surface-lowest);
  color: var(--md-on-surface);
  font: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.md-agenda-day:nth-child(7n) {
  border-right: 0;
}

.md-agenda-day:hover {
  background: var(--md-state-on-light);
}

.md-agenda-day.is-today .md-agenda-day__num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--md-space-6);
  height: var(--md-space-6);
  border-radius: var(--md-radius-full);
  background: var(--md-primary);
  color: var(--md-on-primary);
}

.md-agenda-day.is-current {
  background: var(--md-primary-container);
  color: var(--md-on-primary-container);
}

.md-agenda-day.is-outside {
  background: var(--md-surface-container);
  color: var(--md-on-surface-variant);
}

.md-agenda-day.is-holiday {
  background: var(--md-warning-container);
  color: var(--md-on-warning-container);
}

.md-agenda-day.is-holiday:hover {
  background: var(--md-warning-container);
}

.md-agenda-day.is-holiday.is-current {
  box-shadow: inset 0 0 0 2px var(--md-primary);
}

.md-agenda-day__num {
  font: var(--md-title-md);
}

.md-agenda-day__meta {
  display: flex;
  flex-direction: column;
  gap: var(--md-space-1);
  font: var(--md-body-sm);
  color: var(--md-on-surface-variant);
}

.md-agenda-day__flag {
  font: var(--md-label-sm);
}

.md-agenda-day__holiday-name {
  overflow-wrap: break-word;
}

.md-agenda-day__open {
  color: var(--md-success);
}

.md-agenda-day.is-current .md-agenda-day__meta,
.md-agenda-day.is-outside .md-agenda-day__meta,
.md-agenda-day.is-holiday .md-agenda-day__meta,
.md-agenda-day.is-current .md-agenda-day__open,
.md-agenda-day.is-outside .md-agenda-day__open,
.md-agenda-day.is-holiday .md-agenda-day__open {
  color: inherit;
}

@media (max-width: 767px) {
  .md-agenda-week,
  .md-agenda-month {
    overflow-x: auto;
  }
}
